Update egress ACL service to match on lport-tag reg6 mask
[netvirt.git] / vpnservice / aclservice / impl / src / test / java / org / opendaylight / netvirt / aclservice / tests / FlowEntryObjectsBase.xtend
1 /*
2  * Copyright (c) 2016 Red Hat, Inc. and others. All rights reserved.
3  *
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
7  */
8 package org.opendaylight.netvirt.aclservice.tests
9
10 import org.opendaylight.genius.mdsalutil.actions.ActionNxResubmit
11 import org.opendaylight.genius.mdsalutil.FlowEntity
12 import org.opendaylight.genius.mdsalutil.instructions.InstructionApplyActions
13 import org.opendaylight.genius.mdsalutil.matches.MatchArpSha
14 import org.opendaylight.genius.mdsalutil.matches.MatchEthernetType
15 import org.opendaylight.genius.mdsalutil.matches.MatchIcmpv6
16 import org.opendaylight.genius.mdsalutil.matches.MatchIpProtocol
17 import org.opendaylight.genius.mdsalutil.matches.MatchUdpDestinationPort
18 import org.opendaylight.genius.mdsalutil.matches.MatchUdpSourcePort
19 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress
20 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchRegister
21 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg6
22 import org.opendaylight.genius.mdsalutil.MetaDataUtil
23 import org.opendaylight.genius.mdsalutil.matches.MatchMetadata
24
25 class FlowEntryObjectsBase {
26
27     protected def fixedFlowsPort1() {
28         #[ fixedIngressFlowsPort1, fixedEgressFlowsPort1 ]
29     }
30
31     protected def fixedIngressFlowsPort1() {
32         #[
33             new FlowEntity(123bi) => [
34                 cookie = 110100480bi
35                 flowId = "Ingress_DHCP_Server_v4123_987__Permit_"
36             flowName = "ACL"
37             instructionInfoList = #[
38                 new InstructionApplyActions(#[
39                     new ActionNxResubmit(220 as short)
40                     ])
41                 ]
42                 matchInfoList = #[
43                     new MatchEthernetType(2048L),
44                     new MatchIpProtocol(17 as short),
45                     new MatchUdpDestinationPort(68),
46                     new MatchUdpSourcePort(67),
47                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
48                 ]
49                 priority = 63010
50                 tableId = 241 as short
51             ],
52             new FlowEntity(123bi) => [
53                 cookie = 110100480bi
54                 flowId = "Ingress_DHCP_Server_v6_123_987___Permit_"
55             flowName = "ACL"
56             instructionInfoList = #[
57                 new InstructionApplyActions(#[
58                     new ActionNxResubmit(220 as short)
59                     ])
60                 ]
61                 matchInfoList = #[
62                     new MatchEthernetType(34525L),
63                     new MatchIpProtocol(17 as short),
64                     new MatchUdpDestinationPort(546),
65                     new MatchUdpSourcePort(547),
66                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
67                 ]
68                 priority = 63010
69                 tableId = 241 as short
70             ],
71             new FlowEntity(123bi) => [
72                 cookie = 110100480bi
73                 flowId = "Ingress_ICMPv6_123_987_130_Permit_"
74             flowName = "ACL"
75             instructionInfoList = #[
76                 new InstructionApplyActions(#[
77                     new ActionNxResubmit(220 as short)
78                     ])
79                 ]
80                 matchInfoList = #[
81                     new MatchEthernetType(34525L),
82                     new MatchIpProtocol(58 as short),
83                     new MatchIcmpv6(130 as short, 0 as short),
84                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
85                 ]
86                 priority = 63010
87                 tableId = 241 as short
88             ],
89             new FlowEntity(123bi) => [
90                 cookie = 110100480bi
91                 flowId = "Ingress_ICMPv6_123_987_135_Permit_"
92             flowName = "ACL"
93             instructionInfoList = #[
94                 new InstructionApplyActions(#[
95                     new ActionNxResubmit(220 as short)
96                     ])
97                 ]
98                 matchInfoList = #[
99                     new MatchEthernetType(34525L),
100                     new MatchIpProtocol(58 as short),
101                     new MatchIcmpv6(135 as short, 0 as short),
102                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
103                 ]
104                 priority = 63010
105                 tableId = 241 as short
106             ],
107             new FlowEntity(123bi) => [
108                 cookie = 110100480bi
109                 flowId = "Ingress_ICMPv6_123_987_136_Permit_"
110             flowName = "ACL"
111             instructionInfoList = #[
112                 new InstructionApplyActions(#[
113                     new ActionNxResubmit(220 as short)
114                     ])
115                 ]
116                 matchInfoList = #[
117                     new MatchEthernetType(34525L),
118                     new MatchIpProtocol(58 as short),
119                     new MatchIcmpv6(136 as short, 0 as short),
120                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
121                 ]
122                 priority = 63010
123                 tableId = 241 as short
124             ],
125             new FlowEntity(123bi) => [
126                 cookie = 110100480bi
127                 flowId = "Ingress_ARP_123_987"
128             flowName = "ACL"
129             instructionInfoList = #[
130                 new InstructionApplyActions(#[
131                     new ActionNxResubmit(220 as short)
132                     ])
133                 ]
134                 matchInfoList = #[
135                     new MatchEthernetType(2054L),
136                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
137                 ]
138                 priority = 63010
139                 tableId = 241 as short
140             ]
141
142             ]
143     }
144
145      protected def fixedEgressFlowsPort1() {
146         #[
147
148             new FlowEntity(123bi) => [
149                 cookie = 110100480bi
150                 flowId = "Egress_DHCP_Client_v4123_987__Permit_"
151                 flowName = "ACL"
152                 instructionInfoList = #[
153                     new InstructionApplyActions(#[
154                         new ActionNxResubmit(17 as short)
155                     ])
156                 ]
157                 matchInfoList = #[
158                     new MatchEthernetType(2048L),
159                     new MatchIpProtocol(17 as short),
160                     new MatchUdpDestinationPort(67),
161                     new MatchUdpSourcePort(68),
162                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
163                 ]
164                 priority = 63010
165                 tableId = 211 as short
166             ],
167             new FlowEntity(123bi) => [
168                 cookie = 110100480bi
169                 flowId = "Egress_DHCP_Client_v6_123_987__Permit_"
170                 flowName = "ACL"
171                 instructionInfoList = #[
172                     new InstructionApplyActions(#[
173                         new ActionNxResubmit(17 as short)
174                     ])
175                 ]
176                 matchInfoList = #[
177                     new MatchEthernetType(34525L),
178                     new MatchIpProtocol(17 as short),
179                     new MatchUdpDestinationPort(547),
180                     new MatchUdpSourcePort(546),
181                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
182                 ]
183                 priority = 63010
184                 tableId = 211 as short
185             ],
186             new FlowEntity(123bi) => [
187                 cookie = 110100480bi
188                 flowId = "Egress_DHCP_Server_v4123_987__Drop_"
189                 flowName = "ACL"
190                 instructionInfoList = #[
191                 ]
192                 matchInfoList = #[
193                     new MatchEthernetType(2048L),
194                     new MatchIpProtocol(17 as short),
195                     new MatchUdpDestinationPort(68),
196                     new MatchUdpSourcePort(67),
197                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
198                 ]
199                 priority = 63010
200                 tableId = 211 as short
201             ],
202             new FlowEntity(123bi) => [
203                 cookie = 110100480bi
204                 flowId = "Egress_DHCP_Server_v6_123_987__Drop_"
205                 flowName = "ACL"
206                 instructionInfoList = #[
207                 ]
208                 matchInfoList = #[
209                     new MatchEthernetType(34525L),
210                     new MatchIpProtocol(17 as short),
211                     new MatchUdpDestinationPort(546),
212                     new MatchUdpSourcePort(547),
213                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
214                 ]
215                 priority = 63010
216                 tableId = 211 as short
217             ],
218             new FlowEntity(123bi) => [
219                 cookie = 110100480bi
220                 flowId = "Egress_ICMPv6_123_987_134_Drop_"
221                 flowName = "ACL"
222                 instructionInfoList = #[
223                 ]
224                 matchInfoList = #[
225                     new MatchEthernetType(34525L),
226                     new MatchIpProtocol(58 as short),
227                     new MatchIcmpv6(134 as short, 0 as short),
228                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
229                 ]
230                 priority = 63020
231                 tableId = 211 as short
232             ],
233             new FlowEntity(123bi) => [
234                 cookie = 110100480bi
235                 flowId = "Egress_ICMPv6_123_987_133_Permit_"
236                 flowName = "ACL"
237                 instructionInfoList = #[
238                     new InstructionApplyActions(#[
239                         new ActionNxResubmit(17 as short)
240                     ])
241                 ]
242                 matchInfoList = #[
243                     new MatchEthernetType(34525L),
244                     new MatchIpProtocol(58 as short),
245                     new MatchIcmpv6(133 as short, 0 as short),
246                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
247                 ]
248                 priority = 63010
249                 tableId = 211 as short
250             ],
251             new FlowEntity(123bi) => [
252                 cookie = 110100480bi
253                 flowId = "Egress_ICMPv6_123_987_135_Permit_"
254                 flowName = "ACL"
255                 instructionInfoList = #[
256                     new InstructionApplyActions(#[
257                         new ActionNxResubmit(17 as short)
258                     ])
259                 ]
260                 matchInfoList = #[
261                     new MatchEthernetType(34525L),
262                     new MatchIpProtocol(58 as short),
263                     new MatchIcmpv6(135 as short, 0 as short),
264                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
265                 ]
266                 priority = 63010
267                 tableId = 211 as short
268             ],
269             new FlowEntity(123bi) => [
270                 cookie = 110100480bi
271                 flowId = "Egress_ICMPv6_123_987_136_Permit_"
272                 flowName = "ACL"
273                 instructionInfoList = #[
274                     new InstructionApplyActions(#[
275                         new ActionNxResubmit(17 as short)
276                     ])
277                 ]
278                 matchInfoList = #[
279                     new MatchEthernetType(34525L),
280                     new MatchIpProtocol(58 as short),
281                     new MatchIcmpv6(136 as short, 0 as short),
282                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
283                 ]
284                 priority = 63010
285                 tableId = 211 as short
286             ],
287             new FlowEntity(123bi) => [
288                 cookie = 110100480bi
289                 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:F3"
290                 flowName = "ACL"
291                 instructionInfoList = #[
292                     new InstructionApplyActions(#[
293                         new ActionNxResubmit(17 as short)
294                     ])
295                 ]
296                 matchInfoList = #[
297                     new MatchEthernetType(2054L),
298                     new MatchArpSha(new MacAddress("0D:AA:D8:42:30:F3")),
299                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
300                 ]
301                 priority = 63010
302                 tableId = 211 as short
303             ]
304         ]
305     }
306
307
308      protected def fixedIngressFlowsPort2() {
309         #[
310             new FlowEntity(123bi) => [
311                 cookie = 110100480bi
312                 flowId = "Ingress_DHCP_Server_v4123_987__Permit_"
313                 flowName = "ACL"
314                 instructionInfoList = #[
315                     new InstructionApplyActions(#[
316                         new ActionNxResubmit(220 as short)
317                     ])
318                 ]
319                 matchInfoList = #[
320                     new MatchEthernetType(2048L),
321                     new MatchIpProtocol(17 as short),
322                     new MatchUdpDestinationPort(68),
323                     new MatchUdpSourcePort(67),
324                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
325                 ]
326                 priority = 63010
327                 tableId = 241 as short
328             ],
329             new FlowEntity(123bi) => [
330                 cookie = 110100480bi
331                 flowId = "Ingress_DHCP_Server_v6_123_987___Permit_"
332                 flowName = "ACL"
333                 instructionInfoList = #[
334                     new InstructionApplyActions(#[
335                         new ActionNxResubmit(220 as short)
336                     ])
337                 ]
338                 matchInfoList = #[
339                     new MatchEthernetType(34525L),
340                     new MatchIpProtocol(17 as short),
341                     new MatchUdpDestinationPort(546),
342                     new MatchUdpSourcePort(547),
343                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
344                 ]
345                 priority = 63010
346                 tableId = 241 as short
347             ],
348             new FlowEntity(123bi) => [
349                 cookie = 110100480bi
350                 flowId = "Ingress_ICMPv6_123_987_130_Permit_"
351                 flowName = "ACL"
352                 instructionInfoList = #[
353                     new InstructionApplyActions(#[
354                         new ActionNxResubmit(220 as short)
355                     ])
356                 ]
357                 matchInfoList = #[
358                     new MatchEthernetType(34525L),
359                     new MatchIpProtocol(58 as short),
360                     new MatchIcmpv6(130 as short, 0 as short),
361                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
362                 ]
363                 priority = 63010
364                 tableId = 241 as short
365             ],
366             new FlowEntity(123bi) => [
367                 cookie = 110100480bi
368                 flowId = "Ingress_ICMPv6_123_987_135_Permit_"
369                 flowName = "ACL"
370                 instructionInfoList = #[
371                     new InstructionApplyActions(#[
372                         new ActionNxResubmit(220 as short)
373                     ])
374                 ]
375                 matchInfoList = #[
376                     new MatchEthernetType(34525L),
377                     new MatchIpProtocol(58 as short),
378                     new MatchIcmpv6(135 as short, 0 as short),
379                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
380                 ]
381                 priority = 63010
382                 tableId = 241 as short
383             ],
384             new FlowEntity(123bi) => [
385                 cookie = 110100480bi
386                 flowId = "Ingress_ICMPv6_123_987_136_Permit_"
387                 flowName = "ACL"
388                 instructionInfoList = #[
389                     new InstructionApplyActions(#[
390                         new ActionNxResubmit(220 as short)
391                     ])
392                 ]
393                 matchInfoList = #[
394                     new MatchEthernetType(34525L),
395                     new MatchIpProtocol(58 as short),
396                     new MatchIcmpv6(136 as short, 0 as short),
397                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
398                 ]
399                 priority = 63010
400                 tableId = 241 as short
401             ],
402             new FlowEntity(123bi) => [
403                 cookie = 110100480bi
404                 flowId = "Ingress_ARP_123_987"
405                 flowName = "ACL"
406                 instructionInfoList = #[
407                     new InstructionApplyActions(#[
408                         new ActionNxResubmit(220 as short)
409                     ])
410                 ]
411                 matchInfoList = #[
412                     new MatchEthernetType(2054L),
413                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
414                 ]
415                 priority = 63010
416                 tableId = 241 as short
417             ]
418         ]
419     }
420
421      protected def fixedEgressFlowsPort2 () {
422         #[
423             new FlowEntity(123bi) => [
424                 cookie = 110100480bi
425                 flowId = "Egress_DHCP_Client_v4123_987__Permit_"
426                 flowName = "ACL"
427                 instructionInfoList = #[
428                     new InstructionApplyActions(#[
429                         new ActionNxResubmit(17 as short)
430                     ])
431                 ]
432                 matchInfoList = #[
433                     new MatchEthernetType(2048L),
434                     new MatchIpProtocol(17 as short),
435                     new MatchUdpDestinationPort(67 as short),
436                     new MatchUdpSourcePort(68 as short),
437                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
438                 ]
439                 priority = 63010
440                 tableId = 211 as short
441             ],
442             new FlowEntity(123bi) => [
443                 cookie = 110100480bi
444                 flowId = "Egress_DHCP_Client_v6_123_987__Permit_"
445                 flowName = "ACL"
446                 instructionInfoList = #[
447                     new InstructionApplyActions(#[
448                         new ActionNxResubmit(17 as short)
449                     ])
450                 ]
451                 matchInfoList = #[
452                     new MatchEthernetType(34525L),
453                     new MatchIpProtocol(17 as short),
454                     new MatchUdpDestinationPort(547 as short),
455                     new MatchUdpSourcePort(546 as short),
456                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
457                 ]
458                 priority = 63010
459                 tableId = 211 as short
460             ],
461             new FlowEntity(123bi) => [
462                 cookie = 110100480bi
463                 flowId = "Egress_DHCP_Server_v4123_987__Drop_"
464                 flowName = "ACL"
465                 instructionInfoList = #[
466                 ]
467                 matchInfoList = #[
468                     new MatchEthernetType(2048L),
469                     new MatchIpProtocol(17 as short),
470                     new MatchUdpDestinationPort(68 as short),
471                     new MatchUdpSourcePort(67 as short),
472                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
473                 ]
474                 priority = 63010
475                 tableId = 211 as short
476             ],
477             new FlowEntity(123bi) => [
478                 cookie = 110100480bi
479                 flowId = "Egress_DHCP_Server_v6_123_987__Drop_"
480                 flowName = "ACL"
481                 instructionInfoList = #[
482                 ]
483                 matchInfoList = #[
484                     new MatchEthernetType(34525L),
485                     new MatchIpProtocol(17 as short),
486                     new MatchUdpDestinationPort(546 as short),
487                     new MatchUdpSourcePort(547 as short),
488                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
489                 ]
490                 priority = 63010
491                 tableId = 211 as short
492             ],
493             new FlowEntity(123bi) => [
494                 cookie = 110100480bi
495                 flowId = "Egress_ICMPv6_123_987_134_Drop_"
496                 flowName = "ACL"
497                 instructionInfoList = #[
498                 ]
499                 matchInfoList = #[
500                     new MatchEthernetType(34525L),
501                     new MatchIpProtocol(58 as short),
502                     new MatchIcmpv6(134 as short, 0 as short),
503                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
504                 ]
505                 priority = 63020
506                 tableId = 211 as short
507             ],
508             new FlowEntity(123bi) => [
509                 cookie = 110100480bi
510                 flowId = "Egress_ICMPv6_123_987_133_Permit_"
511                 flowName = "ACL"
512                 instructionInfoList = #[
513                     new InstructionApplyActions(#[
514                         new ActionNxResubmit(17 as short)
515                     ])
516                 ]
517                 matchInfoList = #[
518                     new MatchEthernetType(34525L),
519                     new MatchIpProtocol(58 as short),
520                     new MatchIcmpv6(133 as short, 0 as short),
521                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
522                 ]
523                 priority = 63010
524                 tableId = 211 as short
525             ],
526             new FlowEntity(123bi) => [
527                 cookie = 110100480bi
528                 flowId = "Egress_ICMPv6_123_987_135_Permit_"
529                 flowName = "ACL"
530                 instructionInfoList = #[
531                     new InstructionApplyActions(#[
532                         new ActionNxResubmit(17 as short)
533                     ])
534                 ]
535                 matchInfoList = #[
536                     new MatchEthernetType(34525L),
537                     new MatchIpProtocol(58 as short),
538                     new MatchIcmpv6(135 as short, 0 as short),
539                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
540                 ]
541                 priority = 63010
542                 tableId = 211 as short
543             ],
544             new FlowEntity(123bi) => [
545                 cookie = 110100480bi
546                 flowId = "Egress_ICMPv6_123_987_136_Permit_"
547                 flowName = "ACL"
548                 instructionInfoList = #[
549                     new InstructionApplyActions(#[
550                         new ActionNxResubmit(17 as short)
551                     ])
552                 ]
553                 matchInfoList = #[
554                     new MatchEthernetType(34525L),
555                     new MatchIpProtocol(58 as short),
556                     new MatchIcmpv6(136 as short, 0 as short),
557                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
558                 ]
559                 priority = 63010
560                 tableId = 211 as short
561             ],
562             new FlowEntity(123bi) => [
563                 cookie = 110100480bi
564                 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:F4"
565                 flowName = "ACL"
566                 instructionInfoList = #[
567                     new InstructionApplyActions(#[
568                         new ActionNxResubmit(17 as short)
569                     ])
570                 ]
571                 matchInfoList = #[
572                     new MatchEthernetType(2054L),
573                     new MatchArpSha(new MacAddress("0D:AA:D8:42:30:F4")),
574                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
575                 ]
576                 priority = 63010
577                 tableId = 211 as short
578             ]
579         ]
580
581     }
582
583      protected def fixedIngressFlowsPort3() {
584         #[
585             new FlowEntity(123bi) => [
586                 cookie = 110100480bi
587                 flowId = "Ingress_DHCP_Server_v4123_987__Permit_"
588                 flowName = "ACL"
589                 instructionInfoList = #[
590                     new InstructionApplyActions(#[
591                         new ActionNxResubmit(220 as short)
592                     ])
593                 ]
594                 matchInfoList = #[
595                     new MatchEthernetType(2048L),
596                     new MatchIpProtocol(17 as short),
597                     new MatchUdpDestinationPort(68),
598                     new MatchUdpSourcePort(67),
599                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
600                 ]
601                 priority = 63010
602                 tableId = 241 as short
603             ],
604             new FlowEntity(123bi) => [
605                 cookie = 110100480bi
606                 flowId = "Ingress_DHCP_Server_v6_123_987___Permit_"
607                 flowName = "ACL"
608                 instructionInfoList = #[
609                     new InstructionApplyActions(#[
610                         new ActionNxResubmit(220 as short)
611                     ])
612                 ]
613                 matchInfoList = #[
614                     new MatchEthernetType(34525L),
615                     new MatchIpProtocol(17 as short),
616                     new MatchUdpDestinationPort(546),
617                     new MatchUdpSourcePort(547),
618                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
619                 ]
620                 priority = 63010
621                 tableId = 241 as short
622             ],
623             new FlowEntity(123bi) => [
624                 cookie = 110100480bi
625                 flowId = "Ingress_ICMPv6_123_987_130_Permit_"
626                 flowName = "ACL"
627                 instructionInfoList = #[
628                     new InstructionApplyActions(#[
629                         new ActionNxResubmit(220 as short)
630                     ])
631                 ]
632                 matchInfoList = #[
633                     new MatchEthernetType(34525L),
634                     new MatchIpProtocol(58 as short),
635                     new MatchIcmpv6(130 as short, 0 as short),
636                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
637                 ]
638                 priority = 63010
639                 tableId = 241 as short
640             ],
641             new FlowEntity(123bi) => [
642                 cookie = 110100480bi
643                 flowId = "Ingress_ICMPv6_123_987_135_Permit_"
644                 flowName = "ACL"
645                 instructionInfoList = #[
646                     new InstructionApplyActions(#[
647                         new ActionNxResubmit(220 as short)
648                     ])
649                 ]
650                 matchInfoList = #[
651                     new MatchEthernetType(34525L),
652                     new MatchIpProtocol(58 as short),
653                     new MatchIcmpv6(135 as short, 0 as short),
654                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
655                 ]
656                 priority = 63010
657                 tableId = 241 as short
658             ],
659             new FlowEntity(123bi) => [
660                 cookie = 110100480bi
661                 flowId = "Ingress_ICMPv6_123_987_136_Permit_"
662                 flowName = "ACL"
663                 instructionInfoList = #[
664                     new InstructionApplyActions(#[
665                         new ActionNxResubmit(220 as short)
666                     ])
667                 ]
668                 matchInfoList = #[
669                     new MatchEthernetType(34525L),
670                     new MatchIpProtocol(58 as short),
671                     new MatchIcmpv6(136 as short, 0 as short),
672                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
673                 ]
674                 priority = 63010
675                 tableId = 241 as short
676             ],
677             new FlowEntity(123bi) => [
678                 cookie = 110100480bi
679                 flowId = "Ingress_ARP_123_987"
680                 flowName = "ACL"
681                 instructionInfoList = #[
682                     new InstructionApplyActions(#[
683                         new ActionNxResubmit(220 as short)
684                     ])
685                 ]
686                 matchInfoList = #[
687                     new MatchEthernetType(2054L),
688                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
689                 ]
690                 priority = 63010
691                 tableId = 241 as short
692             ]
693         ]
694     }
695
696      protected def fixedEgressFlowsPort3 () {
697         #[
698             new FlowEntity(123bi) => [
699                 cookie = 110100480bi
700                 flowId = "Egress_DHCP_Client_v4123_987__Permit_"
701                 flowName = "ACL"
702                 instructionInfoList = #[
703                     new InstructionApplyActions(#[
704                         new ActionNxResubmit(17 as short)
705                     ])
706                 ]
707                 matchInfoList = #[
708                     new MatchEthernetType(2048L),
709                     new MatchIpProtocol(17 as short),
710                     new MatchUdpDestinationPort(67),
711                     new MatchUdpSourcePort(68),
712                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
713                 ]
714                 priority = 63010
715                 tableId = 211 as short
716             ],
717             new FlowEntity(123bi) => [
718                 cookie = 110100480bi
719                 flowId = "Egress_DHCP_Client_v6_123_987__Permit_"
720                 flowName = "ACL"
721                 instructionInfoList = #[
722                     new InstructionApplyActions(#[
723                         new ActionNxResubmit(17 as short)
724                     ])
725                 ]
726                 matchInfoList = #[
727                     new MatchEthernetType(34525L),
728                     new MatchIpProtocol(17 as short),
729                     new MatchUdpDestinationPort(547),
730                     new MatchUdpSourcePort(546),
731                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
732                 ]
733                 priority = 63010
734                 tableId = 211 as short
735             ],
736             new FlowEntity(123bi) => [
737                 cookie = 110100480bi
738                 flowId = "Egress_DHCP_Server_v4123_987__Drop_"
739                 flowName = "ACL"
740                 instructionInfoList = #[
741                 ]
742                 matchInfoList = #[
743                     new MatchEthernetType(2048L),
744                     new MatchIpProtocol(17 as short),
745                     new MatchUdpDestinationPort(68),
746                     new MatchUdpSourcePort(67),
747                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
748                 ]
749                 priority = 63010
750                 tableId = 211 as short
751             ],
752             new FlowEntity(123bi) => [
753                 cookie = 110100480bi
754                 flowId = "Egress_DHCP_Server_v6_123_987__Drop_"
755                 flowName = "ACL"
756                 instructionInfoList = #[
757                 ]
758                 matchInfoList = #[
759                     new MatchEthernetType(34525L),
760                     new MatchIpProtocol(17 as short),
761                     new MatchUdpDestinationPort(546),
762                     new MatchUdpSourcePort(547),
763                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
764                 ]
765                 priority = 63010
766                 tableId = 211 as short
767             ],
768             new FlowEntity(123bi) => [
769                 cookie = 110100480bi
770                 flowId = "Egress_ICMPv6_123_987_134_Drop_"
771                 flowName = "ACL"
772                 instructionInfoList = #[
773                 ]
774                 matchInfoList = #[
775                     new MatchEthernetType(34525L),
776                     new MatchIpProtocol(58 as short),
777                     new MatchIcmpv6(134 as short, 0 as short),
778                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
779                 ]
780                 priority = 63020
781                 tableId = 211 as short
782             ],
783             new FlowEntity(123bi) => [
784                 cookie = 110100480bi
785                 flowId = "Egress_ICMPv6_123_987_133_Permit_"
786                 flowName = "ACL"
787                 instructionInfoList = #[
788                     new InstructionApplyActions(#[
789                         new ActionNxResubmit(17 as short)
790                     ])
791                 ]
792                 matchInfoList = #[
793                     new MatchEthernetType(34525L),
794                     new MatchIpProtocol(58 as short),
795                     new MatchIcmpv6(133 as short, 0 as short),
796                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
797                 ]
798                 priority = 63010
799                 tableId = 211 as short
800             ],
801             new FlowEntity(123bi) => [
802                 cookie = 110100480bi
803                 flowId = "Egress_ICMPv6_123_987_135_Permit_"
804                 flowName = "ACL"
805                 instructionInfoList = #[
806                     new InstructionApplyActions(#[
807                         new ActionNxResubmit(17 as short)
808                     ])
809                 ]
810                 matchInfoList = #[
811                     new MatchEthernetType(34525L),
812                     new MatchIpProtocol(58 as short),
813                     new MatchIcmpv6(135 as short, 0 as short),
814                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
815                 ]
816                 priority = 63010
817                 tableId = 211 as short
818             ],
819             new FlowEntity(123bi) => [
820                 cookie = 110100480bi
821                 flowId = "Egress_ICMPv6_123_987_136_Permit_"
822                 flowName = "ACL"
823                 instructionInfoList = #[
824                     new InstructionApplyActions(#[
825                         new ActionNxResubmit(17 as short)
826                     ])
827                 ]
828                 matchInfoList = #[
829                     new MatchEthernetType(34525L),
830                     new MatchIpProtocol(58 as short),
831                     new MatchIcmpv6(136 as short, 0 as short),
832                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
833                 ]
834                 priority = 63010
835                 tableId = 211 as short
836             ],
837             new FlowEntity(123bi) => [
838                 cookie = 110100480bi
839                 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:F5"
840                 flowName = "ACL"
841                 instructionInfoList = #[
842                     new InstructionApplyActions(#[
843                         new ActionNxResubmit(17 as short)
844                     ])
845                 ]
846                 matchInfoList = #[
847                     new MatchEthernetType(2054L),
848                     new MatchArpSha(new MacAddress("0D:AA:D8:42:30:F5")),
849                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
850                 ]
851                 priority = 63010
852                 tableId = 211 as short
853             ]
854         ]
855     }
856
857     static def fixedIngressFlowsPort4() {
858         #[
859             new FlowEntity(123bi) => [
860                 cookie = 110100480bi
861                 flowId = "Ingress_DHCP_Server_v4123_987__Permit_"
862                 flowName = "ACL"
863                 instructionInfoList = #[
864                     new InstructionApplyActions(#[
865                         new ActionNxResubmit(220 as short)
866                     ])
867                 ]
868                 matchInfoList = #[
869                     new MatchEthernetType(2048L),
870                     new MatchIpProtocol(17 as short),
871                     new MatchUdpDestinationPort(68),
872                     new MatchUdpSourcePort(67),
873                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
874                 ]
875                 priority = 63010
876                 tableId = 241 as short
877             ],
878             new FlowEntity(123bi) => [
879                 cookie = 110100480bi
880                 flowId = "Ingress_DHCP_Server_v6_123_987___Permit_"
881                 flowName = "ACL"
882                 instructionInfoList = #[
883                     new InstructionApplyActions(#[
884                         new ActionNxResubmit(220 as short)
885                     ])
886                 ]
887                 matchInfoList = #[
888                     new MatchEthernetType(34525L),
889                     new MatchIpProtocol(17 as short),
890                     new MatchUdpDestinationPort(546),
891                     new MatchUdpSourcePort(547),
892                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
893                 ]
894                 priority = 63010
895                 tableId = 241 as short
896             ],
897             new FlowEntity(123bi) => [
898                 cookie = 110100480bi
899                 flowId = "Ingress_ICMPv6_123_987_130_Permit_"
900                 flowName = "ACL"
901                 instructionInfoList = #[
902                     new InstructionApplyActions(#[
903                         new ActionNxResubmit(220 as short)
904                     ])
905                 ]
906                 matchInfoList = #[
907                     new MatchEthernetType(34525L),
908                     new MatchIpProtocol(58 as short),
909                     new MatchIcmpv6(130 as short, 0 as short),
910                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
911                 ]
912                 priority = 63010
913                 tableId = 241 as short
914             ],
915             new FlowEntity(123bi) => [
916                 cookie = 110100480bi
917                 flowId = "Ingress_ICMPv6_123_987_135_Permit_"
918                 flowName = "ACL"
919                 instructionInfoList = #[
920                     new InstructionApplyActions(#[
921                         new ActionNxResubmit(220 as short)
922                     ])
923                 ]
924                 matchInfoList = #[
925                     new MatchEthernetType(34525L),
926                     new MatchIpProtocol(58 as short),
927                     new MatchIcmpv6(135 as short, 0 as short),
928                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
929                 ]
930                 priority = 63010
931                 tableId = 241 as short
932             ],
933             new FlowEntity(123bi) => [
934                 cookie = 110100480bi
935                 flowId = "Ingress_ICMPv6_123_987_136_Permit_"
936                 flowName = "ACL"
937                 instructionInfoList = #[
938                     new InstructionApplyActions(#[
939                         new ActionNxResubmit(220 as short)
940                     ])
941                 ]
942                 matchInfoList = #[
943                     new MatchEthernetType(34525L),
944                     new MatchIpProtocol(58 as short),
945                     new MatchIcmpv6(136 as short, 0 as short),
946                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
947                 ]
948                 priority = 63010
949                 tableId = 241 as short
950             ],
951             new FlowEntity(123bi) => [
952                 cookie = 110100480bi
953                 flowId = "Ingress_ARP_123_987"
954                 flowName = "ACL"
955                 instructionInfoList = #[
956                     new InstructionApplyActions(#[
957                         new ActionNxResubmit(220 as short)
958                     ])
959                 ]
960                 matchInfoList = #[
961                     new MatchEthernetType(2054L),
962                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
963                 ]
964                 priority = 63010
965                 tableId = 241 as short
966             ]
967         ]
968     }
969
970     static def fixedEgressFlowsPort4 () {
971         #[
972             new FlowEntity(123bi) => [
973                 cookie = 110100480bi
974                 flowId = "Egress_DHCP_Client_v4123_987__Permit_"
975                 flowName = "ACL"
976                 instructionInfoList = #[
977                     new InstructionApplyActions(#[
978                         new ActionNxResubmit(17 as short)
979                     ])
980                 ]
981                 matchInfoList = #[
982                     new MatchEthernetType(2048L),
983                     new MatchIpProtocol(17 as short),
984                     new MatchUdpDestinationPort(67),
985                     new MatchUdpSourcePort(68),
986                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
987                 ]
988                 priority = 63010
989                 tableId = 211 as short
990             ],
991             new FlowEntity(123bi) => [
992                 cookie = 110100480bi
993                 flowId = "Egress_DHCP_Client_v6_123_987__Permit_"
994                 flowName = "ACL"
995                 instructionInfoList = #[
996                     new InstructionApplyActions(#[
997                         new ActionNxResubmit(17 as short)
998                     ])
999                 ]
1000                 matchInfoList = #[
1001                     new MatchEthernetType(34525L),
1002                     new MatchIpProtocol(17 as short),
1003                     new MatchUdpDestinationPort(547),
1004                     new MatchUdpSourcePort(546),
1005                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1006                 ]
1007                 priority = 63010
1008                 tableId = 211 as short
1009             ],
1010             new FlowEntity(123bi) => [
1011                 cookie = 110100480bi
1012                 flowId = "Egress_DHCP_Server_v4123_987__Drop_"
1013                 flowName = "ACL"
1014                 instructionInfoList = #[
1015                 ]
1016                 matchInfoList = #[
1017                     new MatchEthernetType(2048L),
1018                     new MatchIpProtocol(17 as short),
1019                     new MatchUdpDestinationPort(68),
1020                     new MatchUdpSourcePort(67),
1021                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1022                 ]
1023                 priority = 63010
1024                 tableId = 211 as short
1025             ],
1026             new FlowEntity(123bi) => [
1027                 cookie = 110100480bi
1028                 flowId = "Egress_DHCP_Server_v6_123_987__Drop_"
1029                 flowName = "ACL"
1030                 instructionInfoList = #[
1031                 ]
1032                 matchInfoList = #[
1033                     new MatchEthernetType(34525L),
1034                     new MatchIpProtocol(17 as short),
1035                     new MatchUdpDestinationPort(546),
1036                     new MatchUdpSourcePort(547),
1037                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1038                 ]
1039                 priority = 63010
1040                 tableId = 211 as short
1041             ],
1042             new FlowEntity(123bi) => [
1043                 cookie = 110100480bi
1044                 flowId = "Egress_ICMPv6_123_987_134_Drop_"
1045                 flowName = "ACL"
1046                 instructionInfoList = #[
1047                 ]
1048                 matchInfoList = #[
1049                     new MatchEthernetType(34525L),
1050                     new MatchIpProtocol(58 as short),
1051                     new MatchIcmpv6(134 as short, 0 as short),
1052                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1053                 ]
1054                 priority = 63020
1055                 tableId = 211 as short
1056             ],
1057             new FlowEntity(123bi) => [
1058                 cookie = 110100480bi
1059                 flowId = "Egress_ICMPv6_123_987_133_Permit_"
1060                 flowName = "ACL"
1061                 instructionInfoList = #[
1062                     new InstructionApplyActions(#[
1063                         new ActionNxResubmit(17 as short)
1064                     ])
1065                 ]
1066                 matchInfoList = #[
1067                     new MatchEthernetType(34525L),
1068                     new MatchIpProtocol(58 as short),
1069                     new MatchIcmpv6(133 as short, 0 as short),
1070                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1071                 ]
1072                 priority = 63010
1073                 tableId = 211 as short
1074             ],
1075             new FlowEntity(123bi) => [
1076                 cookie = 110100480bi
1077                 flowId = "Egress_ICMPv6_123_987_135_Permit_"
1078                 flowName = "ACL"
1079                 instructionInfoList = #[
1080                     new InstructionApplyActions(#[
1081                         new ActionNxResubmit(17 as short)
1082                     ])
1083                 ]
1084                 matchInfoList = #[
1085                     new MatchEthernetType(34525L),
1086                     new MatchIpProtocol(58 as short),
1087                     new MatchIcmpv6(135 as short, 0 as short),
1088                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1089                 ]
1090                 priority = 63010
1091                 tableId = 211 as short
1092             ],
1093             new FlowEntity(123bi) => [
1094                 cookie = 110100480bi
1095                 flowId = "Egress_ICMPv6_123_987_136_Permit_"
1096                 flowName = "ACL"
1097                 instructionInfoList = #[
1098                     new InstructionApplyActions(#[
1099                         new ActionNxResubmit(17 as short)
1100                     ])
1101                 ]
1102                 matchInfoList = #[
1103                     new MatchEthernetType(34525L),
1104                     new MatchIpProtocol(58 as short),
1105                     new MatchIcmpv6(136 as short, 0 as short),
1106                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1107                 ]
1108                 priority = 63010
1109                 tableId = 211 as short
1110             ],
1111             new FlowEntity(123bi) => [
1112                 cookie = 110100480bi
1113                 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:F6"
1114                 flowName = "ACL"
1115                 instructionInfoList = #[
1116                     new InstructionApplyActions(#[
1117                         new ActionNxResubmit(17 as short)
1118                     ])
1119                 ]
1120                 matchInfoList = #[
1121                     new MatchEthernetType(2054L),
1122                     new MatchArpSha(new MacAddress("0D:AA:D8:42:30:F6")),
1123                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1124                 ]
1125                 priority = 63010
1126                 tableId = 211 as short
1127             ],
1128             new FlowEntity(123bi) => [
1129                 cookie = 110100480bi
1130                 flowId = "Egress_ARP_123_987_0D:AA:D8:42:30:F6"
1131                 flowName = "ACL"
1132                 instructionInfoList = #[
1133                     new InstructionApplyActions(#[
1134                         new ActionNxResubmit(17 as short)
1135                     ])
1136                 ]
1137                 matchInfoList = #[
1138                     new MatchEthernetType(2054L),
1139                     new MatchArpSha(new MacAddress("0D:AA:D8:42:30:F6")),
1140                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1141                 ]
1142                 priority = 63010
1143                 tableId = 211 as short
1144             ]
1145         ]
1146     }
1147
1148     protected def expectedFlows(String mac) {
1149         // Code auto. generated by https://github.com/vorburger/xtendbeans
1150         #[
1151             new FlowEntity(123bi) => [
1152                 cookie = 110100480bi
1153                 flowId = "Ingress_DHCP_Server_v4123_987__Permit_"
1154                 flowName = "ACL"
1155                 instructionInfoList = #[
1156                     new InstructionApplyActions(#[
1157                         new ActionNxResubmit(220 as short)
1158                     ])
1159                 ]
1160                 matchInfoList = #[
1161                     new MatchEthernetType(2048L),
1162                     new MatchIpProtocol(17 as short),
1163                     new MatchUdpDestinationPort(68),
1164                     new MatchUdpSourcePort(67),
1165                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1166                 ]
1167                 priority = 63010
1168                 tableId = 241 as short
1169             ],
1170             new FlowEntity(123bi) => [
1171                 cookie = 110100480bi
1172                 flowId = "Ingress_DHCP_Server_v6_123_987___Permit_"
1173                 flowName = "ACL"
1174                 instructionInfoList = #[
1175                     new InstructionApplyActions(#[
1176                         new ActionNxResubmit(220 as short)
1177                     ])
1178                 ]
1179                 matchInfoList = #[
1180                     new MatchEthernetType(34525L),
1181                     new MatchIpProtocol(17 as short),
1182                     new MatchUdpDestinationPort(546),
1183                     new MatchUdpSourcePort(547),
1184                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1185                 ]
1186                 priority = 63010
1187                 tableId = 241 as short
1188             ],
1189             new FlowEntity(123bi) => [
1190                 cookie = 110100480bi
1191                 flowId = "Ingress_ICMPv6_123_987_130_Permit_"
1192                 flowName = "ACL"
1193                 instructionInfoList = #[
1194                     new InstructionApplyActions(#[
1195                         new ActionNxResubmit(220 as short)
1196                     ])
1197                 ]
1198                 matchInfoList = #[
1199                     new MatchEthernetType(34525L),
1200                     new MatchIpProtocol(58 as short),
1201                     new MatchIcmpv6(130 as short, 0 as short),
1202                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1203                 ]
1204                 priority = 63010
1205                 tableId = 241 as short
1206             ],
1207             new FlowEntity(123bi) => [
1208                 cookie = 110100480bi
1209                 flowId = "Ingress_ICMPv6_123_987_135_Permit_"
1210                 flowName = "ACL"
1211                 instructionInfoList = #[
1212                     new InstructionApplyActions(#[
1213                         new ActionNxResubmit(220 as short)
1214                     ])
1215                 ]
1216                 matchInfoList = #[
1217                     new MatchEthernetType(34525L),
1218                     new MatchIpProtocol(58 as short),
1219                     new MatchIcmpv6(135 as short, 0 as short),
1220                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1221                 ]
1222                 priority = 63010
1223                 tableId = 241 as short
1224             ],
1225             new FlowEntity(123bi) => [
1226                 cookie = 110100480bi
1227                 flowId = "Ingress_ICMPv6_123_987_136_Permit_"
1228                 flowName = "ACL"
1229                 instructionInfoList = #[
1230                     new InstructionApplyActions(#[
1231                         new ActionNxResubmit(220 as short)
1232                     ])
1233                 ]
1234                 matchInfoList = #[
1235                     new MatchEthernetType(34525L),
1236                     new MatchIpProtocol(58 as short),
1237                     new MatchIcmpv6(136 as short, 0 as short),
1238                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1239                 ]
1240                 priority = 63010
1241                 tableId = 241 as short
1242             ],
1243             new FlowEntity(123bi) => [
1244                 cookie = 110100480bi
1245                 flowId = "Ingress_ARP_123_987"
1246                 flowName = "ACL"
1247                 instructionInfoList = #[
1248                     new InstructionApplyActions(#[
1249                         new ActionNxResubmit(220 as short)
1250                     ])
1251                 ]
1252                 matchInfoList = #[
1253                     new MatchEthernetType(2054L),
1254                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L)
1255                 ]
1256                 priority = 63010
1257                 tableId = 241 as short
1258             ],
1259             new FlowEntity(123bi) => [
1260                 cookie = 110100480bi
1261                 flowId = "Egress_DHCP_Client_v4123_987__Permit_"
1262                 flowName = "ACL"
1263                 instructionInfoList = #[
1264                     new InstructionApplyActions(#[
1265                         new ActionNxResubmit(17 as short)
1266                     ])
1267                 ]
1268                 matchInfoList = #[
1269                     new MatchEthernetType(2048L),
1270                     new MatchIpProtocol(17 as short),
1271                     new MatchUdpDestinationPort(67),
1272                     new MatchUdpSourcePort(68),
1273                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1274                 ]
1275                 priority = 63010
1276                 tableId = 211 as short
1277             ],
1278             new FlowEntity(123bi) => [
1279                 cookie = 110100480bi
1280                 flowId = "Egress_DHCP_Client_v6_123_987__Permit_"
1281                 flowName = "ACL"
1282                 instructionInfoList = #[
1283                     new InstructionApplyActions(#[
1284                         new ActionNxResubmit(17 as short)
1285                     ])
1286                 ]
1287                 matchInfoList = #[
1288                     new MatchEthernetType(34525L),
1289                     new MatchIpProtocol(17 as short),
1290                     new MatchUdpDestinationPort(547),
1291                     new MatchUdpSourcePort(546),
1292                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1293                 ]
1294                 priority = 63010
1295                 tableId = 211 as short
1296             ],
1297             new FlowEntity(123bi) => [
1298                 cookie = 110100480bi
1299                 flowId = "Egress_DHCP_Server_v4123_987__Drop_"
1300                 flowName = "ACL"
1301                 instructionInfoList = #[
1302                 ]
1303                 matchInfoList = #[
1304                     new MatchEthernetType(2048L),
1305                     new MatchIpProtocol(17 as short),
1306                     new MatchUdpDestinationPort(68),
1307                     new MatchUdpSourcePort(67),
1308                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1309                 ]
1310                 priority = 63010
1311                 tableId = 211 as short
1312             ],
1313             new FlowEntity(123bi) => [
1314                 cookie = 110100480bi
1315                 flowId = "Egress_DHCP_Server_v6_123_987__Drop_"
1316                 flowName = "ACL"
1317                 instructionInfoList = #[
1318                 ]
1319                 matchInfoList = #[
1320                     new MatchEthernetType(34525L),
1321                     new MatchIpProtocol(17 as short),
1322                     new MatchUdpDestinationPort(546),
1323                     new MatchUdpSourcePort(547),
1324                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1325                 ]
1326                 priority = 63010
1327                 tableId = 211 as short
1328             ],
1329             new FlowEntity(123bi) => [
1330                 cookie = 110100480bi
1331                 flowId = "Egress_ICMPv6_123_987_134_Drop_"
1332                 flowName = "ACL"
1333                 instructionInfoList = #[
1334                 ]
1335                 matchInfoList = #[
1336                     new MatchEthernetType(34525L),
1337                     new MatchIpProtocol(58 as short),
1338                     new MatchIcmpv6(134 as short, 0 as short),
1339                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1340                 ]
1341                 priority = 63020
1342                 tableId = 211 as short
1343             ],
1344             new FlowEntity(123bi) => [
1345                 cookie = 110100480bi
1346                 flowId = "Egress_ICMPv6_123_987_133_Permit_"
1347                 flowName = "ACL"
1348                 instructionInfoList = #[
1349                     new InstructionApplyActions(#[
1350                         new ActionNxResubmit(17 as short)
1351                     ])
1352                 ]
1353                 matchInfoList = #[
1354                     new MatchEthernetType(34525L),
1355                     new MatchIpProtocol(58 as short),
1356                     new MatchIcmpv6(133 as short, 0 as short),
1357                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1358                 ]
1359                 priority = 63010
1360                 tableId = 211 as short
1361             ],
1362             new FlowEntity(123bi) => [
1363                 cookie = 110100480bi
1364                 flowId = "Egress_ICMPv6_123_987_135_Permit_"
1365                 flowName = "ACL"
1366                 instructionInfoList = #[
1367                     new InstructionApplyActions(#[
1368                         new ActionNxResubmit(17 as short)
1369                     ])
1370                 ]
1371                 matchInfoList = #[
1372                     new MatchEthernetType(34525L),
1373                     new MatchIpProtocol(58 as short),
1374                     new MatchIcmpv6(135 as short, 0 as short),
1375                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1376                 ]
1377                 priority = 63010
1378                 tableId = 211 as short
1379             ],
1380             new FlowEntity(123bi) => [
1381                 cookie = 110100480bi
1382                 flowId = "Egress_ICMPv6_123_987_136_Permit_"
1383                 flowName = "ACL"
1384                 instructionInfoList = #[
1385                     new InstructionApplyActions(#[
1386                         new ActionNxResubmit(17 as short)
1387                     ])
1388                 ]
1389                 matchInfoList = #[
1390                     new MatchEthernetType(34525L),
1391                     new MatchIpProtocol(58 as short),
1392                     new MatchIcmpv6(136 as short, 0 as short),
1393                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG)
1394                 ]
1395                 priority = 63010
1396                 tableId = 211 as short
1397             ]
1398         ]
1399     }
1400 }