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.actions.ActionNxResubmit
11 import org.opendaylight.genius.mdsalutil.FlowEntity
12 import org.opendaylight.genius.mdsalutil.InstructionInfo
13 import org.opendaylight.genius.mdsalutil.InstructionType
14 import org.opendaylight.genius.mdsalutil.MatchFieldType
15 import org.opendaylight.genius.mdsalutil.MatchInfoBuilder
16 import org.opendaylight.genius.mdsalutil.MetaDataUtil
18 import static extension org.opendaylight.mdsal.binding.testutils.XtendBuilderExtensions.operator_doubleGreaterThan
20 class FlowEntryObjectsBase {
22 static def fixedFlowsPort1() {
23 #[ fixedIngressFlowsPort1, fixedEgressFlowsPort1 ]
26 static def fixedIngressFlowsPort1() {
28 new FlowEntity(123bi) => [
30 flowId = "Ingress_DHCP_Server_v4123_987__Permit_"
32 instructionInfoList = #[
33 new InstructionInfo(InstructionType.apply_actions, #[
34 new ActionNxResubmit(220 as short)
38 new MatchInfoBuilder >> [
39 matchField = MatchFieldType.eth_type
44 new MatchInfoBuilder >> [
45 matchField = MatchFieldType.ip_proto
50 new MatchInfoBuilder >> [
51 matchField = MatchFieldType.udp_dst
56 new MatchInfoBuilder >> [
57 matchField = MatchFieldType.udp_src
62 new MatchInfoBuilder >> [
65 MetaDataUtil.METADATA_MASK_LPORT_TAG
67 matchField = MatchFieldType.metadata
71 tableId = 251 as short
73 new FlowEntity(123bi) => [
75 flowId = "Ingress_DHCP_Server_v6_123_987___Permit_"
77 instructionInfoList = #[
78 new InstructionInfo(InstructionType.apply_actions, #[
79 new ActionNxResubmit(220 as short)
83 new MatchInfoBuilder >> [
84 matchField = MatchFieldType.eth_type
89 new MatchInfoBuilder >> [
90 matchField = MatchFieldType.ip_proto
95 new MatchInfoBuilder >> [
96 matchField = MatchFieldType.udp_dst
101 new MatchInfoBuilder >> [
102 matchField = MatchFieldType.udp_src
107 new MatchInfoBuilder >> [
110 MetaDataUtil.METADATA_MASK_LPORT_TAG
112 matchField = MatchFieldType.metadata
116 tableId = 251 as short
118 new FlowEntity(123bi) => [
120 flowId = "Ingress_ICMPv6_123_987_130_Permit_"
122 instructionInfoList = #[
123 new InstructionInfo(InstructionType.apply_actions, #[
124 new ActionNxResubmit(220 as short)
128 new MatchInfoBuilder >> [
129 matchField = MatchFieldType.eth_type
134 new MatchInfoBuilder >> [
135 matchField = MatchFieldType.ip_proto
140 new MatchInfoBuilder >> [
141 matchField = MatchFieldType.icmp_v6
147 new MatchInfoBuilder >> [
150 MetaDataUtil.METADATA_MASK_LPORT_TAG
152 matchField = MatchFieldType.metadata
156 tableId = 251 as short
158 new FlowEntity(123bi) => [
160 flowId = "Ingress_ICMPv6_123_987_135_Permit_"
162 instructionInfoList = #[
163 new InstructionInfo(InstructionType.apply_actions, #[
164 new ActionNxResubmit(220 as short)
168 new MatchInfoBuilder >> [
169 matchField = MatchFieldType.eth_type
174 new MatchInfoBuilder >> [
175 matchField = MatchFieldType.ip_proto
180 new MatchInfoBuilder >> [
181 matchField = MatchFieldType.icmp_v6
187 new MatchInfoBuilder >> [
190 MetaDataUtil.METADATA_MASK_LPORT_TAG
192 matchField = MatchFieldType.metadata
196 tableId = 251 as short
198 new FlowEntity(123bi) => [
200 flowId = "Ingress_ICMPv6_123_987_136_Permit_"
202 instructionInfoList = #[
203 new InstructionInfo(InstructionType.apply_actions, #[
204 new ActionNxResubmit(220 as short)
208 new MatchInfoBuilder >> [
209 matchField = MatchFieldType.eth_type
214 new MatchInfoBuilder >> [
215 matchField = MatchFieldType.ip_proto
220 new MatchInfoBuilder >> [
221 matchField = MatchFieldType.icmp_v6
227 new MatchInfoBuilder >> [
230 MetaDataUtil.METADATA_MASK_LPORT_TAG
232 matchField = MatchFieldType.metadata
236 tableId = 251 as short
238 new FlowEntity(123bi) => [
240 flowId = "Ingress_ARP_123_987"
242 instructionInfoList = #[
243 new InstructionInfo(InstructionType.apply_actions, #[
244 new ActionNxResubmit(220 as short)
248 new MatchInfoBuilder >> [
249 matchField = MatchFieldType.eth_type
254 new MatchInfoBuilder >> [
257 MetaDataUtil.METADATA_MASK_LPORT_TAG
259 matchField = MatchFieldType.metadata
263 tableId = 251 as short
269 static def fixedEgressFlowsPort1() {
272 new FlowEntity(123bi) => [
274 flowId = "Egress_DHCP_Client_v4123_987__Permit_"
276 instructionInfoList = #[
277 new InstructionInfo(InstructionType.apply_actions, #[
278 new ActionNxResubmit(17 as short)
282 new MatchInfoBuilder >> [
283 matchField = MatchFieldType.eth_type
288 new MatchInfoBuilder >> [
289 matchField = MatchFieldType.ip_proto
294 new MatchInfoBuilder >> [
295 matchField = MatchFieldType.udp_dst
300 new MatchInfoBuilder >> [
301 matchField = MatchFieldType.udp_src
306 new MatchInfoBuilder >> [
309 MetaDataUtil.METADATA_MASK_LPORT_TAG
311 matchField = MatchFieldType.metadata
315 tableId = 40 as short
317 new FlowEntity(123bi) => [
319 flowId = "Egress_DHCP_Client_v6_123_987__Permit_"
321 instructionInfoList = #[
322 new InstructionInfo(InstructionType.apply_actions, #[
323 new ActionNxResubmit(17 as short)
327 new MatchInfoBuilder >> [
328 matchField = MatchFieldType.eth_type
333 new MatchInfoBuilder >> [
334 matchField = MatchFieldType.ip_proto
339 new MatchInfoBuilder >> [
340 matchField = MatchFieldType.udp_dst
345 new MatchInfoBuilder >> [
346 matchField = MatchFieldType.udp_src
351 new MatchInfoBuilder >> [
354 MetaDataUtil.METADATA_MASK_LPORT_TAG
356 matchField = MatchFieldType.metadata
360 tableId = 40 as short
362 new FlowEntity(123bi) => [
364 flowId = "Egress_DHCP_Server_v4123_987__Drop_"
366 instructionInfoList = #[
369 new MatchInfoBuilder >> [
370 matchField = MatchFieldType.eth_type
375 new MatchInfoBuilder >> [
376 matchField = MatchFieldType.ip_proto
381 new MatchInfoBuilder >> [
382 matchField = MatchFieldType.udp_dst
387 new MatchInfoBuilder >> [
388 matchField = MatchFieldType.udp_src
393 new MatchInfoBuilder >> [
396 MetaDataUtil.METADATA_MASK_LPORT_TAG
398 matchField = MatchFieldType.metadata
402 tableId = 40 as short
404 new FlowEntity(123bi) => [
406 flowId = "Egress_DHCP_Server_v6_123_987__Drop_"
408 instructionInfoList = #[
411 new MatchInfoBuilder >> [
412 matchField = MatchFieldType.eth_type
417 new MatchInfoBuilder >> [
418 matchField = MatchFieldType.ip_proto
423 new MatchInfoBuilder >> [
424 matchField = MatchFieldType.udp_dst
429 new MatchInfoBuilder >> [
430 matchField = MatchFieldType.udp_src
435 new MatchInfoBuilder >> [
438 MetaDataUtil.METADATA_MASK_LPORT_TAG
440 matchField = MatchFieldType.metadata
444 tableId = 40 as short
446 new FlowEntity(123bi) => [
448 flowId = "Egress_ICMPv6_123_987_134_Drop_"
450 instructionInfoList = #[
453 new MatchInfoBuilder >> [
454 matchField = MatchFieldType.eth_type
459 new MatchInfoBuilder >> [
460 matchField = MatchFieldType.ip_proto
465 new MatchInfoBuilder >> [
466 matchField = MatchFieldType.icmp_v6
472 new MatchInfoBuilder >> [
475 MetaDataUtil.METADATA_MASK_LPORT_TAG
477 matchField = MatchFieldType.metadata
481 tableId = 40 as short
483 new FlowEntity(123bi) => [
485 flowId = "Egress_ICMPv6_123_987_133_Permit_"
487 instructionInfoList = #[
488 new InstructionInfo(InstructionType.apply_actions, #[
489 new ActionNxResubmit(17 as short)
493 new MatchInfoBuilder >> [
494 matchField = MatchFieldType.eth_type
499 new MatchInfoBuilder >> [
500 matchField = MatchFieldType.ip_proto
505 new MatchInfoBuilder >> [
506 matchField = MatchFieldType.icmp_v6
512 new MatchInfoBuilder >> [
515 MetaDataUtil.METADATA_MASK_LPORT_TAG
517 matchField = MatchFieldType.metadata
521 tableId = 40 as short
523 new FlowEntity(123bi) => [
525 flowId = "Egress_ICMPv6_123_987_135_Permit_"
527 instructionInfoList = #[
528 new InstructionInfo(InstructionType.apply_actions, #[
529 new ActionNxResubmit(17 as short)
533 new MatchInfoBuilder >> [
534 matchField = MatchFieldType.eth_type
539 new MatchInfoBuilder >> [
540 matchField = MatchFieldType.ip_proto
545 new MatchInfoBuilder >> [
546 matchField = MatchFieldType.icmp_v6
552 new MatchInfoBuilder >> [
555 MetaDataUtil.METADATA_MASK_LPORT_TAG
557 matchField = MatchFieldType.metadata
561 tableId = 40 as short
563 new FlowEntity(123bi) => [
565 flowId = "Egress_ICMPv6_123_987_136_Permit_"
567 instructionInfoList = #[
568 new InstructionInfo(InstructionType.apply_actions, #[
569 new ActionNxResubmit(17 as short)
573 new MatchInfoBuilder >> [
574 matchField = MatchFieldType.eth_type
579 new MatchInfoBuilder >> [
580 matchField = MatchFieldType.ip_proto
585 new MatchInfoBuilder >> [
586 matchField = MatchFieldType.icmp_v6
592 new MatchInfoBuilder >> [
595 MetaDataUtil.METADATA_MASK_LPORT_TAG
597 matchField = MatchFieldType.metadata
601 tableId = 40 as short
603 new FlowEntity(123bi) => [
605 flowId = "Egress_ARP_123_0D:AA:D8:42:30:F3"
607 instructionInfoList = #[
608 new InstructionInfo(InstructionType.apply_actions, #[
609 new ActionNxResubmit(17 as short)
613 new MatchInfoBuilder >> [
614 matchField = MatchFieldType.eth_type
619 new MatchInfoBuilder >> [
620 matchField = MatchFieldType.arp_sha
621 stringMatchValues = #[
625 new MatchInfoBuilder >> [
628 MetaDataUtil.METADATA_MASK_LPORT_TAG
630 matchField = MatchFieldType.metadata
634 tableId = 40 as short
640 static def fixedIngressFlowsPort2() {
642 new FlowEntity(123bi) => [
644 flowId = "Ingress_DHCP_Server_v4123_987__Permit_"
646 instructionInfoList = #[
647 new InstructionInfo(InstructionType.apply_actions, #[
648 new ActionNxResubmit(220 as short)
652 new MatchInfoBuilder >> [
653 matchField = MatchFieldType.eth_type
658 new MatchInfoBuilder >> [
659 matchField = MatchFieldType.ip_proto
664 new MatchInfoBuilder >> [
665 matchField = MatchFieldType.udp_dst
670 new MatchInfoBuilder >> [
671 matchField = MatchFieldType.udp_src
676 new MatchInfoBuilder >> [
679 MetaDataUtil.METADATA_MASK_LPORT_TAG
681 matchField = MatchFieldType.metadata
685 tableId = 251 as short
687 new FlowEntity(123bi) => [
689 flowId = "Ingress_DHCP_Server_v6_123_987___Permit_"
691 instructionInfoList = #[
692 new InstructionInfo(InstructionType.apply_actions, #[
693 new ActionNxResubmit(220 as short)
697 new MatchInfoBuilder >> [
698 matchField = MatchFieldType.eth_type
703 new MatchInfoBuilder >> [
704 matchField = MatchFieldType.ip_proto
709 new MatchInfoBuilder >> [
710 matchField = MatchFieldType.udp_dst
715 new MatchInfoBuilder >> [
716 matchField = MatchFieldType.udp_src
721 new MatchInfoBuilder >> [
724 MetaDataUtil.METADATA_MASK_LPORT_TAG
726 matchField = MatchFieldType.metadata
730 tableId = 251 as short
732 new FlowEntity(123bi) => [
734 flowId = "Ingress_ICMPv6_123_987_130_Permit_"
736 instructionInfoList = #[
737 new InstructionInfo(InstructionType.apply_actions, #[
738 new ActionNxResubmit(220 as short)
742 new MatchInfoBuilder >> [
743 matchField = MatchFieldType.eth_type
748 new MatchInfoBuilder >> [
749 matchField = MatchFieldType.ip_proto
754 new MatchInfoBuilder >> [
755 matchField = MatchFieldType.icmp_v6
761 new MatchInfoBuilder >> [
764 MetaDataUtil.METADATA_MASK_LPORT_TAG
766 matchField = MatchFieldType.metadata
770 tableId = 251 as short
772 new FlowEntity(123bi) => [
774 flowId = "Ingress_ICMPv6_123_987_135_Permit_"
776 instructionInfoList = #[
777 new InstructionInfo(InstructionType.apply_actions, #[
778 new ActionNxResubmit(220 as short)
782 new MatchInfoBuilder >> [
783 matchField = MatchFieldType.eth_type
788 new MatchInfoBuilder >> [
789 matchField = MatchFieldType.ip_proto
794 new MatchInfoBuilder >> [
795 matchField = MatchFieldType.icmp_v6
801 new MatchInfoBuilder >> [
804 MetaDataUtil.METADATA_MASK_LPORT_TAG
806 matchField = MatchFieldType.metadata
810 tableId = 251 as short
812 new FlowEntity(123bi) => [
814 flowId = "Ingress_ICMPv6_123_987_136_Permit_"
816 instructionInfoList = #[
817 new InstructionInfo(InstructionType.apply_actions, #[
818 new ActionNxResubmit(220 as short)
822 new MatchInfoBuilder >> [
823 matchField = MatchFieldType.eth_type
828 new MatchInfoBuilder >> [
829 matchField = MatchFieldType.ip_proto
834 new MatchInfoBuilder >> [
835 matchField = MatchFieldType.icmp_v6
841 new MatchInfoBuilder >> [
844 MetaDataUtil.METADATA_MASK_LPORT_TAG
846 matchField = MatchFieldType.metadata
850 tableId = 251 as short
852 new FlowEntity(123bi) => [
854 flowId = "Ingress_ARP_123_987"
856 instructionInfoList = #[
857 new InstructionInfo(InstructionType.apply_actions, #[
858 new ActionNxResubmit(220 as short)
862 new MatchInfoBuilder >> [
863 matchField = MatchFieldType.eth_type
868 new MatchInfoBuilder >> [
871 MetaDataUtil.METADATA_MASK_LPORT_TAG
873 matchField = MatchFieldType.metadata
877 tableId = 251 as short
882 static def fixedEgrssFlowsPort2 () {
884 new FlowEntity(123bi) => [
886 flowId = "Egress_DHCP_Client_v4123_987__Permit_"
888 instructionInfoList = #[
889 new InstructionInfo(InstructionType.apply_actions, #[
890 new ActionNxResubmit(17 as short)
894 new MatchInfoBuilder >> [
895 matchField = MatchFieldType.eth_type
900 new MatchInfoBuilder >> [
901 matchField = MatchFieldType.ip_proto
906 new MatchInfoBuilder >> [
907 matchField = MatchFieldType.udp_dst
912 new MatchInfoBuilder >> [
913 matchField = MatchFieldType.udp_src
918 new MatchInfoBuilder >> [
921 MetaDataUtil.METADATA_MASK_LPORT_TAG
923 matchField = MatchFieldType.metadata
927 tableId = 40 as short
929 new FlowEntity(123bi) => [
931 flowId = "Egress_DHCP_Client_v6_123_987__Permit_"
933 instructionInfoList = #[
934 new InstructionInfo(InstructionType.apply_actions, #[
935 new ActionNxResubmit(17 as short)
939 new MatchInfoBuilder >> [
940 matchField = MatchFieldType.eth_type
945 new MatchInfoBuilder >> [
946 matchField = MatchFieldType.ip_proto
951 new MatchInfoBuilder >> [
952 matchField = MatchFieldType.udp_dst
957 new MatchInfoBuilder >> [
958 matchField = MatchFieldType.udp_src
963 new MatchInfoBuilder >> [
966 MetaDataUtil.METADATA_MASK_LPORT_TAG
968 matchField = MatchFieldType.metadata
972 tableId = 40 as short
974 new FlowEntity(123bi) => [
976 flowId = "Egress_DHCP_Server_v4123_987__Drop_"
978 instructionInfoList = #[
981 new MatchInfoBuilder >> [
982 matchField = MatchFieldType.eth_type
987 new MatchInfoBuilder >> [
988 matchField = MatchFieldType.ip_proto
993 new MatchInfoBuilder >> [
994 matchField = MatchFieldType.udp_dst
999 new MatchInfoBuilder >> [
1000 matchField = MatchFieldType.udp_src
1005 new MatchInfoBuilder >> [
1008 MetaDataUtil.METADATA_MASK_LPORT_TAG
1010 matchField = MatchFieldType.metadata
1014 tableId = 40 as short
1016 new FlowEntity(123bi) => [
1017 cookie = 110100480bi
1018 flowId = "Egress_DHCP_Server_v6_123_987__Drop_"
1020 instructionInfoList = #[
1023 new MatchInfoBuilder >> [
1024 matchField = MatchFieldType.eth_type
1029 new MatchInfoBuilder >> [
1030 matchField = MatchFieldType.ip_proto
1035 new MatchInfoBuilder >> [
1036 matchField = MatchFieldType.udp_dst
1041 new MatchInfoBuilder >> [
1042 matchField = MatchFieldType.udp_src
1047 new MatchInfoBuilder >> [
1050 MetaDataUtil.METADATA_MASK_LPORT_TAG
1052 matchField = MatchFieldType.metadata
1056 tableId = 40 as short
1058 new FlowEntity(123bi) => [
1059 cookie = 110100480bi
1060 flowId = "Egress_ICMPv6_123_987_134_Drop_"
1062 instructionInfoList = #[
1065 new MatchInfoBuilder >> [
1066 matchField = MatchFieldType.eth_type
1071 new MatchInfoBuilder >> [
1072 matchField = MatchFieldType.ip_proto
1077 new MatchInfoBuilder >> [
1078 matchField = MatchFieldType.icmp_v6
1084 new MatchInfoBuilder >> [
1087 MetaDataUtil.METADATA_MASK_LPORT_TAG
1089 matchField = MatchFieldType.metadata
1093 tableId = 40 as short
1095 new FlowEntity(123bi) => [
1096 cookie = 110100480bi
1097 flowId = "Egress_ICMPv6_123_987_133_Permit_"
1099 instructionInfoList = #[
1100 new InstructionInfo(InstructionType.apply_actions, #[
1101 new ActionNxResubmit(17 as short)
1105 new MatchInfoBuilder >> [
1106 matchField = MatchFieldType.eth_type
1111 new MatchInfoBuilder >> [
1112 matchField = MatchFieldType.ip_proto
1117 new MatchInfoBuilder >> [
1118 matchField = MatchFieldType.icmp_v6
1124 new MatchInfoBuilder >> [
1127 MetaDataUtil.METADATA_MASK_LPORT_TAG
1129 matchField = MatchFieldType.metadata
1133 tableId = 40 as short
1135 new FlowEntity(123bi) => [
1136 cookie = 110100480bi
1137 flowId = "Egress_ICMPv6_123_987_135_Permit_"
1139 instructionInfoList = #[
1140 new InstructionInfo(InstructionType.apply_actions, #[
1141 new ActionNxResubmit(17 as short)
1145 new MatchInfoBuilder >> [
1146 matchField = MatchFieldType.eth_type
1151 new MatchInfoBuilder >> [
1152 matchField = MatchFieldType.ip_proto
1157 new MatchInfoBuilder >> [
1158 matchField = MatchFieldType.icmp_v6
1164 new MatchInfoBuilder >> [
1167 MetaDataUtil.METADATA_MASK_LPORT_TAG
1169 matchField = MatchFieldType.metadata
1173 tableId = 40 as short
1175 new FlowEntity(123bi) => [
1176 cookie = 110100480bi
1177 flowId = "Egress_ICMPv6_123_987_136_Permit_"
1179 instructionInfoList = #[
1180 new InstructionInfo(InstructionType.apply_actions, #[
1181 new ActionNxResubmit(17 as short)
1185 new MatchInfoBuilder >> [
1186 matchField = MatchFieldType.eth_type
1191 new MatchInfoBuilder >> [
1192 matchField = MatchFieldType.ip_proto
1197 new MatchInfoBuilder >> [
1198 matchField = MatchFieldType.icmp_v6
1204 new MatchInfoBuilder >> [
1207 MetaDataUtil.METADATA_MASK_LPORT_TAG
1209 matchField = MatchFieldType.metadata
1213 tableId = 40 as short
1215 new FlowEntity(123bi) => [
1216 cookie = 110100480bi
1217 flowId = "Egress_ARP_123_0D:AA:D8:42:30:F4"
1219 instructionInfoList = #[
1220 new InstructionInfo(InstructionType.apply_actions, #[
1221 new ActionNxResubmit(17 as short)
1225 new MatchInfoBuilder >> [
1226 matchField = MatchFieldType.eth_type
1231 new MatchInfoBuilder >> [
1232 matchField = MatchFieldType.arp_sha
1233 stringMatchValues = #[
1237 new MatchInfoBuilder >> [
1240 MetaDataUtil.METADATA_MASK_LPORT_TAG
1242 matchField = MatchFieldType.metadata
1246 tableId = 40 as short
1252 static def fixedIngressFlowsPort3() {
1254 new FlowEntity(123bi) => [
1255 cookie = 110100480bi
1256 flowId = "Ingress_DHCP_Server_v4123_987__Permit_"
1258 instructionInfoList = #[
1259 new InstructionInfo(InstructionType.apply_actions, #[
1260 new ActionNxResubmit(220 as short)
1264 new MatchInfoBuilder >> [
1265 matchField = MatchFieldType.eth_type
1270 new MatchInfoBuilder >> [
1271 matchField = MatchFieldType.ip_proto
1276 new MatchInfoBuilder >> [
1277 matchField = MatchFieldType.udp_dst
1282 new MatchInfoBuilder >> [
1283 matchField = MatchFieldType.udp_src
1288 new MatchInfoBuilder >> [
1291 MetaDataUtil.METADATA_MASK_LPORT_TAG
1293 matchField = MatchFieldType.metadata
1297 tableId = 251 as short
1299 new FlowEntity(123bi) => [
1300 cookie = 110100480bi
1301 flowId = "Ingress_DHCP_Server_v6_123_987___Permit_"
1303 instructionInfoList = #[
1304 new InstructionInfo(InstructionType.apply_actions, #[
1305 new ActionNxResubmit(220 as short)
1309 new MatchInfoBuilder >> [
1310 matchField = MatchFieldType.eth_type
1315 new MatchInfoBuilder >> [
1316 matchField = MatchFieldType.ip_proto
1321 new MatchInfoBuilder >> [
1322 matchField = MatchFieldType.udp_dst
1327 new MatchInfoBuilder >> [
1328 matchField = MatchFieldType.udp_src
1333 new MatchInfoBuilder >> [
1336 MetaDataUtil.METADATA_MASK_LPORT_TAG
1338 matchField = MatchFieldType.metadata
1342 tableId = 251 as short
1344 new FlowEntity(123bi) => [
1345 cookie = 110100480bi
1346 flowId = "Ingress_ICMPv6_123_987_130_Permit_"
1348 instructionInfoList = #[
1349 new InstructionInfo(InstructionType.apply_actions, #[
1350 new ActionNxResubmit(220 as short)
1354 new MatchInfoBuilder >> [
1355 matchField = MatchFieldType.eth_type
1360 new MatchInfoBuilder >> [
1361 matchField = MatchFieldType.ip_proto
1366 new MatchInfoBuilder >> [
1367 matchField = MatchFieldType.icmp_v6
1373 new MatchInfoBuilder >> [
1376 MetaDataUtil.METADATA_MASK_LPORT_TAG
1378 matchField = MatchFieldType.metadata
1382 tableId = 251 as short
1384 new FlowEntity(123bi) => [
1385 cookie = 110100480bi
1386 flowId = "Ingress_ICMPv6_123_987_135_Permit_"
1388 instructionInfoList = #[
1389 new InstructionInfo(InstructionType.apply_actions, #[
1390 new ActionNxResubmit(220 as short)
1394 new MatchInfoBuilder >> [
1395 matchField = MatchFieldType.eth_type
1400 new MatchInfoBuilder >> [
1401 matchField = MatchFieldType.ip_proto
1406 new MatchInfoBuilder >> [
1407 matchField = MatchFieldType.icmp_v6
1413 new MatchInfoBuilder >> [
1416 MetaDataUtil.METADATA_MASK_LPORT_TAG
1418 matchField = MatchFieldType.metadata
1422 tableId = 251 as short
1424 new FlowEntity(123bi) => [
1425 cookie = 110100480bi
1426 flowId = "Ingress_ICMPv6_123_987_136_Permit_"
1428 instructionInfoList = #[
1429 new InstructionInfo(InstructionType.apply_actions, #[
1430 new ActionNxResubmit(220 as short)
1434 new MatchInfoBuilder >> [
1435 matchField = MatchFieldType.eth_type
1440 new MatchInfoBuilder >> [
1441 matchField = MatchFieldType.ip_proto
1446 new MatchInfoBuilder >> [
1447 matchField = MatchFieldType.icmp_v6
1453 new MatchInfoBuilder >> [
1456 MetaDataUtil.METADATA_MASK_LPORT_TAG
1458 matchField = MatchFieldType.metadata
1462 tableId = 251 as short
1464 new FlowEntity(123bi) => [
1465 cookie = 110100480bi
1466 flowId = "Ingress_ARP_123_987"
1468 instructionInfoList = #[
1469 new InstructionInfo(InstructionType.apply_actions, #[
1470 new ActionNxResubmit(220 as short)
1474 new MatchInfoBuilder >> [
1475 matchField = MatchFieldType.eth_type
1480 new MatchInfoBuilder >> [
1483 MetaDataUtil.METADATA_MASK_LPORT_TAG
1485 matchField = MatchFieldType.metadata
1489 tableId = 251 as short
1494 static def fixedEgressFlowsPort3 () {
1496 new FlowEntity(123bi) => [
1497 cookie = 110100480bi
1498 flowId = "Egress_DHCP_Client_v4123_987__Permit_"
1500 instructionInfoList = #[
1501 new InstructionInfo(InstructionType.apply_actions, #[
1502 new ActionNxResubmit(17 as short)
1506 new MatchInfoBuilder >> [
1507 matchField = MatchFieldType.eth_type
1512 new MatchInfoBuilder >> [
1513 matchField = MatchFieldType.ip_proto
1518 new MatchInfoBuilder >> [
1519 matchField = MatchFieldType.udp_dst
1524 new MatchInfoBuilder >> [
1525 matchField = MatchFieldType.udp_src
1530 new MatchInfoBuilder >> [
1533 MetaDataUtil.METADATA_MASK_LPORT_TAG
1535 matchField = MatchFieldType.metadata
1539 tableId = 40 as short
1541 new FlowEntity(123bi) => [
1542 cookie = 110100480bi
1543 flowId = "Egress_DHCP_Client_v6_123_987__Permit_"
1545 instructionInfoList = #[
1546 new InstructionInfo(InstructionType.apply_actions, #[
1547 new ActionNxResubmit(17 as short)
1551 new MatchInfoBuilder >> [
1552 matchField = MatchFieldType.eth_type
1557 new MatchInfoBuilder >> [
1558 matchField = MatchFieldType.ip_proto
1563 new MatchInfoBuilder >> [
1564 matchField = MatchFieldType.udp_dst
1569 new MatchInfoBuilder >> [
1570 matchField = MatchFieldType.udp_src
1575 new MatchInfoBuilder >> [
1578 MetaDataUtil.METADATA_MASK_LPORT_TAG
1580 matchField = MatchFieldType.metadata
1584 tableId = 40 as short
1586 new FlowEntity(123bi) => [
1587 cookie = 110100480bi
1588 flowId = "Egress_DHCP_Server_v4123_987__Drop_"
1590 instructionInfoList = #[
1593 new MatchInfoBuilder >> [
1594 matchField = MatchFieldType.eth_type
1599 new MatchInfoBuilder >> [
1600 matchField = MatchFieldType.ip_proto
1605 new MatchInfoBuilder >> [
1606 matchField = MatchFieldType.udp_dst
1611 new MatchInfoBuilder >> [
1612 matchField = MatchFieldType.udp_src
1617 new MatchInfoBuilder >> [
1620 MetaDataUtil.METADATA_MASK_LPORT_TAG
1622 matchField = MatchFieldType.metadata
1626 tableId = 40 as short
1628 new FlowEntity(123bi) => [
1629 cookie = 110100480bi
1630 flowId = "Egress_DHCP_Server_v6_123_987__Drop_"
1632 instructionInfoList = #[
1635 new MatchInfoBuilder >> [
1636 matchField = MatchFieldType.eth_type
1641 new MatchInfoBuilder >> [
1642 matchField = MatchFieldType.ip_proto
1647 new MatchInfoBuilder >> [
1648 matchField = MatchFieldType.udp_dst
1653 new MatchInfoBuilder >> [
1654 matchField = MatchFieldType.udp_src
1659 new MatchInfoBuilder >> [
1662 MetaDataUtil.METADATA_MASK_LPORT_TAG
1664 matchField = MatchFieldType.metadata
1668 tableId = 40 as short
1670 new FlowEntity(123bi) => [
1671 cookie = 110100480bi
1672 flowId = "Egress_ICMPv6_123_987_134_Drop_"
1674 instructionInfoList = #[
1677 new MatchInfoBuilder >> [
1678 matchField = MatchFieldType.eth_type
1683 new MatchInfoBuilder >> [
1684 matchField = MatchFieldType.ip_proto
1689 new MatchInfoBuilder >> [
1690 matchField = MatchFieldType.icmp_v6
1696 new MatchInfoBuilder >> [
1699 MetaDataUtil.METADATA_MASK_LPORT_TAG
1701 matchField = MatchFieldType.metadata
1705 tableId = 40 as short
1707 new FlowEntity(123bi) => [
1708 cookie = 110100480bi
1709 flowId = "Egress_ICMPv6_123_987_133_Permit_"
1711 instructionInfoList = #[
1712 new InstructionInfo(InstructionType.apply_actions, #[
1713 new ActionNxResubmit(17 as short)
1717 new MatchInfoBuilder >> [
1718 matchField = MatchFieldType.eth_type
1723 new MatchInfoBuilder >> [
1724 matchField = MatchFieldType.ip_proto
1729 new MatchInfoBuilder >> [
1730 matchField = MatchFieldType.icmp_v6
1736 new MatchInfoBuilder >> [
1739 MetaDataUtil.METADATA_MASK_LPORT_TAG
1741 matchField = MatchFieldType.metadata
1745 tableId = 40 as short
1747 new FlowEntity(123bi) => [
1748 cookie = 110100480bi
1749 flowId = "Egress_ICMPv6_123_987_135_Permit_"
1751 instructionInfoList = #[
1752 new InstructionInfo(InstructionType.apply_actions, #[
1753 new ActionNxResubmit(17 as short)
1757 new MatchInfoBuilder >> [
1758 matchField = MatchFieldType.eth_type
1763 new MatchInfoBuilder >> [
1764 matchField = MatchFieldType.ip_proto
1769 new MatchInfoBuilder >> [
1770 matchField = MatchFieldType.icmp_v6
1776 new MatchInfoBuilder >> [
1779 MetaDataUtil.METADATA_MASK_LPORT_TAG
1781 matchField = MatchFieldType.metadata
1785 tableId = 40 as short
1787 new FlowEntity(123bi) => [
1788 cookie = 110100480bi
1789 flowId = "Egress_ICMPv6_123_987_136_Permit_"
1791 instructionInfoList = #[
1792 new InstructionInfo(InstructionType.apply_actions, #[
1793 new ActionNxResubmit(17 as short)
1797 new MatchInfoBuilder >> [
1798 matchField = MatchFieldType.eth_type
1803 new MatchInfoBuilder >> [
1804 matchField = MatchFieldType.ip_proto
1809 new MatchInfoBuilder >> [
1810 matchField = MatchFieldType.icmp_v6
1816 new MatchInfoBuilder >> [
1819 MetaDataUtil.METADATA_MASK_LPORT_TAG
1821 matchField = MatchFieldType.metadata
1825 tableId = 40 as short
1827 new FlowEntity(123bi) => [
1828 cookie = 110100480bi
1829 flowId = "Egress_ARP_123_0D:AA:D8:42:30:F5"
1831 instructionInfoList = #[
1832 new InstructionInfo(InstructionType.apply_actions, #[
1833 new ActionNxResubmit(17 as short)
1837 new MatchInfoBuilder >> [
1838 matchField = MatchFieldType.eth_type
1843 new MatchInfoBuilder >> [
1844 matchField = MatchFieldType.arp_sha
1845 stringMatchValues = #[
1849 new MatchInfoBuilder >> [
1852 MetaDataUtil.METADATA_MASK_LPORT_TAG
1854 matchField = MatchFieldType.metadata
1858 tableId = 40 as short
1863 static def expectedFlows(String mac) {
1864 // Code auto. generated by https://github.com/vorburger/xtendbeans
1866 new FlowEntity(123bi) => [
1867 cookie = 110100480bi
1868 flowId = "Ingress_DHCP_Server_v4123_987__Permit_"
1870 instructionInfoList = #[
1871 new InstructionInfo(InstructionType.apply_actions, #[
1872 new ActionNxResubmit(220 as short)
1876 new MatchInfoBuilder >> [
1877 matchField = MatchFieldType.eth_type
1882 new MatchInfoBuilder >> [
1883 matchField = MatchFieldType.ip_proto
1888 new MatchInfoBuilder >> [
1889 matchField = MatchFieldType.udp_dst
1894 new MatchInfoBuilder >> [
1895 matchField = MatchFieldType.udp_src
1900 new MatchInfoBuilder >> [
1903 MetaDataUtil.METADATA_MASK_LPORT_TAG
1905 matchField = MatchFieldType.metadata
1909 tableId = 251 as short
1911 new FlowEntity(123bi) => [
1912 cookie = 110100480bi
1913 flowId = "Ingress_DHCP_Server_v6_123_987___Permit_"
1915 instructionInfoList = #[
1916 new InstructionInfo(InstructionType.apply_actions, #[
1917 new ActionNxResubmit(220 as short)
1921 new MatchInfoBuilder >> [
1922 matchField = MatchFieldType.eth_type
1927 new MatchInfoBuilder >> [
1928 matchField = MatchFieldType.ip_proto
1933 new MatchInfoBuilder >> [
1934 matchField = MatchFieldType.udp_dst
1939 new MatchInfoBuilder >> [
1940 matchField = MatchFieldType.udp_src
1945 new MatchInfoBuilder >> [
1948 MetaDataUtil.METADATA_MASK_LPORT_TAG
1950 matchField = MatchFieldType.metadata
1954 tableId = 251 as short
1956 new FlowEntity(123bi) => [
1957 cookie = 110100480bi
1958 flowId = "Ingress_ICMPv6_123_987_130_Permit_"
1960 instructionInfoList = #[
1961 new InstructionInfo(InstructionType.apply_actions, #[
1962 new ActionNxResubmit(220 as short)
1966 new MatchInfoBuilder >> [
1967 matchField = MatchFieldType.eth_type
1972 new MatchInfoBuilder >> [
1973 matchField = MatchFieldType.ip_proto
1978 new MatchInfoBuilder >> [
1979 matchField = MatchFieldType.icmp_v6
1985 new MatchInfoBuilder >> [
1988 MetaDataUtil.METADATA_MASK_LPORT_TAG
1990 matchField = MatchFieldType.metadata
1994 tableId = 251 as short
1996 new FlowEntity(123bi) => [
1997 cookie = 110100480bi
1998 flowId = "Ingress_ICMPv6_123_987_135_Permit_"
2000 instructionInfoList = #[
2001 new InstructionInfo(InstructionType.apply_actions, #[
2002 new ActionNxResubmit(220 as short)
2006 new MatchInfoBuilder >> [
2007 matchField = MatchFieldType.eth_type
2012 new MatchInfoBuilder >> [
2013 matchField = MatchFieldType.ip_proto
2018 new MatchInfoBuilder >> [
2019 matchField = MatchFieldType.icmp_v6
2025 new MatchInfoBuilder >> [
2028 MetaDataUtil.METADATA_MASK_LPORT_TAG
2030 matchField = MatchFieldType.metadata
2034 tableId = 251 as short
2036 new FlowEntity(123bi) => [
2037 cookie = 110100480bi
2038 flowId = "Ingress_ICMPv6_123_987_136_Permit_"
2040 instructionInfoList = #[
2041 new InstructionInfo(InstructionType.apply_actions, #[
2042 new ActionNxResubmit(220 as short)
2046 new MatchInfoBuilder >> [
2047 matchField = MatchFieldType.eth_type
2052 new MatchInfoBuilder >> [
2053 matchField = MatchFieldType.ip_proto
2058 new MatchInfoBuilder >> [
2059 matchField = MatchFieldType.icmp_v6
2065 new MatchInfoBuilder >> [
2068 MetaDataUtil.METADATA_MASK_LPORT_TAG
2070 matchField = MatchFieldType.metadata
2074 tableId = 251 as short
2076 new FlowEntity(123bi) => [
2077 cookie = 110100480bi
2078 flowId = "Ingress_ARP_123_987"
2080 instructionInfoList = #[
2081 new InstructionInfo(InstructionType.apply_actions, #[
2082 new ActionNxResubmit(220 as short)
2086 new MatchInfoBuilder >> [
2087 matchField = MatchFieldType.eth_type
2092 new MatchInfoBuilder >> [
2095 MetaDataUtil.METADATA_MASK_LPORT_TAG
2097 matchField = MatchFieldType.metadata
2101 tableId = 251 as short
2103 new FlowEntity(123bi) => [
2104 cookie = 110100480bi
2105 flowId = "Egress_DHCP_Client_v4123_987__Permit_"
2107 instructionInfoList = #[
2108 new InstructionInfo(InstructionType.apply_actions, #[
2109 new ActionNxResubmit(17 as short)
2113 new MatchInfoBuilder >> [
2114 matchField = MatchFieldType.eth_type
2119 new MatchInfoBuilder >> [
2120 matchField = MatchFieldType.ip_proto
2125 new MatchInfoBuilder >> [
2126 matchField = MatchFieldType.udp_dst
2131 new MatchInfoBuilder >> [
2132 matchField = MatchFieldType.udp_src
2137 new MatchInfoBuilder >> [
2140 MetaDataUtil.METADATA_MASK_LPORT_TAG
2142 matchField = MatchFieldType.metadata
2146 tableId = 40 as short
2148 new FlowEntity(123bi) => [
2149 cookie = 110100480bi
2150 flowId = "Egress_DHCP_Client_v6_123_987__Permit_"
2152 instructionInfoList = #[
2153 new InstructionInfo(InstructionType.apply_actions, #[
2154 new ActionNxResubmit(17 as short)
2158 new MatchInfoBuilder >> [
2159 matchField = MatchFieldType.eth_type
2164 new MatchInfoBuilder >> [
2165 matchField = MatchFieldType.ip_proto
2170 new MatchInfoBuilder >> [
2171 matchField = MatchFieldType.udp_dst
2176 new MatchInfoBuilder >> [
2177 matchField = MatchFieldType.udp_src
2182 new MatchInfoBuilder >> [
2185 MetaDataUtil.METADATA_MASK_LPORT_TAG
2187 matchField = MatchFieldType.metadata
2191 tableId = 40 as short
2193 new FlowEntity(123bi) => [
2194 cookie = 110100480bi
2195 flowId = "Egress_DHCP_Server_v4123_987__Drop_"
2197 instructionInfoList = #[
2200 new MatchInfoBuilder >> [
2201 matchField = MatchFieldType.eth_type
2206 new MatchInfoBuilder >> [
2207 matchField = MatchFieldType.ip_proto
2212 new MatchInfoBuilder >> [
2213 matchField = MatchFieldType.udp_dst
2218 new MatchInfoBuilder >> [
2219 matchField = MatchFieldType.udp_src
2224 new MatchInfoBuilder >> [
2227 MetaDataUtil.METADATA_MASK_LPORT_TAG
2229 matchField = MatchFieldType.metadata
2233 tableId = 40 as short
2235 new FlowEntity(123bi) => [
2236 cookie = 110100480bi
2237 flowId = "Egress_DHCP_Server_v6_123_987__Drop_"
2239 instructionInfoList = #[
2242 new MatchInfoBuilder >> [
2243 matchField = MatchFieldType.eth_type
2248 new MatchInfoBuilder >> [
2249 matchField = MatchFieldType.ip_proto
2254 new MatchInfoBuilder >> [
2255 matchField = MatchFieldType.udp_dst
2260 new MatchInfoBuilder >> [
2261 matchField = MatchFieldType.udp_src
2266 new MatchInfoBuilder >> [
2269 MetaDataUtil.METADATA_MASK_LPORT_TAG
2271 matchField = MatchFieldType.metadata
2275 tableId = 40 as short
2277 new FlowEntity(123bi) => [
2278 cookie = 110100480bi
2279 flowId = "Egress_ICMPv6_123_987_134_Drop_"
2281 instructionInfoList = #[
2284 new MatchInfoBuilder >> [
2285 matchField = MatchFieldType.eth_type
2290 new MatchInfoBuilder >> [
2291 matchField = MatchFieldType.ip_proto
2296 new MatchInfoBuilder >> [
2297 matchField = MatchFieldType.icmp_v6
2303 new MatchInfoBuilder >> [
2306 MetaDataUtil.METADATA_MASK_LPORT_TAG
2308 matchField = MatchFieldType.metadata
2312 tableId = 40 as short
2314 new FlowEntity(123bi) => [
2315 cookie = 110100480bi
2316 flowId = "Egress_ICMPv6_123_987_133_Permit_"
2318 instructionInfoList = #[
2319 new InstructionInfo(InstructionType.apply_actions, #[
2320 new ActionNxResubmit(17 as short)
2324 new MatchInfoBuilder >> [
2325 matchField = MatchFieldType.eth_type
2330 new MatchInfoBuilder >> [
2331 matchField = MatchFieldType.ip_proto
2336 new MatchInfoBuilder >> [
2337 matchField = MatchFieldType.icmp_v6
2343 new MatchInfoBuilder >> [
2346 MetaDataUtil.METADATA_MASK_LPORT_TAG
2348 matchField = MatchFieldType.metadata
2352 tableId = 40 as short
2354 new FlowEntity(123bi) => [
2355 cookie = 110100480bi
2356 flowId = "Egress_ICMPv6_123_987_135_Permit_"
2358 instructionInfoList = #[
2359 new InstructionInfo(InstructionType.apply_actions, #[
2360 new ActionNxResubmit(17 as short)
2364 new MatchInfoBuilder >> [
2365 matchField = MatchFieldType.eth_type
2370 new MatchInfoBuilder >> [
2371 matchField = MatchFieldType.ip_proto
2376 new MatchInfoBuilder >> [
2377 matchField = MatchFieldType.icmp_v6
2383 new MatchInfoBuilder >> [
2386 MetaDataUtil.METADATA_MASK_LPORT_TAG
2388 matchField = MatchFieldType.metadata
2392 tableId = 40 as short
2394 new FlowEntity(123bi) => [
2395 cookie = 110100480bi
2396 flowId = "Egress_ICMPv6_123_987_136_Permit_"
2398 instructionInfoList = #[
2399 new InstructionInfo(InstructionType.apply_actions, #[
2400 new ActionNxResubmit(17 as short)
2404 new MatchInfoBuilder >> [
2405 matchField = MatchFieldType.eth_type
2410 new MatchInfoBuilder >> [
2411 matchField = MatchFieldType.ip_proto
2416 new MatchInfoBuilder >> [
2417 matchField = MatchFieldType.icmp_v6
2423 new MatchInfoBuilder >> [
2426 MetaDataUtil.METADATA_MASK_LPORT_TAG
2428 matchField = MatchFieldType.metadata
2432 tableId = 40 as short