2 * Copyright (c) 2016 Red Hat, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
8 package org.opendaylight.netvirt.aclservice.tests
10 import org.opendaylight.genius.mdsalutil.MetaDataUtil
11 import org.opendaylight.genius.mdsalutil.NwConstants
12 import org.opendaylight.genius.mdsalutil.actions.ActionDrop
13 import org.opendaylight.genius.mdsalutil.actions.ActionNxConntrack
14 import org.opendaylight.genius.mdsalutil.actions.ActionNxCtClear
15 import org.opendaylight.genius.mdsalutil.actions.ActionNxResubmit
16 import org.opendaylight.genius.mdsalutil.instructions.InstructionApplyActions
17 import org.opendaylight.genius.mdsalutil.instructions.InstructionGotoTable
18 import org.opendaylight.genius.mdsalutil.matches.MatchArpSha
19 import org.opendaylight.genius.mdsalutil.matches.MatchArpSpa
20 import org.opendaylight.genius.mdsalutil.matches.MatchEthernetDestination
21 import org.opendaylight.genius.mdsalutil.matches.MatchEthernetSource
22 import org.opendaylight.genius.mdsalutil.matches.MatchEthernetType
23 import org.opendaylight.genius.mdsalutil.matches.MatchIcmpv4
24 import org.opendaylight.genius.mdsalutil.matches.MatchIcmpv6
25 import org.opendaylight.genius.mdsalutil.matches.MatchIpProtocol
26 import org.opendaylight.genius.mdsalutil.matches.MatchIpv4Destination
27 import org.opendaylight.genius.mdsalutil.matches.MatchIpv4Source
28 import org.opendaylight.genius.mdsalutil.matches.MatchMetadata
29 import org.opendaylight.genius.mdsalutil.matches.MatchUdpDestinationPort
30 import org.opendaylight.genius.mdsalutil.matches.MatchUdpSourcePort
31 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchCtState
32 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchRegister
33 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchTcpDestinationPort
34 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchUdpDestinationPort
35 import org.opendaylight.genius.mdsalutil.FlowEntityBuilder
36 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix
37 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress
38 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg6
40 import static extension org.opendaylight.mdsal.binding.testutils.XtendBuilderExtensions.operator_doubleGreaterThan
41 import org.opendaylight.netvirt.aclservice.utils.AclConstants
42 import org.opendaylight.yangtools.yang.common.Uint64
43 import java.math.BigInteger
44 import java.util.Collections
46 import org.opendaylight.genius.mdsalutil.instructions.InstructionWriteMetadata
49 class FlowEntryObjectsStateful extends FlowEntryObjectsBase {
51 protected def etherFlows(String ip1 ,String ip2, String prefix) {
52 egressCommitConntrack1
53 + egressCommitNonConntrack1
54 + egressfixedAclMissDrop1
55 + etheregressFlowPort2
56 + etherEgressFlowsPort1
57 + etherIngressFlowsPort2
58 + fixedConntrackEgressFlowsPort1(ip1, prefix)
59 + fixedConntrackEgressFlowsPort2(ip2, prefix)
60 + fixedConntrackIngressFlowsPort1(ip1, prefix)
61 + fixedConntrackIngressFlowsPort2(ip2, prefix)
62 + fixedEgressFlowsPort1(ip1, prefix)
63 + fixedEgressFlowsPort2(ip2, prefix)
64 + fixedEgressL2BroadcastFlowsPort1
65 + fixedEgressL2BroadcastFlowsPort2
66 + fixedIngressFlowsPort1
67 + fixedIngressFlowsPort2
68 + fixedIngressL3BroadcastFlows(prefix)
69 + ingressCommitConntrack1
70 + ingressCommitNonConntrack1
71 + ingressDispatcherFirst
72 + ingressDispatcherLast
73 + ingressfixedAclMissDrop1
74 + remoteEgressFlowsPort1(ip1, prefix)
75 + remoteEgressFlowsPort2(ip2, prefix)
78 protected def tcpFlows(String ip1 ,String ip2, String prefix) {
79 egressCommitConntrack1
80 + egressCommitNonConntrack1
81 + egressDispatcherFirst
82 + egressDispatcherLast
83 + egressfixedAclMissDrop1
84 + fixedConntrackEgressFlowsPort1(ip1, prefix)
85 + fixedConntrackEgressFlowsPort2(ip2, prefix)
86 + fixedConntrackIngressFlowsPort1(ip1, prefix)
87 + fixedConntrackIngressFlowsPort2(ip2, prefix)
88 + fixedEgressFlowsPort1(ip1, prefix)
89 + fixedEgressFlowsPort2(ip2, prefix)
90 + fixedEgressL2BroadcastFlowsPort1
91 + fixedEgressL2BroadcastFlowsPort2
92 + fixedIngressFlowsPort1
93 + fixedIngressFlowsPort2
94 + fixedIngressL3BroadcastFlows(prefix)
95 + ingressCommitConntrack1
96 + ingressCommitNonConntrack1
97 + ingressfixedAclMissDrop1
98 + remoteIngressFlowsPort1(ip1, prefix)
99 + remoteIngressFlowsPort2(ip2, prefix)
101 + tcpIngressFlowPort1
102 + tcpIngressFlowPort2
105 protected def udpFlows(String ip1 ,String ip2, String prefix) {
106 egressCommitConntrack1
107 + egressCommitNonConntrack1
108 + egressfixedAclMissDrop1
109 + fixedConntrackEgressFlowsPort1(ip1, prefix)
110 + fixedConntrackEgressFlowsPort2(ip2, prefix)
111 + fixedConntrackIngressFlowsPort1(ip1, prefix)
112 + fixedConntrackIngressFlowsPort2(ip2, prefix)
113 + fixedEgressFlowsPort1(ip1, prefix)
114 + fixedEgressFlowsPort2(ip2, prefix)
115 + fixedEgressL2BroadcastFlowsPort1
116 + fixedEgressL2BroadcastFlowsPort2
117 + fixedIngressFlowsPort1
118 + fixedIngressFlowsPort2
119 + fixedIngressL3BroadcastFlows(prefix)
120 + ingressCommitConntrack1
121 + ingressCommitNonConntrack1
122 + ingressDispatcherFirst
123 + ingressDispatcherLast
124 + ingressfixedAclMissDrop1
125 + remoteEgressFlowsPort1(ip1, prefix)
126 + remoteEgressFlowsPort2(ip2, prefix)
127 + udpEgressFlowsPort1
128 + udpEgressFlowsPort2
129 + udpIngressFlowsPort2
132 protected def icmpFlows(String ip1 ,String ip2, String prefix) {
133 egressCommitConntrack1
134 + egressCommitNonConntrack1
135 + egressDispatcherFirst
136 + egressDispatcherLast
137 + egressfixedAclMissDrop1
138 + fixedConntrackEgressFlowsPort1(ip1, prefix)
139 + fixedConntrackEgressFlowsPort2(ip2, prefix)
140 + fixedConntrackIngressFlowsPort1(ip1, prefix)
141 + fixedConntrackIngressFlowsPort2(ip2, prefix)
142 + fixedEgressFlowsPort1(ip1, prefix)
143 + fixedEgressFlowsPort2(ip2, prefix)
144 + fixedEgressL2BroadcastFlowsPort1
145 + fixedEgressL2BroadcastFlowsPort2
146 + fixedIngressFlowsPort1
147 + fixedIngressFlowsPort2
148 + fixedIngressL3BroadcastFlows(prefix)
149 + icmpEgressFlowsPort2
150 + icmpIngressFlowsPort1
151 + icmpIngressFlowsPort2
152 + ingressCommitConntrack1
153 + ingressCommitNonConntrack1
154 + ingressfixedAclMissDrop1
155 + remoteIngressFlowsPort1(ip1, prefix)
156 + remoteIngressFlowsPort2(ip2, prefix)
159 protected def dstRangeFlows(String ip1, String prefix) {
160 egressCommitConntrack1
161 + egressCommitNonConntrack1
162 + egressfixedAclMissDrop1
163 + fixedConntrackEgressFlowsPort1(ip1, prefix)
164 + fixedConntrackIngressFlowsPort1(ip1, prefix)
165 + fixedEgressFlowsPort1(ip1, prefix)
166 + fixedEgressL2BroadcastFlowsPort1
167 + fixedIngressFlowsPort1
168 + fixedIngressL3BroadcastFlows(prefix)
169 + ingressCommitConntrack1
170 + ingressCommitNonConntrack1
171 + ingressfixedAclMissDrop1
172 + tcpEgressRangeFlows
173 + udpIngressPortRangeFlows
176 protected def dstAllFlows(String ip1, String prefix) {
177 egressCommitConntrack1
178 + egressCommitNonConntrack1
179 + egressfixedAclMissDrop1
180 + fixedConntrackEgressFlowsPort1(ip1, prefix)
181 + fixedConntrackIngressFlowsPort1(ip1, prefix)
182 + fixedEgressFlowsPort1(ip1, prefix)
183 + fixedEgressL2BroadcastFlowsPort1
184 + fixedIngressFlowsPort1
185 + fixedIngressL3BroadcastFlows(prefix)
186 + ingressCommitConntrack1
187 + ingressCommitNonConntrack1
188 + ingressfixedAclMissDrop1
193 protected def icmpFlowsForTwoAclsHavingSameRules(String ip3, String prefix) {
194 egressCommitConntrack1
195 + egressCommitNonConntrack1
196 + egressfixedAclMissDrop1
197 + fixedConntrackEgressFlowsPort3(ip3, prefix)
198 + fixedConntrackIngressFlowsPort3(ip3, prefix)
199 + fixedEgressFlowsPort3(ip3, prefix)
200 + fixedEgressL2BroadcastFlowsPort3
201 + fixedIngressFlowsPort3
202 + fixedIngressL3BroadcastFlows(prefix)
203 + icmpEgressFlowsPort3
204 + icmpIngressFlowsPort3
205 + ingressCommitConntrack1
206 + ingressCommitNonConntrack1
207 + ingressfixedAclMissDrop1
210 protected def aapWithIpv4AllFlows(String ip1 ,String ip2, String prefix) {
211 icmpFlows(ip1, ip2, prefix)
212 + aapIpv4AllFlowsPort2
215 protected def aapFlows(String ip1 ,String ip2, String ip100, String ip101, String prefix) {
216 icmpFlows(ip1, ip2, prefix)
217 + aapRemoteFlowsPort1(ip100, ip101, prefix)
218 + aapFlowsPort2(ip100, ip101, prefix)
221 protected def multipleAcl(String ip1 ,String ip2, String prefix) {
222 egressCommitConntrack1
223 + egressCommitNonConntrack1
224 + egressDispatcherFirst1
225 + egressDispatcherLast1
226 + egressfixedAclMissDrop1
227 + etheregressFlowPort2
228 + etherEgressFlowsPort1
229 + etherIngressFlowsPort2
230 + fixedConntrackEgressFlowsPort1(ip1, prefix)
231 + fixedConntrackEgressFlowsPort2(ip2, prefix)
232 + fixedConntrackIngressFlowsPort1(ip1, prefix)
233 + fixedConntrackIngressFlowsPort2(ip2, prefix)
234 + fixedEgressFlowsPort1(ip1, prefix)
235 + fixedEgressFlowsPort2(ip2, prefix)
236 + fixedEgressL2BroadcastFlowsPort1
237 + fixedEgressL2BroadcastFlowsPort2
238 + fixedIngressFlowsPort1
239 + fixedIngressFlowsPort2
240 + fixedIngressL3BroadcastFlows(prefix)
241 + ingressCommitConntrack1
242 + ingressCommitNonConntrack1
243 + ingressDispatcherFirst
244 + ingressDispatcherLast
245 + ingressfixedAclMissDrop1
246 + remoteEgressFlowsPort1(ip1, prefix)
247 + remoteEgressFlowsPort2(ip2, prefix)
248 + remoteEgressFlowsPort3(ip2, prefix)
249 + tcpEgressFlowPort2WithRemoteIpSg
250 + tcpIngressFlowPort1WithMultipleSG
252 protected def tcpEgressFlowPort2WithRemoteIpSg() {
253 val theFlowId1 ="TCP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426a21"
255 new FlowEntityBuilder >> [
256 dpnId = Uint64.valueOf(123bi)
257 cookie = Uint64.valueOf(110100480bi)
259 flowName = theFlowId1
260 instructionInfoList = #[
261 new InstructionGotoTable(NwConstants.INGRESS_REMOTE_ACL_TABLE)
264 new MatchEthernetType(2048L),
265 new MatchEthernetType(2048L),
266 new NxMatchTcpDestinationPort(80, 65535),
267 new MatchIpProtocol(6 as short),
268 new MatchMetadata(Uint64.valueOf(1085217976614976bi), Uint64.valueOf(1152920405111996400bi))
270 priority = IdHelper.getId(theFlowId1)
271 tableId = NwConstants.INGRESS_ACL_RULE_BASED_FILTER_TABLE
276 protected def tcpIngressFlowPort1WithMultipleSG() {
277 val theFlowId = "TCP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426a22"
279 new FlowEntityBuilder >> [
280 dpnId = Uint64.valueOf(123bi)
281 cookie = Uint64.valueOf(110100480bi)
284 instructionInfoList = #[
285 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
288 new MatchEthernetType(2048L),
289 new MatchEthernetType(2048L),
290 new NxMatchTcpDestinationPort(80, 65535),
291 new MatchIpProtocol(6 as short),
292 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
294 priority = IdHelper.getId(theFlowId)
295 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
300 protected def aapIpv4AllFlowsPort2() {
302 new FlowEntityBuilder >> [
303 dpnId = Uint64.valueOf(123bi)
304 cookie = Uint64.valueOf(110100480bi)
305 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_0.0.0.0/0"
306 flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_0.0.0.0/0"
307 instructionInfoList = #[
308 new InstructionGotoTable(211 as short)
311 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
312 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
313 new MatchEthernetType(2048L)
316 tableId = 210 as short
318 new FlowEntityBuilder >> [
319 dpnId = Uint64.valueOf(123bi)
320 cookie = Uint64.valueOf(110100480bi)
321 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_0.0.0.0/0"
322 flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_0.0.0.0/0"
323 instructionInfoList = #[
324 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
327 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
328 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F4")),
329 new MatchEthernetType(2048L)
332 tableId = 240 as short
334 new FlowEntityBuilder >> [
335 dpnId = Uint64.valueOf(123bi)
336 cookie = Uint64.valueOf(110100480bi)
337 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:F40.0.0.0/0"
338 flowName = "Egress_ARP_123_987_0D:AA:D8:42:30:F40.0.0.0/0"
339 instructionInfoList = #[
340 new InstructionApplyActions(#[
341 new ActionNxResubmit(17 as short)
345 new MatchEthernetType(2054L),
346 new MatchArpSha(new MacAddress("0D:AA:D8:42:30:F4")),
347 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
348 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
351 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
353 new FlowEntityBuilder >> [
354 dpnId = Uint64.valueOf(123bi)
355 cookie = Uint64.valueOf(110100480bi)
356 flowId = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:F4_Permit_"
357 flowName = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:F4_Permit_"
358 instructionInfoList = #[
359 new InstructionApplyActions(#[
360 new ActionNxResubmit(17 as short)
364 new MatchEthernetType(2048L),
365 new MatchIpProtocol(17 as short),
366 new MatchUdpDestinationPort(67 as short),
367 new MatchUdpSourcePort(68 as short),
368 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
369 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4"))
372 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
377 protected def aapRemoteFlowsPort1(String ip100, String ip101, String prefix) {
379 remoteIngressFlowsPort(ip100, prefix),
380 remoteIngressFlowsPort(ip101, prefix)
384 protected def aapFlowsPort2(String ip100, String ip101, String prefix) {
386 new FlowEntityBuilder >> [
387 dpnId = Uint64.valueOf(123bi)
388 cookie = Uint64.valueOf(110100480bi)
389 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip100 + "/" + prefix
390 flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip100 + "/" + prefix
391 instructionInfoList = #[
392 new InstructionGotoTable(211 as short)
395 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
396 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
397 new MatchEthernetType(2048L),
398 new MatchIpv4Source(ip100, prefix)
401 tableId = 210 as short
403 new FlowEntityBuilder >> [
404 dpnId = Uint64.valueOf(123bi)
405 cookie = Uint64.valueOf(110100480bi)
406 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip100 + "/" + prefix
407 flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip100 + "/" + prefix
408 instructionInfoList = #[
409 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
412 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
413 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F4")),
414 new MatchEthernetType(2048L),
415 new MatchIpv4Destination(ip100, prefix)
418 tableId = 240 as short
420 new FlowEntityBuilder >> [
421 dpnId = Uint64.valueOf(123bi)
422 cookie = Uint64.valueOf(110100480bi)
423 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_" + ip101 + "/" + prefix
424 flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_" + ip101 + "/" + prefix
425 instructionInfoList = #[
426 new InstructionGotoTable(211 as short)
429 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
430 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4")),
431 new MatchEthernetType(2048L),
432 new MatchIpv4Source(ip101, prefix)
435 tableId = 210 as short
437 new FlowEntityBuilder >> [
438 dpnId = Uint64.valueOf(123bi)
439 cookie = Uint64.valueOf(110100480bi)
440 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_" + ip101 + "/" + prefix
441 flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:A4_" + ip101 + "/" + prefix
442 instructionInfoList = #[
443 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
446 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
447 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:A4")),
448 new MatchEthernetType(2048L),
449 new MatchIpv4Destination(ip101, prefix)
452 tableId = 240 as short
454 new FlowEntityBuilder >> [
455 dpnId = Uint64.valueOf(123bi)
456 cookie = Uint64.valueOf(110100480bi)
457 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:F4" + ip100 + "/" + prefix
458 flowName = "Egress_ARP_123_987_0D:AA:D8:42:30:F4" + ip100 + "/" + prefix
459 instructionInfoList = #[
460 new InstructionApplyActions(#[
461 new ActionNxResubmit(17 as short)
465 new MatchEthernetType(2054L),
466 new MatchArpSha(new MacAddress("0D:AA:D8:42:30:F4")),
467 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
468 new MatchArpSpa(new Ipv4Prefix(ip100 + "/" + prefix)),
469 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
472 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
474 new FlowEntityBuilder >> [
475 dpnId = Uint64.valueOf(123bi)
476 cookie = Uint64.valueOf(110100480bi)
477 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:A4" + ip101 + "/" + prefix
478 flowName = "Egress_ARP_123_987_0D:AA:D8:42:30:A4" + ip101 + "/" + prefix
479 instructionInfoList = #[
480 new InstructionApplyActions(#[
481 new ActionNxResubmit(17 as short)
485 new MatchEthernetType(2054L),
486 new MatchArpSha(new MacAddress("0D:AA:D8:42:30:A4")),
487 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4")),
488 new MatchArpSpa(new Ipv4Prefix(ip101 + "/" + prefix)),
489 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
492 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
494 new FlowEntityBuilder >> [
495 dpnId = Uint64.valueOf(123bi)
496 cookie = Uint64.valueOf(110100480bi)
497 flowId = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:A4_Permit_"
498 flowName = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:A4_Permit_"
499 instructionInfoList = #[
500 new InstructionApplyActions(#[
501 new ActionNxResubmit(17 as short)
505 new MatchEthernetType(2048L),
506 new MatchIpProtocol(17 as short),
507 new MatchUdpDestinationPort(67 as short),
508 new MatchUdpSourcePort(68 as short),
509 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
510 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4"))
513 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
515 new FlowEntityBuilder >> [
516 dpnId = Uint64.valueOf(123bi)
517 cookie = Uint64.valueOf(110100480bi)
518 flowId = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:F4_Permit_"
519 flowName = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:F4_Permit_"
520 instructionInfoList = #[
521 new InstructionApplyActions(#[
522 new ActionNxResubmit(17 as short)
526 new MatchEthernetType(2048L),
527 new MatchIpProtocol(17 as short),
528 new MatchUdpDestinationPort(67 as short),
529 new MatchUdpSourcePort(68 as short),
530 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
531 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4"))
534 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
536 new FlowEntityBuilder >> [
537 dpnId = Uint64.valueOf(123bi)
538 cookie = Uint64.valueOf(110100480bi)
539 flowId = "Egress_L2Broadcast_123_987_0D:AA:D8:42:30:A4"
540 flowName = "Egress_L2Broadcast_123_987_0D:AA:D8:42:30:A4"
541 instructionInfoList = #[
542 new InstructionApplyActions(#[
543 new ActionNxResubmit(17 as short)
547 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:A4")),
548 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
551 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
556 protected def fixedConntrackIngressFlowsPort1(String ip1, String prefix) {
558 new FlowEntityBuilder >> [
559 dpnId = Uint64.valueOf(123bi)
560 cookie = Uint64.valueOf(110100480bi)
561 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
562 flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
563 instructionInfoList = #[
564 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
567 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
568 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F3")),
569 new MatchEthernetType(2048L),
570 new MatchIpv4Destination(ip1, prefix)
573 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
575 new FlowEntityBuilder >> [
576 dpnId = Uint64.valueOf(123bi)
577 cookie = Uint64.valueOf(110100480bi)
578 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
579 flowName = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
580 instructionInfoList = #[
581 new InstructionApplyActions(#[
582 new ActionNxConntrack(2, 0, 0, 5000, 243 as short)
586 new MatchEthernetType(2048L),
587 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
590 tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
592 new FlowEntityBuilder >> [
593 dpnId = Uint64.valueOf(123bi)
594 cookie = Uint64.valueOf(1085218086715393bi)
595 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
596 flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
597 instructionInfoList = #[
598 new InstructionApplyActions(#[
603 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
604 new NxMatchCtState(48L, 48L)
607 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
612 protected def etherIngressFlowsPort2() {
613 val theFlowId = "ETHERnullIngress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
615 new FlowEntityBuilder >> [
616 dpnId = Uint64.valueOf(123bi)
617 cookie = Uint64.valueOf(110100480bi)
620 instructionInfoList = #[
621 new InstructionGotoTable(NwConstants.EGRESS_REMOTE_ACL_TABLE)
624 new MatchEthernetType(2048L),
625 new MatchEthernetType(2048L),
626 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
627 new MatchMetadata(Uint64.valueOf(32bi), Uint64.valueOf(16777200bi))
629 priority = IdHelper.getId(theFlowId)
630 tableId = NwConstants.EGRESS_ACL_RULE_BASED_FILTER_TABLE
635 protected def fixedConntrackEgressFlowsPort1(String ip1, String prefix) {
637 new FlowEntityBuilder >> [
638 dpnId = Uint64.valueOf(123bi)
639 cookie = Uint64.valueOf(110100480bi)
640 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
641 flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
642 instructionInfoList = #[
643 new InstructionGotoTable(211 as short)
646 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
647 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F3")),
648 new MatchEthernetType(2048L),
649 new MatchIpv4Source(ip1, prefix)
652 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
654 new FlowEntityBuilder >> [
655 dpnId = Uint64.valueOf(123bi)
656 cookie = Uint64.valueOf(110100480bi)
657 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
658 flowName = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
659 instructionInfoList = #[
660 new InstructionApplyActions(#[
661 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
665 new MatchEthernetType(2048L),
666 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
669 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
671 new FlowEntityBuilder >> [
672 dpnId = Uint64.valueOf(123bi)
673 cookie = Uint64.valueOf(1085218086715393bi)
674 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
675 flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
676 instructionInfoList = #[
677 new InstructionApplyActions(#[
682 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
683 new NxMatchCtState(48L, 48L)
686 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
691 protected def fixedConntrackIngressFlowsPort2(String ip2, String prefix) {
693 new FlowEntityBuilder >> [
694 dpnId = Uint64.valueOf(123bi)
695 cookie = Uint64.valueOf(110100480bi)
696 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip2 + "/" + prefix
697 flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip2 + "/" + prefix
698 instructionInfoList = #[
699 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
702 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
703 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F4")),
704 new MatchEthernetType(2048L),
705 new MatchIpv4Destination(ip2, prefix)
708 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
710 new FlowEntityBuilder >> [
711 dpnId = Uint64.valueOf(123bi)
712 cookie = Uint64.valueOf(110100480bi)
713 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
714 flowName = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
715 instructionInfoList = #[
716 new InstructionApplyActions(#[
717 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
721 new MatchEthernetType(2048L),
722 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
725 tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
727 new FlowEntityBuilder >> [
728 dpnId = Uint64.valueOf(123bi)
729 cookie = Uint64.valueOf(1085218086715393bi)
730 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
731 flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
732 instructionInfoList = #[
733 new InstructionApplyActions(#[
738 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
739 new NxMatchCtState(48L, 48L)
742 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
747 protected def fixedConntrackEgressFlowsPort2(String ip2, String prefix){
749 new FlowEntityBuilder >> [
750 dpnId = Uint64.valueOf(123bi)
751 cookie = Uint64.valueOf(110100480bi)
752 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip2 + "/" + prefix
753 flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F4_" + ip2 + "/" + prefix
754 instructionInfoList = #[
755 new InstructionGotoTable(NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
758 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
759 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
760 new MatchEthernetType(2048L),
761 new MatchIpv4Source(ip2, prefix)
764 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
766 new FlowEntityBuilder >> [
767 dpnId = Uint64.valueOf(123bi)
768 cookie = Uint64.valueOf(110100480bi)
769 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
770 flowName = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
771 instructionInfoList = #[
772 new InstructionApplyActions(#[
773 new ActionNxConntrack(2, 0, 0, 5000, 213 as short)
777 new MatchEthernetType(2048L),
778 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
781 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
783 new FlowEntityBuilder >> [
784 dpnId = Uint64.valueOf(123bi)
785 cookie = Uint64.valueOf(1085218086715393bi)
786 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
787 flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
788 instructionInfoList = #[
789 new InstructionApplyActions(#[
794 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
795 new NxMatchCtState(48L, 48L)
798 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
803 protected def fixedConntrackIngressFlowsPort3(String ip3, String prefix) {
805 new FlowEntityBuilder >> [
806 dpnId = Uint64.valueOf(123bi)
807 cookie = Uint64.valueOf(110100480bi)
808 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_" + ip3 + "/" + prefix
809 flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_" + ip3 + "/" + prefix
810 instructionInfoList = #[
811 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
814 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
815 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F5")),
816 new MatchEthernetType(2048L),
817 new MatchIpv4Destination(ip3, prefix)
820 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
822 new FlowEntityBuilder >> [
823 dpnId = Uint64.valueOf(123bi)
824 cookie = Uint64.valueOf(110100480bi)
825 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
826 flowName = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
827 instructionInfoList = #[
828 new InstructionApplyActions(#[
829 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
833 new MatchEthernetType(2048L),
834 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
837 tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
839 new FlowEntityBuilder >> [
840 dpnId = Uint64.valueOf(123bi)
841 cookie = Uint64.valueOf(1085218086715393bi)
842 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
843 flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
844 instructionInfoList = #[
845 new InstructionApplyActions(#[
850 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
851 new NxMatchCtState(48L, 48L)
854 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
859 protected def fixedConntrackEgressFlowsPort3(String ip3, String prefix) {
861 new FlowEntityBuilder >> [
862 dpnId = Uint64.valueOf(123bi)
863 cookie = Uint64.valueOf(110100480bi)
864 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_" + ip3 + "/" + prefix
865 flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F5_" + ip3 + "/" + prefix
866 instructionInfoList = #[
867 new InstructionGotoTable(NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
870 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
871 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F5")),
872 new MatchEthernetType(2048L),
873 new MatchIpv4Source(ip3, prefix)
876 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
878 new FlowEntityBuilder >> [
879 dpnId = Uint64.valueOf(123bi)
880 cookie = Uint64.valueOf(110100480bi)
881 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
882 flowName = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
883 instructionInfoList = #[
884 new InstructionApplyActions(#[
885 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
889 new MatchEthernetType(2048L),
890 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
893 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
895 new FlowEntityBuilder >> [
896 dpnId = Uint64.valueOf(123bi)
897 cookie = Uint64.valueOf(1085218086715393bi)
898 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
899 flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
900 instructionInfoList = #[
901 new InstructionApplyActions(#[
906 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
907 new NxMatchCtState(48L, 48L)
910 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
915 static def fixedConntrackIngressFlowsPort4(String ip4, String prefix) {
917 new FlowEntityBuilder >> [
918 dpnId = Uint64.valueOf(123bi)
919 cookie = Uint64.valueOf(110100480bi)
920 flowId = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_" + ip4 + "/" + prefix + "_Recirc"
921 flowName = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_" + ip4 + "/" + prefix + "_Recirc"
922 instructionInfoList = #[
923 new InstructionApplyActions(#[
924 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
928 new MatchEthernetType(2048L),
929 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F6")),
930 new MatchEthernetType(2048L),
931 new MatchIpv4Destination(ip4, prefix)
934 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
936 new FlowEntityBuilder >> [
937 dpnId = Uint64.valueOf(123bi)
938 cookie = Uint64.valueOf(110100480bi)
939 flowId = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_0.0.0.0/0_Recirc"
940 flowName = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_0.0.0.0/0_Recirc"
941 instructionInfoList = #[
942 new InstructionApplyActions(#[
943 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
947 new MatchEthernetType(2048L),
948 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F6")),
949 new MatchEthernetType(2048L)
952 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
954 new FlowEntityBuilder >> [
955 dpnId = Uint64.valueOf(123bi)
956 cookie = Uint64.valueOf(1085218086715393bi)
957 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_New"
958 flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_New"
959 instructionInfoList = #[
960 new InstructionApplyActions(#[
965 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
966 new NxMatchCtState(32L, 32L)
969 tableId = NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE
971 new FlowEntityBuilder >> [
972 dpnId = Uint64.valueOf(123bi)
973 cookie = Uint64.valueOf(1085218086715393bi)
974 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
975 flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
976 instructionInfoList = #[
977 new InstructionApplyActions(#[
982 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
983 new NxMatchCtState(48L, 48L)
986 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
991 static def fixedConntrackEgressFlowsPort4(String ip4, String prefix) {
993 new FlowEntityBuilder >> [
994 dpnId = Uint64.valueOf(123bi)
995 cookie = Uint64.valueOf(110100480bi)
996 flowId = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_" + ip4 + "/" + prefix + "_Recirc"
997 flowName = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_" + ip4 + "/" + prefix + "_Recirc"
998 instructionInfoList = #[
999 new InstructionApplyActions(#[
1000 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
1004 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F6")),
1005 new MatchEthernetType(2048L),
1006 new MatchIpv4Source(ip4, prefix)
1009 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1011 new FlowEntityBuilder >> [
1012 dpnId = Uint64.valueOf(123bi)
1013 cookie = Uint64.valueOf(110100480bi)
1014 flowId = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_0.0.0.0/0_Recirc"
1015 flowName = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F6_0.0.0.0/0_Recirc"
1016 instructionInfoList = #[
1017 new InstructionApplyActions(#[
1018 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
1022 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F6")),
1023 new MatchEthernetType(2048L)
1026 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1028 new FlowEntityBuilder >> [
1029 dpnId = Uint64.valueOf(123bi)
1030 cookie = Uint64.valueOf(1085218086715393bi)
1031 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_New"
1032 flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_New"
1033 instructionInfoList = #[
1034 new InstructionApplyActions(#[
1039 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1040 new NxMatchCtState(32L, 32L)
1043 tableId = NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE
1045 new FlowEntityBuilder >> [
1046 dpnId = Uint64.valueOf(123bi)
1047 cookie = Uint64.valueOf(1085218086715393bi)
1048 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1049 flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1050 instructionInfoList = #[
1051 new InstructionApplyActions(#[
1056 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
1057 new NxMatchCtState(48L, 48L)
1060 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1065 protected def etherEgressFlowsPort1() {
1066 val theFlowId = "ETHERnullEgress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1068 new FlowEntityBuilder >> [
1069 dpnId = Uint64.valueOf(123bi)
1070 cookie = Uint64.valueOf(110100480bi)
1072 flowName = theFlowId
1073 instructionInfoList = #[
1074 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1077 new MatchEthernetType(2048L),
1078 new MatchEthernetType(2048L),
1079 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1081 priority = IdHelper.getId(theFlowId)
1082 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1087 protected def etheregressFlowPort2() {
1088 val theFlowId = "ETHERnullEgress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1090 new FlowEntityBuilder >> [
1091 dpnId = Uint64.valueOf(123bi)
1092 cookie = Uint64.valueOf(110100480bi)
1094 flowName = theFlowId
1095 instructionInfoList = #[
1096 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1099 new MatchEthernetType(2048L),
1100 new MatchEthernetType(2048L),
1101 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1103 priority = IdHelper.getId(theFlowId)
1104 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1109 protected def tcpIngressFlowPort1() {
1110 val theFlowId = "TCP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1112 new FlowEntityBuilder >> [
1113 dpnId = Uint64.valueOf(123bi)
1114 cookie = Uint64.valueOf(110100480bi)
1116 flowName = theFlowId
1117 instructionInfoList = #[
1118 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1121 new MatchEthernetType(2048L),
1122 new MatchEthernetType(2048L),
1123 new NxMatchTcpDestinationPort(80, 65535),
1124 new MatchIpProtocol(6 as short),
1125 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1127 priority = IdHelper.getId(theFlowId)
1128 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1133 protected def tcpIngressFlowPort2() {
1134 val theFlowId = "TCP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1136 new FlowEntityBuilder >> [
1137 dpnId = Uint64.valueOf(123bi)
1138 cookie = Uint64.valueOf(110100480bi)
1140 flowName = theFlowId
1141 instructionInfoList = #[
1142 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1145 new MatchEthernetType(2048L),
1146 new MatchEthernetType(2048L),
1147 new NxMatchTcpDestinationPort(80, 65535),
1148 new MatchIpProtocol(6 as short),
1149 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1151 priority = IdHelper.getId(theFlowId)
1152 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1157 protected def tcpEgressFlowPort2() {
1158 val theFlowId = "TCP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1160 new FlowEntityBuilder >> [
1161 dpnId = Uint64.valueOf(123bi)
1162 cookie = Uint64.valueOf(110100480bi)
1164 flowName = theFlowId
1165 instructionInfoList = #[
1166 new InstructionGotoTable(NwConstants.INGRESS_REMOTE_ACL_TABLE)
1169 new MatchEthernetType(2048L),
1170 new MatchEthernetType(2048L),
1171 new NxMatchTcpDestinationPort(80, 65535),
1172 new MatchIpProtocol(6 as short),
1173 new MatchMetadata(Uint64.valueOf(1085217976614944bi), Uint64.valueOf(1152920405111996400bi))
1175 priority = IdHelper.getId(theFlowId)
1176 tableId = NwConstants.INGRESS_ACL_RULE_BASED_FILTER_TABLE
1181 protected def udpEgressFlowsPort1() {
1182 val theFlowId = "UDP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1184 new FlowEntityBuilder >> [
1185 dpnId = Uint64.valueOf(123bi)
1186 cookie = Uint64.valueOf(110100480bi)
1188 flowName = theFlowId
1189 instructionInfoList = #[
1190 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1193 new MatchEthernetType(2048L),
1194 new MatchEthernetType(2048L),
1195 new NxMatchUdpDestinationPort(80, 65535),
1196 new MatchIpProtocol(17 as short),
1197 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1199 priority = IdHelper.getId(theFlowId)
1200 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1205 protected def udpIngressFlowsPort2() {
1206 val theFlowId = "UDP_DESTINATION_80_65535Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1208 new FlowEntityBuilder >> [
1209 dpnId = Uint64.valueOf(123bi)
1210 cookie = Uint64.valueOf(110100480bi)
1212 flowName = theFlowId
1213 instructionInfoList = #[
1214 new InstructionGotoTable(NwConstants.EGRESS_REMOTE_ACL_TABLE)
1217 new MatchEthernetType(2048L),
1218 new MatchEthernetType(2048L),
1219 new NxMatchUdpDestinationPort(80, 65535),
1220 new MatchIpProtocol(17 as short),
1221 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1222 new MatchMetadata(Uint64.valueOf(32bi), Uint64.valueOf(16777200bi))
1224 priority = IdHelper.getId(theFlowId)
1225 tableId = NwConstants.EGRESS_ACL_RULE_BASED_FILTER_TABLE
1230 protected def udpEgressFlowsPort2() {
1231 val theFlowId = "UDP_DESTINATION_80_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1233 new FlowEntityBuilder >> [
1234 dpnId = Uint64.valueOf(123bi)
1235 cookie = Uint64.valueOf(110100480bi)
1237 flowName = theFlowId
1238 instructionInfoList = #[
1239 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1242 new MatchEthernetType(2048L),
1243 new MatchEthernetType(2048L),
1244 new NxMatchUdpDestinationPort(80, 65535),
1245 new MatchIpProtocol(17 as short),
1246 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1248 priority = IdHelper.getId(theFlowId)
1249 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1254 protected def icmpIngressFlowsPort1() {
1255 val theFlowId = "ICMP_V4_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1257 new FlowEntityBuilder >> [
1258 dpnId = Uint64.valueOf(123bi)
1259 cookie = Uint64.valueOf(110100480bi)
1261 flowName = theFlowId
1262 instructionInfoList = #[
1263 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1266 new MatchEthernetType(2048L),
1267 new MatchEthernetType(2048L),
1268 new MatchIcmpv4(2 as short, 3 as short),
1269 new MatchIpProtocol(1 as short),
1270 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1272 priority = IdHelper.getId(theFlowId)
1273 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1278 protected def icmpIngressFlowsPort2() {
1279 val theFlowId = "ICMP_V4_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1281 new FlowEntityBuilder >> [
1282 dpnId = Uint64.valueOf(123bi)
1283 cookie = Uint64.valueOf(110100480bi)
1285 flowName = theFlowId
1286 instructionInfoList = #[
1287 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1290 new MatchEthernetType(2048L),
1291 new MatchEthernetType(2048L),
1292 new MatchIcmpv4(2 as short, 3 as short),
1293 new MatchIpProtocol(1 as short),
1294 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1296 priority = IdHelper.getId(theFlowId)
1297 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1302 protected def icmpEgressFlowsPort2() {
1303 val theFlowId = "ICMP_V4_DESTINATION_23_Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1305 new FlowEntityBuilder >> [
1306 dpnId = Uint64.valueOf(123bi)
1307 cookie = Uint64.valueOf(110100480bi)
1309 flowName = theFlowId
1310 instructionInfoList = #[
1311 new InstructionGotoTable(NwConstants.INGRESS_REMOTE_ACL_TABLE)
1314 new MatchEthernetType(2048L),
1315 new MatchEthernetType(2048L),
1316 new MatchIcmpv4(2 as short, 3 as short),
1317 new MatchIpProtocol(1 as short),
1318 new MatchMetadata(Uint64.valueOf(1085217976614944bi), Uint64.valueOf(1152920405111996400bi))
1320 priority = IdHelper.getId(theFlowId)
1321 tableId = NwConstants.INGRESS_ACL_RULE_BASED_FILTER_TABLE
1326 protected def udpIngressPortRangeFlows() {
1327 val theFlowId = "UDP_DESTINATION_2000_65532Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1329 new FlowEntityBuilder >> [
1330 dpnId = Uint64.valueOf(123bi)
1331 cookie = Uint64.valueOf(110100480bi)
1333 flowName = theFlowId
1334 instructionInfoList = #[
1335 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1338 new MatchEthernetType(2048L),
1339 new MatchEthernetType(2048L),
1340 new NxMatchUdpDestinationPort(2000, 65532),
1341 new MatchIpProtocol(17 as short),
1342 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1344 priority = IdHelper.getId(theFlowId)
1345 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1350 protected def tcpEgressRangeFlows() {
1351 val flowId1 = "TCP_DESTINATION_776_65534Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1352 val flowId2 = "TCP_DESTINATION_512_65280Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1353 val flowId3 = "TCP_DESTINATION_334_65534Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1354 val flowId4 = "TCP_DESTINATION_333_65535Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1355 val flowId5 = "TCP_DESTINATION_336_65520Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1356 val flowId6 = "TCP_DESTINATION_352_65504Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1357 val flowId7 = "TCP_DESTINATION_384_65408Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1358 val flowId8 = "TCP_DESTINATION_768_65528Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1360 new FlowEntityBuilder >> [
1361 dpnId = Uint64.valueOf(123bi)
1362 cookie = Uint64.valueOf(110100480bi)
1365 instructionInfoList = #[
1366 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1369 new MatchEthernetType(2048L),
1370 new MatchEthernetType(2048L),
1371 new NxMatchTcpDestinationPort(776, 65534),
1372 new MatchIpProtocol(6 as short),
1373 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1375 priority = IdHelper.getId(flowId1)
1376 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1378 new FlowEntityBuilder >> [
1379 dpnId = Uint64.valueOf(123bi)
1380 cookie = Uint64.valueOf(110100480bi)
1383 instructionInfoList = #[
1384 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1387 new MatchEthernetType(2048L),
1388 new MatchEthernetType(2048L),
1389 new NxMatchTcpDestinationPort(512, 65280),
1390 new MatchIpProtocol(6 as short),
1391 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1393 priority = IdHelper.getId(flowId2)
1394 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1396 new FlowEntityBuilder >> [
1397 dpnId = Uint64.valueOf(123bi)
1398 cookie = Uint64.valueOf(110100480bi)
1401 instructionInfoList = #[
1402 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1405 new MatchEthernetType(2048L),
1406 new MatchEthernetType(2048L),
1407 new NxMatchTcpDestinationPort(334, 65534),
1408 new MatchIpProtocol(6 as short),
1409 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1411 priority = IdHelper.getId(flowId3)
1412 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1414 new FlowEntityBuilder >> [
1415 dpnId = Uint64.valueOf(123bi)
1416 cookie = Uint64.valueOf(110100480bi)
1419 instructionInfoList = #[
1420 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1423 new MatchEthernetType(2048L),
1424 new MatchEthernetType(2048L),
1425 new NxMatchTcpDestinationPort(333, 65535),
1426 new MatchIpProtocol(6 as short),
1427 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1429 priority = IdHelper.getId(flowId4)
1430 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1432 new FlowEntityBuilder >> [
1433 dpnId = Uint64.valueOf(123bi)
1434 cookie = Uint64.valueOf(110100480bi)
1437 instructionInfoList = #[
1438 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1441 new MatchEthernetType(2048L),
1442 new MatchEthernetType(2048L),
1443 new NxMatchTcpDestinationPort(336, 65520),
1444 new MatchIpProtocol(6 as short),
1445 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1447 priority = IdHelper.getId(flowId5)
1448 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1450 new FlowEntityBuilder >> [
1451 dpnId = Uint64.valueOf(123bi)
1452 cookie = Uint64.valueOf(110100480bi)
1455 instructionInfoList = #[
1456 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1459 new MatchEthernetType(2048L),
1460 new MatchEthernetType(2048L),
1461 new NxMatchTcpDestinationPort(352, 65504),
1462 new MatchIpProtocol(6 as short),
1463 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1465 priority = IdHelper.getId(flowId6)
1466 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1468 new FlowEntityBuilder >> [
1469 dpnId = Uint64.valueOf(123bi)
1470 cookie = Uint64.valueOf(110100480bi)
1473 instructionInfoList = #[
1474 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1477 new MatchEthernetType(2048L),
1478 new MatchEthernetType(2048L),
1479 new NxMatchTcpDestinationPort(384, 65408),
1480 new MatchIpProtocol(6 as short),
1481 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1483 priority = IdHelper.getId(flowId7)
1484 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1486 new FlowEntityBuilder >> [
1487 dpnId = Uint64.valueOf(123bi)
1488 cookie = Uint64.valueOf(110100480bi)
1491 instructionInfoList = #[
1492 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1495 new MatchEthernetType(2048L),
1496 new MatchEthernetType(2048L),
1497 new NxMatchTcpDestinationPort(768, 65528),
1498 new MatchIpProtocol(6 as short),
1499 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1501 priority = IdHelper.getId(flowId8)
1502 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1507 protected def udpIngressAllFlows() {
1508 val theFlowId = "UDP_DESTINATION_1_0Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1510 new FlowEntityBuilder >> [
1511 dpnId = Uint64.valueOf(123bi)
1512 cookie = Uint64.valueOf(110100480bi)
1514 flowName = theFlowId
1515 instructionInfoList = #[
1516 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1519 new MatchEthernetType(2048L),
1520 new MatchEthernetType(2048L),
1521 new MatchIpProtocol(17 as short),
1522 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1524 priority = IdHelper.getId(theFlowId)
1525 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1530 protected def tcpEgressAllFlows() {
1531 val theFlowId = "TCP_DESTINATION_1_0Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1533 new FlowEntityBuilder >> [
1534 dpnId = Uint64.valueOf(123bi)
1535 cookie = Uint64.valueOf(110100480bi)
1537 flowName = theFlowId
1538 instructionInfoList = #[
1539 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1542 new MatchEthernetType(2048L),
1543 new MatchEthernetType(2048L),
1544 new MatchIpProtocol(6 as short),
1545 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1547 priority = IdHelper.getId(theFlowId)
1548 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1554 protected def icmpIngressFlowsPort3() {
1555 val flowId1 = "ICMP_V4_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426ac7"
1556 val flowId2 = "ICMP_V4_DESTINATION_23_Ingress_123_987_85cc3048-abc3-43cc-89b3-377341426a22"
1558 new FlowEntityBuilder >> [
1559 dpnId = Uint64.valueOf(123bi)
1560 cookie = Uint64.valueOf(110100480bi)
1563 instructionInfoList = #[
1564 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1567 new MatchEthernetType(2048L),
1568 new MatchEthernetType(2048L),
1569 new MatchIcmpv4(2 as short, 3 as short),
1570 new MatchIpProtocol(1 as short),
1571 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1573 priority = IdHelper.getId(flowId1)
1574 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1576 new FlowEntityBuilder >> [
1577 dpnId = Uint64.valueOf(123bi)
1578 cookie = Uint64.valueOf(110100480bi)
1581 instructionInfoList = #[
1582 new InstructionGotoTable(NwConstants.EGRESS_ACL_COMMITTER_TABLE)
1585 new MatchEthernetType(2048L),
1586 new MatchEthernetType(2048L),
1587 new MatchIcmpv4(2 as short, 3 as short),
1588 new MatchIpProtocol(1 as short),
1589 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1591 priority = IdHelper.getId(flowId2)
1592 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1597 protected def icmpEgressFlowsPort3() {
1598 val flowId1 = "ICMP_V4_DESTINATION_23_Egress_123_987_85cc3048-abc3-43cc-89b3-377341426ac6"
1599 val flowId2 = "ICMP_V4_DESTINATION_23_Egress_123_987_85cc3048-abc3-43cc-89b3-377341426a21"
1601 new FlowEntityBuilder >> [
1602 dpnId = Uint64.valueOf(123bi)
1603 cookie = Uint64.valueOf(110100480bi)
1606 instructionInfoList = #[
1607 new InstructionGotoTable(NwConstants.INGRESS_ACL_COMMITTER_TABLE)
1610 new MatchEthernetType(2048L),
1611 new MatchEthernetType(2048L),
1612 new MatchIcmpv4(2 as short, 3 as short),
1613 new MatchIpProtocol(1 as short),
1614 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1616 priority = IdHelper.getId(flowId1)
1617 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1619 new FlowEntityBuilder >> [
1620 dpnId = Uint64.valueOf(123bi)
1621 cookie = Uint64.valueOf(110100480bi)
1624 instructionInfoList = #[
1625 new InstructionGotoTable(NwConstants.INGRESS_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 MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1634 priority = IdHelper.getId(flowId2)
1635 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1640 override def expectedFlows(String mac, String ip1, String prefix) {
1641 // Code auto. generated by https://github.com/vorburger/xtendbeans
1643 new FlowEntityBuilder >> [
1644 dpnId = Uint64.valueOf(123bi)
1645 cookie = Uint64.valueOf(110100480bi)
1646 flowId = "Ingress_DHCP_Server_v4123_987_Permit_"
1647 flowName = "Ingress_DHCP_Server_v4123_987_Permit_"
1648 instructionInfoList = #[
1649 new InstructionApplyActions(#[
1650 new ActionNxResubmit(220 as short)
1654 new MatchEthernetType(2048L),
1655 new MatchIpProtocol(17 as short),
1656 new MatchUdpDestinationPort(68 as short),
1657 new MatchUdpSourcePort(67 as short),
1658 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1661 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1663 new FlowEntityBuilder >> [
1664 dpnId = Uint64.valueOf(123bi)
1665 cookie = Uint64.valueOf(110100480bi)
1666 flowId = "Ingress_DHCP_Server_v6_123_987_Permit_"
1667 flowName = "Ingress_DHCP_Server_v6_123_987_Permit_"
1668 instructionInfoList = #[
1669 new InstructionApplyActions(#[
1670 new ActionNxResubmit(220 as short)
1674 new MatchEthernetType(34525L),
1675 new MatchIpProtocol(17 as short),
1676 new MatchUdpDestinationPort(546 as short),
1677 new MatchUdpSourcePort(547 as short),
1678 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1681 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1683 new FlowEntityBuilder >> [
1684 dpnId = Uint64.valueOf(123bi)
1685 cookie = Uint64.valueOf(110100480bi)
1686 flowId = "Ingress_ICMPv6_123_987_130_Permit_"
1687 flowName = "Ingress_ICMPv6_123_987_130_Permit_"
1688 instructionInfoList = #[
1689 new InstructionApplyActions(#[
1690 new ActionNxResubmit(220 as short)
1694 new MatchEthernetType(34525L),
1695 new MatchIpProtocol(58 as short),
1696 new MatchIcmpv6(130 as short, 0 as short),
1697 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1700 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1702 new FlowEntityBuilder >> [
1703 dpnId = Uint64.valueOf(123bi)
1704 cookie = Uint64.valueOf(110100480bi)
1705 flowId = "Ingress_ICMPv6_123_987_135_Permit_"
1706 flowName = "Ingress_ICMPv6_123_987_135_Permit_"
1707 instructionInfoList = #[
1708 new InstructionApplyActions(#[
1709 new ActionNxResubmit(220 as short)
1713 new MatchEthernetType(34525L),
1714 new MatchIpProtocol(58 as short),
1715 new MatchIcmpv6(135 as short, 0 as short),
1716 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1719 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1721 new FlowEntityBuilder >> [
1722 dpnId = Uint64.valueOf(123bi)
1723 cookie = Uint64.valueOf(110100480bi)
1724 flowId = "Ingress_ICMPv6_123_987_136_Permit_"
1725 flowName = "Ingress_ICMPv6_123_987_136_Permit_"
1726 instructionInfoList = #[
1727 new InstructionApplyActions(#[
1728 new ActionNxResubmit(220 as short)
1732 new MatchEthernetType(34525L),
1733 new MatchIpProtocol(58 as short),
1734 new MatchIcmpv6(136 as short, 0 as short),
1735 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1738 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1740 new FlowEntityBuilder >> [
1741 dpnId = Uint64.valueOf(123bi)
1742 cookie = Uint64.valueOf(110100480bi)
1743 flowId = "Ingress_ARP_123_987"
1744 flowName = "Ingress_ARP_123_987"
1745 instructionInfoList = #[
1746 new InstructionApplyActions(#[
1747 new ActionNxResubmit(220 as short)
1751 new MatchEthernetType(2054L),
1752 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1755 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1757 new FlowEntityBuilder >> [
1758 dpnId = Uint64.valueOf(123bi)
1759 cookie = Uint64.valueOf(110100480bi)
1760 flowId = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
1761 flowName = "Ingress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
1762 instructionInfoList = #[
1763 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
1766 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1767 new MatchEthernetDestination(new MacAddress(mac)),
1768 new MatchEthernetType(2048L),
1769 new MatchIpv4Destination(ip1, prefix)
1772 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1774 new FlowEntityBuilder >> [
1775 dpnId = Uint64.valueOf(123bi)
1776 cookie = Uint64.valueOf(1085218086715393bi)
1777 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1778 flowName = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1779 instructionInfoList = #[
1780 new InstructionApplyActions(#[
1785 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1786 new NxMatchCtState(48L, 48L)
1789 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1791 new FlowEntityBuilder >> [
1792 dpnId = Uint64.valueOf(123bi)
1793 cookie = Uint64.valueOf(110100480bi)
1794 flowId = "Egress_DHCP_Client_v4123_987_" + mac + "_Permit_"
1795 flowName = "Egress_DHCP_Client_v4123_987_" + mac + "_Permit_"
1796 instructionInfoList = #[
1797 new InstructionApplyActions(#[
1798 new ActionNxResubmit(17 as short)
1802 new MatchEthernetType(2048L),
1803 new MatchIpProtocol(17 as short),
1804 new MatchUdpDestinationPort(67 as short),
1805 new MatchUdpSourcePort(68 as short),
1806 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
1807 new MatchEthernetSource(new MacAddress(mac))
1810 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1812 new FlowEntityBuilder >> [
1813 dpnId = Uint64.valueOf(123bi)
1814 cookie = Uint64.valueOf(110100480bi)
1815 flowId = "Egress_ICMPv6_123_987_133_Permit_"
1816 flowName = "Egress_ICMPv6_123_987_133_Permit_"
1817 instructionInfoList = #[
1818 new InstructionApplyActions(#[
1819 new ActionNxResubmit(17 as short)
1823 new MatchEthernetType(34525L),
1824 new MatchIpProtocol(58 as short),
1825 new MatchIcmpv6(133 as short, 0 as short),
1826 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1829 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1831 new FlowEntityBuilder >> [
1832 dpnId = Uint64.valueOf(123bi)
1833 cookie = Uint64.valueOf(110100480bi)
1834 flowId = "Egress_ICMPv6_123_987_135_Permit_"
1835 flowName = "Egress_ICMPv6_123_987_135_Permit_"
1836 instructionInfoList = #[
1837 new InstructionApplyActions(#[
1838 new ActionNxResubmit(17 as short)
1842 new MatchEthernetType(34525L),
1843 new MatchIpProtocol(58 as short),
1844 new MatchIcmpv6(135 as short, 0 as short),
1845 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1848 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1850 new FlowEntityBuilder >> [
1851 dpnId = Uint64.valueOf(123bi)
1852 cookie = Uint64.valueOf(110100480bi)
1853 flowId = "Egress_ICMPv6_123_987_136_Permit_"
1854 flowName = "Egress_ICMPv6_123_987_136_Permit_"
1855 instructionInfoList = #[
1856 new InstructionApplyActions(#[
1857 new ActionNxResubmit(17 as short)
1861 new MatchEthernetType(34525L),
1862 new MatchIpProtocol(58 as short),
1863 new MatchIcmpv6(136 as short, 0 as short),
1864 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1867 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1869 new FlowEntityBuilder >> [
1870 dpnId = Uint64.valueOf(123bi)
1871 cookie = Uint64.valueOf(110100480bi)
1872 flowId = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
1873 flowName = "Egress_Fixed_Goto_Classifier_123_987_0D:AA:D8:42:30:F3_" + ip1 + "/" + prefix
1874 instructionInfoList = #[
1875 new InstructionGotoTable(211 as short)
1878 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
1879 new MatchEthernetSource(new MacAddress(mac)),
1880 new MatchEthernetType(2048L),
1881 new MatchIpv4Source(ip1, prefix)
1884 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1886 new FlowEntityBuilder >> [
1887 dpnId = Uint64.valueOf(123bi)
1888 cookie = Uint64.valueOf(1085218086715393bi)
1889 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1890 flowName = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
1891 instructionInfoList = #[
1892 new InstructionApplyActions(#[
1897 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG),
1898 new NxMatchCtState(48L, 48L)
1901 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
1903 new FlowEntityBuilder >> [
1904 dpnId = Uint64.valueOf(123bi)
1905 cookie = Uint64.valueOf(110100480bi)
1906 flowId = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
1907 flowName = "Ingress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
1908 instructionInfoList = #[
1909 new InstructionApplyActions(#[
1910 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.EGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
1914 new MatchEthernetType(2048L),
1915 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1918 tableId = NwConstants.EGRESS_ACL_CONNTRACK_SENDER_TABLE
1920 new FlowEntityBuilder >> [
1921 dpnId = Uint64.valueOf(123bi)
1922 cookie = Uint64.valueOf(110100480bi)
1923 flowId = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
1924 flowName = "Egress_Fixed_Conntrk_123_987_MatchEthernetType[2048]_Recirc"
1925 instructionInfoList = #[
1926 new InstructionApplyActions(#[
1927 new ActionNxConntrack(2, 0, 0, 5000, NwConstants.INGRESS_ACL_FOR_EXISTING_TRAFFIC_TABLE)
1931 new MatchEthernetType(2048L),
1932 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1935 tableId = NwConstants.INGRESS_ACL_CONNTRACK_SENDER_TABLE
1937 new FlowEntityBuilder >> [
1938 dpnId = Uint64.valueOf(123bi)
1939 cookie = Uint64.valueOf(110100480bi)
1940 flowId = "Egress_ARP_123_987_" + mac + ip1 + "/" + prefix
1941 flowName = "Egress_ARP_123_987_" + mac + ip1 + "/" + prefix
1942 instructionInfoList = #[
1943 new InstructionApplyActions(#[
1944 new ActionNxResubmit(17 as short)
1948 new MatchEthernetType(2054L),
1949 new MatchArpSha(new MacAddress(mac)),
1950 new MatchEthernetSource(new MacAddress(mac)),
1951 new MatchArpSpa(new Ipv4Prefix( ip1 + "/" + prefix)),
1952 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1955 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1957 new FlowEntityBuilder >> [
1958 dpnId = Uint64.valueOf(123bi)
1959 cookie = Uint64.valueOf(110100480bi)
1960 flowId = "Egress_L2Broadcast_123_987_" + mac
1961 flowName = "Egress_L2Broadcast_123_987_" + mac
1962 instructionInfoList = #[
1963 new InstructionApplyActions(#[
1964 new ActionNxResubmit(17 as short)
1968 new MatchEthernetSource(new MacAddress(mac)),
1969 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
1972 tableId = NwConstants.INGRESS_ACL_ANTI_SPOOFING_TABLE
1974 new FlowEntityBuilder >> [
1975 cookie = Uint64.valueOf(110100480bi)
1976 dpnId = Uint64.valueOf(123bi)
1977 flowId = "Ingress_v4_Broadcast_123_987_10.0.0.255_Permit"
1978 flowName = "Ingress_v4_Broadcast_123_987_10.0.0.255_Permit"
1981 instructionInfoList = #[
1982 new InstructionGotoTable(NwConstants.EGRESS_ACL_CONNTRACK_CLASSIFIER_TABLE)
1985 new MatchEthernetDestination(new MacAddress("ff:ff:ff:ff:ff:ff")),
1986 new MatchEthernetType(2048L),
1987 new MatchIpv4Destination(new Ipv4Prefix("10.0.0.255/" + prefix)),
1988 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1991 sendFlowRemFlag = false
1993 tableId = NwConstants.EGRESS_ACL_ANTI_SPOOFING_TABLE
1995 new FlowEntityBuilder >> [
1996 dpnId = Uint64.valueOf(123bi)
1997 cookie = Uint64.valueOf(110100480bi)
1998 flowId = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
1999 flowName = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
2000 instructionInfoList = #[
2001 new InstructionApplyActions(#[
2002 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2003 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2005 new ActionNxCtClear(),
2006 new ActionNxResubmit(220 as short)
2010 new MatchEthernetType(2048L),
2011 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2012 new MatchMetadata(Uint64.valueOf(0bi), Uint64.valueOf(2bi))
2015 tableId = 247 as short
2017 new FlowEntityBuilder >> [
2018 dpnId = Uint64.valueOf(123bi)
2019 cookie = Uint64.valueOf(110100480bi)
2020 flowId = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2021 flowName = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2022 instructionInfoList = #[
2023 new InstructionApplyActions(#[
2024 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2025 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2027 new ActionNxCtClear(),
2028 new ActionNxResubmit(220 as short)
2032 new MatchEthernetType(34525L),
2033 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2034 new MatchMetadata(Uint64.valueOf(0bi), Uint64.valueOf(2bi))
2037 tableId = 247 as short
2039 new FlowEntityBuilder >> [
2040 dpnId = Uint64.valueOf(123bi)
2041 cookie = Uint64.valueOf(110100480bi)
2042 flowId = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
2043 flowName = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
2044 instructionInfoList = #[
2045 new InstructionApplyActions(#[
2046 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2047 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2049 new ActionNxCtClear(),
2050 new ActionNxResubmit(17 as short)
2054 new MatchEthernetType(2048L),
2055 new MatchMetadata(Uint64.valueOf(1085217976614912bi), Uint64.valueOf(1152920405095219202bi))
2058 tableId = 217 as short
2060 new FlowEntityBuilder >> [
2061 dpnId = Uint64.valueOf(123bi)
2062 cookie = Uint64.valueOf(110100480bi)
2063 flowId = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2064 flowName = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2065 instructionInfoList = #[
2066 new InstructionApplyActions(#[
2067 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2068 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2070 new ActionNxCtClear(),
2071 new ActionNxResubmit(17 as short)
2075 new MatchEthernetType(34525L),
2076 new MatchMetadata(Uint64.valueOf(1085217976614912bi), Uint64.valueOf(1152920405095219202bi))
2079 tableId = 217 as short
2081 new FlowEntityBuilder >> [
2082 dpnId = Uint64.valueOf(123bi)
2083 cookie = Uint64.valueOf(110100480bi)
2084 flowId = "Egress_Acl_Commit_Non_Conntrack_123_987"
2085 flowName = "Egress_Acl_Commit_Non_Conntrack_123_987"
2086 instructionInfoList = #[
2087 new InstructionApplyActions(#[
2088 new ActionNxResubmit(17 as short)
2092 new MatchMetadata(Uint64.valueOf(1085217976614914bi), Uint64.valueOf(1152920405095219202bi))
2095 tableId = 217 as short
2097 new FlowEntityBuilder >> [
2098 dpnId = Uint64.valueOf(123bi)
2099 cookie = Uint64.valueOf(1085218086715393bi)
2100 flowId = "Egress_123_987_Drop"
2101 flowName = "Egress_123_987_Drop"
2102 instructionInfoList = #[
2103 new InstructionApplyActions(#[
2108 new MatchMetadata(Uint64.valueOf(1085217976614916bi), Uint64.valueOf(new BigInteger("0FFFFF0000000004", 16)))
2111 tableId = 217 as short
2113 new FlowEntityBuilder >> [
2114 dpnId = Uint64.valueOf(123bi)
2115 cookie = Uint64.valueOf(110100480bi)
2116 flowId = "Ingress_Acl_Commit_Non_Conntrack_123_987"
2117 flowName = "Ingress_Acl_Commit_Non_Conntrack_123_987"
2118 instructionInfoList = #[
2119 new InstructionApplyActions(#[
2120 new ActionNxResubmit(220 as short)
2124 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2125 new MatchMetadata(Uint64.valueOf(2bi), Uint64.valueOf(2bi))
2128 tableId = 247 as short
2130 new FlowEntityBuilder >> [
2131 dpnId = Uint64.valueOf(123bi)
2132 cookie = Uint64.valueOf(1085218086715393bi)
2133 flowId = "Ingress_123_987_Drop"
2134 flowName = "Ingress_123_987_Drop"
2135 instructionInfoList = #[
2136 new InstructionApplyActions(#[
2141 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2142 new MatchMetadata(Uint64.valueOf(4bi), Uint64.valueOf(4bi))
2145 tableId = 247 as short
2147 new FlowEntityBuilder >> [
2148 dpnId = Uint64.valueOf(123bi)
2149 cookie = Uint64.valueOf(1085218086715393bi)
2150 flowId = "Ingress_Fixed_Acl_Rule_Miss_Drop_123_987"
2151 flowName = "Ingress_Fixed_Acl_Rule_Miss_Drop_123_987"
2152 instructionInfoList = #[
2153 new InstructionApplyActions(#[
2158 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
2161 tableId = 244 as short
2163 new FlowEntityBuilder >> [
2164 dpnId = Uint64.valueOf(123bi)
2165 cookie = Uint64.valueOf(1085218086715393bi)
2166 flowId = "Egress_Fixed_Acl_Rule_Miss_Drop_123_987"
2167 flowName = "Egress_Fixed_Acl_Rule_Miss_Drop_123_987"
2168 instructionInfoList = #[
2169 new InstructionApplyActions(#[
2174 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
2177 tableId = 214 as short
2182 protected def ingressCommitConntrack1() {
2183 val flowId1 = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
2184 val flowId2 = "Ingress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2186 new FlowEntityBuilder >> [
2187 dpnId = Uint64.valueOf(123bi)
2188 cookie = Uint64.valueOf(110100480bi)
2191 instructionInfoList = #[
2192 new InstructionApplyActions(#[
2193 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2194 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE)
2197 new ActionNxCtClear(),
2198 new ActionNxResubmit(220 as short)
2202 new MatchEthernetType(2048L),
2203 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2204 new MatchMetadata(Uint64.valueOf(0bi), Uint64.valueOf(2bi))
2207 tableId = 247 as short
2209 new FlowEntityBuilder >> [
2210 dpnId = Uint64.valueOf(123bi)
2211 cookie = Uint64.valueOf(110100480bi)
2214 instructionInfoList = #[
2215 new InstructionApplyActions(#[
2216 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2217 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2219 new ActionNxCtClear(),
2220 new ActionNxResubmit(220 as short)
2224 new MatchEthernetType(34525L),
2225 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2226 new MatchMetadata(Uint64.valueOf(0bi), Uint64.valueOf(2bi))
2229 tableId = 247 as short
2234 protected def egressCommitConntrack1() {
2235 val flowId1 = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[2048]"
2236 val flowId2 = "Egress_Acl_Commit_Conntrack_123_987_MatchEthernetType[34525]"
2238 new FlowEntityBuilder >> [
2239 dpnId = Uint64.valueOf(123bi)
2240 cookie = Uint64.valueOf(110100480bi)
2243 instructionInfoList = #[
2244 new InstructionApplyActions(#[
2245 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2246 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2248 new ActionNxCtClear(),
2249 new ActionNxResubmit(17 as short)
2253 new MatchEthernetType(2048L),
2254 new MatchMetadata(Uint64.valueOf(1085217976614912bi), Uint64.valueOf(1152920405095219202bi))
2257 tableId = 217 as short
2259 new FlowEntityBuilder >> [
2260 dpnId = Uint64.valueOf(123bi)
2261 cookie = Uint64.valueOf(110100480bi)
2264 instructionInfoList = #[
2265 new InstructionApplyActions(#[
2266 new ActionNxConntrack(2, 1, 0, 5000, 255 as short,
2267 Collections.singletonList(new ActionNxConntrack.NxCtMark(AclConstants.CT_MARK_EST_STATE))
2269 new ActionNxCtClear(),
2270 new ActionNxResubmit(17 as short)
2274 new MatchEthernetType(34525L),
2275 new MatchMetadata(Uint64.valueOf(1085217976614912bi), Uint64.valueOf(1152920405095219202bi))
2278 tableId = 217 as short
2283 protected def egressCommitNonConntrack1() {
2284 val flowId1 = "Egress_Acl_Commit_Non_Conntrack_123_987"
2286 new FlowEntityBuilder >> [
2287 dpnId = Uint64.valueOf(123bi)
2288 cookie = Uint64.valueOf(110100480bi)
2291 instructionInfoList = #[
2292 new InstructionApplyActions(#[
2293 new ActionNxResubmit(17 as short)
2297 new MatchMetadata(Uint64.valueOf(1085217976614914bi), Uint64.valueOf(1152920405095219202bi))
2300 tableId = 217 as short
2302 new FlowEntityBuilder >> [
2303 dpnId = Uint64.valueOf(123bi)
2304 cookie = Uint64.valueOf(1085218086715393bi)
2305 flowId = "Egress_123_987_Drop"
2306 flowName = "Egress_123_987_Drop"
2307 instructionInfoList = #[
2308 new InstructionApplyActions(#[
2313 new MatchMetadata(Uint64.valueOf(1085217976614916bi), Uint64.valueOf(new BigInteger("0FFFFF0000000004", 16)))
2316 tableId = 217 as short
2321 protected def ingressCommitNonConntrack1() {
2322 val flowId1 = "Ingress_Acl_Commit_Non_Conntrack_123_987"
2324 new FlowEntityBuilder >> [
2325 dpnId = Uint64.valueOf(123bi)
2326 cookie = Uint64.valueOf(110100480bi)
2329 instructionInfoList = #[
2330 new InstructionApplyActions(#[
2331 new ActionNxResubmit(220 as short)
2335 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2336 new MatchMetadata(Uint64.valueOf(2bi), Uint64.valueOf(2bi))
2339 tableId = 247 as short
2341 new FlowEntityBuilder >> [
2342 dpnId = Uint64.valueOf(123bi)
2343 cookie = Uint64.valueOf(1085218086715393bi)
2344 flowId = "Ingress_123_987_Drop"
2345 flowName = "Ingress_123_987_Drop"
2346 instructionInfoList = #[
2347 new InstructionApplyActions(#[
2352 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2353 new MatchMetadata(Uint64.valueOf(4bi), Uint64.valueOf(4bi))
2356 tableId = 247 as short
2361 protected def ingressfixedAclMissDrop1() {
2362 val flowId1 = "Ingress_Fixed_Acl_Rule_Miss_Drop_123_987"
2364 new FlowEntityBuilder >> [
2365 dpnId = Uint64.valueOf(123bi)
2366 cookie = Uint64.valueOf(1085218086715393bi)
2369 instructionInfoList = #[
2370 new InstructionApplyActions(#[
2375 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
2378 tableId = 244 as short
2383 protected def egressfixedAclMissDrop1() {
2384 val flowId1 = "Egress_Fixed_Acl_Rule_Miss_Drop_123_987"
2386 new FlowEntityBuilder >> [
2387 dpnId = Uint64.valueOf(123bi)
2388 cookie = Uint64.valueOf(1085218086715393bi)
2391 instructionInfoList = #[
2392 new InstructionApplyActions(#[
2397 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
2400 tableId = 214 as short
2405 protected def ingressDispatcherFirst() {
2406 val flowId1 = "Ingress_ACL_Dispatcher_First_123_987_2"
2408 new FlowEntityBuilder >> [
2409 dpnId = Uint64.valueOf(123bi)
2410 cookie = Uint64.valueOf(110100480bi)
2413 instructionInfoList = #[
2414 new InstructionGotoTable(245 as short),
2415 new InstructionWriteMetadata(Uint64.valueOf(32bi), Uint64.valueOf(16777200bi))
2418 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
2420 priority = IdHelper.getId(flowId1)
2421 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2426 protected def ingressDispatcherLast() {
2427 val flowId1 = "Ingress_ACL_Dispatcher_Last_123_987_2"
2429 new FlowEntityBuilder >> [
2430 dpnId = Uint64.valueOf(123bi)
2431 cookie = Uint64.valueOf(1085218086715393bi)
2434 instructionInfoList = #[
2435 new InstructionApplyActions(#[
2440 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
2441 new MatchMetadata(Uint64.valueOf(32bi), Uint64.valueOf(16777200bi))
2443 priority = IdHelper.getId(flowId1)
2444 tableId = NwConstants.EGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2449 protected def egressDispatcherFirst() {
2450 val flowId1 = "Egress_ACL_Dispatcher_First_123_987_2"
2452 new FlowEntityBuilder >> [
2453 dpnId = Uint64.valueOf(123bi)
2454 cookie = Uint64.valueOf(110100480bi)
2457 instructionInfoList = #[
2458 new InstructionGotoTable(215 as short),
2459 new InstructionWriteMetadata(Uint64.valueOf(32bi), Uint64.valueOf(16777200bi))
2462 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
2464 priority = IdHelper.getId(flowId1)
2465 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2470 protected def egressDispatcherLast() {
2471 val flowId1 = "Egress_ACL_Dispatcher_Last_123_987_2"
2473 new FlowEntityBuilder >> [
2474 dpnId = Uint64.valueOf(123bi)
2475 cookie = Uint64.valueOf(1085218086715393bi)
2478 instructionInfoList = #[
2479 new InstructionApplyActions(#[
2484 new MatchMetadata(Uint64.valueOf(1085217976614944bi), Uint64.valueOf(1152920405111996400bi))
2486 priority = IdHelper.getId(flowId1)
2487 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2492 protected def egressDispatcherFirst1() {
2493 val flowId1 = "Egress_ACL_Dispatcher_First_123_987_4"
2495 new FlowEntityBuilder >> [
2496 dpnId = Uint64.valueOf(123bi)
2497 cookie = Uint64.valueOf(110100480bi)
2500 instructionInfoList = #[
2501 new InstructionGotoTable(215 as short),
2502 new InstructionWriteMetadata(Uint64.valueOf(64bi), Uint64.valueOf(16777200bi))
2505 new MatchMetadata(Uint64.valueOf(1085217976614912bi), MetaDataUtil.METADATA_MASK_LPORT_TAG)
2507 priority = IdHelper.getId(flowId1)
2508 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE
2513 protected def egressDispatcherLast1() {
2514 val flowId1 = "Egress_ACL_Dispatcher_Last_123_987_4"
2516 new FlowEntityBuilder >> [
2517 dpnId = Uint64.valueOf(123bi)
2518 cookie = Uint64.valueOf(1085218086715393bi)
2521 instructionInfoList = #[
2522 new InstructionApplyActions(#[
2527 new MatchMetadata(Uint64.valueOf(1085217976614976bi), Uint64.valueOf(1152920405111996400bi))
2529 priority = IdHelper.getId(flowId1)
2530 tableId = NwConstants.INGRESS_ACL_FILTER_CUM_DISPATCHER_TABLE