1[
2    {
3        "id": "6f5a",
4        "name": "Add vlan pop action with pipe opcode",
5        "category": [
6            "actions",
7            "vlan"
8        ],
9        "setup": [
10            [
11                "$TC actions flush action vlan",
12                0,
13                1,
14                255
15            ]
16        ],
17        "cmdUnderTest": "$TC actions add action vlan pop pipe index 8",
18        "expExitCode": "0",
19        "verifyCmd": "$TC actions list action vlan",
20        "matchPattern": "action order [0-9]+: vlan.*pop.*pipe.*index 8 ref",
21        "matchCount": "1",
22        "teardown": [
23            "$TC actions flush action vlan"
24        ]
25    },
26    {
27        "id": "df35",
28        "name": "Add vlan pop action with pass opcode",
29        "category": [
30            "actions",
31            "vlan"
32        ],
33        "setup": [
34            [
35                "$TC actions flush action vlan",
36                0,
37                1,
38                255
39            ]
40        ],
41        "cmdUnderTest": "$TC actions add action vlan pop pass index 8",
42        "expExitCode": "0",
43        "verifyCmd": "$TC actions get action vlan index 8",
44        "matchPattern": "action order [0-9]+: vlan.*pop.*pass.*index 8 ref",
45        "matchCount": "1",
46        "teardown": [
47            "$TC actions flush action vlan"
48        ]
49    },
50    {
51        "id": "b0d4",
52        "name": "Add vlan pop action with drop opcode",
53        "category": [
54            "actions",
55            "vlan"
56        ],
57        "setup": [
58            [
59                "$TC actions flush action vlan",
60                0,
61                1,
62                255
63            ]
64        ],
65        "cmdUnderTest": "$TC actions add action vlan pop drop index 8",
66        "expExitCode": "0",
67        "verifyCmd": "$TC actions get action vlan index 8",
68        "matchPattern": "action order [0-9]+: vlan.*pop.*drop.*index 8 ref",
69        "matchCount": "1",
70        "teardown": [
71            "$TC actions flush action vlan"
72        ]
73    },
74    {
75        "id": "95ee",
76        "name": "Add vlan pop action with reclassify opcode",
77        "category": [
78            "actions",
79            "vlan"
80        ],
81        "setup": [
82            [
83                "$TC actions flush action vlan",
84                0,
85                1,
86                255
87            ]
88        ],
89        "cmdUnderTest": "$TC actions add action vlan pop reclassify index 8",
90        "expExitCode": "0",
91        "verifyCmd": "$TC actions get action vlan index 8",
92        "matchPattern": "action order [0-9]+: vlan.*pop.*reclassify.*index 8 ref",
93        "matchCount": "1",
94        "teardown": [
95            "$TC actions flush action vlan"
96        ]
97    },
98    {
99        "id": "0283",
100        "name": "Add vlan pop action with continue opcode",
101        "category": [
102            "actions",
103            "vlan"
104        ],
105        "setup": [
106            [
107                "$TC actions flush action vlan",
108                0,
109                1,
110                255
111            ]
112        ],
113        "cmdUnderTest": "$TC actions add action vlan pop continue index 8",
114        "expExitCode": "0",
115        "verifyCmd": "$TC actions get action vlan index 8",
116        "matchPattern": "action order [0-9]+: vlan.*pop.*continue.*index 8 ref",
117        "matchCount": "1",
118        "teardown": [
119            "$TC actions flush action vlan"
120        ]
121    },
122    {
123        "id": "b6b9",
124        "name": "Add vlan pop action with jump opcode",
125        "category": [
126            "actions",
127            "vlan"
128        ],
129        "setup": [
130            [
131                "$TC actions flush action vlan",
132                0,
133                1,
134                255
135            ]
136        ],
137        "cmdUnderTest": "$TC actions add action vlan pop jump 10 index 8",
138        "expExitCode": "0",
139        "verifyCmd": "$TC actions list action vlan",
140        "matchPattern": "action order [0-9]+: vlan.*jump 10.*index 8 ref",
141        "matchCount": "1",
142        "teardown": [
143            "$TC actions flush action vlan"
144        ]
145    },
146    {
147        "id": "87c3",
148        "name": "Add vlan pop action with trap opcode",
149        "category": [
150            "actions",
151            "vlan"
152        ],
153        "setup": [
154            [
155                "$TC actions flush action vlan",
156                0,
157                1,
158                255
159            ]
160        ],
161        "cmdUnderTest": "$TC actions add action vlan pop trap index 8",
162        "expExitCode": "0",
163        "verifyCmd": "$TC actions list action vlan",
164        "matchPattern": "action order [0-9]+: vlan.*pop trap.*index 8 ref",
165        "matchCount": "1",
166        "teardown": [
167            "$TC actions flush action vlan"
168        ]
169    },
170    {
171        "id": "a178",
172        "name": "Add vlan pop action with invalid opcode",
173        "category": [
174            "actions",
175            "vlan"
176        ],
177        "setup": [
178            [
179                "$TC actions flush action vlan",
180                0,
181                1,
182                255
183            ]
184        ],
185        "cmdUnderTest": "$TC actions add action vlan pop foo index 8",
186        "expExitCode": "255",
187        "verifyCmd": "$TC actions list action vlan",
188        "matchPattern": "action order [0-9]+: vlan.*pop.*foo.*index 8 ref",
189        "matchCount": "0",
190        "teardown": []
191    },
192    {
193        "id": "ee6f",
194        "name": "Add vlan pop action with index at 32-bit maximum",
195        "category": [
196            "actions",
197            "vlan"
198        ],
199        "setup": [
200            [
201                "$TC actions flush action vlan",
202                0,
203                1,
204                255
205            ]
206        ],
207        "cmdUnderTest": "$TC actions add action vlan pop index 4294967295",
208        "expExitCode": "0",
209        "verifyCmd": "$TC actions list action vlan",
210        "matchPattern": "action order [0-9]+: vlan.*pop.*index 4294967295 ref",
211        "matchCount": "1",
212        "teardown": [
213            "$TC actions flush action vlan"
214        ]
215    },
216    {
217        "id": "0dfa",
218        "name": "Add vlan pop action with index exceeding 32-bit maximum",
219        "category": [
220            "actions",
221            "vlan"
222        ],
223        "setup": [
224            [
225                "$TC actions flush action vlan",
226                0,
227                1,
228                255
229            ]
230        ],
231        "cmdUnderTest": "$TC actions add action vlan pop reclassify index 429496729599",
232        "expExitCode": "255",
233        "verifyCmd": "$TC actions get action vlan index 429496729599",
234        "matchPattern": "action order [0-9]+: vlan.*pop.reclassify.*index 429496729599",
235        "matchCount": "0",
236        "teardown": []
237    },
238    {
239        "id": "2b91",
240        "name": "Add vlan invalid action",
241        "category": [
242            "actions",
243            "vlan"
244        ],
245        "setup": [
246            [
247                "$TC actions flush action vlan",
248                0,
249                1,
250                255
251            ]
252        ],
253        "cmdUnderTest": "$TC actions add action vlan bad_mode",
254        "expExitCode": "255",
255        "verifyCmd": "$TC actions list action vlan",
256        "matchPattern": "action order [0-9]+: vlan.*bad_mode",
257        "matchCount": "0",
258        "teardown": []
259    },
260    {
261        "id": "57fc",
262        "name": "Add vlan push action with invalid protocol type",
263        "category": [
264            "actions",
265            "vlan"
266        ],
267        "setup": [
268            [
269                "$TC actions flush action vlan",
270                0,
271                1,
272                255
273            ]
274        ],
275        "cmdUnderTest": "$TC actions add action vlan push protocol ABCD",
276        "expExitCode": "255",
277        "verifyCmd": "$TC actions list action vlan",
278        "matchPattern": "action order [0-9]+: vlan.*push",
279        "matchCount": "0",
280        "teardown": []
281    },
282    {
283        "id": "3989",
284        "name": "Add vlan push action with default protocol and priority",
285        "category": [
286            "actions",
287            "vlan"
288        ],
289        "setup": [
290            [
291                "$TC actions flush action vlan",
292                0,
293                1,
294                255
295            ]
296        ],
297        "cmdUnderTest": "$TC actions add action vlan push id 123 index 18",
298        "expExitCode": "0",
299        "verifyCmd": "$TC actions get action vlan index 18",
300        "matchPattern": "action order [0-9]+: vlan.*push id 123 protocol 802.1Q priority 0 pipe.*index 18 ref",
301        "matchCount": "1",
302        "teardown": [
303            "$TC actions flush action vlan"
304        ]
305    },
306    {
307        "id": "79dc",
308        "name": "Add vlan push action with protocol 802.1Q and priority 3",
309        "category": [
310            "actions",
311            "vlan"
312        ],
313        "setup": [
314            [
315                "$TC actions flush action vlan",
316                0,
317                1,
318                255
319            ]
320        ],
321        "cmdUnderTest": "$TC actions add action vlan push id 77 protocol 802.1Q priority 3 continue index 734",
322        "expExitCode": "0",
323        "verifyCmd": "$TC actions get action vlan index 734",
324        "matchPattern": "action order [0-9]+: vlan.*push id 77 protocol 802.1Q priority 3 continue.*index 734 ref",
325        "matchCount": "1",
326        "teardown": [
327            "$TC actions flush action vlan"
328        ]
329    },
330    {
331        "id": "4d73",
332        "name": "Add vlan push action with protocol 802.1AD",
333        "category": [
334            "actions",
335            "vlan"
336        ],
337        "setup": [
338            [
339                "$TC actions flush action vlan",
340                0,
341                1,
342                255
343            ]
344        ],
345        "cmdUnderTest": "$TC actions add action vlan push id 1024 protocol 802.1AD pass index 10000",
346        "expExitCode": "0",
347        "verifyCmd": "$TC actions get action vlan index 10000",
348        "matchPattern": "action order [0-9]+: vlan.*push id 1024 protocol 802.1ad priority 0 pass.*index 10000 ref",
349        "matchCount": "1",
350        "teardown": [
351            "$TC actions flush action vlan"
352        ]
353    },
354    {
355        "id": "1f4b",
356        "name": "Add vlan push action with maximum 12-bit vlan ID",
357        "category": [
358            "actions",
359            "vlan"
360        ],
361        "setup": [
362            [
363                "$TC actions flush action vlan",
364                0,
365                1,
366                255
367            ]
368        ],
369        "cmdUnderTest": "$TC actions add action vlan push id 4094 index 1",
370        "expExitCode": "0",
371        "verifyCmd": "$TC actions get action vlan index 1",
372        "matchPattern": "action order [0-9]+: vlan.*push id 4094.*protocol 802.1Q.*priority 0.*index 1 ref",
373        "matchCount": "1",
374        "teardown": [
375            "$TC actions flush action vlan"
376        ]
377    },
378    {
379        "id": "1f7b",
380        "name": "Add vlan push action with invalid vlan ID",
381        "category": [
382            "actions",
383            "vlan"
384        ],
385        "setup": [
386            [
387                "$TC actions flush action vlan",
388                0,
389                1,
390                255
391            ]
392        ],
393        "cmdUnderTest": "$TC actions add action vlan push id 5678 index 1",
394        "expExitCode": "255",
395        "verifyCmd": "$TC actions list action vlan",
396        "matchPattern": "action order [0-9]+: vlan.*push id 5678.*index 1 ref",
397        "matchCount": "0",
398        "teardown": [
399            "$TC actions flush action vlan"
400        ]
401    },
402    {
403        "id": "fe40",
404        "name": "Add vlan push action with maximum 3-bit IEEE 802.1p priority",
405        "category": [
406            "actions",
407            "vlan"
408        ],
409        "setup": [
410            [
411                "$TC actions flush action vlan",
412                0,
413                1,
414                255
415            ]
416        ],
417        "cmdUnderTest": "$TC actions add action vlan push id 4 priority 7 reclassify index 1",
418        "expExitCode": "0",
419        "verifyCmd": "$TC actions get action vlan index 1",
420        "matchPattern": "action order [0-9]+: vlan.*push id 4.*protocol 802.1Q.*priority 7.*reclassify.*index 1 ref",
421        "matchCount": "1",
422        "teardown": [
423            "$TC actions flush action vlan"
424        ]
425    },
426    {
427        "id": "5d02",
428        "name": "Add vlan push action with invalid IEEE 802.1p priority",
429        "category": [
430            "actions",
431            "vlan"
432        ],
433        "setup": [
434            [
435                "$TC actions flush action vlan",
436                0,
437                1,
438                255
439            ]
440        ],
441        "cmdUnderTest": "$TC actions add action vlan push id 5 priority 10 index 1",
442        "expExitCode": "255",
443        "verifyCmd": "$TC actions list action vlan",
444        "matchPattern": "action order [0-9]+: vlan.*push id 5.*index 1 ref",
445        "matchCount": "0",
446        "teardown": []
447    },
448    {
449        "id": "ba5b",
450        "name": "Add vlan modify action for protocol 802.1Q setting priority 0",
451        "category": [
452            "actions",
453            "vlan"
454        ],
455        "setup": [
456            [
457                "$TC actions flush action vlan",
458                0,
459                1,
460                255
461            ]
462        ],
463        "cmdUnderTest": "$TC actions add action vlan modify protocol 802.1Q id 5 priority 0 index 100",
464        "expExitCode": "0",
465        "verifyCmd": "$TC actions get action vlan index 100",
466        "matchPattern": "action order [0-9]+: vlan.*modify id 100 priority 0 protocol 802.1Q pipe.*index 100 ref",
467        "matchCount": "0",
468        "teardown": [
469            "$TC actions flush action vlan"
470        ]
471    },
472    {
473        "id": "6812",
474        "name": "Add vlan modify action for protocol 802.1Q",
475        "category": [
476            "actions",
477            "vlan"
478        ],
479        "setup": [
480            [
481                "$TC actions flush action vlan",
482                0,
483                1,
484                255
485            ]
486        ],
487        "cmdUnderTest": "$TC actions add action vlan modify protocol 802.1Q id 5 index 100",
488        "expExitCode": "0",
489        "verifyCmd": "$TC actions get action vlan index 100",
490        "matchPattern": "action order [0-9]+: vlan.*modify id 100 protocol 802.1Q pipe.*index 100 ref",
491        "matchCount": "0",
492        "teardown": [
493            "$TC actions flush action vlan"
494        ]
495    },
496    {
497        "id": "5a31",
498        "name": "Add vlan modify action for protocol 802.1AD",
499        "category": [
500            "actions",
501            "vlan"
502        ],
503        "setup": [
504            [
505                "$TC actions flush action vlan",
506                0,
507                1,
508                255
509            ]
510        ],
511        "cmdUnderTest": "$TC actions add action vlan modify protocol 802.1ad id 500 reclassify index 12",
512        "expExitCode": "0",
513        "verifyCmd": "$TC actions get action vlan index 12",
514        "matchPattern": "action order [0-9]+: vlan.*modify id 500 protocol 802.1ad reclassify.*index 12 ref",
515        "matchCount": "1",
516        "teardown": [
517            "$TC actions flush action vlan"
518        ]
519    },
520    {
521        "id": "3deb",
522        "name": "Replace existing vlan push action with new ID",
523        "category": [
524            "actions",
525            "vlan"
526        ],
527        "setup": [
528            [
529                "$TC actions flush action vlan",
530                0,
531                1,
532                255
533            ],
534            "$TC actions add action vlan push id 500 pipe index 12"
535        ],
536        "cmdUnderTest": "$TC actions replace action vlan push id 700 pipe index 12",
537        "expExitCode": "0",
538        "verifyCmd": "$TC actions get action vlan index 12",
539        "matchPattern": "action order [0-9]+: vlan.*push id 700 protocol 802.1Q priority 0 pipe.*index 12 ref",
540        "matchCount": "1",
541        "teardown": [
542            "$TC actions flush action vlan"
543        ]
544    },
545    {
546        "id": "9e76",
547        "name": "Replace existing vlan push action with new protocol",
548        "category": [
549            "actions",
550            "vlan"
551        ],
552        "setup": [
553            [
554                "$TC actions flush action vlan",
555                0,
556                1,
557                255
558            ],
559            "$TC actions add action vlan push id 1 protocol 802.1Q pipe index 1"
560        ],
561        "cmdUnderTest": "$TC actions replace action vlan push id 1 protocol 802.1ad pipe index 1",
562        "expExitCode": "0",
563        "verifyCmd": "$TC actions get action vlan index 1",
564        "matchPattern": "action order [0-9]+: vlan.*push id 1 protocol 802.1ad priority 0 pipe.*index 1 ref",
565        "matchCount": "1",
566        "teardown": [
567            "$TC actions flush action vlan"
568        ]
569    },
570    {
571        "id": "ede4",
572        "name": "Replace existing vlan push action with new priority",
573        "category": [
574            "actions",
575            "vlan"
576        ],
577        "setup": [
578            [
579                "$TC actions flush action vlan",
580                0,
581                1,
582                255
583            ],
584            "$TC actions add action vlan push id 1 protocol 802.1Q priority 3 reclassify index 1"
585        ],
586        "cmdUnderTest": "$TC actions replace action vlan push id 1 priority 4 reclassify index 1",
587        "expExitCode": "0",
588        "verifyCmd": "$TC actions get action vlan index 1",
589        "matchPattern": "action order [0-9]+: vlan.*push id 1 protocol 802.1Q priority 4 reclassify.*index 1 ref",
590        "matchCount": "1",
591        "teardown": [
592            "$TC actions flush action vlan"
593        ]
594    },
595    {
596        "id": "d413",
597        "name": "Replace existing vlan pop action with new cookie",
598        "category": [
599            "actions",
600            "vlan"
601        ],
602        "setup": [
603            [
604                "$TC actions flush action vlan",
605                0,
606                1,
607                255
608            ],
609            "$TC actions add action vlan pop continue index 1 cookie 22334455"
610        ],
611        "cmdUnderTest": "$TC actions replace action vlan pop continue index 1 cookie a1b1c2d1",
612        "expExitCode": "0",
613        "verifyCmd": "$TC actions get action vlan index 1",
614        "matchPattern": "action order [0-9]+: vlan.*pop continue.*index 1 ref.*cookie a1b1c2d1",
615        "matchCount": "1",
616        "teardown": [
617            "$TC actions flush action vlan"
618        ]
619    },
620    {
621        "id": "83a4",
622        "name": "Delete vlan pop action",
623        "category": [
624            "actions",
625            "vlan"
626        ],
627        "setup": [
628            [
629                "$TC actions flush action vlan",
630                0,
631                1,
632                255
633            ],
634            "$TC actions add action vlan pop index 44"
635        ],
636        "cmdUnderTest": "$TC actions del action vlan index 44",
637        "expExitCode": "0",
638        "verifyCmd": "$TC actions list action vlan",
639        "matchPattern": "action order [0-9]+: vlan.*pop.*index 44 ref",
640        "matchCount": "0",
641        "teardown": []
642    },
643    {
644        "id": "ed1e",
645        "name": "Delete vlan push action for protocol 802.1Q",
646        "category": [
647            "actions",
648            "vlan"
649        ],
650        "setup": [
651            [
652                "$TC actions flush action vlan",
653                0,
654                1,
655                255
656            ],
657            "$TC actions add action vlan push id 4094 protocol 802.1Q index 999"
658        ],
659        "cmdUnderTest": "$TC actions del action vlan index 999",
660        "expExitCode": "0",
661        "verifyCmd": "$TC actions list action vlan",
662        "matchPattern": "action order [0-9]+: vlan.*push id 4094 protocol 802.1Q priority 0 pipe.*index 999 ref",
663        "matchCount": "0",
664        "teardown": []
665    },
666    {
667        "id": "a2a3",
668        "name": "Flush vlan actions",
669        "category": [
670            "actions",
671            "vlan"
672        ],
673        "setup": [
674            [
675                "$TC actions flush action vlan",
676                0,
677                1,
678                255
679            ],
680            "$TC actions add action vlan push id 4 protocol 802.1ad index 10",
681            "$TC actions add action vlan push id 4 protocol 802.1ad index 11",
682            "$TC actions add action vlan push id 4 protocol 802.1ad index 12",
683            "$TC actions add action vlan push id 4 protocol 802.1ad index 13"
684        ],
685        "cmdUnderTest": "$TC actions flush action vlan",
686        "expExitCode": "0",
687        "verifyCmd": "$TC actions list action vlan",
688        "matchPattern": "action order [0-9]+: vlan.*push id 4 protocol 802.1ad",
689        "matchCount": "0",
690        "teardown": []
691    },
692    {
693        "id": "1d78",
694        "name": "Add vlan push action with cookie",
695        "category": [
696            "actions",
697            "vlan"
698        ],
699        "setup": [
700            [
701                "$TC actions flush action vlan",
702                0,
703                1,
704                255
705            ]
706        ],
707        "cmdUnderTest": "$TC actions add action vlan push id 4 cookie a0a0a0a0a0a0a0",
708        "expExitCode": "0",
709        "verifyCmd": "$TC actions list action vlan",
710        "matchPattern": "action order [0-9]+: vlan.*push id 4.*cookie a0a0a0a0a0a0a0",
711        "matchCount": "1",
712        "teardown": [
713            "$TC actions flush action vlan"
714        ]
715    },
716    {
717        "id": "e394",
718        "name": "Replace vlan push action with invalid goto chain control",
719        "category": [
720            "actions",
721            "vlan"
722        ],
723        "setup": [
724            [
725                "$TC actions flush action vlan",
726                0,
727                1,
728                255
729            ],
730            "$TC actions add action vlan push id 500 pass index 90"
731        ],
732        "cmdUnderTest": "$TC actions replace action vlan push id 500 goto chain 42 index 90 cookie c1a0c1a0",
733        "expExitCode": "255",
734        "verifyCmd": "$TC actions get action vlan index 90",
735        "matchPattern": "action order [0-9]+: vlan.*push id 500 protocol 802.1Q priority 0 pass.*index 90 ref",
736        "matchCount": "1",
737        "teardown": [
738            "$TC actions flush action vlan"
739        ]
740    },
741    {
742        "id": "294e",
743        "name": "Add batch of 32 vlan push actions with cookie",
744        "category": [
745            "actions",
746            "vlan"
747        ],
748        "setup": [
749            [
750                "$TC actions flush action vlan",
751                0,
752                1,
753                255
754            ]
755        ],
756        "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action vlan push protocol 802.1q id 4094 priority 7 pipe index \\$i cookie aabbccddeeff112233445566778800a1 \\\"; args=\"\\$args\\$cmd\"; done && $TC actions add \\$args\"",
757        "expExitCode": "0",
758        "verifyCmd": "$TC actions list action vlan",
759        "matchPattern": "^[ \t]+index [0-9]+ ref",
760        "matchCount": "32",
761        "teardown": [
762            "$TC actions flush action vlan"
763        ]
764    },
765    {
766        "id": "56f7",
767        "name": "Delete batch of 32 vlan push actions",
768        "category": [
769            "actions",
770            "vlan"
771        ],
772        "setup": [
773            [
774                "$TC actions flush action vlan",
775                0,
776                1,
777                255
778            ],
779            "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action vlan push protocol 802.1q id 4094 priority 7 pipe index \\$i \\\"; args=\\\"\\$args\\$cmd\\\"; done && $TC actions add \\$args\""
780        ],
781        "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action vlan index \\$i \\\"; args=\"\\$args\\$cmd\"; done && $TC actions del \\$args\"",
782        "expExitCode": "0",
783        "verifyCmd": "$TC actions list action vlan",
784        "matchPattern": "^[ \t]+index [0-9]+ ref",
785        "matchCount": "0",
786        "teardown": []
787    },
788    {
789        "id": "759f",
790        "name": "Add batch of 32 vlan pop actions with cookie",
791        "category": [
792            "actions",
793            "vlan"
794        ],
795        "setup": [
796            [
797                "$TC actions flush action vlan",
798                0,
799                1,
800                255
801            ]
802        ],
803        "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action vlan pop continue index \\$i cookie aabbccddeeff112233445566778800a1 \\\"; args=\"\\$args\\$cmd\"; done && $TC actions add \\$args\"",
804        "expExitCode": "0",
805        "verifyCmd": "$TC actions list action vlan",
806        "matchPattern": "^[ \t]+index [0-9]+ ref",
807        "matchCount": "32",
808        "teardown": [
809            "$TC actions flush action vlan"
810        ]
811    },
812    {
813        "id": "c84a",
814        "name": "Delete batch of 32 vlan pop actions",
815        "category": [
816            "actions",
817            "vlan"
818        ],
819        "setup": [
820            [
821                "$TC actions flush action vlan",
822                0,
823                1,
824                255
825            ],
826            "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action vlan pop index \\$i \\\"; args=\\\"\\$args\\$cmd\\\"; done && $TC actions add \\$args\""
827        ],
828        "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action vlan index \\$i \\\"; args=\"\\$args\\$cmd\"; done && $TC actions del \\$args\"",
829        "expExitCode": "0",
830        "verifyCmd": "$TC actions list action vlan",
831        "matchPattern": "^[ \t]+index [0-9]+ ref",
832        "matchCount": "0",
833        "teardown": []
834    },
835    {
836        "id": "1a3d",
837        "name": "Add vlan pop action with no_percpu flag",
838        "category": [
839            "actions",
840            "vlan"
841        ],
842        "setup": [
843            [
844                "$TC actions flush action vlan",
845                0,
846                1,
847                255
848            ]
849        ],
850        "cmdUnderTest": "$TC actions add action vlan pop no_percpu",
851        "expExitCode": "0",
852        "verifyCmd": "$TC actions list action vlan",
853        "matchPattern": "action order [0-9]+: vlan.*pop.*no_percpu",
854        "matchCount": "1",
855        "teardown": [
856            "$TC actions flush action vlan"
857        ]
858    }
859]
860