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