* Implement the missing OpenFlow 1.0 matching conditions
* Code cleanup: reorder the implementation of the matching
conditions so the order everywhere is always same and matches the
order of listing those conditions in the OpenFlow-1.0 spec.
diff --git a/src/main/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjects.java b/src/main/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjects.java
index 3a5c9e2..04f9384 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjects.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjects.java
@@ -247,13 +247,6 @@
public void removeFlowEntry(final IFlowEntry flowEntry);
@JsonIgnore
- @Property("matchEthernetFrameType")
- public Short getMatchEthernetFrameType();
-
- @Property("matchEthernetFrameType")
- public void setMatchEthernetFrameType(Short matchEthernetFrameType);
-
- @JsonIgnore
@Property("matchSrcMac")
public String getMatchSrcMac();
@@ -268,6 +261,27 @@
public void setMatchDstMac(String matchDstMac);
@JsonIgnore
+ @Property("matchEthernetFrameType")
+ public Short getMatchEthernetFrameType();
+
+ @Property("matchEthernetFrameType")
+ public void setMatchEthernetFrameType(Short matchEthernetFrameType);
+
+ @JsonIgnore
+ @Property("matchVlanId")
+ public Short getMatchVlanId();
+
+ @Property("matchVlanId")
+ public void setMatchVlanId(Short matchVlanId);
+
+ @JsonIgnore
+ @Property("matchVlanPriority")
+ public Byte getMatchVlanPriority();
+
+ @Property("matchVlanPriority")
+ public void setMatchVlanPriority(Byte matchVlanPriority);
+
+ @JsonIgnore
@Property("matchSrcIPv4Net")
public String getMatchSrcIPv4Net();
@@ -280,7 +294,35 @@
@Property("matchDstIPv4Net")
public void setMatchDstIPv4Net(String matchDstIPv4Net);
-
+
+ @JsonIgnore
+ @Property("matchIpProto")
+ public Byte getMatchIpProto();
+
+ @Property("matchIpProto")
+ public void setMatchIpProto(Byte matchIpProto);
+
+ @JsonIgnore
+ @Property("matchIpToS")
+ public Byte getMatchIpToS();
+
+ @Property("matchIpToS")
+ public void setMatchIpToS(Byte matchIpToS);
+
+ @JsonIgnore
+ @Property("matchSrcTcpUdpPort")
+ public Short getMatchSrcTcpUdpPort();
+
+ @Property("matchSrcTcpUdpPort")
+ public void setMatchSrcTcpUdpPort(Short matchSrcTcpUdpPort);
+
+ @JsonIgnore
+ @Property("matchDstTcpUdpPort")
+ public Short getMatchDstTcpUdpPort();
+
+ @Property("matchDstTcpUdpPort")
+ public void setMatchDstTcpUdpPort(Short matchDstTcpUdpPort);
+
@JsonIgnore
@GremlinGroovy("it.in('flow').out('switch')")
public Iterable<ISwitchObject> getSwitches();
@@ -340,12 +382,6 @@
@Property("matchInPort")
public void setMatchInPort(Short matchInPort);
- @Property("matchEthernetFrameType")
- public Short getMatchEthernetFrameType();
-
- @Property("matchEthernetFrameType")
- public void setMatchEthernetFrameType(Short matchEthernetFrameType);
-
@Property("matchSrcMac")
public String getMatchSrcMac();
@@ -358,6 +394,24 @@
@Property("matchDstMac")
public void setMatchDstMac(String matchDstMac);
+ @Property("matchEthernetFrameType")
+ public Short getMatchEthernetFrameType();
+
+ @Property("matchEthernetFrameType")
+ public void setMatchEthernetFrameType(Short matchEthernetFrameType);
+
+ @Property("matchVlanId")
+ public Short getMatchVlanId();
+
+ @Property("matchVlanId")
+ public void setMatchVlanId(Short matchVlanId);
+
+ @Property("matchVlanPriority")
+ public Byte getMatchVlanPriority();
+
+ @Property("matchVlanPriority")
+ public void setMatchVlanPriority(Byte matchVlanPriority);
+
@Property("matchSrcIPv4Net")
public String getMatchSrcIPv4Net();
@@ -370,6 +424,30 @@
@Property("matchDstIPv4Net")
public void setMatchDstIPv4Net(String matchDstIPv4Net);
+ @Property("matchIpProto")
+ public Byte getMatchIpProto();
+
+ @Property("matchIpProto")
+ public void setMatchIpProto(Byte matchIpProto);
+
+ @Property("matchIpToS")
+ public Byte getMatchIpToS();
+
+ @Property("matchIpToS")
+ public void setMatchIpToS(Byte matchIpToS);
+
+ @Property("matchSrcTcpUdpPort")
+ public Short getMatchSrcTcpUdpPort();
+
+ @Property("matchSrcTcpUdpPort")
+ public void setMatchSrcTcpUdpPort(Short matchSrcTcpUdpPort);
+
+ @Property("matchDstTcpUdpPort")
+ public Short getMatchDstTcpUdpPort();
+
+ @Property("matchDstTcpUdpPort")
+ public void setMatchDstTcpUdpPort(Short matchDstTcpUdpPort);
+
@Property("actionOutput")
public Short getActionOutput();
diff --git a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java
index 25a214a..6fd5c03 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/flowmanager/FlowManager.java
@@ -570,31 +570,55 @@
// - flowPath.installerId()
// - flowPath.dataPath().srcPort()
// - flowPath.dataPath().dstPort()
- // - flowPath.matchEthernetFrameType()
- // - flowPath.matchSrcIPv4Net()
- // - flowPath.matchDstIPv4Net()
// - flowPath.matchSrcMac()
// - flowPath.matchDstMac()
+ // - flowPath.matchEthernetFrameType()
+ // - flowPath.matchVlanId()
+ // - flowPath.matchVlanPriority()
+ // - flowPath.matchSrcIPv4Net()
+ // - flowPath.matchDstIPv4Net()
+ // - flowPath.matchIpProto()
+ // - flowPath.matchIpToS()
+ // - flowPath.matchSrcTcpUdpPort()
+ // - flowPath.matchDstTcpUdpPort()
//
flowObj.setInstallerId(flowPath.installerId().toString());
flowObj.setSrcSwitch(flowPath.dataPath().srcPort().dpid().toString());
flowObj.setSrcPort(flowPath.dataPath().srcPort().port().value());
flowObj.setDstSwitch(flowPath.dataPath().dstPort().dpid().toString());
flowObj.setDstPort(flowPath.dataPath().dstPort().port().value());
+ if (flowPath.flowEntryMatch().matchSrcMac()) {
+ flowObj.setMatchSrcMac(flowPath.flowEntryMatch().srcMac().toString());
+ }
+ if (flowPath.flowEntryMatch().matchDstMac()) {
+ flowObj.setMatchDstMac(flowPath.flowEntryMatch().dstMac().toString());
+ }
if (flowPath.flowEntryMatch().matchEthernetFrameType()) {
flowObj.setMatchEthernetFrameType(flowPath.flowEntryMatch().ethernetFrameType());
}
+ if (flowPath.flowEntryMatch().matchVlanId()) {
+ flowObj.setMatchVlanId(flowPath.flowEntryMatch().vlanId());
+ }
+ if (flowPath.flowEntryMatch().matchVlanPriority()) {
+ flowObj.setMatchVlanPriority(flowPath.flowEntryMatch().vlanPriority());
+ }
if (flowPath.flowEntryMatch().matchSrcIPv4Net()) {
flowObj.setMatchSrcIPv4Net(flowPath.flowEntryMatch().srcIPv4Net().toString());
}
if (flowPath.flowEntryMatch().matchDstIPv4Net()) {
flowObj.setMatchDstIPv4Net(flowPath.flowEntryMatch().dstIPv4Net().toString());
}
- if (flowPath.flowEntryMatch().matchSrcMac()) {
- flowObj.setMatchSrcMac(flowPath.flowEntryMatch().srcMac().toString());
+ if (flowPath.flowEntryMatch().matchIpProto()) {
+ flowObj.setMatchIpProto(flowPath.flowEntryMatch().ipProto());
}
- if (flowPath.flowEntryMatch().matchDstMac()) {
- flowObj.setMatchDstMac(flowPath.flowEntryMatch().dstMac().toString());
+ if (flowPath.flowEntryMatch().matchIpToS()) {
+ flowObj.setMatchIpToS(flowPath.flowEntryMatch().ipToS());
+ }
+ if (flowPath.flowEntryMatch().matchSrcTcpUdpPort()) {
+ flowObj.setMatchSrcTcpUdpPort(flowPath.flowEntryMatch().srcTcpUdpPort());
+ }
+ if (flowPath.flowEntryMatch().matchDstTcpUdpPort()) {
+ flowObj.setMatchDstTcpUdpPort(flowPath.flowEntryMatch().dstTcpUdpPort());
}
if (dataPathSummaryStr != null) {
@@ -696,11 +720,17 @@
// - flowEntry.flowEntrySwitchState()
// - flowEntry.flowEntryErrorState()
// - flowEntry.matchInPort()
- // - flowEntry.matchEthernetFrameType()
- // - flowEntry.matchSrcIPv4Net()
- // - flowEntry.matchDstIPv4Net()
// - flowEntry.matchSrcMac()
// - flowEntry.matchDstMac()
+ // - flowEntry.matchEthernetFrameType()
+ // - flowEntry.matchVlanId()
+ // - flowEntry.matchVlanPriority()
+ // - flowEntry.matchSrcIPv4Net()
+ // - flowEntry.matchDstIPv4Net()
+ // - flowEntry.matchIpProto()
+ // - flowEntry.matchIpToS()
+ // - flowEntry.matchSrcTcpUdpPort()
+ // - flowEntry.matchDstTcpUdpPort()
// - flowEntry.actionOutput()
//
ISwitchObject sw =
@@ -714,20 +744,38 @@
flowEntryObj.setMatchInPort(flowEntry.flowEntryMatch().inPort().value());
flowEntryObj.setInPort(inport);
}
+ if (flowEntry.flowEntryMatch().matchSrcMac()) {
+ flowEntryObj.setMatchSrcMac(flowEntry.flowEntryMatch().srcMac().toString());
+ }
+ if (flowEntry.flowEntryMatch().matchDstMac()) {
+ flowEntryObj.setMatchDstMac(flowEntry.flowEntryMatch().dstMac().toString());
+ }
if (flowEntry.flowEntryMatch().matchEthernetFrameType()) {
flowEntryObj.setMatchEthernetFrameType(flowEntry.flowEntryMatch().ethernetFrameType());
}
+ if (flowEntry.flowEntryMatch().matchVlanId()) {
+ flowEntryObj.setMatchVlanId(flowEntry.flowEntryMatch().vlanId());
+ }
+ if (flowEntry.flowEntryMatch().matchVlanPriority()) {
+ flowEntryObj.setMatchVlanPriority(flowEntry.flowEntryMatch().vlanPriority());
+ }
if (flowEntry.flowEntryMatch().matchSrcIPv4Net()) {
flowEntryObj.setMatchSrcIPv4Net(flowEntry.flowEntryMatch().srcIPv4Net().toString());
}
if (flowEntry.flowEntryMatch().matchDstIPv4Net()) {
flowEntryObj.setMatchDstIPv4Net(flowEntry.flowEntryMatch().dstIPv4Net().toString());
}
- if (flowEntry.flowEntryMatch().matchSrcMac()) {
- flowEntryObj.setMatchSrcMac(flowEntry.flowEntryMatch().srcMac().toString());
+ if (flowEntry.flowEntryMatch().matchIpProto()) {
+ flowEntryObj.setMatchIpProto(flowEntry.flowEntryMatch().ipProto());
}
- if (flowEntry.flowEntryMatch().matchDstMac()) {
- flowEntryObj.setMatchDstMac(flowEntry.flowEntryMatch().dstMac().toString());
+ if (flowEntry.flowEntryMatch().matchIpToS()) {
+ flowEntryObj.setMatchIpToS(flowEntry.flowEntryMatch().ipToS());
+ }
+ if (flowEntry.flowEntryMatch().matchSrcTcpUdpPort()) {
+ flowEntryObj.setMatchSrcTcpUdpPort(flowEntry.flowEntryMatch().srcTcpUdpPort());
+ }
+ if (flowEntry.flowEntryMatch().matchDstTcpUdpPort()) {
+ flowEntryObj.setMatchDstTcpUdpPort(flowEntry.flowEntryMatch().dstTcpUdpPort());
}
for (FlowEntryAction fa : flowEntry.flowEntryActions()) {
@@ -1293,21 +1341,40 @@
//
{
FlowEntryMatch match = new FlowEntryMatch();
- Short matchEthernetFrameType = flowObj.getMatchEthernetFrameType();
- if (matchEthernetFrameType != null)
- match.enableEthernetFrameType(matchEthernetFrameType);
- String matchSrcIPv4Net = flowObj.getMatchSrcIPv4Net();
- if (matchSrcIPv4Net != null)
- match.enableSrcIPv4Net(new IPv4Net(matchSrcIPv4Net));
- String matchDstIPv4Net = flowObj.getMatchDstIPv4Net();
- if (matchDstIPv4Net != null)
- match.enableDstIPv4Net(new IPv4Net(matchDstIPv4Net));
String matchSrcMac = flowObj.getMatchSrcMac();
if (matchSrcMac != null)
match.enableSrcMac(MACAddress.valueOf(matchSrcMac));
String matchDstMac = flowObj.getMatchDstMac();
if (matchDstMac != null)
match.enableDstMac(MACAddress.valueOf(matchDstMac));
+ Short matchEthernetFrameType = flowObj.getMatchEthernetFrameType();
+ if (matchEthernetFrameType != null)
+ match.enableEthernetFrameType(matchEthernetFrameType);
+ Short matchVlanId = flowObj.getMatchVlanId();
+ if (matchVlanId != null)
+ match.enableVlanId(matchVlanId);
+ Byte matchVlanPriority = flowObj.getMatchVlanPriority();
+ if (matchVlanPriority != null)
+ match.enableVlanPriority(matchVlanPriority);
+ String matchSrcIPv4Net = flowObj.getMatchSrcIPv4Net();
+ if (matchSrcIPv4Net != null)
+ match.enableSrcIPv4Net(new IPv4Net(matchSrcIPv4Net));
+ String matchDstIPv4Net = flowObj.getMatchDstIPv4Net();
+ if (matchDstIPv4Net != null)
+ match.enableDstIPv4Net(new IPv4Net(matchDstIPv4Net));
+ Byte matchIpProto = flowObj.getMatchIpProto();
+ if (matchIpProto != null)
+ match.enableIpProto(matchIpProto);
+ Byte matchIpToS = flowObj.getMatchIpToS();
+ if (matchIpToS != null)
+ match.enableIpToS(matchIpToS);
+ Short matchSrcTcpUdpPort = flowObj.getMatchSrcTcpUdpPort();
+ if (matchSrcTcpUdpPort != null)
+ match.enableSrcTcpUdpPort(matchSrcTcpUdpPort);
+ Short matchDstTcpUdpPort = flowObj.getMatchDstTcpUdpPort();
+ if (matchDstTcpUdpPort != null)
+ match.enableDstTcpUdpPort(matchDstTcpUdpPort);
+
flowPath.setFlowEntryMatch(match);
}
@@ -1356,21 +1423,39 @@
Short matchInPort = flowEntryObj.getMatchInPort();
if (matchInPort != null)
match.enableInPort(new Port(matchInPort));
- Short matchEthernetFrameType = flowEntryObj.getMatchEthernetFrameType();
- if (matchEthernetFrameType != null)
- match.enableEthernetFrameType(matchEthernetFrameType);
- String matchSrcIPv4Net = flowEntryObj.getMatchSrcIPv4Net();
- if (matchSrcIPv4Net != null)
- match.enableSrcIPv4Net(new IPv4Net(matchSrcIPv4Net));
- String matchDstIPv4Net = flowEntryObj.getMatchDstIPv4Net();
- if (matchDstIPv4Net != null)
- match.enableDstIPv4Net(new IPv4Net(matchDstIPv4Net));
String matchSrcMac = flowEntryObj.getMatchSrcMac();
if (matchSrcMac != null)
match.enableSrcMac(MACAddress.valueOf(matchSrcMac));
String matchDstMac = flowEntryObj.getMatchDstMac();
if (matchDstMac != null)
match.enableDstMac(MACAddress.valueOf(matchDstMac));
+ Short matchEthernetFrameType = flowEntryObj.getMatchEthernetFrameType();
+ if (matchEthernetFrameType != null)
+ match.enableEthernetFrameType(matchEthernetFrameType);
+ Short matchVlanId = flowEntryObj.getMatchVlanId();
+ if (matchVlanId != null)
+ match.enableVlanId(matchVlanId);
+ Byte matchVlanPriority = flowEntryObj.getMatchVlanPriority();
+ if (matchVlanPriority != null)
+ match.enableVlanPriority(matchVlanPriority);
+ String matchSrcIPv4Net = flowEntryObj.getMatchSrcIPv4Net();
+ if (matchSrcIPv4Net != null)
+ match.enableSrcIPv4Net(new IPv4Net(matchSrcIPv4Net));
+ String matchDstIPv4Net = flowEntryObj.getMatchDstIPv4Net();
+ if (matchDstIPv4Net != null)
+ match.enableDstIPv4Net(new IPv4Net(matchDstIPv4Net));
+ Byte matchIpProto = flowEntryObj.getMatchIpProto();
+ if (matchIpProto != null)
+ match.enableIpProto(matchIpProto);
+ Byte matchIpToS = flowEntryObj.getMatchIpToS();
+ if (matchIpToS != null)
+ match.enableIpToS(matchIpToS);
+ Short matchSrcTcpUdpPort = flowEntryObj.getMatchSrcTcpUdpPort();
+ if (matchSrcTcpUdpPort != null)
+ match.enableSrcTcpUdpPort(matchSrcTcpUdpPort);
+ Short matchDstTcpUdpPort = flowEntryObj.getMatchDstTcpUdpPort();
+ if (matchDstTcpUdpPort != null)
+ match.enableDstTcpUdpPort(matchDstTcpUdpPort);
flowEntry.setFlowEntryMatch(match);
//
@@ -1553,6 +1638,24 @@
match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_IN_PORT);
}
+ // Match the Source MAC address
+ String matchSrcMac = flowEntryObj.getMatchSrcMac();
+ if (matchSrcMac == null)
+ matchSrcMac = flowObj.getMatchSrcMac();
+ if (matchSrcMac != null) {
+ match.setDataLayerSource(matchSrcMac);
+ match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_DL_SRC);
+ }
+
+ // Match the Destination MAC address
+ String matchDstMac = flowEntryObj.getMatchDstMac();
+ if (matchDstMac == null)
+ matchDstMac = flowObj.getMatchDstMac();
+ if (matchDstMac != null) {
+ match.setDataLayerDestination(matchDstMac);
+ match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_DL_DST);
+ }
+
// Match the Ethernet Frame Type
Short matchEthernetFrameType = flowEntryObj.getMatchEthernetFrameType();
if (matchEthernetFrameType == null)
@@ -1562,6 +1665,24 @@
match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_DL_TYPE);
}
+ // Match the VLAN ID
+ Short matchVlanId = flowEntryObj.getMatchVlanId();
+ if (matchVlanId == null)
+ matchVlanId = flowObj.getMatchVlanId();
+ if (matchVlanId != null) {
+ match.setDataLayerVirtualLan(matchVlanId);
+ match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_DL_VLAN);
+ }
+
+ // Match the VLAN priority
+ Byte matchVlanPriority = flowEntryObj.getMatchVlanPriority();
+ if (matchVlanPriority == null)
+ matchVlanPriority = flowObj.getMatchVlanPriority();
+ if (matchVlanPriority != null) {
+ match.setDataLayerVirtualLanPriorityCodePoint(matchVlanPriority);
+ match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_DL_VLAN_PCP);
+ }
+
// Match the Source IPv4 Network prefix
String matchSrcIPv4Net = flowEntryObj.getMatchSrcIPv4Net();
if (matchSrcIPv4Net == null)
@@ -1578,22 +1699,40 @@
match.setFromCIDR(matchDstIPv4Net, OFMatch.STR_NW_DST);
}
- // Match the Source MAC address
- String matchSrcMac = flowEntryObj.getMatchSrcMac();
- if (matchSrcMac == null)
- matchSrcMac = flowObj.getMatchSrcMac();
- if (matchSrcMac != null) {
- match.setDataLayerSource(matchSrcMac);
- match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_DL_SRC);
+ // Match the IP protocol
+ Byte matchIpProto = flowEntryObj.getMatchIpProto();
+ if (matchIpProto == null)
+ matchIpProto = flowObj.getMatchIpProto();
+ if (matchIpProto != null) {
+ match.setNetworkTypeOfService(matchIpProto);
+ match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_NW_PROTO);
}
- // Match the Destination MAC address
- String matchDstMac = flowEntryObj.getMatchDstMac();
- if (matchDstMac == null)
- matchDstMac = flowObj.getMatchDstMac();
- if (matchDstMac != null) {
- match.setDataLayerDestination(matchDstMac);
- match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_DL_DST);
+ // Match the IP ToS (DSCP field, 6 bits)
+ Byte matchIpToS = flowEntryObj.getMatchIpToS();
+ if (matchIpToS == null)
+ matchIpToS = flowObj.getMatchIpToS();
+ if (matchIpToS != null) {
+ match.setNetworkTypeOfService(matchIpToS);
+ match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_NW_TOS);
+ }
+
+ // Match the Source TCP/UDP port
+ Short matchSrcTcpUdpPort = flowEntryObj.getMatchSrcTcpUdpPort();
+ if (matchSrcTcpUdpPort == null)
+ matchSrcTcpUdpPort = flowObj.getMatchSrcTcpUdpPort();
+ if (matchSrcTcpUdpPort != null) {
+ match.setTransportSource(matchSrcTcpUdpPort);
+ match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_TP_SRC);
+ }
+
+ // Match the Destination TCP/UDP port
+ Short matchDstTcpUdpPort = flowEntryObj.getMatchDstTcpUdpPort();
+ if (matchDstTcpUdpPort == null)
+ matchDstTcpUdpPort = flowObj.getMatchDstTcpUdpPort();
+ if (matchDstTcpUdpPort != null) {
+ match.setTransportDestination(matchDstTcpUdpPort);
+ match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_TP_DST);
}
//
@@ -1712,6 +1851,26 @@
match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_IN_PORT);
}
+ // Match the Source MAC address
+ MACAddress matchSrcMac = flowEntryMatch.srcMac();
+ if ((matchSrcMac == null) && (flowPathMatch != null)) {
+ matchSrcMac = flowPathMatch.srcMac();
+ }
+ if (matchSrcMac != null) {
+ match.setDataLayerSource(matchSrcMac.toString());
+ match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_DL_SRC);
+ }
+
+ // Match the Destination MAC address
+ MACAddress matchDstMac = flowEntryMatch.dstMac();
+ if ((matchDstMac == null) && (flowPathMatch != null)) {
+ matchDstMac = flowPathMatch.dstMac();
+ }
+ if (matchDstMac != null) {
+ match.setDataLayerDestination(matchDstMac.toString());
+ match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_DL_DST);
+ }
+
// Match the Ethernet Frame Type
Short matchEthernetFrameType = flowEntryMatch.ethernetFrameType();
if ((matchEthernetFrameType == null) && (flowPathMatch != null)) {
@@ -1722,6 +1881,26 @@
match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_DL_TYPE);
}
+ // Match the VLAN ID
+ Short matchVlanId = flowEntryMatch.vlanId();
+ if ((matchVlanId == null) && (flowPathMatch != null)) {
+ matchVlanId = flowPathMatch.vlanId();
+ }
+ if (matchVlanId != null) {
+ match.setDataLayerVirtualLan(matchVlanId);
+ match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_DL_VLAN);
+ }
+
+ // Match the VLAN priority
+ Byte matchVlanPriority = flowEntryMatch.vlanPriority();
+ if ((matchVlanPriority == null) && (flowPathMatch != null)) {
+ matchVlanPriority = flowPathMatch.vlanPriority();
+ }
+ if (matchVlanPriority != null) {
+ match.setDataLayerVirtualLanPriorityCodePoint(matchVlanPriority);
+ match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_DL_VLAN_PCP);
+ }
+
// Match the Source IPv4 Network prefix
IPv4Net matchSrcIPv4Net = flowEntryMatch.srcIPv4Net();
if ((matchSrcIPv4Net == null) && (flowPathMatch != null)) {
@@ -1740,24 +1919,44 @@
match.setFromCIDR(matchDstIPv4Net.toString(), OFMatch.STR_NW_DST);
}
- // Match the Source MAC address
- MACAddress matchSrcMac = flowEntryMatch.srcMac();
- if ((matchSrcMac == null) && (flowPathMatch != null)) {
- matchSrcMac = flowPathMatch.srcMac();
+ // Match the IP protocol
+ Byte matchIpProto = flowEntryMatch.ipProto();
+ if ((matchIpProto == null) && (flowPathMatch != null)) {
+ matchIpProto = flowPathMatch.ipProto();
}
- if (matchSrcMac != null) {
- match.setDataLayerSource(matchSrcMac.toString());
- match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_DL_SRC);
+ if (matchIpProto != null) {
+ match.setNetworkProtocol(matchIpProto);
+ match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_NW_PROTO);
}
- // Match the Destination MAC address
- MACAddress matchDstMac = flowEntryMatch.dstMac();
- if ((matchDstMac == null) && (flowPathMatch != null)) {
- matchDstMac = flowPathMatch.dstMac();
+ // Match the IP ToS (DSCP field, 6 bits)
+ Byte matchIpToS = flowEntryMatch.ipToS();
+ if ((matchIpToS == null) && (flowPathMatch != null)) {
+ matchIpToS = flowPathMatch.ipToS();
}
- if (matchDstMac != null) {
- match.setDataLayerDestination(matchDstMac.toString());
- match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_DL_DST);
+ if (matchIpToS != null) {
+ match.setNetworkTypeOfService(matchIpToS);
+ match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_NW_TOS);
+ }
+
+ // Match the Source TCP/UDP port
+ Short matchSrcTcpUdpPort = flowEntryMatch.srcTcpUdpPort();
+ if ((matchSrcTcpUdpPort == null) && (flowPathMatch != null)) {
+ matchSrcTcpUdpPort = flowPathMatch.srcTcpUdpPort();
+ }
+ if (matchSrcTcpUdpPort != null) {
+ match.setTransportSource(matchSrcTcpUdpPort);
+ match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_TP_SRC);
+ }
+
+ // Match the Destination TCP/UDP port
+ Short matchDstTcpUdpPort = flowEntryMatch.dstTcpUdpPort();
+ if ((matchDstTcpUdpPort == null) && (flowPathMatch != null)) {
+ matchDstTcpUdpPort = flowPathMatch.dstTcpUdpPort();
+ }
+ if (matchDstTcpUdpPort != null) {
+ match.setTransportDestination(matchDstTcpUdpPort);
+ match.setWildcards(match.getWildcards() & ~OFMatch.OFPFW_TP_DST);
}
//
diff --git a/src/main/java/net/onrc/onos/ofcontroller/util/FlowEntryMatch.java b/src/main/java/net/onrc/onos/ofcontroller/util/FlowEntryMatch.java
index 0b79c01..a721ff2 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/util/FlowEntryMatch.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/util/FlowEntryMatch.java
@@ -72,13 +72,13 @@
private Field<Port> inPort; // Matching input switch port
private Field<MACAddress> srcMac; // Matching source MAC address
private Field<MACAddress> dstMac; // Matching destination MAC address
+ private Field<Short> ethernetFrameType; // Matching Ethernet frame type
private Field<Short> vlanId; // Matching VLAN ID
private Field<Byte> vlanPriority; // Matching VLAN priority
- private Field<Short> ethernetFrameType; // Matching Ethernet frame type
- private Field<Byte> ipToS; // Matching IP ToS (DSCP field, 6 bits)
- private Field<Byte> ipProto; // Matching IP protocol
private Field<IPv4Net> srcIPv4Net; // Matching source IPv4 prefix
private Field<IPv4Net> dstIPv4Net; // Matching destination IPv4 prefix
+ private Field<Byte> ipProto; // Matching IP protocol
+ private Field<Byte> ipToS; // Matching IP ToS (DSCP field, 6 bits)
private Field<Short> srcTcpUdpPort; // Matching source TCP/UDP port
private Field<Short> dstTcpUdpPort; // Matching destination TCP/UDP port
@@ -100,20 +100,20 @@
this.enableSrcMac(other.srcMac.value());
if ((other.dstMac != null) && other.dstMac.enabled())
this.enableDstMac(other.dstMac.value());
+ if ((other.ethernetFrameType != null) && other.ethernetFrameType.enabled())
+ this.enableEthernetFrameType(other.ethernetFrameType.value());
if ((other.vlanId != null) && other.vlanId.enabled())
this.enableVlanId(other.vlanId.value());
if ((other.vlanPriority != null) && other.vlanPriority.enabled())
this.enableVlanPriority(other.vlanPriority.value());
- if ((other.ethernetFrameType != null) && other.ethernetFrameType.enabled())
- this.enableEthernetFrameType(other.ethernetFrameType.value());
- if ((other.ipToS != null) && other.ipToS.enabled())
- this.enableIpToS(other.ipToS.value());
- if ((other.ipProto != null) && other.ipProto.enabled())
- this.enableIpProto(other.ipProto.value());
if ((other.srcIPv4Net != null) && other.srcIPv4Net.enabled())
this.enableSrcIPv4Net(other.srcIPv4Net.value());
if ((other.dstIPv4Net != null) && other.dstIPv4Net.enabled())
this.enableDstIPv4Net(other.dstIPv4Net.value());
+ if ((other.ipProto != null) && other.ipProto.enabled())
+ this.enableIpProto(other.ipProto.value());
+ if ((other.ipToS != null) && other.ipToS.enabled())
+ this.enableIpToS(other.ipToS.value());
if ((other.srcTcpUdpPort != null) && other.srcTcpUdpPort.enabled())
this.enableSrcTcpUdpPort(other.srcTcpUdpPort.value());
if ((other.dstTcpUdpPort != null) && other.dstTcpUdpPort.enabled())
@@ -244,6 +244,48 @@
}
/**
+ * Get the matching Ethernet frame type.
+ *
+ * @return the matching Ethernet frame type.
+ */
+ @JsonProperty("ethernetFrameType")
+ public Short ethernetFrameType() {
+ if (ethernetFrameType != null)
+ return ethernetFrameType.value();
+ return null;
+ }
+
+ /**
+ * Enable the matching on Ethernet frame type.
+ *
+ * @param ethernetFrameType the Ethernet frame type value to enable for
+ * matching.
+ */
+ @JsonProperty("ethernetFrameType")
+ public void enableEthernetFrameType(Short ethernetFrameType) {
+ this.ethernetFrameType = new Field<Short>(ethernetFrameType);
+ }
+
+ /**
+ * Disable the matching on Ethernet frame type.
+ */
+ public void disableEthernetFrameType() {
+ this.ethernetFrameType = null;
+ }
+
+ /**
+ * Test if matching on Ethernet frame type is enabled.
+ *
+ * @return true if matching on Ethernet frame type is enabled.
+ */
+ @JsonProperty("matchEthernetFrameType")
+ public boolean matchEthernetFrameType() {
+ if (ethernetFrameType != null)
+ return ethernetFrameType.enabled();
+ return false;
+ }
+
+ /**
* Get the matching VLAN ID.
*
* @return the matching VLAN ID.
@@ -326,130 +368,6 @@
}
/**
- * Get the matching Ethernet frame type.
- *
- * @return the matching Ethernet frame type.
- */
- @JsonProperty("ethernetFrameType")
- public Short ethernetFrameType() {
- if (ethernetFrameType != null)
- return ethernetFrameType.value();
- return null;
- }
-
- /**
- * Enable the matching on Ethernet frame type.
- *
- * @param ethernetFrameType the Ethernet frame type value to enable for
- * matching.
- */
- @JsonProperty("ethernetFrameType")
- public void enableEthernetFrameType(Short ethernetFrameType) {
- this.ethernetFrameType = new Field<Short>(ethernetFrameType);
- }
-
- /**
- * Disable the matching on Ethernet frame type.
- */
- public void disableEthernetFrameType() {
- this.ethernetFrameType = null;
- }
-
- /**
- * Test if matching on Ethernet frame type is enabled.
- *
- * @return true if matching on Ethernet frame type is enabled.
- */
- @JsonProperty("matchEthernetFrameType")
- public boolean matchEthernetFrameType() {
- if (ethernetFrameType != null)
- return ethernetFrameType.enabled();
- return false;
- }
-
- /**
- * Get the matching IP ToS (DSCP field, 6 bits)
- *
- * @return the matching IP ToS.
- */
- @JsonProperty("ipToS")
- public Byte ipToS() {
- if (ipToS != null)
- return ipToS.value();
- return null;
- }
-
- /**
- * Enable the matching on IP ToS (DSCP field, 6 bits).
- *
- * @param ipToS the IP ToS value to enable for matching.
- */
- @JsonProperty("ipToS")
- public void enableIpToS(Byte ipToS) {
- this.ipToS = new Field<Byte>(ipToS);
- }
-
- /**
- * Disable the matching on IP ToS (DSCP field, 6 bits).
- */
- public void disableIpToS() {
- this.ipToS = null;
- }
-
- /**
- * Test if matching on IP ToS (DSCP field, 6 bits) is enabled.
- *
- * @return true if matching on IP ToS is enabled.
- */
- @JsonProperty("matchIpToS")
- public boolean matchIpToS() {
- if (ipToS != null)
- return ipToS.enabled();
- return false;
- }
-
- /**
- * Get the matching IP protocol.
- *
- * @return the matching IP protocol.
- */
- @JsonProperty("ipProto")
- public Byte ipProto() {
- if (ipProto != null)
- return ipProto.value();
- return null;
- }
-
- /**
- * Enable the matching on IP protocol.
- *
- * @param ipProto the IP protocol value to enable for matching.
- */
- @JsonProperty("ipProto")
- public void enableIpProto(Byte ipProto) {
- this.ipProto = new Field<Byte>(ipProto);
- }
-
- /**
- * Disable the matching on IP protocol.
- */
- public void disableIpProto() {
- this.ipProto = null;
- }
-
- /**
- * Test if matching on IP protocol is enabled.
- *
- * @return true if matching on IP protocol is enabled.
- */
- @JsonProperty("matchIpProto")
- public boolean matchIpProto() {
- if (ipProto != null)
- return ipProto.enabled();
- return false;
- }
-
- /**
* Get the matching source IPv4 prefix.
*
* @return the matching source IPv4 prefix.
@@ -533,6 +451,88 @@
}
/**
+ * Get the matching IP protocol.
+ *
+ * @return the matching IP protocol.
+ */
+ @JsonProperty("ipProto")
+ public Byte ipProto() {
+ if (ipProto != null)
+ return ipProto.value();
+ return null;
+ }
+
+ /**
+ * Enable the matching on IP protocol.
+ *
+ * @param ipProto the IP protocol value to enable for matching.
+ */
+ @JsonProperty("ipProto")
+ public void enableIpProto(Byte ipProto) {
+ this.ipProto = new Field<Byte>(ipProto);
+ }
+
+ /**
+ * Disable the matching on IP protocol.
+ */
+ public void disableIpProto() {
+ this.ipProto = null;
+ }
+
+ /**
+ * Test if matching on IP protocol is enabled.
+ *
+ * @return true if matching on IP protocol is enabled.
+ */
+ @JsonProperty("matchIpProto")
+ public boolean matchIpProto() {
+ if (ipProto != null)
+ return ipProto.enabled();
+ return false;
+ }
+
+ /**
+ * Get the matching IP ToS (DSCP field, 6 bits)
+ *
+ * @return the matching IP ToS.
+ */
+ @JsonProperty("ipToS")
+ public Byte ipToS() {
+ if (ipToS != null)
+ return ipToS.value();
+ return null;
+ }
+
+ /**
+ * Enable the matching on IP ToS (DSCP field, 6 bits).
+ *
+ * @param ipToS the IP ToS value to enable for matching.
+ */
+ @JsonProperty("ipToS")
+ public void enableIpToS(Byte ipToS) {
+ this.ipToS = new Field<Byte>(ipToS);
+ }
+
+ /**
+ * Disable the matching on IP ToS (DSCP field, 6 bits).
+ */
+ public void disableIpToS() {
+ this.ipToS = null;
+ }
+
+ /**
+ * Test if matching on IP ToS (DSCP field, 6 bits) is enabled.
+ *
+ * @return true if matching on IP ToS is enabled.
+ */
+ @JsonProperty("matchIpToS")
+ public boolean matchIpToS() {
+ if (ipToS != null)
+ return ipToS.enabled();
+ return false;
+ }
+
+ /**
* Get the matching source TCP/UDP port.
*
* @return the matching source TCP/UDP port.
@@ -649,6 +649,12 @@
addSpace = true;
ret += "dstMac=" + this.dstMac().toString();
}
+ if (matchEthernetFrameType()) {
+ if (addSpace)
+ ret += " ";
+ addSpace = true;
+ ret += "ethernetFrameType=" + this.ethernetFrameType().toString();
+ }
if (matchVlanId()) {
if (addSpace)
ret += " ";
@@ -661,24 +667,6 @@
addSpace = true;
ret += "vlanPriority=" + this.vlanPriority().toString();
}
- if (matchEthernetFrameType()) {
- if (addSpace)
- ret += " ";
- addSpace = true;
- ret += "ethernetFrameType=" + this.ethernetFrameType().toString();
- }
- if (matchIpToS()) {
- if (addSpace)
- ret += " ";
- addSpace = true;
- ret += "ipToS=" + this.ipToS().toString();
- }
- if (matchIpProto()) {
- if (addSpace)
- ret += " ";
- addSpace = true;
- ret += "ipProto=" + this.ipProto().toString();
- }
if (matchSrcIPv4Net()) {
if (addSpace)
ret += " ";
@@ -691,6 +679,18 @@
addSpace = true;
ret += "dstIPv4Net=" + this.dstIPv4Net().toString();
}
+ if (matchIpProto()) {
+ if (addSpace)
+ ret += " ";
+ addSpace = true;
+ ret += "ipProto=" + this.ipProto().toString();
+ }
+ if (matchIpToS()) {
+ if (addSpace)
+ ret += " ";
+ addSpace = true;
+ ret += "ipToS=" + this.ipToS().toString();
+ }
if (matchSrcTcpUdpPort()) {
if (addSpace)
ret += " ";
diff --git a/src/main/java/net/onrc/onos/ofcontroller/util/FlowPath.java b/src/main/java/net/onrc/onos/ofcontroller/util/FlowPath.java
index f9385e7..4a8fc7b 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/util/FlowPath.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/util/FlowPath.java
@@ -41,21 +41,40 @@
//
{
FlowEntryMatch match = new FlowEntryMatch();
- Short matchEthernetFrameType = flowObj.getMatchEthernetFrameType();
- if (matchEthernetFrameType != null)
- match.enableEthernetFrameType(matchEthernetFrameType);
- String matchSrcIPv4Net = flowObj.getMatchSrcIPv4Net();
- if (matchSrcIPv4Net != null)
- match.enableSrcIPv4Net(new IPv4Net(matchSrcIPv4Net));
- String matchDstIPv4Net = flowObj.getMatchDstIPv4Net();
- if (matchDstIPv4Net != null)
- match.enableDstIPv4Net(new IPv4Net(matchDstIPv4Net));
String matchSrcMac = flowObj.getMatchSrcMac();
if (matchSrcMac != null)
match.enableSrcMac(MACAddress.valueOf(matchSrcMac));
String matchDstMac = flowObj.getMatchDstMac();
if (matchDstMac != null)
match.enableDstMac(MACAddress.valueOf(matchDstMac));
+ Short matchEthernetFrameType = flowObj.getMatchEthernetFrameType();
+ if (matchEthernetFrameType != null)
+ match.enableEthernetFrameType(matchEthernetFrameType);
+ Short matchVlanId = flowObj.getMatchVlanId();
+ if (matchVlanId != null)
+ match.enableVlanId(matchVlanId);
+ Byte matchVlanPriority = flowObj.getMatchVlanPriority();
+ if (matchVlanPriority != null)
+ match.enableVlanPriority(matchVlanPriority);
+ String matchSrcIPv4Net = flowObj.getMatchSrcIPv4Net();
+ if (matchSrcIPv4Net != null)
+ match.enableSrcIPv4Net(new IPv4Net(matchSrcIPv4Net));
+ String matchDstIPv4Net = flowObj.getMatchDstIPv4Net();
+ if (matchDstIPv4Net != null)
+ match.enableDstIPv4Net(new IPv4Net(matchDstIPv4Net));
+ Byte matchIpProto = flowObj.getMatchIpProto();
+ if (matchIpProto != null)
+ match.enableIpProto(matchIpProto);
+ Byte matchIpToS = flowObj.getMatchIpToS();
+ if (matchIpToS != null)
+ match.enableIpToS(matchIpToS);
+ Short matchSrcTcpUdpPort = flowObj.getMatchSrcTcpUdpPort();
+ if (matchSrcTcpUdpPort != null)
+ match.enableSrcTcpUdpPort(matchSrcTcpUdpPort);
+ Short matchDstTcpUdpPort = flowObj.getMatchDstTcpUdpPort();
+ if (matchDstTcpUdpPort != null)
+ match.enableDstTcpUdpPort(matchDstTcpUdpPort);
+
this.setFlowEntryMatch(match);
}
@@ -75,21 +94,39 @@
Short matchInPort = flowEntryObj.getMatchInPort();
if (matchInPort != null)
match.enableInPort(new Port(matchInPort));
- Short matchEthernetFrameType = flowEntryObj.getMatchEthernetFrameType();
- if (matchEthernetFrameType != null)
- match.enableEthernetFrameType(matchEthernetFrameType);
- String matchSrcIPv4Net = flowEntryObj.getMatchSrcIPv4Net();
- if (matchSrcIPv4Net != null)
- match.enableSrcIPv4Net(new IPv4Net(matchSrcIPv4Net));
- String matchDstIPv4Net = flowEntryObj.getMatchDstIPv4Net();
- if (matchDstIPv4Net != null)
- match.enableDstIPv4Net(new IPv4Net(matchDstIPv4Net));
String matchSrcMac = flowEntryObj.getMatchSrcMac();
if (matchSrcMac != null)
match.enableSrcMac(MACAddress.valueOf(matchSrcMac));
String matchDstMac = flowEntryObj.getMatchDstMac();
if (matchDstMac != null)
match.enableDstMac(MACAddress.valueOf(matchDstMac));
+ Short matchEthernetFrameType = flowEntryObj.getMatchEthernetFrameType();
+ if (matchEthernetFrameType != null)
+ match.enableEthernetFrameType(matchEthernetFrameType);
+ Short matchVlanId = flowEntryObj.getMatchVlanId();
+ if (matchVlanId != null)
+ match.enableVlanId(matchVlanId);
+ Byte matchVlanPriority = flowEntryObj.getMatchVlanPriority();
+ if (matchVlanPriority != null)
+ match.enableVlanPriority(matchVlanPriority);
+ String matchSrcIPv4Net = flowEntryObj.getMatchSrcIPv4Net();
+ if (matchSrcIPv4Net != null)
+ match.enableSrcIPv4Net(new IPv4Net(matchSrcIPv4Net));
+ String matchDstIPv4Net = flowEntryObj.getMatchDstIPv4Net();
+ if (matchDstIPv4Net != null)
+ match.enableDstIPv4Net(new IPv4Net(matchDstIPv4Net));
+ Byte matchIpProto = flowEntryObj.getMatchIpProto();
+ if (matchIpProto != null)
+ match.enableIpProto(matchIpProto);
+ Byte matchIpToS = flowEntryObj.getMatchIpToS();
+ if (matchIpToS != null)
+ match.enableIpToS(matchIpToS);
+ Short matchSrcTcpUdpPort = flowEntryObj.getMatchSrcTcpUdpPort();
+ if (matchSrcTcpUdpPort != null)
+ match.enableSrcTcpUdpPort(matchSrcTcpUdpPort);
+ Short matchDstTcpUdpPort = flowEntryObj.getMatchDstTcpUdpPort();
+ if (matchDstTcpUdpPort != null)
+ match.enableDstTcpUdpPort(matchDstTcpUdpPort);
flowEntry.setFlowEntryMatch(match);
//
diff --git a/src/test/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjectsIFlowEntryTest.java b/src/test/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjectsIFlowEntryTest.java
index eba7447..717d688 100644
--- a/src/test/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjectsIFlowEntryTest.java
+++ b/src/test/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjectsIFlowEntryTest.java
@@ -177,22 +177,6 @@
/**
* Desc:
- * Test method for set and get MatchEthernetFrameType.
- * Condition:
- * N/A
- * Expect:
- * 1. Should set MatchEthernetFrameType.
- * 2. Should get MatchEthernetFrameType.
- */
- @Test
- public void testSetGetMatchEthernetFrameType() {
- Short matchEthernetFrameType = 1;
- flowEntry.setMatchEthernetFrameType(matchEthernetFrameType);
- assertEquals(flowEntry.getMatchEthernetFrameType(), matchEthernetFrameType);
- }
-
- /**
- * Desc:
* Test method for set and get MatchSrcMac.
* Condition:
* N/A
@@ -222,6 +206,54 @@
flowEntry.setMatchDstMac(matchDstMac);
assertEquals(flowEntry.getMatchDstMac(), matchDstMac);
}
+
+ /**
+ * Desc:
+ * Test method for set and get MatchEthernetFrameType.
+ * Condition:
+ * N/A
+ * Expect:
+ * 1. Should set MatchEthernetFrameType.
+ * 2. Should get MatchEthernetFrameType.
+ */
+ @Test
+ public void testSetGetMatchEthernetFrameType() {
+ Short matchEthernetFrameType = 1;
+ flowEntry.setMatchEthernetFrameType(matchEthernetFrameType);
+ assertEquals(flowEntry.getMatchEthernetFrameType(), matchEthernetFrameType);
+ }
+
+ /**
+ * Desc:
+ * Test method for set and get MatchVlanId.
+ * Condition:
+ * N/A
+ * Expect:
+ * 1. Should set MatchVlanId.
+ * 2. Should get MatchVlanId.
+ */
+ @Test
+ public void testSetGetMatchVlanId() {
+ Short matchVlanId = 10;
+ flowEntry.setMatchVlanId(matchVlanId);
+ assertEquals(flowEntry.getMatchVlanId(), matchVlanId);
+ }
+
+ /**
+ * Desc:
+ * Test method for set and get MatchVlanPriority.
+ * Condition:
+ * N/A
+ * Expect:
+ * 1. Should set MatchVlanPriority.
+ * 2. Should get MatchVlanPriority.
+ */
+ @Test
+ public void testSetGetMatchVlanPriority() {
+ Byte matchVlanPriority = 10;
+ flowEntry.setMatchVlanPriority(matchVlanPriority);
+ assertEquals(flowEntry.getMatchVlanPriority(), matchVlanPriority);
+ }
/**
* Desc:
@@ -254,6 +286,70 @@
flowEntry.setMatchDstIPv4Net(dstIPv4Net);
assertEquals(flowEntry.getMatchDstIPv4Net(), dstIPv4Net);
}
+
+ /**
+ * Desc:
+ * Test method for set and get MatchIpProto.
+ * Condition:
+ * N/A
+ * Expect:
+ * 1. Should set MatchIpProto.
+ * 2. Should get MatchIpProto.
+ */
+ @Test
+ public void testSetGetMatchIpProto() {
+ Byte matchIpProto = 20;
+ flowEntry.setMatchIpProto(matchIpProto);
+ assertEquals(flowEntry.getMatchIpProto(), matchIpProto);
+ }
+
+ /**
+ * Desc:
+ * Test method for set and get MatchIpToS.
+ * Condition:
+ * N/A
+ * Expect:
+ * 1. Should set MatchIpToS.
+ * 2. Should get MatchIpToS.
+ */
+ @Test
+ public void testSetGetMatchIpToS() {
+ Byte matchIpToS = 20;
+ flowEntry.setMatchIpToS(matchIpToS);
+ assertEquals(flowEntry.getMatchIpToS(), matchIpToS);
+ }
+
+ /**
+ * Desc:
+ * Test method for set and get MatchSrcTcpUdpPort.
+ * Condition:
+ * N/A
+ * Expect:
+ * 1. Should set MatchSrcTcpUdpPort.
+ * 2. Should get MatchSrcTcpUdpPort.
+ */
+ @Test
+ public void testSetGetMatchSrcTcpUdpPort() {
+ Short srcTcpUdpPort = (short)65535;
+ flowEntry.setMatchSrcTcpUdpPort(srcTcpUdpPort);
+ assertEquals(flowEntry.getMatchSrcTcpUdpPort(), srcTcpUdpPort);
+ }
+
+ /**
+ * Desc:
+ * Test method for set and get MatchDstTcpUdpPort.
+ * Condition:
+ * N/A
+ * Expect:
+ * 1. Should set MatchDstTcpUdpPort.
+ * 2. Should get MatchDstTcpUdpPort.
+ */
+ @Test
+ public void testSetGetMatchDstTcpUdpPort() {
+ Short dstTcpUdpPort = (short)65535;
+ flowEntry.setMatchDstTcpUdpPort(dstTcpUdpPort);
+ assertEquals(flowEntry.getMatchDstTcpUdpPort(), dstTcpUdpPort);
+ }
/**
* Desc:
diff --git a/src/test/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjectsIFlowPathTest.java b/src/test/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjectsIFlowPathTest.java
index 9765af8..85072e3 100644
--- a/src/test/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjectsIFlowPathTest.java
+++ b/src/test/java/net/onrc/onos/ofcontroller/core/INetMapTopologyObjectsIFlowPathTest.java
@@ -241,24 +241,6 @@
/**
* Desc:
- * Test method for set and get MatchEthernetFrameType
- * Condition:
- * N/A
- * Expect:
- * 1. Should set MatchEthernetFrameType.
- * 2. Should get MatchEthernetFrameType.
- */
- @Test
- public void testSetGetMatchEthernetFrameType() {
- String flowId = "xx";
- Short matchEthernetFrameTypeShort = 1;
- flowPath.setFlowId(flowId);
- flowPath.setMatchEthernetFrameType(matchEthernetFrameTypeShort);
- assertEquals(flowPath.getMatchEthernetFrameType(), matchEthernetFrameTypeShort);
- }
-
- /**
- * Desc:
* Test method for set and get MatchSrcMac
* Condition:
* N/A
@@ -292,15 +274,69 @@
flowPath.setMatchDstMac(matchDstMac);
assertEquals(flowPath.getMatchDstMac(), matchDstMac);
}
-
+
/**
* Desc:
- * Test method for set and get SrcIPv4Net.
+ * Test method for set and get MatchEthernetFrameType
* Condition:
* N/A
* Expect:
- * 1. Should set SrcIPv4Net.
- * 2. Should get SrcIPv4Net.
+ * 1. Should set MatchEthernetFrameType.
+ * 2. Should get MatchEthernetFrameType.
+ */
+ @Test
+ public void testSetGetMatchEthernetFrameType() {
+ String flowId = "xx";
+ Short matchEthernetFrameType = 1;
+ flowPath.setFlowId(flowId);
+ flowPath.setMatchEthernetFrameType(matchEthernetFrameType);
+ assertEquals(flowPath.getMatchEthernetFrameType(), matchEthernetFrameType);
+ }
+
+ /**
+ * Desc:
+ * Test method for set and get MatchVlanId
+ * Condition:
+ * N/A
+ * Expect:
+ * 1. Should set MatchVlanId.
+ * 2. Should get MatchVlanId.
+ */
+ @Test
+ public void testSetGetMatchVlanId() {
+ String flowId = "xx";
+ Short matchVlanId = 10;
+ flowPath.setFlowId(flowId);
+ flowPath.setMatchVlanId(matchVlanId);
+ assertEquals(flowPath.getMatchVlanId(), matchVlanId);
+ }
+
+ /**
+ * Desc:
+ * Test method for set and get MatchVlanPriority
+ * Condition:
+ * N/A
+ * Expect:
+ * 1. Should set MatchVlanPriority.
+ * 2. Should get MatchVlanPriority.
+ */
+ @Test
+ public void testSetGetMatchVlanPriority() {
+ String flowId = "xx";
+ Byte matchVlanPriority = 20;
+ flowPath.setFlowId(flowId);
+ flowPath.setMatchVlanPriority(matchVlanPriority);
+ assertEquals(flowPath.getMatchVlanPriority(), matchVlanPriority);
+ }
+
+ /**
+ * Desc:
+ * Test method for set and get MatchSrcIPv4Net.
+ * Condition:
+ * N/A
+ * Expect:
+ * 1. Should set MatchSrcIPv4Net.
+ * 2. Should get MatchSrcIPv4Net.
*/
@Test
public void testSetGetMatchSrcIPv4Net() {
@@ -313,12 +349,12 @@
/**
* Desc:
- * Test method for set and get DstIPv4Net.
+ * Test method for set and get MatchDstIPv4Net.
* Condition:
* N/A
* Expect:
- * 1. Should set DstIPv4Net.
- * 2. Should get DstIPv4Net.
+ * 1. Should set MatchDstIPv4Net.
+ * 2. Should get MatchDstIPv4Net.
*/
@Test
public void testSetGetMatchDstIPv4Net() {
@@ -328,7 +364,79 @@
flowPath.setMatchDstIPv4Net(ip);
assertEquals(flowPath.getMatchDstIPv4Net(), ip);
}
-
+
+ /**
+ * Desc:
+ * Test method for set and get MatchIpProto
+ * Condition:
+ * N/A
+ * Expect:
+ * 1. Should set MatchIpProto.
+ * 2. Should get MatchIpProto.
+ */
+ @Test
+ public void testSetGetMatchIpProto() {
+ String flowId = "xx";
+ Byte matchIpProto = 20;
+ flowPath.setFlowId(flowId);
+ flowPath.setMatchIpProto(matchIpProto);
+ assertEquals(flowPath.getMatchIpProto(), matchIpProto);
+ }
+
+ /**
+ * Desc:
+ * Test method for set and get MatchIpToS
+ * Condition:
+ * N/A
+ * Expect:
+ * 1. Should set MatchIpToS.
+ * 2. Should get MatchIpToS.
+ */
+ @Test
+ public void testSetGetMatchIpToS() {
+ String flowId = "xx";
+ Byte matchIpToS = 20;
+ flowPath.setFlowId(flowId);
+ flowPath.setMatchIpToS(matchIpToS);
+ assertEquals(flowPath.getMatchIpToS(), matchIpToS);
+ }
+
+ /**
+ * Desc:
+ * Test method for set and get MatchSrcTcpUdpPort.
+ * Condition:
+ * N/A
+ * Expect:
+ * 1. Should set MatchSrcTcpUdpPort.
+ * 2. Should get MatchSrcTcpUdpPort.
+ */
+ @Test
+ public void testSetGetMatchSrcTcpUdpPort() {
+ String flowId = "xx";
+ Short srcTcpUdpPort = (short)65535;
+ flowPath.setFlowId(flowId);
+ flowPath.setMatchSrcTcpUdpPort(srcTcpUdpPort);
+ assertEquals(flowPath.getMatchSrcTcpUdpPort(), srcTcpUdpPort);
+ }
+
+ /**
+ * Desc:
+ * Test method for set and get MatchDstTcpUdpPort.
+ * Condition:
+ * N/A
+ * Expect:
+ * 1. Should set MatchDstTcpUdpPort.
+ * 2. Should get MatchDstTcpUdpPort.
+ */
+ @Test
+ public void testSetGetMatchDstTcpUdpPort() {
+ String flowId = "xx";
+ Short dstTcpUdpPort = (short)65535;
+ flowPath.setFlowId(flowId);
+ flowPath.setMatchDstTcpUdpPort(dstTcpUdpPort);
+ assertEquals(flowPath.getMatchDstTcpUdpPort(), dstTcpUdpPort);
+ }
+
/**
* Desc:
* Test method for set and get UserState.
diff --git a/src/test/java/net/onrc/onos/ofcontroller/core/internal/TestableGraphDBOperation.java b/src/test/java/net/onrc/onos/ofcontroller/core/internal/TestableGraphDBOperation.java
index 658aaaf..fb5227f 100644
--- a/src/test/java/net/onrc/onos/ofcontroller/core/internal/TestableGraphDBOperation.java
+++ b/src/test/java/net/onrc/onos/ofcontroller/core/internal/TestableGraphDBOperation.java
@@ -416,16 +416,28 @@
public static class TestFlowPath implements IFlowPath {
private String state,type,flowId,installerId,srcSw,dstSw;
private String dataPathSummary,userState;
- private String matchSrcMac,matchDstMac,matchSrcIpaddr,matchDstIpaddr;
- private Short srcPort,dstPort,matchEthernetFrameType;
+ private Short srcPort,dstPort;
+ private String matchSrcMac,matchDstMac;
+ private Short matchEthernetFrameType;
+ private Short matchVlanId;
+ private Byte matchVlanPriority;
+ private String matchSrcIpaddr,matchDstIpaddr;
+ private Byte matchIpProto, matchIpToS;
+ private Short matchSrcTcpUdpPort, matchDstTcpUdpPort;
private List<IFlowEntry> entries;
private List<ISwitchObject> switches;
private String stateToUpdate,typeToUpdate,flowIdToUpdate,installerIdToUpdate,srcSwToUpdate,dstSwToUpdate;
private String dataPathSummaryToUpdate,userStateToUpdate;
- private String matchSrcMacToUpdate,matchDstMacToUpdate,matchSrcIpaddrToUpdate,matchDstIpaddrToUpdate;
- private Short srcPortToUpdate,dstPortToUpdate,matchEthernetFrameTypeToUpdate;
+ private Short srcPortToUpdate,dstPortToUpdate;
+ private String matchSrcMacToUpdate,matchDstMacToUpdate;
+ private Short matchEthernetFrameTypeToUpdate;
+ private Short matchVlanIdToUpdate;
+ private Byte matchVlanPriorityToUpdate;
+ private String matchSrcIpaddrToUpdate,matchDstIpaddrToUpdate;
+ private Byte matchIpProtoToUpdate, matchIpToSToUpdate;
+ private Short matchSrcTcpUdpPortToUpdate, matchDstTcpUdpPortToUpdate;
private List<IFlowEntry> flowsToAdd;
private List<IFlowEntry> flowsToRemove;
@@ -457,13 +469,19 @@
if(dstSwToUpdate != null) { dstSw = dstSwToUpdate; }
if(dataPathSummaryToUpdate != null) { dataPathSummary = dataPathSummaryToUpdate; }
if(userStateToUpdate != null) { userState = userStateToUpdate; }
- if(matchSrcMacToUpdate != null) { matchSrcMac = matchSrcMacToUpdate; }
- if(matchDstMacToUpdate != null) { matchDstMac = matchDstMacToUpdate; }
- if(matchSrcIpaddrToUpdate != null) { matchSrcIpaddr = matchSrcIpaddrToUpdate; }
- if(matchDstIpaddrToUpdate != null) { matchDstIpaddr = matchDstIpaddrToUpdate; }
if(srcPortToUpdate != null) { srcPort = srcPortToUpdate; }
if(dstPortToUpdate != null) { dstPort = dstPortToUpdate; }
+ if(matchSrcMacToUpdate != null) { matchSrcMac = matchSrcMacToUpdate; }
+ if(matchDstMacToUpdate != null) { matchDstMac = matchDstMacToUpdate; }
if(matchEthernetFrameTypeToUpdate != null) { matchEthernetFrameType = matchEthernetFrameTypeToUpdate; }
+ if(matchVlanIdToUpdate != null) { matchVlanId = matchVlanIdToUpdate; }
+ if(matchVlanPriorityToUpdate != null) { matchVlanPriority = matchVlanPriorityToUpdate; }
+ if(matchSrcIpaddrToUpdate != null) { matchSrcIpaddr = matchSrcIpaddrToUpdate; }
+ if(matchDstIpaddrToUpdate != null) { matchDstIpaddr = matchDstIpaddrToUpdate; }
+ if(matchIpProtoToUpdate != null) { matchIpProto = matchIpProtoToUpdate; }
+ if(matchIpToSToUpdate != null) { matchIpToS = matchIpToSToUpdate; }
+ if(matchSrcTcpUdpPortToUpdate != null) { matchSrcTcpUdpPort = matchSrcTcpUdpPortToUpdate; }
+ if(matchDstTcpUdpPortToUpdate != null) { matchDstTcpUdpPort = matchDstTcpUdpPortToUpdate; }
}
public void rollback() {
@@ -476,8 +494,14 @@
stateToUpdate = typeToUpdate = flowIdToUpdate = installerIdToUpdate = null;
srcSwToUpdate = dstSwToUpdate = dataPathSummaryToUpdate = userStateToUpdate = null;
- matchSrcMacToUpdate = matchDstMacToUpdate = matchSrcIpaddrToUpdate = matchDstIpaddrToUpdate = null;
- srcPortToUpdate = dstPortToUpdate = matchEthernetFrameTypeToUpdate = null;
+ srcPortToUpdate = dstPortToUpdate = null;
+ matchSrcMacToUpdate = matchDstMacToUpdate = null;
+ matchEthernetFrameTypeToUpdate = null;
+ matchVlanIdToUpdate = null;
+ matchVlanPriorityToUpdate = null;
+ matchSrcIpaddrToUpdate = matchDstIpaddrToUpdate = null;
+ matchIpProtoToUpdate = matchIpToSToUpdate = null;
+ matchSrcTcpUdpPortToUpdate = matchDstTcpUdpPortToUpdate = null;
}
// Setter methods for test
@@ -489,13 +513,19 @@
public void setDstSwForTest(String dstSw) { this.dstSw = dstSw; }
public void setDataPathSummaryForTest(String dataPathSummary) { this.dataPathSummary = dataPathSummary; }
public void setUserStateForTest(String userState) { this.userState = userState; }
- public void setMatchSrcMacForTest(String matchSrcMac) { this.matchSrcMac = matchSrcMac; }
- public void setMatchDstMacForTest(String matchDstMac) { this.matchDstMac = matchDstMac; }
- public void setMatchSrcIpaddrForTest(String matchSrcIpaddr) { this.matchSrcIpaddr = matchSrcIpaddr; }
- public void setMatchDstIpaddrForTest(String matchDstIpaddr) { this.matchDstIpaddr = matchDstIpaddr; }
public void setSrcPortForTest(Short srcPort) { this.srcPort = srcPort; }
public void setDstPortForTest(Short dstPort) { this.dstPort = dstPort; }
+ public void setMatchSrcMacForTest(String matchSrcMac) { this.matchSrcMac = matchSrcMac; }
+ public void setMatchDstMacForTest(String matchDstMac) { this.matchDstMac = matchDstMac; }
public void setMatchEthernetFrameTypeForTest(Short matchEthernetFrameType) { this.matchEthernetFrameType = matchEthernetFrameType; }
+ public void setMatchVlanIdForTest(Short matchVlanId) { this.matchVlanId = matchVlanId; }
+ public void setMatchVlanPriorityForTest(Byte matchVlanPriority) { this.matchVlanPriority = matchVlanPriority; }
+ public void setMatchSrcIpaddrForTest(String matchSrcIpaddr) { this.matchSrcIpaddr = matchSrcIpaddr; }
+ public void setMatchDstIpaddrForTest(String matchDstIpaddr) { this.matchDstIpaddr = matchDstIpaddr; }
+ public void setMatchIpProtoForTest(Byte matchIpProto) { this.matchIpProto = matchIpProto; }
+ public void setMatchIpToSForTest(Byte matchIpToS) { this.matchIpToS = matchIpToS; }
+ public void setMatchSrcTcpUdpPortForTest(Short matchSrcTcpUdpPort) { this.matchSrcTcpUdpPort = matchSrcTcpUdpPort; }
+ public void setMatchDstTcpUdpPortForTest(Short matchDstTcpUdpPort) { this.matchDstTcpUdpPort = matchDstTcpUdpPort; }
public void addFlowEntryForTest(IFlowEntry entry) { entries.add(entry); }
public void addSwitchForTest(ISwitchObject sw) { switches.add(sw); }
@@ -577,13 +607,6 @@
}
@Override
- public Short getMatchEthernetFrameType() { return matchEthernetFrameType; }
-
- @Override
- public void setMatchEthernetFrameType(Short matchEthernetFrameType) {
- matchEthernetFrameTypeToUpdate = matchEthernetFrameType; }
-
- @Override
public String getMatchSrcMac() { return matchSrcMac; }
@Override
@@ -596,6 +619,27 @@
public void setMatchDstMac(String matchDstMac) { matchDstMacToUpdate = matchDstMac; }
@Override
+ public Short getMatchEthernetFrameType() { return matchEthernetFrameType; }
+
+ @Override
+ public void setMatchEthernetFrameType(Short matchEthernetFrameType) {
+ matchEthernetFrameTypeToUpdate = matchEthernetFrameType; }
+
+ @Override
+ public Short getMatchVlanId() { return matchVlanId; }
+
+ @Override
+ public void setMatchVlanId(Short matchVlanId) {
+ matchVlanIdToUpdate = matchVlanId; }
+
+ @Override
+ public Byte getMatchVlanPriority() { return matchVlanPriority; }
+
+ @Override
+ public void setMatchVlanPriority(Byte matchVlanPriority) {
+ matchVlanPriorityToUpdate = matchVlanPriority; }
+
+ @Override
public String getMatchSrcIPv4Net() { return matchSrcIpaddr; }
@Override
@@ -610,6 +654,34 @@
matchDstIpaddrToUpdate = matchDstIPv4Net; }
@Override
+ public Byte getMatchIpProto() { return matchIpProto; }
+
+ @Override
+ public void setMatchIpProto(Byte matchIpProto) {
+ matchIpProtoToUpdate = matchIpProto; }
+
+ @Override
+ public Byte getMatchIpToS() { return matchIpToS; }
+
+ @Override
+ public void setMatchIpToS(Byte matchIpToS) {
+ matchIpToSToUpdate = matchIpToS; }
+
+ @Override
+ public Short getMatchSrcTcpUdpPort() { return matchSrcTcpUdpPort; }
+
+ @Override
+ public void setMatchSrcTcpUdpPort(Short matchSrcTcpUdpPort) {
+ matchSrcTcpUdpPortToUpdate = matchSrcTcpUdpPort; }
+
+ @Override
+ public Short getMatchDstTcpUdpPort() { return matchDstTcpUdpPort; }
+
+ @Override
+ public void setMatchDstTcpUdpPort(Short matchDstTcpUdpPort) {
+ matchDstTcpUdpPortToUpdate = matchDstTcpUdpPort; }
+
+ @Override
public Iterable<ISwitchObject> getSwitches() { return switches; }
@Override
@@ -621,8 +693,15 @@
public static class TestFlowEntry implements IFlowEntry {
private String state,type,entryId,dpid,userState,switchState,errorStateType,errorStateCode;
- private String matchSrcMac,matchDstMac,matchSrcIpaddr,matchDstIpaddr;
- private Short matchInPort,matchEtherFrameType,actionOutput;
+ private Short matchInPort;
+ private String matchSrcMac,matchDstMac;
+ private Short matchEtherFrameType;
+ private Short matchVlanId;
+ private Byte matchVlanPriority;
+ private String matchSrcIpaddr,matchDstIpaddr;
+ private Byte matchIpProto, matchIpToS;
+ private Short matchSrcTcpUdpPort, matchDstTcpUdpPort;
+ private Short actionOutput;
private IFlowPath flowPath;
private ISwitchObject sw;
@@ -630,9 +709,15 @@
private String stateToUpdate,typeToUpdate,entryIdToUpdate,dpidToUpdate,
userStateToUpdate,switchStateToUpdate,errorStateTypeToUpdate,errorStateCodeToUpdate;
- private String matchSrcMacToUpdate,matchDstMacToUpdate,matchSrcIpaddrToUpdate,matchDstIpaddrToUpdate;
-
- private Short matchInPortToUpdate,matchEtherFrameTypeToUpdate,actionOutputToUpdate;
+ private Short matchInPortToUpdate;
+ private String matchSrcMacToUpdate,matchDstMacToUpdate;
+ private Short matchEtherFrameTypeToUpdate;
+ private Short matchVlanIdToUpdate;
+ private Byte matchVlanPriorityToUpdate;
+ private String matchSrcIpaddrToUpdate,matchDstIpaddrToUpdate;
+ private Byte matchIpProtoToUpdate, matchIpToSToUpdate;
+ private Short matchSrcTcpUdpPortToUpdate, matchDstTcpUdpPortToUpdate;
+ private Short actionOutputToUpdate;
private IFlowPath flowPathToUpdate;
private ISwitchObject swToUpdate;
@@ -653,12 +738,18 @@
if(switchStateToUpdate != null) { switchState = switchStateToUpdate; }
if(errorStateTypeToUpdate != null) { errorStateType = errorStateTypeToUpdate; }
if(errorStateCodeToUpdate != null) { errorStateCode = errorStateCodeToUpdate; }
+ if(matchInPortToUpdate != null) { matchInPort = matchInPortToUpdate; }
if(matchSrcMacToUpdate != null) { matchSrcMac = matchSrcMacToUpdate; }
if(matchDstMacToUpdate != null) { matchDstMac = matchDstMacToUpdate; }
+ if(matchEtherFrameTypeToUpdate != null) { matchEtherFrameType = matchEtherFrameTypeToUpdate; }
+ if(matchVlanIdToUpdate != null) { matchVlanId = matchVlanIdToUpdate; }
+ if(matchVlanPriorityToUpdate != null) { matchVlanPriority = matchVlanPriorityToUpdate; }
if(matchSrcIpaddrToUpdate != null) { matchSrcIpaddr = matchSrcIpaddrToUpdate; }
if(matchDstIpaddrToUpdate != null) { matchDstIpaddr = matchDstIpaddrToUpdate; }
- if(matchInPortToUpdate != null) { matchInPort = matchInPortToUpdate; }
- if(matchEtherFrameTypeToUpdate != null) { matchEtherFrameType = matchEtherFrameTypeToUpdate; }
+ if(matchIpProtoToUpdate != null) { matchIpProto = matchIpProtoToUpdate; }
+ if(matchIpToSToUpdate != null) { matchIpToS = matchIpToSToUpdate; }
+ if(matchSrcTcpUdpPortToUpdate != null) { matchSrcTcpUdpPort = matchSrcTcpUdpPortToUpdate; }
+ if(matchDstTcpUdpPortToUpdate != null) { matchDstTcpUdpPort = matchDstTcpUdpPortToUpdate; }
if(actionOutputToUpdate != null) { actionOutput = actionOutputToUpdate; }
if(flowPathToUpdate != null) { flowPath = flowPathToUpdate; }
@@ -676,8 +767,15 @@
public void clearUncommitedData() {
stateToUpdate = typeToUpdate = entryIdToUpdate = dpidToUpdate = null;
userStateToUpdate = switchStateToUpdate = errorStateTypeToUpdate = errorStateCodeToUpdate = null;
- matchSrcMacToUpdate = matchDstMacToUpdate = matchSrcIpaddrToUpdate = matchDstIpaddrToUpdate = null;
- matchInPortToUpdate = matchEtherFrameTypeToUpdate = actionOutputToUpdate = null;
+ matchInPortToUpdate = null;
+ matchSrcMacToUpdate = matchDstMacToUpdate = null;
+ matchEtherFrameTypeToUpdate = null;
+ matchVlanIdToUpdate = null;
+ matchVlanPriorityToUpdate = null;
+ matchSrcIpaddrToUpdate = matchDstIpaddrToUpdate = null;
+ matchIpProtoToUpdate = matchIpToSToUpdate = null;
+ matchSrcTcpUdpPortToUpdate = matchDstTcpUdpPortToUpdate = null;
+ actionOutputToUpdate = null;
flowPathToUpdate = null;
swToUpdate = null;
inportToUpdate = outportToUpdate = null;
@@ -692,12 +790,18 @@
public void setSwitchStateForTest(String switchState) { this.switchState = switchState; }
public void setErrorStateTypeForTest(String errorStateType) { this.errorStateType = errorStateType; }
public void setErrorStateCodeForTest(String errorStateCode) { this.errorStateCode = errorStateCode; }
+ public void setMatchInPortForTest(Short matchInPort) { this.matchInPort = matchInPort; }
public void setMatchSrcMacForTest(String matchSrcMac) { this.matchSrcMac = matchSrcMac; }
public void setMatchDstMacForTest(String matchDstMac) { this.matchDstMac = matchDstMac; }
+ public void setMatchEtherFrameTypeForTest(Short matchEtherFrameType) { this.matchEtherFrameType = matchEtherFrameType; }
+ public void setMatchVlanIdForTest(Short matchVlanId) { this.matchVlanId = matchVlanId; }
+ public void setMatchVlanPriorityForTest(Byte matchVlanPriority) { this.matchVlanPriority = matchVlanPriority; }
public void setMatchSrcIpaddrForTest(String matchSrcIpaddr) { this.matchSrcIpaddr = matchSrcIpaddr; }
public void setMatchDstIpaddrForTest(String matchDstIpaddr) { this.matchDstIpaddr = matchDstIpaddr; }
- public void setMatchInPortForTest(Short matchInPort) { this.matchInPort = matchInPort; }
- public void setMatchEtherFrameTypeForTest(Short matchEtherFrameType) { this.matchEtherFrameType = matchEtherFrameType; }
+ public void setMatchIpProtoForTest(Byte matchIpProto) { this.matchIpProto = matchIpProto; }
+ public void setMatchIpToSForTest(Byte matchIpToS) { this.matchIpToS = matchIpToS; }
+ public void setMatchSrcTcpUdpPortForTest(Short matchSrcTcpUdpPort) { this.matchSrcTcpUdpPort = matchSrcTcpUdpPort; }
+ public void setMatchDstTcpUdpPortForTest(Short matchDstTcpUdpPort) { this.matchDstTcpUdpPort = matchDstTcpUdpPort; }
public void setActionOutputForTest(Short actionOutput) { this.actionOutput = actionOutput; }
public void setFlowPathForTest(IFlowPath flowPath) { this.flowPath = flowPath; }
public void setSwitchForTest(ISwitchObject sw) { this.sw = sw; }
@@ -765,12 +869,6 @@
public void setMatchInPort(Short matchInPort) { matchInPortToUpdate = matchInPort; }
@Override
- public Short getMatchEthernetFrameType() {return matchEtherFrameType; }
-
- @Override
- public void setMatchEthernetFrameType(Short matchEthernetFrameType) { matchEtherFrameTypeToUpdate = matchEthernetFrameType; }
-
- @Override
public String getMatchSrcMac() { return matchSrcMac; }
@Override
@@ -781,8 +879,26 @@
@Override
public void setMatchDstMac(String matchDstMac) { matchDstMacToUpdate = matchDstMac; }
+
+ @Override
+ public Short getMatchEthernetFrameType() {return matchEtherFrameType; }
@Override
+ public void setMatchEthernetFrameType(Short matchEthernetFrameType) { matchEtherFrameTypeToUpdate = matchEthernetFrameType; }
+
+ @Override
+ public Short getMatchVlanId() {return matchVlanId; }
+
+ @Override
+ public void setMatchVlanId(Short matchVlanId) { matchVlanId = matchVlanId; }
+
+ @Override
+ public Byte getMatchVlanPriority() {return matchVlanPriority; }
+
+ @Override
+ public void setMatchVlanPriority(Byte matchVlanPriority) { matchVlanPriority = matchVlanPriority; }
+
+ @Override
public String getMatchSrcIPv4Net() { return matchSrcIpaddr; }
@Override
@@ -793,6 +909,30 @@
@Override
public void setMatchDstIPv4Net(String matchDstIPv4Net) { matchDstIpaddrToUpdate = matchDstIPv4Net; }
+
+ @Override
+ public Byte getMatchIpProto() {return matchIpProto; }
+
+ @Override
+ public void setMatchIpProto(Byte matchIpProto) { matchIpProto = matchIpProto; }
+
+ @Override
+ public Byte getMatchIpToS() {return matchIpToS; }
+
+ @Override
+ public void setMatchIpToS(Byte matchIpToS) { matchIpToS = matchIpToS; }
+
+ @Override
+ public Short getMatchSrcTcpUdpPort() {return matchSrcTcpUdpPort; }
+
+ @Override
+ public void setMatchSrcTcpUdpPort(Short matchSrcTcpUdpPort) { matchSrcTcpUdpPortToUpdate = matchSrcTcpUdpPort; }
+
+ @Override
+ public Short getMatchDstTcpUdpPort() {return matchDstTcpUdpPort; }
+
+ @Override
+ public void setMatchDstTcpUdpPort(Short matchDstTcpUdpPort) { matchDstTcpUdpPortToUpdate = matchDstTcpUdpPort; }
@Override
public Short getActionOutput() { return actionOutput; }
diff --git a/src/test/java/net/onrc/onos/ofcontroller/flowmanager/FlowManagerTest.java b/src/test/java/net/onrc/onos/ofcontroller/flowmanager/FlowManagerTest.java
index fb1d708..750bfba 100644
--- a/src/test/java/net/onrc/onos/ofcontroller/flowmanager/FlowManagerTest.java
+++ b/src/test/java/net/onrc/onos/ofcontroller/flowmanager/FlowManagerTest.java
@@ -1140,11 +1140,17 @@
expect(iFlowEntry.getUserState()).andReturn("FE_USER_ADD");
iFlowEntry.setSwitchState("FE_SWITCH_UPDATED");
expect(iFlowEntry.getMatchInPort()).andReturn(new Short((short) 1));
- expect(iFlowEntry.getMatchEthernetFrameType()).andReturn(new Short((short)0x0800));
- expect(iFlowEntry.getMatchSrcIPv4Net()).andReturn("192.168.0.1");
- expect(iFlowEntry.getMatchDstIPv4Net()).andReturn("192.168.0.2");
expect(iFlowEntry.getMatchSrcMac()).andReturn("01:23:45:67:89:01");
expect(iFlowEntry.getMatchDstMac()).andReturn("01:23:45:67:89:02");
+ expect(iFlowEntry.getMatchEthernetFrameType()).andReturn(new Short((short)0x0800));
+ expect(iFlowEntry.getMatchVlanId()).andReturn(new Short((short)0x1234));
+ expect(iFlowEntry.getMatchVlanPriority()).andReturn(new Byte((byte)0x10));
+ expect(iFlowEntry.getMatchSrcIPv4Net()).andReturn("192.168.0.1");
+ expect(iFlowEntry.getMatchDstIPv4Net()).andReturn("192.168.0.2");
+ expect(iFlowEntry.getMatchIpProto()).andReturn(new Byte((byte)0x20));
+ expect(iFlowEntry.getMatchIpToS()).andReturn(new Byte((byte)0x3));
+ expect(iFlowEntry.getMatchSrcTcpUdpPort()).andReturn(new Short((short)40000));
+ expect(iFlowEntry.getMatchDstTcpUdpPort()).andReturn(new Short((short)80));
expect(iFlowEntry.getActionOutput()).andReturn(new Short((short) 2));
expect(floodlightProvider.getOFMessageFactory()).andReturn(basicFactory);
expect(basicFactory.getMessage(OFType.FLOW_MOD)).andReturn(new OFFlowMod());
diff --git a/web/add_flow.py b/web/add_flow.py
index 4f502f6..ec84744 100755
--- a/web/add_flow.py
+++ b/web/add_flow.py
@@ -166,21 +166,15 @@
dstMac['value'] = arg2
match['dstMac'] = dstMac
# match['matchDstMac'] = True
+ elif arg1 == "matchEthernetFrameType":
+ match['ethernetFrameType'] = int(arg2, 0)
+ # match['matchEthernetFrameType'] = True
elif arg1 == "matchVlanId":
match['vlanId'] = int(arg2, 0)
# match['matchVlanId'] = True
elif arg1 == "matchVlanPriority":
match['vlanPriority'] = int(arg2, 0)
# match['matchVlanPriority'] = True
- elif arg1 == "matchEthernetFrameType":
- match['ethernetFrameType'] = int(arg2, 0)
- # match['matchEthernetFrameType'] = True
- elif arg1 == "matchIpToS":
- match['ipToS'] = int(arg2, 0)
- # match['matchIpToS'] = True
- elif arg1 == "matchIpProto":
- match['ipProto'] = int(arg2, 0)
- # match['matchIpProto'] = True
elif arg1 == "matchSrcIPv4Net":
srcIPv4Net = {}
srcIPv4Net['value'] = arg2
@@ -191,6 +185,12 @@
dstIPv4Net['value'] = arg2
match['dstIPv4Net'] = dstIPv4Net
# match['matchDstIPv4Net'] = True
+ elif arg1 == "matchIpProto":
+ match['ipProto'] = int(arg2, 0)
+ # match['matchIpProto'] = True
+ elif arg1 == "matchIpToS":
+ match['ipToS'] = int(arg2, 0)
+ # match['matchIpToS'] = True
elif arg1 == "matchSrcTcpUdpPort":
match['srcTcpUdpPort'] = int(arg2, 0)
# match['matchSrcTcpUdpPort'] = True
@@ -223,24 +223,6 @@
action['actionSetVlanPriority'] = vlanPriority
# action['actionType'] = 'ACTION_SET_VLAN_PCP'
actions.append(copy.deepcopy(action))
- elif arg1 == "actionSetIpToS":
- ipToS = {}
- ipToS['ipToS'] = int(arg2, 0)
- action['actionSetIpToS'] = ipToS
- # action['actionType'] = 'ACTION_SET_NW_TOS'
- actions.append(copy.deepcopy(action))
- elif arg1 == "actionSetTcpUdpSrcPort":
- tcpUdpSrcPort = {}
- tcpUdpSrcPort['port'] = int(arg2, 0)
- action['actionSetTcpUdpSrcPort'] = tcpUdpSrcPort
- # action['actionType'] = 'ACTION_SET_TP_SRC'
- actions.append(copy.deepcopy(action))
- elif arg1 == "actionSetTcpUdpDstPort":
- tcpUdpDstPort = {}
- tcpUdpDstPort['port'] = int(arg2, 0)
- action['actionSetTcpUdpDstPort'] = tcpUdpDstPort
- # action['actionType'] = 'ACTION_SET_TP_DST'
- actions.append(copy.deepcopy(action))
elif arg1 == "actionStripVlan":
stripVlan = {}
stripVlan['stripVlan'] = arg2 in ['True', 'true']
@@ -279,6 +261,24 @@
action['actionSetIPv4DstAddr'] = setIPv4DstAddr
# action['actionType'] = 'ACTION_SET_NW_DST'
actions.append(copy.deepcopy(action))
+ elif arg1 == "actionSetIpToS":
+ ipToS = {}
+ ipToS['ipToS'] = int(arg2, 0)
+ action['actionSetIpToS'] = ipToS
+ # action['actionType'] = 'ACTION_SET_NW_TOS'
+ actions.append(copy.deepcopy(action))
+ elif arg1 == "actionSetTcpUdpSrcPort":
+ tcpUdpSrcPort = {}
+ tcpUdpSrcPort['port'] = int(arg2, 0)
+ action['actionSetTcpUdpSrcPort'] = tcpUdpSrcPort
+ # action['actionType'] = 'ACTION_SET_TP_SRC'
+ actions.append(copy.deepcopy(action))
+ elif arg1 == "actionSetTcpUdpDstPort":
+ tcpUdpDstPort = {}
+ tcpUdpDstPort['port'] = int(arg2, 0)
+ action['actionSetTcpUdpDstPort'] = tcpUdpDstPort
+ # action['actionType'] = 'ACTION_SET_TP_DST'
+ actions.append(copy.deepcopy(action))
elif arg1 == "actionEnqueue":
# TODO: Implement ACTION_ENQUEUE
actionEnqueue = {}
@@ -476,15 +476,13 @@
usage_msg = usage_msg + " matchInPort <True|False> (default to True)\n"
usage_msg = usage_msg + " matchSrcMac <source MAC address>\n"
usage_msg = usage_msg + " matchDstMac <destination MAC address>\n"
- usage_msg = usage_msg + " matchSrcIPv4Net <source IPv4 network address>\n"
- usage_msg = usage_msg + " matchDstIPv4Net <destination IPv4 network address>\n"
usage_msg = usage_msg + " matchEthernetFrameType <Ethernet frame type>\n"
- usage_msg = usage_msg + "\n"
- usage_msg = usage_msg + " Match Conditions (not implemented yet):\n"
usage_msg = usage_msg + " matchVlanId <VLAN ID>\n"
usage_msg = usage_msg + " matchVlanPriority <VLAN priority>\n"
- usage_msg = usage_msg + " matchIpToS <IP ToS (DSCP field, 6 bits)>\n"
+ usage_msg = usage_msg + " matchSrcIPv4Net <source IPv4 network address>\n"
+ usage_msg = usage_msg + " matchDstIPv4Net <destination IPv4 network address>\n"
usage_msg = usage_msg + " matchIpProto <IP protocol>\n"
+ usage_msg = usage_msg + " matchIpToS <IP ToS (DSCP field, 6 bits)>\n"
usage_msg = usage_msg + " matchSrcTcpUdpPort <source TCP/UDP port>\n"
usage_msg = usage_msg + " matchDstTcpUdpPort <destination TCP/UDP port>\n"
usage_msg = usage_msg + "\n"
diff --git a/web/config.json b/web/config.json
new file mode 100644
index 0000000..04b2100
--- /dev/null
+++ b/web/config.json
@@ -0,0 +1,26 @@
+{
+ "LB": false,
+ "TESTBED": "sw",
+ "ONOS_DEFAULT_HOST": "localhost",
+ "ONOS_GUI3_CONTROL_HOST": "http://localhost:8081",
+ "ONOS_GUI3_HOST": "http://localhost:8080",
+ "cluster_basename": "onosgui",
+ "controllers": [
+ "onosgui1",
+ "onosgui2",
+ "onosgui3",
+ "onosgui4",
+ "onosgui5",
+ "onosgui6",
+ "onosgui7",
+ "onosgui8"
+ ],
+ "core_switches": [
+ "00:00:00:00:ba:5e:ba:11",
+ "00:00:00:00:00:00:ba:12",
+ "00:00:20:4e:7f:51:8a:35",
+ "00:00:00:00:ba:5e:ba:13",
+ "00:00:00:08:a2:08:f9:01",
+ "00:00:00:16:97:08:9a:46"
+ ]
+}
diff --git a/web/get_flow.py b/web/get_flow.py
index 033176d..9e954fe 100755
--- a/web/get_flow.py
+++ b/web/get_flow.py
@@ -55,20 +55,20 @@
matchSrcMac = match['matchSrcMac']
dstMac = match['dstMac']
matchDstMac = match['matchDstMac']
+ ethernetFrameType = match['ethernetFrameType']
+ matchEthernetFrameType = match['matchEthernetFrameType']
vlanId = match['vlanId']
matchVlanId = match['matchVlanId']
vlanPriority = match['vlanPriority']
matchVlanPriority = match['matchVlanPriority']
- ethernetFrameType = match['ethernetFrameType']
- matchEthernetFrameType = match['matchEthernetFrameType']
- ipToS = match['ipToS']
- matchIpToS = match['matchIpToS']
- ipProto = match['ipProto']
- matchIpProto = match['matchIpProto']
srcIPv4Net = match['srcIPv4Net']
matchSrcIPv4Net = match['matchSrcIPv4Net']
dstIPv4Net = match['dstIPv4Net']
matchDstIPv4Net = match['matchDstIPv4Net']
+ ipProto = match['ipProto']
+ matchIpProto = match['matchIpProto']
+ ipToS = match['ipToS']
+ matchIpToS = match['matchIpToS']
srcTcpUdpPort = match['srcTcpUdpPort']
matchSrcTcpUdpPort = match['matchSrcTcpUdpPort']
dstTcpUdpPort = match['dstTcpUdpPort']
@@ -79,20 +79,20 @@
print " srcMac: %s" % srcMac['value']
if matchDstMac == True:
print " dstMac: %s" % dstMac['value']
+ if matchEthernetFrameType == True:
+ print " ethernetFrameType: %s" % hex(ethernetFrameType)
if matchVlanId == True:
print " vlanId: %s" % vlanId
if matchVlanPriority == True:
print " vlanPriority: %s" % vlanPriority
- if matchEthernetFrameType == True:
- print " ethernetFrameType: %s" % hex(ethernetFrameType)
- if matchIpToS == True:
- print " ipToS: %s" % ipToS
- if matchIpProto == True:
- print " ipProto: %s" % ipProto
if matchSrcIPv4Net == True:
print " srcIPv4Net: %s" % srcIPv4Net['value']
if matchDstIPv4Net == True:
print " dstIPv4Net: %s" % dstIPv4Net['value']
+ if matchIpProto == True:
+ print " ipProto: %s" % ipProto
+ if matchIpToS == True:
+ print " ipToS: %s" % ipToS
if matchSrcTcpUdpPort == True:
print " srcTcpUdpPort: %s" % srcTcpUdpPort
if matchDstTcpUdpPort == True:
@@ -119,20 +119,20 @@
matchSrcMac = match['matchSrcMac']
dstMac = match['dstMac']
matchDstMac = match['matchDstMac']
+ ethernetFrameType = match['ethernetFrameType']
+ matchEthernetFrameType = match['matchEthernetFrameType']
vlanId = match['vlanId']
matchVlanId = match['matchVlanId']
vlanPriority = match['vlanPriority']
matchVlanPriority = match['matchVlanPriority']
- ethernetFrameType = match['ethernetFrameType']
- matchEthernetFrameType = match['matchEthernetFrameType']
- ipToS = match['ipToS']
- matchIpToS = match['matchIpToS']
- ipProto = match['ipProto']
- matchIpProto = match['matchIpProto']
srcIPv4Net = match['srcIPv4Net']
matchSrcIPv4Net = match['matchSrcIPv4Net']
dstIPv4Net = match['dstIPv4Net']
matchDstIPv4Net = match['matchDstIPv4Net']
+ ipProto = match['ipProto']
+ matchIpProto = match['matchIpProto']
+ ipToS = match['ipToS']
+ matchIpToS = match['matchIpToS']
srcTcpUdpPort = match['srcTcpUdpPort']
matchSrcTcpUdpPort = match['matchSrcTcpUdpPort']
dstTcpUdpPort = match['dstTcpUdpPort']
@@ -143,20 +143,20 @@
print " srcMac: %s" % srcMac['value']
if matchDstMac == True:
print " dstMac: %s" % dstMac['value']
+ if matchEthernetFrameType == True:
+ print " ethernetFrameType: %s" % hex(ethernetFrameType)
if matchVlanId == True:
print " vlanId: %s" % vlanId
if matchVlanPriority == True:
print " vlanPriority: %s" % vlanPriority
- if matchEthernetFrameType == True:
- print " ethernetFrameType: %s" % hex(ethernetFrameType)
- if matchIpToS == True:
- print " ipToS: %s" % ipToS
- if matchIpProto == True:
- print " ipProto: %s" % ipProto
if matchSrcIPv4Net == True:
print " srcIPv4Net: %s" % srcIPv4Net['value']
if matchDstIPv4Net == True:
print " dstIPv4Net: %s" % dstIPv4Net['value']
+ if matchIpProto == True:
+ print " ipProto: %s" % ipProto
+ if matchIpToS == True:
+ print " ipToS: %s" % ipToS
if matchSrcTcpUdpPort == True:
print " srcTcpUdpPort: %s" % srcTcpUdpPort
if matchDstTcpUdpPort == True:
diff --git a/web/measurement_store_flow.py b/web/measurement_store_flow.py
index 637ab3e..dda7fbd 100755
--- a/web/measurement_store_flow.py
+++ b/web/measurement_store_flow.py
@@ -97,21 +97,15 @@
dstMac['value'] = arg2
match['dstMac'] = dstMac
# match['matchDstMac'] = True
+ elif arg1 == "matchEthernetFrameType":
+ match['ethernetFrameType'] = int(arg2, 0)
+ # match['matchEthernetFrameType'] = True
elif arg1 == "matchVlanId":
match['vlanId'] = int(arg2, 0)
# match['matchVlanId'] = True
elif arg1 == "matchVlanPriority":
match['vlanPriority'] = int(arg2, 0)
# match['matchVlanPriority'] = True
- elif arg1 == "matchEthernetFrameType":
- match['ethernetFrameType'] = int(arg2, 0)
- # match['matchEthernetFrameType'] = True
- elif arg1 == "matchIpToS":
- match['ipToS'] = int(arg2, 0)
- # match['matchIpToS'] = True
- elif arg1 == "matchIpProto":
- match['ipProto'] = int(arg2, 0)
- # match['matchIpProto'] = True
elif arg1 == "matchSrcIPv4Net":
srcIPv4Net = {}
srcIPv4Net['value'] = arg2
@@ -122,6 +116,12 @@
dstIPv4Net['value'] = arg2
match['dstIPv4Net'] = dstIPv4Net
# match['matchDstIPv4Net'] = True
+ elif arg1 == "matchIpProto":
+ match['ipProto'] = int(arg2, 0)
+ # match['matchIpProto'] = True
+ elif arg1 == "matchIpToS":
+ match['ipToS'] = int(arg2, 0)
+ # match['matchIpToS'] = True
elif arg1 == "matchSrcTcpUdpPort":
match['srcTcpUdpPort'] = int(arg2, 0)
# match['matchSrcTcpUdpPort'] = True
@@ -154,24 +154,6 @@
action['actionSetVlanPriority'] = vlanPriority
# action['actionType'] = 'ACTION_SET_VLAN_PCP'
actions.append(copy.deepcopy(action))
- elif arg1 == "actionSetIpToS":
- ipToS = {}
- ipToS['ipToS'] = int(arg2, 0)
- action['actionSetIpToS'] = ipToS
- # action['actionType'] = 'ACTION_SET_NW_TOS'
- actions.append(copy.deepcopy(action))
- elif arg1 == "actionSetTcpUdpSrcPort":
- tcpUdpSrcPort = {}
- tcpUdpSrcPort['port'] = int(arg2, 0)
- action['actionSetTcpUdpSrcPort'] = tcpUdpSrcPort
- # action['actionType'] = 'ACTION_SET_TP_SRC'
- actions.append(copy.deepcopy(action))
- elif arg1 == "actionSetTcpUdpDstPort":
- tcpUdpDstPort = {}
- tcpUdpDstPort['port'] = int(arg2, 0)
- action['actionSetTcpUdpDstPort'] = tcpUdpDstPort
- # action['actionType'] = 'ACTION_SET_TP_DST'
- actions.append(copy.deepcopy(action))
elif arg1 == "actionStripVlan":
stripVlan = {}
stripVlan['stripVlan'] = arg2 in ['True', 'true']
@@ -210,6 +192,24 @@
action['actionSetIPv4DstAddr'] = setIPv4DstAddr
# action['actionType'] = 'ACTION_SET_NW_DST'
actions.append(copy.deepcopy(action))
+ elif arg1 == "actionSetIpToS":
+ ipToS = {}
+ ipToS['ipToS'] = int(arg2, 0)
+ action['actionSetIpToS'] = ipToS
+ # action['actionType'] = 'ACTION_SET_NW_TOS'
+ actions.append(copy.deepcopy(action))
+ elif arg1 == "actionSetTcpUdpSrcPort":
+ tcpUdpSrcPort = {}
+ tcpUdpSrcPort['port'] = int(arg2, 0)
+ action['actionSetTcpUdpSrcPort'] = tcpUdpSrcPort
+ # action['actionType'] = 'ACTION_SET_TP_SRC'
+ actions.append(copy.deepcopy(action))
+ elif arg1 == "actionSetTcpUdpDstPort":
+ tcpUdpDstPort = {}
+ tcpUdpDstPort['port'] = int(arg2, 0)
+ action['actionSetTcpUdpDstPort'] = tcpUdpDstPort
+ # action['actionType'] = 'ACTION_SET_TP_DST'
+ actions.append(copy.deepcopy(action))
elif arg1 == "actionEnqueue":
# TODO: Implement ACTION_ENQUEUE
actionEnqueue = {}
@@ -356,15 +356,14 @@
usage_msg = usage_msg + " matchInPort <True|False> (default to True)\n"
usage_msg = usage_msg + " matchSrcMac <source MAC address>\n"
usage_msg = usage_msg + " matchDstMac <destination MAC address>\n"
- usage_msg = usage_msg + " matchSrcIPv4Net <source IPv4 network address>\n"
- usage_msg = usage_msg + " matchDstIPv4Net <destination IPv4 network address>\n"
usage_msg = usage_msg + " matchEthernetFrameType <Ethernet frame type>\n"
- usage_msg = usage_msg + "\n"
- usage_msg = usage_msg + " Match Conditions (not implemented yet):\n"
usage_msg = usage_msg + " matchVlanId <VLAN ID>\n"
usage_msg = usage_msg + " matchVlanPriority <VLAN priority>\n"
- usage_msg = usage_msg + " matchIpToS <IP ToS (DSCP field, 6 bits)>\n"
+ usage_msg = usage_msg + " matchSrcIPv4Net <source IPv4 network address>\n"
+ usage_msg = usage_msg + " matchDstIPv4Net <destination IPv4 network address>\n"
+ usage_msg = usage_msg + "\n"
usage_msg = usage_msg + " matchIpProto <IP protocol>\n"
+ usage_msg = usage_msg + " matchIpToS <IP ToS (DSCP field, 6 bits)>\n"
usage_msg = usage_msg + " matchSrcTcpUdpPort <source TCP/UDP port>\n"
usage_msg = usage_msg + " matchDstTcpUdpPort <destination TCP/UDP port>\n"
usage_msg = usage_msg + "\n"