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