xref: /OK3568_Linux_fs/kernel/tools/testing/selftests/tc-testing/tc-tests/actions/gact.json (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun[
2*4882a593Smuzhiyun    {
3*4882a593Smuzhiyun        "id": "e89a",
4*4882a593Smuzhiyun        "name": "Add valid pass action",
5*4882a593Smuzhiyun        "category": [
6*4882a593Smuzhiyun            "actions",
7*4882a593Smuzhiyun            "gact"
8*4882a593Smuzhiyun        ],
9*4882a593Smuzhiyun        "setup": [
10*4882a593Smuzhiyun            [
11*4882a593Smuzhiyun                "$TC actions flush action gact",
12*4882a593Smuzhiyun                0,
13*4882a593Smuzhiyun                1,
14*4882a593Smuzhiyun                255
15*4882a593Smuzhiyun            ]
16*4882a593Smuzhiyun        ],
17*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action pass index 8",
18*4882a593Smuzhiyun        "expExitCode": "0",
19*4882a593Smuzhiyun        "verifyCmd": "$TC actions list action gact",
20*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: gact action pass.*index 8 ref",
21*4882a593Smuzhiyun        "matchCount": "1",
22*4882a593Smuzhiyun        "teardown": [
23*4882a593Smuzhiyun            "$TC actions flush action gact"
24*4882a593Smuzhiyun        ]
25*4882a593Smuzhiyun    },
26*4882a593Smuzhiyun    {
27*4882a593Smuzhiyun        "id": "a02c",
28*4882a593Smuzhiyun        "name": "Add valid pipe action",
29*4882a593Smuzhiyun        "category": [
30*4882a593Smuzhiyun            "actions",
31*4882a593Smuzhiyun            "gact"
32*4882a593Smuzhiyun        ],
33*4882a593Smuzhiyun        "setup": [
34*4882a593Smuzhiyun            [
35*4882a593Smuzhiyun                "$TC actions flush action gact",
36*4882a593Smuzhiyun                0,
37*4882a593Smuzhiyun                1,
38*4882a593Smuzhiyun                255
39*4882a593Smuzhiyun            ]
40*4882a593Smuzhiyun        ],
41*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action pipe index 6",
42*4882a593Smuzhiyun        "expExitCode": "0",
43*4882a593Smuzhiyun        "verifyCmd": "$TC actions list action gact",
44*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: gact action pipe.*index 6 ref",
45*4882a593Smuzhiyun        "matchCount": "1",
46*4882a593Smuzhiyun        "teardown": [
47*4882a593Smuzhiyun            "$TC actions flush action gact"
48*4882a593Smuzhiyun        ]
49*4882a593Smuzhiyun    },
50*4882a593Smuzhiyun    {
51*4882a593Smuzhiyun        "id": "feef",
52*4882a593Smuzhiyun        "name": "Add valid reclassify action",
53*4882a593Smuzhiyun        "category": [
54*4882a593Smuzhiyun            "actions",
55*4882a593Smuzhiyun            "gact"
56*4882a593Smuzhiyun        ],
57*4882a593Smuzhiyun        "setup": [
58*4882a593Smuzhiyun            [
59*4882a593Smuzhiyun                "$TC actions flush action gact",
60*4882a593Smuzhiyun                0,
61*4882a593Smuzhiyun                1,
62*4882a593Smuzhiyun                255
63*4882a593Smuzhiyun            ]
64*4882a593Smuzhiyun        ],
65*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action reclassify index 5",
66*4882a593Smuzhiyun        "expExitCode": "0",
67*4882a593Smuzhiyun        "verifyCmd": "$TC actions list action gact",
68*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: gact action reclassify.*index 5 ref",
69*4882a593Smuzhiyun        "matchCount": "1",
70*4882a593Smuzhiyun        "teardown": [
71*4882a593Smuzhiyun            "$TC actions flush action gact"
72*4882a593Smuzhiyun        ]
73*4882a593Smuzhiyun    },
74*4882a593Smuzhiyun    {
75*4882a593Smuzhiyun        "id": "8a7a",
76*4882a593Smuzhiyun        "name": "Add valid drop action",
77*4882a593Smuzhiyun        "category": [
78*4882a593Smuzhiyun            "actions",
79*4882a593Smuzhiyun            "gact"
80*4882a593Smuzhiyun        ],
81*4882a593Smuzhiyun        "setup": [
82*4882a593Smuzhiyun            [
83*4882a593Smuzhiyun                "$TC actions flush action gact",
84*4882a593Smuzhiyun                0,
85*4882a593Smuzhiyun                1,
86*4882a593Smuzhiyun                255
87*4882a593Smuzhiyun            ]
88*4882a593Smuzhiyun        ],
89*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action drop index 30",
90*4882a593Smuzhiyun        "expExitCode": "0",
91*4882a593Smuzhiyun        "verifyCmd": "$TC actions list action gact",
92*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: gact action drop.*index 30 ref",
93*4882a593Smuzhiyun        "matchCount": "1",
94*4882a593Smuzhiyun        "teardown": [
95*4882a593Smuzhiyun            "$TC actions flush action gact"
96*4882a593Smuzhiyun        ]
97*4882a593Smuzhiyun    },
98*4882a593Smuzhiyun    {
99*4882a593Smuzhiyun        "id": "9a52",
100*4882a593Smuzhiyun        "name": "Add valid continue action",
101*4882a593Smuzhiyun        "category": [
102*4882a593Smuzhiyun            "actions",
103*4882a593Smuzhiyun            "gact"
104*4882a593Smuzhiyun        ],
105*4882a593Smuzhiyun        "setup": [
106*4882a593Smuzhiyun            [
107*4882a593Smuzhiyun                "$TC actions flush action gact",
108*4882a593Smuzhiyun                0,
109*4882a593Smuzhiyun                1,
110*4882a593Smuzhiyun                255
111*4882a593Smuzhiyun            ]
112*4882a593Smuzhiyun        ],
113*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action continue index 432",
114*4882a593Smuzhiyun        "expExitCode": "0",
115*4882a593Smuzhiyun        "verifyCmd": "$TC actions list action gact",
116*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: gact action continue.*index 432 ref",
117*4882a593Smuzhiyun        "matchCount": "1",
118*4882a593Smuzhiyun        "teardown": [
119*4882a593Smuzhiyun            "$TC actions flush action gact"
120*4882a593Smuzhiyun        ]
121*4882a593Smuzhiyun    },
122*4882a593Smuzhiyun    {
123*4882a593Smuzhiyun        "id": "d700",
124*4882a593Smuzhiyun        "name": "Add invalid action",
125*4882a593Smuzhiyun        "category": [
126*4882a593Smuzhiyun            "actions",
127*4882a593Smuzhiyun            "gact"
128*4882a593Smuzhiyun        ],
129*4882a593Smuzhiyun        "setup": [
130*4882a593Smuzhiyun            [
131*4882a593Smuzhiyun                "$TC actions flush action gact",
132*4882a593Smuzhiyun                0,
133*4882a593Smuzhiyun                1,
134*4882a593Smuzhiyun                255
135*4882a593Smuzhiyun            ]
136*4882a593Smuzhiyun        ],
137*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action pump index 386",
138*4882a593Smuzhiyun        "expExitCode": "255",
139*4882a593Smuzhiyun        "verifyCmd": "$TC actions list action gact",
140*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: gact action.*index 386 ref",
141*4882a593Smuzhiyun        "matchCount": "0",
142*4882a593Smuzhiyun        "teardown": [
143*4882a593Smuzhiyun            "$TC actions flush action gact"
144*4882a593Smuzhiyun        ]
145*4882a593Smuzhiyun    },
146*4882a593Smuzhiyun    {
147*4882a593Smuzhiyun        "id": "9215",
148*4882a593Smuzhiyun        "name": "Add action with duplicate index",
149*4882a593Smuzhiyun        "category": [
150*4882a593Smuzhiyun            "actions",
151*4882a593Smuzhiyun            "gact"
152*4882a593Smuzhiyun        ],
153*4882a593Smuzhiyun        "setup": [
154*4882a593Smuzhiyun            [
155*4882a593Smuzhiyun                "$TC actions flush action gact",
156*4882a593Smuzhiyun                0,
157*4882a593Smuzhiyun                1,
158*4882a593Smuzhiyun                255
159*4882a593Smuzhiyun            ],
160*4882a593Smuzhiyun            "$TC actions add action pipe index 15"
161*4882a593Smuzhiyun        ],
162*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action drop index 15",
163*4882a593Smuzhiyun        "expExitCode": "255",
164*4882a593Smuzhiyun        "verifyCmd": "$TC actions list action gact",
165*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: gact action drop.*index 15 ref",
166*4882a593Smuzhiyun        "matchCount": "0",
167*4882a593Smuzhiyun        "teardown": [
168*4882a593Smuzhiyun            "$TC actions flush action gact"
169*4882a593Smuzhiyun        ]
170*4882a593Smuzhiyun    },
171*4882a593Smuzhiyun    {
172*4882a593Smuzhiyun        "id": "798e",
173*4882a593Smuzhiyun        "name": "Add action with index exceeding 32-bit maximum",
174*4882a593Smuzhiyun        "category": [
175*4882a593Smuzhiyun            "actions",
176*4882a593Smuzhiyun            "gact"
177*4882a593Smuzhiyun        ],
178*4882a593Smuzhiyun        "setup": [
179*4882a593Smuzhiyun            [
180*4882a593Smuzhiyun                "$TC actions flush action gact",
181*4882a593Smuzhiyun                0,
182*4882a593Smuzhiyun                1,
183*4882a593Smuzhiyun                255
184*4882a593Smuzhiyun            ]
185*4882a593Smuzhiyun        ],
186*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action drop index 4294967296",
187*4882a593Smuzhiyun        "expExitCode": "255",
188*4882a593Smuzhiyun        "verifyCmd": "actions list action gact",
189*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: gact action drop.*index 4294967296 ref",
190*4882a593Smuzhiyun        "matchCount": "0",
191*4882a593Smuzhiyun        "teardown": [
192*4882a593Smuzhiyun            "$TC actions flush action gact"
193*4882a593Smuzhiyun        ]
194*4882a593Smuzhiyun    },
195*4882a593Smuzhiyun    {
196*4882a593Smuzhiyun        "id": "22be",
197*4882a593Smuzhiyun        "name": "Add action with index at 32-bit maximum",
198*4882a593Smuzhiyun        "category": [
199*4882a593Smuzhiyun            "actions",
200*4882a593Smuzhiyun            "gact"
201*4882a593Smuzhiyun        ],
202*4882a593Smuzhiyun        "setup": [
203*4882a593Smuzhiyun            [
204*4882a593Smuzhiyun                "$TC actions flush action gact",
205*4882a593Smuzhiyun                0,
206*4882a593Smuzhiyun                1,
207*4882a593Smuzhiyun                255
208*4882a593Smuzhiyun            ]
209*4882a593Smuzhiyun        ],
210*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action drop index 4294967295",
211*4882a593Smuzhiyun        "expExitCode": "0",
212*4882a593Smuzhiyun        "verifyCmd": "$TC actions list action gact",
213*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: gact action drop.*index 4294967295 ref",
214*4882a593Smuzhiyun        "matchCount": "1",
215*4882a593Smuzhiyun        "teardown": [
216*4882a593Smuzhiyun            "$TC actions flush action gact"
217*4882a593Smuzhiyun        ]
218*4882a593Smuzhiyun    },
219*4882a593Smuzhiyun    {
220*4882a593Smuzhiyun        "id": "ac2a",
221*4882a593Smuzhiyun        "name": "List actions",
222*4882a593Smuzhiyun        "category": [
223*4882a593Smuzhiyun            "actions",
224*4882a593Smuzhiyun            "gact"
225*4882a593Smuzhiyun        ],
226*4882a593Smuzhiyun        "setup": [
227*4882a593Smuzhiyun            [
228*4882a593Smuzhiyun                "$TC actions flush action gact",
229*4882a593Smuzhiyun                0,
230*4882a593Smuzhiyun                1,
231*4882a593Smuzhiyun                255
232*4882a593Smuzhiyun            ],
233*4882a593Smuzhiyun            "$TC actions add action reclassify index 101",
234*4882a593Smuzhiyun            "$TC actions add action reclassify index 102",
235*4882a593Smuzhiyun            "$TC actions add action reclassify index 103",
236*4882a593Smuzhiyun            "$TC actions add action reclassify index 104",
237*4882a593Smuzhiyun            "$TC actions add action reclassify index 105"
238*4882a593Smuzhiyun        ],
239*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions list action gact",
240*4882a593Smuzhiyun        "expExitCode": "0",
241*4882a593Smuzhiyun        "verifyCmd": "$TC actions list action gact",
242*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: gact action reclassify",
243*4882a593Smuzhiyun        "matchCount": "5",
244*4882a593Smuzhiyun        "teardown": [
245*4882a593Smuzhiyun            "$TC actions flush action gact"
246*4882a593Smuzhiyun        ]
247*4882a593Smuzhiyun    },
248*4882a593Smuzhiyun    {
249*4882a593Smuzhiyun        "id": "3edf",
250*4882a593Smuzhiyun        "name": "Flush gact actions",
251*4882a593Smuzhiyun        "category": [
252*4882a593Smuzhiyun            "actions",
253*4882a593Smuzhiyun            "gact"
254*4882a593Smuzhiyun        ],
255*4882a593Smuzhiyun        "setup": [
256*4882a593Smuzhiyun            "$TC actions add action reclassify index 101",
257*4882a593Smuzhiyun            "$TC actions add action reclassify index 102",
258*4882a593Smuzhiyun            "$TC actions add action reclassify index 103",
259*4882a593Smuzhiyun            "$TC actions add action reclassify index 104",
260*4882a593Smuzhiyun            "$TC actions add action reclassify index 105"
261*4882a593Smuzhiyun        ],
262*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions flush action gact",
263*4882a593Smuzhiyun        "expExitCode": "0",
264*4882a593Smuzhiyun        "verifyCmd": "$TC actions list action gact",
265*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: gact action reclassify",
266*4882a593Smuzhiyun        "matchCount": "0",
267*4882a593Smuzhiyun        "teardown": []
268*4882a593Smuzhiyun    },
269*4882a593Smuzhiyun    {
270*4882a593Smuzhiyun        "id": "63ec",
271*4882a593Smuzhiyun        "name": "Delete pass action",
272*4882a593Smuzhiyun        "category": [
273*4882a593Smuzhiyun            "actions",
274*4882a593Smuzhiyun            "gact"
275*4882a593Smuzhiyun        ],
276*4882a593Smuzhiyun        "setup": [
277*4882a593Smuzhiyun            [
278*4882a593Smuzhiyun                "$TC actions flush action gact",
279*4882a593Smuzhiyun                0,
280*4882a593Smuzhiyun                1,
281*4882a593Smuzhiyun                255
282*4882a593Smuzhiyun            ],
283*4882a593Smuzhiyun            "$TC actions add action pass index 1"
284*4882a593Smuzhiyun        ],
285*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions del action gact index 1",
286*4882a593Smuzhiyun        "expExitCode": "0",
287*4882a593Smuzhiyun        "verifyCmd": "$TC actions list action gact",
288*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: gact action pass.*index 1 ref",
289*4882a593Smuzhiyun        "matchCount": "0",
290*4882a593Smuzhiyun        "teardown": [
291*4882a593Smuzhiyun            "$TC actions flush action gact"
292*4882a593Smuzhiyun        ]
293*4882a593Smuzhiyun    },
294*4882a593Smuzhiyun    {
295*4882a593Smuzhiyun        "id": "46be",
296*4882a593Smuzhiyun        "name": "Delete pipe action",
297*4882a593Smuzhiyun        "category": [
298*4882a593Smuzhiyun            "actions",
299*4882a593Smuzhiyun            "gact"
300*4882a593Smuzhiyun        ],
301*4882a593Smuzhiyun        "setup": [
302*4882a593Smuzhiyun            [
303*4882a593Smuzhiyun                "$TC actions flush action gact",
304*4882a593Smuzhiyun                0,
305*4882a593Smuzhiyun                1,
306*4882a593Smuzhiyun                255
307*4882a593Smuzhiyun            ],
308*4882a593Smuzhiyun            "$TC actions add action pipe index 9"
309*4882a593Smuzhiyun        ],
310*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions del action gact index 9",
311*4882a593Smuzhiyun        "expExitCode": "0",
312*4882a593Smuzhiyun        "verifyCmd": "$TC actions list action gact",
313*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: gact action pipe.*index 9 ref",
314*4882a593Smuzhiyun        "matchCount": "0",
315*4882a593Smuzhiyun        "teardown": [
316*4882a593Smuzhiyun            "$TC actions flush action gact"
317*4882a593Smuzhiyun        ]
318*4882a593Smuzhiyun    },
319*4882a593Smuzhiyun    {
320*4882a593Smuzhiyun        "id": "2e08",
321*4882a593Smuzhiyun        "name": "Delete reclassify action",
322*4882a593Smuzhiyun        "category": [
323*4882a593Smuzhiyun            "actions",
324*4882a593Smuzhiyun            "gact"
325*4882a593Smuzhiyun        ],
326*4882a593Smuzhiyun        "setup": [
327*4882a593Smuzhiyun            [
328*4882a593Smuzhiyun                "$TC actions flush action gact",
329*4882a593Smuzhiyun                0,
330*4882a593Smuzhiyun                1,
331*4882a593Smuzhiyun                255
332*4882a593Smuzhiyun            ],
333*4882a593Smuzhiyun            "$TC actions add action reclassify index 65536"
334*4882a593Smuzhiyun        ],
335*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions del action gact index 65536",
336*4882a593Smuzhiyun        "expExitCode": "0",
337*4882a593Smuzhiyun        "verifyCmd": "$TC actions list action gact",
338*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: gact action reclassify.*index 65536 ref",
339*4882a593Smuzhiyun        "matchCount": "0",
340*4882a593Smuzhiyun        "teardown": [
341*4882a593Smuzhiyun            "$TC actions flush action gact"
342*4882a593Smuzhiyun        ]
343*4882a593Smuzhiyun    },
344*4882a593Smuzhiyun    {
345*4882a593Smuzhiyun        "id": "99c4",
346*4882a593Smuzhiyun        "name": "Delete drop action",
347*4882a593Smuzhiyun        "category": [
348*4882a593Smuzhiyun            "actions",
349*4882a593Smuzhiyun            "gact"
350*4882a593Smuzhiyun        ],
351*4882a593Smuzhiyun        "setup": [
352*4882a593Smuzhiyun            [
353*4882a593Smuzhiyun                "$TC actions flush action gact",
354*4882a593Smuzhiyun                0,
355*4882a593Smuzhiyun                1,
356*4882a593Smuzhiyun                255
357*4882a593Smuzhiyun            ],
358*4882a593Smuzhiyun            "$TC actions add action drop index 16"
359*4882a593Smuzhiyun        ],
360*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions del action gact index 16",
361*4882a593Smuzhiyun        "expExitCode": "0",
362*4882a593Smuzhiyun        "verifyCmd": "$TC actions list action gact",
363*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: gact action drop.*index 16 ref",
364*4882a593Smuzhiyun        "matchCount": "0",
365*4882a593Smuzhiyun        "teardown": [
366*4882a593Smuzhiyun            "$TC actions flush action gact"
367*4882a593Smuzhiyun        ]
368*4882a593Smuzhiyun    },
369*4882a593Smuzhiyun    {
370*4882a593Smuzhiyun        "id": "fb6b",
371*4882a593Smuzhiyun        "name": "Delete continue action",
372*4882a593Smuzhiyun        "category": [
373*4882a593Smuzhiyun            "actions",
374*4882a593Smuzhiyun            "gact"
375*4882a593Smuzhiyun        ],
376*4882a593Smuzhiyun        "setup": [
377*4882a593Smuzhiyun            [
378*4882a593Smuzhiyun                "$TC actions flush action gact",
379*4882a593Smuzhiyun                0,
380*4882a593Smuzhiyun                1,
381*4882a593Smuzhiyun                255
382*4882a593Smuzhiyun            ],
383*4882a593Smuzhiyun            "$TC actions add action continue index 32"
384*4882a593Smuzhiyun        ],
385*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions del action gact index 32",
386*4882a593Smuzhiyun        "expExitCode": "0",
387*4882a593Smuzhiyun        "verifyCmd": "actions list action gact",
388*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: gact action continue.*index 32 ref",
389*4882a593Smuzhiyun        "matchCount": "0",
390*4882a593Smuzhiyun        "teardown": [
391*4882a593Smuzhiyun            "$TC actions flush action gact"
392*4882a593Smuzhiyun        ]
393*4882a593Smuzhiyun    },
394*4882a593Smuzhiyun    {
395*4882a593Smuzhiyun        "id": "0eb3",
396*4882a593Smuzhiyun        "name": "Delete non-existent action",
397*4882a593Smuzhiyun        "category": [
398*4882a593Smuzhiyun            "actions",
399*4882a593Smuzhiyun            "gact"
400*4882a593Smuzhiyun        ],
401*4882a593Smuzhiyun        "setup": [
402*4882a593Smuzhiyun            [
403*4882a593Smuzhiyun                "$TC actions flush action gact",
404*4882a593Smuzhiyun                0,
405*4882a593Smuzhiyun                1,
406*4882a593Smuzhiyun                255
407*4882a593Smuzhiyun            ]
408*4882a593Smuzhiyun        ],
409*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions del action gact index 2",
410*4882a593Smuzhiyun        "expExitCode": "255",
411*4882a593Smuzhiyun        "verifyCmd": "$TC actions list action gact",
412*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: gact action",
413*4882a593Smuzhiyun        "matchCount": "0",
414*4882a593Smuzhiyun        "teardown": [
415*4882a593Smuzhiyun            "$TC actions flush action gact"
416*4882a593Smuzhiyun        ]
417*4882a593Smuzhiyun    },
418*4882a593Smuzhiyun    {
419*4882a593Smuzhiyun        "id": "f02c",
420*4882a593Smuzhiyun        "name": "Replace gact action",
421*4882a593Smuzhiyun        "category": [
422*4882a593Smuzhiyun            "actions",
423*4882a593Smuzhiyun            "gact"
424*4882a593Smuzhiyun        ],
425*4882a593Smuzhiyun        "setup": [
426*4882a593Smuzhiyun            [
427*4882a593Smuzhiyun                "$TC actions flush action gact",
428*4882a593Smuzhiyun                0,
429*4882a593Smuzhiyun                1,
430*4882a593Smuzhiyun                255
431*4882a593Smuzhiyun            ],
432*4882a593Smuzhiyun            "$TC actions add action drop index 10",
433*4882a593Smuzhiyun            "$TC actions add action drop index 12"
434*4882a593Smuzhiyun        ],
435*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions replace action ok index 12",
436*4882a593Smuzhiyun        "expExitCode": "0",
437*4882a593Smuzhiyun        "verifyCmd": "$TC actions ls action gact",
438*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: gact action pass",
439*4882a593Smuzhiyun        "matchCount": "1",
440*4882a593Smuzhiyun        "teardown": [
441*4882a593Smuzhiyun            "$TC actions flush action gact"
442*4882a593Smuzhiyun        ]
443*4882a593Smuzhiyun    },
444*4882a593Smuzhiyun    {
445*4882a593Smuzhiyun        "id": "525f",
446*4882a593Smuzhiyun        "name": "Get gact action by index",
447*4882a593Smuzhiyun        "category": [
448*4882a593Smuzhiyun            "actions",
449*4882a593Smuzhiyun            "gact"
450*4882a593Smuzhiyun        ],
451*4882a593Smuzhiyun        "setup": [
452*4882a593Smuzhiyun            [
453*4882a593Smuzhiyun                "$TC actions flush action gact",
454*4882a593Smuzhiyun                0,
455*4882a593Smuzhiyun                1,
456*4882a593Smuzhiyun                255
457*4882a593Smuzhiyun            ],
458*4882a593Smuzhiyun            "$TC actions add action drop index 3900800700"
459*4882a593Smuzhiyun        ],
460*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions get action gact index 3900800700",
461*4882a593Smuzhiyun        "expExitCode": "0",
462*4882a593Smuzhiyun        "verifyCmd": "$TC actions get action gact index 3900800700",
463*4882a593Smuzhiyun        "matchPattern": "index 3900800700",
464*4882a593Smuzhiyun        "matchCount": "1",
465*4882a593Smuzhiyun        "teardown": [
466*4882a593Smuzhiyun            "$TC actions flush action gact"
467*4882a593Smuzhiyun        ]
468*4882a593Smuzhiyun    },
469*4882a593Smuzhiyun    {
470*4882a593Smuzhiyun        "id": "1021",
471*4882a593Smuzhiyun        "name": "Add batch of 32 gact pass actions",
472*4882a593Smuzhiyun        "category": [
473*4882a593Smuzhiyun            "actions",
474*4882a593Smuzhiyun            "gact"
475*4882a593Smuzhiyun        ],
476*4882a593Smuzhiyun        "setup": [
477*4882a593Smuzhiyun            [
478*4882a593Smuzhiyun                "$TC actions flush action gact",
479*4882a593Smuzhiyun                0,
480*4882a593Smuzhiyun                1,
481*4882a593Smuzhiyun                255
482*4882a593Smuzhiyun            ]
483*4882a593Smuzhiyun        ],
484*4882a593Smuzhiyun        "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action pass index \\$i \\\"; args=\"\\$args\\$cmd\"; done && $TC actions add \\$args\"",
485*4882a593Smuzhiyun        "expExitCode": "0",
486*4882a593Smuzhiyun        "verifyCmd": "$TC actions list action gact",
487*4882a593Smuzhiyun        "matchPattern": "^[ \t]+index [0-9]+ ref",
488*4882a593Smuzhiyun        "matchCount": "32",
489*4882a593Smuzhiyun        "teardown": [
490*4882a593Smuzhiyun            "$TC actions flush action gact"
491*4882a593Smuzhiyun        ]
492*4882a593Smuzhiyun    },
493*4882a593Smuzhiyun    {
494*4882a593Smuzhiyun        "id": "da7a",
495*4882a593Smuzhiyun        "name": "Add batch of 32 gact continue actions with cookie",
496*4882a593Smuzhiyun        "category": [
497*4882a593Smuzhiyun            "actions",
498*4882a593Smuzhiyun            "gact"
499*4882a593Smuzhiyun        ],
500*4882a593Smuzhiyun        "setup": [
501*4882a593Smuzhiyun            [
502*4882a593Smuzhiyun                "$TC actions flush action gact",
503*4882a593Smuzhiyun                0,
504*4882a593Smuzhiyun                1,
505*4882a593Smuzhiyun                255
506*4882a593Smuzhiyun            ]
507*4882a593Smuzhiyun        ],
508*4882a593Smuzhiyun        "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action continue index \\$i cookie aabbccddeeff112233445566778800a1 \\\"; args=\"\\$args\\$cmd\"; done && $TC actions add \\$args\"",
509*4882a593Smuzhiyun        "expExitCode": "0",
510*4882a593Smuzhiyun        "verifyCmd": "$TC actions list action gact",
511*4882a593Smuzhiyun        "matchPattern": "^[ \t]+index [0-9]+ ref",
512*4882a593Smuzhiyun        "matchCount": "32",
513*4882a593Smuzhiyun        "teardown": [
514*4882a593Smuzhiyun            "$TC actions flush action gact"
515*4882a593Smuzhiyun        ]
516*4882a593Smuzhiyun    },
517*4882a593Smuzhiyun    {
518*4882a593Smuzhiyun        "id": "8aa3",
519*4882a593Smuzhiyun        "name": "Delete batch of 32 gact continue actions",
520*4882a593Smuzhiyun        "category": [
521*4882a593Smuzhiyun            "actions",
522*4882a593Smuzhiyun            "gact"
523*4882a593Smuzhiyun        ],
524*4882a593Smuzhiyun        "setup": [
525*4882a593Smuzhiyun            [
526*4882a593Smuzhiyun                "$TC actions flush action gact",
527*4882a593Smuzhiyun                0,
528*4882a593Smuzhiyun                1,
529*4882a593Smuzhiyun                255
530*4882a593Smuzhiyun            ],
531*4882a593Smuzhiyun            "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action continue index \\$i \\\"; args=\\\"\\$args\\$cmd\\\"; done && $TC actions add \\$args\""
532*4882a593Smuzhiyun        ],
533*4882a593Smuzhiyun        "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action gact index \\$i \\\"; args=\"\\$args\\$cmd\"; done && $TC actions del \\$args\"",
534*4882a593Smuzhiyun        "expExitCode": "0",
535*4882a593Smuzhiyun        "verifyCmd": "$TC actions list action gact",
536*4882a593Smuzhiyun        "matchPattern": "^[ \t]+index [0-9]+ ref",
537*4882a593Smuzhiyun        "matchCount": "0",
538*4882a593Smuzhiyun        "teardown": []
539*4882a593Smuzhiyun    },
540*4882a593Smuzhiyun    {
541*4882a593Smuzhiyun        "id": "8e47",
542*4882a593Smuzhiyun        "name": "Add gact action with random determ goto chain control action",
543*4882a593Smuzhiyun        "category": [
544*4882a593Smuzhiyun            "actions",
545*4882a593Smuzhiyun            "gact"
546*4882a593Smuzhiyun        ],
547*4882a593Smuzhiyun        "setup": [
548*4882a593Smuzhiyun            [
549*4882a593Smuzhiyun                "$TC actions flush action gact",
550*4882a593Smuzhiyun                0,
551*4882a593Smuzhiyun                1,
552*4882a593Smuzhiyun                255
553*4882a593Smuzhiyun            ]
554*4882a593Smuzhiyun        ],
555*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action pass random determ goto chain 1 2 index 90",
556*4882a593Smuzhiyun        "expExitCode": "255",
557*4882a593Smuzhiyun        "verifyCmd": "$TC actions list action gact",
558*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: gact action pass random type determ goto chain 1 val 2.*index 90 ref",
559*4882a593Smuzhiyun        "matchCount": "0",
560*4882a593Smuzhiyun        "teardown": [
561*4882a593Smuzhiyun            "$TC actions flush action gact"
562*4882a593Smuzhiyun        ]
563*4882a593Smuzhiyun    },
564*4882a593Smuzhiyun    {
565*4882a593Smuzhiyun        "id": "ca89",
566*4882a593Smuzhiyun        "name": "Replace gact action with invalid goto chain control",
567*4882a593Smuzhiyun        "category": [
568*4882a593Smuzhiyun            "actions",
569*4882a593Smuzhiyun            "gact"
570*4882a593Smuzhiyun        ],
571*4882a593Smuzhiyun        "setup": [
572*4882a593Smuzhiyun            [
573*4882a593Smuzhiyun                "$TC actions flush action gact",
574*4882a593Smuzhiyun                0,
575*4882a593Smuzhiyun                1,
576*4882a593Smuzhiyun                255
577*4882a593Smuzhiyun            ],
578*4882a593Smuzhiyun            "$TC actions add action pass random determ drop 2 index 90"
579*4882a593Smuzhiyun        ],
580*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions replace action goto chain 42 random determ drop 5 index 90 cookie c1a0c1a0",
581*4882a593Smuzhiyun        "expExitCode": "255",
582*4882a593Smuzhiyun        "verifyCmd": "$TC actions list action gact",
583*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: gact action pass.*random type determ drop val 2.*index 90 ref",
584*4882a593Smuzhiyun        "matchCount": "1",
585*4882a593Smuzhiyun        "teardown": [
586*4882a593Smuzhiyun            "$TC actions flush action gact"
587*4882a593Smuzhiyun        ]
588*4882a593Smuzhiyun    },
589*4882a593Smuzhiyun    {
590*4882a593Smuzhiyun        "id": "95ad",
591*4882a593Smuzhiyun        "name": "Add gact pass action with no_percpu flag",
592*4882a593Smuzhiyun        "category": [
593*4882a593Smuzhiyun            "actions",
594*4882a593Smuzhiyun            "gact"
595*4882a593Smuzhiyun        ],
596*4882a593Smuzhiyun        "setup": [
597*4882a593Smuzhiyun            [
598*4882a593Smuzhiyun                "$TC actions flush action gact",
599*4882a593Smuzhiyun                0,
600*4882a593Smuzhiyun                1,
601*4882a593Smuzhiyun                255
602*4882a593Smuzhiyun            ]
603*4882a593Smuzhiyun        ],
604*4882a593Smuzhiyun        "cmdUnderTest": "$TC actions add action pass no_percpu",
605*4882a593Smuzhiyun        "expExitCode": "0",
606*4882a593Smuzhiyun        "verifyCmd": "$TC actions list action gact",
607*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: gact action pass.*no_percpu",
608*4882a593Smuzhiyun        "matchCount": "1",
609*4882a593Smuzhiyun        "teardown": [
610*4882a593Smuzhiyun            "$TC actions flush action gact"
611*4882a593Smuzhiyun        ]
612*4882a593Smuzhiyun    }
613*4882a593Smuzhiyun]
614