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 java.math.BigInteger
43 import java.util.Collections
45 import org.opendaylight.genius.mdsalutil.instructions.InstructionWriteMetadata
48 class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
50 protected def etherFlows() {
51 fixedIngressFlowsPort1
52 + fixedConntrackIngressFlowsPort1
53 + fixedEgressL2BroadcastFlowsPort1
54 + fixedIngressL3BroadcastFlows
55 + fixedEgressFlowsPort1
56 + fixedConntrackEgressFlowsPort1
57 + etherEgressFlowsPort1
58 + fixedIngressFlowsPort2
59 + fixedConntrackIngressFlowsPort2
60 + etherIngressFlowsPort2
61 + etherIngressFlowsPort2
62 + fixedEgressL2BroadcastFlowsPort2
63 + fixedIngressL3BroadcastFlows
64 + fixedEgressFlowsPort2
65 + fixedConntrackEgressFlowsPort2
66 + etheregressFlowPort2
67 + remoteEgressFlowsPort1
68 + remoteEgressFlowsPort2
69 + ingressCommitNonConntrack1
70 + ingressCommitNonConntrack1
71 + egressCommitNonConntrack1
72 + egressCommitNonConntrack1
73 + ingressCommitConntrack1
74 + ingressCommitConntrack1
75 + egressCommitConntrack1
76 + egressCommitConntrack1
77 + ingressfixedAclMissDrop1
78 + ingressfixedAclMissDrop1
79 + egressfixedAclMissDrop1
80 + egressfixedAclMissDrop1
81 + ingressDispatcherFirst
82 + ingressDispatcherFirst
83 + ingressDispatcherLast
84 + ingressDispatcherLast
87 protected def tcpFlows() {
88 fixedIngressFlowsPort1
89 + fixedConntrackIngressFlowsPort1
91 + fixedEgressL2BroadcastFlowsPort1
92 + fixedIngressL3BroadcastFlows
93 + fixedEgressFlowsPort1
94 + fixedConntrackEgressFlowsPort1
95 + fixedIngressFlowsPort2
96 + fixedConntrackIngressFlowsPort2
98 + fixedEgressL2BroadcastFlowsPort2
99 + fixedIngressL3BroadcastFlows
100 + fixedEgressFlowsPort2
101 + fixedConntrackEgressFlowsPort2
104 + egressDispatcherFirst
105 + egressDispatcherFirst
106 + egressDispatcherLast
107 + egressDispatcherLast
108 + remoteIngressFlowsPort1
109 + remoteIngressFlowsPort2
110 + ingressCommitNonConntrack1
111 + ingressCommitNonConntrack1
112 + egressCommitNonConntrack1
113 + egressCommitNonConntrack1
114 + ingressCommitConntrack1
115 + ingressCommitConntrack1
116 + egressCommitConntrack1
117 + egressCommitConntrack1
118 + ingressfixedAclMissDrop1
119 + ingressfixedAclMissDrop1
120 + egressfixedAclMissDrop1
121 + egressfixedAclMissDrop1
125 protected def udpFlows() {
126 fixedIngressFlowsPort1
127 + fixedConntrackIngressFlowsPort1
128 + fixedEgressL2BroadcastFlowsPort1
129 + fixedIngressL3BroadcastFlows
130 + fixedEgressFlowsPort1
131 + fixedConntrackEgressFlowsPort1
132 + udpEgressFlowsPort1
133 + fixedIngressFlowsPort2
134 + fixedConntrackIngressFlowsPort2
135 + udpIngressFlowsPort2
136 + udpIngressFlowsPort2
137 + fixedEgressL2BroadcastFlowsPort2
138 + fixedIngressL3BroadcastFlows
139 + fixedEgressFlowsPort2
140 + fixedConntrackEgressFlowsPort2
141 + udpEgressFlowsPort2
142 + ingressDispatcherFirst
143 + ingressDispatcherFirst
144 + ingressDispatcherLast
145 + ingressDispatcherLast
146 + remoteEgressFlowsPort1
147 + remoteEgressFlowsPort2
148 + ingressCommitNonConntrack1
149 + ingressCommitNonConntrack1
150 + egressCommitNonConntrack1
151 + egressCommitNonConntrack1
152 + ingressCommitConntrack1
153 + ingressCommitConntrack1
154 + egressCommitConntrack1
155 + egressCommitConntrack1
156 + ingressfixedAclMissDrop1
157 + ingressfixedAclMissDrop1
158 + egressfixedAclMissDrop1
159 + egressfixedAclMissDrop1
162 protected def icmpFlows() {
163 fixedIngressFlowsPort1
164 + fixedConntrackIngressFlowsPort1
165 + icmpIngressFlowsPort1
166 + fixedEgressL2BroadcastFlowsPort1
167 + fixedIngressL3BroadcastFlows
168 + fixedEgressFlowsPort1
169 + fixedConntrackEgressFlowsPort1
170 + fixedIngressFlowsPort2
171 + fixedConntrackIngressFlowsPort2
172 + icmpIngressFlowsPort2
173 + fixedEgressL2BroadcastFlowsPort2
174 + fixedIngressL3BroadcastFlows
175 + fixedEgressFlowsPort2
176 + fixedConntrackEgressFlowsPort2
177 + icmpEgressFlowsPort2
178 + icmpEgressFlowsPort2
179 + egressDispatcherFirst
180 + egressDispatcherFirst
181 + egressDispatcherLast
182 + egressDispatcherLast
183 + remoteIngressFlowsPort1
184 + remoteIngressFlowsPort2
185 + ingressCommitNonConntrack1
186 + ingressCommitNonConntrack1
187 + egressCommitNonConntrack1
188 + egressCommitNonConntrack1
189 + ingressCommitConntrack1
190 + ingressCommitConntrack1
191 + egressCommitConntrack1
192 + egressCommitConntrack1
193 + ingressfixedAclMissDrop1
194 + ingressfixedAclMissDrop1
195 + egressfixedAclMissDrop1
196 + egressfixedAclMissDrop1
199 protected def dstRangeFlows() {
200 fixedIngressFlowsPort1
201 +fixedConntrackIngressFlowsPort1
202 + udpIngressPortRangeFlows
203 + fixedEgressL2BroadcastFlowsPort1
204 + fixedIngressL3BroadcastFlows
205 + fixedEgressFlowsPort1
206 + fixedConntrackEgressFlowsPort1
207 + tcpEgressRangeFlows
208 + ingressCommitNonConntrack1
209 + egressCommitNonConntrack1
210 + ingressCommitConntrack1
211 + egressCommitConntrack1
212 + ingressfixedAclMissDrop1
213 + egressfixedAclMissDrop1
217 protected def dstAllFlows() {
218 fixedIngressFlowsPort1
219 + fixedConntrackIngressFlowsPort1
221 + fixedEgressL2BroadcastFlowsPort1
222 + fixedIngressL3BroadcastFlows
223 + fixedEgressFlowsPort1
224 + fixedConntrackEgressFlowsPort1
226 + ingressCommitNonConntrack1
227 + egressCommitNonConntrack1
228 + ingressCommitConntrack1
229 + egressCommitConntrack1
230 + ingressfixedAclMissDrop1
231 + egressfixedAclMissDrop1
234 protected def icmpFlowsForTwoAclsHavingSameRules() {
235 fixedIngressFlowsPort3
236 + fixedConntrackIngressFlowsPort3
237 + icmpIngressFlowsPort3
238 + fixedEgressFlowsPort3
239 + fixedConntrackEgressFlowsPort3
240 + icmpEgressFlowsPort3
241 + ingressCommitConntrack1
242 + egressCommitConntrack1
243 + ingressCommitNonConntrack1
244 + egressCommitNonConntrack1
245 + ingressfixedAclMissDrop1
246 + egressfixedAclMissDrop1
247 + fixedIngressL3BroadcastFlows
248 + fixedEgressL2BroadcastFlowsPort3
251 protected def aapWithIpv4AllFlows() {
253 + aapIpv4AllFlowsPort2
256 protected def aapFlows() {
258 + aapRemoteFlowsPort1
262 protected def multipleAcl() {
263 fixedIngressFlowsPort1
264 + fixedConntrackIngressFlowsPort1
265 + fixedEgressL2BroadcastFlowsPort1
266 + fixedIngressL3BroadcastFlows
267 + fixedEgressFlowsPort1
268 + fixedConntrackEgressFlowsPort1
269 + etherEgressFlowsPort1
270 + fixedIngressFlowsPort2
271 + fixedConntrackIngressFlowsPort2
272 + etherIngressFlowsPort2
273 + etherIngressFlowsPort2
274 + fixedEgressL2BroadcastFlowsPort2
275 + fixedIngressL3BroadcastFlows
276 + fixedEgressFlowsPort2
277 + fixedConntrackEgressFlowsPort2
278 + etheregressFlowPort2
279 + remoteEgressFlowsPort1
280 + remoteEgressFlowsPort2
281 + tcpEgressFlowPort2WithRemoteIpSg
282 + tcpEgressFlowPort2WithRemoteIpSg
283 + tcpIngressFlowPort1WithMultipleSG
284 + tcpIngressFlowPort1WithMultipleSG
285 + ingressCommitNonConntrack1
286 + ingressCommitNonConntrack1
287 + egressCommitNonConntrack1
288 + egressCommitNonConntrack1
289 + ingressCommitConntrack1
290 + ingressCommitConntrack1
291 + egressCommitConntrack1
292 + egressCommitConntrack1
293 + ingressfixedAclMissDrop1
294 + ingressfixedAclMissDrop1
295 + egressfixedAclMissDrop1
296 + egressfixedAclMissDrop1
297 + remoteEgressFlowsPort3
298 + egressDispatcherLast1
299 + egressDispatcherFirst1
300 + ingressDispatcherLast
301 + ingressDispatcherFirst
302 + egressDispatcherLast1
303 + egressDispatcherFirst1
304 + ingressDispatcherLast
305 + ingressDispatcherFirst
306 + ingressDispatcherFirst
307 + ingressDispatcherFirst
308 + ingressDispatcherLast
309 + ingressDispatcherLast
313 protected def tcpEgressFlowPort2WithRemoteIpSg() {
314 val theFlowId1 ="TCP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426a21"
316 new FlowEntityBuilder >> [
321 instructionInfoList = #[
322 new InstructionGotoTable(NwConstants.INGRESS_REMOTE_ACL_TABLE)
325 new MatchEthernetType(2048L),
326 new MatchEthernetType(2048L),
327 new NxMatchTcpDestinationPort(80, 65535),
328 new MatchIpProtocol(6 as short),
329 new MatchMetadata(1085217976614976bi, 1152920405111996400bi)
331 priority = IdHelper.getId(theFlowId1)
332 tableId = NwConstants.INGRESS_ACL_RULE_BASED_FILTER_TABLE
337 protected def tcpIngressFlowPort1WithMultipleSG() {
338 val theFlowId = "TCP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426a22"
340 new FlowEntityBuilder >> [
345 instructionInfoList = #[
346 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
349 new MatchEthernetType(2048L),
350 new MatchEthernetType(2048L),
351 new NxMatchTcpDestinationPort(80, 65535),
352 new MatchIpProtocol(6 as short),
353 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
355 priority = IdHelper.getId(theFlowId)
356 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
361 protected def aapIpv4AllFlowsPort2() {
363 new FlowEntityBuilder >> [
366 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_0.0.0.0/0"
368 instructionInfoList = #[
369 new InstructionGotoTable(211 as short)
372 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
373 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
374 new MatchEthernetType(2048L)
377 tableId = 210 as short
379 new FlowEntityBuilder >> [
382 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_0.0.0.0/0"
384 instructionInfoList = #[
385 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
388 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
389 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F4")),
390 new MatchEthernetType(2048L)
393 tableId = 240 as short
395 new FlowEntityBuilder >> [
398 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:F40.0.0.0/0"
400 instructionInfoList = #[
401 new InstructionApplyActions(#[
402 new ActionNxResubmit(17 as short)
406 new MatchEthernetType(2054L),
407 new MatchArpSha(new MacAddress("0D:AA:D8:42:30:F4")),
408 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
409 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
412 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
414 new FlowEntityBuilder >> [
417 flowId = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:F4_Permit_"
419 instructionInfoList = #[
420 new InstructionApplyActions(#[
421 new ActionNxResubmit(17 as short)
425 new MatchEthernetType(2048L),
426 new MatchIpProtocol(17 as short),
427 new MatchUdpDestinationPort(67 as short),
428 new MatchUdpSourcePort(68 as short),
429 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
430 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4"))
433 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
438 protected def aapRemoteFlowsPort1() {
440 remoteIngressFlowsPort("10.0.0.100"),
441 remoteIngressFlowsPort("10.0.0.101")
445 protected def aapFlowsPort2() {
447 new FlowEntityBuilder >> [
450 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_10.0.0.100/32"
452 instructionInfoList = #[
453 new InstructionGotoTable(211 as short)
456 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
457 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
458 new MatchEthernetType(2048L),
459 new MatchIpv4Source("10.0.0.100", "32")
462 tableId = 210 as short
464 new FlowEntityBuilder >> [
467 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_10.0.0.100/32"
469 instructionInfoList = #[
470 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
473 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
474 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F4")),
475 new MatchEthernetType(2048L),
476 new MatchIpv4Destination("10.0.0.100", "32")
479 tableId = 240 as short
481 new FlowEntityBuilder >> [
484 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_10.0.0.101/32"
486 instructionInfoList = #[
487 new InstructionGotoTable(211 as short)
490 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
491 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4")),
492 new MatchEthernetType(2048L),
493 new MatchIpv4Source("10.0.0.101", "32")
496 tableId = 210 as short
498 new FlowEntityBuilder >> [
501 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_10.0.0.101/32"
503 instructionInfoList = #[
504 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
507 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
508 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:A4")),
509 new MatchEthernetType(2048L),
510 new MatchIpv4Destination("10.0.0.101", "32")
513 tableId = 240 as short
515 new FlowEntityBuilder >> [
518 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:F410.0.0.100/32"
520 instructionInfoList = #[
521 new InstructionApplyActions(#[
522 new ActionNxResubmit(17 as short)
526 new MatchEthernetType(2054L),
527 new MatchArpSha(new MacAddress("0D:AA:D8:42:30:F4")),
528 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
529 new MatchArpSpa(new Ipv4Prefix("10.0.0.100/32")),
530 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
533 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
535 new FlowEntityBuilder >> [
538 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:A410.0.0.101/32"
540 instructionInfoList = #[
541 new InstructionApplyActions(#[
542 new ActionNxResubmit(17 as short)
546 new MatchEthernetType(2054L),
547 new MatchArpSha(new MacAddress("0D:AA:D8:42:30:A4")),
548 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4")),
549 new MatchArpSpa(new Ipv4Prefix("10.0.0.101/32")),
550 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
553 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
555 new FlowEntityBuilder >> [
558 flowId = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:A4_Permit_"
560 instructionInfoList = #[
561 new InstructionApplyActions(#[
562 new ActionNxResubmit(17 as short)
566 new MatchEthernetType(2048L),
567 new MatchIpProtocol(17 as short),
568 new MatchUdpDestinationPort(67 as short),
569 new MatchUdpSourcePort(68 as short),
570 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
571 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4"))
574 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
576 new FlowEntityBuilder >> [
579 flowId = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:F4_Permit_"
581 instructionInfoList = #[
582 new InstructionApplyActions(#[
583 new ActionNxResubmit(17 as short)
587 new MatchEthernetType(2048L),
588 new MatchIpProtocol(17 as short),
589 new MatchUdpDestinationPort(67 as short),
590 new MatchUdpSourcePort(68 as short),
591 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
592 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4"))
595 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
597 new FlowEntityBuilder >> [
600 flowId = "Egress_L2Broadcast_123_987_0D:AA:D8:42:30:A4"
602 instructionInfoList = #[
603 new InstructionApplyActions(#[
604 new ActionNxResubmit(17 as short)
608 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4")),
609 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
612 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
617 protected def fixedConntrackIngressFlowsPort1() {
619 new FlowEntityBuilder >> [
622 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_10.0.0.1/32"
624 instructionInfoList = #[
625 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
628 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
629 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F3")),
630 new MatchEthernetType(2048L),
631 new MatchIpv4Destination("10.0.0.1", "32")
634 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
636 new FlowEntityBuilder >> [
639 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
641 instructionInfoList = #[
642 new InstructionApplyActions(#[
643 new ActionNxConntrack(2, 0, 0, 5000, 243 as short)
647 new MatchEthernetType(2048L),
648 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
651 tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
653 new FlowEntityBuilder >> [
655 cookie = 1085218086715393bi
656 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
658 instructionInfoList = #[
659 new InstructionApplyActions(#[
664 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
665 new NxMatchCtState(48L, 48L)
668 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
673 protected def etherIngressFlowsPort2() {
674 val theFlowId = "ETHERnullIngress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
676 new FlowEntityBuilder >> [
681 instructionInfoList = #[
682 new InstructionGotoTable(NwConstants.EGRESS_REMOTE_ACL_TABLE)
685 new MatchEthernetType(2048L),
686 new MatchEthernetType(2048L),
687 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
688 new MatchMetadata(32bi, 16777200bi)
690 priority = IdHelper.getId(theFlowId)
691 tableId = NwConstants.EGRESS_ACL_RULE_BASED_FILTER_TABLE
696 protected def fixedConntrackEgressFlowsPort1() {
698 new FlowEntityBuilder >> [
701 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_10.0.0.1/32"
703 instructionInfoList = #[
704 new InstructionGotoTable(211 as short)
707 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
708 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F3")),
709 new MatchEthernetType(2048L),
710 new MatchIpv4Source("10.0.0.1", "32")
713 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
715 new FlowEntityBuilder >> [
718 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
720 instructionInfoList = #[
721 new InstructionApplyActions(#[
722 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
726 new MatchEthernetType(2048L),
727 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
730 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
732 new FlowEntityBuilder >> [
734 cookie = 1085218086715393bi
735 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
737 instructionInfoList = #[
738 new InstructionApplyActions(#[
743 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
744 new NxMatchCtState(48L, 48L)
747 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
752 protected def fixedConntrackIngressFlowsPort2() {
754 new FlowEntityBuilder >> [
757 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_10.0.0.2/32"
759 instructionInfoList = #[
760 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
763 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
764 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F4")),
765 new MatchEthernetType(2048L),
766 new MatchIpv4Destination("10.0.0.2", "32")
769 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
771 new FlowEntityBuilder >> [
774 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
776 instructionInfoList = #[
777 new InstructionApplyActions(#[
778 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
782 new MatchEthernetType(2048L),
783 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
786 tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
788 new FlowEntityBuilder >> [
790 cookie = 1085218086715393bi
791 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
793 instructionInfoList = #[
794 new InstructionApplyActions(#[
799 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
800 new NxMatchCtState(48L, 48L)
803 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
808 protected def fixedConntrackEgressFlowsPort2() {
810 new FlowEntityBuilder >> [
813 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_10.0.0.2/32"
815 instructionInfoList = #[
816 new InstructionGotoTable(NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
819 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
820 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
821 new MatchEthernetType(2048L),
822 new MatchIpv4Source("10.0.0.2", "32")
825 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
827 new FlowEntityBuilder >> [
830 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
832 instructionInfoList = #[
833 new InstructionApplyActions(#[
834 new ActionNxConntrack(2, 0, 0, 5000, 213 as short)
838 new MatchEthernetType(2048L),
839 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
842 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
844 new FlowEntityBuilder >> [
846 cookie = 1085218086715393bi
847 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
849 instructionInfoList = #[
850 new InstructionApplyActions(#[
855 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
856 new NxMatchCtState(48L, 48L)
859 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
864 protected def fixedConntrackIngressFlowsPort3() {
866 new FlowEntityBuilder >> [
869 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_10.0.0.3/32"
871 instructionInfoList = #[
872 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
875 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
876 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F5")),
877 new MatchEthernetType(2048L),
878 new MatchIpv4Destination("10.0.0.3", "32")
881 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
883 new FlowEntityBuilder >> [
886 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
888 instructionInfoList = #[
889 new InstructionApplyActions(#[
890 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
894 new MatchEthernetType(2048L),
895 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
898 tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
900 new FlowEntityBuilder >> [
902 cookie = 1085218086715393bi
903 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
905 instructionInfoList = #[
906 new InstructionApplyActions(#[
911 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
912 new NxMatchCtState(48L, 48L)
915 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
920 protected def fixedConntrackEgressFlowsPort3() {
922 new FlowEntityBuilder >> [
925 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_10.0.0.3/32"
927 instructionInfoList = #[
928 new InstructionGotoTable(NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
931 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
932 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F5")),
933 new MatchEthernetType(2048L),
934 new MatchIpv4Source("10.0.0.3", "32")
937 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
939 new FlowEntityBuilder >> [
942 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
944 instructionInfoList = #[
945 new InstructionApplyActions(#[
946 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
950 new MatchEthernetType(2048L),
951 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
954 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
956 new FlowEntityBuilder >> [
958 cookie = 1085218086715393bi
959 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
961 instructionInfoList = #[
962 new InstructionApplyActions(#[
967 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
968 new NxMatchCtState(48L, 48L)
971 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
976 static def fixedConntrackIngressFlowsPort4() {
978 new FlowEntityBuilder >> [
981 flowId = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_10.0.0.4/32_Recirc"
983 instructionInfoList = #[
984 new InstructionApplyActions(#[
985 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
989 new MatchEthernetType(2048L),
990 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F6")),
991 new MatchEthernetType(2048L),
992 new MatchIpv4Destination("10.0.0.4", "32")
995 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
997 new FlowEntityBuilder >> [
1000 flowId = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_0.0.0.0/0_Recirc"
1002 instructionInfoList = #[
1003 new InstructionApplyActions(#[
1004 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
1008 new MatchEthernetType(2048L),
1009 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F6")),
1010 new MatchEthernetType(2048L)
1013 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1015 new FlowEntityBuilder >> [
1017 cookie = 1085218086715393bi
1018 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_New"
1020 instructionInfoList = #[
1021 new InstructionApplyActions(#[
1026 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
1027 new NxMatchCtState(32L, 32L)
1030 tableId = NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE
1032 new FlowEntityBuilder >> [
1034 cookie = 1085218086715393bi
1035 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1037 instructionInfoList = #[
1038 new InstructionApplyActions(#[
1043 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1044 new NxMatchCtState(48L, 48L)
1047 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1052 static def fixedConntrackEgressFlowsPort4() {
1054 new FlowEntityBuilder >> [
1056 cookie = 110100480bi
1057 flowId = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_10.0.0.4/32_Recirc"
1059 instructionInfoList = #[
1060 new InstructionApplyActions(#[
1061 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
1065 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F6")),
1066 new MatchEthernetType(2048L),
1067 new MatchIpv4Source("10.0.0.4", "32")
1070 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1072 new FlowEntityBuilder >> [
1074 cookie = 110100480bi
1075 flowId = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_0.0.0.0/0_Recirc"
1077 instructionInfoList = #[
1078 new InstructionApplyActions(#[
1079 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
1083 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F6")),
1084 new MatchEthernetType(2048L)
1087 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1089 new FlowEntityBuilder >> [
1091 cookie = 1085218086715393bi
1092 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_New"
1094 instructionInfoList = #[
1095 new InstructionApplyActions(#[
1100 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1101 new NxMatchCtState(32L, 32L)
1104 tableId = NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE
1106 new FlowEntityBuilder >> [
1108 cookie = 1085218086715393bi
1109 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1111 instructionInfoList = #[
1112 new InstructionApplyActions(#[
1117 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
1118 new NxMatchCtState(48L, 48L)
1121 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1126 protected def etherEgressFlowsPort1() {
1127 val theFlowId = "ETHERnullEgress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1129 new FlowEntityBuilder >> [
1131 cookie = 110100480bi
1134 instructionInfoList = #[
1135 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1138 new MatchEthernetType(2048L),
1139 new MatchEthernetType(2048L),
1140 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1142 priority = IdHelper.getId(theFlowId)
1143 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1148 protected def etheregressFlowPort2() {
1149 val theFlowId = "ETHERnullEgress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1151 new FlowEntityBuilder >> [
1153 cookie = 110100480bi
1156 instructionInfoList = #[
1157 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1160 new MatchEthernetType(2048L),
1161 new MatchEthernetType(2048L),
1162 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1164 priority = IdHelper.getId(theFlowId)
1165 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1170 protected def tcpIngressFlowPort1() {
1171 val theFlowId = "TCP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1173 new FlowEntityBuilder >> [
1175 cookie = 110100480bi
1178 instructionInfoList = #[
1179 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1182 new MatchEthernetType(2048L),
1183 new MatchEthernetType(2048L),
1184 new NxMatchTcpDestinationPort(80, 65535),
1185 new MatchIpProtocol(6 as short),
1186 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1188 priority = IdHelper.getId(theFlowId)
1189 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1194 protected def tcpIngressFlowPort2() {
1195 val theFlowId = "TCP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1197 new FlowEntityBuilder >> [
1199 cookie = 110100480bi
1202 instructionInfoList = #[
1203 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1206 new MatchEthernetType(2048L),
1207 new MatchEthernetType(2048L),
1208 new NxMatchTcpDestinationPort(80, 65535),
1209 new MatchIpProtocol(6 as short),
1210 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1212 priority = IdHelper.getId(theFlowId)
1213 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1218 protected def tcpEgressFlowPort2() {
1219 val theFlowId = "TCP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1221 new FlowEntityBuilder >> [
1223 cookie = 110100480bi
1226 instructionInfoList = #[
1227 new InstructionGotoTable(NwConstants.INGRESS_REMOTE_ACL_TABLE)
1230 new MatchEthernetType(2048L),
1231 new MatchEthernetType(2048L),
1232 new NxMatchTcpDestinationPort(80, 65535),
1233 new MatchIpProtocol(6 as short),
1234 new MatchMetadata(1085217976614944bi, 1152920405111996400bi)
1236 priority = IdHelper.getId(theFlowId)
1237 tableId = NwConstants.INGRESS_ACL_RULE_BASED_FILTER_TABLE
1242 protected def udpEgressFlowsPort1() {
1243 val theFlowId = "UDP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1245 new FlowEntityBuilder >> [
1247 cookie = 110100480bi
1250 instructionInfoList = #[
1251 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1254 new MatchEthernetType(2048L),
1255 new MatchEthernetType(2048L),
1256 new NxMatchUdpDestinationPort(80, 65535),
1257 new MatchIpProtocol(17 as short),
1258 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1260 priority = IdHelper.getId(theFlowId)
1261 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1266 protected def udpIngressFlowsPort2() {
1267 val theFlowId = "UDP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1269 new FlowEntityBuilder >> [
1271 cookie = 110100480bi
1274 instructionInfoList = #[
1275 new InstructionGotoTable(NwConstants.EGRESS_REMOTE_ACL_TABLE)
1278 new MatchEthernetType(2048L),
1279 new MatchEthernetType(2048L),
1280 new NxMatchUdpDestinationPort(80, 65535),
1281 new MatchIpProtocol(17 as short),
1282 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1283 new MatchMetadata(32bi, 16777200bi)
1285 priority = IdHelper.getId(theFlowId)
1286 tableId = NwConstants.EGRESS_ACL_RULE_BASED_FILTER_TABLE
1291 protected def udpEgressFlowsPort2() {
1292 val theFlowId = "UDP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1294 new FlowEntityBuilder >> [
1296 cookie = 110100480bi
1299 instructionInfoList = #[
1300 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1303 new MatchEthernetType(2048L),
1304 new MatchEthernetType(2048L),
1305 new NxMatchUdpDestinationPort(80, 65535),
1306 new MatchIpProtocol(17 as short),
1307 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1309 priority = IdHelper.getId(theFlowId)
1310 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1315 protected def icmpIngressFlowsPort1() {
1316 val theFlowId = "ICMP_V4_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1318 new FlowEntityBuilder >> [
1320 cookie = 110100480bi
1323 instructionInfoList = #[
1324 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1327 new MatchEthernetType(2048L),
1328 new MatchEthernetType(2048L),
1329 new MatchIcmpv4(2 as short, 3 as short),
1330 new MatchIpProtocol(1 as short),
1331 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1333 priority = IdHelper.getId(theFlowId)
1334 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1339 protected def icmpIngressFlowsPort2() {
1340 val theFlowId = "ICMP_V4_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1342 new FlowEntityBuilder >> [
1344 cookie = 110100480bi
1347 instructionInfoList = #[
1348 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1351 new MatchEthernetType(2048L),
1352 new MatchEthernetType(2048L),
1353 new MatchIcmpv4(2 as short, 3 as short),
1354 new MatchIpProtocol(1 as short),
1355 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1357 priority = IdHelper.getId(theFlowId)
1358 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1363 protected def icmpEgressFlowsPort2() {
1364 val theFlowId = "ICMP_V4_DESTINATION_23_Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1366 new FlowEntityBuilder >> [
1368 cookie = 110100480bi
1371 instructionInfoList = #[
1372 new InstructionGotoTable(NwConstants.INGRESS_REMOTE_ACL_TABLE)
1375 new MatchEthernetType(2048L),
1376 new MatchEthernetType(2048L),
1377 new MatchIcmpv4(2 as short, 3 as short),
1378 new MatchIpProtocol(1 as short),
1379 new MatchMetadata(1085217976614944bi, 1152920405111996400bi)
1381 priority = IdHelper.getId(theFlowId)
1382 tableId = NwConstants.INGRESS_ACL_RULE_BASED_FILTER_TABLE
1387 protected def udpIngressPortRangeFlows() {
1388 val theFlowId = "UDP_DESTINATION_2000_65532Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1390 new FlowEntityBuilder >> [
1392 cookie = 110100480bi
1395 instructionInfoList = #[
1396 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1399 new MatchEthernetType(2048L),
1400 new MatchEthernetType(2048L),
1401 new NxMatchUdpDestinationPort(2000, 65532),
1402 new MatchIpProtocol(17 as short),
1403 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1405 priority = IdHelper.getId(theFlowId)
1406 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1411 protected def tcpEgressRangeFlows() {
1412 val flowId1 = "TCP_DESTINATION_776_65534Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1413 val flowId2 = "TCP_DESTINATION_512_65280Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1414 val flowId3 = "TCP_DESTINATION_334_65534Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1415 val flowId4 = "TCP_DESTINATION_333_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1416 val flowId5 = "TCP_DESTINATION_336_65520Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1417 val flowId6 = "TCP_DESTINATION_352_65504Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1418 val flowId7 = "TCP_DESTINATION_384_65408Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1419 val flowId8 = "TCP_DESTINATION_768_65528Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1421 new FlowEntityBuilder >> [
1423 cookie = 110100480bi
1426 instructionInfoList = #[
1427 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1430 new MatchEthernetType(2048L),
1431 new MatchEthernetType(2048L),
1432 new NxMatchTcpDestinationPort(776, 65534),
1433 new MatchIpProtocol(6 as short),
1434 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1436 priority = IdHelper.getId(flowId1)
1437 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1439 new FlowEntityBuilder >> [
1441 cookie = 110100480bi
1444 instructionInfoList = #[
1445 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1448 new MatchEthernetType(2048L),
1449 new MatchEthernetType(2048L),
1450 new NxMatchTcpDestinationPort(512, 65280),
1451 new MatchIpProtocol(6 as short),
1452 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1454 priority = IdHelper.getId(flowId2)
1455 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1457 new FlowEntityBuilder >> [
1459 cookie = 110100480bi
1462 instructionInfoList = #[
1463 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1466 new MatchEthernetType(2048L),
1467 new MatchEthernetType(2048L),
1468 new NxMatchTcpDestinationPort(334, 65534),
1469 new MatchIpProtocol(6 as short),
1470 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1472 priority = IdHelper.getId(flowId3)
1473 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1475 new FlowEntityBuilder >> [
1477 cookie = 110100480bi
1480 instructionInfoList = #[
1481 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1484 new MatchEthernetType(2048L),
1485 new MatchEthernetType(2048L),
1486 new NxMatchTcpDestinationPort(333, 65535),
1487 new MatchIpProtocol(6 as short),
1488 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1490 priority = IdHelper.getId(flowId4)
1491 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1493 new FlowEntityBuilder >> [
1495 cookie = 110100480bi
1498 instructionInfoList = #[
1499 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1502 new MatchEthernetType(2048L),
1503 new MatchEthernetType(2048L),
1504 new NxMatchTcpDestinationPort(336, 65520),
1505 new MatchIpProtocol(6 as short),
1506 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1508 priority = IdHelper.getId(flowId5)
1509 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1511 new FlowEntityBuilder >> [
1513 cookie = 110100480bi
1516 instructionInfoList = #[
1517 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1520 new MatchEthernetType(2048L),
1521 new MatchEthernetType(2048L),
1522 new NxMatchTcpDestinationPort(352, 65504),
1523 new MatchIpProtocol(6 as short),
1524 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1526 priority = IdHelper.getId(flowId6)
1527 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1529 new FlowEntityBuilder >> [
1531 cookie = 110100480bi
1534 instructionInfoList = #[
1535 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1538 new MatchEthernetType(2048L),
1539 new MatchEthernetType(2048L),
1540 new NxMatchTcpDestinationPort(384, 65408),
1541 new MatchIpProtocol(6 as short),
1542 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1544 priority = IdHelper.getId(flowId7)
1545 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1547 new FlowEntityBuilder >> [
1549 cookie = 110100480bi
1552 instructionInfoList = #[
1553 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1556 new MatchEthernetType(2048L),
1557 new MatchEthernetType(2048L),
1558 new NxMatchTcpDestinationPort(768, 65528),
1559 new MatchIpProtocol(6 as short),
1560 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1562 priority = IdHelper.getId(flowId8)
1563 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1568 protected def udpIngressAllFlows() {
1569 val theFlowId = "UDP_DESTINATION_1_0Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1571 new FlowEntityBuilder >> [
1573 cookie = 110100480bi
1576 instructionInfoList = #[
1577 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1580 new MatchEthernetType(2048L),
1581 new MatchEthernetType(2048L),
1582 new MatchIpProtocol(17 as short),
1583 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1585 priority = IdHelper.getId(theFlowId)
1586 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1591 protected def tcpEgressAllFlows() {
1592 val theFlowId = "TCP_DESTINATION_1_0Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1594 new FlowEntityBuilder >> [
1596 cookie = 110100480bi
1599 instructionInfoList = #[
1600 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1603 new MatchEthernetType(2048L),
1604 new MatchEthernetType(2048L),
1605 new MatchIpProtocol(6 as short),
1606 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1608 priority = IdHelper.getId(theFlowId)
1609 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1615 protected def icmpIngressFlowsPort3() {
1616 val flowId1 = "ICMP_V4_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1617 val flowId2 = "ICMP_V4_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426a22"
1619 new FlowEntityBuilder >> [
1621 cookie = 110100480bi
1624 instructionInfoList = #[
1625 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1628 new MatchEthernetType(2048L),
1629 new MatchEthernetType(2048L),
1630 new MatchIcmpv4(2 as short, 3 as short),
1631 new MatchIpProtocol(1 as short),
1632 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1634 priority = IdHelper.getId(flowId1)
1635 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1637 new FlowEntityBuilder >> [
1639 cookie = 110100480bi
1642 instructionInfoList = #[
1643 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1646 new MatchEthernetType(2048L),
1647 new MatchEthernetType(2048L),
1648 new MatchIcmpv4(2 as short, 3 as short),
1649 new MatchIpProtocol(1 as short),
1650 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1652 priority = IdHelper.getId(flowId2)
1653 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1658 protected def icmpEgressFlowsPort3() {
1659 val flowId1 = "ICMP_V4_DESTINATION_23_Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1660 val flowId2 = "ICMP_V4_DESTINATION_23_Egress_123_987_85cc3048-abc3-43cc-89b3-377341426a21"
1662 new FlowEntityBuilder >> [
1664 cookie = 110100480bi
1667 instructionInfoList = #[
1668 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1671 new MatchEthernetType(2048L),
1672 new MatchEthernetType(2048L),
1673 new MatchIcmpv4(2 as short, 3 as short),
1674 new MatchIpProtocol(1 as short),
1675 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1677 priority = IdHelper.getId(flowId1)
1678 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1680 new FlowEntityBuilder >> [
1682 cookie = 110100480bi
1685 instructionInfoList = #[
1686 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1689 new MatchEthernetType(2048L),
1690 new MatchEthernetType(2048L),
1691 new MatchIcmpv4(2 as short, 3 as short),
1692 new MatchIpProtocol(1 as short),
1693 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1695 priority = IdHelper.getId(flowId2)
1696 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1701 override def expectedFlows(String mac) {
1702 // Code auto. generated by https://github.com/vorburger/xtendbeans
1704 new FlowEntityBuilder >> [
1706 cookie = 110100480bi
1707 flowId = "Ingress_DHCP_Server_v4123_987_Permit_"
1709 instructionInfoList = #[
1710 new InstructionApplyActions(#[
1711 new ActionNxResubmit(220 as short)
1715 new MatchEthernetType(2048L),
1716 new MatchIpProtocol(17 as short),
1717 new MatchUdpDestinationPort(68 as short),
1718 new MatchUdpSourcePort(67 as short),
1719 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1722 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1724 new FlowEntityBuilder >> [
1726 cookie = 110100480bi
1727 flowId = "Ingress_DHCP_Server_v6_123_987_Permit_"
1729 instructionInfoList = #[
1730 new InstructionApplyActions(#[
1731 new ActionNxResubmit(220 as short)
1735 new MatchEthernetType(34525L),
1736 new MatchIpProtocol(17 as short),
1737 new MatchUdpDestinationPort(546 as short),
1738 new MatchUdpSourcePort(547 as short),
1739 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1742 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1744 new FlowEntityBuilder >> [
1746 cookie = 110100480bi
1747 flowId = "Ingress_ICMPv6_123_987_130_Permit_"
1749 instructionInfoList = #[
1750 new InstructionApplyActions(#[
1751 new ActionNxResubmit(220 as short)
1755 new MatchEthernetType(34525L),
1756 new MatchIpProtocol(58 as short),
1757 new MatchIcmpv6(130 as short, 0 as short),
1758 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1761 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1763 new FlowEntityBuilder >> [
1765 cookie = 110100480bi
1766 flowId = "Ingress_ICMPv6_123_987_135_Permit_"
1768 instructionInfoList = #[
1769 new InstructionApplyActions(#[
1770 new ActionNxResubmit(220 as short)
1774 new MatchEthernetType(34525L),
1775 new MatchIpProtocol(58 as short),
1776 new MatchIcmpv6(135 as short, 0 as short),
1777 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1780 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1782 new FlowEntityBuilder >> [
1784 cookie = 110100480bi
1785 flowId = "Ingress_ICMPv6_123_987_136_Permit_"
1787 instructionInfoList = #[
1788 new InstructionApplyActions(#[
1789 new ActionNxResubmit(220 as short)
1793 new MatchEthernetType(34525L),
1794 new MatchIpProtocol(58 as short),
1795 new MatchIcmpv6(136 as short, 0 as short),
1796 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1799 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1801 new FlowEntityBuilder >> [
1803 cookie = 110100480bi
1804 flowId = "Ingress_ARP_123_987"
1806 instructionInfoList = #[
1807 new InstructionApplyActions(#[
1808 new ActionNxResubmit(220 as short)
1812 new MatchEthernetType(2054L),
1813 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1816 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1818 new FlowEntityBuilder >> [
1820 cookie = 110100480bi
1821 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_10.0.0.1/32"
1823 instructionInfoList = #[
1824 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
1827 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1828 new MatchEthernetDestination(new MacAddress(mac)),
1829 new MatchEthernetType(2048L),
1830 new MatchIpv4Destination("10.0.0.1", "32")
1833 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1835 new FlowEntityBuilder >> [
1837 cookie = 1085218086715393bi
1838 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1840 instructionInfoList = #[
1841 new InstructionApplyActions(#[
1846 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1847 new NxMatchCtState(48L, 48L)
1850 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1852 new FlowEntityBuilder >> [
1854 cookie = 110100480bi
1855 flowId = "Egress_DHCP_Client_v4123_987_" + mac + "_Permit_"
1857 instructionInfoList = #[
1858 new InstructionApplyActions(#[
1859 new ActionNxResubmit(17 as short)
1863 new MatchEthernetType(2048L),
1864 new MatchIpProtocol(17 as short),
1865 new MatchUdpDestinationPort(67 as short),
1866 new MatchUdpSourcePort(68 as short),
1867 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
1868 new MatchEthernetSource(new MacAddress(mac))
1871 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1873 new FlowEntityBuilder >> [
1875 cookie = 110100480bi
1876 flowId = "Egress_ICMPv6_123_987_133_Permit_"
1878 instructionInfoList = #[
1879 new InstructionApplyActions(#[
1880 new ActionNxResubmit(17 as short)
1884 new MatchEthernetType(34525L),
1885 new MatchIpProtocol(58 as short),
1886 new MatchIcmpv6(133 as short, 0 as short),
1887 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1890 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1892 new FlowEntityBuilder >> [
1894 cookie = 110100480bi
1895 flowId = "Egress_ICMPv6_123_987_135_Permit_"
1897 instructionInfoList = #[
1898 new InstructionApplyActions(#[
1899 new ActionNxResubmit(17 as short)
1903 new MatchEthernetType(34525L),
1904 new MatchIpProtocol(58 as short),
1905 new MatchIcmpv6(135 as short, 0 as short),
1906 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1909 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1911 new FlowEntityBuilder >> [
1913 cookie = 110100480bi
1914 flowId = "Egress_ICMPv6_123_987_136_Permit_"
1916 instructionInfoList = #[
1917 new InstructionApplyActions(#[
1918 new ActionNxResubmit(17 as short)
1922 new MatchEthernetType(34525L),
1923 new MatchIpProtocol(58 as short),
1924 new MatchIcmpv6(136 as short, 0 as short),
1925 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1928 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1930 new FlowEntityBuilder >> [
1932 cookie = 110100480bi
1933 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_10.0.0.1/32"
1935 instructionInfoList = #[
1936 new InstructionGotoTable(211 as short)
1939 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
1940 new MatchEthernetSource(new MacAddress(mac)),
1941 new MatchEthernetType(2048L),
1942 new MatchIpv4Source("10.0.0.1", "32")
1945 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1947 new FlowEntityBuilder >> [
1949 cookie = 1085218086715393bi
1950 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1952 instructionInfoList = #[
1953 new InstructionApplyActions(#[
1958 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
1959 new NxMatchCtState(48L, 48L)
1962 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1964 new FlowEntityBuilder >> [
1966 cookie = 110100480bi
1967 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
1969 instructionInfoList = #[
1970 new InstructionApplyActions(#[
1971 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
1975 new MatchEthernetType(2048L),
1976 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1979 tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
1981 new FlowEntityBuilder >> [
1983 cookie = 110100480bi
1984 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
1986 instructionInfoList = #[
1987 new InstructionApplyActions(#[
1988 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
1992 new MatchEthernetType(2048L),
1993 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1996 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
1998 new FlowEntityBuilder >> [
2000 cookie = 110100480bi
2001 flowId = "Egress_ARP_123_987_" + mac + "10.0.0.1/32"
2003 instructionInfoList = #[
2004 new InstructionApplyActions(#[
2005 new ActionNxResubmit(17 as short)
2009 new MatchEthernetType(2054L),
2010 new MatchArpSha(new MacAddress(mac)),
2011 new MatchEthernetSource(new MacAddress(mac)),
2012 new MatchArpSpa(new Ipv4Prefix("10.0.0.1/32")),
2013 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
2016 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
2018 new FlowEntityBuilder >> [
2020 cookie = 110100480bi
2021 flowId = "Egress_L2Broadcast_123_987_" + mac
2023 instructionInfoList = #[
2024 new InstructionApplyActions(#[
2025 new ActionNxResubmit(17 as short)
2029 new MatchEthernetSource(new MacAddress(mac)),
2030 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
2033 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
2035 new FlowEntityBuilder >> [
2036 cookie = 110100480bi
2038 flowId = "Ingress_v4_Broadcast_123_987_10.0.0.255_Permit"
2042 instructionInfoList = #[
2043 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
2046 new MatchEthernetDestination(new MacAddress("ff:ff:ff:ff:ff:ff")),
2047 new MatchEthernetType(2048L),
2048 new MatchIpv4Destination(new Ipv4Prefix("10.0.0.255/32")),
2049 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
2052 sendFlowRemFlag = false
2054 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
2056 new FlowEntityBuilder >> [
2058 cookie = 110100480bi
2059 flowId = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
2061 instructionInfoList = #[
2062 new InstructionApplyActions(#[
2063 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2064 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2066 new ActionNxCtClear(),
2067 new ActionNxResubmit(220 as short)
2071 new MatchEthernetType(2048L),
2072 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2073 new MatchMetadata(0bi, 2bi)
2076 tableId = 247 as short
2078 new FlowEntityBuilder >> [
2080 cookie = 110100480bi
2081 flowId = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2083 instructionInfoList = #[
2084 new InstructionApplyActions(#[
2085 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2086 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2088 new ActionNxCtClear(),
2089 new ActionNxResubmit(220 as short)
2093 new MatchEthernetType(34525L),
2094 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2095 new MatchMetadata(0bi, 2bi)
2098 tableId = 247 as short
2100 new FlowEntityBuilder >> [
2102 cookie = 110100480bi
2103 flowId = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
2105 instructionInfoList = #[
2106 new InstructionApplyActions(#[
2107 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2108 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2110 new ActionNxCtClear(),
2111 new ActionNxResubmit(17 as short)
2115 new MatchEthernetType(2048L),
2116 new MatchMetadata(1085217976614912bi, 1152920405095219202bi)
2119 tableId = 217 as short
2121 new FlowEntityBuilder >> [
2123 cookie = 110100480bi
2124 flowId = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2126 instructionInfoList = #[
2127 new InstructionApplyActions(#[
2128 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2129 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2131 new ActionNxCtClear(),
2132 new ActionNxResubmit(17 as short)
2136 new MatchEthernetType(34525L),
2137 new MatchMetadata(1085217976614912bi, 1152920405095219202bi)
2140 tableId = 217 as short
2142 new FlowEntityBuilder >> [
2144 cookie = 110100480bi
2145 flowId = "Egress_Acl_Commit_Non_Conntrack_123_987"
2147 instructionInfoList = #[
2148 new InstructionApplyActions(#[
2149 new ActionNxResubmit(17 as short)
2153 new MatchMetadata(1085217976614914bi, 1152920405095219202bi)
2156 tableId = 217 as short
2158 new FlowEntityBuilder >> [
2160 cookie = 1085218086715393bi
2161 flowId = "Egress_123_987_Drop"
2163 instructionInfoList = #[
2164 new InstructionApplyActions(#[
2169 new MatchMetadata(1085217976614916bi, new BigInteger("0FFFFF0000000004", 16))
2172 tableId = 217 as short
2174 new FlowEntityBuilder >> [
2176 cookie = 110100480bi
2177 flowId = "Ingress_Acl_Commit_Non_Conntrack_123_987"
2179 instructionInfoList = #[
2180 new InstructionApplyActions(#[
2181 new ActionNxResubmit(220 as short)
2185 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2186 new MatchMetadata(2bi, 2bi)
2189 tableId = 247 as short
2191 new FlowEntityBuilder >> [
2193 cookie = 1085218086715393bi
2194 flowId = "Ingress_123_987_Drop"
2196 instructionInfoList = #[
2197 new InstructionApplyActions(#[
2202 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2203 new MatchMetadata(4bi, 4bi)
2206 tableId = 247 as short
2208 new FlowEntityBuilder >> [
2210 cookie = 1085218086715393bi
2211 flowId = "Ingress_Fixed_Acl_Rule_Miss_Drop_123_987"
2213 instructionInfoList = #[
2214 new InstructionApplyActions(#[
2219 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
2222 tableId = 244 as short
2224 new FlowEntityBuilder >> [
2226 cookie = 1085218086715393bi
2227 flowId = "Egress_Fixed_Acl_Rule_Miss_Drop_123_987"
2229 instructionInfoList = #[
2230 new InstructionApplyActions(#[
2235 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
2238 tableId = 214 as short
2243 protected def ingressCommitConntrack1() {
2244 val flowId1 = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
2245 val flowId2 = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2247 new FlowEntityBuilder >> [
2249 cookie = 110100480bi
2252 instructionInfoList = #[
2253 new InstructionApplyActions(#[
2254 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2255 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE)
2258 new ActionNxCtClear(),
2259 new ActionNxResubmit(220 as short)
2263 new MatchEthernetType(2048L),
2264 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2265 new MatchMetadata(0bi, 2bi)
2268 tableId = 247 as short
2270 new FlowEntityBuilder >> [
2272 cookie = 110100480bi
2275 instructionInfoList = #[
2276 new InstructionApplyActions(#[
2277 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2278 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2280 new ActionNxCtClear(),
2281 new ActionNxResubmit(220 as short)
2285 new MatchEthernetType(34525L),
2286 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2287 new MatchMetadata(0bi, 2bi)
2290 tableId = 247 as short
2295 protected def egressCommitConntrack1() {
2296 val flowId1 = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
2297 val flowId2 = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2299 new FlowEntityBuilder >> [
2301 cookie = 110100480bi
2304 instructionInfoList = #[
2305 new InstructionApplyActions(#[
2306 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2307 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2309 new ActionNxCtClear(),
2310 new ActionNxResubmit(17 as short)
2314 new MatchEthernetType(2048L),
2315 new MatchMetadata(1085217976614912bi, 1152920405095219202bi)
2318 tableId = 217 as short
2320 new FlowEntityBuilder >> [
2322 cookie = 110100480bi
2325 instructionInfoList = #[
2326 new InstructionApplyActions(#[
2327 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2328 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2330 new ActionNxCtClear(),
2331 new ActionNxResubmit(17 as short)
2335 new MatchEthernetType(34525L),
2336 new MatchMetadata(1085217976614912bi, 1152920405095219202bi)
2339 tableId = 217 as short
2344 protected def egressCommitNonConntrack1() {
2345 val flowId1 = "Egress_Acl_Commit_Non_Conntrack_123_987"
2347 new FlowEntityBuilder >> [
2349 cookie = 110100480bi
2352 instructionInfoList = #[
2353 new InstructionApplyActions(#[
2354 new ActionNxResubmit(17 as short)
2358 new MatchMetadata(1085217976614914bi, 1152920405095219202bi)
2361 tableId = 217 as short
2363 new FlowEntityBuilder >> [
2365 cookie = 1085218086715393bi
2366 flowId = "Egress_123_987_Drop"
2368 instructionInfoList = #[
2369 new InstructionApplyActions(#[
2374 new MatchMetadata(1085217976614916bi, new BigInteger("0FFFFF0000000004", 16))
2377 tableId = 217 as short
2382 protected def ingressCommitNonConntrack1() {
2383 val flowId1 = "Ingress_Acl_Commit_Non_Conntrack_123_987"
2385 new FlowEntityBuilder >> [
2387 cookie = 110100480bi
2390 instructionInfoList = #[
2391 new InstructionApplyActions(#[
2392 new ActionNxResubmit(220 as short)
2396 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2397 new MatchMetadata(2bi, 2bi)
2400 tableId = 247 as short
2402 new FlowEntityBuilder >> [
2404 cookie = 1085218086715393bi
2405 flowId = "Ingress_123_987_Drop"
2407 instructionInfoList = #[
2408 new InstructionApplyActions(#[
2413 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2414 new MatchMetadata(4bi, 4bi)
2417 tableId = 247 as short
2422 protected def ingressfixedAclMissDrop1() {
2423 val flowId1 = "Ingress_Fixed_Acl_Rule_Miss_Drop_123_987"
2425 new FlowEntityBuilder >> [
2427 cookie = 1085218086715393bi
2430 instructionInfoList = #[
2431 new InstructionApplyActions(#[
2436 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
2439 tableId = 244 as short
2444 protected def egressfixedAclMissDrop1() {
2445 val flowId1 = "Egress_Fixed_Acl_Rule_Miss_Drop_123_987"
2447 new FlowEntityBuilder >> [
2449 cookie = 1085218086715393bi
2452 instructionInfoList = #[
2453 new InstructionApplyActions(#[
2458 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
2461 tableId = 214 as short
2466 protected def ingressDispatcherFirst() {
2467 val flowId1 = "Ingress_ACL_Dispatcher_First_123_987_2"
2469 new FlowEntityBuilder >> [
2471 cookie = 110100480bi
2474 instructionInfoList = #[
2475 new InstructionGotoTable(245 as short),
2476 new InstructionWriteMetadata(32bi, 16777200bi)
2479 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
2481 priority = IdHelper.getId(flowId1)
2482 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2487 protected def ingressDispatcherLast() {
2488 val flowId1 = "Ingress_ACL_Dispatcher_Last_123_987_2"
2490 new FlowEntityBuilder >> [
2492 cookie = 1085218086715393bi
2495 instructionInfoList = #[
2496 new InstructionApplyActions(#[
2501 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2502 new MatchMetadata(32bi, 16777200bi)
2504 priority = IdHelper.getId(flowId1)
2505 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2510 protected def egressDispatcherFirst() {
2511 val flowId1 = "Egress_ACL_Dispatcher_First_123_987_2"
2513 new FlowEntityBuilder >> [
2515 cookie = 110100480bi
2518 instructionInfoList = #[
2519 new InstructionGotoTable(215 as short),
2520 new InstructionWriteMetadata(32bi, 16777200bi)
2523 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
2525 priority = IdHelper.getId(flowId1)
2526 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2531 protected def egressDispatcherLast() {
2532 val flowId1 = "Egress_ACL_Dispatcher_Last_123_987_2"
2534 new FlowEntityBuilder >> [
2536 cookie = 1085218086715393bi
2539 instructionInfoList = #[
2540 new InstructionApplyActions(#[
2545 new MatchMetadata(1085217976614944bi, 1152920405111996400bi)
2547 priority = IdHelper.getId(flowId1)
2548 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2553 protected def egressDispatcherFirst1() {
2554 val flowId1 = "Egress_ACL_Dispatcher_First_123_987_4"
2556 new FlowEntityBuilder >> [
2558 cookie = 110100480bi
2561 instructionInfoList = #[
2562 new InstructionGotoTable(215 as short),
2563 new InstructionWriteMetadata(64bi, 16777200bi)
2566 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
2568 priority = IdHelper.getId(flowId1)
2569 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2574 protected def egressDispatcherLast1() {
2575 val flowId1 = "Egress_ACL_Dispatcher_Last_123_987_4"
2577 new FlowEntityBuilder >> [
2579 cookie = 1085218086715393bi
2582 instructionInfoList = #[
2583 new InstructionApplyActions(#[
2588 new MatchMetadata(1085217976614976bi, 1152920405111996400bi)
2590 priority = IdHelper.getId(flowId1)
2591 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE