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.FlowEntityBuilder
11 import org.opendaylight.genius.mdsalutil.MetaDataUtil
12 import org.opendaylight.genius.mdsalutil.NwConstants
13 import org.opendaylight.genius.mdsalutil.actions.ActionNxResubmit
14 import org.opendaylight.genius.mdsalutil.instructions.InstructionApplyActions
15 import org.opendaylight.genius.mdsalutil.instructions.InstructionGotoTable
16 import org.opendaylight.genius.mdsalutil.instructions.InstructionWriteMetadata
17 import org.opendaylight.genius.mdsalutil.matches.MatchArpSha
18 import org.opendaylight.genius.mdsalutil.matches.MatchArpSpa
19 import org.opendaylight.genius.mdsalutil.matches.MatchEthernetSource
20 import org.opendaylight.genius.mdsalutil.matches.MatchEthernetType
21 import org.opendaylight.genius.mdsalutil.matches.MatchIcmpv6
22 import org.opendaylight.genius.mdsalutil.matches.MatchIpProtocol
23 import org.opendaylight.genius.mdsalutil.matches.MatchIpv4Destination
24 import org.opendaylight.genius.mdsalutil.matches.MatchIpv4Source
25 import org.opendaylight.genius.mdsalutil.matches.MatchMetadata
26 import org.opendaylight.genius.mdsalutil.matches.MatchUdpDestinationPort
27 import org.opendaylight.genius.mdsalutil.matches.MatchUdpSourcePort
28 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchRegister
29 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Prefix
30 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress
31 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg6
33 import static extension org.opendaylight.mdsal.binding.testutils.XtendBuilderExtensions.operator_doubleGreaterThan
34 import org.opendaylight.genius.mdsalutil.matches.MatchEthernetDestination
36 class FlowEntryObjectsBase {
38 protected def fixedFlowsPort1() {
39 #[ fixedIngressFlowsPort1, fixedEgressFlowsPort1 ]
42 protected def fixedIngressFlowsPort1() {
44 new FlowEntityBuilder >> [
47 flowId = "Ingress_DHCP_Server_v4123_987__Permit_"
49 instructionInfoList = #[
50 new InstructionApplyActions(#[
51 new ActionNxResubmit(220 as short)
55 new MatchEthernetType(2048L),
56 new MatchIpProtocol(17 as short),
57 new MatchUdpDestinationPort(68),
58 new MatchUdpSourcePort(67),
59 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
62 tableId = NwConstants.EGRESS_ACL_TABLE
64 new FlowEntityBuilder >> [
67 flowId = "Ingress_DHCP_Server_v6_123_987___Permit_"
69 instructionInfoList = #[
70 new InstructionApplyActions(#[
71 new ActionNxResubmit(220 as short)
75 new MatchEthernetType(34525L),
76 new MatchIpProtocol(17 as short),
77 new MatchUdpDestinationPort(546),
78 new MatchUdpSourcePort(547),
79 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
82 tableId = NwConstants.EGRESS_ACL_TABLE
84 new FlowEntityBuilder >> [
87 flowId = "Ingress_ICMPv6_123_987_130_Permit_"
89 instructionInfoList = #[
90 new InstructionApplyActions(#[
91 new ActionNxResubmit(220 as short)
95 new MatchEthernetType(34525L),
96 new MatchIpProtocol(58 as short),
97 new MatchIcmpv6(130 as short, 0 as short),
98 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
101 tableId = NwConstants.EGRESS_ACL_TABLE
103 new FlowEntityBuilder >> [
106 flowId = "Ingress_ICMPv6_123_987_135_Permit_"
108 instructionInfoList = #[
109 new InstructionApplyActions(#[
110 new ActionNxResubmit(220 as short)
114 new MatchEthernetType(34525L),
115 new MatchIpProtocol(58 as short),
116 new MatchIcmpv6(135 as short, 0 as short),
117 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
120 tableId = NwConstants.EGRESS_ACL_TABLE
122 new FlowEntityBuilder >> [
125 flowId = "Ingress_ICMPv6_123_987_136_Permit_"
127 instructionInfoList = #[
128 new InstructionApplyActions(#[
129 new ActionNxResubmit(220 as short)
133 new MatchEthernetType(34525L),
134 new MatchIpProtocol(58 as short),
135 new MatchIcmpv6(136 as short, 0 as short),
136 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
139 tableId = NwConstants.EGRESS_ACL_TABLE
141 new FlowEntityBuilder >> [
144 flowId = "Ingress_ARP_123_987"
146 instructionInfoList = #[
147 new InstructionApplyActions(#[
148 new ActionNxResubmit(220 as short)
152 new MatchEthernetType(2054L),
153 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
156 tableId = NwConstants.EGRESS_ACL_TABLE
162 protected def fixedEgressL2BroadcastFlowsPort1() {
164 new FlowEntityBuilder >> [
167 flowId = "Egress_L2Broadcast_123_987_0D:AA:D8:42:30:F3"
169 instructionInfoList = #[
170 new InstructionApplyActions(#[
171 new ActionNxResubmit(17 as short)
175 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F3")),
176 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
179 tableId = NwConstants.INGRESS_ACL_TABLE
184 protected def fixedIngressL3BroadcastFlows() {
186 new FlowEntityBuilder >> [
189 flowId = "Ingress_v4_Broadcast_123_987_10.0.0.255_Permit"
193 instructionInfoList = #[
194 new InstructionGotoTable(NwConstants.EGRESS_ACL_REMOTE_ACL_TABLE)
197 new MatchEthernetDestination(new MacAddress("ff:ff:ff:ff:ff:ff")),
198 new MatchEthernetType(2048L),
199 new MatchIpv4Destination(new Ipv4Prefix("10.0.0.255/32")),
200 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
203 sendFlowRemFlag = false
205 tableId = NwConstants.EGRESS_ACL_TABLE
211 protected def fixedEgressFlowsPort1() {
213 new FlowEntityBuilder >> [
216 flowId = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:F3_Permit_"
218 instructionInfoList = #[
219 new InstructionApplyActions(#[
220 new ActionNxResubmit(17 as short)
224 new MatchEthernetType(2048L),
225 new MatchIpProtocol(17 as short),
226 new MatchUdpDestinationPort(67),
227 new MatchUdpSourcePort(68),
228 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
229 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F3"))
232 tableId = NwConstants.INGRESS_ACL_TABLE
234 new FlowEntityBuilder >> [
237 flowId = "Egress_DHCP_Client_v6_123_987_0D:AA:D8:42:30:F3_Permit_"
239 instructionInfoList = #[
240 new InstructionApplyActions(#[
241 new ActionNxResubmit(17 as short)
245 new MatchEthernetType(34525L),
246 new MatchIpProtocol(17 as short),
247 new MatchUdpDestinationPort(547),
248 new MatchUdpSourcePort(546),
249 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
250 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F3"))
253 tableId = NwConstants.INGRESS_ACL_TABLE
255 new FlowEntityBuilder >> [
258 flowId = "Egress_DHCP_Server_v4123_987__Drop_"
260 instructionInfoList = #[
263 new MatchEthernetType(2048L),
264 new MatchIpProtocol(17 as short),
265 new MatchUdpDestinationPort(68),
266 new MatchUdpSourcePort(67),
267 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
270 tableId = NwConstants.INGRESS_ACL_TABLE
272 new FlowEntityBuilder >> [
275 flowId = "Egress_DHCP_Server_v6_123_987__Drop_"
277 instructionInfoList = #[
280 new MatchEthernetType(34525L),
281 new MatchIpProtocol(17 as short),
282 new MatchUdpDestinationPort(546),
283 new MatchUdpSourcePort(547),
284 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
287 tableId = NwConstants.INGRESS_ACL_TABLE
289 new FlowEntityBuilder >> [
292 flowId = "Egress_ICMPv6_123_987_134_Drop_"
294 instructionInfoList = #[
297 new MatchEthernetType(34525L),
298 new MatchIpProtocol(58 as short),
299 new MatchIcmpv6(134 as short, 0 as short),
300 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
303 tableId = NwConstants.INGRESS_ACL_TABLE
305 new FlowEntityBuilder >> [
308 flowId = "Egress_ICMPv6_123_987_133_Permit_"
310 instructionInfoList = #[
311 new InstructionApplyActions(#[
312 new ActionNxResubmit(17 as short)
316 new MatchEthernetType(34525L),
317 new MatchIpProtocol(58 as short),
318 new MatchIcmpv6(133 as short, 0 as short),
319 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
322 tableId = NwConstants.INGRESS_ACL_TABLE
324 new FlowEntityBuilder >> [
327 flowId = "Egress_ICMPv6_123_987_135_Permit_"
329 instructionInfoList = #[
330 new InstructionApplyActions(#[
331 new ActionNxResubmit(17 as short)
335 new MatchEthernetType(34525L),
336 new MatchIpProtocol(58 as short),
337 new MatchIcmpv6(135 as short, 0 as short),
338 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
341 tableId = NwConstants.INGRESS_ACL_TABLE
343 new FlowEntityBuilder >> [
346 flowId = "Egress_ICMPv6_123_987_136_Permit_"
348 instructionInfoList = #[
349 new InstructionApplyActions(#[
350 new ActionNxResubmit(17 as short)
354 new MatchEthernetType(34525L),
355 new MatchIpProtocol(58 as short),
356 new MatchIcmpv6(136 as short, 0 as short),
357 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
360 tableId = NwConstants.INGRESS_ACL_TABLE
362 ] + fixedEgressArpFlowsPort1
366 protected def fixedEgressArpFlowsPort1() {
368 new FlowEntityBuilder >> [
371 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:F310.0.0.1/32"
373 instructionInfoList = #[
374 new InstructionApplyActions(#[
375 new ActionNxResubmit(17 as short)
379 new MatchEthernetType(2054L),
380 new MatchArpSha(new MacAddress("0D:AA:D8:42:30:F3")),
381 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F3")),
382 new MatchArpSpa(new Ipv4Prefix("10.0.0.1/32")),
383 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
386 tableId = NwConstants.INGRESS_ACL_TABLE
391 protected def fixedIngressFlowsPort2() {
393 new FlowEntityBuilder >> [
396 flowId = "Ingress_DHCP_Server_v4123_987__Permit_"
398 instructionInfoList = #[
399 new InstructionApplyActions(#[
400 new ActionNxResubmit(220 as short)
404 new MatchEthernetType(2048L),
405 new MatchIpProtocol(17 as short),
406 new MatchUdpDestinationPort(68),
407 new MatchUdpSourcePort(67),
408 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
411 tableId = NwConstants.EGRESS_ACL_TABLE
413 new FlowEntityBuilder >> [
416 flowId = "Ingress_DHCP_Server_v6_123_987___Permit_"
418 instructionInfoList = #[
419 new InstructionApplyActions(#[
420 new ActionNxResubmit(220 as short)
424 new MatchEthernetType(34525L),
425 new MatchIpProtocol(17 as short),
426 new MatchUdpDestinationPort(546),
427 new MatchUdpSourcePort(547),
428 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
431 tableId = NwConstants.EGRESS_ACL_TABLE
433 new FlowEntityBuilder >> [
436 flowId = "Ingress_ICMPv6_123_987_130_Permit_"
438 instructionInfoList = #[
439 new InstructionApplyActions(#[
440 new ActionNxResubmit(220 as short)
444 new MatchEthernetType(34525L),
445 new MatchIpProtocol(58 as short),
446 new MatchIcmpv6(130 as short, 0 as short),
447 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
450 tableId = NwConstants.EGRESS_ACL_TABLE
452 new FlowEntityBuilder >> [
455 flowId = "Ingress_ICMPv6_123_987_135_Permit_"
457 instructionInfoList = #[
458 new InstructionApplyActions(#[
459 new ActionNxResubmit(220 as short)
463 new MatchEthernetType(34525L),
464 new MatchIpProtocol(58 as short),
465 new MatchIcmpv6(135 as short, 0 as short),
466 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
469 tableId = NwConstants.EGRESS_ACL_TABLE
471 new FlowEntityBuilder >> [
474 flowId = "Ingress_ICMPv6_123_987_136_Permit_"
476 instructionInfoList = #[
477 new InstructionApplyActions(#[
478 new ActionNxResubmit(220 as short)
482 new MatchEthernetType(34525L),
483 new MatchIpProtocol(58 as short),
484 new MatchIcmpv6(136 as short, 0 as short),
485 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
488 tableId = NwConstants.EGRESS_ACL_TABLE
490 new FlowEntityBuilder >> [
493 flowId = "Ingress_ARP_123_987"
495 instructionInfoList = #[
496 new InstructionApplyActions(#[
497 new ActionNxResubmit(220 as short)
501 new MatchEthernetType(2054L),
502 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
505 tableId = NwConstants.EGRESS_ACL_TABLE
510 protected def fixedEgressL2BroadcastFlowsPort2 () {
512 new FlowEntityBuilder >> [
515 flowId = "Egress_L2Broadcast_123_987_0D:AA:D8:42:30:F4"
517 instructionInfoList = #[
518 new InstructionApplyActions(#[
519 new ActionNxResubmit(17 as short)
523 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
524 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
527 tableId = NwConstants.INGRESS_ACL_TABLE
532 protected def fixedEgressFlowsPort2 () {
534 new FlowEntityBuilder >> [
537 flowId = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:F4_Permit_"
539 instructionInfoList = #[
540 new InstructionApplyActions(#[
541 new ActionNxResubmit(17 as short)
545 new MatchEthernetType(2048L),
546 new MatchIpProtocol(17 as short),
547 new MatchUdpDestinationPort(67 as short),
548 new MatchUdpSourcePort(68 as short),
549 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
550 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4"))
553 tableId = NwConstants.INGRESS_ACL_TABLE
555 new FlowEntityBuilder >> [
558 flowId = "Egress_DHCP_Client_v6_123_987_0D:AA:D8:42:30:F4_Permit_"
560 instructionInfoList = #[
561 new InstructionApplyActions(#[
562 new ActionNxResubmit(17 as short)
566 new MatchEthernetType(34525L),
567 new MatchIpProtocol(17 as short),
568 new MatchUdpDestinationPort(547 as short),
569 new MatchUdpSourcePort(546 as short),
570 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
571 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4"))
574 tableId = NwConstants.INGRESS_ACL_TABLE
576 new FlowEntityBuilder >> [
579 flowId = "Egress_DHCP_Server_v4123_987__Drop_"
581 instructionInfoList = #[
584 new MatchEthernetType(2048L),
585 new MatchIpProtocol(17 as short),
586 new MatchUdpDestinationPort(68 as short),
587 new MatchUdpSourcePort(67 as short),
588 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
591 tableId = NwConstants.INGRESS_ACL_TABLE
593 new FlowEntityBuilder >> [
596 flowId = "Egress_DHCP_Server_v6_123_987__Drop_"
598 instructionInfoList = #[
601 new MatchEthernetType(34525L),
602 new MatchIpProtocol(17 as short),
603 new MatchUdpDestinationPort(546 as short),
604 new MatchUdpSourcePort(547 as short),
605 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
608 tableId = NwConstants.INGRESS_ACL_TABLE
610 new FlowEntityBuilder >> [
613 flowId = "Egress_ICMPv6_123_987_134_Drop_"
615 instructionInfoList = #[
618 new MatchEthernetType(34525L),
619 new MatchIpProtocol(58 as short),
620 new MatchIcmpv6(134 as short, 0 as short),
621 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
624 tableId = NwConstants.INGRESS_ACL_TABLE
626 new FlowEntityBuilder >> [
629 flowId = "Egress_ICMPv6_123_987_133_Permit_"
631 instructionInfoList = #[
632 new InstructionApplyActions(#[
633 new ActionNxResubmit(17 as short)
637 new MatchEthernetType(34525L),
638 new MatchIpProtocol(58 as short),
639 new MatchIcmpv6(133 as short, 0 as short),
640 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
643 tableId = NwConstants.INGRESS_ACL_TABLE
645 new FlowEntityBuilder >> [
648 flowId = "Egress_ICMPv6_123_987_135_Permit_"
650 instructionInfoList = #[
651 new InstructionApplyActions(#[
652 new ActionNxResubmit(17 as short)
656 new MatchEthernetType(34525L),
657 new MatchIpProtocol(58 as short),
658 new MatchIcmpv6(135 as short, 0 as short),
659 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
662 tableId = NwConstants.INGRESS_ACL_TABLE
664 new FlowEntityBuilder >> [
667 flowId = "Egress_ICMPv6_123_987_136_Permit_"
669 instructionInfoList = #[
670 new InstructionApplyActions(#[
671 new ActionNxResubmit(17 as short)
675 new MatchEthernetType(34525L),
676 new MatchIpProtocol(58 as short),
677 new MatchIcmpv6(136 as short, 0 as short),
678 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
681 tableId = NwConstants.INGRESS_ACL_TABLE
683 ] + fixedEgressArpFlowsPort2
686 protected def fixedEgressArpFlowsPort2() {
688 new FlowEntityBuilder >> [
691 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:F410.0.0.2/32"
693 instructionInfoList = #[
694 new InstructionApplyActions(#[
695 new ActionNxResubmit(17 as short)
699 new MatchEthernetType(2054L),
700 new MatchArpSha(new MacAddress("0D:AA:D8:42:30:F4")),
701 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
702 new MatchArpSpa(new Ipv4Prefix("10.0.0.2/32")),
703 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
706 tableId = NwConstants.INGRESS_ACL_TABLE
711 protected def fixedIngressFlowsPort3() {
713 new FlowEntityBuilder >> [
716 flowId = "Ingress_DHCP_Server_v4123_987__Permit_"
718 instructionInfoList = #[
719 new InstructionApplyActions(#[
720 new ActionNxResubmit(220 as short)
724 new MatchEthernetType(2048L),
725 new MatchIpProtocol(17 as short),
726 new MatchUdpDestinationPort(68),
727 new MatchUdpSourcePort(67),
728 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
731 tableId = NwConstants.EGRESS_ACL_TABLE
733 new FlowEntityBuilder >> [
736 flowId = "Ingress_DHCP_Server_v6_123_987___Permit_"
738 instructionInfoList = #[
739 new InstructionApplyActions(#[
740 new ActionNxResubmit(220 as short)
744 new MatchEthernetType(34525L),
745 new MatchIpProtocol(17 as short),
746 new MatchUdpDestinationPort(546),
747 new MatchUdpSourcePort(547),
748 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
751 tableId = NwConstants.EGRESS_ACL_TABLE
753 new FlowEntityBuilder >> [
756 flowId = "Ingress_ICMPv6_123_987_130_Permit_"
758 instructionInfoList = #[
759 new InstructionApplyActions(#[
760 new ActionNxResubmit(220 as short)
764 new MatchEthernetType(34525L),
765 new MatchIpProtocol(58 as short),
766 new MatchIcmpv6(130 as short, 0 as short),
767 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
770 tableId = NwConstants.EGRESS_ACL_TABLE
772 new FlowEntityBuilder >> [
775 flowId = "Ingress_ICMPv6_123_987_135_Permit_"
777 instructionInfoList = #[
778 new InstructionApplyActions(#[
779 new ActionNxResubmit(220 as short)
783 new MatchEthernetType(34525L),
784 new MatchIpProtocol(58 as short),
785 new MatchIcmpv6(135 as short, 0 as short),
786 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
789 tableId = NwConstants.EGRESS_ACL_TABLE
791 new FlowEntityBuilder >> [
794 flowId = "Ingress_ICMPv6_123_987_136_Permit_"
796 instructionInfoList = #[
797 new InstructionApplyActions(#[
798 new ActionNxResubmit(220 as short)
802 new MatchEthernetType(34525L),
803 new MatchIpProtocol(58 as short),
804 new MatchIcmpv6(136 as short, 0 as short),
805 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
808 tableId = NwConstants.EGRESS_ACL_TABLE
810 new FlowEntityBuilder >> [
813 flowId = "Ingress_ARP_123_987"
815 instructionInfoList = #[
816 new InstructionApplyActions(#[
817 new ActionNxResubmit(220 as short)
821 new MatchEthernetType(2054L),
822 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
825 tableId = NwConstants.EGRESS_ACL_TABLE
830 protected def fixedEgressL2BroadcastFlowsPort3 () {
832 new FlowEntityBuilder >> [
835 flowId = "Egress_L2Broadcast_123_987_0D:AA:D8:42:30:F5"
837 instructionInfoList = #[
838 new InstructionApplyActions(#[
839 new ActionNxResubmit(17 as short)
843 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F5")),
844 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
847 tableId = NwConstants.INGRESS_ACL_TABLE
852 protected def fixedEgressFlowsPort3 () {
854 new FlowEntityBuilder >> [
857 flowId = "Egress_DHCP_Client_v4123_987_0D:AA:D8:42:30:F5_Permit_"
859 instructionInfoList = #[
860 new InstructionApplyActions(#[
861 new ActionNxResubmit(17 as short)
865 new MatchEthernetType(2048L),
866 new MatchIpProtocol(17 as short),
867 new MatchUdpDestinationPort(67),
868 new MatchUdpSourcePort(68),
869 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
870 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F5"))
873 tableId = NwConstants.INGRESS_ACL_TABLE
875 new FlowEntityBuilder >> [
878 flowId = "Egress_DHCP_Client_v6_123_987_0D:AA:D8:42:30:F5_Permit_"
880 instructionInfoList = #[
881 new InstructionApplyActions(#[
882 new ActionNxResubmit(17 as short)
886 new MatchEthernetType(34525L),
887 new MatchIpProtocol(17 as short),
888 new MatchUdpDestinationPort(547),
889 new MatchUdpSourcePort(546),
890 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
891 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F5"))
894 tableId = NwConstants.INGRESS_ACL_TABLE
896 new FlowEntityBuilder >> [
899 flowId = "Egress_DHCP_Server_v4123_987__Drop_"
901 instructionInfoList = #[
904 new MatchEthernetType(2048L),
905 new MatchIpProtocol(17 as short),
906 new MatchUdpDestinationPort(68),
907 new MatchUdpSourcePort(67),
908 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
911 tableId = NwConstants.INGRESS_ACL_TABLE
913 new FlowEntityBuilder >> [
916 flowId = "Egress_DHCP_Server_v6_123_987__Drop_"
918 instructionInfoList = #[
921 new MatchEthernetType(34525L),
922 new MatchIpProtocol(17 as short),
923 new MatchUdpDestinationPort(546),
924 new MatchUdpSourcePort(547),
925 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
928 tableId = NwConstants.INGRESS_ACL_TABLE
930 new FlowEntityBuilder >> [
933 flowId = "Egress_ICMPv6_123_987_134_Drop_"
935 instructionInfoList = #[
938 new MatchEthernetType(34525L),
939 new MatchIpProtocol(58 as short),
940 new MatchIcmpv6(134 as short, 0 as short),
941 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
944 tableId = NwConstants.INGRESS_ACL_TABLE
946 new FlowEntityBuilder >> [
949 flowId = "Egress_ICMPv6_123_987_133_Permit_"
951 instructionInfoList = #[
952 new InstructionApplyActions(#[
953 new ActionNxResubmit(17 as short)
957 new MatchEthernetType(34525L),
958 new MatchIpProtocol(58 as short),
959 new MatchIcmpv6(133 as short, 0 as short),
960 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
963 tableId = NwConstants.INGRESS_ACL_TABLE
965 new FlowEntityBuilder >> [
968 flowId = "Egress_ICMPv6_123_987_135_Permit_"
970 instructionInfoList = #[
971 new InstructionApplyActions(#[
972 new ActionNxResubmit(17 as short)
976 new MatchEthernetType(34525L),
977 new MatchIpProtocol(58 as short),
978 new MatchIcmpv6(135 as short, 0 as short),
979 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
982 tableId = NwConstants.INGRESS_ACL_TABLE
984 new FlowEntityBuilder >> [
987 flowId = "Egress_ICMPv6_123_987_136_Permit_"
989 instructionInfoList = #[
990 new InstructionApplyActions(#[
991 new ActionNxResubmit(17 as short)
995 new MatchEthernetType(34525L),
996 new MatchIpProtocol(58 as short),
997 new MatchIcmpv6(136 as short, 0 as short),
998 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1001 tableId = NwConstants.INGRESS_ACL_TABLE
1003 new FlowEntityBuilder >> [
1005 cookie = 110100480bi
1006 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:F510.0.0.3/32"
1008 instructionInfoList = #[
1009 new InstructionApplyActions(#[
1010 new ActionNxResubmit(17 as short)
1014 new MatchEthernetType(2054L),
1015 new MatchArpSha(new MacAddress("0D:AA:D8:42:30:F5")),
1016 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F5")),
1017 new MatchArpSpa(new Ipv4Prefix("10.0.0.3/32")),
1018 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1021 tableId = NwConstants.INGRESS_ACL_TABLE
1026 static def fixedIngressFlowsPort4() {
1028 new FlowEntityBuilder >> [
1030 cookie = 110100480bi
1031 flowId = "Ingress_DHCP_Server_v4123_987__Permit_"
1033 instructionInfoList = #[
1034 new InstructionApplyActions(#[
1035 new ActionNxResubmit(220 as short)
1039 new MatchEthernetType(2048L),
1040 new MatchIpProtocol(17 as short),
1041 new MatchUdpDestinationPort(68),
1042 new MatchUdpSourcePort(67),
1043 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1046 tableId = NwConstants.EGRESS_ACL_TABLE
1048 new FlowEntityBuilder >> [
1050 cookie = 110100480bi
1051 flowId = "Ingress_DHCP_Server_v6_123_987___Permit_"
1053 instructionInfoList = #[
1054 new InstructionApplyActions(#[
1055 new ActionNxResubmit(220 as short)
1059 new MatchEthernetType(34525L),
1060 new MatchIpProtocol(17 as short),
1061 new MatchUdpDestinationPort(546),
1062 new MatchUdpSourcePort(547),
1063 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1066 tableId = NwConstants.EGRESS_ACL_TABLE
1068 new FlowEntityBuilder >> [
1070 cookie = 110100480bi
1071 flowId = "Ingress_ICMPv6_123_987_130_Permit_"
1073 instructionInfoList = #[
1074 new InstructionApplyActions(#[
1075 new ActionNxResubmit(220 as short)
1079 new MatchEthernetType(34525L),
1080 new MatchIpProtocol(58 as short),
1081 new MatchIcmpv6(130 as short, 0 as short),
1082 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1085 tableId = NwConstants.EGRESS_ACL_TABLE
1087 new FlowEntityBuilder >> [
1089 cookie = 110100480bi
1090 flowId = "Ingress_ICMPv6_123_987_135_Permit_"
1092 instructionInfoList = #[
1093 new InstructionApplyActions(#[
1094 new ActionNxResubmit(220 as short)
1098 new MatchEthernetType(34525L),
1099 new MatchIpProtocol(58 as short),
1100 new MatchIcmpv6(135 as short, 0 as short),
1101 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1104 tableId = NwConstants.EGRESS_ACL_TABLE
1106 new FlowEntityBuilder >> [
1108 cookie = 110100480bi
1109 flowId = "Ingress_ICMPv6_123_987_136_Permit_"
1111 instructionInfoList = #[
1112 new InstructionApplyActions(#[
1113 new ActionNxResubmit(220 as short)
1117 new MatchEthernetType(34525L),
1118 new MatchIpProtocol(58 as short),
1119 new MatchIcmpv6(136 as short, 0 as short),
1120 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1123 tableId = NwConstants.EGRESS_ACL_TABLE
1125 new FlowEntityBuilder >> [
1127 cookie = 110100480bi
1128 flowId = "Ingress_ARP_123_987"
1130 instructionInfoList = #[
1131 new InstructionApplyActions(#[
1132 new ActionNxResubmit(220 as short)
1136 new MatchEthernetType(2054L),
1137 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1140 tableId = NwConstants.EGRESS_ACL_TABLE
1145 static def fixedEgressFlowsPort4 () {
1147 new FlowEntityBuilder >> [
1149 cookie = 110100480bi
1150 flowId = "Egress_DHCP_Client_v4123_987__Permit_"
1152 instructionInfoList = #[
1153 new InstructionApplyActions(#[
1154 new ActionNxResubmit(17 as short)
1158 new MatchEthernetType(2048L),
1159 new MatchIpProtocol(17 as short),
1160 new MatchUdpDestinationPort(67),
1161 new MatchUdpSourcePort(68),
1162 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1165 tableId = NwConstants.INGRESS_ACL_TABLE
1167 new FlowEntityBuilder >> [
1169 cookie = 110100480bi
1170 flowId = "Egress_DHCP_Client_v6_123_987__Permit_"
1172 instructionInfoList = #[
1173 new InstructionApplyActions(#[
1174 new ActionNxResubmit(17 as short)
1178 new MatchEthernetType(34525L),
1179 new MatchIpProtocol(17 as short),
1180 new MatchUdpDestinationPort(547),
1181 new MatchUdpSourcePort(546),
1182 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1185 tableId = NwConstants.INGRESS_ACL_TABLE
1187 new FlowEntityBuilder >> [
1189 cookie = 110100480bi
1190 flowId = "Egress_DHCP_Server_v4123_987__Drop_"
1192 instructionInfoList = #[
1195 new MatchEthernetType(2048L),
1196 new MatchIpProtocol(17 as short),
1197 new MatchUdpDestinationPort(68),
1198 new MatchUdpSourcePort(67),
1199 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1202 tableId = NwConstants.INGRESS_ACL_TABLE
1204 new FlowEntityBuilder >> [
1206 cookie = 110100480bi
1207 flowId = "Egress_DHCP_Server_v6_123_987__Drop_"
1209 instructionInfoList = #[
1212 new MatchEthernetType(34525L),
1213 new MatchIpProtocol(17 as short),
1214 new MatchUdpDestinationPort(546),
1215 new MatchUdpSourcePort(547),
1216 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1219 tableId = NwConstants.INGRESS_ACL_TABLE
1221 new FlowEntityBuilder >> [
1223 cookie = 110100480bi
1224 flowId = "Egress_ICMPv6_123_987_134_Drop_"
1226 instructionInfoList = #[
1229 new MatchEthernetType(34525L),
1230 new MatchIpProtocol(58 as short),
1231 new MatchIcmpv6(134 as short, 0 as short),
1232 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1235 tableId = NwConstants.INGRESS_ACL_TABLE
1237 new FlowEntityBuilder >> [
1239 cookie = 110100480bi
1240 flowId = "Egress_ICMPv6_123_987_133_Permit_"
1242 instructionInfoList = #[
1243 new InstructionApplyActions(#[
1244 new ActionNxResubmit(17 as short)
1248 new MatchEthernetType(34525L),
1249 new MatchIpProtocol(58 as short),
1250 new MatchIcmpv6(133 as short, 0 as short),
1251 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1254 tableId = NwConstants.INGRESS_ACL_TABLE
1256 new FlowEntityBuilder >> [
1258 cookie = 110100480bi
1259 flowId = "Egress_ICMPv6_123_987_135_Permit_"
1261 instructionInfoList = #[
1262 new InstructionApplyActions(#[
1263 new ActionNxResubmit(17 as short)
1267 new MatchEthernetType(34525L),
1268 new MatchIpProtocol(58 as short),
1269 new MatchIcmpv6(135 as short, 0 as short),
1270 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1273 tableId = NwConstants.INGRESS_ACL_TABLE
1275 new FlowEntityBuilder >> [
1277 cookie = 110100480bi
1278 flowId = "Egress_ICMPv6_123_987_136_Permit_"
1280 instructionInfoList = #[
1281 new InstructionApplyActions(#[
1282 new ActionNxResubmit(17 as short)
1286 new MatchEthernetType(34525L),
1287 new MatchIpProtocol(58 as short),
1288 new MatchIcmpv6(136 as short, 0 as short),
1289 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1292 tableId = NwConstants.INGRESS_ACL_TABLE
1294 new FlowEntityBuilder >> [
1296 cookie = 110100480bi
1297 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:F6"
1299 instructionInfoList = #[
1300 new InstructionApplyActions(#[
1301 new ActionNxResubmit(17 as short)
1305 new MatchEthernetType(2054L),
1306 new MatchArpSha(new MacAddress("0D:AA:D8:42:30:F6")),
1307 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F6")),
1308 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1311 tableId = NwConstants.INGRESS_ACL_TABLE
1313 new FlowEntityBuilder >> [
1315 cookie = 110100480bi
1316 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:F6"
1318 instructionInfoList = #[
1319 new InstructionApplyActions(#[
1320 new ActionNxResubmit(17 as short)
1324 new MatchEthernetType(2054L),
1325 new MatchArpSha(new MacAddress("0D:AA:D8:42:30:F6")),
1326 new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F6")),
1327 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1330 tableId = NwConstants.INGRESS_ACL_TABLE
1335 protected def remoteFlows() {
1336 remoteIngressFlowsPort1
1337 + remoteEgressFlowsPort1
1338 + remoteIngressFlowsPort2
1339 + remoteEgressFlowsPort2
1342 protected def remoteIngressFlowsPort1() {
1344 remoteIngressFlowsPort("10.0.0.1")
1348 protected def remoteIngressFlowsPort2() {
1350 remoteIngressFlowsPort("10.0.0.2")
1354 protected def remoteEgressFlowsPort1() {
1356 remoteEgressFlowsPort("10.0.0.1")
1360 protected def remoteEgressFlowsPort2() {
1362 remoteEgressFlowsPort("10.0.0.2")
1366 protected def remoteIngressFlowsPort(String ip) {
1367 new FlowEntityBuilder >> [
1369 cookie = 110100480bi
1370 flowId = "Acl_Filter_Egress_" + ip + "/32_5000"
1372 instructionInfoList = #[
1373 new InstructionWriteMetadata(4bi, 16777214bi),
1374 new InstructionGotoTable(NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE)
1377 new MatchMetadata(83886080000bi, 1099494850560bi),
1378 new MatchEthernetType(2048L),
1379 new MatchIpv4Destination(ip, "32")
1382 tableId = NwConstants.INGRESS_ACL_REMOTE_ACL_TABLE
1386 protected def remoteEgressFlowsPort(String ip) {
1387 new FlowEntityBuilder >> [
1389 cookie = 110100480bi
1390 flowId = "Acl_Filter_Ingress_" + ip + "/32_5000"
1392 instructionInfoList = #[
1393 new InstructionWriteMetadata(4bi, 16777214bi),
1394 new InstructionGotoTable(NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE)
1397 new MatchMetadata(83886080000bi, 1099494850560bi),
1398 new MatchEthernetType(2048L),
1399 new MatchIpv4Source(ip, "32")
1402 tableId = NwConstants.EGRESS_ACL_REMOTE_ACL_TABLE
1406 protected def expectedFlows(String mac) {
1407 // Code auto. generated by https://github.com/vorburger/xtendbeans
1409 new FlowEntityBuilder >> [
1411 cookie = 110100480bi
1412 flowId = "Ingress_DHCP_Server_v4123_987__Permit_"
1414 instructionInfoList = #[
1415 new InstructionApplyActions(#[
1416 new ActionNxResubmit(220 as short)
1420 new MatchEthernetType(2048L),
1421 new MatchIpProtocol(17 as short),
1422 new MatchUdpDestinationPort(68),
1423 new MatchUdpSourcePort(67),
1424 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1427 tableId = NwConstants.EGRESS_ACL_TABLE
1429 new FlowEntityBuilder >> [
1431 cookie = 110100480bi
1432 flowId = "Ingress_DHCP_Server_v6_123_987___Permit_"
1434 instructionInfoList = #[
1435 new InstructionApplyActions(#[
1436 new ActionNxResubmit(220 as short)
1440 new MatchEthernetType(34525L),
1441 new MatchIpProtocol(17 as short),
1442 new MatchUdpDestinationPort(546),
1443 new MatchUdpSourcePort(547),
1444 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1447 tableId = NwConstants.EGRESS_ACL_TABLE
1449 new FlowEntityBuilder >> [
1451 cookie = 110100480bi
1452 flowId = "Ingress_ICMPv6_123_987_130_Permit_"
1454 instructionInfoList = #[
1455 new InstructionApplyActions(#[
1456 new ActionNxResubmit(220 as short)
1460 new MatchEthernetType(34525L),
1461 new MatchIpProtocol(58 as short),
1462 new MatchIcmpv6(130 as short, 0 as short),
1463 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1466 tableId = NwConstants.EGRESS_ACL_TABLE
1468 new FlowEntityBuilder >> [
1470 cookie = 110100480bi
1471 flowId = "Ingress_ICMPv6_123_987_135_Permit_"
1473 instructionInfoList = #[
1474 new InstructionApplyActions(#[
1475 new ActionNxResubmit(220 as short)
1479 new MatchEthernetType(34525L),
1480 new MatchIpProtocol(58 as short),
1481 new MatchIcmpv6(135 as short, 0 as short),
1482 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1485 tableId = NwConstants.EGRESS_ACL_TABLE
1487 new FlowEntityBuilder >> [
1489 cookie = 110100480bi
1490 flowId = "Ingress_ICMPv6_123_987_136_Permit_"
1492 instructionInfoList = #[
1493 new InstructionApplyActions(#[
1494 new ActionNxResubmit(220 as short)
1498 new MatchEthernetType(34525L),
1499 new MatchIpProtocol(58 as short),
1500 new MatchIcmpv6(136 as short, 0 as short),
1501 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1504 tableId = NwConstants.EGRESS_ACL_TABLE
1506 new FlowEntityBuilder >> [
1508 cookie = 110100480bi
1509 flowId = "Ingress_ARP_123_987"
1511 instructionInfoList = #[
1512 new InstructionApplyActions(#[
1513 new ActionNxResubmit(220 as short)
1517 new MatchEthernetType(2054L),
1518 new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1521 tableId = NwConstants.EGRESS_ACL_TABLE
1523 new FlowEntityBuilder >> [
1525 cookie = 110100480bi
1526 flowId = "Egress_DHCP_Client_v4123_987_" + mac + "_Permit_"
1528 instructionInfoList = #[
1529 new InstructionApplyActions(#[
1530 new ActionNxResubmit(17 as short)
1534 new MatchEthernetType(2048L),
1535 new MatchIpProtocol(17 as short),
1536 new MatchUdpDestinationPort(67),
1537 new MatchUdpSourcePort(68),
1538 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
1539 new MatchEthernetSource(new MacAddress(mac))
1542 tableId = NwConstants.INGRESS_ACL_TABLE
1544 new FlowEntityBuilder >> [
1546 cookie = 110100480bi
1547 flowId = "Egress_DHCP_Client_v6_123_987_" + mac + "_Permit_"
1549 instructionInfoList = #[
1550 new InstructionApplyActions(#[
1551 new ActionNxResubmit(17 as short)
1555 new MatchEthernetType(34525L),
1556 new MatchIpProtocol(17 as short),
1557 new MatchUdpDestinationPort(547),
1558 new MatchUdpSourcePort(546),
1559 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
1560 new MatchEthernetSource(new MacAddress(mac))
1563 tableId = NwConstants.INGRESS_ACL_TABLE
1565 new FlowEntityBuilder >> [
1567 cookie = 110100480bi
1568 flowId = "Egress_DHCP_Server_v4123_987__Drop_"
1570 instructionInfoList = #[
1573 new MatchEthernetType(2048L),
1574 new MatchIpProtocol(17 as short),
1575 new MatchUdpDestinationPort(68),
1576 new MatchUdpSourcePort(67),
1577 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1580 tableId = NwConstants.INGRESS_ACL_TABLE
1582 new FlowEntityBuilder >> [
1584 cookie = 110100480bi
1585 flowId = "Egress_DHCP_Server_v6_123_987__Drop_"
1587 instructionInfoList = #[
1590 new MatchEthernetType(34525L),
1591 new MatchIpProtocol(17 as short),
1592 new MatchUdpDestinationPort(546),
1593 new MatchUdpSourcePort(547),
1594 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1597 tableId = NwConstants.INGRESS_ACL_TABLE
1599 new FlowEntityBuilder >> [
1601 cookie = 110100480bi
1602 flowId = "Egress_ICMPv6_123_987_134_Drop_"
1604 instructionInfoList = #[
1607 new MatchEthernetType(34525L),
1608 new MatchIpProtocol(58 as short),
1609 new MatchIcmpv6(134 as short, 0 as short),
1610 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1613 tableId = NwConstants.INGRESS_ACL_TABLE
1615 new FlowEntityBuilder >> [
1617 cookie = 110100480bi
1618 flowId = "Egress_ICMPv6_123_987_133_Permit_"
1620 instructionInfoList = #[
1621 new InstructionApplyActions(#[
1622 new ActionNxResubmit(17 as short)
1626 new MatchEthernetType(34525L),
1627 new MatchIpProtocol(58 as short),
1628 new MatchIcmpv6(133 as short, 0 as short),
1629 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1632 tableId = NwConstants.INGRESS_ACL_TABLE
1634 new FlowEntityBuilder >> [
1636 cookie = 110100480bi
1637 flowId = "Egress_ICMPv6_123_987_135_Permit_"
1639 instructionInfoList = #[
1640 new InstructionApplyActions(#[
1641 new ActionNxResubmit(17 as short)
1645 new MatchEthernetType(34525L),
1646 new MatchIpProtocol(58 as short),
1647 new MatchIcmpv6(135 as short, 0 as short),
1648 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1651 tableId = NwConstants.INGRESS_ACL_TABLE
1653 new FlowEntityBuilder >> [
1655 cookie = 110100480bi
1656 flowId = "Egress_ICMPv6_123_987_136_Permit_"
1658 instructionInfoList = #[
1659 new InstructionApplyActions(#[
1660 new ActionNxResubmit(17 as short)
1664 new MatchEthernetType(34525L),
1665 new MatchIpProtocol(58 as short),
1666 new MatchIcmpv6(136 as short, 0 as short),
1667 new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1670 tableId = NwConstants.INGRESS_ACL_TABLE
1672 new FlowEntityBuilder >> [
1674 cookie = 110100480bi
1675 flowId = "Egress_ARP_123_987_" + mac
1677 instructionInfoList = #[
1678 new InstructionApplyActions(#[
1679 new ActionNxResubmit
1683 new MatchEthernetType(2054L),
1684 new MatchArpSha(new MacAddress(mac)),
1685 new MatchEthernetSource(new MacAddress(mac)),
1686 new MatchMetadata(1085217976614912bi, 1152920405095219200bi)
1689 tableId = NwConstants.INGRESS_ACL_TABLE