[ONOS-6208]Implemention of onos and loxi for OVS NAT and connection tracking support
Change-Id: I782422d41fdacc805b523b57c3bd0b6e67e483a2
diff --git a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/util/FlowEntryBuilder.java b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/util/FlowEntryBuilder.java
index 0666cc5..5c245a8 100644
--- a/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/util/FlowEntryBuilder.java
+++ b/providers/openflow/flow/src/main/java/org/onosproject/provider/of/flow/util/FlowEntryBuilder.java
@@ -979,7 +979,7 @@
match.get(MatchField.EXP_ODU_SIG_ID).getTslen(),
match.get(MatchField.EXP_ODU_SIG_ID).getTsmap());
builder.add(matchOduSignalId(oduSignalId));
- break;
+ break;
case EXP_ODU_SIGTYPE:
try {
U8 oduSigType = match.get(MatchField.EXP_ODU_SIGTYPE);
@@ -1043,6 +1043,39 @@
}
}
break;
+ case CONNTRACK_STATE:
+ if (selectorInterpreter != null &&
+ selectorInterpreter.supported(ExtensionSelectorTypes.NICIRA_MATCH_CONNTRACK_STATE.type())) {
+ try {
+ OFOxm oxm = ((OFMatchV3) match).getOxmList().get(MatchField.CONNTRACK_STATE);
+ builder.extension(selectorInterpreter.mapOxm(oxm), deviceId);
+ } catch (UnsupportedOperationException e) {
+ log.debug(e.getMessage());
+ }
+ }
+ break;
+ case CONNTRACK_ZONE:
+ if (selectorInterpreter != null &&
+ selectorInterpreter.supported(ExtensionSelectorTypes.NICIRA_MATCH_CONNTRACK_ZONE.type())) {
+ try {
+ OFOxm oxm = ((OFMatchV3) match).getOxmList().get(MatchField.CONNTRACK_ZONE);
+ builder.extension(selectorInterpreter.mapOxm(oxm), deviceId);
+ } catch (UnsupportedOperationException e) {
+ log.debug(e.getMessage());
+ }
+ }
+ break;
+ case CONNTRACK_MARK:
+ if (selectorInterpreter != null &&
+ selectorInterpreter.supported(ExtensionSelectorTypes.NICIRA_MATCH_CONNTRACK_MARK.type())) {
+ try {
+ OFOxm oxm = ((OFMatchV3) match).getOxmList().get(MatchField.CONNTRACK_MARK);
+ builder.extension(selectorInterpreter.mapOxm(oxm), deviceId);
+ } catch (UnsupportedOperationException e) {
+ log.debug(e.getMessage());
+ }
+ }
+ break;
case OFDPA_OVID:
if (selectorInterpreter != null &&
selectorInterpreter.supported(ExtensionSelectorTypes.OFDPA_MATCH_OVID.type())) {