2 * Copyright (c) 2016 Red Hat, Inc. and others. All rights reserved.
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
8 package org.opendaylight.netvirt.aclservice.tests
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.MatchArpSha
19 import org.opendaylight.genius.mdsalutil.matches.MatchArpSpa
20 import org.opendaylight.genius.mdsalutil.matches.MatchEthernetDestination
21 import org.opendaylight.genius.mdsalutil.matches.MatchEthernetSource
22 import org.opendaylight.genius.mdsalutil.matches.MatchEthernetType
23 import org.opendaylight.genius.mdsalutil.matches.MatchIcmpv4
24 import org.opendaylight.genius.mdsalutil.matches.MatchIcmpv6
25 import org.opendaylight.genius.mdsalutil.matches.MatchIpProtocol
26 import org.opendaylight.genius.mdsalutil.matches.MatchIpv4Destination
27 import org.opendaylight.genius.mdsalutil.matches.MatchIpv4Source
28 import org.opendaylight.genius.mdsalutil.matches.MatchMetadata
29 import org.opendaylight.genius.mdsalutil.matches.MatchUdpDestinationPort
30 import org.opendaylight.genius.mdsalutil.matches.MatchUdpSourcePort
31 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchCtState
32 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchRegister
33 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchTcpDestinationPort
34 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchUdpDestinationPort
35 import org.opendaylight.genius.mdsalutil.FlowEntityBuilder
36 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix
37 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress
38 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg6
40 import static extension org.opendaylight.mdsal.binding.testutils.XtendBuilderExtensions.operator_doubleGreaterThan
41 import org.opendaylight.netvirt.aclservice.utils.AclConstants
42 import org.opendaylight.yangtools.yang.common.Uint64
43 import java.math.BigInteger
44 import java.util.Collections
46 import org.opendaylight.genius.mdsalutil.instructions.InstructionWriteMetadata
49 class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
51 protected def etherFlows(String ip1 ,String ip2, String prefix) {
52 egressCommitConntrack1
53 + egressCommitNonConntrack1
54 + egressfixedAclMissDrop1
55 + etheregressFlowPort2
56 + etherEgressFlowsPort1
57 + etherIngressFlowsPort2
58 + fixedConntrackEgressFlowsPort1(ip1, prefix)
59 + fixedConntrackEgressFlowsPort2(ip2, prefix)
60 + fixedConntrackIngressFlowsPort1(ip1, prefix)
61 + fixedConntrackIngressFlowsPort2(ip2, prefix)
62 + fixedEgressFlowsPort1(ip1, prefix)
63 + fixedEgressFlowsPort2(ip2, prefix)
64 + fixedEgressL2BroadcastFlowsPort1
65 + fixedEgressL2BroadcastFlowsPort2
66 + fixedIngressFlowsPort1
67 + fixedIngressFlowsPort2
68 + fixedIngressL3BroadcastFlows(prefix)
69 + ingressCommitConntrack1
70 + ingressCommitNonConntrack1
71 + ingressDispatcherFirst
72 + ingressDispatcherLast
73 + ingressfixedAclMissDrop1
74 + remoteEgressFlowsPort1(ip1, prefix)
75 + remoteEgressFlowsPort2(ip2, prefix)
78 protected def tcpFlows(String ip1 ,String ip2, String prefix) {
79 egressCommitConntrack1
80 + egressCommitNonConntrack1
81 + egressDispatcherFirst
82 + egressDispatcherLast
83 + egressfixedAclMissDrop1
84 + fixedConntrackEgressFlowsPort1(ip1, prefix)
85 + fixedConntrackEgressFlowsPort2(ip2, prefix)
86 + fixedConntrackIngressFlowsPort1(ip1, prefix)
87 + fixedConntrackIngressFlowsPort2(ip2, prefix)
88 + fixedEgressFlowsPort1(ip1, prefix)
89 + fixedEgressFlowsPort2(ip2, prefix)
90 + fixedEgressL2BroadcastFlowsPort1
91 + fixedEgressL2BroadcastFlowsPort2
92 + fixedIngressFlowsPort1
93 + fixedIngressFlowsPort2
94 + fixedIngressL3BroadcastFlows(prefix)
95 + ingressCommitConntrack1
96 + ingressCommitNonConntrack1
97 + ingressfixedAclMissDrop1
98 + remoteIngressFlowsPort1(ip1, prefix)
99 + remoteIngressFlowsPort2(ip2, prefix)
101 + tcpIngressFlowPort1
102 + tcpIngressFlowPort2
105 protected def udpFlows(String ip1 ,String ip2, String prefix) {
106 egressCommitConntrack1
107 + egressCommitNonConntrack1
108 + egressfixedAclMissDrop1
109 + fixedConntrackEgressFlowsPort1(ip1, prefix)
110 + fixedConntrackEgressFlowsPort2(ip2, prefix)
111 + fixedConntrackIngressFlowsPort1(ip1, prefix)
112 + fixedConntrackIngressFlowsPort2(ip2, prefix)
113 + fixedEgressFlowsPort1(ip1, prefix)
114 + fixedEgressFlowsPort2(ip2, prefix)
115 + fixedEgressL2BroadcastFlowsPort1
116 + fixedEgressL2BroadcastFlowsPort2
117 + fixedIngressFlowsPort1
118 + fixedIngressFlowsPort2
119 + fixedIngressL3BroadcastFlows(prefix)
120 + ingressCommitConntrack1
121 + ingressCommitNonConntrack1
122 + ingressDispatcherFirst
123 + ingressDispatcherLast
124 + ingressfixedAclMissDrop1
125 + remoteEgressFlowsPort1(ip1, prefix)
126 + remoteEgressFlowsPort2(ip2, prefix)
127 + udpEgressFlowsPort1
128 + udpEgressFlowsPort2
129 + udpIngressFlowsPort2
132 protected def icmpFlows(String ip1 ,String ip2, String prefix) {
133 egressCommitConntrack1
134 + egressCommitNonConntrack1
135 + egressDispatcherFirst
136 + egressDispatcherLast
137 + egressfixedAclMissDrop1
138 + fixedConntrackEgressFlowsPort1(ip1, prefix)
139 + fixedConntrackEgressFlowsPort2(ip2, prefix)
140 + fixedConntrackIngressFlowsPort1(ip1, prefix)
141 + fixedConntrackIngressFlowsPort2(ip2, prefix)
142 + fixedEgressFlowsPort1(ip1, prefix)
143 + fixedEgressFlowsPort2(ip2, prefix)
144 + fixedEgressL2BroadcastFlowsPort1
145 + fixedEgressL2BroadcastFlowsPort2
146 + fixedIngressFlowsPort1
147 + fixedIngressFlowsPort2
148 + fixedIngressL3BroadcastFlows(prefix)
149 + icmpEgressFlowsPort2
150 + icmpIngressFlowsPort1
151 + icmpIngressFlowsPort2
152 + ingressCommitConntrack1
153 + ingressCommitNonConntrack1
154 + ingressfixedAclMissDrop1
155 + remoteIngressFlowsPort1(ip1, prefix)
156 + remoteIngressFlowsPort2(ip2, prefix)
159 protected def dstRangeFlows(String ip1, String prefix) {
160 egressCommitConntrack1
161 + egressCommitNonConntrack1
162 + egressfixedAclMissDrop1
163 + fixedConntrackEgressFlowsPort1(ip1, prefix)
164 + fixedConntrackIngressFlowsPort1(ip1, prefix)
165 + fixedEgressFlowsPort1(ip1, prefix)
166 + fixedEgressL2BroadcastFlowsPort1
167 + fixedIngressFlowsPort1
168 + fixedIngressL3BroadcastFlows(prefix)
169 + ingressCommitConntrack1
170 + ingressCommitNonConntrack1
171 + ingressfixedAclMissDrop1
172 + tcpEgressRangeFlows
173 + udpIngressPortRangeFlows
176 protected def dstAllFlows(String ip1, String prefix) {
177 egressCommitConntrack1
178 + egressCommitNonConntrack1
179 + egressfixedAclMissDrop1
180 + fixedConntrackEgressFlowsPort1(ip1, prefix)
181 + fixedConntrackIngressFlowsPort1(ip1, prefix)
182 + fixedEgressFlowsPort1(ip1, prefix)
183 + fixedEgressL2BroadcastFlowsPort1
184 + fixedIngressFlowsPort1
185 + fixedIngressL3BroadcastFlows(prefix)
186 + ingressCommitConntrack1
187 + ingressCommitNonConntrack1
188 + ingressfixedAclMissDrop1
193 protected def icmpFlowsForTwoAclsHavingSameRules(String ip3, String prefix) {
194 egressCommitConntrack1
195 + egressCommitNonConntrack1
196 + egressfixedAclMissDrop1
197 + fixedConntrackEgressFlowsPort3(ip3, prefix)
198 + fixedConntrackIngressFlowsPort3(ip3, prefix)
199 + fixedEgressFlowsPort3(ip3, prefix)
200 + fixedEgressL2BroadcastFlowsPort3
201 + fixedIngressFlowsPort3
202 + fixedIngressL3BroadcastFlows(prefix)
203 + icmpEgressFlowsPort3
204 + icmpIngressFlowsPort3
205 + ingressCommitConntrack1
206 + ingressCommitNonConntrack1
207 + ingressfixedAclMissDrop1
210 protected def aapWithIpv4AllFlows(String ip1 ,String ip2, String prefix) {
211 icmpFlows(ip1, ip2, prefix)
212 + aapIpv4AllFlowsPort2
215 protected def aapFlows(String ip1 ,String ip2, String ip100, String ip101, String prefix) {
216 icmpFlows(ip1, ip2, prefix)
217 + aapRemoteFlowsPort1(ip100, ip101, prefix)
218 + aapFlowsPort2(ip100, ip101, prefix)
221 protected def multipleAcl(String ip1 ,String ip2, String prefix) {
222 egressCommitConntrack1
223 + egressCommitNonConntrack1
224 + egressDispatcherFirst1
225 + egressDispatcherLast1
226 + egressfixedAclMissDrop1
227 + etheregressFlowPort2
228 + etherEgressFlowsPort1
229 + etherIngressFlowsPort2
230 + fixedConntrackEgressFlowsPort1(ip1, prefix)
231 + fixedConntrackEgressFlowsPort2(ip2, prefix)
232 + fixedConntrackIngressFlowsPort1(ip1, prefix)
233 + fixedConntrackIngressFlowsPort2(ip2, prefix)
234 + fixedEgressFlowsPort1(ip1, prefix)
235 + fixedEgressFlowsPort2(ip2, prefix)
236 + fixedEgressL2BroadcastFlowsPort1
237 + fixedEgressL2BroadcastFlowsPort2
238 + fixedIngressFlowsPort1
239 + fixedIngressFlowsPort2
240 + fixedIngressL3BroadcastFlows(prefix)
241 + ingressCommitConntrack1
242 + ingressCommitNonConntrack1
243 + ingressDispatcherFirst
244 + ingressDispatcherLast
245 + ingressfixedAclMissDrop1
246 + remoteEgressFlowsPort1(ip1, prefix)
247 + remoteEgressFlowsPort2(ip2, prefix)
248 + remoteEgressFlowsPort3(ip2, prefix)
249 + tcpEgressFlowPort2WithRemoteIpSg
250 + tcpIngressFlowPort1WithMultipleSG
251 + remoteEgressFlowsPort3(ip1, prefix)
254 protected def tcpEgressFlowPort2WithRemoteIpSg() {
255 val theFlowId1 ="TCP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426a21"
257 new FlowEntityBuilder >> [
258 dpnId = Uint64.valueOf(123bi)
259 cookie = Uint64.valueOf(110100480bi)
261 flowName = theFlowId1
262 instructionInfoList = #[
263 new InstructionGotoTable(NwConstants.INGRESS_REMOTE_ACL_TABLE)
266 new MatchEthernetType(2048L),
267 new MatchEthernetType(2048L),
268 new NxMatchTcpDestinationPort(80, 65535),
269 new MatchIpProtocol(6 as short),
270 new MatchMetadata(Uint64.valueOf(1085217976614976bi), Uint64.valueOf(1152920405111996400bi))
272 priority = IdHelper.getId(theFlowId1)
273 tableId = NwConstants.INGRESS_ACL_RULE_BASED_FILTER_TABLE
278 protected def tcpIngressFlowPort1WithMultipleSG() {
279 val theFlowId = "TCP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426a22"
281 new FlowEntityBuilder >> [
282 dpnId = Uint64.valueOf(123bi)
283 cookie = Uint64.valueOf(110100480bi)
286 instructionInfoList = #[
287 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
290 new MatchEthernetType(2048L),
291 new MatchEthernetType(2048L),
292 new NxMatchTcpDestinationPort(80, 65535),
293 new MatchIpProtocol(6 as short),
294 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
296 priority = IdHelper.getId(theFlowId)
297 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
302 protected def aapIpv4AllFlowsPort2() {
304 new FlowEntityBuilder >> [
305 dpnId = Uint64.valueOf(123bi)
306 cookie = Uint64.valueOf(110100480bi)
307 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_0.0.0.0/0"
308 flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_0.0.0.0/0"
309 instructionInfoList = #[
310 new InstructionGotoTable(211 as short)
313 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
314 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
315 new MatchEthernetType(2048L)
318 tableId = 210 as short
320 new FlowEntityBuilder >> [
321 dpnId = Uint64.valueOf(123bi)
322 cookie = Uint64.valueOf(110100480bi)
323 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_0.0.0.0/0"
324 flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_0.0.0.0/0"
325 instructionInfoList = #[
326 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
329 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
330 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F4")),
331 new MatchEthernetType(2048L)
334 tableId = 240 as short
336 new FlowEntityBuilder >> [
337 dpnId = Uint64.valueOf(123bi)
338 cookie = Uint64.valueOf(110100480bi)
339 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:F40.0.0.0/0"
340 flowName = "Egress_ARP_123_987_0D:AA:D8:42:30:F40.0.0.0/0"
341 instructionInfoList = #[
342 new InstructionApplyActions(#[
343 new ActionNxResubmit(17 as short)
347 new MatchEthernetType(2054L),
348 new MatchArpSha(new MacAddress("0D:AA:D8:42:30:F4")),
349 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
350 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
353 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
355 new FlowEntityBuilder >> [
356 dpnId = Uint64.valueOf(123bi)
357 cookie = Uint64.valueOf(110100480bi)
358 flowId = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:F4_Permit_"
359 flowName = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:F4_Permit_"
360 instructionInfoList = #[
361 new InstructionApplyActions(#[
362 new ActionNxResubmit(17 as short)
366 new MatchEthernetType(2048L),
367 new MatchIpProtocol(17 as short),
368 new MatchUdpDestinationPort(67 as short),
369 new MatchUdpSourcePort(68 as short),
370 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
371 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4"))
374 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
379 protected def aapRemoteFlowsPort1(String ip100, String ip101, String prefix) {
381 remoteIngressFlowsPort(ip100, prefix),
382 remoteIngressFlowsPort(ip101, prefix)
386 protected def aapFlowsPort2(String ip100, String ip101, String prefix) {
388 new FlowEntityBuilder >> [
389 dpnId = Uint64.valueOf(123bi)
390 cookie = Uint64.valueOf(110100480bi)
391 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip100 + "/" + prefix
392 flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip100 + "/" + prefix
393 instructionInfoList = #[
394 new InstructionGotoTable(211 as short)
397 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
398 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
399 new MatchEthernetType(2048L),
400 new MatchIpv4Source(ip100, prefix)
403 tableId = 210 as short
405 new FlowEntityBuilder >> [
406 dpnId = Uint64.valueOf(123bi)
407 cookie = Uint64.valueOf(110100480bi)
408 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip100 + "/" + prefix
409 flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip100 + "/" + prefix
410 instructionInfoList = #[
411 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
414 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
415 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F4")),
416 new MatchEthernetType(2048L),
417 new MatchIpv4Destination(ip100, prefix)
420 tableId = 240 as short
422 new FlowEntityBuilder >> [
423 dpnId = Uint64.valueOf(123bi)
424 cookie = Uint64.valueOf(110100480bi)
425 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_" + ip101 + "/" + prefix
426 flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_" + ip101 + "/" + prefix
427 instructionInfoList = #[
428 new InstructionGotoTable(211 as short)
431 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
432 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4")),
433 new MatchEthernetType(2048L),
434 new MatchIpv4Source(ip101, prefix)
437 tableId = 210 as short
439 new FlowEntityBuilder >> [
440 dpnId = Uint64.valueOf(123bi)
441 cookie = Uint64.valueOf(110100480bi)
442 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_" + ip101 + "/" + prefix
443 flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_" + ip101 + "/" + prefix
444 instructionInfoList = #[
445 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
448 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
449 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:A4")),
450 new MatchEthernetType(2048L),
451 new MatchIpv4Destination(ip101, prefix)
454 tableId = 240 as short
456 new FlowEntityBuilder >> [
457 dpnId = Uint64.valueOf(123bi)
458 cookie = Uint64.valueOf(110100480bi)
459 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:F4" + ip100 + "/" + prefix
460 flowName = "Egress_ARP_123_987_0D:AA:D8:42:30:F4" + ip100 + "/" + prefix
461 instructionInfoList = #[
462 new InstructionApplyActions(#[
463 new ActionNxResubmit(17 as short)
467 new MatchEthernetType(2054L),
468 new MatchArpSha(new MacAddress("0D:AA:D8:42:30:F4")),
469 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
470 new MatchArpSpa(new Ipv4Prefix(ip100 + "/" + prefix)),
471 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
474 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
476 new FlowEntityBuilder >> [
477 dpnId = Uint64.valueOf(123bi)
478 cookie = Uint64.valueOf(110100480bi)
479 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:A4" + ip101 + "/" + prefix
480 flowName = "Egress_ARP_123_987_0D:AA:D8:42:30:A4" + ip101 + "/" + prefix
481 instructionInfoList = #[
482 new InstructionApplyActions(#[
483 new ActionNxResubmit(17 as short)
487 new MatchEthernetType(2054L),
488 new MatchArpSha(new MacAddress("0D:AA:D8:42:30:A4")),
489 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4")),
490 new MatchArpSpa(new Ipv4Prefix(ip101 + "/" + prefix)),
491 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
494 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
496 new FlowEntityBuilder >> [
497 dpnId = Uint64.valueOf(123bi)
498 cookie = Uint64.valueOf(110100480bi)
499 flowId = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:A4_Permit_"
500 flowName = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:A4_Permit_"
501 instructionInfoList = #[
502 new InstructionApplyActions(#[
503 new ActionNxResubmit(17 as short)
507 new MatchEthernetType(2048L),
508 new MatchIpProtocol(17 as short),
509 new MatchUdpDestinationPort(67 as short),
510 new MatchUdpSourcePort(68 as short),
511 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
512 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4"))
515 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
517 new FlowEntityBuilder >> [
518 dpnId = Uint64.valueOf(123bi)
519 cookie = Uint64.valueOf(110100480bi)
520 flowId = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:F4_Permit_"
521 flowName = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:F4_Permit_"
522 instructionInfoList = #[
523 new InstructionApplyActions(#[
524 new ActionNxResubmit(17 as short)
528 new MatchEthernetType(2048L),
529 new MatchIpProtocol(17 as short),
530 new MatchUdpDestinationPort(67 as short),
531 new MatchUdpSourcePort(68 as short),
532 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
533 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4"))
536 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
538 new FlowEntityBuilder >> [
539 dpnId = Uint64.valueOf(123bi)
540 cookie = Uint64.valueOf(110100480bi)
541 flowId = "Egress_L2Broadcast_123_987_0D:AA:D8:42:30:A4"
542 flowName = "Egress_L2Broadcast_123_987_0D:AA:D8:42:30:A4"
543 instructionInfoList = #[
544 new InstructionApplyActions(#[
545 new ActionNxResubmit(17 as short)
549 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4")),
550 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
553 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
558 protected def fixedConntrackIngressFlowsPort1(String ip1, String prefix) {
560 new FlowEntityBuilder >> [
561 dpnId = Uint64.valueOf(123bi)
562 cookie = Uint64.valueOf(110100480bi)
563 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
564 flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
565 instructionInfoList = #[
566 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
569 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
570 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F3")),
571 new MatchEthernetType(2048L),
572 new MatchIpv4Destination(ip1, prefix)
575 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
577 new FlowEntityBuilder >> [
578 dpnId = Uint64.valueOf(123bi)
579 cookie = Uint64.valueOf(110100480bi)
580 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
581 flowName = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
582 instructionInfoList = #[
583 new InstructionApplyActions(#[
584 new ActionNxConntrack(2, 0, 0, 5000, 243 as short)
588 new MatchEthernetType(2048L),
589 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
592 tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
594 new FlowEntityBuilder >> [
595 dpnId = Uint64.valueOf(123bi)
596 cookie = Uint64.valueOf(1085218086715393bi)
597 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
598 flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
599 instructionInfoList = #[
600 new InstructionApplyActions(#[
605 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
606 new NxMatchCtState(48L, 48L)
609 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
614 protected def etherIngressFlowsPort2() {
615 val theFlowId = "ETHERnullIngress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
617 new FlowEntityBuilder >> [
618 dpnId = Uint64.valueOf(123bi)
619 cookie = Uint64.valueOf(110100480bi)
622 instructionInfoList = #[
623 new InstructionGotoTable(NwConstants.EGRESS_REMOTE_ACL_TABLE)
626 new MatchEthernetType(2048L),
627 new MatchEthernetType(2048L),
628 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
629 new MatchMetadata(Uint64.valueOf(32bi), Uint64.valueOf(16777200bi))
631 priority = IdHelper.getId(theFlowId)
632 tableId = NwConstants.EGRESS_ACL_RULE_BASED_FILTER_TABLE
637 protected def fixedConntrackEgressFlowsPort1(String ip1, String prefix) {
639 new FlowEntityBuilder >> [
640 dpnId = Uint64.valueOf(123bi)
641 cookie = Uint64.valueOf(110100480bi)
642 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
643 flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
644 instructionInfoList = #[
645 new InstructionGotoTable(211 as short)
648 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
649 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F3")),
650 new MatchEthernetType(2048L),
651 new MatchIpv4Source(ip1, prefix)
654 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
656 new FlowEntityBuilder >> [
657 dpnId = Uint64.valueOf(123bi)
658 cookie = Uint64.valueOf(110100480bi)
659 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
660 flowName = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
661 instructionInfoList = #[
662 new InstructionApplyActions(#[
663 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
667 new MatchEthernetType(2048L),
668 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
671 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
673 new FlowEntityBuilder >> [
674 dpnId = Uint64.valueOf(123bi)
675 cookie = Uint64.valueOf(1085218086715393bi)
676 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
677 flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
678 instructionInfoList = #[
679 new InstructionApplyActions(#[
684 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
685 new NxMatchCtState(48L, 48L)
688 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
693 protected def fixedConntrackIngressFlowsPort2(String ip2, String prefix) {
695 new FlowEntityBuilder >> [
696 dpnId = Uint64.valueOf(123bi)
697 cookie = Uint64.valueOf(110100480bi)
698 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip2 + "/" + prefix
699 flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip2 + "/" + prefix
700 instructionInfoList = #[
701 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
704 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
705 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F4")),
706 new MatchEthernetType(2048L),
707 new MatchIpv4Destination(ip2, prefix)
710 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
712 new FlowEntityBuilder >> [
713 dpnId = Uint64.valueOf(123bi)
714 cookie = Uint64.valueOf(110100480bi)
715 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
716 flowName = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
717 instructionInfoList = #[
718 new InstructionApplyActions(#[
719 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
723 new MatchEthernetType(2048L),
724 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
727 tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
729 new FlowEntityBuilder >> [
730 dpnId = Uint64.valueOf(123bi)
731 cookie = Uint64.valueOf(1085218086715393bi)
732 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
733 flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
734 instructionInfoList = #[
735 new InstructionApplyActions(#[
740 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
741 new NxMatchCtState(48L, 48L)
744 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
749 protected def fixedConntrackEgressFlowsPort2(String ip2, String prefix){
751 new FlowEntityBuilder >> [
752 dpnId = Uint64.valueOf(123bi)
753 cookie = Uint64.valueOf(110100480bi)
754 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip2 + "/" + prefix
755 flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip2 + "/" + prefix
756 instructionInfoList = #[
757 new InstructionGotoTable(NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
760 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
761 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
762 new MatchEthernetType(2048L),
763 new MatchIpv4Source(ip2, prefix)
766 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
768 new FlowEntityBuilder >> [
769 dpnId = Uint64.valueOf(123bi)
770 cookie = Uint64.valueOf(110100480bi)
771 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
772 flowName = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
773 instructionInfoList = #[
774 new InstructionApplyActions(#[
775 new ActionNxConntrack(2, 0, 0, 5000, 213 as short)
779 new MatchEthernetType(2048L),
780 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
783 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
785 new FlowEntityBuilder >> [
786 dpnId = Uint64.valueOf(123bi)
787 cookie = Uint64.valueOf(1085218086715393bi)
788 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
789 flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
790 instructionInfoList = #[
791 new InstructionApplyActions(#[
796 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
797 new NxMatchCtState(48L, 48L)
800 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
805 protected def fixedConntrackIngressFlowsPort3(String ip3, String prefix) {
807 new FlowEntityBuilder >> [
808 dpnId = Uint64.valueOf(123bi)
809 cookie = Uint64.valueOf(110100480bi)
810 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_" + ip3 + "/" + prefix
811 flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_" + ip3 + "/" + prefix
812 instructionInfoList = #[
813 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
816 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
817 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F5")),
818 new MatchEthernetType(2048L),
819 new MatchIpv4Destination(ip3, prefix)
822 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
824 new FlowEntityBuilder >> [
825 dpnId = Uint64.valueOf(123bi)
826 cookie = Uint64.valueOf(110100480bi)
827 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
828 flowName = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
829 instructionInfoList = #[
830 new InstructionApplyActions(#[
831 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
835 new MatchEthernetType(2048L),
836 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
839 tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
841 new FlowEntityBuilder >> [
842 dpnId = Uint64.valueOf(123bi)
843 cookie = Uint64.valueOf(1085218086715393bi)
844 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
845 flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
846 instructionInfoList = #[
847 new InstructionApplyActions(#[
852 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
853 new NxMatchCtState(48L, 48L)
856 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
861 protected def fixedConntrackEgressFlowsPort3(String ip3, String prefix) {
863 new FlowEntityBuilder >> [
864 dpnId = Uint64.valueOf(123bi)
865 cookie = Uint64.valueOf(110100480bi)
866 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_" + ip3 + "/" + prefix
867 flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_" + ip3 + "/" + prefix
868 instructionInfoList = #[
869 new InstructionGotoTable(NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
872 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
873 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F5")),
874 new MatchEthernetType(2048L),
875 new MatchIpv4Source(ip3, prefix)
878 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
880 new FlowEntityBuilder >> [
881 dpnId = Uint64.valueOf(123bi)
882 cookie = Uint64.valueOf(110100480bi)
883 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
884 flowName = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
885 instructionInfoList = #[
886 new InstructionApplyActions(#[
887 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
891 new MatchEthernetType(2048L),
892 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
895 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
897 new FlowEntityBuilder >> [
898 dpnId = Uint64.valueOf(123bi)
899 cookie = Uint64.valueOf(1085218086715393bi)
900 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
901 flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
902 instructionInfoList = #[
903 new InstructionApplyActions(#[
908 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
909 new NxMatchCtState(48L, 48L)
912 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
917 static def fixedConntrackIngressFlowsPort4(String ip4, String prefix) {
919 new FlowEntityBuilder >> [
920 dpnId = Uint64.valueOf(123bi)
921 cookie = Uint64.valueOf(110100480bi)
922 flowId = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_" + ip4 + "/" + prefix + "_Recirc"
923 flowName = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_" + ip4 + "/" + prefix + "_Recirc"
924 instructionInfoList = #[
925 new InstructionApplyActions(#[
926 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
930 new MatchEthernetType(2048L),
931 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F6")),
932 new MatchEthernetType(2048L),
933 new MatchIpv4Destination(ip4, prefix)
936 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
938 new FlowEntityBuilder >> [
939 dpnId = Uint64.valueOf(123bi)
940 cookie = Uint64.valueOf(110100480bi)
941 flowId = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_0.0.0.0/0_Recirc"
942 flowName = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_0.0.0.0/0_Recirc"
943 instructionInfoList = #[
944 new InstructionApplyActions(#[
945 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
949 new MatchEthernetType(2048L),
950 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F6")),
951 new MatchEthernetType(2048L)
954 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
956 new FlowEntityBuilder >> [
957 dpnId = Uint64.valueOf(123bi)
958 cookie = Uint64.valueOf(1085218086715393bi)
959 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_New"
960 flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_New"
961 instructionInfoList = #[
962 new InstructionApplyActions(#[
967 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
968 new NxMatchCtState(32L, 32L)
971 tableId = NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE
973 new FlowEntityBuilder >> [
974 dpnId = Uint64.valueOf(123bi)
975 cookie = Uint64.valueOf(1085218086715393bi)
976 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
977 flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
978 instructionInfoList = #[
979 new InstructionApplyActions(#[
984 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
985 new NxMatchCtState(48L, 48L)
988 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
993 static def fixedConntrackEgressFlowsPort4(String ip4, String prefix) {
995 new FlowEntityBuilder >> [
996 dpnId = Uint64.valueOf(123bi)
997 cookie = Uint64.valueOf(110100480bi)
998 flowId = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_" + ip4 + "/" + prefix + "_Recirc"
999 flowName = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_" + ip4 + "/" + prefix + "_Recirc"
1000 instructionInfoList = #[
1001 new InstructionApplyActions(#[
1002 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
1006 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F6")),
1007 new MatchEthernetType(2048L),
1008 new MatchIpv4Source(ip4, prefix)
1011 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1013 new FlowEntityBuilder >> [
1014 dpnId = Uint64.valueOf(123bi)
1015 cookie = Uint64.valueOf(110100480bi)
1016 flowId = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_0.0.0.0/0_Recirc"
1017 flowName = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_0.0.0.0/0_Recirc"
1018 instructionInfoList = #[
1019 new InstructionApplyActions(#[
1020 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
1024 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F6")),
1025 new MatchEthernetType(2048L)
1028 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1030 new FlowEntityBuilder >> [
1031 dpnId = Uint64.valueOf(123bi)
1032 cookie = Uint64.valueOf(1085218086715393bi)
1033 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_New"
1034 flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_New"
1035 instructionInfoList = #[
1036 new InstructionApplyActions(#[
1041 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1042 new NxMatchCtState(32L, 32L)
1045 tableId = NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE
1047 new FlowEntityBuilder >> [
1048 dpnId = Uint64.valueOf(123bi)
1049 cookie = Uint64.valueOf(1085218086715393bi)
1050 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1051 flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1052 instructionInfoList = #[
1053 new InstructionApplyActions(#[
1058 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
1059 new NxMatchCtState(48L, 48L)
1062 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1067 protected def etherEgressFlowsPort1() {
1068 val theFlowId = "ETHERnullEgress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1070 new FlowEntityBuilder >> [
1071 dpnId = Uint64.valueOf(123bi)
1072 cookie = Uint64.valueOf(110100480bi)
1074 flowName = theFlowId
1075 instructionInfoList = #[
1076 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1079 new MatchEthernetType(2048L),
1080 new MatchEthernetType(2048L),
1081 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1083 priority = IdHelper.getId(theFlowId)
1084 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1089 protected def etheregressFlowPort2() {
1090 val theFlowId = "ETHERnullEgress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1092 new FlowEntityBuilder >> [
1093 dpnId = Uint64.valueOf(123bi)
1094 cookie = Uint64.valueOf(110100480bi)
1096 flowName = theFlowId
1097 instructionInfoList = #[
1098 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1101 new MatchEthernetType(2048L),
1102 new MatchEthernetType(2048L),
1103 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1105 priority = IdHelper.getId(theFlowId)
1106 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1111 protected def tcpIngressFlowPort1() {
1112 val theFlowId = "TCP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1114 new FlowEntityBuilder >> [
1115 dpnId = Uint64.valueOf(123bi)
1116 cookie = Uint64.valueOf(110100480bi)
1118 flowName = theFlowId
1119 instructionInfoList = #[
1120 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1123 new MatchEthernetType(2048L),
1124 new MatchEthernetType(2048L),
1125 new NxMatchTcpDestinationPort(80, 65535),
1126 new MatchIpProtocol(6 as short),
1127 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1129 priority = IdHelper.getId(theFlowId)
1130 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1135 protected def tcpIngressFlowPort2() {
1136 val theFlowId = "TCP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1138 new FlowEntityBuilder >> [
1139 dpnId = Uint64.valueOf(123bi)
1140 cookie = Uint64.valueOf(110100480bi)
1142 flowName = theFlowId
1143 instructionInfoList = #[
1144 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1147 new MatchEthernetType(2048L),
1148 new MatchEthernetType(2048L),
1149 new NxMatchTcpDestinationPort(80, 65535),
1150 new MatchIpProtocol(6 as short),
1151 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1153 priority = IdHelper.getId(theFlowId)
1154 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1159 protected def tcpEgressFlowPort2() {
1160 val theFlowId = "TCP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1162 new FlowEntityBuilder >> [
1163 dpnId = Uint64.valueOf(123bi)
1164 cookie = Uint64.valueOf(110100480bi)
1166 flowName = theFlowId
1167 instructionInfoList = #[
1168 new InstructionGotoTable(NwConstants.INGRESS_REMOTE_ACL_TABLE)
1171 new MatchEthernetType(2048L),
1172 new MatchEthernetType(2048L),
1173 new NxMatchTcpDestinationPort(80, 65535),
1174 new MatchIpProtocol(6 as short),
1175 new MatchMetadata(Uint64.valueOf(1085217976614944bi), Uint64.valueOf(1152920405111996400bi))
1177 priority = IdHelper.getId(theFlowId)
1178 tableId = NwConstants.INGRESS_ACL_RULE_BASED_FILTER_TABLE
1183 protected def udpEgressFlowsPort1() {
1184 val theFlowId = "UDP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1186 new FlowEntityBuilder >> [
1187 dpnId = Uint64.valueOf(123bi)
1188 cookie = Uint64.valueOf(110100480bi)
1190 flowName = theFlowId
1191 instructionInfoList = #[
1192 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1195 new MatchEthernetType(2048L),
1196 new MatchEthernetType(2048L),
1197 new NxMatchUdpDestinationPort(80, 65535),
1198 new MatchIpProtocol(17 as short),
1199 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1201 priority = IdHelper.getId(theFlowId)
1202 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1207 protected def udpIngressFlowsPort2() {
1208 val theFlowId = "UDP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1210 new FlowEntityBuilder >> [
1211 dpnId = Uint64.valueOf(123bi)
1212 cookie = Uint64.valueOf(110100480bi)
1214 flowName = theFlowId
1215 instructionInfoList = #[
1216 new InstructionGotoTable(NwConstants.EGRESS_REMOTE_ACL_TABLE)
1219 new MatchEthernetType(2048L),
1220 new MatchEthernetType(2048L),
1221 new NxMatchUdpDestinationPort(80, 65535),
1222 new MatchIpProtocol(17 as short),
1223 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1224 new MatchMetadata(Uint64.valueOf(32bi), Uint64.valueOf(16777200bi))
1226 priority = IdHelper.getId(theFlowId)
1227 tableId = NwConstants.EGRESS_ACL_RULE_BASED_FILTER_TABLE
1232 protected def udpEgressFlowsPort2() {
1233 val theFlowId = "UDP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1235 new FlowEntityBuilder >> [
1236 dpnId = Uint64.valueOf(123bi)
1237 cookie = Uint64.valueOf(110100480bi)
1239 flowName = theFlowId
1240 instructionInfoList = #[
1241 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1244 new MatchEthernetType(2048L),
1245 new MatchEthernetType(2048L),
1246 new NxMatchUdpDestinationPort(80, 65535),
1247 new MatchIpProtocol(17 as short),
1248 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1250 priority = IdHelper.getId(theFlowId)
1251 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1256 protected def icmpIngressFlowsPort1() {
1257 val theFlowId = "ICMP_V4_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1259 new FlowEntityBuilder >> [
1260 dpnId = Uint64.valueOf(123bi)
1261 cookie = Uint64.valueOf(110100480bi)
1263 flowName = theFlowId
1264 instructionInfoList = #[
1265 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1268 new MatchEthernetType(2048L),
1269 new MatchEthernetType(2048L),
1270 new MatchIcmpv4(2 as short, 3 as short),
1271 new MatchIpProtocol(1 as short),
1272 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1274 priority = IdHelper.getId(theFlowId)
1275 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1280 protected def icmpIngressFlowsPort2() {
1281 val theFlowId = "ICMP_V4_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1283 new FlowEntityBuilder >> [
1284 dpnId = Uint64.valueOf(123bi)
1285 cookie = Uint64.valueOf(110100480bi)
1287 flowName = theFlowId
1288 instructionInfoList = #[
1289 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1292 new MatchEthernetType(2048L),
1293 new MatchEthernetType(2048L),
1294 new MatchIcmpv4(2 as short, 3 as short),
1295 new MatchIpProtocol(1 as short),
1296 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1298 priority = IdHelper.getId(theFlowId)
1299 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1304 protected def icmpEgressFlowsPort2() {
1305 val theFlowId = "ICMP_V4_DESTINATION_23_Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1307 new FlowEntityBuilder >> [
1308 dpnId = Uint64.valueOf(123bi)
1309 cookie = Uint64.valueOf(110100480bi)
1311 flowName = theFlowId
1312 instructionInfoList = #[
1313 new InstructionGotoTable(NwConstants.INGRESS_REMOTE_ACL_TABLE)
1316 new MatchEthernetType(2048L),
1317 new MatchEthernetType(2048L),
1318 new MatchIcmpv4(2 as short, 3 as short),
1319 new MatchIpProtocol(1 as short),
1320 new MatchMetadata(Uint64.valueOf(1085217976614944bi), Uint64.valueOf(1152920405111996400bi))
1322 priority = IdHelper.getId(theFlowId)
1323 tableId = NwConstants.INGRESS_ACL_RULE_BASED_FILTER_TABLE
1328 protected def udpIngressPortRangeFlows() {
1329 val theFlowId = "UDP_DESTINATION_2000_65532Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1331 new FlowEntityBuilder >> [
1332 dpnId = Uint64.valueOf(123bi)
1333 cookie = Uint64.valueOf(110100480bi)
1335 flowName = theFlowId
1336 instructionInfoList = #[
1337 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1340 new MatchEthernetType(2048L),
1341 new MatchEthernetType(2048L),
1342 new NxMatchUdpDestinationPort(2000, 65532),
1343 new MatchIpProtocol(17 as short),
1344 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1346 priority = IdHelper.getId(theFlowId)
1347 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1352 protected def tcpEgressRangeFlows() {
1353 val flowId1 = "TCP_DESTINATION_776_65534Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1354 val flowId2 = "TCP_DESTINATION_512_65280Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1355 val flowId3 = "TCP_DESTINATION_334_65534Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1356 val flowId4 = "TCP_DESTINATION_333_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1357 val flowId5 = "TCP_DESTINATION_336_65520Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1358 val flowId6 = "TCP_DESTINATION_352_65504Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1359 val flowId7 = "TCP_DESTINATION_384_65408Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1360 val flowId8 = "TCP_DESTINATION_768_65528Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1362 new FlowEntityBuilder >> [
1363 dpnId = Uint64.valueOf(123bi)
1364 cookie = Uint64.valueOf(110100480bi)
1367 instructionInfoList = #[
1368 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1371 new MatchEthernetType(2048L),
1372 new MatchEthernetType(2048L),
1373 new NxMatchTcpDestinationPort(776, 65534),
1374 new MatchIpProtocol(6 as short),
1375 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1377 priority = IdHelper.getId(flowId1)
1378 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1380 new FlowEntityBuilder >> [
1381 dpnId = Uint64.valueOf(123bi)
1382 cookie = Uint64.valueOf(110100480bi)
1385 instructionInfoList = #[
1386 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1389 new MatchEthernetType(2048L),
1390 new MatchEthernetType(2048L),
1391 new NxMatchTcpDestinationPort(512, 65280),
1392 new MatchIpProtocol(6 as short),
1393 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1395 priority = IdHelper.getId(flowId2)
1396 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1398 new FlowEntityBuilder >> [
1399 dpnId = Uint64.valueOf(123bi)
1400 cookie = Uint64.valueOf(110100480bi)
1403 instructionInfoList = #[
1404 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1407 new MatchEthernetType(2048L),
1408 new MatchEthernetType(2048L),
1409 new NxMatchTcpDestinationPort(334, 65534),
1410 new MatchIpProtocol(6 as short),
1411 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1413 priority = IdHelper.getId(flowId3)
1414 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1416 new FlowEntityBuilder >> [
1417 dpnId = Uint64.valueOf(123bi)
1418 cookie = Uint64.valueOf(110100480bi)
1421 instructionInfoList = #[
1422 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1425 new MatchEthernetType(2048L),
1426 new MatchEthernetType(2048L),
1427 new NxMatchTcpDestinationPort(333, 65535),
1428 new MatchIpProtocol(6 as short),
1429 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1431 priority = IdHelper.getId(flowId4)
1432 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1434 new FlowEntityBuilder >> [
1435 dpnId = Uint64.valueOf(123bi)
1436 cookie = Uint64.valueOf(110100480bi)
1439 instructionInfoList = #[
1440 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1443 new MatchEthernetType(2048L),
1444 new MatchEthernetType(2048L),
1445 new NxMatchTcpDestinationPort(336, 65520),
1446 new MatchIpProtocol(6 as short),
1447 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1449 priority = IdHelper.getId(flowId5)
1450 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1452 new FlowEntityBuilder >> [
1453 dpnId = Uint64.valueOf(123bi)
1454 cookie = Uint64.valueOf(110100480bi)
1457 instructionInfoList = #[
1458 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1461 new MatchEthernetType(2048L),
1462 new MatchEthernetType(2048L),
1463 new NxMatchTcpDestinationPort(352, 65504),
1464 new MatchIpProtocol(6 as short),
1465 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1467 priority = IdHelper.getId(flowId6)
1468 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1470 new FlowEntityBuilder >> [
1471 dpnId = Uint64.valueOf(123bi)
1472 cookie = Uint64.valueOf(110100480bi)
1475 instructionInfoList = #[
1476 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1479 new MatchEthernetType(2048L),
1480 new MatchEthernetType(2048L),
1481 new NxMatchTcpDestinationPort(384, 65408),
1482 new MatchIpProtocol(6 as short),
1483 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1485 priority = IdHelper.getId(flowId7)
1486 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1488 new FlowEntityBuilder >> [
1489 dpnId = Uint64.valueOf(123bi)
1490 cookie = Uint64.valueOf(110100480bi)
1493 instructionInfoList = #[
1494 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1497 new MatchEthernetType(2048L),
1498 new MatchEthernetType(2048L),
1499 new NxMatchTcpDestinationPort(768, 65528),
1500 new MatchIpProtocol(6 as short),
1501 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1503 priority = IdHelper.getId(flowId8)
1504 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1509 protected def udpIngressAllFlows() {
1510 val theFlowId = "UDP_DESTINATION_1_0Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1512 new FlowEntityBuilder >> [
1513 dpnId = Uint64.valueOf(123bi)
1514 cookie = Uint64.valueOf(110100480bi)
1516 flowName = theFlowId
1517 instructionInfoList = #[
1518 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1521 new MatchEthernetType(2048L),
1522 new MatchEthernetType(2048L),
1523 new MatchIpProtocol(17 as short),
1524 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1526 priority = IdHelper.getId(theFlowId)
1527 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1532 protected def tcpEgressAllFlows() {
1533 val theFlowId = "TCP_DESTINATION_1_0Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1535 new FlowEntityBuilder >> [
1536 dpnId = Uint64.valueOf(123bi)
1537 cookie = Uint64.valueOf(110100480bi)
1539 flowName = theFlowId
1540 instructionInfoList = #[
1541 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1544 new MatchEthernetType(2048L),
1545 new MatchEthernetType(2048L),
1546 new MatchIpProtocol(6 as short),
1547 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1549 priority = IdHelper.getId(theFlowId)
1550 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1556 protected def icmpIngressFlowsPort3() {
1557 val flowId1 = "ICMP_V4_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1558 val flowId2 = "ICMP_V4_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426a22"
1560 new FlowEntityBuilder >> [
1561 dpnId = Uint64.valueOf(123bi)
1562 cookie = Uint64.valueOf(110100480bi)
1565 instructionInfoList = #[
1566 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1569 new MatchEthernetType(2048L),
1570 new MatchEthernetType(2048L),
1571 new MatchIcmpv4(2 as short, 3 as short),
1572 new MatchIpProtocol(1 as short),
1573 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1575 priority = IdHelper.getId(flowId1)
1576 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1578 new FlowEntityBuilder >> [
1579 dpnId = Uint64.valueOf(123bi)
1580 cookie = Uint64.valueOf(110100480bi)
1583 instructionInfoList = #[
1584 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1587 new MatchEthernetType(2048L),
1588 new MatchEthernetType(2048L),
1589 new MatchIcmpv4(2 as short, 3 as short),
1590 new MatchIpProtocol(1 as short),
1591 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1593 priority = IdHelper.getId(flowId2)
1594 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1599 protected def icmpEgressFlowsPort3() {
1600 val flowId1 = "ICMP_V4_DESTINATION_23_Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1601 val flowId2 = "ICMP_V4_DESTINATION_23_Egress_123_987_85cc3048-abc3-43cc-89b3-377341426a21"
1603 new FlowEntityBuilder >> [
1604 dpnId = Uint64.valueOf(123bi)
1605 cookie = Uint64.valueOf(110100480bi)
1608 instructionInfoList = #[
1609 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1612 new MatchEthernetType(2048L),
1613 new MatchEthernetType(2048L),
1614 new MatchIcmpv4(2 as short, 3 as short),
1615 new MatchIpProtocol(1 as short),
1616 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1618 priority = IdHelper.getId(flowId1)
1619 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1621 new FlowEntityBuilder >> [
1622 dpnId = Uint64.valueOf(123bi)
1623 cookie = Uint64.valueOf(110100480bi)
1626 instructionInfoList = #[
1627 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1630 new MatchEthernetType(2048L),
1631 new MatchEthernetType(2048L),
1632 new MatchIcmpv4(2 as short, 3 as short),
1633 new MatchIpProtocol(1 as short),
1634 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1636 priority = IdHelper.getId(flowId2)
1637 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1642 override def expectedFlows(String mac, String ip1, String prefix) {
1643 // Code auto. generated by https://github.com/vorburger/xtendbeans
1645 new FlowEntityBuilder >> [
1646 dpnId = Uint64.valueOf(123bi)
1647 cookie = Uint64.valueOf(110100480bi)
1648 flowId = "Ingress_DHCP_Server_v4123_987_Permit_"
1649 flowName = "Ingress_DHCP_Server_v4123_987_Permit_"
1650 instructionInfoList = #[
1651 new InstructionApplyActions(#[
1652 new ActionNxResubmit(220 as short)
1656 new MatchEthernetType(2048L),
1657 new MatchIpProtocol(17 as short),
1658 new MatchUdpDestinationPort(68 as short),
1659 new MatchUdpSourcePort(67 as short),
1660 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1663 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1665 new FlowEntityBuilder >> [
1666 dpnId = Uint64.valueOf(123bi)
1667 cookie = Uint64.valueOf(110100480bi)
1668 flowId = "Ingress_DHCP_Server_v6_123_987_Permit_"
1669 flowName = "Ingress_DHCP_Server_v6_123_987_Permit_"
1670 instructionInfoList = #[
1671 new InstructionApplyActions(#[
1672 new ActionNxResubmit(220 as short)
1676 new MatchEthernetType(34525L),
1677 new MatchIpProtocol(17 as short),
1678 new MatchUdpDestinationPort(546 as short),
1679 new MatchUdpSourcePort(547 as short),
1680 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1683 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1685 new FlowEntityBuilder >> [
1686 dpnId = Uint64.valueOf(123bi)
1687 cookie = Uint64.valueOf(110100480bi)
1688 flowId = "Ingress_ICMPv6_123_987_130_Permit_"
1689 flowName = "Ingress_ICMPv6_123_987_130_Permit_"
1690 instructionInfoList = #[
1691 new InstructionApplyActions(#[
1692 new ActionNxResubmit(220 as short)
1696 new MatchEthernetType(34525L),
1697 new MatchIpProtocol(58 as short),
1698 new MatchIcmpv6(130 as short, 0 as short),
1699 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1702 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1704 new FlowEntityBuilder >> [
1705 dpnId = Uint64.valueOf(123bi)
1706 cookie = Uint64.valueOf(110100480bi)
1707 flowId = "Ingress_ICMPv6_123_987_135_Permit_"
1708 flowName = "Ingress_ICMPv6_123_987_135_Permit_"
1709 instructionInfoList = #[
1710 new InstructionApplyActions(#[
1711 new ActionNxResubmit(220 as short)
1715 new MatchEthernetType(34525L),
1716 new MatchIpProtocol(58 as short),
1717 new MatchIcmpv6(135 as short, 0 as short),
1718 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1721 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1723 new FlowEntityBuilder >> [
1724 dpnId = Uint64.valueOf(123bi)
1725 cookie = Uint64.valueOf(110100480bi)
1726 flowId = "Ingress_ICMPv6_123_987_136_Permit_"
1727 flowName = "Ingress_ICMPv6_123_987_136_Permit_"
1728 instructionInfoList = #[
1729 new InstructionApplyActions(#[
1730 new ActionNxResubmit(220 as short)
1734 new MatchEthernetType(34525L),
1735 new MatchIpProtocol(58 as short),
1736 new MatchIcmpv6(136 as short, 0 as short),
1737 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1740 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1742 new FlowEntityBuilder >> [
1743 dpnId = Uint64.valueOf(123bi)
1744 cookie = Uint64.valueOf(110100480bi)
1745 flowId = "Ingress_ARP_123_987"
1746 flowName = "Ingress_ARP_123_987"
1747 instructionInfoList = #[
1748 new InstructionApplyActions(#[
1749 new ActionNxResubmit(220 as short)
1753 new MatchEthernetType(2054L),
1754 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1757 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1759 new FlowEntityBuilder >> [
1760 dpnId = Uint64.valueOf(123bi)
1761 cookie = Uint64.valueOf(110100480bi)
1762 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
1763 flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
1764 instructionInfoList = #[
1765 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
1768 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1769 new MatchEthernetDestination(new MacAddress(mac)),
1770 new MatchEthernetType(2048L),
1771 new MatchIpv4Destination(ip1, prefix)
1774 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1776 new FlowEntityBuilder >> [
1777 dpnId = Uint64.valueOf(123bi)
1778 cookie = Uint64.valueOf(1085218086715393bi)
1779 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1780 flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1781 instructionInfoList = #[
1782 new InstructionApplyActions(#[
1787 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1788 new NxMatchCtState(48L, 48L)
1791 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1793 new FlowEntityBuilder >> [
1794 dpnId = Uint64.valueOf(123bi)
1795 cookie = Uint64.valueOf(110100480bi)
1796 flowId = "Egress_DHCP_Client_v4123_987_" + mac + "_Permit_"
1797 flowName = "Egress_DHCP_Client_v4123_987_" + mac + "_Permit_"
1798 instructionInfoList = #[
1799 new InstructionApplyActions(#[
1800 new ActionNxResubmit(17 as short)
1804 new MatchEthernetType(2048L),
1805 new MatchIpProtocol(17 as short),
1806 new MatchUdpDestinationPort(67 as short),
1807 new MatchUdpSourcePort(68 as short),
1808 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
1809 new MatchEthernetSource(new MacAddress(mac))
1812 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1814 new FlowEntityBuilder >> [
1815 dpnId = Uint64.valueOf(123bi)
1816 cookie = Uint64.valueOf(110100480bi)
1817 flowId = "Egress_ICMPv6_123_987_133_Permit_"
1818 flowName = "Egress_ICMPv6_123_987_133_Permit_"
1819 instructionInfoList = #[
1820 new InstructionApplyActions(#[
1821 new ActionNxResubmit(17 as short)
1825 new MatchEthernetType(34525L),
1826 new MatchIpProtocol(58 as short),
1827 new MatchIcmpv6(133 as short, 0 as short),
1828 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1831 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1833 new FlowEntityBuilder >> [
1834 dpnId = Uint64.valueOf(123bi)
1835 cookie = Uint64.valueOf(110100480bi)
1836 flowId = "Egress_ICMPv6_123_987_135_Permit_"
1837 flowName = "Egress_ICMPv6_123_987_135_Permit_"
1838 instructionInfoList = #[
1839 new InstructionApplyActions(#[
1840 new ActionNxResubmit(17 as short)
1844 new MatchEthernetType(34525L),
1845 new MatchIpProtocol(58 as short),
1846 new MatchIcmpv6(135 as short, 0 as short),
1847 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1850 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1852 new FlowEntityBuilder >> [
1853 dpnId = Uint64.valueOf(123bi)
1854 cookie = Uint64.valueOf(110100480bi)
1855 flowId = "Egress_ICMPv6_123_987_136_Permit_"
1856 flowName = "Egress_ICMPv6_123_987_136_Permit_"
1857 instructionInfoList = #[
1858 new InstructionApplyActions(#[
1859 new ActionNxResubmit(17 as short)
1863 new MatchEthernetType(34525L),
1864 new MatchIpProtocol(58 as short),
1865 new MatchIcmpv6(136 as short, 0 as short),
1866 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1869 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1871 new FlowEntityBuilder >> [
1872 dpnId = Uint64.valueOf(123bi)
1873 cookie = Uint64.valueOf(110100480bi)
1874 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
1875 flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
1876 instructionInfoList = #[
1877 new InstructionGotoTable(211 as short)
1880 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
1881 new MatchEthernetSource(new MacAddress(mac)),
1882 new MatchEthernetType(2048L),
1883 new MatchIpv4Source(ip1, prefix)
1886 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1888 new FlowEntityBuilder >> [
1889 dpnId = Uint64.valueOf(123bi)
1890 cookie = Uint64.valueOf(1085218086715393bi)
1891 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1892 flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1893 instructionInfoList = #[
1894 new InstructionApplyActions(#[
1899 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
1900 new NxMatchCtState(48L, 48L)
1903 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1905 new FlowEntityBuilder >> [
1906 dpnId = Uint64.valueOf(123bi)
1907 cookie = Uint64.valueOf(110100480bi)
1908 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
1909 flowName = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
1910 instructionInfoList = #[
1911 new InstructionApplyActions(#[
1912 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
1916 new MatchEthernetType(2048L),
1917 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1920 tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
1922 new FlowEntityBuilder >> [
1923 dpnId = Uint64.valueOf(123bi)
1924 cookie = Uint64.valueOf(110100480bi)
1925 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
1926 flowName = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
1927 instructionInfoList = #[
1928 new InstructionApplyActions(#[
1929 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
1933 new MatchEthernetType(2048L),
1934 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1937 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
1939 new FlowEntityBuilder >> [
1940 dpnId = Uint64.valueOf(123bi)
1941 cookie = Uint64.valueOf(110100480bi)
1942 flowId = "Egress_ARP_123_987_" + mac + ip1 + "/" + prefix
1943 flowName = "Egress_ARP_123_987_" + mac + ip1 + "/" + prefix
1944 instructionInfoList = #[
1945 new InstructionApplyActions(#[
1946 new ActionNxResubmit(17 as short)
1950 new MatchEthernetType(2054L),
1951 new MatchArpSha(new MacAddress(mac)),
1952 new MatchEthernetSource(new MacAddress(mac)),
1953 new MatchArpSpa(new Ipv4Prefix( ip1 + "/" + prefix)),
1954 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1957 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1959 new FlowEntityBuilder >> [
1960 dpnId = Uint64.valueOf(123bi)
1961 cookie = Uint64.valueOf(110100480bi)
1962 flowId = "Egress_L2Broadcast_123_987_" + mac
1963 flowName = "Egress_L2Broadcast_123_987_" + mac
1964 instructionInfoList = #[
1965 new InstructionApplyActions(#[
1966 new ActionNxResubmit(17 as short)
1970 new MatchEthernetSource(new MacAddress(mac)),
1971 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1974 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1976 new FlowEntityBuilder >> [
1977 cookie = Uint64.valueOf(110100480bi)
1978 dpnId = Uint64.valueOf(123bi)
1979 flowId = "Ingress_v4_Broadcast_123_987_10.0.0.255_Permit"
1980 flowName = "Ingress_v4_Broadcast_123_987_10.0.0.255_Permit"
1983 instructionInfoList = #[
1984 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
1987 new MatchEthernetDestination(new MacAddress("ff:ff:ff:ff:ff:ff")),
1988 new MatchEthernetType(2048L),
1989 new MatchIpv4Destination(new Ipv4Prefix("10.0.0.255/" + prefix)),
1990 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1993 sendFlowRemFlag = false
1995 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1997 new FlowEntityBuilder >> [
1998 dpnId = Uint64.valueOf(123bi)
1999 cookie = Uint64.valueOf(110100480bi)
2000 flowId = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
2001 flowName = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
2002 instructionInfoList = #[
2003 new InstructionApplyActions(#[
2004 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2005 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2007 new ActionNxCtClear(),
2008 new ActionNxResubmit(220 as short)
2012 new MatchEthernetType(2048L),
2013 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2014 new MatchMetadata(Uint64.valueOf(0bi), Uint64.valueOf(2bi))
2017 tableId = 247 as short
2019 new FlowEntityBuilder >> [
2020 dpnId = Uint64.valueOf(123bi)
2021 cookie = Uint64.valueOf(110100480bi)
2022 flowId = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2023 flowName = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2024 instructionInfoList = #[
2025 new InstructionApplyActions(#[
2026 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2027 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2029 new ActionNxCtClear(),
2030 new ActionNxResubmit(220 as short)
2034 new MatchEthernetType(34525L),
2035 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2036 new MatchMetadata(Uint64.valueOf(0bi), Uint64.valueOf(2bi))
2039 tableId = 247 as short
2041 new FlowEntityBuilder >> [
2042 dpnId = Uint64.valueOf(123bi)
2043 cookie = Uint64.valueOf(110100480bi)
2044 flowId = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
2045 flowName = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
2046 instructionInfoList = #[
2047 new InstructionApplyActions(#[
2048 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2049 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2051 new ActionNxCtClear(),
2052 new ActionNxResubmit(17 as short)
2056 new MatchEthernetType(2048L),
2057 new MatchMetadata(Uint64.valueOf(1085217976614912bi), Uint64.valueOf(1152920405095219202bi))
2060 tableId = 217 as short
2062 new FlowEntityBuilder >> [
2063 dpnId = Uint64.valueOf(123bi)
2064 cookie = Uint64.valueOf(110100480bi)
2065 flowId = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2066 flowName = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2067 instructionInfoList = #[
2068 new InstructionApplyActions(#[
2069 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2070 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2072 new ActionNxCtClear(),
2073 new ActionNxResubmit(17 as short)
2077 new MatchEthernetType(34525L),
2078 new MatchMetadata(Uint64.valueOf(1085217976614912bi), Uint64.valueOf(1152920405095219202bi))
2081 tableId = 217 as short
2083 new FlowEntityBuilder >> [
2084 dpnId = Uint64.valueOf(123bi)
2085 cookie = Uint64.valueOf(110100480bi)
2086 flowId = "Egress_Acl_Commit_Non_Conntrack_123_987"
2087 flowName = "Egress_Acl_Commit_Non_Conntrack_123_987"
2088 instructionInfoList = #[
2089 new InstructionApplyActions(#[
2090 new ActionNxResubmit(17 as short)
2094 new MatchMetadata(Uint64.valueOf(1085217976614914bi), Uint64.valueOf(1152920405095219202bi))
2097 tableId = 217 as short
2099 new FlowEntityBuilder >> [
2100 dpnId = Uint64.valueOf(123bi)
2101 cookie = Uint64.valueOf(1085218086715393bi)
2102 flowId = "Egress_123_987_Drop"
2103 flowName = "Egress_123_987_Drop"
2104 instructionInfoList = #[
2105 new InstructionApplyActions(#[
2110 new MatchMetadata(Uint64.valueOf(1085217976614916bi), Uint64.valueOf(new BigInteger("0FFFFF0000000004", 16)))
2113 tableId = 217 as short
2115 new FlowEntityBuilder >> [
2116 dpnId = Uint64.valueOf(123bi)
2117 cookie = Uint64.valueOf(110100480bi)
2118 flowId = "Ingress_Acl_Commit_Non_Conntrack_123_987"
2119 flowName = "Ingress_Acl_Commit_Non_Conntrack_123_987"
2120 instructionInfoList = #[
2121 new InstructionApplyActions(#[
2122 new ActionNxResubmit(220 as short)
2126 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2127 new MatchMetadata(Uint64.valueOf(2bi), Uint64.valueOf(2bi))
2130 tableId = 247 as short
2132 new FlowEntityBuilder >> [
2133 dpnId = Uint64.valueOf(123bi)
2134 cookie = Uint64.valueOf(1085218086715393bi)
2135 flowId = "Ingress_123_987_Drop"
2136 flowName = "Ingress_123_987_Drop"
2137 instructionInfoList = #[
2138 new InstructionApplyActions(#[
2143 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2144 new MatchMetadata(Uint64.valueOf(4bi), Uint64.valueOf(4bi))
2147 tableId = 247 as short
2149 new FlowEntityBuilder >> [
2150 dpnId = Uint64.valueOf(123bi)
2151 cookie = Uint64.valueOf(1085218086715393bi)
2152 flowId = "Ingress_Fixed_Acl_Rule_Miss_Drop_123_987"
2153 flowName = "Ingress_Fixed_Acl_Rule_Miss_Drop_123_987"
2154 instructionInfoList = #[
2155 new InstructionApplyActions(#[
2160 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
2163 tableId = 244 as short
2165 new FlowEntityBuilder >> [
2166 dpnId = Uint64.valueOf(123bi)
2167 cookie = Uint64.valueOf(1085218086715393bi)
2168 flowId = "Egress_Fixed_Acl_Rule_Miss_Drop_123_987"
2169 flowName = "Egress_Fixed_Acl_Rule_Miss_Drop_123_987"
2170 instructionInfoList = #[
2171 new InstructionApplyActions(#[
2176 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
2179 tableId = 214 as short
2184 protected def ingressCommitConntrack1() {
2185 val flowId1 = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
2186 val flowId2 = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2188 new FlowEntityBuilder >> [
2189 dpnId = Uint64.valueOf(123bi)
2190 cookie = Uint64.valueOf(110100480bi)
2193 instructionInfoList = #[
2194 new InstructionApplyActions(#[
2195 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2196 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE)
2199 new ActionNxCtClear(),
2200 new ActionNxResubmit(220 as short)
2204 new MatchEthernetType(2048L),
2205 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2206 new MatchMetadata(Uint64.valueOf(0bi), Uint64.valueOf(2bi))
2209 tableId = 247 as short
2211 new FlowEntityBuilder >> [
2212 dpnId = Uint64.valueOf(123bi)
2213 cookie = Uint64.valueOf(110100480bi)
2216 instructionInfoList = #[
2217 new InstructionApplyActions(#[
2218 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2219 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2221 new ActionNxCtClear(),
2222 new ActionNxResubmit(220 as short)
2226 new MatchEthernetType(34525L),
2227 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2228 new MatchMetadata(Uint64.valueOf(0bi), Uint64.valueOf(2bi))
2231 tableId = 247 as short
2236 protected def egressCommitConntrack1() {
2237 val flowId1 = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
2238 val flowId2 = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2240 new FlowEntityBuilder >> [
2241 dpnId = Uint64.valueOf(123bi)
2242 cookie = Uint64.valueOf(110100480bi)
2245 instructionInfoList = #[
2246 new InstructionApplyActions(#[
2247 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2248 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2250 new ActionNxCtClear(),
2251 new ActionNxResubmit(17 as short)
2255 new MatchEthernetType(2048L),
2256 new MatchMetadata(Uint64.valueOf(1085217976614912bi), Uint64.valueOf(1152920405095219202bi))
2259 tableId = 217 as short
2261 new FlowEntityBuilder >> [
2262 dpnId = Uint64.valueOf(123bi)
2263 cookie = Uint64.valueOf(110100480bi)
2266 instructionInfoList = #[
2267 new InstructionApplyActions(#[
2268 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2269 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2271 new ActionNxCtClear(),
2272 new ActionNxResubmit(17 as short)
2276 new MatchEthernetType(34525L),
2277 new MatchMetadata(Uint64.valueOf(1085217976614912bi), Uint64.valueOf(1152920405095219202bi))
2280 tableId = 217 as short
2285 protected def egressCommitNonConntrack1() {
2286 val flowId1 = "Egress_Acl_Commit_Non_Conntrack_123_987"
2288 new FlowEntityBuilder >> [
2289 dpnId = Uint64.valueOf(123bi)
2290 cookie = Uint64.valueOf(110100480bi)
2293 instructionInfoList = #[
2294 new InstructionApplyActions(#[
2295 new ActionNxResubmit(17 as short)
2299 new MatchMetadata(Uint64.valueOf(1085217976614914bi), Uint64.valueOf(1152920405095219202bi))
2302 tableId = 217 as short
2304 new FlowEntityBuilder >> [
2305 dpnId = Uint64.valueOf(123bi)
2306 cookie = Uint64.valueOf(1085218086715393bi)
2307 flowId = "Egress_123_987_Drop"
2308 flowName = "Egress_123_987_Drop"
2309 instructionInfoList = #[
2310 new InstructionApplyActions(#[
2315 new MatchMetadata(Uint64.valueOf(1085217976614916bi), Uint64.valueOf(new BigInteger("0FFFFF0000000004", 16)))
2318 tableId = 217 as short
2323 protected def ingressCommitNonConntrack1() {
2324 val flowId1 = "Ingress_Acl_Commit_Non_Conntrack_123_987"
2326 new FlowEntityBuilder >> [
2327 dpnId = Uint64.valueOf(123bi)
2328 cookie = Uint64.valueOf(110100480bi)
2331 instructionInfoList = #[
2332 new InstructionApplyActions(#[
2333 new ActionNxResubmit(220 as short)
2337 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2338 new MatchMetadata(Uint64.valueOf(2bi), Uint64.valueOf(2bi))
2341 tableId = 247 as short
2343 new FlowEntityBuilder >> [
2344 dpnId = Uint64.valueOf(123bi)
2345 cookie = Uint64.valueOf(1085218086715393bi)
2346 flowId = "Ingress_123_987_Drop"
2347 flowName = "Ingress_123_987_Drop"
2348 instructionInfoList = #[
2349 new InstructionApplyActions(#[
2354 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2355 new MatchMetadata(Uint64.valueOf(4bi), Uint64.valueOf(4bi))
2358 tableId = 247 as short
2363 protected def ingressfixedAclMissDrop1() {
2364 val flowId1 = "Ingress_Fixed_Acl_Rule_Miss_Drop_123_987"
2366 new FlowEntityBuilder >> [
2367 dpnId = Uint64.valueOf(123bi)
2368 cookie = Uint64.valueOf(1085218086715393bi)
2371 instructionInfoList = #[
2372 new InstructionApplyActions(#[
2377 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
2380 tableId = 244 as short
2385 protected def egressfixedAclMissDrop1() {
2386 val flowId1 = "Egress_Fixed_Acl_Rule_Miss_Drop_123_987"
2388 new FlowEntityBuilder >> [
2389 dpnId = Uint64.valueOf(123bi)
2390 cookie = Uint64.valueOf(1085218086715393bi)
2393 instructionInfoList = #[
2394 new InstructionApplyActions(#[
2399 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
2402 tableId = 214 as short
2407 protected def ingressDispatcherFirst() {
2408 val flowId1 = "Ingress_ACL_Dispatcher_First_123_987_2"
2410 new FlowEntityBuilder >> [
2411 dpnId = Uint64.valueOf(123bi)
2412 cookie = Uint64.valueOf(110100480bi)
2415 instructionInfoList = #[
2416 new InstructionGotoTable(245 as short),
2417 new InstructionWriteMetadata(Uint64.valueOf(32bi), Uint64.valueOf(16777200bi))
2420 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
2422 priority = IdHelper.getId(flowId1)
2423 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2428 protected def ingressDispatcherLast() {
2429 val flowId1 = "Ingress_ACL_Dispatcher_Last_123_987_2"
2431 new FlowEntityBuilder >> [
2432 dpnId = Uint64.valueOf(123bi)
2433 cookie = Uint64.valueOf(1085218086715393bi)
2436 instructionInfoList = #[
2437 new InstructionApplyActions(#[
2442 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2443 new MatchMetadata(Uint64.valueOf(32bi), Uint64.valueOf(16777200bi))
2445 priority = IdHelper.getId(flowId1)
2446 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2451 protected def egressDispatcherFirst() {
2452 val flowId1 = "Egress_ACL_Dispatcher_First_123_987_2"
2454 new FlowEntityBuilder >> [
2455 dpnId = Uint64.valueOf(123bi)
2456 cookie = Uint64.valueOf(110100480bi)
2459 instructionInfoList = #[
2460 new InstructionGotoTable(215 as short),
2461 new InstructionWriteMetadata(Uint64.valueOf(32bi), Uint64.valueOf(16777200bi))
2464 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
2466 priority = IdHelper.getId(flowId1)
2467 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2472 protected def egressDispatcherLast() {
2473 val flowId1 = "Egress_ACL_Dispatcher_Last_123_987_2"
2475 new FlowEntityBuilder >> [
2476 dpnId = Uint64.valueOf(123bi)
2477 cookie = Uint64.valueOf(1085218086715393bi)
2480 instructionInfoList = #[
2481 new InstructionApplyActions(#[
2486 new MatchMetadata(Uint64.valueOf(1085217976614944bi), Uint64.valueOf(1152920405111996400bi))
2488 priority = IdHelper.getId(flowId1)
2489 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2494 protected def egressDispatcherFirst1() {
2495 val flowId1 = "Egress_ACL_Dispatcher_First_123_987_4"
2497 new FlowEntityBuilder >> [
2498 dpnId = Uint64.valueOf(123bi)
2499 cookie = Uint64.valueOf(110100480bi)
2502 instructionInfoList = #[
2503 new InstructionGotoTable(215 as short),
2504 new InstructionWriteMetadata(Uint64.valueOf(64bi), Uint64.valueOf(16777200bi))
2507 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
2509 priority = IdHelper.getId(flowId1)
2510 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2515 protected def egressDispatcherLast1() {
2516 val flowId1 = "Egress_ACL_Dispatcher_Last_123_987_4"
2518 new FlowEntityBuilder >> [
2519 dpnId = Uint64.valueOf(123bi)
2520 cookie = Uint64.valueOf(1085218086715393bi)
2523 instructionInfoList = #[
2524 new InstructionApplyActions(#[
2529 new MatchMetadata(Uint64.valueOf(1085217976614976bi), Uint64.valueOf(1152920405111996400bi))
2531 priority = IdHelper.getId(flowId1)
2532 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE