move vpnservice and cleanup poms
[netvirt.git] / aclservice / impl / src / test / java / org / opendaylight / netvirt / aclservice / tests / FlowEntryObjectsStatefulIPv6.xtend
1 /*
2  * Copyright (c) 2017 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.MetaDataUtil
11 import org.opendaylight.genius.mdsalutil.actions.ActionDrop
12 import org.opendaylight.genius.mdsalutil.actions.ActionNxConntrack
13 import org.opendaylight.genius.mdsalutil.actions.ActionNxResubmit
14 import org.opendaylight.genius.mdsalutil.FlowEntityBuilder
15 import org.opendaylight.genius.mdsalutil.instructions.InstructionApplyActions
16 import org.opendaylight.genius.mdsalutil.matches.MatchEthernetDestination
17 import org.opendaylight.genius.mdsalutil.matches.MatchEthernetSource
18 import org.opendaylight.genius.mdsalutil.matches.MatchEthernetType
19 import org.opendaylight.genius.mdsalutil.matches.MatchIcmpv6
20 import org.opendaylight.genius.mdsalutil.matches.MatchIpProtocol
21 import org.opendaylight.genius.mdsalutil.matches.MatchIpv6Destination
22 import org.opendaylight.genius.mdsalutil.matches.MatchIpv6Source
23 import org.opendaylight.genius.mdsalutil.matches.MatchMetadata
24 import org.opendaylight.genius.mdsalutil.NwConstants
25 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchCtState
26 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchRegister
27 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchTcpDestinationPort
28 import org.opendaylight.genius.mdsalutil.nxmatches.NxMatchUdpDestinationPort
29 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.MacAddress
30 import org.opendaylight.yang.gen.v1.urn.opendaylight.openflowjava.nx.match.rev140421.NxmNxReg6
31
32 import static extension org.opendaylight.mdsal.binding.testutils.XtendBuilderExtensions.operator_doubleGreaterThan
33
34 class FlowEntryObjectsStatefulIPv6 extends FlowEntryObjectsStateful {
35
36     override fixedConntrackIngressFlowsPort1() {
37         #[
38            new FlowEntityBuilder >> [
39                 dpnId = 123bi
40                 cookie = 110100480bi
41                 flowId = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F3_2001:db8:1::/64_Recirc"
42             flowName = "ACL"
43             instructionInfoList = #[
44                 new InstructionApplyActions(#[
45                     new ActionNxConntrack(2, 0, 0, 5000, 243 as short)
46                 ])
47             ]
48             matchInfoList = #[
49                 new MatchEthernetType(34525L),
50                 new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F3")),
51                 new MatchEthernetType(34525L),
52                 new MatchIpv6Destination("2001:db8:1::/64")
53                 ]
54                 priority = 61010
55                 tableId = NwConstants.EGRESS_ACL_TABLE
56             ],
57            new FlowEntityBuilder >> [
58                 dpnId = 123bi
59                cookie = 110100481bi
60                flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_New"
61                flowName = "ACL"
62                instructionInfoList = #[
63                    new InstructionApplyActions(#[
64                        new ActionDrop()
65                    ])
66                ]
67                matchInfoList = #[
68                    new MatchMetadata(1085217976614912bi, 1152920405095219200bi),
69                    new NxMatchCtState(33, 33)
70                ]
71                priority = 50
72                tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
73            ],
74            new FlowEntityBuilder >> [
75                 dpnId = 123bi
76                cookie = 110100481bi
77                flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
78                flowName = "ACL"
79                instructionInfoList = #[
80                    new InstructionApplyActions(#[
81                        new ActionDrop()
82                    ])
83                ]
84                matchInfoList = #[
85                    new MatchMetadata(1085217976614912bi, 1152920405095219200bi),
86                    new NxMatchCtState(48, 48)
87                ]
88                priority = 62015
89                tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
90            ]
91         ]
92     }
93
94     override etherIngressFlowsPort2() {
95         val flowId1 = "ETHERnull_ipv6_remoteACL_interface_aap_0D:AA:D8:42:30:F3_2001:db8:1::/64Ingress98785cc3048-abc3-43cc-89b3-377341426ac7"
96         val flowId2 = "ETHERnull_ipv6_remoteACL_interface_aap_0D:AA:D8:42:30:F4_2001:db8:2::/64Ingress98785cc3048-abc3-43cc-89b3-377341426ac7"
97         #[
98             new FlowEntityBuilder >> [
99                 dpnId = 123bi
100                 cookie = 110100480bi
101                 flowId = flowId1
102                 flowName = "ACL"
103                 instructionInfoList = #[
104                     new InstructionApplyActions(#[
105                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
106                         new ActionNxResubmit(220 as short)
107                     ])
108                 ]
109                 matchInfoList = #[
110                     new MatchEthernetType(34525L),
111                     new MatchIpv6Source("2001:db8:1::/64"),
112                     new MatchEthernetType(34525L),
113                     new MatchIpv6Source("::/0"),
114                     new MatchEthernetType(34525L),
115                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
116                     new NxMatchCtState(33, 33)
117                 ]
118                 priority = IdHelper.getId(flowId1)
119                 tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
120             ],
121             new FlowEntityBuilder >> [
122                 dpnId = 123bi
123                 cookie = 110100480bi
124                 flowId = flowId2
125                 flowName = "ACL"
126                 instructionInfoList = #[
127                     new InstructionApplyActions(#[
128                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
129                         new ActionNxResubmit(220 as short)
130                     ])
131                 ]
132                 matchInfoList = #[
133                     new MatchEthernetType(34525L),
134                     new MatchIpv6Source("2001:db8:2::/64"),
135                     new MatchEthernetType(34525L),
136                     new MatchIpv6Source("::/0"),
137                     new MatchEthernetType(34525L),
138                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
139                     new NxMatchCtState(33, 33)
140                 ]
141                 priority = IdHelper.getId(flowId2)
142                 tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
143             ]
144         ]
145     }
146
147     override fixedConntrackEgressFlowsPort1() {
148         #[
149             new FlowEntityBuilder >> [
150                 dpnId = 123bi
151                 cookie = 110100480bi
152                 flowId = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F3_2001:db8:1::/64_Recirc"
153                 flowName = "ACL"
154                 instructionInfoList = #[
155                     new InstructionApplyActions(#[
156                         new ActionNxConntrack(2, 0, 0, 5000, 213 as short)
157                     ])
158                 ]
159                 matchInfoList = #[
160                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F3")),
161                     new MatchEthernetType(34525L),
162                     new MatchIpv6Source("2001:db8:1::/64")
163                 ]
164                 priority = 61010
165                 tableId = NwConstants.INGRESS_ACL_TABLE
166             ],
167             new FlowEntityBuilder >> [
168                 dpnId = 123bi
169                 cookie = 110100481bi
170                 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_New"
171                 flowName = "ACL"
172                 instructionInfoList = #[
173                     new InstructionApplyActions(#[
174                         new ActionDrop()
175                     ])
176                 ]
177                 matchInfoList = #[
178                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
179                     new NxMatchCtState(33, 33)
180                 ]
181                 priority = 50
182                 tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
183             ],
184             new FlowEntityBuilder >> [
185                 dpnId = 123bi
186                 cookie = 110100481bi
187                 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
188                 flowName = "ACL"
189                 instructionInfoList = #[
190                     new InstructionApplyActions(#[
191                         new ActionDrop()
192                     ])
193                 ]
194                 matchInfoList = #[
195                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
196                     new NxMatchCtState(48, 48)
197                 ]
198                 priority = 62015
199                 tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
200             ]
201         ]
202     }
203
204     override fixedConntrackIngressFlowsPort2() {
205         #[
206              new FlowEntityBuilder >> [
207                 dpnId = 123bi
208                 cookie = 110100480bi
209                 flowId = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F4_2001:db8:2::/64_Recirc"
210                 flowName = "ACL"
211                 instructionInfoList = #[
212                     new InstructionApplyActions(#[
213                         new ActionNxConntrack(2, 0, 0, 5000, 243 as short)
214                     ])
215                 ]
216                 matchInfoList = #[
217                     new MatchEthernetType(34525L),
218                     new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F4")),
219                     new MatchEthernetType(34525L),
220                     new MatchIpv6Destination("2001:db8:2::/64")
221                 ]
222                 priority = 61010
223                 tableId = NwConstants.EGRESS_ACL_TABLE
224              ],
225              new FlowEntityBuilder >> [
226                 dpnId = 123bi
227                  cookie = 110100481bi
228                  flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_New"
229                  flowName = "ACL"
230                  instructionInfoList = #[
231                      new InstructionApplyActions(#[
232                          new ActionDrop()
233                      ])
234                  ]
235                  matchInfoList = #[
236                      new MatchMetadata(1085217976614912bi, 1152920405095219200bi),
237                      new NxMatchCtState(33, 33)
238                  ]
239                  priority = 50
240                  tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
241              ],
242              new FlowEntityBuilder >> [
243                 dpnId = 123bi
244                  cookie = 110100481bi
245                  flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
246                  flowName = "ACL"
247                  instructionInfoList = #[
248                      new InstructionApplyActions(#[
249                          new ActionDrop()
250                      ])
251                  ]
252                  matchInfoList = #[
253                      new MatchMetadata(1085217976614912bi, 1152920405095219200bi),
254                      new NxMatchCtState(48, 48)
255                  ]
256                  priority = 62015
257                  tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
258              ]
259
260         ]
261     }
262
263     override fixedConntrackEgressFlowsPort2() {
264         #[
265             new FlowEntityBuilder >> [
266                 dpnId = 123bi
267                 cookie = 110100480bi
268                 flowId = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F4_2001:db8:2::/64_Recirc"
269                 flowName = "ACL"
270                 instructionInfoList = #[
271                     new InstructionApplyActions(#[
272                         new ActionNxConntrack(2, 0, 0, 5000, 213 as short)
273                     ])
274                 ]
275                 matchInfoList = #[
276                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F4")),
277                     new MatchEthernetType(34525L),
278                     new MatchIpv6Source("2001:db8:2::/64")
279                 ]
280                 priority = 61010
281                 tableId = NwConstants.INGRESS_ACL_TABLE
282             ],
283             new FlowEntityBuilder >> [
284                 dpnId = 123bi
285                 cookie = 110100481bi
286                 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_New"
287                 flowName = "ACL"
288                 instructionInfoList = #[
289                     new InstructionApplyActions(#[
290                         new ActionDrop()
291                     ])
292                 ]
293                 matchInfoList = #[
294                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
295                     new NxMatchCtState(33, 33)
296                 ]
297                 priority = 50
298                 tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
299             ],
300             new FlowEntityBuilder >> [
301                 dpnId = 123bi
302                 cookie = 110100481bi
303                 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
304                 flowName = "ACL"
305                 instructionInfoList = #[
306                     new InstructionApplyActions(#[
307                         new ActionDrop()
308                     ])
309                 ]
310                 matchInfoList = #[
311                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
312                     new NxMatchCtState(48, 48)
313                 ]
314                 priority = 62015
315                 tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
316             ]
317         ]
318     }
319
320     override fixedConntrackIngressFlowsPort3() {
321         #[
322             new FlowEntityBuilder >> [
323                 dpnId = 123bi
324                 cookie = 110100480bi
325                 flowId = "Ingress_Fixed_Conntrk_123_0D:AA:D8:42:30:F5_2001:db8:3::/64_Recirc"
326                 flowName = "ACL"
327                 instructionInfoList = #[
328                     new InstructionApplyActions(#[
329                         new ActionNxConntrack(2, 0, 0, 5000, 243 as short)
330                     ])
331                 ]
332                 matchInfoList = #[
333                     new MatchEthernetType(34525L),
334                     new MatchEthernetDestination(new MacAddress("0D:AA:D8:42:30:F5")),
335                     new MatchEthernetType(34525L),
336                     new MatchIpv6Destination("2001:db8:3::/64")
337                 ]
338                 priority = 61010
339                 tableId = NwConstants.EGRESS_ACL_TABLE
340             ],
341             new FlowEntityBuilder >> [
342                 dpnId = 123bi
343                 cookie = 110100481bi
344                 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_New"
345                 flowName = "ACL"
346                 instructionInfoList = #[
347                     new InstructionApplyActions(#[
348                         new ActionDrop()
349                     ])
350                 ]
351                 matchInfoList = #[
352                     new MatchMetadata(1085217976614912bi, 1152920405095219200bi),
353                     new NxMatchCtState(33, 33)
354                 ]
355                 priority = 50
356                 tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
357             ],
358             new FlowEntityBuilder >> [
359                 dpnId = 123bi
360                 cookie = 110100481bi
361                 flowId = "Ingress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
362                 flowName = "ACL"
363                 instructionInfoList = #[
364                     new InstructionApplyActions(#[
365                         new ActionDrop()
366                     ])
367                 ]
368                 matchInfoList = #[
369                     new MatchMetadata(1085217976614912bi, 1152920405095219200bi),
370                     new NxMatchCtState(48, 48)
371                 ]
372                 priority = 62015
373                 tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
374             ]
375         ]
376     }
377
378     override fixedConntrackEgressFlowsPort3() {
379         #[
380             new FlowEntityBuilder >> [
381                 dpnId = 123bi
382                 cookie = 110100480bi
383                 flowId = "Egress_Fixed_Conntrk_123_0D:AA:D8:42:30:F5_2001:db8:3::/64_Recirc"
384                 flowName = "ACL"
385                 instructionInfoList = #[
386                     new InstructionApplyActions(#[
387                         new ActionNxConntrack(2, 0, 0, 5000, 213 as short)
388                     ])
389                 ]
390                 matchInfoList = #[
391                     new MatchEthernetSource(new MacAddress("0D:AA:D8:42:30:F5")),
392                     new MatchEthernetType(34525L),
393                     new MatchIpv6Source("2001:db8:3::/64")
394                 ]
395                 priority = 61010
396                 tableId = NwConstants.INGRESS_ACL_TABLE
397             ],
398             new FlowEntityBuilder >> [
399                 dpnId = 123bi
400                 cookie = 110100481bi
401                 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_New"
402                 flowName = "ACL"
403                 instructionInfoList = #[
404                     new InstructionApplyActions(#[
405                         new ActionDrop()
406                     ])
407                 ]
408                 matchInfoList = #[
409                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
410                     new NxMatchCtState(33, 33)
411                 ]
412                 priority = 50
413                 tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
414             ],
415             new FlowEntityBuilder >> [
416                 dpnId = 123bi
417                 cookie = 110100481bi
418                 flowId = "Egress_Fixed_Conntrk_Drop123_987_Tracked_Invalid"
419                 flowName = "ACL"
420                 instructionInfoList = #[
421                     new InstructionApplyActions(#[
422                         new ActionDrop()
423                     ])
424                 ]
425                 matchInfoList = #[
426                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
427                     new MatchMetadata(1085217976614912bi, 1152920405095219200bi),
428                     new NxMatchCtState(48, 48)
429                 ]
430                 priority = 62015
431                 tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
432             ]
433         ]
434     }
435
436     override etherEgressFlowsPort1() {
437         val theFlowId = "ETHERnullEgress98785cc3048-abc3-43cc-89b3-377341426ac6"
438         #[
439             new FlowEntityBuilder >> [
440                 dpnId = 123bi
441                 cookie = 110100480bi
442                 flowId = theFlowId
443                 flowName = "ACL"
444                 instructionInfoList = #[
445                     new InstructionApplyActions(#[
446                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
447                         new ActionNxResubmit(17 as short)
448                     ])
449                 ]
450                 matchInfoList = #[
451                     new MatchEthernetType(34525L),
452                     new MatchIpv6Source("::/0"),
453                     new MatchEthernetType(34525L),
454                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
455                     new NxMatchCtState(33, 33)
456                 ]
457                 priority = IdHelper.getId(theFlowId)
458                 tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
459             ]
460         ]
461     }
462
463     override etheregressFlowPort2() {
464         val theFlowId = "ETHERnullEgress98785cc3048-abc3-43cc-89b3-377341426ac6"
465         #[
466             new FlowEntityBuilder >> [
467                 dpnId = 123bi
468                 cookie = 110100480bi
469                 flowId = theFlowId
470                 flowName = "ACL"
471                 instructionInfoList = #[
472                     new InstructionApplyActions(#[
473                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
474                         new ActionNxResubmit(17 as short)
475                     ])
476                 ]
477                 matchInfoList = #[
478                     new MatchEthernetType(34525L),
479                     new MatchIpv6Source("::/0"),
480                     new MatchEthernetType(34525L),
481                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
482                     new NxMatchCtState(33, 33)
483                 ]
484                 priority = IdHelper.getId(theFlowId)
485                 tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
486             ]
487         ]
488     }
489
490     override tcpIngressFlowPort1() {
491         val theFlowId = "TCP_DESTINATION_80_65535Ingress98785cc3048-abc3-43cc-89b3-377341426ac7"
492         #[
493             new FlowEntityBuilder >> [
494                 dpnId = 123bi
495                 cookie = 110100480bi
496                 flowId = theFlowId
497                 flowName = "ACL"
498                 instructionInfoList = #[
499                     new InstructionApplyActions(#[
500                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
501                         new ActionNxResubmit(220 as short)
502                     ])
503                 ]
504                 matchInfoList = #[
505                     new MatchEthernetType(34525L),
506                     new MatchIpv6Source("::/0"),
507                     new MatchEthernetType(34525L),
508                     new NxMatchTcpDestinationPort(80, 65535),
509                     new MatchIpProtocol(6 as short),
510                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
511                     new NxMatchCtState(33, 33)
512                 ]
513                 priority = IdHelper.getId(theFlowId)
514                 tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
515             ]
516         ]
517     }
518
519     override tcpIngressFlowPort2() {
520         val theFlowId = "TCP_DESTINATION_80_65535Ingress98785cc3048-abc3-43cc-89b3-377341426ac7"
521         #[
522             new FlowEntityBuilder >> [
523                 dpnId = 123bi
524                 cookie = 110100480bi
525                 flowId = theFlowId
526                 flowName = "ACL"
527                 instructionInfoList = #[
528                     new InstructionApplyActions(#[
529                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
530                         new ActionNxResubmit(220 as short)
531                     ])
532                 ]
533                 matchInfoList = #[
534                     new MatchEthernetType(34525L),
535                     new MatchIpv6Source("::/0"),
536                     new MatchEthernetType(34525L),
537                     new NxMatchTcpDestinationPort(80, 65535),
538                     new MatchIpProtocol(6 as short),
539                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
540                     new NxMatchCtState(33, 33)
541                 ]
542                 priority = IdHelper.getId(theFlowId)
543                 tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
544             ]
545         ]
546     }
547
548     override tcpEgressFlowPort2() {
549         val flowId1 = "TCP_DESTINATION_80_65535_ipv6_remoteACL_interface_aap_0D:AA:D8:42:30:F3_2001:db8:1::/64Egress98785cc3048-abc3-43cc-89b3-377341426ac6"
550         val flowId2 = "TCP_DESTINATION_80_65535_ipv6_remoteACL_interface_aap_0D:AA:D8:42:30:F4_2001:db8:2::/64Egress98785cc3048-abc3-43cc-89b3-377341426ac6"
551         #[
552             new FlowEntityBuilder >> [
553                 dpnId = 123bi
554                 cookie = 110100480bi
555                 flowId = flowId1
556                 flowName = "ACL"
557                 instructionInfoList = #[
558                     new InstructionApplyActions(#[
559                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
560                         new ActionNxResubmit(17 as short)
561                     ])
562                 ]
563                 matchInfoList = #[
564                     new MatchEthernetType(34525L),
565                     new MatchIpv6Destination("2001:db8:1::/64"),
566                     new MatchEthernetType(34525L),
567                     new MatchIpv6Source("::/0"),
568                     new MatchEthernetType(34525L),
569                     new NxMatchTcpDestinationPort(80, 65535),
570                     new MatchIpProtocol(6 as short),
571                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
572                     new NxMatchCtState(33, 33)
573                 ]
574                 priority = IdHelper.getId(flowId1)
575                 tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
576             ],
577             new FlowEntityBuilder >> [
578                 dpnId = 123bi
579                 cookie = 110100480bi
580                 flowId = flowId1
581                 flowName = "ACL"
582                 instructionInfoList = #[
583                     new InstructionApplyActions(#[
584                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
585                         new ActionNxResubmit(17 as short)
586                     ])
587                 ]
588                 matchInfoList = #[
589                     new MatchEthernetType(34525L),
590                     new MatchIpv6Destination("2001:db8:2::/64"),
591                     new MatchEthernetType(34525L),
592                     new MatchIpv6Source("::/0"),
593                     new MatchEthernetType(34525L),
594                     new NxMatchTcpDestinationPort(80, 65535),
595                     new MatchIpProtocol(6 as short),
596                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
597                     new NxMatchCtState(33, 33)
598                 ]
599                 priority = IdHelper.getId(flowId2)
600                 tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
601             ]
602         ]
603     }
604
605     override udpEgressFlowsPort1() {
606         val theFlowId = "UDP_DESTINATION_80_65535Egress98785cc3048-abc3-43cc-89b3-377341426ac6"
607         #[
608              new FlowEntityBuilder >> [
609                 dpnId = 123bi
610                 cookie = 110100480bi
611                 flowId = theFlowId
612                 flowName = "ACL"
613                 instructionInfoList = #[
614                     new InstructionApplyActions(#[
615                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
616                         new ActionNxResubmit(17 as short)
617                     ])
618                 ]
619                 matchInfoList = #[
620                     new MatchEthernetType(34525L),
621                     new MatchIpv6Source("::/0"),
622                     new MatchEthernetType(34525L),
623                     new NxMatchUdpDestinationPort(80, 65535),
624                     new MatchIpProtocol(17 as short),
625                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
626                     new NxMatchCtState(33, 33)
627                 ]
628                 priority = IdHelper.getId(theFlowId)
629                 tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
630             ]
631         ]
632     }
633
634     override udpIngressFlowsPort2() {
635         val flowId1 = "UDP_DESTINATION_80_65535_ipv6_remoteACL_interface_aap_0D:AA:D8:42:30:F3_2001:db8:1::/64Ingress98785cc3048-abc3-43cc-89b3-377341426ac7"
636         val flowId2 = "UDP_DESTINATION_80_65535_ipv6_remoteACL_interface_aap_0D:AA:D8:42:30:F4_2001:db8:2::/64Ingress98785cc3048-abc3-43cc-89b3-377341426ac7"
637         #[
638             new FlowEntityBuilder >> [
639                 dpnId = 123bi
640                 cookie = 110100480bi
641                 flowId = flowId1
642                 flowName = "ACL"
643                 instructionInfoList = #[
644                     new InstructionApplyActions(#[
645                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
646                         new ActionNxResubmit(220 as short)
647                     ])
648                 ]
649                 matchInfoList = #[
650                     new MatchEthernetType(34525L),
651                     new MatchIpv6Source("2001:db8:1::/64"),
652                     new MatchEthernetType(34525L),
653                     new MatchIpv6Source("::/0"),
654                     new MatchEthernetType(34525L),
655                     new NxMatchUdpDestinationPort(80, 65535),
656                     new MatchIpProtocol(17 as short),
657                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
658                     new NxMatchCtState(33, 33)
659                 ]
660                 priority = IdHelper.getId(flowId1)
661                 tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
662             ],
663             new FlowEntityBuilder >> [
664                 dpnId = 123bi
665                 cookie = 110100480bi
666                 flowId = flowId2
667                 flowName = "ACL"
668                 instructionInfoList = #[
669                     new InstructionApplyActions(#[
670                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
671                         new ActionNxResubmit(220 as short)
672                     ])
673                 ]
674                 matchInfoList = #[
675                     new MatchEthernetType(34525L),
676                     new MatchIpv6Source("2001:db8:2::/64"),
677                     new MatchEthernetType(34525L),
678                     new MatchIpv6Source("::/0"),
679                     new MatchEthernetType(34525L),
680                     new NxMatchUdpDestinationPort(80, 65535),
681                     new MatchIpProtocol(17 as short),
682                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
683                     new NxMatchCtState(33, 33)
684                 ]
685                 priority = IdHelper.getId(flowId2)
686                 tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
687             ]
688         ]
689     }
690
691     override udpEgressFlowsPort2() {
692         val theFlowId = "UDP_DESTINATION_80_65535Egress98785cc3048-abc3-43cc-89b3-377341426ac6"
693         #[
694             new FlowEntityBuilder >> [
695                 dpnId = 123bi
696                 cookie = 110100480bi
697                 flowId = theFlowId
698                 flowName = "ACL"
699                 instructionInfoList = #[
700                     new InstructionApplyActions(#[
701                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
702                         new ActionNxResubmit(17 as short)
703                     ])
704                 ]
705                 matchInfoList = #[
706                     new MatchEthernetType(34525L),
707                     new MatchIpv6Source("::/0"),
708                     new MatchEthernetType(34525L),
709                     new NxMatchUdpDestinationPort(80, 65535),
710                     new MatchIpProtocol(17 as short),
711                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
712                     new NxMatchCtState(33, 33)
713                 ]
714                 priority = IdHelper.getId(theFlowId)
715                 tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
716             ]
717         ]
718     }
719
720     override icmpIngressFlowsPort1() {
721         val theFlowId = "ICMP_V6_DESTINATION_23_Ingress98785cc3048-abc3-43cc-89b3-377341426ac7"
722         #[
723             new FlowEntityBuilder >> [
724                 dpnId = 123bi
725                 cookie = 110100480bi
726                 flowId = theFlowId
727                 flowName = "ACL"
728                 instructionInfoList = #[
729                     new InstructionApplyActions(#[
730                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
731                         new ActionNxResubmit(220 as short)
732                     ])
733                 ]
734                 matchInfoList = #[
735                     new MatchEthernetType(34525L),
736                     new MatchIpv6Source("::/0"),
737                     new MatchEthernetType(34525L),
738                     new MatchIcmpv6(2 as short, 3 as short),
739                     new MatchIpProtocol(1 as short),
740                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
741                     new NxMatchCtState(33, 33)
742                 ]
743                 priority = IdHelper.getId(theFlowId)
744                 tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
745             ]
746         ]
747     }
748
749     override icmpIngressFlowsPort2() {
750         val theFlowId = "ICMP_V6_DESTINATION_23_Ingress98785cc3048-abc3-43cc-89b3-377341426ac7"
751         #[
752             new FlowEntityBuilder >> [
753                 dpnId = 123bi
754                 cookie = 110100480bi
755                 flowId = theFlowId
756                 flowName = "ACL"
757                 instructionInfoList = #[
758                     new InstructionApplyActions(#[
759                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
760                         new ActionNxResubmit(220 as short)
761                     ])
762                 ]
763                 matchInfoList = #[
764                     new MatchEthernetType(34525L),
765                     new MatchIpv6Source("::/0"),
766                     new MatchEthernetType(34525L),
767                     new MatchIcmpv6(2 as short, 3 as short),
768                     new MatchIpProtocol(1 as short),
769                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
770                     new NxMatchCtState(33, 33)
771                 ]
772                 priority = IdHelper.getId(theFlowId)
773                 tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
774             ]
775         ]
776     }
777
778     override icmpEgressFlowsPort2() {
779         val flowId1 = "ICMP_V6_DESTINATION_23__ipv6_remoteACL_interface_aap_0D:AA:D8:42:30:F3_2001:db8:1::/64Egress98785cc3048-abc3-43cc-89b3-377341426ac6"
780         val flowId2 = "ICMP_V6_DESTINATION_23__ipv6_remoteACL_interface_aap_0D:AA:D8:42:30:F4_2001:db8:2::/64Egress98785cc3048-abc3-43cc-89b3-377341426ac6"
781         #[
782             new FlowEntityBuilder >> [
783                 dpnId = 123bi
784                 cookie = 110100480bi
785                 flowId = flowId1
786                 flowName = "ACL"
787                 instructionInfoList = #[
788                     new InstructionApplyActions(#[
789                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
790                         new ActionNxResubmit(17 as short)
791                     ])
792                 ]
793                 matchInfoList = #[
794                     new MatchEthernetType(34525L),
795                     new MatchIpv6Destination("2001:db8:1::/64"),
796                     new MatchEthernetType(34525L),
797                     new MatchIpv6Source("::/0"),
798                     new MatchEthernetType(34525L),
799                     new MatchIcmpv6(2 as short, 3 as short),
800                     new MatchIpProtocol(1 as short),
801                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
802                     new NxMatchCtState(33, 33)
803                 ]
804                 priority = IdHelper.getId(flowId1)
805                 tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
806             ],
807             new FlowEntityBuilder >> [
808                 dpnId = 123bi
809                 cookie = 110100480bi
810                 flowId = flowId2
811                 flowName = "ACL"
812                 instructionInfoList = #[
813                     new InstructionApplyActions(#[
814                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
815                         new ActionNxResubmit(17 as short)
816                     ])
817                 ]
818                 matchInfoList = #[
819                     new MatchEthernetType(34525L),
820                     new MatchIpv6Destination("2001:db8:2::/64"),
821                     new MatchEthernetType(34525L),
822                     new MatchIpv6Source("::/0"),
823                     new MatchEthernetType(34525L),
824                     new MatchIcmpv6(2 as short, 3 as short),
825                     new MatchIpProtocol(1 as short),
826                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
827                     new NxMatchCtState(33, 33)
828                 ]
829                 priority = IdHelper.getId(flowId2)
830                 tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
831             ]
832         ]
833     }
834
835     override udpIngressPortRangeFlows() {
836         val theFlowId = "UDP_DESTINATION_2000_65532Ingress98785cc3048-abc3-43cc-89b3-377341426ac7"
837         #[
838             new FlowEntityBuilder >> [
839                 dpnId = 123bi
840                 cookie = 110100480bi
841                 flowId = theFlowId
842                 flowName = "ACL"
843                 instructionInfoList = #[
844                     new InstructionApplyActions(#[
845                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
846                         new ActionNxResubmit(220 as short)
847                     ])
848                 ]
849                 matchInfoList = #[
850                     new MatchEthernetType(34525L),
851                     new MatchIpv6Source("::/0"),
852                     new MatchEthernetType(34525L),
853                     new NxMatchUdpDestinationPort(2000, 65532),
854                     new MatchIpProtocol(17 as short),
855                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
856                     new NxMatchCtState(33, 33)
857                 ]
858                 priority = IdHelper.getId(theFlowId)
859                 tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
860             ]
861         ]
862     }
863
864     override tcpEgressRangeFlows() {
865         val flowId1 = "TCP_DESTINATION_776_65534Egress98785cc3048-abc3-43cc-89b3-377341426ac6"
866         val flowId2 = "TCP_DESTINATION_512_65280Egress98785cc3048-abc3-43cc-89b3-377341426ac6"
867         val flowId3 = "TCP_DESTINATION_334_65534Egress98785cc3048-abc3-43cc-89b3-377341426ac6"
868         val flowId4 = "TCP_DESTINATION_333_65535Egress98785cc3048-abc3-43cc-89b3-377341426ac6"
869         val flowId5 = "TCP_DESTINATION_336_65520Egress98785cc3048-abc3-43cc-89b3-377341426ac6"
870         val flowId6 = "TCP_DESTINATION_352_65504Egress98785cc3048-abc3-43cc-89b3-377341426ac6"
871         val flowId7 = "TCP_DESTINATION_384_65408Egress98785cc3048-abc3-43cc-89b3-377341426ac6"
872         val flowId8 = "TCP_DESTINATION_768_65528Egress98785cc3048-abc3-43cc-89b3-377341426ac6"
873         #[
874             new FlowEntityBuilder >> [
875                 dpnId = 123bi
876                 cookie = 110100480bi
877                 flowId = flowId1
878                 flowName = "ACL"
879                 instructionInfoList = #[
880                     new InstructionApplyActions(#[
881                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
882                         new ActionNxResubmit(17 as short)
883                     ])
884                 ]
885                 matchInfoList = #[
886                     new MatchEthernetType(34525L),
887                     new MatchIpv6Source("::/0"),
888                     new MatchEthernetType(34525L),
889                     new NxMatchTcpDestinationPort(776, 65534),
890                     new MatchIpProtocol(6 as short),
891                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
892                     new NxMatchCtState(33, 33)
893                 ]
894                 priority = IdHelper.getId(flowId1)
895                 tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
896             ],
897             new FlowEntityBuilder >> [
898                 dpnId = 123bi
899                 cookie = 110100480bi
900                 flowId = flowId2
901                 flowName = "ACL"
902                 instructionInfoList = #[
903                     new InstructionApplyActions(#[
904                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
905                         new ActionNxResubmit(17 as short)
906                     ])
907                 ]
908                 matchInfoList = #[
909                     new MatchEthernetType(34525L),
910                     new MatchIpv6Source("::/0"),
911                     new MatchEthernetType(34525L),
912                     new NxMatchTcpDestinationPort(512, 65280),
913                     new MatchIpProtocol(6 as short),
914                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
915                     new NxMatchCtState(33, 33)
916                 ]
917                 priority = IdHelper.getId(flowId2)
918                 tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
919             ],
920             new FlowEntityBuilder >> [
921                 dpnId = 123bi
922                 cookie = 110100480bi
923                 flowId = flowId3
924                 flowName = "ACL"
925                 instructionInfoList = #[
926                     new InstructionApplyActions(#[
927                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
928                         new ActionNxResubmit(17 as short)
929                     ])
930                 ]
931                 matchInfoList = #[
932                     new MatchEthernetType(34525L),
933                     new MatchIpv6Source("::/0"),
934                     new MatchEthernetType(34525L),
935                     new NxMatchTcpDestinationPort(334, 65534),
936                     new MatchIpProtocol(6 as short),
937                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
938                     new NxMatchCtState(33, 33)
939                 ]
940                 priority = IdHelper.getId(flowId3)
941                 tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
942             ],
943             new FlowEntityBuilder >> [
944                 dpnId = 123bi
945                 cookie = 110100480bi
946                 flowId = flowId4
947                 flowName = "ACL"
948                 instructionInfoList = #[
949                     new InstructionApplyActions(#[
950                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
951                         new ActionNxResubmit(17 as short)
952                     ])
953                 ]
954                 matchInfoList = #[
955                     new MatchEthernetType(34525L),
956                     new MatchIpv6Source("::/0"),
957                     new MatchEthernetType(34525L),
958                     new NxMatchTcpDestinationPort(333, 65535),
959                     new MatchIpProtocol(6 as short),
960                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
961                     new NxMatchCtState(33, 33)
962                 ]
963                 priority = IdHelper.getId(flowId4)
964                 tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
965             ],
966             new FlowEntityBuilder >> [
967                 dpnId = 123bi
968                 cookie = 110100480bi
969                 flowId = flowId5
970                 flowName = "ACL"
971                 instructionInfoList = #[
972                     new InstructionApplyActions(#[
973                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
974                         new ActionNxResubmit(17 as short)
975                     ])
976                 ]
977                 matchInfoList = #[
978                     new MatchEthernetType(34525L),
979                     new MatchIpv6Source("::/0"),
980                     new MatchEthernetType(34525L),
981                     new NxMatchTcpDestinationPort(336, 65520),
982                     new MatchIpProtocol(6 as short),
983                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
984                     new NxMatchCtState(33, 33)
985                 ]
986                 priority = IdHelper.getId(flowId5)
987                 tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
988             ],
989             new FlowEntityBuilder >> [
990                 dpnId = 123bi
991                 cookie = 110100480bi
992                 flowId = flowId6
993                 flowName = "ACL"
994                 instructionInfoList = #[
995                     new InstructionApplyActions(#[
996                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
997                         new ActionNxResubmit(17 as short)
998                     ])
999                 ]
1000                 matchInfoList = #[
1001                     new MatchEthernetType(34525L),
1002                     new MatchIpv6Source("::/0"),
1003                     new MatchEthernetType(34525L),
1004                     new NxMatchTcpDestinationPort(352, 65504),
1005                     new MatchIpProtocol(6 as short),
1006                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
1007                     new NxMatchCtState(33, 33)
1008                 ]
1009                 priority = IdHelper.getId(flowId6)
1010                 tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
1011             ],
1012             new FlowEntityBuilder >> [
1013                 dpnId = 123bi
1014                 cookie = 110100480bi
1015                 flowId = flowId7
1016                 flowName = "ACL"
1017                 instructionInfoList = #[
1018                     new InstructionApplyActions(#[
1019                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
1020                         new ActionNxResubmit(17 as short)
1021                     ])
1022                 ]
1023                 matchInfoList = #[
1024                     new MatchEthernetType(34525L),
1025                     new MatchIpv6Source("::/0"),
1026                     new MatchEthernetType(34525L),
1027                     new NxMatchTcpDestinationPort(384, 65408),
1028                     new MatchIpProtocol(6 as short),
1029                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
1030                     new NxMatchCtState(33, 33)
1031                 ]
1032                 priority = IdHelper.getId(flowId7)
1033                 tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
1034             ],
1035             new FlowEntityBuilder >> [
1036                 dpnId = 123bi
1037                 cookie = 110100480bi
1038                 flowId = flowId8
1039                 flowName = "ACL"
1040                 instructionInfoList = #[
1041                     new InstructionApplyActions(#[
1042                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
1043                         new ActionNxResubmit(17 as short)
1044                     ])
1045                 ]
1046                 matchInfoList = #[
1047                     new MatchEthernetType(34525L),
1048                     new MatchIpv6Source("::/0"),
1049                     new MatchEthernetType(34525L),
1050                     new NxMatchTcpDestinationPort(768, 65528),
1051                     new MatchIpProtocol(6 as short),
1052                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
1053                     new NxMatchCtState(33, 33)
1054                 ]
1055                 priority = IdHelper.getId(flowId8)
1056                 tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
1057             ]
1058         ]
1059     }
1060
1061     override udpIngressAllFlows() {
1062         val theFlowId = "UDP_DESTINATION_1_0Ingress98785cc3048-abc3-43cc-89b3-377341426ac7"
1063         #[
1064             new FlowEntityBuilder >> [
1065                 dpnId = 123bi
1066                 cookie = 110100480bi
1067                 flowId = theFlowId
1068                 flowName = "ACL"
1069                 instructionInfoList = #[
1070                     new InstructionApplyActions(#[
1071                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
1072                         new ActionNxResubmit(220 as short)
1073                     ])
1074                 ]
1075                 matchInfoList = #[
1076                     new MatchEthernetType(34525L),
1077                     new MatchIpv6Source("::/0"),
1078                     new MatchEthernetType(34525L),
1079                     new MatchIpProtocol(17 as short),
1080                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1081                     new NxMatchCtState(33, 33)
1082                 ]
1083                 priority = IdHelper.getId(theFlowId)
1084                 tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
1085             ]
1086         ]
1087     }
1088
1089     override tcpEgressAllFlows() {
1090         val theFlowId = "TCP_DESTINATION_1_0Egress98785cc3048-abc3-43cc-89b3-377341426ac6"
1091          #[
1092              new FlowEntityBuilder >> [
1093                 dpnId = 123bi
1094                 cookie = 110100480bi
1095                 flowId = theFlowId
1096                 flowName = "ACL"
1097                 instructionInfoList = #[
1098                     new InstructionApplyActions(#[
1099                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
1100                         new ActionNxResubmit(17 as short)
1101                     ])
1102                 ]
1103                 matchInfoList = #[
1104                     new MatchEthernetType(34525L),
1105                     new MatchIpv6Source("::/0"),
1106                     new MatchEthernetType(34525L),
1107                     new MatchIpProtocol(6 as short),
1108                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
1109                     new NxMatchCtState(33, 33)
1110                 ]
1111                 priority = IdHelper.getId(theFlowId)
1112                 tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
1113             ]
1114          ]
1115
1116      }
1117
1118     override icmpIngressFlowsPort3() {
1119         val flowId1 = "ICMP_V6_DESTINATION_23_Ingress98785cc3048-abc3-43cc-89b3-377341426ac7"
1120         val flowId2 = "ICMP_V6_DESTINATION_23_Ingress98785cc3048-abc3-43cc-89b3-377341426a22"
1121         #[
1122             new FlowEntityBuilder >> [
1123                 dpnId = 123bi
1124                 cookie = 110100480bi
1125                 flowId = flowId1
1126                 flowName = "ACL"
1127                 instructionInfoList = #[
1128                     new InstructionApplyActions(#[
1129                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
1130                         new ActionNxResubmit(220 as short)
1131                     ])
1132                 ]
1133                 matchInfoList = #[
1134                     new MatchEthernetType(34525L),
1135                     new MatchIpv6Source("::/0"),
1136                     new MatchEthernetType(34525L),
1137                     new MatchIcmpv6(2 as short, 3 as short),
1138                     new MatchIpProtocol(1 as short),
1139                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1140                     new NxMatchCtState(33, 33)
1141                 ]
1142                 priority = IdHelper.getId(flowId1)
1143                 tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
1144             ],
1145             new FlowEntityBuilder >> [
1146                 dpnId = 123bi
1147                 cookie = 110100480bi
1148                 flowId = flowId2
1149                 flowName = "ACL"
1150                 instructionInfoList = #[
1151                     new InstructionApplyActions(#[
1152                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
1153                         new ActionNxResubmit(220 as short)
1154                     ])
1155                 ]
1156                 matchInfoList = #[
1157                     new MatchEthernetType(34525L),
1158                     new MatchIpv6Source("::/0"),
1159                     new MatchEthernetType(34525L),
1160                     new MatchIcmpv6(2 as short, 3 as short),
1161                     new MatchIpProtocol(1 as short),
1162                     new NxMatchRegister(NxmNxReg6, 252672L, 268435200L),
1163                     new NxMatchCtState(33, 33)
1164                 ]
1165                 priority = IdHelper.getId(flowId2)
1166                 tableId = NwConstants.EGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
1167             ]
1168         ]
1169     }
1170
1171     override icmpEgressFlowsPort3() {
1172         val flowId1 = "ICMP_V6_DESTINATION_23_Egress98785cc3048-abc3-43cc-89b3-377341426ac6"
1173         val flowId2 = "ICMP_V6_DESTINATION_23_Egress98785cc3048-abc3-43cc-89b3-377341426a21"
1174         #[
1175             new FlowEntityBuilder >> [
1176                 dpnId = 123bi
1177                 cookie = 110100480bi
1178                 flowId = flowId1
1179                 flowName = "ACL"
1180                 instructionInfoList = #[
1181                     new InstructionApplyActions(#[
1182                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
1183                         new ActionNxResubmit(17 as short)
1184                     ])
1185                 ]
1186                 matchInfoList = #[
1187                     new MatchEthernetType(34525L),
1188                     new MatchIpv6Source("::/0"),
1189                     new MatchEthernetType(34525L),
1190                     new MatchIcmpv6(2 as short, 3 as short),
1191                     new MatchIpProtocol(1 as short),
1192                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
1193                     new NxMatchCtState(33, 33)
1194                 ]
1195                 priority = IdHelper.getId(flowId1)
1196                 tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
1197             ],
1198             new FlowEntityBuilder >> [
1199                 dpnId = 123bi
1200                 cookie = 110100480bi
1201                 flowId = flowId2
1202                 flowName = "ACL"
1203                 instructionInfoList = #[
1204                     new InstructionApplyActions(#[
1205                         new ActionNxConntrack(2, 1, 0, 5000, 255 as short),
1206                         new ActionNxResubmit(17 as short)
1207                     ])
1208                 ]
1209                 matchInfoList = #[
1210                     new MatchEthernetType(34525L),
1211                     new MatchIpv6Source("::/0"),
1212                     new MatchEthernetType(34525L),
1213                     new MatchIcmpv6(2 as short, 3 as short),
1214                     new MatchIpProtocol(1 as short),
1215                     new MatchMetadata(1085217976614912bi, MetaDataUtil.METADATA_MASK_LPORT_TAG),
1216                     new NxMatchCtState(33, 33)
1217                 ]
1218                 priority = IdHelper.getId(flowId2)
1219                 tableId = NwConstants.INGRESS_ACL_STATEFUL_APPLY_CHANGE_EXIST_TRAFFIC_TABLE
1220             ]
1221         ]
1222     }
1223 }