xref: /OK3568_Linux_fs/kernel/tools/testing/selftests/tc-testing/tc-tests/actions/bpf.json (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun[
2*4882a593Smuzhiyun    {
3*4882a593Smuzhiyun        "id": "d959",
4*4882a593Smuzhiyun        "name": "Add cBPF action with valid bytecode",
5*4882a593Smuzhiyun        "category": [
6*4882a593Smuzhiyun            "actions",
7*4882a593Smuzhiyun            "bpf"
8*4882a593Smuzhiyun        ],
9*4882a593Smuzhiyun        "setup": [
10*4882a593Smuzhiyun            [
11*4882a593Smuzhiyun                "$TC action flush action bpf",
12*4882a593Smuzhiyun                0,
13*4882a593Smuzhiyun                1,
14*4882a593Smuzhiyun                255
15*4882a593Smuzhiyun            ]
16*4882a593Smuzhiyun        ],
17*4882a593Smuzhiyun        "cmdUnderTest": "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' index 100",
18*4882a593Smuzhiyun        "expExitCode": "0",
19*4882a593Smuzhiyun        "verifyCmd": "$TC action get action bpf index 100",
20*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' default-action pipe.*index 100 ref",
21*4882a593Smuzhiyun        "matchCount": "1",
22*4882a593Smuzhiyun        "teardown": [
23*4882a593Smuzhiyun            "$TC action flush action bpf"
24*4882a593Smuzhiyun        ]
25*4882a593Smuzhiyun    },
26*4882a593Smuzhiyun    {
27*4882a593Smuzhiyun        "id": "f84a",
28*4882a593Smuzhiyun        "name": "Add cBPF action with invalid bytecode",
29*4882a593Smuzhiyun        "category": [
30*4882a593Smuzhiyun            "actions",
31*4882a593Smuzhiyun            "bpf"
32*4882a593Smuzhiyun        ],
33*4882a593Smuzhiyun        "setup": [
34*4882a593Smuzhiyun            [
35*4882a593Smuzhiyun                "$TC actions flush action bpf",
36*4882a593Smuzhiyun                0,
37*4882a593Smuzhiyun                1,
38*4882a593Smuzhiyun                255
39*4882a593Smuzhiyun            ]
40*4882a593Smuzhiyun        ],
41*4882a593Smuzhiyun        "cmdUnderTest": "$TC action add action bpf bytecode '4,40 0 0 12,31 0 1 2048,6 0 0 262144,6 0 0 0' index 100",
42*4882a593Smuzhiyun        "expExitCode": "255",
43*4882a593Smuzhiyun        "verifyCmd": "$TC action get action bpf index 100",
44*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: bpf bytecode '4,40 0 0 12,31 0 1 2048,6 0 0 262144,6 0 0 0' default-action pipe.*index 100 ref",
45*4882a593Smuzhiyun        "matchCount": "0",
46*4882a593Smuzhiyun        "teardown": [
47*4882a593Smuzhiyun            "$TC actions flush action bpf"
48*4882a593Smuzhiyun        ]
49*4882a593Smuzhiyun    },
50*4882a593Smuzhiyun    {
51*4882a593Smuzhiyun        "id": "e939",
52*4882a593Smuzhiyun        "name": "Add eBPF action with valid object-file",
53*4882a593Smuzhiyun        "category": [
54*4882a593Smuzhiyun            "actions",
55*4882a593Smuzhiyun            "bpf"
56*4882a593Smuzhiyun        ],
57*4882a593Smuzhiyun        "plugins": {
58*4882a593Smuzhiyun                "requires": "buildebpfPlugin"
59*4882a593Smuzhiyun        },
60*4882a593Smuzhiyun        "setup": [
61*4882a593Smuzhiyun            [
62*4882a593Smuzhiyun                "$TC action flush action bpf",
63*4882a593Smuzhiyun                0,
64*4882a593Smuzhiyun                1,
65*4882a593Smuzhiyun                255
66*4882a593Smuzhiyun            ]
67*4882a593Smuzhiyun        ],
68*4882a593Smuzhiyun        "cmdUnderTest": "$TC action add action bpf object-file $EBPFDIR/action.o section action-ok index 667",
69*4882a593Smuzhiyun        "expExitCode": "0",
70*4882a593Smuzhiyun        "verifyCmd": "$TC action get action bpf index 667",
71*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: bpf action.o:\\[action-ok\\] id [0-9]* tag [0-9a-f]{16}( jited)? default-action pipe.*index 667 ref",
72*4882a593Smuzhiyun        "matchCount": "1",
73*4882a593Smuzhiyun        "teardown": [
74*4882a593Smuzhiyun            "$TC action flush action bpf"
75*4882a593Smuzhiyun        ]
76*4882a593Smuzhiyun    },
77*4882a593Smuzhiyun    {
78*4882a593Smuzhiyun        "id": "282d",
79*4882a593Smuzhiyun        "name": "Add eBPF action with invalid object-file",
80*4882a593Smuzhiyun        "category": [
81*4882a593Smuzhiyun            "actions",
82*4882a593Smuzhiyun            "bpf"
83*4882a593Smuzhiyun        ],
84*4882a593Smuzhiyun        "plugins": {
85*4882a593Smuzhiyun                "requires": "buildebpfPlugin"
86*4882a593Smuzhiyun        },
87*4882a593Smuzhiyun        "setup": [
88*4882a593Smuzhiyun            [
89*4882a593Smuzhiyun                "$TC action flush action bpf",
90*4882a593Smuzhiyun                0,
91*4882a593Smuzhiyun                1,
92*4882a593Smuzhiyun                255
93*4882a593Smuzhiyun            ]
94*4882a593Smuzhiyun        ],
95*4882a593Smuzhiyun        "cmdUnderTest": "$TC action add action bpf object-file $EBPFDIR/action.o section action-ko index 667",
96*4882a593Smuzhiyun        "expExitCode": "255",
97*4882a593Smuzhiyun        "verifyCmd": "$TC action get action bpf index 667",
98*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: bpf action.o:\\[action-ko\\] id [0-9].*index 667 ref",
99*4882a593Smuzhiyun        "matchCount": "0",
100*4882a593Smuzhiyun        "teardown": [
101*4882a593Smuzhiyun            [
102*4882a593Smuzhiyun                "$TC action flush action bpf",
103*4882a593Smuzhiyun                0,
104*4882a593Smuzhiyun                1,
105*4882a593Smuzhiyun                255
106*4882a593Smuzhiyun            ]
107*4882a593Smuzhiyun        ]
108*4882a593Smuzhiyun    },
109*4882a593Smuzhiyun    {
110*4882a593Smuzhiyun        "id": "d819",
111*4882a593Smuzhiyun        "name": "Replace cBPF bytecode and action control",
112*4882a593Smuzhiyun        "category": [
113*4882a593Smuzhiyun            "actions",
114*4882a593Smuzhiyun            "bpf"
115*4882a593Smuzhiyun        ],
116*4882a593Smuzhiyun        "setup": [
117*4882a593Smuzhiyun            [
118*4882a593Smuzhiyun                "$TC actions flush action bpf",
119*4882a593Smuzhiyun                0,
120*4882a593Smuzhiyun                1,
121*4882a593Smuzhiyun                255
122*4882a593Smuzhiyun            ],
123*4882a593Smuzhiyun            [
124*4882a593Smuzhiyun                "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' index 555",
125*4882a593Smuzhiyun                0,
126*4882a593Smuzhiyun                1,
127*4882a593Smuzhiyun                255
128*4882a593Smuzhiyun            ]
129*4882a593Smuzhiyun        ],
130*4882a593Smuzhiyun        "cmdUnderTest": "$TC action replace action bpf bytecode '4,40 0 0 12,21 0 1 2054,6 0 0 262144,6 0 0 0' drop index 555",
131*4882a593Smuzhiyun        "expExitCode": "0",
132*4882a593Smuzhiyun        "verifyCmd": "$TC action get action bpf index 555",
133*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: bpf bytecode '4,40 0 0 12,21 0 1 2054,6 0 0 262144,6 0 0 0' default-action drop.*index 555 ref",
134*4882a593Smuzhiyun        "matchCount": "1",
135*4882a593Smuzhiyun        "teardown": [
136*4882a593Smuzhiyun            "$TC action flush action bpf"
137*4882a593Smuzhiyun        ]
138*4882a593Smuzhiyun    },
139*4882a593Smuzhiyun    {
140*4882a593Smuzhiyun        "id": "6ae3",
141*4882a593Smuzhiyun        "name": "Delete cBPF action ",
142*4882a593Smuzhiyun        "category": [
143*4882a593Smuzhiyun            "actions",
144*4882a593Smuzhiyun            "bpf"
145*4882a593Smuzhiyun        ],
146*4882a593Smuzhiyun        "setup": [
147*4882a593Smuzhiyun            [
148*4882a593Smuzhiyun                "$TC actions flush action bpf",
149*4882a593Smuzhiyun                0,
150*4882a593Smuzhiyun                1,
151*4882a593Smuzhiyun                255
152*4882a593Smuzhiyun            ],
153*4882a593Smuzhiyun            [
154*4882a593Smuzhiyun                "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' index 444",
155*4882a593Smuzhiyun                0,
156*4882a593Smuzhiyun                1,
157*4882a593Smuzhiyun                255
158*4882a593Smuzhiyun            ]
159*4882a593Smuzhiyun        ],
160*4882a593Smuzhiyun        "cmdUnderTest": "$TC action delete action bpf index 444",
161*4882a593Smuzhiyun        "expExitCode": "0",
162*4882a593Smuzhiyun        "verifyCmd": "$TC action get action bpf index 444",
163*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' default-action pipe.*index 444 ref",
164*4882a593Smuzhiyun        "matchCount": "0",
165*4882a593Smuzhiyun        "teardown": [
166*4882a593Smuzhiyun            "$TC action flush action bpf"
167*4882a593Smuzhiyun        ]
168*4882a593Smuzhiyun    },
169*4882a593Smuzhiyun    {
170*4882a593Smuzhiyun        "id": "3e0d",
171*4882a593Smuzhiyun        "name": "List cBPF actions",
172*4882a593Smuzhiyun        "category": [
173*4882a593Smuzhiyun            "actions",
174*4882a593Smuzhiyun            "bpf"
175*4882a593Smuzhiyun        ],
176*4882a593Smuzhiyun        "setup": [
177*4882a593Smuzhiyun            [
178*4882a593Smuzhiyun                "$TC action flush action bpf",
179*4882a593Smuzhiyun                0,
180*4882a593Smuzhiyun                1,
181*4882a593Smuzhiyun                255
182*4882a593Smuzhiyun            ],
183*4882a593Smuzhiyun            "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' ok index 101",
184*4882a593Smuzhiyun            "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2054,6 0 0 262144,6 0 0 0' drop index 102",
185*4882a593Smuzhiyun            "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 33024,6 0 0 262144,6 0 0 0' continue index 103"
186*4882a593Smuzhiyun        ],
187*4882a593Smuzhiyun        "cmdUnderTest": "$TC action list action bpf",
188*4882a593Smuzhiyun        "expExitCode": "0",
189*4882a593Smuzhiyun        "verifyCmd": "$TC action list action bpf",
190*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: bpf bytecode",
191*4882a593Smuzhiyun        "matchCount": "3",
192*4882a593Smuzhiyun        "teardown": [
193*4882a593Smuzhiyun            "$TC actions flush action bpf"
194*4882a593Smuzhiyun        ]
195*4882a593Smuzhiyun    },
196*4882a593Smuzhiyun    {
197*4882a593Smuzhiyun        "id": "55ce",
198*4882a593Smuzhiyun        "name": "Flush BPF actions",
199*4882a593Smuzhiyun        "category": [
200*4882a593Smuzhiyun            "actions",
201*4882a593Smuzhiyun            "bpf"
202*4882a593Smuzhiyun        ],
203*4882a593Smuzhiyun        "setup": [
204*4882a593Smuzhiyun            [
205*4882a593Smuzhiyun                "$TC actions flush action bpf",
206*4882a593Smuzhiyun                0,
207*4882a593Smuzhiyun                1,
208*4882a593Smuzhiyun                255
209*4882a593Smuzhiyun            ],
210*4882a593Smuzhiyun            "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' ok index 101",
211*4882a593Smuzhiyun            "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2054,6 0 0 262144,6 0 0 0' drop index 102",
212*4882a593Smuzhiyun            "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 33024,6 0 0 262144,6 0 0 0' continue index 103"
213*4882a593Smuzhiyun        ],
214*4882a593Smuzhiyun        "cmdUnderTest": "$TC action flush action bpf",
215*4882a593Smuzhiyun        "expExitCode": "0",
216*4882a593Smuzhiyun        "verifyCmd": "$TC action list action bpf",
217*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: bpf bytecode",
218*4882a593Smuzhiyun        "matchCount": "0",
219*4882a593Smuzhiyun        "teardown": [
220*4882a593Smuzhiyun            "$TC actions flush action bpf"
221*4882a593Smuzhiyun        ]
222*4882a593Smuzhiyun    },
223*4882a593Smuzhiyun    {
224*4882a593Smuzhiyun        "id": "ccc3",
225*4882a593Smuzhiyun        "name": "Add cBPF action with duplicate index",
226*4882a593Smuzhiyun        "category": [
227*4882a593Smuzhiyun            "actions",
228*4882a593Smuzhiyun            "bpf"
229*4882a593Smuzhiyun        ],
230*4882a593Smuzhiyun        "setup": [
231*4882a593Smuzhiyun            [
232*4882a593Smuzhiyun                "$TC actions flush action bpf",
233*4882a593Smuzhiyun                0,
234*4882a593Smuzhiyun                1,
235*4882a593Smuzhiyun                255
236*4882a593Smuzhiyun            ],
237*4882a593Smuzhiyun            "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' index 4294967295"
238*4882a593Smuzhiyun        ],
239*4882a593Smuzhiyun        "cmdUnderTest": "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2054,6 0 0 262144,6 0 0 0' index 4294967295",
240*4882a593Smuzhiyun        "expExitCode": "255",
241*4882a593Smuzhiyun        "verifyCmd": "$TC action get action bpf index 4294967295",
242*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' default-action pipe.*index 4294967295",
243*4882a593Smuzhiyun        "matchCount": "1",
244*4882a593Smuzhiyun        "teardown": [
245*4882a593Smuzhiyun            "$TC action flush action bpf"
246*4882a593Smuzhiyun        ]
247*4882a593Smuzhiyun    },
248*4882a593Smuzhiyun    {
249*4882a593Smuzhiyun        "id": "89c7",
250*4882a593Smuzhiyun        "name": "Add cBPF action with invalid index",
251*4882a593Smuzhiyun        "category": [
252*4882a593Smuzhiyun            "actions",
253*4882a593Smuzhiyun            "bpf"
254*4882a593Smuzhiyun        ],
255*4882a593Smuzhiyun        "setup": [
256*4882a593Smuzhiyun            [
257*4882a593Smuzhiyun                "$TC actions flush action bpf",
258*4882a593Smuzhiyun                0,
259*4882a593Smuzhiyun                1,
260*4882a593Smuzhiyun                255
261*4882a593Smuzhiyun            ]
262*4882a593Smuzhiyun        ],
263*4882a593Smuzhiyun        "cmdUnderTest": "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2054,6 0 0 262144,6 0 0 0' index 4294967296 cookie 123456",
264*4882a593Smuzhiyun        "expExitCode": "255",
265*4882a593Smuzhiyun        "verifyCmd": "$TC action ls action bpf",
266*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' default-action pipe.*cookie 123456",
267*4882a593Smuzhiyun        "matchCount": "0",
268*4882a593Smuzhiyun        "teardown": [
269*4882a593Smuzhiyun            "$TC action flush action bpf"
270*4882a593Smuzhiyun        ]
271*4882a593Smuzhiyun    },
272*4882a593Smuzhiyun    {
273*4882a593Smuzhiyun        "id": "7ab9",
274*4882a593Smuzhiyun        "name": "Add cBPF action with cookie",
275*4882a593Smuzhiyun        "category": [
276*4882a593Smuzhiyun            "actions",
277*4882a593Smuzhiyun            "bpf"
278*4882a593Smuzhiyun        ],
279*4882a593Smuzhiyun        "setup": [
280*4882a593Smuzhiyun            [
281*4882a593Smuzhiyun                "$TC actions flush action bpf",
282*4882a593Smuzhiyun                0,
283*4882a593Smuzhiyun                1,
284*4882a593Smuzhiyun                255
285*4882a593Smuzhiyun            ]
286*4882a593Smuzhiyun        ],
287*4882a593Smuzhiyun        "cmdUnderTest": "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2054,6 0 0 262144,6 0 0 0' cookie d0d0d0d0d0d0d0d0",
288*4882a593Smuzhiyun        "expExitCode": "0",
289*4882a593Smuzhiyun        "verifyCmd": "$TC action list action bpf",
290*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: bpf.*cookie d0d0d0d0d0d0d0",
291*4882a593Smuzhiyun        "matchCount": "1",
292*4882a593Smuzhiyun        "teardown": [
293*4882a593Smuzhiyun            "$TC action flush action bpf"
294*4882a593Smuzhiyun        ]
295*4882a593Smuzhiyun    },
296*4882a593Smuzhiyun    {
297*4882a593Smuzhiyun        "id": "b8a1",
298*4882a593Smuzhiyun        "name": "Replace bpf action with invalid goto_chain control",
299*4882a593Smuzhiyun        "category": [
300*4882a593Smuzhiyun            "actions",
301*4882a593Smuzhiyun            "bpf"
302*4882a593Smuzhiyun        ],
303*4882a593Smuzhiyun        "setup": [
304*4882a593Smuzhiyun            [
305*4882a593Smuzhiyun                "$TC actions flush action bpf",
306*4882a593Smuzhiyun                0,
307*4882a593Smuzhiyun                1,
308*4882a593Smuzhiyun                255
309*4882a593Smuzhiyun            ],
310*4882a593Smuzhiyun            "$TC action add action bpf bytecode '1,6 0 0 4294967295' pass index 90"
311*4882a593Smuzhiyun        ],
312*4882a593Smuzhiyun        "cmdUnderTest": "$TC action replace action bpf bytecode '1,6 0 0 4294967295' goto chain 42 index 90 cookie c1a0c1a0",
313*4882a593Smuzhiyun        "expExitCode": "255",
314*4882a593Smuzhiyun        "verifyCmd": "$TC action list action bpf",
315*4882a593Smuzhiyun        "matchPattern": "action order [0-9]*: bpf.* default-action pass.*index 90",
316*4882a593Smuzhiyun        "matchCount": "1",
317*4882a593Smuzhiyun        "teardown": [
318*4882a593Smuzhiyun            "$TC action flush action bpf"
319*4882a593Smuzhiyun        ]
320*4882a593Smuzhiyun    }
321*4882a593Smuzhiyun]
322