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