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.ActionNxResubmit
15 import org.opendaylight.genius.mdsalutil.instructions.InstructionApplyActions
16 import org.opendaylight.genius.mdsalutil.instructions.InstructionGotoTable
17 import org.opendaylight.genius.mdsalutil.matches.MatchArpSha
18 import org.opendaylight.genius.mdsalutil.matches.MatchArpSpa
19 import org.opendaylight.genius.mdsalutil.matches.MatchEthernetDestination
20 import org.opendaylight.genius.mdsalutil.matches.MatchEthernetSource
21 import org.opendaylight.genius.mdsalutil.matches.MatchEthernetType
22 import org.opendaylight.genius.mdsalutil.matches.MatchIcmpv4
23 import org.opendaylight.genius.mdsalutil.matches.MatchIcmpv6
24 import org.opendaylight.genius.mdsalutil.matches.MatchIpProtocol
25 import org.opendaylight.genius.mdsalutil.matches.MatchIpv4Destination
26 import org.opendaylight.genius.mdsalutil.matches.MatchIpv4Source
27 import org.opendaylight.genius.mdsalutil.matches.MatchMetadata
28 import org.opendaylight.genius.mdsalutil.matches.MatchUdpDestinationPort
29 import org.opendaylight.genius.mdsalutil.matches.MatchUdpSourcePort
30 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchCtState
31 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchRegister
32 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchTcpDestinationPort
33 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchUdpDestinationPort
34 import org.opendaylight.genius.mdsalutil.FlowEntityBuilder
35 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix
36 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress
37 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg6
39 import static extension org.opendaylight.mdsal.binding.testutils.XtendBuilderExtensions.operator_doubleGreaterThan
40 import org.opendaylight.netvirt.aclservice.utils.AclConstants
41 import java.util.Collections
43 import org.opendaylight.genius.mdsalutil.instructions.InstructionWriteMetadata
46 class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
48 protected def etherFlows() {
49 fixedIngressFlowsPort1
50 + fixedConntrackIngressFlowsPort1
51 + fixedEgressL2BroadcastFlowsPort1
52 + fixedIngressL3BroadcastFlows
53 + fixedEgressFlowsPort1
54 + fixedConntrackEgressFlowsPort1
55 + etherEgressFlowsPort1
56 + fixedIngressFlowsPort2
57 + fixedConntrackIngressFlowsPort2
58 + etherIngressFlowsPort2
59 + etherIngressFlowsPort2
60 + fixedEgressL2BroadcastFlowsPort2
61 + fixedIngressL3BroadcastFlows
62 + fixedEgressFlowsPort2
63 + fixedConntrackEgressFlowsPort2
64 + etheregressFlowPort2
65 + remoteEgressFlowsPort1
66 + remoteEgressFlowsPort2
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 + remoteIngressFlowsPort1
111 + remoteIngressFlowsPort2
112 + ingressCommitNonConntrack1
113 + ingressCommitNonConntrack1
114 + egressCommitNonConntrack1
115 + egressCommitNonConntrack1
116 + ingressCommitConntrack1
117 + ingressCommitConntrack1
118 + egressCommitConntrack1
119 + egressCommitConntrack1
120 + ingressfixedAclMissDrop1
121 + ingressfixedAclMissDrop1
122 + egressfixedAclMissDrop1
123 + egressfixedAclMissDrop1
127 protected def udpFlows() {
128 fixedIngressFlowsPort1
129 + fixedConntrackIngressFlowsPort1
130 + fixedEgressL2BroadcastFlowsPort1
131 + fixedIngressL3BroadcastFlows
132 + fixedEgressFlowsPort1
133 + fixedConntrackEgressFlowsPort1
134 + udpEgressFlowsPort1
135 + fixedIngressFlowsPort2
136 + fixedConntrackIngressFlowsPort2
137 + udpIngressFlowsPort2
138 + udpIngressFlowsPort2
139 + fixedEgressL2BroadcastFlowsPort2
140 + fixedIngressL3BroadcastFlows
141 + fixedEgressFlowsPort2
142 + fixedConntrackEgressFlowsPort2
143 + udpEgressFlowsPort2
144 + ingressDispatcherFirst
145 + ingressDispatcherFirst
146 + ingressDispatcherLast
147 + ingressDispatcherLast
148 + remoteEgressFlowsPort1
149 + remoteEgressFlowsPort2
150 + remoteEgressFlowsPort1
151 + remoteEgressFlowsPort2
152 + ingressCommitNonConntrack1
153 + ingressCommitNonConntrack1
154 + egressCommitNonConntrack1
155 + egressCommitNonConntrack1
156 + ingressCommitConntrack1
157 + ingressCommitConntrack1
158 + egressCommitConntrack1
159 + egressCommitConntrack1
160 + ingressfixedAclMissDrop1
161 + ingressfixedAclMissDrop1
162 + egressfixedAclMissDrop1
163 + egressfixedAclMissDrop1
166 protected def icmpFlows() {
167 fixedIngressFlowsPort1
168 + fixedConntrackIngressFlowsPort1
169 + icmpIngressFlowsPort1
170 + fixedEgressL2BroadcastFlowsPort1
171 + fixedIngressL3BroadcastFlows
172 + fixedEgressFlowsPort1
173 + fixedConntrackEgressFlowsPort1
174 + fixedIngressFlowsPort2
175 + fixedConntrackIngressFlowsPort2
176 + icmpIngressFlowsPort2
177 + fixedEgressL2BroadcastFlowsPort2
178 + fixedIngressL3BroadcastFlows
179 + fixedEgressFlowsPort2
180 + fixedConntrackEgressFlowsPort2
181 + icmpEgressFlowsPort2
182 + icmpEgressFlowsPort2
183 + egressDispatcherFirst
184 + egressDispatcherFirst
185 + egressDispatcherLast
186 + egressDispatcherLast
187 + remoteIngressFlowsPort1
188 + remoteIngressFlowsPort2
189 + remoteIngressFlowsPort1
190 + remoteIngressFlowsPort2
191 + ingressCommitNonConntrack1
192 + ingressCommitNonConntrack1
193 + egressCommitNonConntrack1
194 + egressCommitNonConntrack1
195 + ingressCommitConntrack1
196 + ingressCommitConntrack1
197 + egressCommitConntrack1
198 + egressCommitConntrack1
199 + ingressfixedAclMissDrop1
200 + ingressfixedAclMissDrop1
201 + egressfixedAclMissDrop1
202 + egressfixedAclMissDrop1
205 protected def dstRangeFlows() {
206 fixedIngressFlowsPort1
207 +fixedConntrackIngressFlowsPort1
208 + udpIngressPortRangeFlows
209 + fixedEgressL2BroadcastFlowsPort1
210 + fixedIngressL3BroadcastFlows
211 + fixedEgressFlowsPort1
212 + fixedConntrackEgressFlowsPort1
213 + tcpEgressRangeFlows
214 + ingressCommitNonConntrack1
215 + egressCommitNonConntrack1
216 + ingressCommitConntrack1
217 + egressCommitConntrack1
218 + ingressfixedAclMissDrop1
219 + egressfixedAclMissDrop1
223 protected def dstAllFlows() {
224 fixedIngressFlowsPort1
225 + fixedConntrackIngressFlowsPort1
227 + fixedEgressL2BroadcastFlowsPort1
228 + fixedIngressL3BroadcastFlows
229 + fixedEgressFlowsPort1
230 + fixedConntrackEgressFlowsPort1
232 + ingressCommitNonConntrack1
233 + egressCommitNonConntrack1
234 + ingressCommitConntrack1
235 + egressCommitConntrack1
236 + ingressfixedAclMissDrop1
237 + egressfixedAclMissDrop1
240 protected def icmpFlowsForTwoAclsHavingSameRules() {
241 fixedIngressFlowsPort3
242 + fixedConntrackIngressFlowsPort3
243 + icmpIngressFlowsPort3
244 + fixedEgressFlowsPort3
245 + fixedConntrackEgressFlowsPort3
246 + icmpEgressFlowsPort3
247 + ingressCommitConntrack1
248 + egressCommitConntrack1
249 + ingressCommitNonConntrack1
250 + egressCommitNonConntrack1
251 + ingressfixedAclMissDrop1
252 + egressfixedAclMissDrop1
253 + fixedIngressL3BroadcastFlows
254 + fixedEgressL2BroadcastFlowsPort3
257 protected def aapWithIpv4AllFlows() {
259 + aapIpv4AllFlowsPort2
262 protected def aapFlows() {
264 + aapRemoteFlowsPort1
265 + aapRemoteFlowsPort1
269 protected def multipleAcl() {
270 fixedIngressFlowsPort1
271 + fixedConntrackIngressFlowsPort1
272 + fixedEgressL2BroadcastFlowsPort1
273 + fixedIngressL3BroadcastFlows
274 + fixedEgressFlowsPort1
275 + fixedConntrackEgressFlowsPort1
276 + etherEgressFlowsPort1
277 + fixedIngressFlowsPort2
278 + fixedConntrackIngressFlowsPort2
279 + etherIngressFlowsPort2
280 + etherIngressFlowsPort2
281 + fixedEgressL2BroadcastFlowsPort2
282 + fixedIngressL3BroadcastFlows
283 + fixedEgressFlowsPort2
284 + fixedConntrackEgressFlowsPort2
285 + etheregressFlowPort2
286 + remoteEgressFlowsPort1
287 + remoteEgressFlowsPort2
288 + remoteEgressFlowsPort1
289 + remoteEgressFlowsPort2
290 + tcpEgressFlowPort2WithRemoteIpSg
291 + tcpEgressFlowPort2WithRemoteIpSg
292 + tcpIngressFlowPort1WithMultipleSG
293 + tcpIngressFlowPort1WithMultipleSG
294 + ingressCommitNonConntrack1
295 + ingressCommitNonConntrack1
296 + egressCommitNonConntrack1
297 + egressCommitNonConntrack1
298 + ingressCommitConntrack1
299 + ingressCommitConntrack1
300 + egressCommitConntrack1
301 + egressCommitConntrack1
302 + ingressfixedAclMissDrop1
303 + ingressfixedAclMissDrop1
304 + egressfixedAclMissDrop1
305 + egressfixedAclMissDrop1
306 + remoteEgressFlowsPort3
307 + egressDispatcherLast1
308 + egressDispatcherFirst1
309 + ingressDispatcherLast
310 + ingressDispatcherFirst
311 + egressDispatcherLast1
312 + egressDispatcherFirst1
313 + ingressDispatcherLast
314 + ingressDispatcherFirst
315 + ingressDispatcherFirst
316 + ingressDispatcherFirst
317 + ingressDispatcherLast
318 + ingressDispatcherLast
322 protected def tcpEgressFlowPort2WithRemoteIpSg() {
323 val theFlowId1 ="TCP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426a21"
325 new FlowEntityBuilder >> [
330 instructionInfoList = #[
331 new InstructionGotoTable(NwConstants.INGRESS_REMOTE_ACL_TABLE)
334 new MatchEthernetType(2048L),
335 new MatchEthernetType(2048L),
336 new NxMatchTcpDestinationPort(80, 65535),
337 new MatchIpProtocol(6 as short),
338 new MatchMetadata(1085217976614976bi, 1152920405111996400bi)
340 priority = IdHelper.getId(theFlowId1)
341 tableId = NwConstants.INGRESS_ACL_RULE_BASED_FILTER_TABLE
346 protected def tcpIngressFlowPort1WithMultipleSG() {
347 val theFlowId = "TCP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426a22"
349 new FlowEntityBuilder >> [
354 instructionInfoList = #[
355 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
358 new MatchEthernetType(2048L),
359 new MatchEthernetType(2048L),
360 new NxMatchTcpDestinationPort(80, 65535),
361 new MatchIpProtocol(6 as short),
362 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
364 priority = IdHelper.getId(theFlowId)
365 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
370 protected def aapIpv4AllFlowsPort2() {
372 new FlowEntityBuilder >> [
375 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_0.0.0.0/0"
377 instructionInfoList = #[
378 new InstructionGotoTable(211 as short)
381 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
382 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
383 new MatchEthernetType(2048L)
386 tableId = 210 as short
388 new FlowEntityBuilder >> [
391 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_0.0.0.0/0"
393 instructionInfoList = #[
394 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
397 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
398 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F4")),
399 new MatchEthernetType(2048L)
402 tableId = 240 as short
404 new FlowEntityBuilder >> [
407 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:F40.0.0.0/0"
409 instructionInfoList = #[
410 new InstructionApplyActions(#[
411 new ActionNxResubmit(17 as short)
415 new MatchEthernetType(2054L),
416 new MatchArpSha(new MacAddress("0D:AA:D8:42:30:F4")),
417 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
418 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
421 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
423 new FlowEntityBuilder >> [
426 flowId = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:F4_Permit_"
428 instructionInfoList = #[
429 new InstructionApplyActions(#[
430 new ActionNxResubmit(17 as short)
434 new MatchEthernetType(2048L),
435 new MatchIpProtocol(17 as short),
436 new MatchUdpDestinationPort(67 as short),
437 new MatchUdpSourcePort(68 as short),
438 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
439 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4"))
442 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
447 protected def aapRemoteFlowsPort1() {
449 remoteIngressFlowsPort("10.0.0.100"),
450 remoteIngressFlowsPort("10.0.0.101")
454 protected def aapFlowsPort2() {
456 new FlowEntityBuilder >> [
459 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_10.0.0.100/32"
461 instructionInfoList = #[
462 new InstructionGotoTable(211 as short)
465 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
466 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
467 new MatchEthernetType(2048L),
468 new MatchIpv4Source("10.0.0.100", "32")
471 tableId = 210 as short
473 new FlowEntityBuilder >> [
476 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_10.0.0.100/32"
478 instructionInfoList = #[
479 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
482 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
483 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F4")),
484 new MatchEthernetType(2048L),
485 new MatchIpv4Destination("10.0.0.100", "32")
488 tableId = 240 as short
490 new FlowEntityBuilder >> [
493 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_10.0.0.101/32"
495 instructionInfoList = #[
496 new InstructionGotoTable(211 as short)
499 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
500 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4")),
501 new MatchEthernetType(2048L),
502 new MatchIpv4Source("10.0.0.101", "32")
505 tableId = 210 as short
507 new FlowEntityBuilder >> [
510 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_10.0.0.101/32"
512 instructionInfoList = #[
513 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
516 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
517 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:A4")),
518 new MatchEthernetType(2048L),
519 new MatchIpv4Destination("10.0.0.101", "32")
522 tableId = 240 as short
524 new FlowEntityBuilder >> [
527 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:F410.0.0.100/32"
529 instructionInfoList = #[
530 new InstructionApplyActions(#[
531 new ActionNxResubmit(17 as short)
535 new MatchEthernetType(2054L),
536 new MatchArpSha(new MacAddress("0D:AA:D8:42:30:F4")),
537 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
538 new MatchArpSpa(new Ipv4Prefix("10.0.0.100/32")),
539 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
542 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
544 new FlowEntityBuilder >> [
547 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:A410.0.0.101/32"
549 instructionInfoList = #[
550 new InstructionApplyActions(#[
551 new ActionNxResubmit(17 as short)
555 new MatchEthernetType(2054L),
556 new MatchArpSha(new MacAddress("0D:AA:D8:42:30:A4")),
557 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4")),
558 new MatchArpSpa(new Ipv4Prefix("10.0.0.101/32")),
559 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
562 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
564 new FlowEntityBuilder >> [
567 flowId = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:A4_Permit_"
569 instructionInfoList = #[
570 new InstructionApplyActions(#[
571 new ActionNxResubmit(17 as short)
575 new MatchEthernetType(2048L),
576 new MatchIpProtocol(17 as short),
577 new MatchUdpDestinationPort(67 as short),
578 new MatchUdpSourcePort(68 as short),
579 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
580 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4"))
583 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
585 new FlowEntityBuilder >> [
588 flowId = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:F4_Permit_"
590 instructionInfoList = #[
591 new InstructionApplyActions(#[
592 new ActionNxResubmit(17 as short)
596 new MatchEthernetType(2048L),
597 new MatchIpProtocol(17 as short),
598 new MatchUdpDestinationPort(67 as short),
599 new MatchUdpSourcePort(68 as short),
600 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
601 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4"))
604 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
606 new FlowEntityBuilder >> [
609 flowId = "Egress_L2Broadcast_123_987_0D:AA:D8:42:30:A4"
611 instructionInfoList = #[
612 new InstructionApplyActions(#[
613 new ActionNxResubmit(17 as short)
617 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4")),
618 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
621 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
626 protected def fixedConntrackIngressFlowsPort1() {
628 new FlowEntityBuilder >> [
631 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_10.0.0.1/32"
633 instructionInfoList = #[
634 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
637 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
638 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F3")),
639 new MatchEthernetType(2048L),
640 new MatchIpv4Destination("10.0.0.1", "32")
643 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
645 new FlowEntityBuilder >> [
648 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
650 instructionInfoList = #[
651 new InstructionApplyActions(#[
652 new ActionNxConntrack(2, 0, 0, 5000, 243 as short)
656 new MatchEthernetType(2048L),
657 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
660 tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
662 new FlowEntityBuilder >> [
665 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
667 instructionInfoList = #[
668 new InstructionApplyActions(#[
673 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
674 new NxMatchCtState(48L, 48L)
677 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
682 protected def etherIngressFlowsPort2() {
683 val theFlowId = "ETHERnullIngress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
685 new FlowEntityBuilder >> [
690 instructionInfoList = #[
691 new InstructionGotoTable(NwConstants.EGRESS_REMOTE_ACL_TABLE)
694 new MatchEthernetType(2048L),
695 new MatchEthernetType(2048L),
696 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
697 new MatchMetadata(32bi, 16777200bi)
699 priority = IdHelper.getId(theFlowId)
700 tableId = NwConstants.EGRESS_ACL_RULE_BASED_FILTER_TABLE
705 protected def fixedConntrackEgressFlowsPort1() {
707 new FlowEntityBuilder >> [
710 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_10.0.0.1/32"
712 instructionInfoList = #[
713 new InstructionGotoTable(211 as short)
716 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
717 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F3")),
718 new MatchEthernetType(2048L),
719 new MatchIpv4Source("10.0.0.1", "32")
722 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
724 new FlowEntityBuilder >> [
727 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
729 instructionInfoList = #[
730 new InstructionApplyActions(#[
731 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
735 new MatchEthernetType(2048L),
736 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
739 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
741 new FlowEntityBuilder >> [
744 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
746 instructionInfoList = #[
747 new InstructionApplyActions(#[
752 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
753 new NxMatchCtState(48L, 48L)
756 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
761 protected def fixedConntrackIngressFlowsPort2() {
763 new FlowEntityBuilder >> [
766 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_10.0.0.2/32"
768 instructionInfoList = #[
769 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
772 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
773 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F4")),
774 new MatchEthernetType(2048L),
775 new MatchIpv4Destination("10.0.0.2", "32")
778 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
780 new FlowEntityBuilder >> [
783 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
785 instructionInfoList = #[
786 new InstructionApplyActions(#[
787 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
791 new MatchEthernetType(2048L),
792 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
795 tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
797 new FlowEntityBuilder >> [
800 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
802 instructionInfoList = #[
803 new InstructionApplyActions(#[
808 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
809 new NxMatchCtState(48L, 48L)
812 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
817 protected def fixedConntrackEgressFlowsPort2() {
819 new FlowEntityBuilder >> [
822 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_10.0.0.2/32"
824 instructionInfoList = #[
825 new InstructionGotoTable(NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
828 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
829 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
830 new MatchEthernetType(2048L),
831 new MatchIpv4Source("10.0.0.2", "32")
834 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
836 new FlowEntityBuilder >> [
839 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
841 instructionInfoList = #[
842 new InstructionApplyActions(#[
843 new ActionNxConntrack(2, 0, 0, 5000, 213 as short)
847 new MatchEthernetType(2048L),
848 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
851 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
853 new FlowEntityBuilder >> [
856 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
858 instructionInfoList = #[
859 new InstructionApplyActions(#[
864 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
865 new NxMatchCtState(48L, 48L)
868 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
873 protected def fixedConntrackIngressFlowsPort3() {
875 new FlowEntityBuilder >> [
878 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_10.0.0.3/32"
880 instructionInfoList = #[
881 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
884 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
885 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F5")),
886 new MatchEthernetType(2048L),
887 new MatchIpv4Destination("10.0.0.3", "32")
890 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
892 new FlowEntityBuilder >> [
895 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
897 instructionInfoList = #[
898 new InstructionApplyActions(#[
899 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
903 new MatchEthernetType(2048L),
904 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
907 tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
909 new FlowEntityBuilder >> [
912 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
914 instructionInfoList = #[
915 new InstructionApplyActions(#[
920 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
921 new NxMatchCtState(48L, 48L)
924 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
929 protected def fixedConntrackEgressFlowsPort3() {
931 new FlowEntityBuilder >> [
934 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_10.0.0.3/32"
936 instructionInfoList = #[
937 new InstructionGotoTable(NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
940 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
941 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F5")),
942 new MatchEthernetType(2048L),
943 new MatchIpv4Source("10.0.0.3", "32")
946 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
948 new FlowEntityBuilder >> [
951 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
953 instructionInfoList = #[
954 new InstructionApplyActions(#[
955 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
959 new MatchEthernetType(2048L),
960 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
963 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
965 new FlowEntityBuilder >> [
968 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
970 instructionInfoList = #[
971 new InstructionApplyActions(#[
976 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
977 new NxMatchCtState(48L, 48L)
980 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
985 static def fixedConntrackIngressFlowsPort4() {
987 new FlowEntityBuilder >> [
990 flowId = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_10.0.0.4/32_Recirc"
992 instructionInfoList = #[
993 new InstructionApplyActions(#[
994 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
998 new MatchEthernetType(2048L),
999 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F6")),
1000 new MatchEthernetType(2048L),
1001 new MatchIpv4Destination("10.0.0.4", "32")
1004 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1006 new FlowEntityBuilder >> [
1008 cookie = 110100480bi
1009 flowId = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_0.0.0.0/0_Recirc"
1011 instructionInfoList = #[
1012 new InstructionApplyActions(#[
1013 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
1017 new MatchEthernetType(2048L),
1018 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F6")),
1019 new MatchEthernetType(2048L)
1022 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1024 new FlowEntityBuilder >> [
1026 cookie = 110100481bi
1027 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_New"
1029 instructionInfoList = #[
1030 new InstructionApplyActions(#[
1035 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
1036 new NxMatchCtState(32L, 32L)
1039 tableId = NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE
1041 new FlowEntityBuilder >> [
1043 cookie = 110100481bi
1044 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1046 instructionInfoList = #[
1047 new InstructionApplyActions(#[
1052 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1053 new NxMatchCtState(48L, 48L)
1056 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1061 static def fixedConntrackEgressFlowsPort4() {
1063 new FlowEntityBuilder >> [
1065 cookie = 110100480bi
1066 flowId = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_10.0.0.4/32_Recirc"
1068 instructionInfoList = #[
1069 new InstructionApplyActions(#[
1070 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
1074 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F6")),
1075 new MatchEthernetType(2048L),
1076 new MatchIpv4Source("10.0.0.4", "32")
1079 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1081 new FlowEntityBuilder >> [
1083 cookie = 110100480bi
1084 flowId = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_0.0.0.0/0_Recirc"
1086 instructionInfoList = #[
1087 new InstructionApplyActions(#[
1088 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
1092 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F6")),
1093 new MatchEthernetType(2048L)
1096 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1098 new FlowEntityBuilder >> [
1100 cookie = 110100481bi
1101 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_New"
1103 instructionInfoList = #[
1104 new InstructionApplyActions(#[
1109 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1110 new NxMatchCtState(32L, 32L)
1113 tableId = NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE
1115 new FlowEntityBuilder >> [
1117 cookie = 110100481bi
1118 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1120 instructionInfoList = #[
1121 new InstructionApplyActions(#[
1126 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
1127 new NxMatchCtState(48L, 48L)
1130 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1135 protected def etherEgressFlowsPort1() {
1136 val theFlowId = "ETHERnullEgress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1138 new FlowEntityBuilder >> [
1140 cookie = 110100480bi
1143 instructionInfoList = #[
1144 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1147 new MatchEthernetType(2048L),
1148 new MatchEthernetType(2048L),
1149 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1151 priority = IdHelper.getId(theFlowId)
1152 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1157 protected def etheregressFlowPort2() {
1158 val theFlowId = "ETHERnullEgress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1160 new FlowEntityBuilder >> [
1162 cookie = 110100480bi
1165 instructionInfoList = #[
1166 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1169 new MatchEthernetType(2048L),
1170 new MatchEthernetType(2048L),
1171 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1173 priority = IdHelper.getId(theFlowId)
1174 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1179 protected def tcpIngressFlowPort1() {
1180 val theFlowId = "TCP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1182 new FlowEntityBuilder >> [
1184 cookie = 110100480bi
1187 instructionInfoList = #[
1188 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1191 new MatchEthernetType(2048L),
1192 new MatchEthernetType(2048L),
1193 new NxMatchTcpDestinationPort(80, 65535),
1194 new MatchIpProtocol(6 as short),
1195 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1197 priority = IdHelper.getId(theFlowId)
1198 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1203 protected def tcpIngressFlowPort2() {
1204 val theFlowId = "TCP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1206 new FlowEntityBuilder >> [
1208 cookie = 110100480bi
1211 instructionInfoList = #[
1212 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1215 new MatchEthernetType(2048L),
1216 new MatchEthernetType(2048L),
1217 new NxMatchTcpDestinationPort(80, 65535),
1218 new MatchIpProtocol(6 as short),
1219 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1221 priority = IdHelper.getId(theFlowId)
1222 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1227 protected def tcpEgressFlowPort2() {
1228 val theFlowId = "TCP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1230 new FlowEntityBuilder >> [
1232 cookie = 110100480bi
1235 instructionInfoList = #[
1236 new InstructionGotoTable(NwConstants.INGRESS_REMOTE_ACL_TABLE)
1239 new MatchEthernetType(2048L),
1240 new MatchEthernetType(2048L),
1241 new NxMatchTcpDestinationPort(80, 65535),
1242 new MatchIpProtocol(6 as short),
1243 new MatchMetadata(1085217976614944bi, 1152920405111996400bi)
1245 priority = IdHelper.getId(theFlowId)
1246 tableId = NwConstants.INGRESS_ACL_RULE_BASED_FILTER_TABLE
1251 protected def udpEgressFlowsPort1() {
1252 val theFlowId = "UDP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1254 new FlowEntityBuilder >> [
1256 cookie = 110100480bi
1259 instructionInfoList = #[
1260 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1263 new MatchEthernetType(2048L),
1264 new MatchEthernetType(2048L),
1265 new NxMatchUdpDestinationPort(80, 65535),
1266 new MatchIpProtocol(17 as short),
1267 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1269 priority = IdHelper.getId(theFlowId)
1270 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1275 protected def udpIngressFlowsPort2() {
1276 val theFlowId = "UDP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1278 new FlowEntityBuilder >> [
1280 cookie = 110100480bi
1283 instructionInfoList = #[
1284 new InstructionGotoTable(NwConstants.EGRESS_REMOTE_ACL_TABLE)
1287 new MatchEthernetType(2048L),
1288 new MatchEthernetType(2048L),
1289 new NxMatchUdpDestinationPort(80, 65535),
1290 new MatchIpProtocol(17 as short),
1291 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1292 new MatchMetadata(32bi, 16777200bi)
1294 priority = IdHelper.getId(theFlowId)
1295 tableId = NwConstants.EGRESS_ACL_RULE_BASED_FILTER_TABLE
1300 protected def udpEgressFlowsPort2() {
1301 val theFlowId = "UDP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1303 new FlowEntityBuilder >> [
1305 cookie = 110100480bi
1308 instructionInfoList = #[
1309 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1312 new MatchEthernetType(2048L),
1313 new MatchEthernetType(2048L),
1314 new NxMatchUdpDestinationPort(80, 65535),
1315 new MatchIpProtocol(17 as short),
1316 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1318 priority = IdHelper.getId(theFlowId)
1319 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1324 protected def icmpIngressFlowsPort1() {
1325 val theFlowId = "ICMP_V4_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1327 new FlowEntityBuilder >> [
1329 cookie = 110100480bi
1332 instructionInfoList = #[
1333 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1336 new MatchEthernetType(2048L),
1337 new MatchEthernetType(2048L),
1338 new MatchIcmpv4(2 as short, 3 as short),
1339 new MatchIpProtocol(1 as short),
1340 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1342 priority = IdHelper.getId(theFlowId)
1343 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1348 protected def icmpIngressFlowsPort2() {
1349 val theFlowId = "ICMP_V4_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1351 new FlowEntityBuilder >> [
1353 cookie = 110100480bi
1356 instructionInfoList = #[
1357 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1360 new MatchEthernetType(2048L),
1361 new MatchEthernetType(2048L),
1362 new MatchIcmpv4(2 as short, 3 as short),
1363 new MatchIpProtocol(1 as short),
1364 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1366 priority = IdHelper.getId(theFlowId)
1367 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1372 protected def icmpEgressFlowsPort2() {
1373 val theFlowId = "ICMP_V4_DESTINATION_23_Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1375 new FlowEntityBuilder >> [
1377 cookie = 110100480bi
1380 instructionInfoList = #[
1381 new InstructionGotoTable(NwConstants.INGRESS_REMOTE_ACL_TABLE)
1384 new MatchEthernetType(2048L),
1385 new MatchEthernetType(2048L),
1386 new MatchIcmpv4(2 as short, 3 as short),
1387 new MatchIpProtocol(1 as short),
1388 new MatchMetadata(1085217976614944bi, 1152920405111996400bi)
1390 priority = IdHelper.getId(theFlowId)
1391 tableId = NwConstants.INGRESS_ACL_RULE_BASED_FILTER_TABLE
1396 protected def udpIngressPortRangeFlows() {
1397 val theFlowId = "UDP_DESTINATION_2000_65532Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1399 new FlowEntityBuilder >> [
1401 cookie = 110100480bi
1404 instructionInfoList = #[
1405 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1408 new MatchEthernetType(2048L),
1409 new MatchEthernetType(2048L),
1410 new NxMatchUdpDestinationPort(2000, 65532),
1411 new MatchIpProtocol(17 as short),
1412 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1414 priority = IdHelper.getId(theFlowId)
1415 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1420 protected def tcpEgressRangeFlows() {
1421 val flowId1 = "TCP_DESTINATION_776_65534Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1422 val flowId2 = "TCP_DESTINATION_512_65280Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1423 val flowId3 = "TCP_DESTINATION_334_65534Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1424 val flowId4 = "TCP_DESTINATION_333_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1425 val flowId5 = "TCP_DESTINATION_336_65520Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1426 val flowId6 = "TCP_DESTINATION_352_65504Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1427 val flowId7 = "TCP_DESTINATION_384_65408Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1428 val flowId8 = "TCP_DESTINATION_768_65528Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1430 new FlowEntityBuilder >> [
1432 cookie = 110100480bi
1435 instructionInfoList = #[
1436 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1439 new MatchEthernetType(2048L),
1440 new MatchEthernetType(2048L),
1441 new NxMatchTcpDestinationPort(776, 65534),
1442 new MatchIpProtocol(6 as short),
1443 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1445 priority = IdHelper.getId(flowId1)
1446 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1448 new FlowEntityBuilder >> [
1450 cookie = 110100480bi
1453 instructionInfoList = #[
1454 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1457 new MatchEthernetType(2048L),
1458 new MatchEthernetType(2048L),
1459 new NxMatchTcpDestinationPort(512, 65280),
1460 new MatchIpProtocol(6 as short),
1461 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1463 priority = IdHelper.getId(flowId2)
1464 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1466 new FlowEntityBuilder >> [
1468 cookie = 110100480bi
1471 instructionInfoList = #[
1472 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1475 new MatchEthernetType(2048L),
1476 new MatchEthernetType(2048L),
1477 new NxMatchTcpDestinationPort(334, 65534),
1478 new MatchIpProtocol(6 as short),
1479 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1481 priority = IdHelper.getId(flowId3)
1482 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1484 new FlowEntityBuilder >> [
1486 cookie = 110100480bi
1489 instructionInfoList = #[
1490 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1493 new MatchEthernetType(2048L),
1494 new MatchEthernetType(2048L),
1495 new NxMatchTcpDestinationPort(333, 65535),
1496 new MatchIpProtocol(6 as short),
1497 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1499 priority = IdHelper.getId(flowId4)
1500 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1502 new FlowEntityBuilder >> [
1504 cookie = 110100480bi
1507 instructionInfoList = #[
1508 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1511 new MatchEthernetType(2048L),
1512 new MatchEthernetType(2048L),
1513 new NxMatchTcpDestinationPort(336, 65520),
1514 new MatchIpProtocol(6 as short),
1515 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1517 priority = IdHelper.getId(flowId5)
1518 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1520 new FlowEntityBuilder >> [
1522 cookie = 110100480bi
1525 instructionInfoList = #[
1526 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1529 new MatchEthernetType(2048L),
1530 new MatchEthernetType(2048L),
1531 new NxMatchTcpDestinationPort(352, 65504),
1532 new MatchIpProtocol(6 as short),
1533 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1535 priority = IdHelper.getId(flowId6)
1536 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1538 new FlowEntityBuilder >> [
1540 cookie = 110100480bi
1543 instructionInfoList = #[
1544 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1547 new MatchEthernetType(2048L),
1548 new MatchEthernetType(2048L),
1549 new NxMatchTcpDestinationPort(384, 65408),
1550 new MatchIpProtocol(6 as short),
1551 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1553 priority = IdHelper.getId(flowId7)
1554 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1556 new FlowEntityBuilder >> [
1558 cookie = 110100480bi
1561 instructionInfoList = #[
1562 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1565 new MatchEthernetType(2048L),
1566 new MatchEthernetType(2048L),
1567 new NxMatchTcpDestinationPort(768, 65528),
1568 new MatchIpProtocol(6 as short),
1569 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1571 priority = IdHelper.getId(flowId8)
1572 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1577 protected def udpIngressAllFlows() {
1578 val theFlowId = "UDP_DESTINATION_1_0Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1580 new FlowEntityBuilder >> [
1582 cookie = 110100480bi
1585 instructionInfoList = #[
1586 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1589 new MatchEthernetType(2048L),
1590 new MatchEthernetType(2048L),
1591 new MatchIpProtocol(17 as short),
1592 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1594 priority = IdHelper.getId(theFlowId)
1595 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1600 protected def tcpEgressAllFlows() {
1601 val theFlowId = "TCP_DESTINATION_1_0Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1603 new FlowEntityBuilder >> [
1605 cookie = 110100480bi
1608 instructionInfoList = #[
1609 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1612 new MatchEthernetType(2048L),
1613 new MatchEthernetType(2048L),
1614 new MatchIpProtocol(6 as short),
1615 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1617 priority = IdHelper.getId(theFlowId)
1618 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1624 protected def icmpIngressFlowsPort3() {
1625 val flowId1 = "ICMP_V4_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1626 val flowId2 = "ICMP_V4_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426a22"
1628 new FlowEntityBuilder >> [
1630 cookie = 110100480bi
1633 instructionInfoList = #[
1634 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1637 new MatchEthernetType(2048L),
1638 new MatchEthernetType(2048L),
1639 new MatchIcmpv4(2 as short, 3 as short),
1640 new MatchIpProtocol(1 as short),
1641 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1643 priority = IdHelper.getId(flowId1)
1644 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1646 new FlowEntityBuilder >> [
1648 cookie = 110100480bi
1651 instructionInfoList = #[
1652 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1655 new MatchEthernetType(2048L),
1656 new MatchEthernetType(2048L),
1657 new MatchIcmpv4(2 as short, 3 as short),
1658 new MatchIpProtocol(1 as short),
1659 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1661 priority = IdHelper.getId(flowId2)
1662 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1667 protected def icmpEgressFlowsPort3() {
1668 val flowId1 = "ICMP_V4_DESTINATION_23_Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1669 val flowId2 = "ICMP_V4_DESTINATION_23_Egress_123_987_85cc3048-abc3-43cc-89b3-377341426a21"
1671 new FlowEntityBuilder >> [
1673 cookie = 110100480bi
1676 instructionInfoList = #[
1677 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1680 new MatchEthernetType(2048L),
1681 new MatchEthernetType(2048L),
1682 new MatchIcmpv4(2 as short, 3 as short),
1683 new MatchIpProtocol(1 as short),
1684 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1686 priority = IdHelper.getId(flowId1)
1687 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1689 new FlowEntityBuilder >> [
1691 cookie = 110100480bi
1694 instructionInfoList = #[
1695 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1698 new MatchEthernetType(2048L),
1699 new MatchEthernetType(2048L),
1700 new MatchIcmpv4(2 as short, 3 as short),
1701 new MatchIpProtocol(1 as short),
1702 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1704 priority = IdHelper.getId(flowId2)
1705 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1710 override def expectedFlows(String mac) {
1711 // Code auto. generated by https://github.com/vorburger/xtendbeans
1713 new FlowEntityBuilder >> [
1715 cookie = 110100480bi
1716 flowId = "Ingress_DHCP_Server_v4123_987_Permit_"
1718 instructionInfoList = #[
1719 new InstructionApplyActions(#[
1720 new ActionNxResubmit(220 as short)
1724 new MatchEthernetType(2048L),
1725 new MatchIpProtocol(17 as short),
1726 new MatchUdpDestinationPort(68 as short),
1727 new MatchUdpSourcePort(67 as short),
1728 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1731 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1733 new FlowEntityBuilder >> [
1735 cookie = 110100480bi
1736 flowId = "Ingress_DHCP_Server_v6_123_987_Permit_"
1738 instructionInfoList = #[
1739 new InstructionApplyActions(#[
1740 new ActionNxResubmit(220 as short)
1744 new MatchEthernetType(34525L),
1745 new MatchIpProtocol(17 as short),
1746 new MatchUdpDestinationPort(546 as short),
1747 new MatchUdpSourcePort(547 as short),
1748 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1751 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1753 new FlowEntityBuilder >> [
1755 cookie = 110100480bi
1756 flowId = "Ingress_ICMPv6_123_987_130_Permit_"
1758 instructionInfoList = #[
1759 new InstructionApplyActions(#[
1760 new ActionNxResubmit(220 as short)
1764 new MatchEthernetType(34525L),
1765 new MatchIpProtocol(58 as short),
1766 new MatchIcmpv6(130 as short, 0 as short),
1767 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1770 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1772 new FlowEntityBuilder >> [
1774 cookie = 110100480bi
1775 flowId = "Ingress_ICMPv6_123_987_135_Permit_"
1777 instructionInfoList = #[
1778 new InstructionApplyActions(#[
1779 new ActionNxResubmit(220 as short)
1783 new MatchEthernetType(34525L),
1784 new MatchIpProtocol(58 as short),
1785 new MatchIcmpv6(135 as short, 0 as short),
1786 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1789 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1791 new FlowEntityBuilder >> [
1793 cookie = 110100480bi
1794 flowId = "Ingress_ICMPv6_123_987_136_Permit_"
1796 instructionInfoList = #[
1797 new InstructionApplyActions(#[
1798 new ActionNxResubmit(220 as short)
1802 new MatchEthernetType(34525L),
1803 new MatchIpProtocol(58 as short),
1804 new MatchIcmpv6(136 as short, 0 as short),
1805 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1808 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1810 new FlowEntityBuilder >> [
1812 cookie = 110100480bi
1813 flowId = "Ingress_ARP_123_987"
1815 instructionInfoList = #[
1816 new InstructionApplyActions(#[
1817 new ActionNxResubmit(220 as short)
1821 new MatchEthernetType(2054L),
1822 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1825 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1827 new FlowEntityBuilder >> [
1829 cookie = 110100480bi
1830 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_10.0.0.1/32"
1832 instructionInfoList = #[
1833 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
1836 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1837 new MatchEthernetDestination(new MacAddress(mac)),
1838 new MatchEthernetType(2048L),
1839 new MatchIpv4Destination("10.0.0.1", "32")
1842 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1844 new FlowEntityBuilder >> [
1846 cookie = 110100481bi
1847 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1849 instructionInfoList = #[
1850 new InstructionApplyActions(#[
1855 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1856 new NxMatchCtState(48L, 48L)
1859 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1861 new FlowEntityBuilder >> [
1863 cookie = 110100480bi
1864 flowId = "Egress_DHCP_Client_v4123_987_" + mac + "_Permit_"
1866 instructionInfoList = #[
1867 new InstructionApplyActions(#[
1868 new ActionNxResubmit(17 as short)
1872 new MatchEthernetType(2048L),
1873 new MatchIpProtocol(17 as short),
1874 new MatchUdpDestinationPort(67 as short),
1875 new MatchUdpSourcePort(68 as short),
1876 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
1877 new MatchEthernetSource(new MacAddress(mac))
1880 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1882 new FlowEntityBuilder >> [
1884 cookie = 110100480bi
1885 flowId = "Egress_DHCP_Server_v4123_987_Drop_"
1887 instructionInfoList = #[
1890 new MatchEthernetType(2048L),
1891 new MatchIpProtocol(17 as short),
1892 new MatchUdpDestinationPort(68 as short),
1893 new MatchUdpSourcePort(67 as short),
1894 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1897 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1899 new FlowEntityBuilder >> [
1901 cookie = 110100480bi
1902 flowId = "Egress_DHCP_Server_v6_123_987_Drop_"
1904 instructionInfoList = #[
1907 new MatchEthernetType(34525L),
1908 new MatchIpProtocol(17 as short),
1909 new MatchUdpDestinationPort(546 as short),
1910 new MatchUdpSourcePort(547 as short),
1911 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1914 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1916 new FlowEntityBuilder >> [
1918 cookie = 110100480bi
1919 flowId = "Egress_ICMPv6_123_987_134_Drop_"
1921 instructionInfoList = #[
1924 new MatchEthernetType(34525L),
1925 new MatchIpProtocol(58 as short),
1926 new MatchIcmpv6(134 as short, 0 as short),
1927 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1930 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1932 new FlowEntityBuilder >> [
1934 cookie = 110100480bi
1935 flowId = "Egress_ICMPv6_123_987_133_Permit_"
1937 instructionInfoList = #[
1938 new InstructionApplyActions(#[
1939 new ActionNxResubmit(17 as short)
1943 new MatchEthernetType(34525L),
1944 new MatchIpProtocol(58 as short),
1945 new MatchIcmpv6(133 as short, 0 as short),
1946 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1949 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1951 new FlowEntityBuilder >> [
1953 cookie = 110100480bi
1954 flowId = "Egress_ICMPv6_123_987_135_Permit_"
1956 instructionInfoList = #[
1957 new InstructionApplyActions(#[
1958 new ActionNxResubmit(17 as short)
1962 new MatchEthernetType(34525L),
1963 new MatchIpProtocol(58 as short),
1964 new MatchIcmpv6(135 as short, 0 as short),
1965 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1968 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1970 new FlowEntityBuilder >> [
1972 cookie = 110100480bi
1973 flowId = "Egress_ICMPv6_123_987_136_Permit_"
1975 instructionInfoList = #[
1976 new InstructionApplyActions(#[
1977 new ActionNxResubmit(17 as short)
1981 new MatchEthernetType(34525L),
1982 new MatchIpProtocol(58 as short),
1983 new MatchIcmpv6(136 as short, 0 as short),
1984 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1987 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1989 new FlowEntityBuilder >> [
1991 cookie = 110100480bi
1992 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_10.0.0.1/32"
1994 instructionInfoList = #[
1995 new InstructionGotoTable(211 as short)
1998 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
1999 new MatchEthernetSource(new MacAddress(mac)),
2000 new MatchEthernetType(2048L),
2001 new MatchIpv4Source("10.0.0.1", "32")
2004 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
2006 new FlowEntityBuilder >> [
2008 cookie = 110100481bi
2009 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
2011 instructionInfoList = #[
2012 new InstructionApplyActions(#[
2017 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
2018 new NxMatchCtState(48L, 48L)
2021 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2023 new FlowEntityBuilder >> [
2025 cookie = 110100480bi
2026 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
2028 instructionInfoList = #[
2029 new InstructionApplyActions(#[
2030 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
2034 new MatchEthernetType(2048L),
2035 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
2038 tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
2040 new FlowEntityBuilder >> [
2042 cookie = 110100480bi
2043 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
2045 instructionInfoList = #[
2046 new InstructionApplyActions(#[
2047 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
2051 new MatchEthernetType(2048L),
2052 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
2055 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
2057 new FlowEntityBuilder >> [
2059 cookie = 110100480bi
2060 flowId = "Egress_ARP_123_987_" + mac + "10.0.0.1/32"
2062 instructionInfoList = #[
2063 new InstructionApplyActions(#[
2064 new ActionNxResubmit(17 as short)
2068 new MatchEthernetType(2054L),
2069 new MatchArpSha(new MacAddress(mac)),
2070 new MatchEthernetSource(new MacAddress(mac)),
2071 new MatchArpSpa(new Ipv4Prefix("10.0.0.1/32")),
2072 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
2075 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
2077 new FlowEntityBuilder >> [
2079 cookie = 110100480bi
2080 flowId = "Egress_L2Broadcast_123_987_" + mac
2082 instructionInfoList = #[
2083 new InstructionApplyActions(#[
2084 new ActionNxResubmit(17 as short)
2088 new MatchEthernetSource(new MacAddress(mac)),
2089 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
2092 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
2094 new FlowEntityBuilder >> [
2095 cookie = 110100480bi
2097 flowId = "Ingress_v4_Broadcast_123_987_10.0.0.255_Permit"
2101 instructionInfoList = #[
2102 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
2105 new MatchEthernetDestination(new MacAddress("ff:ff:ff:ff:ff:ff")),
2106 new MatchEthernetType(2048L),
2107 new MatchIpv4Destination(new Ipv4Prefix("10.0.0.255/32")),
2108 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
2111 sendFlowRemFlag = false
2113 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
2115 new FlowEntityBuilder >> [
2117 cookie = 110100480bi
2118 flowId = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
2120 instructionInfoList = #[
2121 new InstructionApplyActions(#[
2122 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2123 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2125 new ActionNxResubmit(220 as short)
2129 new MatchEthernetType(2048L),
2130 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2131 new MatchMetadata(0bi, 2bi)
2134 tableId = 247 as short
2136 new FlowEntityBuilder >> [
2138 cookie = 110100480bi
2139 flowId = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2141 instructionInfoList = #[
2142 new InstructionApplyActions(#[
2143 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2144 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2146 new ActionNxResubmit(220 as short)
2150 new MatchEthernetType(34525L),
2151 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2152 new MatchMetadata(0bi, 2bi)
2155 tableId = 247 as short
2157 new FlowEntityBuilder >> [
2159 cookie = 110100480bi
2160 flowId = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
2162 instructionInfoList = #[
2163 new InstructionApplyActions(#[
2164 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2165 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2167 new ActionNxResubmit(17 as short)
2171 new MatchEthernetType(2048L),
2172 new MatchMetadata(1085217976614912bi, 1152920405095219202bi)
2175 tableId = 217 as short
2177 new FlowEntityBuilder >> [
2179 cookie = 110100480bi
2180 flowId = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2182 instructionInfoList = #[
2183 new InstructionApplyActions(#[
2184 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2185 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2187 new ActionNxResubmit(17 as short)
2191 new MatchEthernetType(34525L),
2192 new MatchMetadata(1085217976614912bi, 1152920405095219202bi)
2195 tableId = 217 as short
2197 new FlowEntityBuilder >> [
2199 cookie = 110100480bi
2200 flowId = "Egress_Acl_Commit_Non_Conntrack_123_987"
2202 instructionInfoList = #[
2203 new InstructionApplyActions(#[
2204 new ActionNxResubmit(17 as short)
2208 new MatchMetadata(1085217976614914bi, 1152920405095219202bi)
2211 tableId = 217 as short
2213 new FlowEntityBuilder >> [
2215 cookie = 110100480bi
2216 flowId = "Ingress_Acl_Commit_Non_Conntrack_123_987"
2218 instructionInfoList = #[
2219 new InstructionApplyActions(#[
2220 new ActionNxResubmit(220 as short)
2224 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2225 new MatchMetadata(2bi, 2bi)
2228 tableId = 247 as short
2230 new FlowEntityBuilder >> [
2232 cookie = 110100481bi
2233 flowId = "Ingress_Fixed_Acl_Rule_Miss_Drop_123_987"
2235 instructionInfoList = #[
2236 new InstructionApplyActions(#[
2241 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
2244 tableId = 244 as short
2246 new FlowEntityBuilder >> [
2248 cookie = 110100481bi
2249 flowId = "Egress_Fixed_Acl_Rule_Miss_Drop_123_987"
2251 instructionInfoList = #[
2252 new InstructionApplyActions(#[
2257 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
2260 tableId = 214 as short
2265 protected def ingressCommitConntrack1() {
2266 val flowId1 = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
2267 val flowId2 = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2269 new FlowEntityBuilder >> [
2271 cookie = 110100480bi
2274 instructionInfoList = #[
2275 new InstructionApplyActions(#[
2276 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2277 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE)
2280 new ActionNxResubmit(220 as short)
2284 new MatchEthernetType(2048L),
2285 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2286 new MatchMetadata(0bi, 2bi)
2289 tableId = 247 as short
2291 new FlowEntityBuilder >> [
2293 cookie = 110100480bi
2296 instructionInfoList = #[
2297 new InstructionApplyActions(#[
2298 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2299 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2301 new ActionNxResubmit(220 as short)
2305 new MatchEthernetType(34525L),
2306 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2307 new MatchMetadata(0bi, 2bi)
2310 tableId = 247 as short
2315 protected def egressCommitConntrack1() {
2316 val flowId1 = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
2317 val flowId2 = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2319 new FlowEntityBuilder >> [
2321 cookie = 110100480bi
2324 instructionInfoList = #[
2325 new InstructionApplyActions(#[
2326 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2327 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2329 new ActionNxResubmit(17 as short)
2333 new MatchEthernetType(2048L),
2334 new MatchMetadata(1085217976614912bi, 1152920405095219202bi)
2337 tableId = 217 as short
2339 new FlowEntityBuilder >> [
2341 cookie = 110100480bi
2344 instructionInfoList = #[
2345 new InstructionApplyActions(#[
2346 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2347 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2349 new ActionNxResubmit(17 as short)
2353 new MatchEthernetType(34525L),
2354 new MatchMetadata(1085217976614912bi, 1152920405095219202bi)
2357 tableId = 217 as short
2362 protected def egressCommitNonConntrack1() {
2363 val flowId1 = "Egress_Acl_Commit_Non_Conntrack_123_987"
2365 new FlowEntityBuilder >> [
2367 cookie = 110100480bi
2370 instructionInfoList = #[
2371 new InstructionApplyActions(#[
2372 new ActionNxResubmit(17 as short)
2376 new MatchMetadata(1085217976614914bi, 1152920405095219202bi)
2379 tableId = 217 as short
2384 protected def ingressCommitNonConntrack1() {
2385 val flowId1 = "Ingress_Acl_Commit_Non_Conntrack_123_987"
2387 new FlowEntityBuilder >> [
2389 cookie = 110100480bi
2392 instructionInfoList = #[
2393 new InstructionApplyActions(#[
2394 new ActionNxResubmit(220 as short)
2398 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2399 new MatchMetadata(2bi, 2bi)
2402 tableId = 247 as short
2407 protected def ingressfixedAclMissDrop1() {
2408 val flowId1 = "Ingress_Fixed_Acl_Rule_Miss_Drop_123_987"
2410 new FlowEntityBuilder >> [
2412 cookie = 110100481bi
2415 instructionInfoList = #[
2416 new InstructionApplyActions(#[
2421 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
2424 tableId = 244 as short
2429 protected def egressfixedAclMissDrop1() {
2430 val flowId1 = "Egress_Fixed_Acl_Rule_Miss_Drop_123_987"
2432 new FlowEntityBuilder >> [
2434 cookie = 110100481bi
2437 instructionInfoList = #[
2438 new InstructionApplyActions(#[
2443 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
2446 tableId = 214 as short
2451 protected def ingressDispatcherFirst() {
2452 val flowId1 = "Ingress_ACL_Dispatcher_First_123_987_2"
2454 new FlowEntityBuilder >> [
2456 cookie = 110100480bi
2459 instructionInfoList = #[
2460 new InstructionGotoTable(245 as short),
2461 new InstructionWriteMetadata(32bi, 16777200bi)
2464 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
2466 priority = IdHelper.getId(flowId1)
2467 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2472 protected def ingressDispatcherLast() {
2473 val flowId1 = "Ingress_ACL_Dispatcher_Last_123_987_2"
2475 new FlowEntityBuilder >> [
2477 cookie = 110100481bi
2480 instructionInfoList = #[
2481 new InstructionApplyActions(#[
2486 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2487 new MatchMetadata(32bi, 16777200bi)
2489 priority = IdHelper.getId(flowId1)
2490 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2495 protected def egressDispatcherFirst() {
2496 val flowId1 = "Egress_ACL_Dispatcher_First_123_987_2"
2498 new FlowEntityBuilder >> [
2500 cookie = 110100480bi
2503 instructionInfoList = #[
2504 new InstructionGotoTable(215 as short),
2505 new InstructionWriteMetadata(32bi, 16777200bi)
2508 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
2510 priority = IdHelper.getId(flowId1)
2511 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2516 protected def egressDispatcherLast() {
2517 val flowId1 = "Egress_ACL_Dispatcher_Last_123_987_2"
2519 new FlowEntityBuilder >> [
2521 cookie = 110100481bi
2524 instructionInfoList = #[
2525 new InstructionApplyActions(#[
2530 new MatchMetadata(1085217976614944bi, 1152920405111996400bi)
2532 priority = IdHelper.getId(flowId1)
2533 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2538 protected def egressDispatcherFirst1() {
2539 val flowId1 = "Egress_ACL_Dispatcher_First_123_987_4"
2541 new FlowEntityBuilder >> [
2543 cookie = 110100480bi
2546 instructionInfoList = #[
2547 new InstructionGotoTable(215 as short),
2548 new InstructionWriteMetadata(64bi, 16777200bi)
2551 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
2553 priority = IdHelper.getId(flowId1)
2554 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2559 protected def egressDispatcherLast1() {
2560 val flowId1 = "Egress_ACL_Dispatcher_Last_123_987_4"
2562 new FlowEntityBuilder >> [
2564 cookie = 110100481bi
2567 instructionInfoList = #[
2568 new InstructionApplyActions(#[
2573 new MatchMetadata(1085217976614976bi, 1152920405111996400bi)
2575 priority = IdHelper.getId(flowId1)
2576 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE