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