Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / tools / testing / selftests / tc-testing / tc-tests / actions / mpls.json
1 [
2     {
3         "id": "a933",
4         "name": "Add MPLS dec_ttl action with pipe opcode",
5         "category": [
6             "actions",
7             "mpls"
8         ],
9         "setup": [
10             [
11                 "$TC actions flush action mpls",
12                 0,
13                 1,
14                 255
15             ]
16         ],
17         "cmdUnderTest": "$TC actions add action mpls dec_ttl pipe index 8",
18         "expExitCode": "0",
19         "verifyCmd": "$TC actions list action mpls",
20         "matchPattern": "action order [0-9]+: mpls.*dec_ttl.*pipe.*index 8 ref",
21         "matchCount": "1",
22         "teardown": [
23             "$TC actions flush action mpls"
24         ]
25     },
26     {
27         "id": "08d1",
28         "name": "Add mpls dec_ttl action with pass opcode",
29         "category": [
30             "actions",
31             "mpls"
32         ],
33         "setup": [
34             [
35                 "$TC actions flush action mpls",
36                 0,
37                 1,
38                 255
39             ]
40         ],
41         "cmdUnderTest": "$TC actions add action mpls dec_ttl pass index 8",
42         "expExitCode": "0",
43         "verifyCmd": "$TC actions get action mpls index 8",
44         "matchPattern": "action order [0-9]+: mpls.*dec_ttl.*pass.*index 8 ref",
45         "matchCount": "1",
46         "teardown": [
47             "$TC actions flush action mpls"
48         ]
49     },
50     {
51         "id": "d786",
52         "name": "Add mpls dec_ttl action with drop opcode",
53         "category": [
54             "actions",
55             "mpls"
56         ],
57         "setup": [
58             [
59                 "$TC actions flush action mpls",
60                 0,
61                 1,
62                 255
63             ]
64         ],
65         "cmdUnderTest": "$TC actions add action mpls dec_ttl drop index 8",
66         "expExitCode": "0",
67         "verifyCmd": "$TC actions get action mpls index 8",
68         "matchPattern": "action order [0-9]+: mpls.*dec_ttl.*drop.*index 8 ref",
69         "matchCount": "1",
70         "teardown": [
71             "$TC actions flush action mpls"
72         ]
73     },
74     {
75         "id": "f334",
76         "name": "Add mpls dec_ttl action with reclassify opcode",
77         "category": [
78             "actions",
79             "mpls"
80         ],
81         "setup": [
82             [
83                 "$TC actions flush action mpls",
84                 0,
85                 1,
86                 255
87             ]
88         ],
89         "cmdUnderTest": "$TC actions add action mpls dec_ttl reclassify index 8",
90         "expExitCode": "0",
91         "verifyCmd": "$TC actions get action mpls index 8",
92         "matchPattern": "action order [0-9]+: mpls.*dec_ttl.*reclassify.*index 8 ref",
93         "matchCount": "1",
94         "teardown": [
95             "$TC actions flush action mpls"
96         ]
97     },
98     {
99         "id": "29bd",
100         "name": "Add mpls dec_ttl action with continue opcode",
101         "category": [
102             "actions",
103             "mpls"
104         ],
105         "setup": [
106             [
107                 "$TC actions flush action mpls",
108                 0,
109                 1,
110                 255
111             ]
112         ],
113         "cmdUnderTest": "$TC actions add action mpls dec_ttl continue index 8",
114         "expExitCode": "0",
115         "verifyCmd": "$TC actions get action mpls index 8",
116         "matchPattern": "action order [0-9]+: mpls.*dec_ttl.*continue.*index 8 ref",
117         "matchCount": "1",
118         "teardown": [
119             "$TC actions flush action mpls"
120         ]
121     },
122     {
123         "id": "48df",
124         "name": "Add mpls dec_ttl action with jump opcode",
125         "category": [
126             "actions",
127             "mpls"
128         ],
129         "setup": [
130             [
131                 "$TC actions flush action mpls",
132                 0,
133                 1,
134                 255
135             ]
136         ],
137         "cmdUnderTest": "$TC actions add action mpls dec_ttl jump 10 index 8",
138         "expExitCode": "0",
139         "verifyCmd": "$TC actions list action mpls",
140         "matchPattern": "action order [0-9]+: mpls.*jump 10.*index 8 ref",
141         "matchCount": "1",
142         "teardown": [
143             "$TC actions flush action mpls"
144         ]
145     },
146     {
147         "id": "62eb",
148         "name": "Add mpls dec_ttl action with trap opcode",
149         "category": [
150             "actions",
151             "mpls"
152         ],
153         "setup": [
154             [
155                 "$TC actions flush action mpls",
156                 0,
157                 1,
158                 255
159             ]
160         ],
161         "cmdUnderTest": "$TC actions add action mpls dec_ttl trap index 8",
162         "expExitCode": "0",
163         "verifyCmd": "$TC actions list action mpls",
164         "matchPattern": "action order [0-9]+: mpls.*dec_ttl trap.*index 8 ref",
165         "matchCount": "1",
166         "teardown": [
167             "$TC actions flush action mpls"
168         ]
169     },
170     {
171         "id": "9118",
172         "name": "Add mpls dec_ttl action with invalid opcode",
173         "category": [
174             "actions",
175             "mpls"
176         ],
177         "setup": [
178             [
179                 "$TC actions flush action mpls",
180                 0,
181                 1,
182                 255
183             ]
184         ],
185         "cmdUnderTest": "$TC actions add action mpls dec_ttl foo index 8",
186         "expExitCode": "255",
187         "verifyCmd": "$TC actions list action mpls",
188         "matchPattern": "action order [0-9]+: mpls.*dec_ttl.*foo.*index 8 ref",
189         "matchCount": "0",
190         "teardown": []
191     },
192     {
193         "id": "6ce1",
194         "name": "Add mpls dec_ttl action with label (invalid)",
195         "category": [
196             "actions",
197             "mpls"
198         ],
199         "setup": [
200             [
201                 "$TC actions flush action mpls",
202                 0,
203                 1,
204                 255
205             ]
206         ],
207         "cmdUnderTest": "$TC actions add action mpls dec_ttl label 20",
208         "expExitCode": "255",
209         "verifyCmd": "$TC actions list action mpls",
210         "matchPattern": "action order [0-9]+: mpls.*dec_ttl.*label.*20.*pipe",
211         "matchCount": "0",
212         "teardown": []
213     },
214     {
215         "id": "352f",
216         "name": "Add mpls dec_ttl action with tc (invalid)",
217         "category": [
218             "actions",
219             "mpls"
220         ],
221         "setup": [
222             [
223                 "$TC actions flush action mpls",
224                 0,
225                 1,
226                 255
227             ]
228         ],
229         "cmdUnderTest": "$TC actions add action mpls dec_ttl tc 3",
230         "expExitCode": "255",
231         "verifyCmd": "$TC actions list action mpls",
232         "matchPattern": "action order [0-9]+: mpls.*dec_ttl.*tc.*3.*pipe",
233         "matchCount": "0",
234         "teardown": []
235     },
236     {
237         "id": "fa1c",
238         "name": "Add mpls dec_ttl action with ttl (invalid)",
239         "category": [
240             "actions",
241             "mpls"
242         ],
243         "setup": [
244             [
245                 "$TC actions flush action mpls",
246                 0,
247                 1,
248                 255
249             ]
250         ],
251         "cmdUnderTest": "$TC actions add action mpls dec_ttl ttl 20",
252         "expExitCode": "255",
253         "verifyCmd": "$TC actions list action mpls",
254         "matchPattern": "action order [0-9]+: mpls.*dec_ttl.*ttl.*20.*pipe",
255         "matchCount": "0",
256         "teardown": []
257     },
258     {
259         "id": "6b79",
260         "name": "Add mpls dec_ttl action with bos (invalid)",
261         "category": [
262             "actions",
263             "mpls"
264         ],
265         "setup": [
266             [
267                 "$TC actions flush action mpls",
268                 0,
269                 1,
270                 255
271             ]
272         ],
273         "cmdUnderTest": "$TC actions add action mpls dec_ttl bos 1",
274         "expExitCode": "255",
275         "verifyCmd": "$TC actions list action mpls",
276         "matchPattern": "action order [0-9]+: mpls.*dec_ttl.*bos.*1.*pipe",
277         "matchCount": "0",
278         "teardown": []
279     },
280     {
281         "id": "d4c4",
282         "name": "Add mpls pop action with ip proto",
283         "category": [
284             "actions",
285             "mpls"
286         ],
287         "setup": [
288             [
289                 "$TC actions flush action mpls",
290                 0,
291                 1,
292                 255
293             ]
294         ],
295         "cmdUnderTest": "$TC actions add action mpls pop protocol ipv4",
296         "expExitCode": "0",
297         "verifyCmd": "$TC actions list action mpls",
298         "matchPattern": "action order [0-9]+: mpls.*pop.*protocol.*ip.*pipe",
299         "matchCount": "1",
300         "teardown": [
301             "$TC actions flush action mpls"
302         ]
303     },
304     {
305         "id": "92fe",
306         "name": "Add mpls pop action with mpls proto",
307         "category": [
308             "actions",
309             "mpls"
310         ],
311         "setup": [
312             [
313                 "$TC actions flush action mpls",
314                 0,
315                 1,
316                 255
317             ]
318         ],
319         "cmdUnderTest": "$TC actions add action mpls pop protocol mpls_mc",
320         "expExitCode": "0",
321         "verifyCmd": "$TC actions list action mpls",
322         "matchPattern": "action order [0-9]+: mpls.*pop.*protocol.*mpls_mc.*pipe",
323         "matchCount": "1",
324         "teardown": [
325             "$TC actions flush action mpls"
326         ]
327     },
328     {
329         "id": "7e23",
330         "name": "Add mpls pop action with no protocol (invalid)",
331         "category": [
332             "actions",
333             "mpls"
334         ],
335         "setup": [
336             [
337                 "$TC actions flush action mpls",
338                 0,
339                 1,
340                 255
341             ]
342         ],
343         "cmdUnderTest": "$TC actions add action mpls pop",
344         "expExitCode": "255",
345         "verifyCmd": "$TC actions list action mpls",
346         "matchPattern": "action order [0-9]+: mpls.*pop.*pipe",
347         "matchCount": "0",
348         "teardown": []
349     },
350     {
351         "id": "6182",
352         "name": "Add mpls pop action with label (invalid)",
353         "category": [
354             "actions",
355             "mpls"
356         ],
357         "setup": [
358             [
359                 "$TC actions flush action mpls",
360                 0,
361                 1,
362                 255
363             ]
364         ],
365         "cmdUnderTest": "$TC actions add action mpls pop protocol ipv4 label 20",
366         "expExitCode": "255",
367         "verifyCmd": "$TC actions list action mpls",
368         "matchPattern": "action order [0-9]+: mpls.*pop.*label.*20.*pipe",
369         "matchCount": "0",
370         "teardown": []
371     },
372     {
373         "id": "6475",
374         "name": "Add mpls pop action with tc (invalid)",
375         "category": [
376             "actions",
377             "mpls"
378         ],
379         "setup": [
380             [
381                 "$TC actions flush action mpls",
382                 0,
383                 1,
384                 255
385             ]
386         ],
387         "cmdUnderTest": "$TC actions add action mpls pop protocol ipv4 tc 3",
388         "expExitCode": "255",
389         "verifyCmd": "$TC actions list action mpls",
390         "matchPattern": "action order [0-9]+: mpls.*pop.*tc.*3.*pipe",
391         "matchCount": "0",
392         "teardown": []
393     },
394     {
395         "id": "067b",
396         "name": "Add mpls pop action with ttl (invalid)",
397         "category": [
398             "actions",
399             "mpls"
400         ],
401         "setup": [
402             [
403                 "$TC actions flush action mpls",
404                 0,
405                 1,
406                 255
407             ]
408         ],
409         "cmdUnderTest": "$TC actions add action mpls pop protocol ipv4 ttl 20",
410         "expExitCode": "255",
411         "verifyCmd": "$TC actions list action mpls",
412         "matchPattern": "action order [0-9]+: mpls.*pop.*ttl.*20.*pipe",
413         "matchCount": "0",
414         "teardown": []
415     },
416     {
417         "id": "7316",
418         "name": "Add mpls pop action with bos (invalid)",
419         "category": [
420             "actions",
421             "mpls"
422         ],
423         "setup": [
424             [
425                 "$TC actions flush action mpls",
426                 0,
427                 1,
428                 255
429             ]
430         ],
431         "cmdUnderTest": "$TC actions add action mpls pop protocol ipv4 bos 1",
432         "expExitCode": "255",
433         "verifyCmd": "$TC actions list action mpls",
434         "matchPattern": "action order [0-9]+: mpls.*pop.*bos.*1.*pipe",
435         "matchCount": "0",
436         "teardown": []
437     },
438     {
439         "id": "38cc",
440         "name": "Add mpls push action with label",
441         "category": [
442             "actions",
443             "mpls"
444         ],
445         "setup": [
446             [
447                 "$TC actions flush action mpls",
448                 0,
449                 1,
450                 255
451             ]
452         ],
453         "cmdUnderTest": "$TC actions add action mpls push label 20",
454         "expExitCode": "0",
455         "verifyCmd": "$TC actions list action mpls",
456         "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_uc.*label.*20.*ttl.*[0-9]+.*pipe",
457         "matchCount": "1",
458         "teardown": [
459             "$TC actions flush action mpls"
460         ]
461     },
462     {
463         "id": "c281",
464         "name": "Add mpls push action with mpls_mc protocol",
465         "category": [
466             "actions",
467             "mpls"
468         ],
469         "setup": [
470             [
471                 "$TC actions flush action mpls",
472                 0,
473                 1,
474                 255
475             ]
476         ],
477         "cmdUnderTest": "$TC actions add action mpls push protocol mpls_mc label 20",
478         "expExitCode": "0",
479         "verifyCmd": "$TC actions list action mpls",
480         "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_mc.*label.*20.*ttl.*[0-9]+.*pipe",
481         "matchCount": "1",
482         "teardown": [
483             "$TC actions flush action mpls"
484         ]
485     },
486     {
487         "id": "5db4",
488         "name": "Add mpls push action with label, tc and ttl",
489         "category": [
490             "actions",
491             "mpls"
492         ],
493         "setup": [
494             [
495                 "$TC actions flush action mpls",
496                 0,
497                 1,
498                 255
499             ]
500         ],
501         "cmdUnderTest": "$TC actions add action mpls push label 20 tc 3 ttl 128",
502         "expExitCode": "0",
503         "verifyCmd": "$TC actions list action mpls",
504         "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_uc.*label.*20.*tc.*3.*ttl.*128.*pipe",
505         "matchCount": "1",
506         "teardown": [
507             "$TC actions flush action mpls"
508         ]
509     },
510     {
511         "id": "16eb",
512         "name": "Add mpls push action with label and bos",
513         "category": [
514             "actions",
515             "mpls"
516         ],
517         "setup": [
518             [
519                 "$TC actions flush action mpls",
520                 0,
521                 1,
522                 255
523             ]
524         ],
525         "cmdUnderTest": "$TC actions add action mpls push label 20 bos 1",
526         "expExitCode": "0",
527         "verifyCmd": "$TC actions list action mpls",
528         "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_uc.*label.*20.*bos.*1.*pipe",
529         "matchCount": "1",
530         "teardown": [
531             "$TC actions flush action mpls"
532         ]
533     },
534     {
535         "id": "d69d",
536         "name": "Add mpls push action with no label (invalid)",
537         "category": [
538             "actions",
539             "mpls"
540         ],
541         "setup": [
542             [
543                 "$TC actions flush action mpls",
544                 0,
545                 1,
546                 255
547             ]
548         ],
549         "cmdUnderTest": "$TC actions add action mpls push",
550         "expExitCode": "255",
551         "verifyCmd": "$TC actions list action mpls",
552         "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_uc.*pipe",
553         "matchCount": "0",
554         "teardown": []
555     },
556     {
557         "id": "e8e4",
558         "name": "Add mpls push action with ipv4 protocol (invalid)",
559         "category": [
560             "actions",
561             "mpls"
562         ],
563         "setup": [
564             [
565                 "$TC actions flush action mpls",
566                 0,
567                 1,
568                 255
569             ]
570         ],
571         "cmdUnderTest": "$TC actions add action mpls push protocol ipv4 label 20",
572         "expExitCode": "255",
573         "verifyCmd": "$TC actions list action mpls",
574         "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_uc.*label.*20.*ttl.*[0-9]+.*pipe",
575         "matchCount": "0",
576         "teardown": []
577     },
578     {
579         "id": "ecd0",
580         "name": "Add mpls push action with out of range label (invalid)",
581         "category": [
582             "actions",
583             "mpls"
584         ],
585         "setup": [
586             [
587                 "$TC actions flush action mpls",
588                 0,
589                 1,
590                 255
591             ]
592         ],
593         "cmdUnderTest": "$TC actions add action mpls push label 1048576",
594         "expExitCode": "255",
595         "verifyCmd": "$TC actions list action mpls",
596         "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_uc.*label.*1048576.*pipe",
597         "matchCount": "0",
598         "teardown": []
599     },
600     {
601         "id": "d303",
602         "name": "Add mpls push action with out of range tc (invalid)",
603         "category": [
604             "actions",
605             "mpls"
606         ],
607         "setup": [
608             [
609                 "$TC actions flush action mpls",
610                 0,
611                 1,
612                 255
613             ]
614         ],
615         "cmdUnderTest": "$TC actions add action mpls push label 20 tc 8",
616         "expExitCode": "255",
617         "verifyCmd": "$TC actions list action mpls",
618         "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_uc.*label.*20.*tc.*8.*pipe",
619         "matchCount": "0",
620         "teardown": []
621     },
622     {
623         "id": "fd6e",
624         "name": "Add mpls push action with ttl of 0 (invalid)",
625         "category": [
626             "actions",
627             "mpls"
628         ],
629         "setup": [
630             [
631                 "$TC actions flush action mpls",
632                 0,
633                 1,
634                 255
635             ]
636         ],
637         "cmdUnderTest": "$TC actions add action mpls push label 20 ttl 0",
638         "expExitCode": "255",
639         "verifyCmd": "$TC actions list action mpls",
640         "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_uc.*label.*20.*ttl.*0.*pipe",
641         "matchCount": "0",
642         "teardown": []
643     },
644     {
645         "id": "19e9",
646         "name": "Add mpls mod action with mpls label",
647         "category": [
648             "actions",
649             "mpls"
650         ],
651         "setup": [
652             [
653                 "$TC actions flush action mpls",
654                 0,
655                 1,
656                 255
657             ]
658         ],
659         "cmdUnderTest": "$TC actions add action mpls mod label 20",
660         "expExitCode": "0",
661         "verifyCmd": "$TC actions list action mpls",
662         "matchPattern": "action order [0-9]+: mpls.*modify.*label.*20.*pipe",
663         "matchCount": "1",
664         "teardown": [
665             "$TC actions flush action mpls"
666         ]
667     },
668     {
669         "id": "1fde",
670         "name": "Add mpls mod action with max mpls label",
671         "category": [
672             "actions",
673             "mpls"
674         ],
675         "setup": [
676             [
677                 "$TC actions flush action mpls",
678                 0,
679                 1,
680                 255
681             ]
682         ],
683         "cmdUnderTest": "$TC actions add action mpls mod label 0xfffff",
684         "expExitCode": "0",
685         "verifyCmd": "$TC actions list action mpls",
686         "matchPattern": "action order [0-9]+: mpls.*modify.*label.*1048575.*pipe",
687         "matchCount": "1",
688         "teardown": [
689             "$TC actions flush action mpls"
690         ]
691     },
692     {
693         "id": "0c50",
694         "name": "Add mpls mod action with mpls label exceeding max (invalid)",
695         "category": [
696             "actions",
697             "mpls"
698         ],
699         "setup": [
700             [
701                 "$TC actions flush action mpls",
702                 0,
703                 1,
704                 255
705             ]
706         ],
707         "cmdUnderTest": "$TC actions add action mpls mod label 0x100000",
708         "expExitCode": "255",
709         "verifyCmd": "$TC actions list action mpls",
710         "matchPattern": "action order [0-9]+: mpls.*modify.*label.*1048576.*pipe",
711         "matchCount": "0",
712         "teardown": []
713     },
714     {
715         "id": "10b6",
716         "name": "Add mpls mod action with mpls label of MPLS_LABEL_IMPLNULL (invalid)",
717         "category": [
718             "actions",
719             "mpls"
720         ],
721         "setup": [
722             [
723                 "$TC actions flush action mpls",
724                 0,
725                 1,
726                 255
727             ]
728         ],
729         "cmdUnderTest": "$TC actions add action mpls mod label 3",
730         "expExitCode": "255",
731         "verifyCmd": "$TC actions list action mpls",
732         "matchPattern": "action order [0-9]+: mpls.*modify.*label.*3.*pipe",
733         "matchCount": "0",
734         "teardown": []
735     },
736     {
737         "id": "57c9",
738         "name": "Add mpls mod action with mpls min tc",
739         "category": [
740             "actions",
741             "mpls"
742         ],
743         "setup": [
744             [
745                 "$TC actions flush action mpls",
746                 0,
747                 1,
748                 255
749             ]
750         ],
751         "cmdUnderTest": "$TC actions add action mpls mod tc 0",
752         "expExitCode": "0",
753         "verifyCmd": "$TC actions list action mpls",
754         "matchPattern": "action order [0-9]+: mpls.*modify.*tc.*0.*pipe",
755         "matchCount": "1",
756         "teardown": [
757             "$TC actions flush action mpls"
758         ]
759     },
760     {
761         "id": "6872",
762         "name": "Add mpls mod action with mpls max tc",
763         "category": [
764             "actions",
765             "mpls"
766         ],
767         "setup": [
768             [
769                 "$TC actions flush action mpls",
770                 0,
771                 1,
772                 255
773             ]
774         ],
775         "cmdUnderTest": "$TC actions add action mpls mod tc 7",
776         "expExitCode": "0",
777         "verifyCmd": "$TC actions list action mpls",
778         "matchPattern": "action order [0-9]+: mpls.*modify.*tc.*7.*pipe",
779         "matchCount": "1",
780         "teardown": [
781             "$TC actions flush action mpls"
782         ]
783     },
784     {
785         "id": "a70a",
786         "name": "Add mpls mod action with mpls tc exceeding max (invalid)",
787         "category": [
788             "actions",
789             "mpls"
790         ],
791         "setup": [
792             [
793                 "$TC actions flush action mpls",
794                 0,
795                 1,
796                 255
797             ]
798         ],
799         "cmdUnderTest": "$TC actions add action mpls mod tc 8",
800         "expExitCode": "255",
801         "verifyCmd": "$TC actions list action mpls",
802         "matchPattern": "action order [0-9]+: mpls.*modify.*tc.*4.*pipe",
803         "matchCount": "0",
804         "teardown": []
805     },
806     {
807         "id": "6ed5",
808         "name": "Add mpls mod action with mpls ttl",
809         "category": [
810             "actions",
811             "mpls"
812         ],
813         "setup": [
814             [
815                 "$TC actions flush action mpls",
816                 0,
817                 1,
818                 255
819             ]
820         ],
821         "cmdUnderTest": "$TC actions add action mpls mod ttl 128",
822         "expExitCode": "0",
823         "verifyCmd": "$TC actions list action mpls",
824         "matchPattern": "action order [0-9]+: mpls.*modify.*ttl.*128.*pipe",
825         "matchCount": "1",
826         "teardown": [
827             "$TC actions flush action mpls"
828         ]
829     },
830     {
831         "id": "b80f",
832         "name": "Add mpls mod action with mpls max ttl",
833         "category": [
834             "actions",
835             "mpls"
836         ],
837         "setup": [
838             [
839                 "$TC actions flush action mpls",
840                 0,
841                 1,
842                 255
843             ]
844         ],
845         "cmdUnderTest": "$TC actions add action mpls mod ttl 255",
846         "expExitCode": "0",
847         "verifyCmd": "$TC actions list action mpls",
848         "matchPattern": "action order [0-9]+: mpls.*modify.*ttl.*255.*pipe",
849         "matchCount": "1",
850         "teardown": [
851             "$TC actions flush action mpls"
852         ]
853     },
854     {
855         "id": "8864",
856         "name": "Add mpls mod action with mpls min ttl",
857         "category": [
858             "actions",
859             "mpls"
860         ],
861         "setup": [
862             [
863                 "$TC actions flush action mpls",
864                 0,
865                 1,
866                 255
867             ]
868         ],
869         "cmdUnderTest": "$TC actions add action mpls mod ttl 1",
870         "expExitCode": "0",
871         "verifyCmd": "$TC actions list action mpls",
872         "matchPattern": "action order [0-9]+: mpls.*modify.*ttl.*1.*pipe",
873         "matchCount": "1",
874         "teardown": [
875             "$TC actions flush action mpls"
876         ]
877     },
878     {
879         "id": "6c06",
880         "name": "Add mpls mod action with mpls ttl of 0 (invalid)",
881         "category": [
882             "actions",
883             "mpls"
884         ],
885         "setup": [
886             [
887                 "$TC actions flush action mpls",
888                 0,
889                 1,
890                 255
891             ]
892         ],
893         "cmdUnderTest": "$TC actions add action mpls mod ttl 0",
894         "expExitCode": "255",
895         "verifyCmd": "$TC actions list action mpls",
896         "matchPattern": "action order [0-9]+: mpls.*modify.*ttl.*0.*pipe",
897         "matchCount": "0",
898         "teardown": []
899     },
900     {
901         "id": "b5d8",
902         "name": "Add mpls mod action with mpls ttl exceeding max (invalid)",
903         "category": [
904             "actions",
905             "mpls"
906         ],
907         "setup": [
908             [
909                 "$TC actions flush action mpls",
910                 0,
911                 1,
912                 255
913             ]
914         ],
915         "cmdUnderTest": "$TC actions add action mpls mod ttl 256",
916         "expExitCode": "255",
917         "verifyCmd": "$TC actions list action mpls",
918         "matchPattern": "action order [0-9]+: mpls.*modify.*ttl.*256.*pipe",
919         "matchCount": "0",
920         "teardown": []
921     },
922     {
923         "id": "451f",
924         "name": "Add mpls mod action with mpls max bos",
925         "category": [
926             "actions",
927             "mpls"
928         ],
929         "setup": [
930             [
931                 "$TC actions flush action mpls",
932                 0,
933                 1,
934                 255
935             ]
936         ],
937         "cmdUnderTest": "$TC actions add action mpls mod bos 1",
938         "expExitCode": "0",
939         "verifyCmd": "$TC actions list action mpls",
940         "matchPattern": "action order [0-9]+: mpls.*modify.*bos.*1.*pipe",
941         "matchCount": "1",
942         "teardown": [
943             "$TC actions flush action mpls"
944         ]
945     },
946     {
947         "id": "a1ed",
948         "name": "Add mpls mod action with mpls min bos",
949         "category": [
950             "actions",
951             "mpls"
952         ],
953         "setup": [
954             [
955                 "$TC actions flush action mpls",
956                 0,
957                 1,
958                 255
959             ]
960         ],
961         "cmdUnderTest": "$TC actions add action mpls mod bos 0",
962         "expExitCode": "0",
963         "verifyCmd": "$TC actions list action mpls",
964         "matchPattern": "action order [0-9]+: mpls.*modify.*bos.*0.*pipe",
965         "matchCount": "1",
966         "teardown": [
967             "$TC actions flush action mpls"
968         ]
969     },
970     {
971         "id": "3dcf",
972         "name": "Add mpls mod action with mpls bos exceeding max (invalid)",
973         "category": [
974             "actions",
975             "mpls"
976         ],
977         "setup": [
978             [
979                 "$TC actions flush action mpls",
980                 0,
981                 1,
982                 255
983             ]
984         ],
985         "cmdUnderTest": "$TC actions add action mpls mod bos 2",
986         "expExitCode": "255",
987         "verifyCmd": "$TC actions list action mpls",
988         "matchPattern": "action order [0-9]+: mpls.*modify.*bos.*2.*pipe",
989         "matchCount": "0",
990         "teardown": []
991     },
992     {
993         "id": "db7c",
994         "name": "Add mpls mod action with protocol (invalid)",
995         "category": [
996             "actions",
997             "mpls"
998         ],
999         "setup": [
1000             [
1001                 "$TC actions flush action mpls",
1002                 0,
1003                 1,
1004                 255
1005             ]
1006         ],
1007         "cmdUnderTest": "$TC actions add action mpls mod protocol ipv4",
1008         "expExitCode": "255",
1009         "verifyCmd": "$TC actions list action mpls",
1010         "matchPattern": "action order [0-9]+: mpls.*modify.*protocol.*ip.*pipe",
1011         "matchCount": "0",
1012         "teardown": []
1013     },
1014     {
1015         "id": "b070",
1016         "name": "Replace existing mpls push action with new ID",
1017         "category": [
1018             "actions",
1019             "mpls"
1020         ],
1021         "setup": [
1022             [
1023                 "$TC actions flush action mpls",
1024                 0,
1025                 1,
1026                 255
1027             ],
1028             "$TC actions add action mpls push label 20 pipe index 12"
1029         ],
1030         "cmdUnderTest": "$TC actions replace action mpls push label 30 pipe index 12",
1031         "expExitCode": "0",
1032         "verifyCmd": "$TC actions get action mpls index 12",
1033         "matchPattern": "action order [0-9]+: mpls.*push.*protocol.*mpls_uc.*label.*30.*pipe.*index 12 ref",
1034         "matchCount": "1",
1035         "teardown": [
1036             "$TC actions flush action mpls"
1037         ]
1038     },
1039     {
1040         "id": "6cce",
1041         "name": "Delete mpls pop action",
1042         "category": [
1043             "actions",
1044             "mpls"
1045         ],
1046         "setup": [
1047             [
1048                 "$TC actions flush action mpls",
1049                 0,
1050                 1,
1051                 255
1052             ],
1053             "$TC actions add action mpls pop protocol ipv4 index 44"
1054         ],
1055         "cmdUnderTest": "$TC actions del action mpls index 44",
1056         "expExitCode": "0",
1057         "verifyCmd": "$TC actions list action mpls",
1058         "matchPattern": "action order [0-9]+: mpls.*pop.*index 44 ref",
1059         "matchCount": "0",
1060         "teardown": []
1061     },
1062     {
1063         "id": "d138",
1064         "name": "Flush mpls actions",
1065         "category": [
1066             "actions",
1067             "mpls"
1068         ],
1069         "setup": [
1070             [
1071                 "$TC actions flush action mpls",
1072                 0,
1073                 1,
1074                 255
1075             ],
1076             "$TC actions add action mpls push label 10 index 10",
1077             "$TC actions add action mpls push label 20 index 20",
1078             "$TC actions add action mpls push label 30 index 30",
1079             "$TC actions add action mpls push label 40 index 40"
1080         ],
1081         "cmdUnderTest": "$TC actions flush action mpls",
1082         "expExitCode": "0",
1083         "verifyCmd": "$TC actions list action mpls",
1084         "matchPattern": "action order [0-9]+: mpls.*push.*",
1085         "matchCount": "0",
1086         "teardown": []
1087     }
1088 ]