xref: /linux/tools/testing/selftests/tc-testing/tc-tests/infra/actions.json (revision 0ea5c948cb64bab5bc7a5516774eb8536f05aa0d)
1[
2    {
3        "id": "abdc",
4        "name": "Reference pedit action object in filter",
5        "category": [
6            "infra",
7            "pedit"
8        ],
9	"plugins": {
10		"requires": "nsPlugin"
11	},
12        "setup": [
13            "$TC qdisc add dev $DUMMY ingress",
14            "$TC action add action pedit munge offset 0 u8 clear index 1"
15        ],
16        "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action pedit index 1",
17        "expExitCode": "0",
18        "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall",
19        "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*",
20        "matchCount": "1",
21        "teardown": [
22            "$TC qdisc del dev $DUMMY ingress"
23        ]
24    },
25    {
26        "id": "7a70",
27        "name": "Reference mpls action object in filter",
28        "category": [
29            "infra",
30            "mpls"
31        ],
32	"plugins": {
33		"requires": "nsPlugin"
34	},
35        "setup": [
36            "$TC qdisc add dev $DUMMY ingress",
37            "$TC action add action mpls pop protocol ipv4 index 1"
38        ],
39        "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action mpls index 1",
40        "expExitCode": "0",
41        "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall",
42        "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*",
43        "matchCount": "1",
44        "teardown": [
45            "$TC qdisc del dev $DUMMY ingress"
46        ]
47    },
48    {
49        "id": "d241",
50        "name": "Reference bpf action object in filter",
51        "category": [
52            "infra",
53            "bpf"
54        ],
55	"plugins": {
56		"requires": "nsPlugin"
57	},
58        "setup": [
59            "$TC qdisc add dev $DUMMY ingress",
60            "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' index 1"
61        ],
62        "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action bpf index 1",
63        "expExitCode": "0",
64        "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall",
65        "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*",
66        "matchCount": "1",
67        "teardown": [
68            "$TC qdisc del dev $DUMMY ingress"
69        ]
70    },
71    {
72        "id": "383a",
73        "name": "Reference connmark action object in filter",
74        "category": [
75            "infra",
76            "connmark"
77        ],
78	"plugins": {
79		"requires": "nsPlugin"
80	},
81        "setup": [
82            "$TC qdisc add dev $DUMMY ingress",
83            "$TC actions add action connmark"
84        ],
85        "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action connmark index 1",
86        "expExitCode": "0",
87        "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall",
88        "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*",
89        "matchCount": "1",
90        "teardown": [
91            "$TC qdisc del dev $DUMMY ingress"
92        ]
93    },
94    {
95        "id": "c619",
96        "name": "Reference csum action object in filter",
97        "category": [
98            "infra",
99            "csum"
100        ],
101	"plugins": {
102		"requires": "nsPlugin"
103	},
104        "setup": [
105            "$TC qdisc add dev $DUMMY ingress",
106            "$TC actions add action csum ip4h index 1"
107        ],
108        "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action csum index 1",
109        "expExitCode": "0",
110        "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall",
111        "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*",
112        "matchCount": "1",
113        "teardown": [
114            "$TC qdisc del dev $DUMMY ingress"
115        ]
116    },
117    {
118        "id": "a93d",
119        "name": "Reference ct action object in filter",
120        "category": [
121            "infra",
122            "ct"
123        ],
124	"plugins": {
125		"requires": "nsPlugin"
126	},
127        "setup": [
128            "$TC qdisc add dev $DUMMY ingress",
129            "$TC actions add action ct index 1"
130        ],
131        "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action ct index 1",
132        "expExitCode": "0",
133        "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall",
134        "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*",
135        "matchCount": "1",
136        "teardown": [
137            "$TC qdisc del dev $DUMMY ingress"
138        ]
139    },
140    {
141        "id": "8bb5",
142        "name": "Reference ctinfo action object in filter",
143        "category": [
144            "infra",
145            "ctinfo"
146        ],
147	"plugins": {
148		"requires": "nsPlugin"
149	},
150        "setup": [
151            "$TC qdisc add dev $DUMMY ingress",
152            "$TC action add action ctinfo index 1"
153        ],
154        "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action ctinfo index 10",
155        "expExitCode": "0",
156        "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall",
157        "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*",
158        "matchCount": "1",
159        "teardown": [
160            "$TC qdisc del dev $DUMMY ingress"
161        ]
162    },
163    {
164        "id": "2241",
165        "name": "Reference gact action object in filter",
166        "category": [
167            "infra",
168            "gact"
169        ],
170	"plugins": {
171		"requires": "nsPlugin"
172	},
173        "setup": [
174            "$TC qdisc add dev $DUMMY ingress",
175            "$TC actions add action pass index 1"
176        ],
177        "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action gact index 1",
178        "expExitCode": "0",
179        "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall",
180        "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*",
181        "matchCount": "1",
182        "teardown": [
183            "$TC qdisc del dev $DUMMY ingress"
184        ]
185    },
186    {
187        "id": "35e9",
188        "name": "Reference gate action object in filter",
189        "category": [
190            "infra",
191            "gate"
192        ],
193	"plugins": {
194		"requires": "nsPlugin"
195	},
196        "setup": [
197            "$TC qdisc add dev $DUMMY ingress",
198            "$TC action add action gate priority 1 sched-entry close 100000000ns index 1"
199        ],
200        "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action gate index 1",
201        "expExitCode": "0",
202        "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall",
203        "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*",
204        "matchCount": "1",
205        "teardown": [
206            "$TC qdisc del dev $DUMMY ingress"
207        ]
208    },
209    {
210        "id": "b22e",
211        "name": "Reference ife action object in filter",
212        "category": [
213            "infra",
214            "ife"
215        ],
216	"plugins": {
217		"requires": "nsPlugin"
218	},
219        "setup": [
220            "$TC qdisc add dev $DUMMY ingress",
221            "$TC actions add action ife encode allow mark pass index 1"
222        ],
223        "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action ife index 1",
224        "expExitCode": "0",
225        "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall",
226        "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*",
227        "matchCount": "1",
228        "teardown": [
229            "$TC qdisc del dev $DUMMY ingress"
230        ]
231    },
232    {
233        "id": "ef74",
234        "name": "Reference mirred action object in filter",
235        "category": [
236            "infra",
237            "mirred"
238        ],
239	"plugins": {
240		"requires": "nsPlugin"
241	},
242        "setup": [
243            "$TC qdisc add dev $DUMMY ingress",
244            "$TC actions add action mirred egress mirror index 1 dev lo"
245        ],
246        "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action mirred index 1",
247        "expExitCode": "0",
248        "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall",
249        "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*",
250        "matchCount": "1",
251        "teardown": [
252            "$TC qdisc del dev $DUMMY ingress"
253        ]
254    },
255    {
256        "id": "2c81",
257        "name": "Reference nat action object in filter",
258        "category": [
259            "infra",
260            "nat"
261        ],
262	"plugins": {
263		"requires": "nsPlugin"
264	},
265        "setup": [
266            "$TC qdisc add dev $DUMMY ingress",
267            "$TC actions add action nat ingress 192.168.1.1 200.200.200.1"
268        ],
269        "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action nat index 1",
270        "expExitCode": "0",
271        "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall",
272        "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*",
273        "matchCount": "1",
274        "teardown": [
275            "$TC qdisc del dev $DUMMY ingress"
276        ]
277    },
278    {
279        "id": "ac9d",
280        "name": "Reference police action object in filter",
281        "category": [
282            "infra",
283            "police"
284        ],
285	"plugins": {
286		"requires": "nsPlugin"
287	},
288        "setup": [
289            "$TC qdisc add dev $DUMMY ingress",
290            "$TC actions add action police rate 1kbit burst 10k index 1"
291        ],
292        "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action police index 1",
293        "expExitCode": "0",
294        "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall",
295        "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*",
296        "matchCount": "1",
297        "teardown": [
298            "$TC qdisc del dev $DUMMY ingress"
299        ]
300    },
301    {
302        "id": "68be",
303        "name": "Reference sample action object in filter",
304        "category": [
305            "infra",
306            "sample"
307        ],
308	"plugins": {
309		"requires": "nsPlugin"
310	},
311        "setup": [
312            "$TC qdisc add dev $DUMMY ingress",
313            "$TC actions add action sample rate 10 group 1 index 1"
314        ],
315        "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action sample index 1",
316        "expExitCode": "0",
317        "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall",
318        "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*",
319        "matchCount": "1",
320        "teardown": [
321            "$TC qdisc del dev $DUMMY ingress"
322        ]
323    },
324    {
325        "id": "cf01",
326        "name": "Reference skbedit action object in filter",
327        "category": [
328            "infra",
329            "skbedit"
330        ],
331	"plugins": {
332		"requires": "nsPlugin"
333	},
334        "setup": [
335            "$TC qdisc add dev $DUMMY ingress",
336            "$TC actions add action skbedit mark 1"
337        ],
338        "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action skbedit index 1",
339        "expExitCode": "0",
340        "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall",
341        "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*",
342        "matchCount": "1",
343        "teardown": [
344            "$TC qdisc del dev $DUMMY ingress"
345        ]
346    },
347    {
348        "id": "c109",
349        "name": "Reference skbmod action object in filter",
350        "category": [
351            "infra",
352            "skbmod"
353        ],
354	"plugins": {
355		"requires": "nsPlugin"
356	},
357        "setup": [
358            "$TC qdisc add dev $DUMMY ingress",
359            "$TC actions add action skbmod set dmac 11:22:33:44:55:66 index 1"
360        ],
361        "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action skbmod index 1",
362        "expExitCode": "0",
363        "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall",
364        "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*",
365        "matchCount": "1",
366        "teardown": [
367            "$TC qdisc del dev $DUMMY ingress"
368        ]
369    },
370    {
371        "id": "4abc",
372        "name": "Reference tunnel_key action object in filter",
373        "category": [
374            "infra",
375            "tunnel_key"
376        ],
377	"plugins": {
378		"requires": "nsPlugin"
379	},
380        "setup": [
381            "$TC qdisc add dev $DUMMY ingress",
382            "$TC actions add action tunnel_key set src_ip 10.10.10.1 dst_ip 20.20.20.2 id 1 index 1"
383        ],
384        "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action tunnel_key index 1",
385        "expExitCode": "0",
386        "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall",
387        "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*",
388        "matchCount": "1",
389        "teardown": [
390            "$TC qdisc del dev $DUMMY ingress"
391        ]
392    },
393    {
394        "id": "dadd",
395        "name": "Reference vlan action object in filter",
396        "category": [
397            "infra",
398            "tunnel_key"
399        ],
400	"plugins": {
401		"requires": "nsPlugin"
402	},
403        "setup": [
404            "$TC qdisc add dev $DUMMY ingress",
405            "$TC actions add action vlan pop pipe index 1"
406        ],
407        "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action vlan index 1",
408        "expExitCode": "0",
409        "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall",
410        "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*",
411        "matchCount": "1",
412        "teardown": [
413            "$TC qdisc del dev $DUMMY ingress"
414        ]
415    }
416]
417