Port update with no security groups
[netvirt.git] / aclservice / impl / src / test / java / org / opendaylight / netvirt / aclservice / tests / FlowEntryObjectsStateful.xtend
index 893627b57e18c43bc7ec13545a11edc5c6adfaa8..0971fc8889f2a7b0e19a6809f1393820af2f2cae 100644 (file)
@@ -11,6 +11,7 @@ import org.opendaylight.genius.mdsalutil.MetaDataUtil
 import org.opendaylight.genius.mdsalutil.NwConstants
 import org.opendaylight.genius.mdsalutil.actions.ActionDrop
 import org.opendaylight.genius.mdsalutil.actions.ActionNxConntrack
+import org.opendaylight.genius.mdsalutil.actions.ActionNxCtClear
 import org.opendaylight.genius.mdsalutil.actions.ActionNxResubmit
 import org.opendaylight.genius.mdsalutil.instructions.InstructionApplyActions
 import org.opendaylight.genius.mdsalutil.instructions.InstructionGotoTable
@@ -38,6 +39,8 @@ import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev14
 
 import static extension org.opendaylight.mdsal.binding.testutils.XtendBuilderExtensions.operator_doubleGreaterThan
 import org.opendaylight.netvirt.aclservice.utils.AclConstants
+import org.opendaylight.yangtools.yang.common.Uint64
+import java.math.BigInteger
 import java.util.Collections
 
 import org.opendaylight.genius.mdsalutil.instructions.InstructionWriteMetadata
@@ -45,288 +48,217 @@ import org.opendaylight.genius.mdsalutil.instructions.InstructionWriteMetadata
 
 class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
 
-    protected def etherFlows() {
-        fixedIngressFlowsPort1
-        + fixedConntrackIngressFlowsPort1
-        + fixedEgressL2BroadcastFlowsPort1
-        + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort1
-        + fixedConntrackEgressFlowsPort1
+    protected def etherFlows(String ip1 ,String ip2, String prefix) {
+        egressCommitConntrack1
+        + egressCommitNonConntrack1
+        + egressfixedAclMissDrop1
+        + etheregressFlowPort2
         + etherEgressFlowsPort1
-        + fixedIngressFlowsPort2
-        + fixedConntrackIngressFlowsPort2
-        + etherIngressFlowsPort2
         + etherIngressFlowsPort2
+        + fixedConntrackEgressFlowsPort1(ip1, prefix)
+        + fixedConntrackEgressFlowsPort2(ip2, prefix)
+        + fixedConntrackIngressFlowsPort1(ip1, prefix)
+        + fixedConntrackIngressFlowsPort2(ip2, prefix)
+        + fixedEgressFlowsPort1(ip1, prefix)
+        + fixedEgressFlowsPort2(ip2, prefix)
+        + fixedEgressL2BroadcastFlowsPort1
         + fixedEgressL2BroadcastFlowsPort2
-        + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort2
-        + fixedConntrackEgressFlowsPort2
-        + etheregressFlowPort2
-        + remoteEgressFlowsPort1
-        + remoteEgressFlowsPort2
-        + remoteEgressFlowsPort1
-        + remoteEgressFlowsPort2
-        + ingressCommitNonConntrack1
-        + ingressCommitNonConntrack1
-        + egressCommitNonConntrack1
-        + egressCommitNonConntrack1
-        + ingressCommitConntrack1
+        + fixedIngressFlowsPort1
+        + fixedIngressFlowsPort2
+        + fixedIngressL3BroadcastFlows(prefix)
         + ingressCommitConntrack1
-        + egressCommitConntrack1
-        + egressCommitConntrack1
-        + ingressfixedAclMissDrop1
-        + ingressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
-        + ingressDispatcherFirst
+        + ingressCommitNonConntrack1
         + ingressDispatcherFirst
         + ingressDispatcherLast
-        + ingressDispatcherLast
+        + ingressfixedAclMissDrop1
+        + remoteEgressFlowsPort1(ip1, prefix)
+        + remoteEgressFlowsPort2(ip2, prefix)
     }
 
-    protected def tcpFlows() {
-        fixedIngressFlowsPort1
-        + fixedConntrackIngressFlowsPort1
-        + tcpIngressFlowPort1
-        + fixedEgressL2BroadcastFlowsPort1
-        + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort1
-        + fixedConntrackEgressFlowsPort1
-        + fixedIngressFlowsPort2
-        + fixedConntrackIngressFlowsPort2
-        + tcpIngressFlowPort2
-        + fixedEgressL2BroadcastFlowsPort2
-        + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort2
-        + fixedConntrackEgressFlowsPort2
-        + tcpEgressFlowPort2
-        + tcpEgressFlowPort2
-        + egressDispatcherFirst
+    protected def tcpFlows(String ip1 ,String ip2, String prefix) {
+        egressCommitConntrack1
+        + egressCommitNonConntrack1
         + egressDispatcherFirst
         + egressDispatcherLast
-        + egressDispatcherLast
-        + remoteIngressFlowsPort1
-        + remoteIngressFlowsPort2
-        + remoteIngressFlowsPort1
-        + remoteIngressFlowsPort2
-        + ingressCommitNonConntrack1
-        + ingressCommitNonConntrack1
-        + egressCommitNonConntrack1
-        + egressCommitNonConntrack1
-        + ingressCommitConntrack1
+        + egressfixedAclMissDrop1
+        + fixedConntrackEgressFlowsPort1(ip1, prefix)
+        + fixedConntrackEgressFlowsPort2(ip2, prefix)
+        + fixedConntrackIngressFlowsPort1(ip1, prefix)
+        + fixedConntrackIngressFlowsPort2(ip2, prefix)
+        + fixedEgressFlowsPort1(ip1, prefix)
+        + fixedEgressFlowsPort2(ip2, prefix)
+        + fixedEgressL2BroadcastFlowsPort1
+        + fixedEgressL2BroadcastFlowsPort2
+        + fixedIngressFlowsPort1
+        + fixedIngressFlowsPort2
+        + fixedIngressL3BroadcastFlows(prefix)
         + ingressCommitConntrack1
-        + egressCommitConntrack1
-        + egressCommitConntrack1
-        + ingressfixedAclMissDrop1
+        + ingressCommitNonConntrack1
         + ingressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
-
+        + remoteIngressFlowsPort1(ip1, prefix)
+        + remoteIngressFlowsPort2(ip2, prefix)
+        + tcpEgressFlowPort2
+        + tcpIngressFlowPort1
+        + tcpIngressFlowPort2
     }
 
-    protected def udpFlows() {
-        fixedIngressFlowsPort1
-        + fixedConntrackIngressFlowsPort1
+    protected def udpFlows(String ip1 ,String ip2, String prefix) {
+        egressCommitConntrack1
+        + egressCommitNonConntrack1
+        + egressfixedAclMissDrop1
+        + fixedConntrackEgressFlowsPort1(ip1, prefix)
+        + fixedConntrackEgressFlowsPort2(ip2, prefix)
+        + fixedConntrackIngressFlowsPort1(ip1, prefix)
+        + fixedConntrackIngressFlowsPort2(ip2, prefix)
+        + fixedEgressFlowsPort1(ip1, prefix)
+        + fixedEgressFlowsPort2(ip2, prefix)
         + fixedEgressL2BroadcastFlowsPort1
-        + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort1
-        + fixedConntrackEgressFlowsPort1
-        + udpEgressFlowsPort1
-        + fixedIngressFlowsPort2
-        + fixedConntrackIngressFlowsPort2
-        + udpIngressFlowsPort2
-        + udpIngressFlowsPort2
         + fixedEgressL2BroadcastFlowsPort2
-        + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort2
-        + fixedConntrackEgressFlowsPort2
-        + udpEgressFlowsPort2
-        + ingressDispatcherFirst
+        + fixedIngressFlowsPort1
+        + fixedIngressFlowsPort2
+        + fixedIngressL3BroadcastFlows(prefix)
+        + ingressCommitConntrack1
+        + ingressCommitNonConntrack1
         + ingressDispatcherFirst
         + ingressDispatcherLast
-        + ingressDispatcherLast
-        + remoteEgressFlowsPort1
-        + remoteEgressFlowsPort2
-        + remoteEgressFlowsPort1
-        + remoteEgressFlowsPort2
-        + ingressCommitNonConntrack1
-        + ingressCommitNonConntrack1
-        + egressCommitNonConntrack1
-        + egressCommitNonConntrack1
-        + ingressCommitConntrack1
-        + ingressCommitConntrack1
-        + egressCommitConntrack1
-        + egressCommitConntrack1
         + ingressfixedAclMissDrop1
-        + ingressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
+        + remoteEgressFlowsPort1(ip1, prefix)
+        + remoteEgressFlowsPort2(ip2, prefix)
+        + udpEgressFlowsPort1
+        + udpEgressFlowsPort2
+        + udpIngressFlowsPort2
     }
 
-    protected def icmpFlows() {
-        fixedIngressFlowsPort1
-        + fixedConntrackIngressFlowsPort1
-        + icmpIngressFlowsPort1
+    protected def icmpFlows(String ip1 ,String ip2, String prefix) {
+        egressCommitConntrack1
+        + egressCommitNonConntrack1
+        + egressDispatcherFirst
+        + egressDispatcherLast
+        + egressfixedAclMissDrop1
+        + fixedConntrackEgressFlowsPort1(ip1, prefix)
+        + fixedConntrackEgressFlowsPort2(ip2, prefix)
+        + fixedConntrackIngressFlowsPort1(ip1, prefix)
+        + fixedConntrackIngressFlowsPort2(ip2, prefix)
+        + fixedEgressFlowsPort1(ip1, prefix)
+        + fixedEgressFlowsPort2(ip2, prefix)
         + fixedEgressL2BroadcastFlowsPort1
-        + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort1
-        + fixedConntrackEgressFlowsPort1
-        + fixedIngressFlowsPort2
-        + fixedConntrackIngressFlowsPort2
-        + icmpIngressFlowsPort2
         + fixedEgressL2BroadcastFlowsPort2
-        + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort2
-        + fixedConntrackEgressFlowsPort2
-        + icmpEgressFlowsPort2
+        + fixedIngressFlowsPort1
+        + fixedIngressFlowsPort2
+        + fixedIngressL3BroadcastFlows(prefix)
         + icmpEgressFlowsPort2
-        + egressDispatcherFirst
-        + egressDispatcherFirst
-        + egressDispatcherLast
-        + egressDispatcherLast
-        + remoteIngressFlowsPort1
-        + remoteIngressFlowsPort2
-        + remoteIngressFlowsPort1
-        + remoteIngressFlowsPort2
-        + ingressCommitNonConntrack1
-        + ingressCommitNonConntrack1
-        + egressCommitNonConntrack1
-        + egressCommitNonConntrack1
-        + ingressCommitConntrack1
+        + icmpIngressFlowsPort1
+        + icmpIngressFlowsPort2
         + ingressCommitConntrack1
-        + egressCommitConntrack1
-        + egressCommitConntrack1
-        + ingressfixedAclMissDrop1
+        + ingressCommitNonConntrack1
         + ingressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
+        + remoteIngressFlowsPort1(ip1, prefix)
+        + remoteIngressFlowsPort2(ip2, prefix)
     }
 
-    protected def dstRangeFlows() {
-        fixedIngressFlowsPort1
-        +fixedConntrackIngressFlowsPort1
-        + udpIngressPortRangeFlows
-        + fixedEgressL2BroadcastFlowsPort1
-        + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort1
-        + fixedConntrackEgressFlowsPort1
-        + tcpEgressRangeFlows
-        + ingressCommitNonConntrack1
+    protected def dstRangeFlows(String ip1, String prefix) {
+        egressCommitConntrack1
         + egressCommitNonConntrack1
+        + egressfixedAclMissDrop1
+        + fixedConntrackEgressFlowsPort1(ip1, prefix)
+        + fixedConntrackIngressFlowsPort1(ip1, prefix)
+        + fixedEgressFlowsPort1(ip1, prefix)
+        + fixedEgressL2BroadcastFlowsPort1
+        + fixedIngressFlowsPort1
+        + fixedIngressL3BroadcastFlows(prefix)
         + ingressCommitConntrack1
-        + egressCommitConntrack1
+        + ingressCommitNonConntrack1
         + ingressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
-
+        + tcpEgressRangeFlows
+        + udpIngressPortRangeFlows
     }
 
-    protected def dstAllFlows() {
-        fixedIngressFlowsPort1
-        + fixedConntrackIngressFlowsPort1
-        + udpIngressAllFlows
-        + fixedEgressL2BroadcastFlowsPort1
-        + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort1
-        + fixedConntrackEgressFlowsPort1
-        + tcpEgressAllFlows
-        + ingressCommitNonConntrack1
+    protected def dstAllFlows(String ip1, String prefix) {
+        egressCommitConntrack1
         + egressCommitNonConntrack1
+        + egressfixedAclMissDrop1
+        + fixedConntrackEgressFlowsPort1(ip1, prefix)
+        + fixedConntrackIngressFlowsPort1(ip1, prefix)
+        + fixedEgressFlowsPort1(ip1, prefix)
+        + fixedEgressL2BroadcastFlowsPort1
+        + fixedIngressFlowsPort1
+        + fixedIngressL3BroadcastFlows(prefix)
         + ingressCommitConntrack1
-        + egressCommitConntrack1
+        + ingressCommitNonConntrack1
         + ingressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
+        + tcpEgressAllFlows
+        + udpIngressAllFlows
     }
 
-    protected def icmpFlowsForTwoAclsHavingSameRules() {
-        fixedIngressFlowsPort3
-        + fixedConntrackIngressFlowsPort3
-        + icmpIngressFlowsPort3
-        + fixedEgressFlowsPort3
-        + fixedConntrackEgressFlowsPort3
+    protected def icmpFlowsForTwoAclsHavingSameRules(String ip3, String prefix) {
+        egressCommitConntrack1
+        + egressCommitNonConntrack1
+        + egressfixedAclMissDrop1
+        + fixedConntrackEgressFlowsPort3(ip3, prefix)
+        + fixedConntrackIngressFlowsPort3(ip3, prefix)
+        + fixedEgressFlowsPort3(ip3, prefix)
+        + fixedEgressL2BroadcastFlowsPort3
+        + fixedIngressFlowsPort3
+        + fixedIngressL3BroadcastFlows(prefix)
         + icmpEgressFlowsPort3
+        + icmpIngressFlowsPort3
         + ingressCommitConntrack1
-        + egressCommitConntrack1
         + ingressCommitNonConntrack1
-        + egressCommitNonConntrack1
         + ingressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
-        + fixedIngressL3BroadcastFlows
-        + fixedEgressL2BroadcastFlowsPort3
     }
 
-    protected def aapWithIpv4AllFlows() {
-        icmpFlows()
+    protected def aapWithIpv4AllFlows(String ip1 ,String ip2, String prefix) {
+        icmpFlows(ip1, ip2, prefix)
         + aapIpv4AllFlowsPort2
     }
 
-    protected def aapFlows() {
-        icmpFlows()
-        + aapRemoteFlowsPort1
-        + aapRemoteFlowsPort1
-        + aapFlowsPort2
+    protected def aapFlows(String ip1 ,String ip2, String ip100, String ip101, String prefix) {
+        icmpFlows(ip1, ip2, prefix)
+        + aapRemoteFlowsPort1(ip100, ip101, prefix)
+        + aapFlowsPort2(ip100, ip101, prefix)
     }
 
-    protected def multipleAcl() {
-        fixedIngressFlowsPort1
-        + fixedConntrackIngressFlowsPort1
-        + fixedEgressL2BroadcastFlowsPort1
-        + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort1
-        + fixedConntrackEgressFlowsPort1
+    protected def multipleAcl(String ip1 ,String ip2, String prefix) {
+        egressCommitConntrack1
+        + egressCommitNonConntrack1
+        + egressDispatcherFirst1
+        + egressDispatcherLast1
+        + egressfixedAclMissDrop1
+        + etheregressFlowPort2
         + etherEgressFlowsPort1
-        + fixedIngressFlowsPort2
-        + fixedConntrackIngressFlowsPort2
-        + etherIngressFlowsPort2
         + etherIngressFlowsPort2
+        + fixedConntrackEgressFlowsPort1(ip1, prefix)
+        + fixedConntrackEgressFlowsPort2(ip2, prefix)
+        + fixedConntrackIngressFlowsPort1(ip1, prefix)
+        + fixedConntrackIngressFlowsPort2(ip2, prefix)
+        + fixedEgressFlowsPort1(ip1, prefix)
+        + fixedEgressFlowsPort2(ip2, prefix)
+        + fixedEgressL2BroadcastFlowsPort1
         + fixedEgressL2BroadcastFlowsPort2
-        + fixedIngressL3BroadcastFlows
-        + fixedEgressFlowsPort2
-        + fixedConntrackEgressFlowsPort2
-        + etheregressFlowPort2
-        + remoteEgressFlowsPort1
-        + remoteEgressFlowsPort2
-        + remoteEgressFlowsPort1
-        + remoteEgressFlowsPort2
-        + tcpEgressFlowPort2WithRemoteIpSg
-        + tcpEgressFlowPort2WithRemoteIpSg
-        + tcpIngressFlowPort1WithMultipleSG
-        + tcpIngressFlowPort1WithMultipleSG
-        + ingressCommitNonConntrack1
-        + ingressCommitNonConntrack1
-        + egressCommitNonConntrack1
-        + egressCommitNonConntrack1
-        + ingressCommitConntrack1
+        + fixedIngressFlowsPort1
+        + fixedIngressFlowsPort2
+        + fixedIngressL3BroadcastFlows(prefix)
         + ingressCommitConntrack1
-        + egressCommitConntrack1
-        + egressCommitConntrack1
-        + ingressfixedAclMissDrop1
-        + ingressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
-        + egressfixedAclMissDrop1
-        + remoteEgressFlowsPort3
-        + egressDispatcherLast1
-        + egressDispatcherFirst1
-        + ingressDispatcherLast
-        + ingressDispatcherFirst
-        + egressDispatcherLast1
-        + egressDispatcherFirst1
-        + ingressDispatcherLast
-        + ingressDispatcherFirst
-        + ingressDispatcherFirst
+        + ingressCommitNonConntrack1
         + ingressDispatcherFirst
         + ingressDispatcherLast
-        + ingressDispatcherLast
-
+        + ingressfixedAclMissDrop1
+        + remoteEgressFlowsPort1(ip1, prefix)
+        + remoteEgressFlowsPort2(ip2, prefix)
+        + remoteEgressFlowsPort3(ip2, prefix)
+        + tcpEgressFlowPort2WithRemoteIpSg
+        + tcpIngressFlowPort1WithMultipleSG
+        + remoteEgressFlowsPort3(ip1, prefix)
     }
 
     protected def tcpEgressFlowPort2WithRemoteIpSg() {
         val theFlowId1 ="TCP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426a21"
         #[
              new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = theFlowId1
-                flowName = "ACL"
+                flowName = theFlowId1
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.INGRESS_REMOTE_ACL_TABLE)
                 ]
@@ -335,7 +267,7 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2048L),
                     new NxMatchTcpDestinationPort(80, 65535),
                     new MatchIpProtocol(6 as short),
-                    new MatchMetadata(1085217976614976bi, 1152920405111996400bi)
+                    new MatchMetadata(Uint64.valueOf(1085217976614976bi), Uint64.valueOf(1152920405111996400bi))
                 ]
                 priority = IdHelper.getId(theFlowId1)
                 tableId = NwConstants.INGRESS_ACL_RULE_BASED_FILTER_TABLE
@@ -347,10 +279,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val theFlowId = "TCP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426a22"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = theFlowId
-                flowName = "ACL"
+                flowName = theFlowId
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -370,15 +302,15 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
     protected def aapIpv4AllFlowsPort2() {
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_0.0.0.0/0"
-                flowName = "ACL"
+                flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_0.0.0.0/0"
                 instructionInfoList = #[
                     new InstructionGotoTable(211 as short)
                 ]
                 matchInfoList = #[
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
                     new MatchEthernetType(2048L)
                 ]
@@ -386,10 +318,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                 tableId = 210 as short
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_0.0.0.0/0"
-                flowName = "ACL"
+                flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_0.0.0.0/0"
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
                 ]
@@ -402,10 +334,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                 tableId = 240 as short
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:F40.0.0.0/0"
-                flowName = "ACL"
+                flowName = "Egress_ARP_123_987_0D:AA:D8:42:30:F40.0.0.0/0"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxResubmit(17 as short)
@@ -415,16 +347,16 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2054L),
                     new MatchArpSha(new MacAddress("0D:AA:D8:42:30:F4")),
                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = 63010
                 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:F4_Permit_"
-                flowName = "ACL"
+                flowName = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:F4_Permit_"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                     new ActionNxResubmit(17 as short)
@@ -435,46 +367,46 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchIpProtocol(17 as short),
                     new MatchUdpDestinationPort(67 as short),
                     new MatchUdpSourcePort(68 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4"))
                 ]
                 priority = 63010
-                tableId = NwConstants.INGRESS_ACL_TABLE
+                tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
             ]
         ]
     }
 
-    protected def aapRemoteFlowsPort1() {
+    protected def aapRemoteFlowsPort1(String ip100, String ip101, String prefix) {
         #[
-            remoteIngressFlowsPort("10.0.0.100"),
-            remoteIngressFlowsPort("10.0.0.101")
+            remoteIngressFlowsPort(ip100, prefix),
+            remoteIngressFlowsPort(ip101, prefix)
         ]
     }
 
-    protected def aapFlowsPort2() {
+   protected def aapFlowsPort2(String ip100, String ip101, String prefix) {
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
-                flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_10.0.0.100/32"
-                flowName = "ACL"
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
+                flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip100 + "/" + prefix
+                flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip100 + "/" + prefix
                 instructionInfoList = #[
                    new InstructionGotoTable(211 as short)
                 ]
                 matchInfoList = #[
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
                     new MatchEthernetType(2048L),
-                    new MatchIpv4Source("10.0.0.100", "32")
+                    new MatchIpv4Source(ip100, prefix)
                 ]
                 priority = 61010
                 tableId = 210 as short
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
-                flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_10.0.0.100/32"
-                flowName = "ACL"
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
+                flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip100 + "/" + prefix
+                flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip100 + "/" + prefix
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
                 ]
@@ -482,33 +414,33 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
                     new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F4")),
                     new MatchEthernetType(2048L),
-                    new MatchIpv4Destination("10.0.0.100", "32")
+                    new MatchIpv4Destination(ip100, prefix)
                 ]
                 priority = 61010
                 tableId = 240 as short
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
-                flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_10.0.0.101/32"
-                flowName = "ACL"
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
+                flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_" + ip101 + "/" + prefix
+                flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_" + ip101 + "/" + prefix
                 instructionInfoList = #[
                     new InstructionGotoTable(211 as short)
                 ]
                 matchInfoList = #[
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4")),
                     new MatchEthernetType(2048L),
-                    new MatchIpv4Source("10.0.0.101", "32")
+                    new MatchIpv4Source(ip101, prefix)
                 ]
                 priority = 61010
                 tableId = 210 as short
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
-                flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_10.0.0.101/32"
-                flowName = "ACL"
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
+                flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_" + ip101 + "/" + prefix
+                flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_" + ip101 + "/" + prefix
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
                 ]
@@ -516,16 +448,16 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
                     new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:A4")),
                     new MatchEthernetType(2048L),
-                    new MatchIpv4Destination("10.0.0.101", "32")
+                    new MatchIpv4Destination(ip101, prefix)
                 ]
                 priority = 61010
                 tableId = 240 as short
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
-                flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:F410.0.0.100/32"
-                flowName = "ACL"
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
+                flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:F4" + ip100 + "/" + prefix
+                flowName = "Egress_ARP_123_987_0D:AA:D8:42:30:F4" + ip100 + "/" + prefix
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxResubmit(17 as short)
@@ -535,17 +467,17 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2054L),
                     new MatchArpSha(new MacAddress("0D:AA:D8:42:30:F4")),
                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
-                    new MatchArpSpa(new Ipv4Prefix("10.0.0.100/32")),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchArpSpa(new Ipv4Prefix(ip100 + "/" + prefix)),
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = 63010
                 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
-                flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:A410.0.0.101/32"
-                flowName = "ACL"
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
+                flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:A4" + ip101 + "/" + prefix
+                flowName = "Egress_ARP_123_987_0D:AA:D8:42:30:A4" + ip101 + "/" + prefix
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxResubmit(17 as short)
@@ -555,17 +487,17 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2054L),
                     new MatchArpSha(new MacAddress("0D:AA:D8:42:30:A4")),
                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4")),
-                    new MatchArpSpa(new Ipv4Prefix("10.0.0.101/32")),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchArpSpa(new Ipv4Prefix(ip101 + "/" + prefix)),
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = 63010
                 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:A4_Permit_"
-                flowName = "ACL"
+                flowName = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:A4_Permit_"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxResubmit(17 as short)
@@ -576,17 +508,17 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchIpProtocol(17 as short),
                     new MatchUdpDestinationPort(67 as short),
                     new MatchUdpSourcePort(68 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4"))
                 ]
                 priority = 63010
-                tableId = NwConstants.INGRESS_ACL_TABLE
+                tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:F4_Permit_"
-                flowName = "ACL"
+                flowName = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:F4_Permit_"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxResubmit(17 as short)
@@ -597,17 +529,17 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchIpProtocol(17 as short),
                     new MatchUdpDestinationPort(67 as short),
                     new MatchUdpSourcePort(68 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4"))
                 ]
                 priority = 63010
-                tableId = NwConstants.INGRESS_ACL_TABLE
+                tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Egress_L2Broadcast_123_987_0D:AA:D8:42:30:A4"
-                flowName = "ACL"
+                flowName = "Egress_L2Broadcast_123_987_0D:AA:D8:42:30:A4"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxResubmit(17 as short)
@@ -615,38 +547,38 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                 ]
                 matchInfoList = #[
                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4")),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = 61005
-                tableId = NwConstants.INGRESS_ACL_TABLE
+                tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
             ]
         ]
     }
 
-    protected def fixedConntrackIngressFlowsPort1() {
+    protected def fixedConntrackIngressFlowsPort1(String ip1, String prefix) {
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
-                flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_10.0.0.1/32"
-            flowName = "ACL"
-            instructionInfoList = #[
-                new InstructionGotoTable(NwConstants.EGRESS_ACL_REMOTE_ACL_TABLE)
-            ]
-            matchInfoList = #[
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
+                flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
+                flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
+                instructionInfoList = #[
+                    new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
+                ]
+                matchInfoList = #[
                 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
                 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F3")),
                 new MatchEthernetType(2048L),
-                new MatchIpv4Destination("10.0.0.1", "32")
+                new MatchIpv4Destination(ip1, prefix)
                 ]
                 priority = 61010
-                tableId = NwConstants.EGRESS_ACL_TABLE
+                tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
-                flowName = "ACL"
+                flowName = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxConntrack(2, 0, 0, 5000, 243 as short)
@@ -657,13 +589,13 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
                 ]
                 priority = 100
-                tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
+                tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100481bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
                 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
-                flowName = "ACL"
+                flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionDrop()
@@ -683,10 +615,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val theFlowId = "ETHERnullIngress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = theFlowId
-                flowName = "ACL"
+                flowName = theFlowId
                 instructionInfoList = #[
                      new InstructionGotoTable(NwConstants.EGRESS_REMOTE_ACL_TABLE)
                 ]
@@ -694,7 +626,7 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2048L),
                     new MatchEthernetType(2048L),
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
-                    new MatchMetadata(32bi, 16777200bi)
+                    new MatchMetadata(Uint64.valueOf(32bi), Uint64.valueOf(16777200bi))
                 ]
                 priority = IdHelper.getId(theFlowId)
                 tableId = NwConstants.EGRESS_ACL_RULE_BASED_FILTER_TABLE
@@ -702,54 +634,54 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         ]
     }
 
-    protected def fixedConntrackEgressFlowsPort1() {
+    protected def fixedConntrackEgressFlowsPort1(String ip1, String prefix) {
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
-                flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_10.0.0.1/32"
-                flowName = "ACL"
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
+                flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
+                flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
                 instructionInfoList = #[
                     new InstructionGotoTable(211 as short)
                 ]
                 matchInfoList = #[
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F3")),
                     new MatchEthernetType(2048L),
-                    new MatchIpv4Source("10.0.0.1", "32")
+                    new MatchIpv4Source(ip1, prefix)
                 ]
                 priority = 61010
-                tableId = NwConstants.INGRESS_ACL_TABLE
+                tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
-                flowName = "ACL"
+                flowName = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
-                       new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_FILTER_TABLE)
+                       new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
                     ])
                 ]
                 matchInfoList = #[
                     new MatchEthernetType(2048L),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = 100
                 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100481bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
                 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
-                flowName = "ACL"
+                flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionDrop()
                     ])
                 ]
                 matchInfoList = #[
-                   new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
+                   new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
                    new NxMatchCtState(48L, 48L)
                 ]
                 priority = 62020
@@ -758,13 +690,13 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         ]
     }
 
-    protected def fixedConntrackIngressFlowsPort2() {
+    protected def fixedConntrackIngressFlowsPort2(String ip2, String prefix) {
         #[
              new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
-                flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_10.0.0.2/32"
-                flowName = "ACL"
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
+                flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip2 + "/" + prefix
+                flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip2 + "/" + prefix
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
                 ]
@@ -772,19 +704,19 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
                     new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F4")),
                     new MatchEthernetType(2048L),
-                    new MatchIpv4Destination("10.0.0.2", "32")
+                    new MatchIpv4Destination(ip2, prefix)
                 ]
                 priority = 61010
-                tableId = NwConstants.EGRESS_ACL_TABLE
+                tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
-                flowName = "ACL"
+                flowName = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
-                        new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_LEARN_ACL_REMOTE_ACL_TABLE)
+                        new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
                     ])
                 ]
                 matchInfoList = #[
@@ -792,13 +724,13 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
                 ]
                 priority = 100
-                tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
+                tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100481bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
                 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
-                flowName = "ACL"
+                flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionDrop()
@@ -814,30 +746,30 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         ]
     }
 
-    protected def fixedConntrackEgressFlowsPort2({
+    protected def fixedConntrackEgressFlowsPort2(String ip2, String prefix){
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
-                flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_10.0.0.2/32"
-                flowName = "ACL"
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
+                flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip2 + "/" + prefix
+                flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip2 + "/" + prefix
                 instructionInfoList = #[
-                    new InstructionGotoTable(NwConstants.INGRESS_ACL_REMOTE_ACL_TABLE)
+                    new InstructionGotoTable(NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
                 ]
                 matchInfoList = #[
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
                     new MatchEthernetType(2048L),
-                    new MatchIpv4Source("10.0.0.2", "32")
+                    new MatchIpv4Source(ip2, prefix)
                 ]
                 priority = 61010
-                tableId = NwConstants.INGRESS_ACL_TABLE
+                tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
-                flowName = "ACL"
+                flowName = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxConntrack(2, 0, 0, 5000, 213 as short)
@@ -845,23 +777,23 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                 ]
                 matchInfoList = #[
                     new MatchEthernetType(2048L),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = 100
                 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100481bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
                 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
-                flowName = "ACL"
+                flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionDrop()
                     ])
                 ]
                 matchInfoList = #[
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
                     new NxMatchCtState(48L, 48L)
                 ]
                 priority = 62020
@@ -870,33 +802,33 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         ]
     }
 
-    protected def fixedConntrackIngressFlowsPort3() {
+    protected def fixedConntrackIngressFlowsPort3(String ip3, String prefix) {
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
-                flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_10.0.0.3/32"
-                flowName = "ACL"
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
+                flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_" + ip3 + "/" + prefix
+                flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_" + ip3 + "/" + prefix
                 instructionInfoList = #[
-                    new InstructionGotoTable(NwConstants.EGRESS_ACL_REMOTE_ACL_TABLE)
+                    new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
                 ]
                 matchInfoList = #[
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
                     new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F5")),
                     new MatchEthernetType(2048L),
-                    new MatchIpv4Destination("10.0.0.3", "32")
+                    new MatchIpv4Destination(ip3, prefix)
                 ]
                 priority = 61010
-                tableId = NwConstants.EGRESS_ACL_TABLE
+                tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
-                flowName = "ACL"
+                flowName = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
-                        new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_FILTER_TABLE)
+                        new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
                     ])
                 ]
                 matchInfoList = #[
@@ -904,13 +836,13 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
                 ]
                 priority = 100
-                tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
+                tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100481bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
                 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
-                flowName = "ACL"
+                flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionDrop()
@@ -926,54 +858,54 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         ]
     }
 
-    protected def fixedConntrackEgressFlowsPort3() {
+    protected def fixedConntrackEgressFlowsPort3(String ip3, String prefix) {
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
-                flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_10.0.0.3/32"
-                flowName = "ACL"
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
+                flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_" + ip3 + "/" + prefix
+                flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_" + ip3 + "/" + prefix
                 instructionInfoList = #[
-                    new InstructionGotoTable(NwConstants.INGRESS_ACL_REMOTE_ACL_TABLE)
+                    new InstructionGotoTable(NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
                 ]
                 matchInfoList = #[
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F5")),
                     new MatchEthernetType(2048L),
-                    new MatchIpv4Source("10.0.0.3", "32")
+                    new MatchIpv4Source(ip3, prefix)
                 ]
                 priority = 61010
-                tableId = NwConstants.INGRESS_ACL_TABLE
+                tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
-                flowName = "ACL"
+                flowName = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
-                        new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_FILTER_TABLE)
+                        new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
                     ])
                 ]
                 matchInfoList = #[
                     new MatchEthernetType(2048L),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = 100
-                tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
+                tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100481bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
                 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
-                flowName = "ACL"
+                flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionDrop()
                     ])
                 ]
                 matchInfoList = #[
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
                     new NxMatchCtState(48L, 48L)
                 ]
                 priority = 62020
@@ -982,35 +914,35 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         ]
     }
 
-    static def fixedConntrackIngressFlowsPort4() {
+    static def fixedConntrackIngressFlowsPort4(String ip4, String prefix) {
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
-                flowId = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_10.0.0.4/32_Recirc"
-                flowName = "ACL"
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
+                flowId = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_" + ip4 + "/" + prefix + "_Recirc"
+                flowName = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_" + ip4 + "/" + prefix + "_Recirc"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
-                        new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_REMOTE_ACL_TABLE)
+                        new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
                     ])
                 ]
                 matchInfoList = #[
                     new MatchEthernetType(2048L),
                     new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F6")),
                     new MatchEthernetType(2048L),
-                    new MatchIpv4Destination("10.0.0.4", "32")
+                    new MatchIpv4Destination(ip4, prefix)
                 ]
                 priority = 61010
-                tableId = NwConstants.EGRESS_ACL_TABLE
+                tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_0.0.0.0/0_Recirc"
-                flowName = "ACL"
+                flowName = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_0.0.0.0/0_Recirc"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
-                        new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_REMOTE_ACL_TABLE)
+                        new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
                     ])
                 ]
                 matchInfoList = #[
@@ -1019,30 +951,30 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2048L)
                 ]
                 priority = 61010
-                tableId = NwConstants.EGRESS_ACL_TABLE
+                tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100481bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
                 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_New"
-                flowName = "ACL"
+                flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_New"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionDrop()
                     ])
                 ]
                 matchInfoList = #[
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
                     new NxMatchCtState(32L, 32L)
                 ]
                 priority = 50
-                tableId = NwConstants.INGRESS_ACL_FILTER_TABLE
+                tableId = NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100481bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
                 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
-                flowName = "ACL"
+                flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionDrop()
@@ -1058,34 +990,34 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         ]
     }
 
-    static def fixedConntrackEgressFlowsPort4() {
+    static def fixedConntrackEgressFlowsPort4(String ip4, String prefix) {
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
-                flowId = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_10.0.0.4/32_Recirc"
-                flowName = "ACL"
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
+                flowId = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_" + ip4 + "/" + prefix + "_Recirc"
+                flowName = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_" + ip4 + "/" + prefix + "_Recirc"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
-                        new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_REMOTE_ACL_TABLE)
+                        new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
                     ])
                 ]
                 matchInfoList = #[
                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F6")),
                     new MatchEthernetType(2048L),
-                    new MatchIpv4Source("10.0.0.4", "32")
+                    new MatchIpv4Source(ip4, prefix)
                 ]
                 priority = 61010
-                tableId = NwConstants.INGRESS_ACL_TABLE
+                tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_0.0.0.0/0_Recirc"
-                flowName = "ACL"
+                flowName = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_0.0.0.0/0_Recirc"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
-                        new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_REMOTE_ACL_TABLE)
+                        new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
                     ])
                 ]
                 matchInfoList = #[
@@ -1093,13 +1025,13 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2048L)
                 ]
                 priority = 61010
-                tableId = NwConstants.INGRESS_ACL_TABLE
+                tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100481bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
                 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_New"
-                flowName = "ACL"
+                flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_New"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionDrop()
@@ -1110,20 +1042,20 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new NxMatchCtState(32L, 32L)
                 ]
                 priority = 50
-                tableId = NwConstants.EGRESS_ACL_FILTER_TABLE
+                tableId = NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100481bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
                 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
-                flowName = "ACL"
+                flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionDrop()
                     ])
                 ]
                 matchInfoList = #[
-                   new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
+                   new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
                     new NxMatchCtState(48L, 48L)
                 ]
                 priority = 62020
@@ -1136,17 +1068,17 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val theFlowId = "ETHERnullEgress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = theFlowId
-                flowName = "ACL"
+                flowName = theFlowId
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
                 ]
                 matchInfoList = #[
                     new MatchEthernetType(2048L),
                     new MatchEthernetType(2048L),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = IdHelper.getId(theFlowId)
                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
@@ -1158,17 +1090,17 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val theFlowId = "ETHERnullEgress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = theFlowId
-                flowName = "ACL"
+                flowName = theFlowId
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
                 ]
                 matchInfoList = #[
                     new MatchEthernetType(2048L),
                     new MatchEthernetType(2048L),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = IdHelper.getId(theFlowId)
                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
@@ -1180,10 +1112,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val theFlowId = "TCP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = theFlowId
-                flowName = "ACL"
+                flowName = theFlowId
                 instructionInfoList = #[
                    new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -1204,10 +1136,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val theFlowId = "TCP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = theFlowId
-                flowName = "ACL"
+                flowName = theFlowId
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -1228,10 +1160,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val theFlowId = "TCP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = theFlowId
-                flowName = "ACL"
+                flowName = theFlowId
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.INGRESS_REMOTE_ACL_TABLE)
                 ]
@@ -1240,7 +1172,7 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2048L),
                     new NxMatchTcpDestinationPort(80, 65535),
                     new MatchIpProtocol(6 as short),
-                    new MatchMetadata(1085217976614944bi, 1152920405111996400bi)
+                    new MatchMetadata(Uint64.valueOf(1085217976614944bi), Uint64.valueOf(1152920405111996400bi))
                 ]
                 priority = IdHelper.getId(theFlowId)
                 tableId = NwConstants.INGRESS_ACL_RULE_BASED_FILTER_TABLE
@@ -1252,10 +1184,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val theFlowId = "UDP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
         #[
              new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = theFlowId
-                flowName = "ACL"
+                flowName = theFlowId
                 instructionInfoList = #[
                      new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -1264,7 +1196,7 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2048L),
                     new NxMatchUdpDestinationPort(80, 65535),
                     new MatchIpProtocol(17 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = IdHelper.getId(theFlowId)
                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
@@ -1276,10 +1208,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val theFlowId = "UDP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = theFlowId
-                flowName = "ACL"
+                flowName = theFlowId
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.EGRESS_REMOTE_ACL_TABLE)
                 ]
@@ -1289,7 +1221,7 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new NxMatchUdpDestinationPort(80, 65535),
                     new MatchIpProtocol(17 as short),
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
-                    new MatchMetadata(32bi, 16777200bi)
+                    new MatchMetadata(Uint64.valueOf(32bi), Uint64.valueOf(16777200bi))
                 ]
                 priority = IdHelper.getId(theFlowId)
                 tableId = NwConstants.EGRESS_ACL_RULE_BASED_FILTER_TABLE
@@ -1301,10 +1233,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val theFlowId = "UDP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = theFlowId
-                flowName = "ACL"
+                flowName = theFlowId
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -1313,7 +1245,7 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2048L),
                     new NxMatchUdpDestinationPort(80, 65535),
                     new MatchIpProtocol(17 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = IdHelper.getId(theFlowId)
                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
@@ -1325,10 +1257,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val theFlowId = "ICMP_V4_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = theFlowId
-                flowName = "ACL"
+                flowName = theFlowId
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -1349,10 +1281,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val theFlowId = "ICMP_V4_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = theFlowId
-                flowName = "ACL"
+                flowName = theFlowId
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -1373,10 +1305,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val theFlowId = "ICMP_V4_DESTINATION_23_Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = theFlowId
-                flowName = "ACL"
+                flowName = theFlowId
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.INGRESS_REMOTE_ACL_TABLE)
                 ]
@@ -1385,7 +1317,7 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2048L),
                     new MatchIcmpv4(2 as short, 3 as short),
                     new MatchIpProtocol(1 as short),
-                    new MatchMetadata(1085217976614944bi, 1152920405111996400bi)
+                    new MatchMetadata(Uint64.valueOf(1085217976614944bi), Uint64.valueOf(1152920405111996400bi))
                 ]
                 priority = IdHelper.getId(theFlowId)
                 tableId = NwConstants.INGRESS_ACL_RULE_BASED_FILTER_TABLE
@@ -1397,10 +1329,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val theFlowId = "UDP_DESTINATION_2000_65532Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = theFlowId
-                flowName = "ACL"
+                flowName = theFlowId
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -1412,7 +1344,7 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
                 ]
                 priority = IdHelper.getId(theFlowId)
-                tableId = NwConstants.EGRESS_LEARN_ACL_FILTER_TABLE
+                tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
             ]
         ]
     }
@@ -1428,10 +1360,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val flowId8 = "TCP_DESTINATION_768_65528Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = flowId1
-                flowName = "ACL"
+                flowName = flowId1
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -1440,16 +1372,16 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2048L),
                     new NxMatchTcpDestinationPort(776, 65534),
                     new MatchIpProtocol(6 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = IdHelper.getId(flowId1)
                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = flowId2
-                flowName = "ACL"
+                flowName = flowId2
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -1458,16 +1390,16 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2048L),
                     new NxMatchTcpDestinationPort(512, 65280),
                     new MatchIpProtocol(6 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = IdHelper.getId(flowId2)
                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = flowId3
-                flowName = "ACL"
+                flowName = flowId3
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -1476,16 +1408,16 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2048L),
                     new NxMatchTcpDestinationPort(334, 65534),
                     new MatchIpProtocol(6 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = IdHelper.getId(flowId3)
                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = flowId4
-                flowName = "ACL"
+                flowName = flowId4
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -1494,16 +1426,16 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2048L),
                     new NxMatchTcpDestinationPort(333, 65535),
                     new MatchIpProtocol(6 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = IdHelper.getId(flowId4)
                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = flowId5
-                flowName = "ACL"
+                flowName = flowId5
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -1512,16 +1444,16 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2048L),
                     new NxMatchTcpDestinationPort(336, 65520),
                     new MatchIpProtocol(6 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = IdHelper.getId(flowId5)
                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = flowId6
-                flowName = "ACL"
+                flowName = flowId6
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -1530,16 +1462,16 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2048L),
                     new NxMatchTcpDestinationPort(352, 65504),
                     new MatchIpProtocol(6 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = IdHelper.getId(flowId6)
                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = flowId7
-                flowName = "ACL"
+                flowName = flowId7
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -1548,16 +1480,16 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2048L),
                     new NxMatchTcpDestinationPort(384, 65408),
                     new MatchIpProtocol(6 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = IdHelper.getId(flowId7)
                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = flowId8
-                flowName = "ACL"
+                flowName = flowId8
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -1566,7 +1498,7 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2048L),
                     new NxMatchTcpDestinationPort(768, 65528),
                     new MatchIpProtocol(6 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = IdHelper.getId(flowId8)
                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
@@ -1578,10 +1510,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val theFlowId = "UDP_DESTINATION_1_0Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = theFlowId
-                flowName = "ACL"
+                flowName = theFlowId
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -1601,10 +1533,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val theFlowId = "TCP_DESTINATION_1_0Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
          #[
              new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = theFlowId
-                flowName = "ACL"
+                flowName = theFlowId
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -1612,7 +1544,7 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2048L),
                     new MatchEthernetType(2048L),
                     new MatchIpProtocol(6 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = IdHelper.getId(theFlowId)
                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
@@ -1626,10 +1558,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val flowId2 = "ICMP_V4_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426a22"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = flowId1
-                flowName = "ACL"
+                flowName = flowId1
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -1644,10 +1576,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = flowId2
-                flowName = "ACL"
+                flowName = flowId2
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -1669,10 +1601,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val flowId2 = "ICMP_V4_DESTINATION_23_Egress_123_987_85cc3048-abc3-43cc-89b3-377341426a21"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = flowId1
-                flowName = "ACL"
+                flowName = flowId1
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -1681,16 +1613,16 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2048L),
                     new MatchIcmpv4(2 as short, 3 as short),
                     new MatchIpProtocol(1 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = IdHelper.getId(flowId1)
                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = flowId2
-                flowName = "ACL"
+                flowName = flowId2
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
                 ]
@@ -1699,7 +1631,7 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2048L),
                     new MatchIcmpv4(2 as short, 3 as short),
                     new MatchIpProtocol(1 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = IdHelper.getId(flowId2)
                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
@@ -1707,14 +1639,14 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         ]
     }
 
-    override def expectedFlows(String mac) {
+    override def expectedFlows(String mac, String ip1, String prefix) {
         // Code auto. generated by https://github.com/vorburger/xtendbeans
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Ingress_DHCP_Server_v4123_987_Permit_"
-                flowName = "ACL"
+                flowName = "Ingress_DHCP_Server_v4123_987_Permit_"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxResubmit(220 as short)
@@ -1728,13 +1660,13 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
                 ]
                 priority = 63010
-                tableId = NwConstants.EGRESS_ACL_TABLE
+                tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Ingress_DHCP_Server_v6_123_987_Permit_"
-                flowName = "ACL"
+                flowName = "Ingress_DHCP_Server_v6_123_987_Permit_"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxResubmit(220 as short)
@@ -1748,13 +1680,13 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
                 ]
                 priority = 63010
-                tableId = NwConstants.EGRESS_ACL_TABLE
+                tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Ingress_ICMPv6_123_987_130_Permit_"
-                flowName = "ACL"
+                flowName = "Ingress_ICMPv6_123_987_130_Permit_"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxResubmit(220 as short)
@@ -1767,13 +1699,13 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
                 ]
                 priority = 63010
-                tableId = NwConstants.EGRESS_ACL_TABLE
+                tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Ingress_ICMPv6_123_987_135_Permit_"
-                flowName = "ACL"
+                flowName = "Ingress_ICMPv6_123_987_135_Permit_"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxResubmit(220 as short)
@@ -1786,13 +1718,13 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
                 ]
                 priority = 63010
-                tableId = NwConstants.EGRESS_ACL_TABLE
+                tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Ingress_ICMPv6_123_987_136_Permit_"
-                flowName = "ACL"
+                flowName = "Ingress_ICMPv6_123_987_136_Permit_"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxResubmit(220 as short)
@@ -1805,13 +1737,13 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
                 ]
                 priority = 63010
-                tableId = NwConstants.EGRESS_ACL_TABLE
+                tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Ingress_ARP_123_987"
-                flowName = "ACL"
+                flowName = "Ingress_ARP_123_987"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxResubmit(220 as short)
@@ -1822,13 +1754,13 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
                 ]
                 priority = 63010
-                tableId = NwConstants.EGRESS_ACL_TABLE
+                tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
-                flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_10.0.0.1/32"
-                flowName = "ACL"
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
+                flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
+                flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
                 instructionInfoList = #[
                     new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
                 ]
@@ -1836,16 +1768,16 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
                     new MatchEthernetDestination(new MacAddress(mac)),
                     new MatchEthernetType(2048L),
-                    new MatchIpv4Destination("10.0.0.1", "32")
+                    new MatchIpv4Destination(ip1, prefix)
                 ]
                 priority = 61010
                 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100481bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
                 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
-                flowName = "ACL"
+                flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionDrop()
@@ -1859,10 +1791,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Egress_DHCP_Client_v4123_987_" + mac + "_Permit_"
-                flowName = "ACL"
+                flowName = "Egress_DHCP_Client_v4123_987_" + mac + "_Permit_"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxResubmit(17 as short)
@@ -1873,67 +1805,17 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchIpProtocol(17 as short),
                     new MatchUdpDestinationPort(67 as short),
                     new MatchUdpSourcePort(68 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
                     new MatchEthernetSource(new MacAddress(mac))
                 ]
                 priority = 63010
-                tableId = NwConstants.INGRESS_ACL_TABLE
-            ],
-            new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
-                flowId = "Egress_DHCP_Server_v4123_987_Drop_"
-                flowName = "ACL"
-                instructionInfoList = #[
-                ]
-                matchInfoList = #[
-                    new MatchEthernetType(2048L),
-                    new MatchIpProtocol(17 as short),
-                    new MatchUdpDestinationPort(68 as short),
-                    new MatchUdpSourcePort(67 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
-                ]
-                priority = 63010
-                tableId = NwConstants.INGRESS_ACL_TABLE
-            ],
-            new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
-                flowId = "Egress_DHCP_Server_v6_123_987_Drop_"
-                flowName = "ACL"
-                instructionInfoList = #[
-                ]
-                matchInfoList = #[
-                    new MatchEthernetType(34525L),
-                    new MatchIpProtocol(17 as short),
-                    new MatchUdpDestinationPort(546 as short),
-                    new MatchUdpSourcePort(547 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
-                ]
-                priority = 63010
-                tableId = NwConstants.INGRESS_ACL_TABLE
-            ],
-            new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
-                flowId = "Egress_ICMPv6_123_987_134_Drop_"
-                flowName = "ACL"
-                instructionInfoList = #[
-                ]
-                matchInfoList = #[
-                    new MatchEthernetType(34525L),
-                    new MatchIpProtocol(58 as short),
-                    new MatchIcmpv6(134 as short, 0 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
-                ]
-                priority = 63020
-                tableId = NwConstants.INGRESS_ACL_TABLE
+                tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Egress_ICMPv6_123_987_133_Permit_"
-                flowName = "ACL"
+                flowName = "Egress_ICMPv6_123_987_133_Permit_"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxResubmit(17 as short)
@@ -1943,16 +1825,16 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(34525L),
                     new MatchIpProtocol(58 as short),
                     new MatchIcmpv6(133 as short, 0 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = 63010
-                tableId = NwConstants.INGRESS_ACL_TABLE
+                tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Egress_ICMPv6_123_987_135_Permit_"
-                flowName = "ACL"
+                flowName = "Egress_ICMPv6_123_987_135_Permit_"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxResubmit(17 as short)
@@ -1962,16 +1844,16 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(34525L),
                     new MatchIpProtocol(58 as short),
                     new MatchIcmpv6(135 as short, 0 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = 63010
-                tableId = NwConstants.INGRESS_ACL_TABLE
+                tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Egress_ICMPv6_123_987_136_Permit_"
-                flowName = "ACL"
+                flowName = "Egress_ICMPv6_123_987_136_Permit_"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxResubmit(17 as short)
@@ -1981,84 +1863,84 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(34525L),
                     new MatchIpProtocol(58 as short),
                     new MatchIcmpv6(136 as short, 0 as short),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = 63010
-                tableId = NwConstants.INGRESS_ACL_TABLE
+                tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
-                flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_10.0.0.1/32"
-                flowName = "ACL"
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
+                flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
+                flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
                 instructionInfoList = #[
                     new InstructionGotoTable(211 as short)
                 ]
                 matchInfoList = #[
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
                     new MatchEthernetSource(new MacAddress(mac)),
                     new MatchEthernetType(2048L),
-                    new MatchIpv4Source("10.0.0.1", "32")
+                    new MatchIpv4Source(ip1, prefix)
                 ]
                 priority = 61010
                 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100481bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
                 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
-                flowName = "ACL"
+                flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionDrop()
                     ])
                 ]
                 matchInfoList = #[
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
                     new NxMatchCtState(48L, 48L)
                 ]
                 priority = 62020
                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
-            flowName = "ACL"
-            instructionInfoList = #[
-                new InstructionApplyActions(#[
-                    new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
-                ])
-            ]
-            matchInfoList = #[
-                new MatchEthernetType(2048L),
-                new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
+                flowName = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
+                instructionInfoList = #[
+                    new InstructionApplyActions(#[
+                        new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
+                    ])
+                ]
+                matchInfoList = #[
+                    new MatchEthernetType(2048L),
+                    new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
                 ]
                 priority = 100
-                tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
+                tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
-                flowName = "ACL"
+                flowName = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
-                        new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_FILTER_TABLE)
+                        new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
                     ])
                 ]
                 matchInfoList = #[
                     new MatchEthernetType(2048L),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = 100
-                tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
+                tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
-                flowId = "Egress_ARP_123_987_" + mac + "10.0.0.1/32"
-                flowName = "ACL"
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
+                flowId = "Egress_ARP_123_987_" + mac + ip1 + "/" + prefix
+                flowName = "Egress_ARP_123_987_" + mac + ip1 + "/" + prefix
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxResubmit(17 as short)
@@ -2068,17 +1950,17 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                     new MatchEthernetType(2054L),
                     new MatchArpSha(new MacAddress(mac)),
                     new MatchEthernetSource(new MacAddress(mac)),
-                    new MatchArpSpa(new Ipv4Prefix("10.0.0.1/32")),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchArpSpa(new Ipv4Prefix( ip1 + "/" + prefix)),
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = 63010
-                tableId = NwConstants.INGRESS_ACL_TABLE
+                tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Egress_L2Broadcast_123_987_" + mac
-                flowName = "ACL"
+                flowName = "Egress_L2Broadcast_123_987_" + mac
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxResubmit(17 as short)
@@ -2086,135 +1968,155 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                 ]
                 matchInfoList = #[
                     new MatchEthernetSource(new MacAddress(mac)),
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = 61005
-                tableId = NwConstants.INGRESS_ACL_TABLE
+                tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                cookie = 110100480bi
-                dpnId = 123bi
+                cookie = Uint64.valueOf(110100480bi)
+                dpnId = Uint64.valueOf(123bi)
                 flowId = "Ingress_v4_Broadcast_123_987_10.0.0.255_Permit"
-                flowName = "ACL"
+                flowName = "Ingress_v4_Broadcast_123_987_10.0.0.255_Permit"
                 hardTimeOut = 0
                 idleTimeOut = 0
                 instructionInfoList = #[
-                    new InstructionGotoTable(NwConstants.EGRESS_ACL_REMOTE_ACL_TABLE)
+                    new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
                 ]
                 matchInfoList = #[
                     new MatchEthernetDestination(new MacAddress("ff:ff:ff:ff:ff:ff")),
                     new MatchEthernetType(2048L),
-                    new MatchIpv4Destination(new Ipv4Prefix("10.0.0.255/32")),
+                    new MatchIpv4Destination(new Ipv4Prefix("10.0.0.255/" + prefix)),
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
                 ]
                 priority = 61010
                 sendFlowRemFlag = false
                 strictFlag = false
-                tableId = NwConstants.EGRESS_ACL_TABLE
+                tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
-                flowName = "ACL"
+                flowName = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
                             Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
                         ),
+                        new ActionNxCtClear(),
                         new ActionNxResubmit(220 as short)
                     ])
                 ]
                 matchInfoList = #[
                     new MatchEthernetType(2048L),
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
-                    new MatchMetadata(0bi, 2bi)
+                    new MatchMetadata(Uint64.valueOf(0bi), Uint64.valueOf(2bi))
                     ]
                 priority = 100
                 tableId = 247 as short
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
-                flowName = "ACL"
+                flowName = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
                             Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
                         ),
+                        new ActionNxCtClear(),
                         new ActionNxResubmit(220 as short)
                     ])
                 ]
                 matchInfoList = #[
                     new MatchEthernetType(34525L),
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
-                    new MatchMetadata(0bi, 2bi)
+                    new MatchMetadata(Uint64.valueOf(0bi), Uint64.valueOf(2bi))
                 ]
                 priority = 100
                 tableId = 247 as short
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
-                flowName = "ACL"
+                flowName = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                     new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
                             Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
                     ),
+                    new ActionNxCtClear(),
                     new ActionNxResubmit(17 as short)
                     ])
                 ]
                 matchInfoList = #[
                     new MatchEthernetType(2048L),
-                    new MatchMetadata(1085217976614912bi, 1152920405095219202bi)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), Uint64.valueOf(1152920405095219202bi))
                 ]
                 priority = 100
                 tableId = 217 as short
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
-                flowName = "ACL"
+                flowName = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
                             Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
                         ),
+                        new ActionNxCtClear(),
                         new ActionNxResubmit(17 as short)
                     ])
                 ]
                 matchInfoList = #[
                     new MatchEthernetType(34525L),
-                        new MatchMetadata(1085217976614912bi, 1152920405095219202bi)
+                        new MatchMetadata(Uint64.valueOf(1085217976614912bi), Uint64.valueOf(1152920405095219202bi))
                 ]
                 priority = 100
                 tableId = 217 as short
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Egress_Acl_Commit_Non_Conntrack_123_987"
-                flowName = "ACL"
+                flowName = "Egress_Acl_Commit_Non_Conntrack_123_987"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxResubmit(17 as short)
                     ])
                 ]
                 matchInfoList = #[
-                new MatchMetadata(1085217976614914bi, 1152920405095219202bi)
+                new MatchMetadata(Uint64.valueOf(1085217976614914bi), Uint64.valueOf(1152920405095219202bi))
                 ]
                 priority = 100
                 tableId = 217 as short
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
+                flowId = "Egress_123_987_Drop"
+                flowName = "Egress_123_987_Drop"
+                instructionInfoList = #[
+                    new InstructionApplyActions(#[
+                        new ActionDrop()
+                    ])
+                ]
+                matchInfoList = #[
+                   new MatchMetadata(Uint64.valueOf(1085217976614916bi), Uint64.valueOf(new BigInteger("0FFFFF0000000004", 16)))
+                ]
+                priority = 62020
+                tableId = 217 as short
+            ],
+            new FlowEntityBuilder >> [
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = "Ingress_Acl_Commit_Non_Conntrack_123_987"
-                flowName = "ACL"
+                flowName = "Ingress_Acl_Commit_Non_Conntrack_123_987"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                     new ActionNxResubmit(220 as short)
@@ -2222,16 +2124,33 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                 ]
                 matchInfoList = #[
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
-                    new MatchMetadata(2bi, 2bi)
+                    new MatchMetadata(Uint64.valueOf(2bi), Uint64.valueOf(2bi))
                 ]
                 priority = 100
                 tableId = 247 as short
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100481bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
+                flowId = "Ingress_123_987_Drop"
+                flowName = "Ingress_123_987_Drop"
+                instructionInfoList = #[
+                    new InstructionApplyActions(#[
+                        new ActionDrop()
+                    ])
+                ]
+                matchInfoList = #[
+                    new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
+                    new MatchMetadata(Uint64.valueOf(4bi), Uint64.valueOf(4bi))
+                ]
+                priority = 62020
+                tableId = 247 as short
+            ],
+            new FlowEntityBuilder >> [
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
                 flowId = "Ingress_Fixed_Acl_Rule_Miss_Drop_123_987"
-                flowName = "ACL"
+                flowName = "Ingress_Fixed_Acl_Rule_Miss_Drop_123_987"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionDrop()
@@ -2244,17 +2163,17 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                 tableId = 244 as short
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100481bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
                 flowId = "Egress_Fixed_Acl_Rule_Miss_Drop_123_987"
-                flowName = "ACL"
+                flowName = "Egress_Fixed_Acl_Rule_Miss_Drop_123_987"
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionDrop()
                     ])
                 ]
                 matchInfoList = #[
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = 50
                 tableId = 214 as short
@@ -2267,44 +2186,46 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val flowId2 = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
         #[
             new FlowEntityBuilder >> [
-                    dpnId = 123bi
-                    cookie = 110100480bi
+                    dpnId = Uint64.valueOf(123bi)
+                    cookie = Uint64.valueOf(110100480bi)
                     flowId = flowId1
-                    flowName = "ACL"
+                    flowName = flowId1
                     instructionInfoList = #[
                         new InstructionApplyActions(#[
                             new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
                                 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE)
                                 )
                             ),
+                            new ActionNxCtClear(),
                             new ActionNxResubmit(220 as short)
                         ])
                     ]
                     matchInfoList = #[
                         new MatchEthernetType(2048L),
                         new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
-                        new MatchMetadata(0bi, 2bi)
+                        new MatchMetadata(Uint64.valueOf(0bi), Uint64.valueOf(2bi))
                     ]
                     priority = 100
                     tableId = 247 as short
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = flowId2
-                flowName = "ACL"
+                flowName = flowId2
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
                             Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
                         ),
+                        new ActionNxCtClear(),
                         new ActionNxResubmit(220 as short)
                         ])
                     ]
                     matchInfoList = #[
                         new MatchEthernetType(34525L),
                         new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
-                        new MatchMetadata(0bi, 2bi)
+                        new MatchMetadata(Uint64.valueOf(0bi), Uint64.valueOf(2bi))
                     ]
                     priority = 100
                     tableId = 247 as short
@@ -2317,41 +2238,43 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val flowId2 = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = flowId1
-                flowName = "ACL"
+                flowName = flowId1
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
                             Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
                         ),
+                        new ActionNxCtClear(),
                         new ActionNxResubmit(17 as short)
                     ])
                 ]
                 matchInfoList = #[
                     new MatchEthernetType(2048L),
-                    new MatchMetadata(1085217976614912bi, 1152920405095219202bi)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), Uint64.valueOf(1152920405095219202bi))
                 ]
                 priority = 100
                 tableId = 217 as short
             ],
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = flowId2
-                flowName = "ACL"
+                flowName = flowId2
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
                             Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
                         ),
+                        new ActionNxCtClear(),
                         new ActionNxResubmit(17 as short)
                     ])
                 ]
                 matchInfoList = #[
                     new MatchEthernetType(34525L),
-                        new MatchMetadata(1085217976614912bi, 1152920405095219202bi)
+                        new MatchMetadata(Uint64.valueOf(1085217976614912bi), Uint64.valueOf(1152920405095219202bi))
                 ]
                 priority = 100
                 tableId = 217 as short
@@ -2363,20 +2286,36 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val flowId1 = "Egress_Acl_Commit_Non_Conntrack_123_987"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = flowId1
-                flowName = "ACL"
+                flowName = flowId1
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                     new ActionNxResubmit(17 as short)
                     ])
                 ]
                 matchInfoList = #[
-                    new MatchMetadata(1085217976614914bi, 1152920405095219202bi)
+                    new MatchMetadata(Uint64.valueOf(1085217976614914bi), Uint64.valueOf(1152920405095219202bi))
                 ]
                 priority = 100
                 tableId = 217 as short
+            ],
+            new FlowEntityBuilder >> [
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
+                flowId = "Egress_123_987_Drop"
+                flowName = "Egress_123_987_Drop"
+                instructionInfoList = #[
+                    new InstructionApplyActions(#[
+                        new ActionDrop()
+                    ])
+                ]
+                matchInfoList = #[
+                    new MatchMetadata(Uint64.valueOf(1085217976614916bi), Uint64.valueOf(new BigInteger("0FFFFF0000000004", 16)))
+                ]
+                priority = 62020
+                tableId = 217 as short
             ]
         ]
     }
@@ -2385,10 +2324,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val flowId1 = "Ingress_Acl_Commit_Non_Conntrack_123_987"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = flowId1
-                flowName = "ACL"
+                flowName = flowId1
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionNxResubmit(220 as short)
@@ -2396,10 +2335,27 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                 ]
                  matchInfoList = #[
                      new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
-                         new MatchMetadata(2bi, 2bi)
+                         new MatchMetadata(Uint64.valueOf(2bi), Uint64.valueOf(2bi))
                      ]
                  priority = 100
                  tableId = 247 as short
+            ],
+            new FlowEntityBuilder >> [
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
+                flowId = "Ingress_123_987_Drop"
+                flowName = "Ingress_123_987_Drop"
+                instructionInfoList = #[
+                    new InstructionApplyActions(#[
+                        new ActionDrop()
+                    ])
+                ]
+                matchInfoList = #[
+                    new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
+                    new MatchMetadata(Uint64.valueOf(4bi), Uint64.valueOf(4bi))
+                ]
+                priority = 62020
+                tableId = 247 as short
             ]
         ]
     }
@@ -2408,10 +2364,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val flowId1 = "Ingress_Fixed_Acl_Rule_Miss_Drop_123_987"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100481bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
                 flowId = flowId1
-                flowName = "ACL"
+                flowName = flowId1
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionDrop()
@@ -2430,17 +2386,17 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val flowId1 = "Egress_Fixed_Acl_Rule_Miss_Drop_123_987"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100481bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
                 flowId = flowId1
-                flowName = "ACL"
+                flowName = flowId1
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionDrop()
                     ])
                 ]
                 matchInfoList = #[
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = 50
                 tableId = 214 as short
@@ -2452,13 +2408,13 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val flowId1 = "Ingress_ACL_Dispatcher_First_123_987_2"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = flowId1
-                flowName = "ACL"
+                flowName = flowId1
                 instructionInfoList = #[
                     new InstructionGotoTable(245 as short),
-                    new InstructionWriteMetadata(32bi, 16777200bi)
+                    new InstructionWriteMetadata(Uint64.valueOf(32bi), Uint64.valueOf(16777200bi))
                 ]
                 matchInfoList = #[
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
@@ -2473,10 +2429,10 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val flowId1 = "Ingress_ACL_Dispatcher_Last_123_987_2"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100481bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
                 flowId = flowId1
-                flowName = "ACL"
+                flowName = flowId1
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionDrop()
@@ -2484,7 +2440,7 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
                 ]
                 matchInfoList = #[
                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
-                    new MatchMetadata(32bi, 16777200bi)
+                    new MatchMetadata(Uint64.valueOf(32bi), Uint64.valueOf(16777200bi))
                 ]
                 priority = IdHelper.getId(flowId1)
                 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
@@ -2496,19 +2452,19 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val flowId1 = "Egress_ACL_Dispatcher_First_123_987_2"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100480bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(110100480bi)
                 flowId = flowId1
-                flowName = "ACL"
+                flowName = flowId1
                 instructionInfoList = #[
                     new InstructionGotoTable(215 as short),
-                    new InstructionWriteMetadata(32bi, 16777200bi)
+                    new InstructionWriteMetadata(Uint64.valueOf(32bi), Uint64.valueOf(16777200bi))
                 ]
                 matchInfoList = #[
-                    new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                 ]
                 priority = IdHelper.getId(flowId1)
-                tableId = NwConstants.INGRESS_LEARN_ACL_FILTER_TABLE
+                tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
             ]
         ]
     }
@@ -2517,17 +2473,17 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
         val flowId1 = "Egress_ACL_Dispatcher_Last_123_987_2"
         #[
             new FlowEntityBuilder >> [
-                dpnId = 123bi
-                cookie = 110100481bi
+                dpnId = Uint64.valueOf(123bi)
+                cookie = Uint64.valueOf(1085218086715393bi)
                 flowId = flowId1
-                flowName = "ACL"
+                flowName = flowId1
                 instructionInfoList = #[
                     new InstructionApplyActions(#[
                         new ActionDrop()
                     ])
                 ]
                 matchInfoList = #[
-                    new MatchMetadata(1085217976614944bi, 1152920405111996400bi)
+                    new MatchMetadata(Uint64.valueOf(1085217976614944bi), Uint64.valueOf(1152920405111996400bi))
                 ]
                 priority = IdHelper.getId(flowId1)
                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
@@ -2539,19 +2495,19 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
             val flowId1 = "Egress_ACL_Dispatcher_First_123_987_4"
             #[
                 new FlowEntityBuilder >> [
-                    dpnId = 123bi
-                    cookie = 110100480bi
+                    dpnId = Uint64.valueOf(123bi)
+                    cookie = Uint64.valueOf(110100480bi)
                     flowId = flowId1
-                    flowName = "ACL"
+                    flowName = flowId1
                     instructionInfoList = #[
                         new InstructionGotoTable(215 as short),
-                        new InstructionWriteMetadata(64bi, 16777200bi)
+                        new InstructionWriteMetadata(Uint64.valueOf(64bi), Uint64.valueOf(16777200bi))
                     ]
                     matchInfoList = #[
-                        new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
+                        new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
                     ]
                     priority = IdHelper.getId(flowId1)
-                    tableId = NwConstants.INGRESS_LEARN_ACL_FILTER_TABLE
+                    tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
                 ]
             ]
         }
@@ -2560,17 +2516,17 @@ class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
             val flowId1 = "Egress_ACL_Dispatcher_Last_123_987_4"
             #[
                 new FlowEntityBuilder >> [
-                    dpnId = 123bi
-                    cookie = 110100481bi
+                    dpnId = Uint64.valueOf(123bi)
+                    cookie = Uint64.valueOf(1085218086715393bi)
                     flowId = flowId1
-                    flowName = "ACL"
+                    flowName = flowId1
                     instructionInfoList = #[
                         new InstructionApplyActions(#[
                             new ActionDrop()
                         ])
                     ]
                     matchInfoList = #[
-                        new MatchMetadata(1085217976614976bi, 1152920405111996400bi)
+                        new MatchMetadata(Uint64.valueOf(1085217976614976bi), Uint64.valueOf(1152920405111996400bi))
                     ]
                     priority = IdHelper.getId(flowId1)
                     tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE