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