@Override protected IpProtocol featureValueOf(Flow flow) { return flow.getIpProtocol(); } }
@Override public int compareTo(@Nonnull Flow rhs) { return Comparator.comparing(Flow::getIngressNode) .thenComparing(Flow::getIngressInterface, Comparator.nullsFirst(Comparator.naturalOrder())) .thenComparing(Flow::getIngressVrf, Comparator.nullsFirst(Comparator.naturalOrder())) .thenComparing(Flow::getSrcIp) .thenComparing(Flow::getDstIp) .thenComparing((flow) -> flow.getIpProtocol().number()) .thenComparing(Flow::getSrcPort) .thenComparing(Flow::getDstPort) .thenComparing(Flow::getDscp) .thenComparing(Flow::getEcn) .thenComparing(Flow::getFragmentOffset) .thenComparing(Flow::getIcmpType) .thenComparing(Flow::getIcmpCode) .thenComparing(Flow::getPacketLength) .thenComparing(Flow::getState) .thenComparing(Flow::getTcpFlags) .compare(this, rhs); }
boolean match = false; for (Protocol dstProtocol : _dstProtocols) { if (dstProtocol.getIpProtocol().equals(flow.getIpProtocol())) { match = true; Integer dstPort = dstProtocol.getPort(); boolean match = false; for (Protocol notDstProtocol : _notDstProtocols) { if (notDstProtocol.getIpProtocol().equals(flow.getIpProtocol())) { match = true; Integer dstPort = notDstProtocol.getPort(); if (!_ipProtocols.isEmpty() && !_ipProtocols.contains(flow.getIpProtocol())) { return false; if (!_notIpProtocols.isEmpty() && _notIpProtocols.contains(flow.getIpProtocol())) { return false; boolean match = false; for (Protocol protocol : _srcOrDstProtocols) { if (protocol.getIpProtocol().equals(flow.getIpProtocol())) { match = true; Integer port = protocol.getPort(); boolean match = false; for (Protocol srcProtocol : _srcProtocols) { if (srcProtocol.getIpProtocol().equals(flow.getIpProtocol())) { match = true; Integer srcPort = srcProtocol.getPort();
newTransformedFlow.getSrcIp(), newTransformedFlow.getSrcPort(), newTransformedFlow.getIpProtocol()), sessionTransformation(inputFlow, newTransformedFlow)));
boolean match = false; for (Protocol dstProtocol : headerSpace.getDstProtocols()) { if (dstProtocol.getIpProtocol().equals(_flow.getIpProtocol())) { match = true; Integer dstPort = dstProtocol.getPort(); boolean match = false; for (Protocol notDstProtocol : headerSpace.getNotDstProtocols()) { if (notDstProtocol.getIpProtocol().equals(_flow.getIpProtocol())) { match = true; Integer dstPort = notDstProtocol.getPort(); && !headerSpace.getIpProtocols().contains(_flow.getIpProtocol())) { return false; && headerSpace.getNotIpProtocols().contains(_flow.getIpProtocol())) { return false; boolean match = false; for (Protocol protocol : headerSpace.getSrcOrDstProtocols()) { if (protocol.getIpProtocol().equals(_flow.getIpProtocol())) { match = true; Integer port = protocol.getPort(); boolean match = false; for (Protocol srcProtocol : headerSpace.getSrcProtocols()) { if (srcProtocol.getIpProtocol().equals(_flow.getIpProtocol())) { match = true; Integer srcPort = srcProtocol.getPort();