Fix xtend warnings
[netvirt.git] / aclservice / impl / src / test / java / org / opendaylight / netvirt / aclservice / tests / FlowEntryObjectsStatefulIPv6.xtend
1 /*
2  * Copyright (c) 2017 Red Hat, Inc. and others. All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8 package org.opendaylight.netvirt.aclservice.tests
9
10 import org.opendaylight.genius.mdsalutil.MetaDataUtil
11 import org.opendaylight.genius.mdsalutil.NwConstants
12 import org.opendaylight.genius.mdsalutil.actions.ActionDrop
13 import org.opendaylight.genius.mdsalutil.actions.ActionNxConntrack
14 import org.opendaylight.genius.mdsalutil.actions.ActionNxCtClear
15 import org.opendaylight.genius.mdsalutil.actions.ActionNxResubmit
16 import org.opendaylight.genius.mdsalutil.instructions.InstructionApplyActions
17 import org.opendaylight.genius.mdsalutil.instructions.InstructionGotoTable
18 import org.opendaylight.genius.mdsalutil.matches.MatchEthernetDestination
19 import org.opendaylight.genius.mdsalutil.matches.MatchEthernetSource
20 import org.opendaylight.genius.mdsalutil.matches.MatchEthernetType
21 import org.opendaylight.genius.mdsalutil.matches.MatchIcmpv6
22 import org.opendaylight.genius.mdsalutil.matches.MatchIpProtocol
23 import org.opendaylight.genius.mdsalutil.matches.MatchIpv6Destination
24 import org.opendaylight.genius.mdsalutil.matches.MatchIpv6Source
25 import org.opendaylight.genius.mdsalutil.matches.MatchMetadata
26 import org.opendaylight.genius.mdsalutil.matches.MatchUdpDestinationPort
27 import org.opendaylight.genius.mdsalutil.matches.MatchUdpSourcePort
28 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchCtState
29 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchRegister
30 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchTcpDestinationPort
31 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchUdpDestinationPort
32 import org.opendaylight.genius.mdsalutil.FlowEntityBuilder
33 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix
34 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress
35 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg6
36
37 import static extension org.opendaylight.mdsal.binding.testutils.XtendBuilderExtensions.operator_doubleGreaterThan
38 import org.opendaylight.netvirt.aclservice.utils.AclConstants
39 import java.math.BigInteger
40 import java.util.Collections
41
42 import org.opendaylight.genius.mdsalutil.instructions.InstructionWriteMetadata
43 import org.opendaylight.genius.mdsalutil.matches.MatchIpv4Destination
44 import org.opendaylight.yangtools.yang.common.Uint64
45
46 class FlowEntryObjectsStatefulIPv6 extends FlowEntryObjectsBaseIpv6 {
47
48     protected def etherFlows(String ip1 ,String ip2, String prefix) {
49         egressCommitConntrack1
50         + egressCommitNonConntrack1
51         + egressfixedAclMissDrop1
52         + etheregressFlowPort2
53         + etherEgressFlowsPort1
54         + etherIngressFlowsPort2
55         + fixedConntrackEgressFlowsPort1(ip1, prefix)
56         + fixedConntrackEgressFlowsPort2(ip2, prefix)
57         + fixedConntrackIngressFlowsPort1(ip1, prefix)
58         + fixedConntrackIngressFlowsPort2(ip2, prefix)
59         + fixedEgressFlowsPort1(ip1, prefix)
60         + fixedEgressFlowsPort2(ip2, prefix)
61         + fixedEgressL2BroadcastFlowsPort1
62         + fixedEgressL2BroadcastFlowsPort2
63         + fixedIngressFlowsPort1
64         + fixedIngressFlowsPort2
65         + fixedIngressL3BroadcastFlows
66         + ingressCommitConntrack1
67         + ingressCommitNonConntrack1
68         + ingressDispatcherFirst
69         + ingressDispatcherLast
70         + ingressfixedAclMissDrop1
71         + remoteEgressFlowsPort1(ip1, prefix)
72         + remoteEgressFlowsPort2(ip2, prefix)
73     }
74
75     protected def tcpFlows(String ip1 ,String ip2, String prefix) {
76         egressCommitConntrack1
77         + egressCommitNonConntrack1
78         + egressDispatcherFirst
79         + egressDispatcherLast
80         + egressfixedAclMissDrop1
81         + fixedConntrackEgressFlowsPort1(ip1, prefix)
82         + fixedConntrackEgressFlowsPort2(ip2, prefix)
83         + fixedConntrackIngressFlowsPort1(ip1, prefix)
84         + fixedConntrackIngressFlowsPort2(ip2, prefix)
85         + fixedEgressFlowsPort1(ip1, prefix)
86         + fixedEgressFlowsPort2(ip2, prefix)
87         + fixedEgressL2BroadcastFlowsPort1
88         + fixedEgressL2BroadcastFlowsPort2
89         + fixedIngressFlowsPort1
90         + fixedIngressFlowsPort2
91         + fixedIngressL3BroadcastFlows
92         + ingressCommitConntrack1
93         + ingressCommitNonConntrack1
94         + ingressfixedAclMissDrop1
95         + remoteIngressFlowsPort1(ip1, prefix)
96         + remoteIngressFlowsPort2(ip2, prefix)
97         + tcpEgressFlowPort2
98         + tcpIngressFlowPort1
99         + tcpIngressFlowPort2
100     }
101
102     protected def udpFlows(String ip1 ,String ip2, String prefix) {
103         egressCommitConntrack1
104         + egressCommitNonConntrack1
105         + egressfixedAclMissDrop1
106         + fixedConntrackEgressFlowsPort1(ip1, prefix)
107         + fixedConntrackEgressFlowsPort2(ip2, prefix)
108         + fixedConntrackIngressFlowsPort1(ip1, prefix)
109         + fixedConntrackIngressFlowsPort2(ip2, prefix)
110         + fixedEgressFlowsPort1(ip1, prefix)
111         + fixedEgressFlowsPort2(ip2, prefix)
112         + fixedEgressL2BroadcastFlowsPort1
113         + fixedEgressL2BroadcastFlowsPort2
114         + fixedIngressFlowsPort1
115         + fixedIngressFlowsPort2
116         + fixedIngressL3BroadcastFlows
117         + ingressCommitConntrack1
118         + ingressCommitNonConntrack1
119         + ingressDispatcherFirst
120         + ingressDispatcherLast
121         + ingressfixedAclMissDrop1
122         + remoteEgressFlowsPort1(ip1, prefix)
123         + remoteEgressFlowsPort2(ip2, prefix)
124         + udpEgressFlowsPort1
125         + udpEgressFlowsPort2
126         + udpIngressFlowsPort2
127     }
128
129     protected def icmpFlows(String ip1 ,String ip2, String prefix) {
130         egressCommitConntrack1
131         + egressCommitNonConntrack1
132         + egressDispatcherFirst
133         + egressDispatcherLast
134         + egressfixedAclMissDrop1
135         + fixedConntrackEgressFlowsPort1(ip1, prefix)
136         + fixedConntrackEgressFlowsPort2(ip2, prefix)
137         + fixedConntrackIngressFlowsPort1(ip1, prefix)
138         + fixedConntrackIngressFlowsPort2(ip2, prefix)
139         + fixedEgressFlowsPort1(ip1, prefix)
140         + fixedEgressFlowsPort2(ip2, prefix)
141         + fixedEgressL2BroadcastFlowsPort1
142         + fixedEgressL2BroadcastFlowsPort2
143         + fixedIngressFlowsPort1
144         + fixedIngressFlowsPort2
145         + fixedIngressL3BroadcastFlows
146         + icmpEgressFlowsPort2
147         + icmpIngressFlowsPort1
148         + icmpIngressFlowsPort2
149         + ingressCommitConntrack1
150         + ingressCommitNonConntrack1
151         + ingressfixedAclMissDrop1
152         + remoteIngressFlowsPort1(ip1, prefix)
153         + remoteIngressFlowsPort2(ip2, prefix)
154     }
155
156     protected def dstRangeFlows(String ip1, String prefix) {
157         egressCommitConntrack1
158         + egressCommitNonConntrack1
159         + egressfixedAclMissDrop1
160         + fixedConntrackEgressFlowsPort1(ip1, prefix)
161         + fixedConntrackIngressFlowsPort1(ip1, prefix)
162         + fixedEgressFlowsPort1(ip1, prefix)
163         + fixedEgressL2BroadcastFlowsPort1
164         + fixedIngressFlowsPort1
165         + fixedIngressL3BroadcastFlows
166         + ingressCommitConntrack1
167         + ingressCommitNonConntrack1
168         + ingressfixedAclMissDrop1
169         + tcpEgressRangeFlows
170         + udpIngressPortRangeFlows
171     }
172
173     protected def dstAllFlows(String ip1, String prefix) {
174         egressCommitConntrack1
175         + egressCommitNonConntrack1
176         + egressfixedAclMissDrop1
177         + fixedConntrackEgressFlowsPort1(ip1, prefix)
178         + fixedConntrackIngressFlowsPort1(ip1, prefix)
179         + fixedEgressFlowsPort1(ip1, prefix)
180         + fixedEgressL2BroadcastFlowsPort1
181         + fixedIngressFlowsPort1
182         + fixedIngressL3BroadcastFlows
183         + ingressCommitConntrack1
184         + ingressCommitNonConntrack1
185         + ingressfixedAclMissDrop1
186         + tcpEgressAllFlows
187         + udpIngressAllFlows
188     }
189
190     protected def icmpFlowsForTwoAclsHavingSameRules(String ip3, String prefix) {
191         egressCommitConntrack1
192         + egressCommitNonConntrack1
193         + egressfixedAclMissDrop1
194         + fixedConntrackEgressFlowsPort3(ip3, prefix)
195         + fixedConntrackIngressFlowsPort3(ip3, prefix)
196         + fixedEgressFlowsPort3(ip3, prefix)
197         + fixedEgressL2BroadcastFlowsPort3
198         + fixedIngressFlowsPort3
199         + fixedIngressL3BroadcastFlows
200         + icmpEgressFlowsPort3
201         + icmpIngressFlowsPort3
202         + ingressCommitConntrack1
203         + ingressCommitNonConntrack1
204         + ingressfixedAclMissDrop1
205     }
206
207     protected def aapWithIpv4AllFlows(String ip1 ,String ip2, String prefix) {
208         icmpFlows(ip1, ip2, prefix)
209         + aapIpv4AllFlowsPort2
210     }
211
212     protected def aapFlows(String ip1 ,String ip2, String ip100, String ip101, String prefix) {
213         icmpFlows(ip1, ip2, prefix)
214         + aapRemoteFlowsPort1(ip100, ip101, prefix)
215         + aapFlowsPort2(ip100, ip101, prefix)
216     }
217
218     protected def multipleAcl(String ip1 ,String ip2, String prefix) {
219         egressCommitConntrack1
220         + egressCommitNonConntrack1
221         + egressDispatcherFirst1
222         + egressDispatcherLast1
223         + egressfixedAclMissDrop1
224         + etheregressFlowPort2
225         + etherEgressFlowsPort1
226         + etherIngressFlowsPort2
227         + fixedConntrackEgressFlowsPort1(ip1, prefix)
228         + fixedConntrackEgressFlowsPort2(ip2, prefix)
229         + fixedConntrackIngressFlowsPort1(ip1, prefix)
230         + fixedConntrackIngressFlowsPort2(ip2, prefix)
231         + fixedEgressFlowsPort1(ip1, prefix)
232         + fixedEgressFlowsPort2(ip2, prefix)
233         + fixedEgressL2BroadcastFlowsPort1
234         + fixedEgressL2BroadcastFlowsPort2
235         + fixedIngressFlowsPort1
236         + fixedIngressFlowsPort2
237         + fixedIngressL3BroadcastFlows
238         + ingressCommitConntrack1
239         + ingressCommitNonConntrack1
240         + ingressDispatcherFirst
241         + ingressDispatcherLast
242         + ingressfixedAclMissDrop1
243         + remoteEgressFlowsPort1(ip1, prefix)
244         + remoteEgressFlowsPort2(ip2, prefix)
245         + remoteEgressFlowsPort3(ip2, prefix)
246         + tcpEgressFlowPort2WithRemoteIpSg
247         + tcpIngressFlowPort1WithMultipleSG
248     }
249
250     protected def tcpEgressFlowPort2WithRemoteIpSg() {
251         val theFlowId1 ="TCP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426a21"
252         #[
253              new FlowEntityBuilder >> [
254                 dpnId = Uint64.valueOf(123bi)
255                 cookie = Uint64.valueOf(110100480bi)
256                 flowId = theFlowId1
257                 flowName = theFlowId1
258                 instructionInfoList = #[
259                     new InstructionGotoTable(NwConstants.INGRESS_REMOTE_ACL_TABLE)
260                 ]
261                 matchInfoList = #[
262                     new MatchEthernetType(34525L),
263                     new MatchEthernetType(34525L),
264                     new NxMatchTcpDestinationPort(80, 65535),
265                     new MatchIpProtocol(6 as short),
266                     new MatchMetadata(Uint64.valueOf(1085217976614976bi), Uint64.valueOf(1152920405111996400bi))
267                 ]
268                 priority = IdHelper.getId(theFlowId1)
269                 tableId = NwConstants.INGRESS_ACL_RULE_BASED_FILTER_TABLE
270             ]
271         ]
272     }
273
274     protected def tcpIngressFlowPort1WithMultipleSG() {
275         val theFlowId = "TCP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426a22"
276         #[
277             new FlowEntityBuilder >> [
278                 dpnId = Uint64.valueOf(123bi)
279                 cookie = Uint64.valueOf(110100480bi)
280                 flowId = theFlowId
281                 flowName = theFlowId
282                 instructionInfoList = #[
283                     new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
284                 ]
285                 matchInfoList = #[
286                     new MatchEthernetType(34525L),
287                     new MatchEthernetType(34525L),
288                     new NxMatchTcpDestinationPort(80, 65535),
289                     new MatchIpProtocol(6 as short),
290                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
291                 ]
292                 priority = IdHelper.getId(theFlowId)
293                 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
294             ]
295         ]
296     }
297
298     protected def aapIpv4AllFlowsPort2() {
299         #[
300             new FlowEntityBuilder >> [
301                 dpnId = Uint64.valueOf(123bi)
302                 cookie = Uint64.valueOf(110100480bi)
303                 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_0.0.0.0/0"
304                 flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_0.0.0.0/0"
305                 instructionInfoList = #[
306                     new InstructionGotoTable(211 as short)
307                 ]
308                 matchInfoList = #[
309                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
310                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
311                     new MatchEthernetType(34525L)
312                 ]
313                 priority = 61010
314                 tableId = 210 as short
315             ],
316             new FlowEntityBuilder >> [
317                 dpnId = Uint64.valueOf(123bi)
318                 cookie = Uint64.valueOf(110100480bi)
319                 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_0.0.0.0/0"
320                 flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_0.0.0.0/0"
321                 instructionInfoList = #[
322                     new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
323                 ]
324                 matchInfoList = #[
325                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
326                     new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F4")),
327                     new MatchEthernetType(34525L)
328                 ]
329                 priority = 61010
330                 tableId = 240 as short
331             ],
332             new FlowEntityBuilder >> [
333                 dpnId = Uint64.valueOf(123bi)
334                 cookie = Uint64.valueOf(110100480bi)
335                 flowId = "Egress_DHCP_Client_v6_123_987_0D:AA:D8:42:30:F4_Permit_"
336                 flowName = "Egress_DHCP_Client_v6_123_987_0D:AA:D8:42:30:F4_Permit_"
337                 instructionInfoList = #[
338                     new InstructionApplyActions(#[
339                     new ActionNxResubmit(17 as short)
340                     ])
341                 ]
342                 matchInfoList = #[
343                     new MatchEthernetType(34525L),
344                     new MatchIpProtocol(17 as short),
345                     new MatchUdpDestinationPort(547 as short),
346                     new MatchUdpSourcePort(546 as short),
347                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
348                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4"))
349                 ]
350                 priority = 63010
351                 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
352             ]
353         ]
354     }
355
356     protected def aapRemoteFlowsPort1(String ip100, String ip101, String prefix) {
357         #[
358             remoteIngressFlowsPort(ip100, prefix),
359             remoteIngressFlowsPort(ip101, prefix)
360         ]
361     }
362
363     protected def aapFlowsPort2(String ip100, String ip101, String prefix) {
364         #[
365             new FlowEntityBuilder >> [
366                 dpnId = Uint64.valueOf(123bi)
367                 cookie = Uint64.valueOf(110100480bi)
368                 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip100 + "/" + prefix
369                 flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip100 + "/" + prefix
370                 instructionInfoList = #[
371                    new InstructionGotoTable(211 as short)
372                 ]
373                 matchInfoList = #[
374                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
375                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
376                     new MatchEthernetType(34525L),
377                     new MatchIpv6Source(ip100 + "/"+ prefix)
378                 ]
379                 priority = 61010
380                 tableId = 210 as short
381             ],
382             new FlowEntityBuilder >> [
383                 dpnId = Uint64.valueOf(123bi)
384                 cookie = Uint64.valueOf(110100480bi)
385                 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip100 + "/" + prefix
386                 flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip100 + "/" + prefix
387                 instructionInfoList = #[
388                     new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
389                 ]
390                 matchInfoList = #[
391                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
392                     new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F4")),
393                     new MatchEthernetType(34525L),
394                     new MatchIpv6Destination(ip100 + "/"+ prefix)
395                 ]
396                 priority = 61010
397                 tableId = 240 as short
398             ],
399             new FlowEntityBuilder >> [
400                 dpnId = Uint64.valueOf(123bi)
401                 cookie = Uint64.valueOf(110100480bi)
402                 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_" + ip101 + "/" + prefix
403                 flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_" + ip101 + "/" + prefix
404                 instructionInfoList = #[
405                     new InstructionGotoTable(211 as short)
406                 ]
407                 matchInfoList = #[
408                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
409                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4")),
410                     new MatchEthernetType(34525L),
411                     new MatchIpv6Source(ip101 + "/"+ prefix)
412                 ]
413                 priority = 61010
414                 tableId = 210 as short
415             ],
416             new FlowEntityBuilder >> [
417                 dpnId = Uint64.valueOf(123bi)
418                 cookie = Uint64.valueOf(110100480bi)
419                 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_" + ip101 + "/" + prefix
420                 flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_" + ip101 + "/" + prefix
421                 instructionInfoList = #[
422                     new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
423                 ]
424                 matchInfoList = #[
425                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
426                     new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:A4")),
427                     new MatchEthernetType(34525L),
428                     new MatchIpv6Destination(ip101 + "/"+ prefix)
429                 ]
430                 priority = 61010
431                 tableId = 240 as short
432             ],
433             new FlowEntityBuilder >> [
434                 dpnId = Uint64.valueOf(123bi)
435                 cookie = Uint64.valueOf(110100480bi)
436                 flowId = "Egress_DHCP_Client_v6_123_987_0D:AA:D8:42:30:A4_Permit_"
437                 flowName = "Egress_DHCP_Client_v6_123_987_0D:AA:D8:42:30:A4_Permit_"
438                 instructionInfoList = #[
439                     new InstructionApplyActions(#[
440                         new ActionNxResubmit(17 as short)
441                     ])
442                 ]
443                 matchInfoList = #[
444                     new MatchEthernetType(34525L),
445                     new MatchIpProtocol(17 as short),
446                     new MatchUdpDestinationPort(547 as short),
447                     new MatchUdpSourcePort(546 as short),
448                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
449                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4"))
450                 ]
451                 priority = 63010
452                 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
453             ],
454             new FlowEntityBuilder >> [
455                 dpnId = Uint64.valueOf(123bi)
456                 cookie = Uint64.valueOf(110100480bi)
457                 flowId = "Egress_DHCP_Client_v6_123_987_0D:AA:D8:42:30:F4_Permit_"
458                 flowName = "Egress_DHCP_Client_v6_123_987_0D:AA:D8:42:30:F4_Permit_"
459                 instructionInfoList = #[
460                     new InstructionApplyActions(#[
461                         new ActionNxResubmit(17 as short)
462                     ])
463                 ]
464                 matchInfoList = #[
465                     new MatchEthernetType(34525L),
466                     new MatchIpProtocol(17 as short),
467                     new MatchUdpDestinationPort(547 as short),
468                     new MatchUdpSourcePort(546 as short),
469                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
470                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4"))
471                 ]
472                 priority = 63010
473                 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
474             ],
475             new FlowEntityBuilder >> [
476                 dpnId = Uint64.valueOf(123bi)
477                 cookie = Uint64.valueOf(110100480bi)
478                 flowId = "Egress_L2Broadcast_123_987_0D:AA:D8:42:30:A4"
479                 flowName = "Egress_L2Broadcast_123_987_0D:AA:D8:42:30:A4"
480                 instructionInfoList = #[
481                     new InstructionApplyActions(#[
482                         new ActionNxResubmit(17 as short)
483                     ])
484                 ]
485                 matchInfoList = #[
486                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4")),
487                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
488                 ]
489                 priority = 61005
490                 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
491             ]
492         ]
493     }
494
495     protected def fixedConntrackIngressFlowsPort1(String ip1, String prefix) {
496         #[
497             new FlowEntityBuilder >> [
498                 dpnId = Uint64.valueOf(123bi)
499                 cookie = Uint64.valueOf(110100480bi)
500                 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
501                 flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
502                 instructionInfoList = #[
503                 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
504             ]
505             matchInfoList = #[
506                 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
507                 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F3")),
508                 new MatchEthernetType(34525L),
509                 new MatchIpv6Destination(ip1 + "/" + prefix)
510                 ]
511                 priority = 61010
512                 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
513             ],
514             new FlowEntityBuilder >> [
515                 dpnId = Uint64.valueOf(123bi)
516                 cookie = Uint64.valueOf(110100480bi)
517                 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[34525]_Recirc"
518                 flowName = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[34525]_Recirc"
519                 instructionInfoList = #[
520                     new InstructionApplyActions(#[
521                         new ActionNxConntrack(2, 0, 0, 5000, 243 as short)
522                     ])
523                 ]
524                 matchInfoList = #[
525                     new MatchEthernetType(34525L),
526                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
527                 ]
528                 priority = 100
529                 tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
530             ],
531             new FlowEntityBuilder >> [
532                 dpnId = Uint64.valueOf(123bi)
533                 cookie = Uint64.valueOf(1085218086715393bi)
534                 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
535                 flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
536                 instructionInfoList = #[
537                     new InstructionApplyActions(#[
538                         new ActionDrop()
539                     ])
540                 ]
541                 matchInfoList = #[
542                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
543                     new NxMatchCtState(48L, 48L)
544                 ]
545                 priority = 62020
546                 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
547             ]
548         ]
549     }
550
551     protected def etherIngressFlowsPort2() {
552         val theFlowId = "ETHERnullIngress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
553         #[
554             new FlowEntityBuilder >> [
555                 dpnId = Uint64.valueOf(123bi)
556                 cookie = Uint64.valueOf(110100480bi)
557                 flowId = theFlowId
558                 flowName = theFlowId
559                 instructionInfoList = #[
560                      new InstructionGotoTable(NwConstants.EGRESS_REMOTE_ACL_TABLE)
561                 ]
562                 matchInfoList = #[
563                     new MatchEthernetType(34525L),
564                     new MatchEthernetType(34525L),
565                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
566                     new MatchMetadata(Uint64.valueOf(32bi), Uint64.valueOf(16777200bi))
567                 ]
568                 priority = IdHelper.getId(theFlowId)
569                 tableId = NwConstants.EGRESS_ACL_RULE_BASED_FILTER_TABLE
570             ]
571         ]
572     }
573
574     protected def fixedConntrackEgressFlowsPort1(String ip1, String prefix) {
575         #[
576             new FlowEntityBuilder >> [
577                 dpnId = Uint64.valueOf(123bi)
578                 cookie = Uint64.valueOf(110100480bi)
579                 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
580                 flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
581                 instructionInfoList = #[
582                     new InstructionGotoTable(211 as short)
583                 ]
584                 matchInfoList = #[
585                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
586                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F3")),
587                     new MatchEthernetType(34525L),
588                     new MatchIpv6Source(ip1 + "/" + prefix)
589                 ]
590                 priority = 61010
591                 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
592             ],
593             new FlowEntityBuilder >> [
594                 dpnId = Uint64.valueOf(123bi)
595                 cookie = Uint64.valueOf(110100480bi)
596                 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[34525]_Recirc"
597                 flowName = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[34525]_Recirc"
598                 instructionInfoList = #[
599                     new InstructionApplyActions(#[
600                        new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
601                     ])
602                 ]
603                 matchInfoList = #[
604                     new MatchEthernetType(34525L),
605                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
606                 ]
607                 priority = 100
608                 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
609             ],
610             new FlowEntityBuilder >> [
611                 dpnId = Uint64.valueOf(123bi)
612                 cookie = Uint64.valueOf(1085218086715393bi)
613                 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
614                 flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
615                 instructionInfoList = #[
616                     new InstructionApplyActions(#[
617                         new ActionDrop()
618                     ])
619                 ]
620                 matchInfoList = #[
621                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
622                    new NxMatchCtState(48L, 48L)
623                 ]
624                 priority = 62020
625                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
626             ]
627         ]
628     }
629
630     protected def fixedConntrackIngressFlowsPort2(String ip2, String prefix) {
631         #[
632              new FlowEntityBuilder >> [
633                 dpnId = Uint64.valueOf(123bi)
634                 cookie = Uint64.valueOf(110100480bi)
635                 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip2 + "/" + prefix
636                 flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip2 + "/" + prefix
637                 instructionInfoList = #[
638                     new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
639                 ]
640                 matchInfoList = #[
641                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
642                     new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F4")),
643                     new MatchEthernetType(34525L),
644                     new MatchIpv6Destination(ip2 + "/" + prefix)
645                 ]
646                 priority = 61010
647                 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
648             ],
649             new FlowEntityBuilder >> [
650                 dpnId = Uint64.valueOf(123bi)
651                 cookie = Uint64.valueOf(110100480bi)
652                 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[34525]_Recirc"
653                 flowName = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[34525]_Recirc"
654                 instructionInfoList = #[
655                     new InstructionApplyActions(#[
656                         new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
657                     ])
658                 ]
659                 matchInfoList = #[
660                     new MatchEthernetType(34525L),
661                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
662                 ]
663                 priority = 100
664                 tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
665             ],
666             new FlowEntityBuilder >> [
667                 dpnId = Uint64.valueOf(123bi)
668                 cookie = Uint64.valueOf(1085218086715393bi)
669                 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
670                 flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
671                 instructionInfoList = #[
672                     new InstructionApplyActions(#[
673                         new ActionDrop()
674                     ])
675                 ]
676                 matchInfoList = #[
677                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
678                     new NxMatchCtState(48L, 48L)
679                 ]
680                 priority = 62020
681                 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
682             ]
683         ]
684     }
685
686     protected def fixedConntrackEgressFlowsPort2(String ip2, String prefix){
687         #[
688             new FlowEntityBuilder >> [
689                 dpnId = Uint64.valueOf(123bi)
690                 cookie = Uint64.valueOf(110100480bi)
691                 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip2 + "/" + prefix
692                 flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip2 + "/" + prefix
693                 instructionInfoList = #[
694                     new InstructionGotoTable(NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
695                 ]
696                 matchInfoList = #[
697                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
698                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
699                     new MatchEthernetType(34525L),
700                     new MatchIpv6Source(ip2 + "/"+ prefix)
701                 ]
702                 priority = 61010
703                 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
704             ],
705             new FlowEntityBuilder >> [
706                 dpnId = Uint64.valueOf(123bi)
707                 cookie = Uint64.valueOf(110100480bi)
708                 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[34525]_Recirc"
709                 flowName = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[34525]_Recirc"
710                 instructionInfoList = #[
711                     new InstructionApplyActions(#[
712                         new ActionNxConntrack(2, 0, 0, 5000, 213 as short)
713                     ])
714                 ]
715                 matchInfoList = #[
716                     new MatchEthernetType(34525L),
717                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
718                 ]
719                 priority = 100
720                 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
721             ],
722             new FlowEntityBuilder >> [
723                 dpnId = Uint64.valueOf(123bi)
724                 cookie = Uint64.valueOf(1085218086715393bi)
725                 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
726                 flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
727                 instructionInfoList = #[
728                     new InstructionApplyActions(#[
729                         new ActionDrop()
730                     ])
731                 ]
732                 matchInfoList = #[
733                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
734                     new NxMatchCtState(48L, 48L)
735                 ]
736                 priority = 62020
737                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
738             ]
739         ]
740     }
741
742     protected def fixedConntrackIngressFlowsPort3(String ip3, String prefix) {
743         #[
744             new FlowEntityBuilder >> [
745                 dpnId = Uint64.valueOf(123bi)
746                 cookie = Uint64.valueOf(110100480bi)
747                 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_" + ip3 + "/" + prefix
748                 flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_" + ip3 + "/" + prefix
749                 instructionInfoList = #[
750                     new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
751                 ]
752                 matchInfoList = #[
753                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
754                     new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F5")),
755                     new MatchEthernetType(34525L),
756                     new MatchIpv6Destination(ip3 + "/" + prefix)
757                 ]
758                 priority = 61010
759                 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
760             ],
761             new FlowEntityBuilder >> [
762                 dpnId = Uint64.valueOf(123bi)
763                 cookie = Uint64.valueOf(110100480bi)
764                 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[34525]_Recirc"
765                 flowName = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[34525]_Recirc"
766                 instructionInfoList = #[
767                     new InstructionApplyActions(#[
768                         new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
769                     ])
770                 ]
771                 matchInfoList = #[
772                     new MatchEthernetType(34525L),
773                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
774                 ]
775                 priority = 100
776                 tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
777             ],
778             new FlowEntityBuilder >> [
779                 dpnId = Uint64.valueOf(123bi)
780                 cookie = Uint64.valueOf(1085218086715393bi)
781                 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
782                 flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
783                 instructionInfoList = #[
784                     new InstructionApplyActions(#[
785                         new ActionDrop()
786                     ])
787                 ]
788                 matchInfoList = #[
789                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
790                     new NxMatchCtState(48L, 48L)
791                 ]
792                 priority = 62020
793                 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
794             ]
795         ]
796     }
797
798     protected def fixedConntrackEgressFlowsPort3(String ip3, String prefix) {
799         #[
800             new FlowEntityBuilder >> [
801                 dpnId = Uint64.valueOf(123bi)
802                 cookie = Uint64.valueOf(110100480bi)
803                 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_" + ip3 + "/" + prefix
804                 flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_" + ip3 + "/" + prefix
805                 instructionInfoList = #[
806                     new InstructionGotoTable(NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
807                 ]
808                 matchInfoList = #[
809                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
810                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F5")),
811                     new MatchEthernetType(34525L),
812                     new MatchIpv6Source(ip3 + "/"+ prefix)
813                 ]
814                 priority = 61010
815                 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
816             ],
817             new FlowEntityBuilder >> [
818                 dpnId = Uint64.valueOf(123bi)
819                 cookie = Uint64.valueOf(110100480bi)
820                 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[34525]_Recirc"
821                 flowName = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[34525]_Recirc"
822                 instructionInfoList = #[
823                     new InstructionApplyActions(#[
824                         new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
825                     ])
826                 ]
827                 matchInfoList = #[
828                     new MatchEthernetType(34525L),
829                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
830                 ]
831                 priority = 100
832                 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
833             ],
834             new FlowEntityBuilder >> [
835                 dpnId = Uint64.valueOf(123bi)
836                 cookie = Uint64.valueOf(1085218086715393bi)
837                 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
838                 flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
839                 instructionInfoList = #[
840                     new InstructionApplyActions(#[
841                         new ActionDrop()
842                     ])
843                 ]
844                 matchInfoList = #[
845                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
846                     new NxMatchCtState(48L, 48L)
847                 ]
848                 priority = 62020
849                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
850             ]
851         ]
852     }
853
854     static def fixedConntrackIngressFlowsPort4(String ip4, String prefix) {
855         #[
856             new FlowEntityBuilder >> [
857                 dpnId = Uint64.valueOf(123bi)
858                 cookie = Uint64.valueOf(110100480bi)
859                 flowId = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_" + ip4 + "/" + prefix + "_Recirc"
860                 flowName = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_" + ip4 + "/" + prefix + "_Recirc"
861                 instructionInfoList = #[
862                     new InstructionApplyActions(#[
863                         new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
864                     ])
865                 ]
866                 matchInfoList = #[
867                     new MatchEthernetType(34525L),
868                     new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F6")),
869                     new MatchEthernetType(34525L),
870                     new MatchIpv6Destination(ip4 + "/" + prefix)
871                 ]
872                 priority = 61010
873                 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
874             ],
875             new FlowEntityBuilder >> [
876                 dpnId = Uint64.valueOf(123bi)
877                 cookie = Uint64.valueOf(110100480bi)
878                 flowId = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_0.0.0.0/0_Recirc"
879                 flowName = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_0.0.0.0/0_Recirc"
880                 instructionInfoList = #[
881                     new InstructionApplyActions(#[
882                         new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
883                     ])
884                 ]
885                 matchInfoList = #[
886                     new MatchEthernetType(34525L),
887                     new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F6")),
888                     new MatchEthernetType(34525L)
889                 ]
890                 priority = 61010
891                 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
892             ],
893             new FlowEntityBuilder >> [
894                 dpnId = Uint64.valueOf(123bi)
895                 cookie = Uint64.valueOf(1085218086715393bi)
896                 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_New"
897                 flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_New"
898                 instructionInfoList = #[
899                     new InstructionApplyActions(#[
900                         new ActionDrop()
901                     ])
902                 ]
903                 matchInfoList = #[
904                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
905                     new NxMatchCtState(32L, 32L)
906                 ]
907                 priority = 50
908                 tableId = NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE
909             ],
910             new FlowEntityBuilder >> [
911                 dpnId = Uint64.valueOf(123bi)
912                 cookie = Uint64.valueOf(1085218086715393bi)
913                 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
914                 flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
915                 instructionInfoList = #[
916                     new InstructionApplyActions(#[
917                         new ActionDrop()
918                     ])
919                 ]
920                 matchInfoList = #[
921                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
922                     new NxMatchCtState(48L, 48L)
923                 ]
924                 priority = 62020
925                 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
926             ]
927         ]
928     }
929
930     static def fixedConntrackEgressFlowsPort4(String ip4, String prefix) {
931         #[
932             new FlowEntityBuilder >> [
933                 dpnId = Uint64.valueOf(123bi)
934                 cookie = Uint64.valueOf(110100480bi)
935                 flowId = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_" + ip4 + "/" + prefix + "_Recirc"
936                 flowName = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_" + ip4 + "/" + prefix + "_Recirc"
937                 instructionInfoList = #[
938                     new InstructionApplyActions(#[
939                         new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
940                     ])
941                 ]
942                 matchInfoList = #[
943                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F6")),
944                     new MatchEthernetType(34525L),
945                     new MatchIpv6Source(ip4 + "/"+ prefix)
946                 ]
947                 priority = 61010
948                 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
949             ],
950             new FlowEntityBuilder >> [
951                 dpnId = Uint64.valueOf(123bi)
952                 cookie = Uint64.valueOf(110100480bi)
953                 flowId = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_0.0.0.0/0_Recirc"
954                 flowName = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_0.0.0.0/0_Recirc"
955                 instructionInfoList = #[
956                     new InstructionApplyActions(#[
957                         new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
958                     ])
959                 ]
960                 matchInfoList = #[
961                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F6")),
962                     new MatchEthernetType(2048L)
963                 ]
964                 priority = 61010
965                 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
966             ],
967             new FlowEntityBuilder >> [
968                 dpnId = Uint64.valueOf(123bi)
969                 cookie = Uint64.valueOf(1085218086715393bi)
970                 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_New"
971                 flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_New"
972                 instructionInfoList = #[
973                     new InstructionApplyActions(#[
974                         new ActionDrop()
975                     ])
976                 ]
977                 matchInfoList = #[
978                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
979                     new NxMatchCtState(32L, 32L)
980                 ]
981                 priority = 50
982                 tableId = NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE
983             ],
984             new FlowEntityBuilder >> [
985                 dpnId = Uint64.valueOf(123bi)
986                 cookie = Uint64.valueOf(1085218086715393bi)
987                 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
988                 flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
989                 instructionInfoList = #[
990                     new InstructionApplyActions(#[
991                         new ActionDrop()
992                     ])
993                 ]
994                 matchInfoList = #[
995                    new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
996                     new NxMatchCtState(48L, 48L)
997                 ]
998                 priority = 62020
999                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1000             ]
1001         ]
1002     }
1003
1004     protected def etherEgressFlowsPort1() {
1005         val theFlowId = "ETHERnullEgress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1006         #[
1007             new FlowEntityBuilder >> [
1008                 dpnId = Uint64.valueOf(123bi)
1009                 cookie = Uint64.valueOf(110100480bi)
1010                 flowId = theFlowId
1011                 flowName = theFlowId
1012                 instructionInfoList = #[
1013                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1014                 ]
1015                 matchInfoList = #[
1016                     new MatchEthernetType(34525L),
1017                     new MatchEthernetType(34525L),
1018                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1019                 ]
1020                 priority = IdHelper.getId(theFlowId)
1021                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1022             ]
1023         ]
1024     }
1025
1026     protected def etheregressFlowPort2() {
1027         val theFlowId = "ETHERnullEgress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1028         #[
1029             new FlowEntityBuilder >> [
1030                 dpnId = Uint64.valueOf(123bi)
1031                 cookie = Uint64.valueOf(110100480bi)
1032                 flowId = theFlowId
1033                 flowName = theFlowId
1034                 instructionInfoList = #[
1035                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1036                 ]
1037                 matchInfoList = #[
1038                     new MatchEthernetType(34525L),
1039                     new MatchEthernetType(34525L),
1040                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1041                 ]
1042                 priority = IdHelper.getId(theFlowId)
1043                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1044             ]
1045         ]
1046     }
1047
1048     protected def tcpIngressFlowPort1() {
1049         val theFlowId = "TCP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1050         #[
1051             new FlowEntityBuilder >> [
1052                 dpnId = Uint64.valueOf(123bi)
1053                 cookie = Uint64.valueOf(110100480bi)
1054                 flowId = theFlowId
1055                 flowName = theFlowId
1056                 instructionInfoList = #[
1057                    new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1058                 ]
1059                 matchInfoList = #[
1060                     new MatchEthernetType(34525L),
1061                     new MatchEthernetType(34525L),
1062                     new NxMatchTcpDestinationPort(80, 65535),
1063                     new MatchIpProtocol(6 as short),
1064                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1065                 ]
1066                 priority = IdHelper.getId(theFlowId)
1067                 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1068             ]
1069         ]
1070     }
1071
1072     protected def tcpIngressFlowPort2() {
1073         val theFlowId = "TCP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1074         #[
1075             new FlowEntityBuilder >> [
1076                 dpnId = Uint64.valueOf(123bi)
1077                 cookie = Uint64.valueOf(110100480bi)
1078                 flowId = theFlowId
1079                 flowName = theFlowId
1080                 instructionInfoList = #[
1081                     new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1082                 ]
1083                 matchInfoList = #[
1084                     new MatchEthernetType(34525L),
1085                     new MatchEthernetType(34525L),
1086                     new NxMatchTcpDestinationPort(80, 65535),
1087                     new MatchIpProtocol(6 as short),
1088                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1089                 ]
1090                 priority = IdHelper.getId(theFlowId)
1091                 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1092             ]
1093         ]
1094     }
1095
1096     protected def tcpEgressFlowPort2() {
1097         val theFlowId = "TCP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1098         #[
1099             new FlowEntityBuilder >> [
1100                 dpnId = Uint64.valueOf(123bi)
1101                 cookie = Uint64.valueOf(110100480bi)
1102                 flowId = theFlowId
1103                 flowName = theFlowId
1104                 instructionInfoList = #[
1105                     new InstructionGotoTable(NwConstants.INGRESS_REMOTE_ACL_TABLE)
1106                 ]
1107                 matchInfoList = #[
1108                     new MatchEthernetType(34525L),
1109                     new MatchEthernetType(34525L),
1110                     new NxMatchTcpDestinationPort(80, 65535),
1111                     new MatchIpProtocol(6 as short),
1112                     new MatchMetadata(Uint64.valueOf(1085217976614944bi), Uint64.valueOf(1152920405111996400bi))
1113                 ]
1114                 priority = IdHelper.getId(theFlowId)
1115                 tableId = NwConstants.INGRESS_ACL_RULE_BASED_FILTER_TABLE
1116             ]
1117         ]
1118     }
1119
1120     protected def udpEgressFlowsPort1() {
1121         val theFlowId = "UDP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1122         #[
1123              new FlowEntityBuilder >> [
1124                 dpnId = Uint64.valueOf(123bi)
1125                 cookie = Uint64.valueOf(110100480bi)
1126                 flowId = theFlowId
1127                 flowName = theFlowId
1128                 instructionInfoList = #[
1129                      new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1130                 ]
1131                 matchInfoList = #[
1132                     new MatchEthernetType(34525L),
1133                     new MatchEthernetType(34525L),
1134                     new NxMatchUdpDestinationPort(80, 65535),
1135                     new MatchIpProtocol(17 as short),
1136                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1137                 ]
1138                 priority = IdHelper.getId(theFlowId)
1139                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1140             ]
1141         ]
1142     }
1143
1144     protected def udpIngressFlowsPort2() {
1145         val theFlowId = "UDP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1146         #[
1147             new FlowEntityBuilder >> [
1148                 dpnId = Uint64.valueOf(123bi)
1149                 cookie = Uint64.valueOf(110100480bi)
1150                 flowId = theFlowId
1151                 flowName = theFlowId
1152                 instructionInfoList = #[
1153                     new InstructionGotoTable(NwConstants.EGRESS_REMOTE_ACL_TABLE)
1154                 ]
1155                 matchInfoList = #[
1156                     new MatchEthernetType(34525L),
1157                     new MatchEthernetType(34525L),
1158                     new NxMatchUdpDestinationPort(80, 65535),
1159                     new MatchIpProtocol(17 as short),
1160                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1161                     new MatchMetadata(Uint64.valueOf(32bi), Uint64.valueOf(16777200bi))
1162                 ]
1163                 priority = IdHelper.getId(theFlowId)
1164                 tableId = NwConstants.EGRESS_ACL_RULE_BASED_FILTER_TABLE
1165             ]
1166         ]
1167     }
1168
1169     protected def udpEgressFlowsPort2() {
1170         val theFlowId = "UDP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1171         #[
1172             new FlowEntityBuilder >> [
1173                 dpnId = Uint64.valueOf(123bi)
1174                 cookie = Uint64.valueOf(110100480bi)
1175                 flowId = theFlowId
1176                 flowName = theFlowId
1177                 instructionInfoList = #[
1178                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1179                 ]
1180                 matchInfoList = #[
1181                     new MatchEthernetType(34525L),
1182                     new MatchEthernetType(34525L),
1183                     new NxMatchUdpDestinationPort(80, 65535),
1184                     new MatchIpProtocol(17 as short),
1185                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1186                 ]
1187                 priority = IdHelper.getId(theFlowId)
1188                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1189             ]
1190         ]
1191     }
1192
1193     protected def icmpIngressFlowsPort1() {
1194         val theFlowId = "ICMP_V6_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1195         #[
1196             new FlowEntityBuilder >> [
1197                 dpnId = Uint64.valueOf(123bi)
1198                 cookie = Uint64.valueOf(110100480bi)
1199                 flowId = theFlowId
1200                 flowName = theFlowId
1201                 instructionInfoList = #[
1202                     new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1203                 ]
1204                 matchInfoList = #[
1205                     new MatchEthernetType(34525L),
1206                     new MatchEthernetType(34525L),
1207                     new MatchIcmpv6(2 as short, 3 as short),
1208                     new MatchIpProtocol(58 as short),
1209                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1210                 ]
1211                 priority = IdHelper.getId(theFlowId)
1212                 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1213             ]
1214         ]
1215     }
1216
1217     protected def icmpIngressFlowsPort2() {
1218         val theFlowId = "ICMP_V6_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1219         #[
1220             new FlowEntityBuilder >> [
1221                 dpnId = Uint64.valueOf(123bi)
1222                 cookie = Uint64.valueOf(110100480bi)
1223                 flowId = theFlowId
1224                 flowName = theFlowId
1225                 instructionInfoList = #[
1226                     new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1227                 ]
1228                 matchInfoList = #[
1229                     new MatchEthernetType(34525L),
1230                     new MatchEthernetType(34525L),
1231                     new MatchIcmpv6(2 as short, 3 as short),
1232                     new MatchIpProtocol(58 as short),
1233                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1234                 ]
1235                 priority = IdHelper.getId(theFlowId)
1236                 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1237             ]
1238         ]
1239     }
1240
1241     protected def icmpEgressFlowsPort2() {
1242         val theFlowId = "ICMP_V6_DESTINATION_23_Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1243         #[
1244             new FlowEntityBuilder >> [
1245                 dpnId = Uint64.valueOf(123bi)
1246                 cookie = Uint64.valueOf(110100480bi)
1247                 flowId = theFlowId
1248                 flowName = theFlowId
1249                 instructionInfoList = #[
1250                     new InstructionGotoTable(NwConstants.INGRESS_REMOTE_ACL_TABLE)
1251                 ]
1252                 matchInfoList = #[
1253                     new MatchEthernetType(34525L),
1254                     new MatchEthernetType(34525L),
1255                     new MatchIcmpv6(2 as short, 3 as short),
1256                     new MatchIpProtocol(58 as short),
1257                     new MatchMetadata(Uint64.valueOf(1085217976614944bi), Uint64.valueOf(1152920405111996400bi))
1258                 ]
1259                 priority = IdHelper.getId(theFlowId)
1260                 tableId = NwConstants.INGRESS_ACL_RULE_BASED_FILTER_TABLE
1261             ]
1262         ]
1263     }
1264
1265     protected def udpIngressPortRangeFlows() {
1266         val theFlowId = "UDP_DESTINATION_2000_65532Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1267         #[
1268             new FlowEntityBuilder >> [
1269                 dpnId = Uint64.valueOf(123bi)
1270                 cookie = Uint64.valueOf(110100480bi)
1271                 flowId = theFlowId
1272                 flowName = theFlowId
1273                 instructionInfoList = #[
1274                     new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1275                 ]
1276                 matchInfoList = #[
1277                     new MatchEthernetType(34525L),
1278                     new MatchEthernetType(34525L),
1279                     new NxMatchUdpDestinationPort(2000, 65532),
1280                     new MatchIpProtocol(17 as short),
1281                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1282                 ]
1283                 priority = IdHelper.getId(theFlowId)
1284                 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1285             ]
1286         ]
1287     }
1288
1289     protected def tcpEgressRangeFlows() {
1290         val flowId1 = "TCP_DESTINATION_776_65534Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1291         val flowId2 = "TCP_DESTINATION_512_65280Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1292         val flowId3 = "TCP_DESTINATION_334_65534Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1293         val flowId4 = "TCP_DESTINATION_333_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1294         val flowId5 = "TCP_DESTINATION_336_65520Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1295         val flowId6 = "TCP_DESTINATION_352_65504Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1296         val flowId7 = "TCP_DESTINATION_384_65408Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1297         val flowId8 = "TCP_DESTINATION_768_65528Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1298         #[
1299             new FlowEntityBuilder >> [
1300                 dpnId = Uint64.valueOf(123bi)
1301                 cookie = Uint64.valueOf(110100480bi)
1302                 flowId = flowId1
1303                 flowName = flowId1
1304                 instructionInfoList = #[
1305                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1306                 ]
1307                 matchInfoList = #[
1308                     new MatchEthernetType(34525L),
1309                     new MatchEthernetType(34525L),
1310                     new NxMatchTcpDestinationPort(776, 65534),
1311                     new MatchIpProtocol(6 as short),
1312                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1313                 ]
1314                 priority = IdHelper.getId(flowId1)
1315                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1316             ],
1317             new FlowEntityBuilder >> [
1318                 dpnId = Uint64.valueOf(123bi)
1319                 cookie = Uint64.valueOf(110100480bi)
1320                 flowId = flowId2
1321                 flowName = flowId2
1322                 instructionInfoList = #[
1323                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1324                 ]
1325                 matchInfoList = #[
1326                     new MatchEthernetType(34525L),
1327                     new MatchEthernetType(34525L),
1328                     new NxMatchTcpDestinationPort(512, 65280),
1329                     new MatchIpProtocol(6 as short),
1330                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1331                 ]
1332                 priority = IdHelper.getId(flowId2)
1333                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1334             ],
1335             new FlowEntityBuilder >> [
1336                 dpnId = Uint64.valueOf(123bi)
1337                 cookie = Uint64.valueOf(110100480bi)
1338                 flowId = flowId3
1339                 flowName = flowId3
1340                 instructionInfoList = #[
1341                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1342                 ]
1343                 matchInfoList = #[
1344                     new MatchEthernetType(34525L),
1345                     new MatchEthernetType(34525L),
1346                     new NxMatchTcpDestinationPort(334, 65534),
1347                     new MatchIpProtocol(6 as short),
1348                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1349                 ]
1350                 priority = IdHelper.getId(flowId3)
1351                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1352             ],
1353             new FlowEntityBuilder >> [
1354                 dpnId = Uint64.valueOf(123bi)
1355                 cookie = Uint64.valueOf(110100480bi)
1356                 flowId = flowId4
1357                 flowName = flowId4
1358                 instructionInfoList = #[
1359                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1360                 ]
1361                 matchInfoList = #[
1362                     new MatchEthernetType(34525L),
1363                     new MatchEthernetType(34525L),
1364                     new NxMatchTcpDestinationPort(333, 65535),
1365                     new MatchIpProtocol(6 as short),
1366                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1367                 ]
1368                 priority = IdHelper.getId(flowId4)
1369                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1370             ],
1371             new FlowEntityBuilder >> [
1372                 dpnId = Uint64.valueOf(123bi)
1373                 cookie = Uint64.valueOf(110100480bi)
1374                 flowId = flowId5
1375                 flowName = flowId5
1376                 instructionInfoList = #[
1377                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1378                 ]
1379                 matchInfoList = #[
1380                     new MatchEthernetType(34525L),
1381                     new MatchEthernetType(34525L),
1382                     new NxMatchTcpDestinationPort(336, 65520),
1383                     new MatchIpProtocol(6 as short),
1384                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1385                 ]
1386                 priority = IdHelper.getId(flowId5)
1387                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1388             ],
1389             new FlowEntityBuilder >> [
1390                 dpnId = Uint64.valueOf(123bi)
1391                 cookie = Uint64.valueOf(110100480bi)
1392                 flowId = flowId6
1393                 flowName = flowId6
1394                 instructionInfoList = #[
1395                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1396                 ]
1397                 matchInfoList = #[
1398                     new MatchEthernetType(34525L),
1399                     new MatchEthernetType(34525L),
1400                     new NxMatchTcpDestinationPort(352, 65504),
1401                     new MatchIpProtocol(6 as short),
1402                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1403                 ]
1404                 priority = IdHelper.getId(flowId6)
1405                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1406             ],
1407             new FlowEntityBuilder >> [
1408                 dpnId = Uint64.valueOf(123bi)
1409                 cookie = Uint64.valueOf(110100480bi)
1410                 flowId = flowId7
1411                 flowName = flowId7
1412                 instructionInfoList = #[
1413                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1414                 ]
1415                 matchInfoList = #[
1416                     new MatchEthernetType(34525L),
1417                     new MatchEthernetType(34525L),
1418                     new NxMatchTcpDestinationPort(384, 65408),
1419                     new MatchIpProtocol(6 as short),
1420                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1421                 ]
1422                 priority = IdHelper.getId(flowId7)
1423                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1424             ],
1425             new FlowEntityBuilder >> [
1426                 dpnId = Uint64.valueOf(123bi)
1427                 cookie = Uint64.valueOf(110100480bi)
1428                 flowId = flowId8
1429                 flowName = flowId8
1430                 instructionInfoList = #[
1431                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1432                 ]
1433                 matchInfoList = #[
1434                     new MatchEthernetType(34525L),
1435                     new MatchEthernetType(34525L),
1436                     new NxMatchTcpDestinationPort(768, 65528),
1437                     new MatchIpProtocol(6 as short),
1438                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1439                 ]
1440                 priority = IdHelper.getId(flowId8)
1441                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1442             ]
1443         ]
1444     }
1445
1446     protected def udpIngressAllFlows() {
1447         val theFlowId = "UDP_DESTINATION_1_0Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1448         #[
1449             new FlowEntityBuilder >> [
1450                 dpnId = Uint64.valueOf(123bi)
1451                 cookie = Uint64.valueOf(110100480bi)
1452                 flowId = theFlowId
1453                 flowName = theFlowId
1454                 instructionInfoList = #[
1455                     new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1456                 ]
1457                 matchInfoList = #[
1458                     new MatchEthernetType(34525L),
1459                     new MatchEthernetType(34525L),
1460                     new MatchIpProtocol(17 as short),
1461                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1462                 ]
1463                 priority = IdHelper.getId(theFlowId)
1464                 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1465             ]
1466         ]
1467     }
1468
1469     protected def tcpEgressAllFlows() {
1470         val theFlowId = "TCP_DESTINATION_1_0Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1471          #[
1472              new FlowEntityBuilder >> [
1473                 dpnId = Uint64.valueOf(123bi)
1474                 cookie = Uint64.valueOf(110100480bi)
1475                 flowId = theFlowId
1476                 flowName = theFlowId
1477                 instructionInfoList = #[
1478                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1479                 ]
1480                 matchInfoList = #[
1481                     new MatchEthernetType(34525),
1482                     new MatchEthernetType(34525),
1483                     new MatchIpProtocol(6 as short),
1484                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1485                 ]
1486                 priority = IdHelper.getId(theFlowId)
1487                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1488             ]
1489          ]
1490
1491      }
1492
1493     protected def icmpIngressFlowsPort3() {
1494         val flowId1 = "ICMP_V6_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1495         val flowId2 = "ICMP_V6_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426a22"
1496         #[
1497             new FlowEntityBuilder >> [
1498                 dpnId = Uint64.valueOf(123bi)
1499                 cookie = Uint64.valueOf(110100480bi)
1500                 flowId = flowId1
1501                 flowName = flowId1
1502                 instructionInfoList = #[
1503                     new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1504                 ]
1505                 matchInfoList = #[
1506                     new MatchEthernetType(34525L),
1507                     new MatchEthernetType(34525L),
1508                     new MatchIcmpv6(2 as short, 3 as short),
1509                     new MatchIpProtocol(58 as short),
1510                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1511                 ]
1512                 priority = IdHelper.getId(flowId1)
1513                 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1514             ],
1515             new FlowEntityBuilder >> [
1516                 dpnId = Uint64.valueOf(123bi)
1517                 cookie = Uint64.valueOf(110100480bi)
1518                 flowId = flowId2
1519                 flowName = flowId2
1520                 instructionInfoList = #[
1521                     new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1522                 ]
1523                 matchInfoList = #[
1524                     new MatchEthernetType(34525L),
1525                     new MatchEthernetType(34525L),
1526                     new MatchIcmpv6(2 as short, 3 as short),
1527                     new MatchIpProtocol(58 as short),
1528                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1529                 ]
1530                 priority = IdHelper.getId(flowId2)
1531                 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1532             ]
1533         ]
1534     }
1535
1536     protected def icmpEgressFlowsPort3() {
1537         val flowId1 = "ICMP_V6_DESTINATION_23_Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1538         val flowId2 = "ICMP_V6_DESTINATION_23_Egress_123_987_85cc3048-abc3-43cc-89b3-377341426a21"
1539         #[
1540             new FlowEntityBuilder >> [
1541                 dpnId = Uint64.valueOf(123bi)
1542                 cookie = Uint64.valueOf(110100480bi)
1543                 flowId = flowId1
1544                 flowName = flowId1
1545                 instructionInfoList = #[
1546                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1547                 ]
1548                 matchInfoList = #[
1549                     new MatchEthernetType(34525L),
1550                     new MatchEthernetType(34525L),
1551                     new MatchIcmpv6(2 as short, 3 as short),
1552                     new MatchIpProtocol(58 as short),
1553                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1554                 ]
1555                 priority = IdHelper.getId(flowId1)
1556                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1557             ],
1558             new FlowEntityBuilder >> [
1559                 dpnId = Uint64.valueOf(123bi)
1560                 cookie = Uint64.valueOf(110100480bi)
1561                 flowId = flowId2
1562                 flowName = flowId2
1563                 instructionInfoList = #[
1564                     new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1565                 ]
1566                 matchInfoList = #[
1567                     new MatchEthernetType(34525L),
1568                     new MatchEthernetType(34525L),
1569                     new MatchIcmpv6(2 as short, 3 as short),
1570                     new MatchIpProtocol(58 as short),
1571                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1572                 ]
1573                 priority = IdHelper.getId(flowId2)
1574                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1575             ]
1576         ]
1577     }
1578
1579     override expectedFlows(String mac, String ip1, String prefix) {
1580         // Code auto. generated by https://github.com/vorburger/xtendbeans
1581         #[
1582             new FlowEntityBuilder >> [
1583                 dpnId = Uint64.valueOf(123bi)
1584                 cookie = Uint64.valueOf(110100480bi)
1585                 flowId = "Ingress_DHCP_Server_v4123_987_Permit_"
1586                 flowName = "Ingress_DHCP_Server_v4123_987_Permit_"
1587                 instructionInfoList = #[
1588                     new InstructionApplyActions(#[
1589                         new ActionNxResubmit(220 as short)
1590                     ])
1591                 ]
1592                 matchInfoList = #[
1593                     new MatchEthernetType(2048L),
1594                     new MatchIpProtocol(17 as short),
1595                     new MatchUdpDestinationPort(68 as short),
1596                     new MatchUdpSourcePort(67 as short),
1597                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1598                 ]
1599                 priority = 63010
1600                 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1601             ],
1602             new FlowEntityBuilder >> [
1603                 dpnId = Uint64.valueOf(123bi)
1604                 cookie = Uint64.valueOf(110100480bi)
1605                 flowId = "Ingress_DHCP_Server_v6_123_987_Permit_"
1606                 flowName = "Ingress_DHCP_Server_v6_123_987_Permit_"
1607                 instructionInfoList = #[
1608                     new InstructionApplyActions(#[
1609                         new ActionNxResubmit(220 as short)
1610                     ])
1611                 ]
1612                 matchInfoList = #[
1613                     new MatchEthernetType(34525L),
1614                     new MatchIpProtocol(17 as short),
1615                     new MatchUdpDestinationPort(546 as short),
1616                     new MatchUdpSourcePort(547 as short),
1617                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1618                 ]
1619                 priority = 63010
1620                 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1621             ],
1622             new FlowEntityBuilder >> [
1623                 dpnId = Uint64.valueOf(123bi)
1624                 cookie = Uint64.valueOf(110100480bi)
1625                 flowId = "Ingress_ICMPv6_123_987_130_Permit_"
1626                 flowName = "Ingress_ICMPv6_123_987_130_Permit_"
1627                 instructionInfoList = #[
1628                     new InstructionApplyActions(#[
1629                         new ActionNxResubmit(220 as short)
1630                     ])
1631                 ]
1632                 matchInfoList = #[
1633                     new MatchEthernetType(34525L),
1634                     new MatchIpProtocol(58 as short),
1635                     new MatchIcmpv6(130 as short, 0 as short),
1636                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1637                 ]
1638                 priority = 63010
1639                 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1640             ],
1641             new FlowEntityBuilder >> [
1642                 dpnId = Uint64.valueOf(123bi)
1643                 cookie = Uint64.valueOf(110100480bi)
1644                 flowId = "Ingress_ICMPv6_123_987_135_Permit_"
1645                 flowName = "Ingress_ICMPv6_123_987_135_Permit_"
1646                 instructionInfoList = #[
1647                     new InstructionApplyActions(#[
1648                         new ActionNxResubmit(220 as short)
1649                     ])
1650                 ]
1651                 matchInfoList = #[
1652                     new MatchEthernetType(34525L),
1653                     new MatchIpProtocol(58 as short),
1654                     new MatchIcmpv6(135 as short, 0 as short),
1655                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1656                 ]
1657                 priority = 63010
1658                 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1659             ],
1660             new FlowEntityBuilder >> [
1661                 dpnId = Uint64.valueOf(123bi)
1662                 cookie = Uint64.valueOf(110100480bi)
1663                 flowId = "Ingress_ICMPv6_123_987_136_Permit_"
1664                 flowName = "Ingress_ICMPv6_123_987_136_Permit_"
1665                 instructionInfoList = #[
1666                     new InstructionApplyActions(#[
1667                         new ActionNxResubmit(220 as short)
1668                     ])
1669                 ]
1670                 matchInfoList = #[
1671                     new MatchEthernetType(34525L),
1672                     new MatchIpProtocol(58 as short),
1673                     new MatchIcmpv6(136 as short, 0 as short),
1674                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1675                 ]
1676                 priority = 63010
1677                 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1678             ],
1679             new FlowEntityBuilder >> [
1680                 cookie = Uint64.valueOf(110100480bi)
1681                 dpnId = Uint64.valueOf(123bi)
1682                 flowId = "Ingress_v4_Broadcast_123_987_10.0.0.255_Permit"
1683                 flowName = "Ingress_v4_Broadcast_123_987_10.0.0.255_Permit"
1684                 hardTimeOut = 0
1685                 idleTimeOut = 0
1686                 instructionInfoList = #[
1687                 new InstructionGotoTable(241 as short)
1688                 ]
1689                 matchInfoList = #[
1690                 new MatchEthernetDestination(new MacAddress("ff:ff:ff:ff:ff:ff")),
1691                 new MatchEthernetType(2048L),
1692                 new MatchIpv4Destination(new Ipv4Prefix("10.0.0.255/32")),
1693                 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1694                 ]
1695                 priority = 61010
1696                sendFlowRemFlag = false
1697                strictFlag = false
1698                tableId = 240 as short
1699             ],
1700             new FlowEntityBuilder >> [
1701                 dpnId = Uint64.valueOf(123bi)
1702                 cookie = Uint64.valueOf(110100480bi)
1703                 flowId = "Ingress_ARP_123_987"
1704                 flowName = "Ingress_ARP_123_987"
1705                 instructionInfoList = #[
1706                     new InstructionApplyActions(#[
1707                         new ActionNxResubmit(220 as short)
1708                     ])
1709                 ]
1710                 matchInfoList = #[
1711                     new MatchEthernetType(2054L),
1712                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1713                 ]
1714                 priority = 63010
1715                 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1716             ],
1717             new FlowEntityBuilder >> [
1718                 dpnId = Uint64.valueOf(123bi)
1719                 cookie = Uint64.valueOf(110100480bi)
1720                 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
1721                 flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
1722                 instructionInfoList = #[
1723                     new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
1724                 ]
1725                 matchInfoList = #[
1726                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1727                     new MatchEthernetDestination(new MacAddress(mac)),
1728                     new MatchEthernetType(34525L),
1729                     new MatchIpv6Destination(ip1 + "/" + prefix)
1730                 ]
1731                 priority = 61010
1732                 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1733             ],
1734             new FlowEntityBuilder >> [
1735                 dpnId = Uint64.valueOf(123bi)
1736                 cookie = Uint64.valueOf(1085218086715393bi)
1737                 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1738                 flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1739                 instructionInfoList = #[
1740                     new InstructionApplyActions(#[
1741                         new ActionDrop()
1742                     ])
1743                 ]
1744                 matchInfoList = #[
1745                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1746                     new NxMatchCtState(48L, 48L)
1747                 ]
1748                 priority = 62020
1749                 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1750             ],
1751             new FlowEntityBuilder >> [
1752                 dpnId = Uint64.valueOf(123bi)
1753                 cookie = Uint64.valueOf(110100480bi)
1754                 flowId = "Egress_DHCP_Client_v6_123_987_" + mac + "_Permit_"
1755                 flowName = "Egress_DHCP_Client_v6_123_987_" + mac + "_Permit_"
1756                 instructionInfoList = #[
1757                     new InstructionApplyActions(#[
1758                         new ActionNxResubmit(17 as short)
1759                     ])
1760                 ]
1761                 matchInfoList = #[
1762                     new MatchEthernetType(34525L),
1763                     new MatchIpProtocol(17 as short),
1764                     new MatchUdpDestinationPort(547 as short),
1765                     new MatchUdpSourcePort(546 as short),
1766                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
1767                     new MatchEthernetSource(new MacAddress(mac))
1768                 ]
1769                 priority = 63010
1770                 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1771             ],
1772             new FlowEntityBuilder >> [
1773                 dpnId = Uint64.valueOf(123bi)
1774                 cookie = Uint64.valueOf(110100480bi)
1775                 flowId = "Egress_ICMPv6_123_987_133_Permit_"
1776                 flowName = "Egress_ICMPv6_123_987_133_Permit_"
1777                 instructionInfoList = #[
1778                     new InstructionApplyActions(#[
1779                         new ActionNxResubmit(17 as short)
1780                     ])
1781                 ]
1782                 matchInfoList = #[
1783                     new MatchEthernetType(34525L),
1784                     new MatchIpProtocol(58 as short),
1785                     new MatchIcmpv6(133 as short, 0 as short),
1786                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1787                 ]
1788                 priority = 63010
1789                 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1790             ],
1791             new FlowEntityBuilder >> [
1792                 dpnId = Uint64.valueOf(123bi)
1793                 cookie = Uint64.valueOf(110100480bi)
1794                 flowId = "Egress_ICMPv6_123_987_135_Permit_"
1795                 flowName = "Egress_ICMPv6_123_987_135_Permit_"
1796                 instructionInfoList = #[
1797                     new InstructionApplyActions(#[
1798                         new ActionNxResubmit(17 as short)
1799                     ])
1800                 ]
1801                 matchInfoList = #[
1802                     new MatchEthernetType(34525L),
1803                     new MatchIpProtocol(58 as short),
1804                     new MatchIcmpv6(135 as short, 0 as short),
1805                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1806                 ]
1807                 priority = 63010
1808                 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1809             ],
1810             new FlowEntityBuilder >> [
1811                 dpnId = Uint64.valueOf(123bi)
1812                 cookie = Uint64.valueOf(110100480bi)
1813                 flowId = "Egress_ICMPv6_123_987_136_Permit_"
1814                 flowName = "Egress_ICMPv6_123_987_136_Permit_"
1815                 instructionInfoList = #[
1816                     new InstructionApplyActions(#[
1817                         new ActionNxResubmit(17 as short)
1818                     ])
1819                 ]
1820                 matchInfoList = #[
1821                     new MatchEthernetType(34525L),
1822                     new MatchIpProtocol(58 as short),
1823                     new MatchIcmpv6(136 as short, 0 as short),
1824                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1825                 ]
1826                 priority = 63010
1827                 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1828             ],
1829             new FlowEntityBuilder >> [
1830                 dpnId = Uint64.valueOf(123bi)
1831                 cookie = Uint64.valueOf(110100480bi)
1832                 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
1833                 flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
1834                 instructionInfoList = #[
1835                     new InstructionGotoTable(211 as short)
1836                 ]
1837                 matchInfoList = #[
1838                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
1839                     new MatchEthernetSource(new MacAddress(mac)),
1840                     new MatchEthernetType(34525L),
1841                     new MatchIpv6Source(ip1 + "/"+ prefix)
1842                 ]
1843                 priority = 61010
1844                 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1845             ],
1846             new FlowEntityBuilder >> [
1847                 dpnId = Uint64.valueOf(123bi)
1848                 cookie = Uint64.valueOf(1085218086715393bi)
1849                 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1850                 flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1851                 instructionInfoList = #[
1852                     new InstructionApplyActions(#[
1853                         new ActionDrop()
1854                     ])
1855                 ]
1856                 matchInfoList = #[
1857                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
1858                     new NxMatchCtState(48L, 48L)
1859                 ]
1860                 priority = 62020
1861                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1862             ],
1863             new FlowEntityBuilder >> [
1864                 dpnId = Uint64.valueOf(123bi)
1865                 cookie = Uint64.valueOf(110100480bi)
1866                 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[34525]_Recirc"
1867                 flowName = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[34525]_Recirc"
1868                    instructionInfoList = #[
1869                 new InstructionApplyActions(#[
1870                     new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
1871                 ])
1872             ]
1873             matchInfoList = #[
1874                 new MatchEthernetType(34525L),
1875                 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1876                 ]
1877                 priority = 100
1878                 tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
1879             ],
1880             new FlowEntityBuilder >> [
1881                 dpnId = Uint64.valueOf(123bi)
1882                 cookie = Uint64.valueOf(110100480bi)
1883                 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[34525]_Recirc"
1884                 flowName = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[34525]_Recirc"
1885                 instructionInfoList = #[
1886                     new InstructionApplyActions(#[
1887                         new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
1888                     ])
1889                 ]
1890                 matchInfoList = #[
1891                     new MatchEthernetType(34525L),
1892                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1893                 ]
1894                 priority = 100
1895                 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
1896             ],
1897             new FlowEntityBuilder >> [
1898                 dpnId = Uint64.valueOf(123bi)
1899                 cookie = Uint64.valueOf(110100480bi)
1900                 flowId = "Egress_L2Broadcast_123_987_" + mac
1901                 flowName = "Egress_L2Broadcast_123_987_" + mac
1902                 instructionInfoList = #[
1903                     new InstructionApplyActions(#[
1904                         new ActionNxResubmit(17 as short)
1905                     ])
1906                 ]
1907                 matchInfoList = #[
1908                     new MatchEthernetSource(new MacAddress(mac)),
1909                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1910                 ]
1911                 priority = 61005
1912                 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1913             ],
1914             new FlowEntityBuilder >> [
1915                 dpnId = Uint64.valueOf(123bi)
1916                 cookie = Uint64.valueOf(110100480bi)
1917                 flowId = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
1918                 flowName = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
1919                 instructionInfoList = #[
1920                     new InstructionApplyActions(#[
1921                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
1922                             Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
1923                         ),
1924                         new ActionNxCtClear(),
1925                         new ActionNxResubmit(220 as short)
1926                     ])
1927                 ]
1928                 matchInfoList = #[
1929                     new MatchEthernetType(2048L),
1930                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1931                     new MatchMetadata(Uint64.valueOf(0bi), Uint64.valueOf(2bi))
1932                     ]
1933                 priority = 100
1934                 tableId = 247 as short
1935             ],
1936             new FlowEntityBuilder >> [
1937                 dpnId = Uint64.valueOf(123bi)
1938                 cookie = Uint64.valueOf(110100480bi)
1939                 flowId = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
1940                 flowName = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
1941                 instructionInfoList = #[
1942                     new InstructionApplyActions(#[
1943                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
1944                             Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
1945                         ),
1946                         new ActionNxCtClear(),
1947                         new ActionNxResubmit(220 as short)
1948                     ])
1949                 ]
1950                 matchInfoList = #[
1951                     new MatchEthernetType(34525L),
1952                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1953                     new MatchMetadata(Uint64.valueOf(0bi), Uint64.valueOf(2bi))
1954                 ]
1955                 priority = 100
1956                 tableId = 247 as short
1957             ],
1958             new FlowEntityBuilder >> [
1959                 dpnId = Uint64.valueOf(123bi)
1960                 cookie = Uint64.valueOf(110100480bi)
1961                 flowId = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
1962                 flowName = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
1963                 instructionInfoList = #[
1964                     new InstructionApplyActions(#[
1965                     new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
1966                             Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
1967                     ),
1968                     new ActionNxCtClear(),
1969                     new ActionNxResubmit(17 as short)
1970                     ])
1971                 ]
1972                 matchInfoList = #[
1973                     new MatchEthernetType(2048L),
1974                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), Uint64.valueOf(1152920405095219202bi))
1975                 ]
1976                 priority = 100
1977                 tableId = 217 as short
1978             ],
1979             new FlowEntityBuilder >> [
1980                 dpnId = Uint64.valueOf(123bi)
1981                 cookie = Uint64.valueOf(110100480bi)
1982                 flowId = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
1983                 flowName = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
1984                 instructionInfoList = #[
1985                     new InstructionApplyActions(#[
1986                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
1987                             Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
1988                         ),
1989                         new ActionNxCtClear(),
1990                         new ActionNxResubmit(17 as short)
1991                     ])
1992                 ]
1993                 matchInfoList = #[
1994                     new MatchEthernetType(34525L),
1995                         new MatchMetadata(Uint64.valueOf(1085217976614912bi), Uint64.valueOf(1152920405095219202bi))
1996                 ]
1997                 priority = 100
1998                 tableId = 217 as short
1999             ],
2000             new FlowEntityBuilder >> [
2001                 dpnId = Uint64.valueOf(123bi)
2002                 cookie = Uint64.valueOf(110100480bi)
2003                 flowId = "Egress_Acl_Commit_Non_Conntrack_123_987"
2004                 flowName = "Egress_Acl_Commit_Non_Conntrack_123_987"
2005                 instructionInfoList = #[
2006                     new InstructionApplyActions(#[
2007                         new ActionNxResubmit(17 as short)
2008                     ])
2009                 ]
2010                 matchInfoList = #[
2011                 new MatchMetadata(Uint64.valueOf(1085217976614914bi), Uint64.valueOf(1152920405095219202bi))
2012                 ]
2013                 priority = 100
2014                 tableId = 217 as short
2015             ],
2016             new FlowEntityBuilder >> [
2017                 dpnId = Uint64.valueOf(123bi)
2018                 cookie = Uint64.valueOf(1085218086715393bi)
2019                 flowId = "Egress_123_987_Drop"
2020                 flowName = "Egress_123_987_Drop"
2021                 instructionInfoList = #[
2022                     new InstructionApplyActions(#[
2023                         new ActionDrop()
2024                     ])
2025                 ]
2026                 matchInfoList = #[
2027                    new MatchMetadata(Uint64.valueOf(1085217976614916bi), Uint64.valueOf(new BigInteger("0FFFFF0000000004", 16)))
2028                 ]
2029                 priority = 62020
2030                 tableId = 217 as short
2031             ],
2032             new FlowEntityBuilder >> [
2033                 dpnId = Uint64.valueOf(123bi)
2034                 cookie = Uint64.valueOf(110100480bi)
2035                 flowId = "Ingress_Acl_Commit_Non_Conntrack_123_987"
2036                 flowName = "Ingress_Acl_Commit_Non_Conntrack_123_987"
2037                 instructionInfoList = #[
2038                     new InstructionApplyActions(#[
2039                     new ActionNxResubmit(220 as short)
2040                     ])
2041                 ]
2042                 matchInfoList = #[
2043                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2044                     new MatchMetadata(Uint64.valueOf(2bi), Uint64.valueOf(2bi))
2045                 ]
2046                 priority = 100
2047                 tableId = 247 as short
2048             ],
2049             new FlowEntityBuilder >> [
2050                 dpnId = Uint64.valueOf(123bi)
2051                 cookie = Uint64.valueOf(1085218086715393bi)
2052                 flowId = "Ingress_123_987_Drop"
2053                 flowName = "Ingress_123_987_Drop"
2054                 instructionInfoList = #[
2055                     new InstructionApplyActions(#[
2056                         new ActionDrop()
2057                     ])
2058                 ]
2059                 matchInfoList = #[
2060                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2061                     new MatchMetadata(Uint64.valueOf(4bi), Uint64.valueOf(4bi))
2062                 ]
2063                 priority = 62020
2064                 tableId = 247 as short
2065             ],
2066             new FlowEntityBuilder >> [
2067                 dpnId = Uint64.valueOf(123bi)
2068                 cookie = Uint64.valueOf(1085218086715393bi)
2069                 flowId = "Ingress_Fixed_Acl_Rule_Miss_Drop_123_987"
2070                 flowName = "Ingress_Fixed_Acl_Rule_Miss_Drop_123_987"
2071                 instructionInfoList = #[
2072                     new InstructionApplyActions(#[
2073                         new ActionDrop()
2074                     ])
2075                 ]
2076                 matchInfoList = #[
2077                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
2078                 ]
2079                 priority = 50
2080                 tableId = 244 as short
2081             ],
2082             new FlowEntityBuilder >> [
2083                 dpnId = Uint64.valueOf(123bi)
2084                 cookie = Uint64.valueOf(1085218086715393bi)
2085                 flowId = "Egress_Fixed_Acl_Rule_Miss_Drop_123_987"
2086                 flowName = "Egress_Fixed_Acl_Rule_Miss_Drop_123_987"
2087                 instructionInfoList = #[
2088                     new InstructionApplyActions(#[
2089                         new ActionDrop()
2090                     ])
2091                 ]
2092                 matchInfoList = #[
2093                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
2094                 ]
2095                 priority = 50
2096                 tableId = 214 as short
2097             ]
2098         ]
2099     }
2100
2101     protected def ingressCommitConntrack1() {
2102         val flowId1 = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
2103         val flowId2 = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2104         #[
2105             new FlowEntityBuilder >> [
2106                     dpnId = Uint64.valueOf(123bi)
2107                     cookie = Uint64.valueOf(110100480bi)
2108                     flowId = flowId1
2109                     flowName = flowId1
2110                     instructionInfoList = #[
2111                         new InstructionApplyActions(#[
2112                             new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2113                                 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE)
2114                                 )
2115                             ),
2116                             new ActionNxCtClear(),
2117                             new ActionNxResubmit(220 as short)
2118                         ])
2119                     ]
2120                     matchInfoList = #[
2121                         new MatchEthernetType(2048L),
2122                         new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2123                         new MatchMetadata(Uint64.valueOf(0bi), Uint64.valueOf(2bi))
2124                     ]
2125                     priority = 100
2126                     tableId = 247 as short
2127             ],
2128             new FlowEntityBuilder >> [
2129                 dpnId = Uint64.valueOf(123bi)
2130                 cookie = Uint64.valueOf(110100480bi)
2131                 flowId = flowId2
2132                 flowName = flowId2
2133                 instructionInfoList = #[
2134                     new InstructionApplyActions(#[
2135                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2136                             Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2137                         ),
2138                         new ActionNxCtClear(),
2139                         new ActionNxResubmit(220 as short)
2140                         ])
2141                     ]
2142                     matchInfoList = #[
2143                         new MatchEthernetType(34525L),
2144                         new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2145                         new MatchMetadata(Uint64.valueOf(0bi), Uint64.valueOf(2bi))
2146                     ]
2147                     priority = 100
2148                     tableId = 247 as short
2149             ]
2150         ]
2151     }
2152
2153     protected def egressCommitConntrack1() {
2154         val flowId1 = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
2155         val flowId2 = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2156         #[
2157             new FlowEntityBuilder >> [
2158                 dpnId = Uint64.valueOf(123bi)
2159                 cookie = Uint64.valueOf(110100480bi)
2160                 flowId = flowId1
2161                 flowName = flowId1
2162                 instructionInfoList = #[
2163                     new InstructionApplyActions(#[
2164                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2165                             Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2166                         ),
2167                         new ActionNxCtClear(),
2168                         new ActionNxResubmit(17 as short)
2169                     ])
2170                 ]
2171                 matchInfoList = #[
2172                     new MatchEthernetType(2048L),
2173                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), Uint64.valueOf(1152920405095219202bi))
2174                 ]
2175                 priority = 100
2176                 tableId = 217 as short
2177             ],
2178             new FlowEntityBuilder >> [
2179                 dpnId = Uint64.valueOf(123bi)
2180                 cookie = Uint64.valueOf(110100480bi)
2181                 flowId = flowId2
2182                 flowName = flowId2
2183                 instructionInfoList = #[
2184                     new InstructionApplyActions(#[
2185                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2186                             Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2187                         ),
2188                         new ActionNxCtClear(),
2189                         new ActionNxResubmit(17 as short)
2190                     ])
2191                 ]
2192                 matchInfoList = #[
2193                     new MatchEthernetType(34525L),
2194                         new MatchMetadata(Uint64.valueOf(1085217976614912bi), Uint64.valueOf(1152920405095219202bi))
2195                 ]
2196                 priority = 100
2197                 tableId = 217 as short
2198             ]
2199         ]
2200     }
2201
2202     protected def egressCommitNonConntrack1() {
2203         val flowId1 = "Egress_Acl_Commit_Non_Conntrack_123_987"
2204         #[
2205             new FlowEntityBuilder >> [
2206                 dpnId = Uint64.valueOf(123bi)
2207                 cookie = Uint64.valueOf(110100480bi)
2208                 flowId = flowId1
2209                 flowName = flowId1
2210                 instructionInfoList = #[
2211                     new InstructionApplyActions(#[
2212                     new ActionNxResubmit(17 as short)
2213                     ])
2214                 ]
2215                 matchInfoList = #[
2216                     new MatchMetadata(Uint64.valueOf(1085217976614914bi), Uint64.valueOf(1152920405095219202bi))
2217                 ]
2218                 priority = 100
2219                 tableId = 217 as short
2220             ],
2221             new FlowEntityBuilder >> [
2222                 dpnId = Uint64.valueOf(123bi)
2223                 cookie = Uint64.valueOf(1085218086715393bi)
2224                 flowId = "Egress_123_987_Drop"
2225                 flowName = "Egress_123_987_Drop"
2226                 instructionInfoList = #[
2227                     new InstructionApplyActions(#[
2228                         new ActionDrop()
2229                     ])
2230                 ]
2231                 matchInfoList = #[
2232                     new MatchMetadata(Uint64.valueOf(1085217976614916bi), Uint64.valueOf(new BigInteger("0FFFFF0000000004", 16)))
2233                 ]
2234                 priority = 62020
2235                 tableId = 217 as short
2236             ]
2237         ]
2238     }
2239
2240     protected def ingressCommitNonConntrack1() {
2241         val flowId1 = "Ingress_Acl_Commit_Non_Conntrack_123_987"
2242         #[
2243             new FlowEntityBuilder >> [
2244                 dpnId = Uint64.valueOf(123bi)
2245                 cookie = Uint64.valueOf(110100480bi)
2246                 flowId = flowId1
2247                 flowName = flowId1
2248                 instructionInfoList = #[
2249                     new InstructionApplyActions(#[
2250                         new ActionNxResubmit(220 as short)
2251                     ])
2252                 ]
2253                  matchInfoList = #[
2254                      new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2255                          new MatchMetadata(Uint64.valueOf(2bi), Uint64.valueOf(2bi))
2256                      ]
2257                  priority = 100
2258                  tableId = 247 as short
2259             ],
2260             new FlowEntityBuilder >> [
2261                 dpnId = Uint64.valueOf(123bi)
2262                 cookie = Uint64.valueOf(1085218086715393bi)
2263                 flowId = "Ingress_123_987_Drop"
2264                 flowName = "Ingress_123_987_Drop"
2265                 instructionInfoList = #[
2266                     new InstructionApplyActions(#[
2267                         new ActionDrop()
2268                     ])
2269                 ]
2270                 matchInfoList = #[
2271                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2272                     new MatchMetadata(Uint64.valueOf(4bi), Uint64.valueOf(4bi))
2273                 ]
2274                 priority = 62020
2275                 tableId = 247 as short
2276             ]
2277         ]
2278     }
2279
2280     protected def ingressfixedAclMissDrop1() {
2281         val flowId1 = "Ingress_Fixed_Acl_Rule_Miss_Drop_123_987"
2282         #[
2283             new FlowEntityBuilder >> [
2284                 dpnId = Uint64.valueOf(123bi)
2285                 cookie = Uint64.valueOf(1085218086715393bi)
2286                 flowId = flowId1
2287                 flowName = flowId1
2288                 instructionInfoList = #[
2289                     new InstructionApplyActions(#[
2290                         new ActionDrop()
2291                     ])
2292                 ]
2293                 matchInfoList = #[
2294                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
2295                 ]
2296                 priority = 50
2297                 tableId = 244 as short
2298             ]
2299         ]
2300     }
2301
2302     protected def egressfixedAclMissDrop1() {
2303         val flowId1 = "Egress_Fixed_Acl_Rule_Miss_Drop_123_987"
2304         #[
2305             new FlowEntityBuilder >> [
2306                 dpnId = Uint64.valueOf(123bi)
2307                 cookie = Uint64.valueOf(1085218086715393bi)
2308                 flowId = flowId1
2309                 flowName = flowId1
2310                 instructionInfoList = #[
2311                     new InstructionApplyActions(#[
2312                         new ActionDrop()
2313                     ])
2314                 ]
2315                 matchInfoList = #[
2316                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
2317                 ]
2318                 priority = 50
2319                 tableId = 214 as short
2320             ]
2321         ]
2322     }
2323
2324     protected def ingressDispatcherFirst() {
2325         val flowId1 = "Ingress_ACL_Dispatcher_First_123_987_2"
2326         #[
2327             new FlowEntityBuilder >> [
2328                 dpnId = Uint64.valueOf(123bi)
2329                 cookie = Uint64.valueOf(110100480bi)
2330                 flowId = flowId1
2331                 flowName = flowId1
2332                 instructionInfoList = #[
2333                     new InstructionGotoTable(245 as short),
2334                     new InstructionWriteMetadata(Uint64.valueOf(32bi), Uint64.valueOf(16777200bi))
2335                 ]
2336                 matchInfoList = #[
2337                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
2338                 ]
2339                 priority = IdHelper.getId(flowId1)
2340                 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2341             ]
2342         ]
2343     }
2344
2345     protected def ingressDispatcherLast() {
2346         val flowId1 = "Ingress_ACL_Dispatcher_Last_123_987_2"
2347         #[
2348             new FlowEntityBuilder >> [
2349                 dpnId = Uint64.valueOf(123bi)
2350                 cookie = Uint64.valueOf(1085218086715393bi)
2351                 flowId = flowId1
2352                 flowName = flowId1
2353                 instructionInfoList = #[
2354                     new InstructionApplyActions(#[
2355                         new ActionDrop()
2356                     ])
2357                 ]
2358                 matchInfoList = #[
2359                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2360                     new MatchMetadata(Uint64.valueOf(32bi), Uint64.valueOf(16777200bi))
2361                 ]
2362                 priority = IdHelper.getId(flowId1)
2363                 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2364             ]
2365         ]
2366     }
2367
2368     protected def egressDispatcherFirst() {
2369         val flowId1 = "Egress_ACL_Dispatcher_First_123_987_2"
2370         #[
2371             new FlowEntityBuilder >> [
2372                 dpnId = Uint64.valueOf(123bi)
2373                 cookie = Uint64.valueOf(110100480bi)
2374                 flowId = flowId1
2375                 flowName = flowId1
2376                 instructionInfoList = #[
2377                     new InstructionGotoTable(215 as short),
2378                     new InstructionWriteMetadata(Uint64.valueOf(32bi), Uint64.valueOf(16777200bi))
2379                 ]
2380                 matchInfoList = #[
2381                     new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
2382                 ]
2383                 priority = IdHelper.getId(flowId1)
2384                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2385             ]
2386         ]
2387     }
2388
2389     protected def egressDispatcherLast() {
2390         val flowId1 = "Egress_ACL_Dispatcher_Last_123_987_2"
2391         #[
2392             new FlowEntityBuilder >> [
2393                 dpnId = Uint64.valueOf(123bi)
2394                 cookie = Uint64.valueOf(1085218086715393bi)
2395                 flowId = flowId1
2396                 flowName = flowId1
2397                 instructionInfoList = #[
2398                     new InstructionApplyActions(#[
2399                         new ActionDrop()
2400                     ])
2401                 ]
2402                 matchInfoList = #[
2403                     new MatchMetadata(Uint64.valueOf(1085217976614944bi), Uint64.valueOf(1152920405111996400bi))
2404                 ]
2405                 priority = IdHelper.getId(flowId1)
2406                 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2407             ]
2408         ]
2409     }
2410
2411     protected def egressDispatcherFirst1() {
2412             val flowId1 = "Egress_ACL_Dispatcher_First_123_987_4"
2413             #[
2414                 new FlowEntityBuilder >> [
2415                     dpnId = Uint64.valueOf(123bi)
2416                     cookie = Uint64.valueOf(110100480bi)
2417                     flowId = flowId1
2418                     flowName = flowId1
2419                     instructionInfoList = #[
2420                         new InstructionGotoTable(215 as short),
2421                         new InstructionWriteMetadata(Uint64.valueOf(64bi), Uint64.valueOf(16777200bi))
2422                     ]
2423                     matchInfoList = #[
2424                         new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
2425                     ]
2426                     priority = IdHelper.getId(flowId1)
2427                     tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2428                 ]
2429             ]
2430         }
2431
2432         protected def egressDispatcherLast1() {
2433             val flowId1 = "Egress_ACL_Dispatcher_Last_123_987_4"
2434             #[
2435                 new FlowEntityBuilder >> [
2436                     dpnId = Uint64.valueOf(123bi)
2437                     cookie = Uint64.valueOf(1085218086715393bi)
2438                     flowId = flowId1
2439                     flowName = flowId1
2440                     instructionInfoList = #[
2441                         new InstructionApplyActions(#[
2442                             new ActionDrop()
2443                         ])
2444                     ]
2445                     matchInfoList = #[
2446                         new MatchMetadata(Uint64.valueOf(1085217976614976bi), Uint64.valueOf(1152920405111996400bi))
2447                     ]
2448                     priority = IdHelper.getId(flowId1)
2449                     tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2450                 ]
2451             ]
2452         }
2453 }