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