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