Src/dst port range of fiveTuple in SfcManager was not validated correctly.
ONOS-7716
Change-Id: I02a69231eda3cb7fe28721604dfe6251731bf374
diff --git a/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/impl/SfcManager.java b/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/impl/SfcManager.java
index 7b2d55d..2bc8e39 100644
--- a/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/impl/SfcManager.java
+++ b/apps/vtn/sfcmgr/src/main/java/org/onosproject/sfc/manager/impl/SfcManager.java
@@ -387,7 +387,7 @@
Iterable<PortChain> portChains = portChainService.getPortChains();
if (portChains == null) {
- log.error("Could not retrive port chain list");
+ log.error("Could not retrieve port chain list");
return null;
}
@@ -438,7 +438,7 @@
}
// Check whether source port is set in flow classifier
- if (fiveTuple.portSrc().toLong() >= flowClassifier.minSrcPortRange() ||
+ if (fiveTuple.portSrc().toLong() >= flowClassifier.minSrcPortRange() &&
fiveTuple.portSrc().toLong() <= flowClassifier.maxSrcPortRange()) {
match = true;
} else {
@@ -446,14 +446,14 @@
}
// Check whether destination port is set in flow classifier
- if (fiveTuple.portDst().toLong() >= flowClassifier.minSrcPortRange() ||
+ if (fiveTuple.portDst().toLong() >= flowClassifier.minSrcPortRange() &&
fiveTuple.portDst().toLong() <= flowClassifier.maxSrcPortRange()) {
match = true;
} else {
continue;
}
- // Check whether neutron source port is set in flow classfier
+ // Check whether neutron source port is set in flow classifier
if ((flowClassifier.srcPort() != null) && (!flowClassifier.srcPort().portId().isEmpty())) {
match = checkIpInVirtualPort(VirtualPortId.portId(flowClassifier.srcPort().portId()),
fiveTuple.ipSrc());