1088cbac6SKeara Leibovitz[
2088cbac6SKeara Leibovitz    {
3088cbac6SKeara Leibovitz        "id": "901f",
4088cbac6SKeara Leibovitz        "name": "Add fw filter with prio at 32-bit maxixum",
5088cbac6SKeara Leibovitz        "category": [
6088cbac6SKeara Leibovitz            "filter",
7088cbac6SKeara Leibovitz            "fw"
8088cbac6SKeara Leibovitz        ],
9489ce2f4SLucas Bates	"plugins": {
10489ce2f4SLucas Bates		"requires": "nsPlugin"
11489ce2f4SLucas Bates	},
12088cbac6SKeara Leibovitz        "setup": [
13088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
14088cbac6SKeara Leibovitz        ],
15088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 65535 fw action ok",
16088cbac6SKeara Leibovitz        "expExitCode": "0",
17088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 65535 protocol all fw",
18088cbac6SKeara Leibovitz        "matchPattern": "pref 65535 fw.*handle 0x1.*gact action pass",
19088cbac6SKeara Leibovitz        "matchCount": "1",
20088cbac6SKeara Leibovitz        "teardown": [
21088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
22088cbac6SKeara Leibovitz        ]
23088cbac6SKeara Leibovitz    },
24088cbac6SKeara Leibovitz    {
25088cbac6SKeara Leibovitz        "id": "51e2",
26088cbac6SKeara Leibovitz        "name": "Add fw filter with prio exceeding 32-bit maxixum",
27088cbac6SKeara Leibovitz        "category": [
28088cbac6SKeara Leibovitz            "filter",
29088cbac6SKeara Leibovitz            "fw"
30088cbac6SKeara Leibovitz        ],
31489ce2f4SLucas Bates	"plugins": {
32489ce2f4SLucas Bates		"requires": "nsPlugin"
33489ce2f4SLucas Bates	},
34088cbac6SKeara Leibovitz        "setup": [
35088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
36088cbac6SKeara Leibovitz        ],
37088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 65536 fw action ok",
38088cbac6SKeara Leibovitz        "expExitCode": "255",
39088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 65536 protocol all fw",
40088cbac6SKeara Leibovitz        "matchPattern": "pref 65536 fw.*handle 0x1.*gact action pass",
41088cbac6SKeara Leibovitz        "matchCount": "0",
42088cbac6SKeara Leibovitz        "teardown": [
43088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
44088cbac6SKeara Leibovitz        ]
45088cbac6SKeara Leibovitz    },
46088cbac6SKeara Leibovitz    {
47088cbac6SKeara Leibovitz        "id": "d987",
48088cbac6SKeara Leibovitz        "name": "Add fw filter with action ok",
49088cbac6SKeara Leibovitz        "category": [
50088cbac6SKeara Leibovitz            "filter",
51088cbac6SKeara Leibovitz            "fw"
52088cbac6SKeara Leibovitz        ],
53489ce2f4SLucas Bates	"plugins": {
54489ce2f4SLucas Bates		"requires": "nsPlugin"
55489ce2f4SLucas Bates	},
56489ce2f4SLucas Bates	"plugins": {
57489ce2f4SLucas Bates		"requires": "nsPlugin"
58489ce2f4SLucas Bates	},
59489ce2f4SLucas Bates	"plugins": {
60489ce2f4SLucas Bates		"requires": "nsPlugin"
61489ce2f4SLucas Bates	},
62489ce2f4SLucas Bates	"plugins": {
63489ce2f4SLucas Bates		"requires": "nsPlugin"
64489ce2f4SLucas Bates	},
65489ce2f4SLucas Bates	"plugins": {
66489ce2f4SLucas Bates		"requires": "nsPlugin"
67489ce2f4SLucas Bates	},
68489ce2f4SLucas Bates	"plugins": {
69489ce2f4SLucas Bates		"requires": "nsPlugin"
70489ce2f4SLucas Bates	},
71489ce2f4SLucas Bates	"plugins": {
72489ce2f4SLucas Bates		"requires": "nsPlugin"
73489ce2f4SLucas Bates	},
74489ce2f4SLucas Bates	"plugins": {
75489ce2f4SLucas Bates		"requires": "nsPlugin"
76489ce2f4SLucas Bates	},
77489ce2f4SLucas Bates	"plugins": {
78489ce2f4SLucas Bates		"requires": "nsPlugin"
79489ce2f4SLucas Bates	},
80489ce2f4SLucas Bates	"plugins": {
81489ce2f4SLucas Bates		"requires": "nsPlugin"
82489ce2f4SLucas Bates	},
83489ce2f4SLucas Bates	"plugins": {
84489ce2f4SLucas Bates		"requires": "nsPlugin"
85489ce2f4SLucas Bates	},
86489ce2f4SLucas Bates	"plugins": {
87489ce2f4SLucas Bates		"requires": "nsPlugin"
88489ce2f4SLucas Bates	},
89489ce2f4SLucas Bates	"plugins": {
90489ce2f4SLucas Bates		"requires": "nsPlugin"
91489ce2f4SLucas Bates	},
92489ce2f4SLucas Bates	"plugins": {
93489ce2f4SLucas Bates		"requires": "nsPlugin"
94489ce2f4SLucas Bates	},
95489ce2f4SLucas Bates	"plugins": {
96489ce2f4SLucas Bates		"requires": "nsPlugin"
97489ce2f4SLucas Bates	},
98489ce2f4SLucas Bates	"plugins": {
99489ce2f4SLucas Bates		"requires": "nsPlugin"
100489ce2f4SLucas Bates	},
101489ce2f4SLucas Bates	"plugins": {
102489ce2f4SLucas Bates		"requires": "nsPlugin"
103489ce2f4SLucas Bates	},
104489ce2f4SLucas Bates	"plugins": {
105489ce2f4SLucas Bates		"requires": "nsPlugin"
106489ce2f4SLucas Bates	},
107489ce2f4SLucas Bates	"plugins": {
108489ce2f4SLucas Bates		"requires": "nsPlugin"
109489ce2f4SLucas Bates	},
110489ce2f4SLucas Bates	"plugins": {
111489ce2f4SLucas Bates		"requires": "nsPlugin"
112489ce2f4SLucas Bates	},
113489ce2f4SLucas Bates	"plugins": {
114489ce2f4SLucas Bates		"requires": "nsPlugin"
115489ce2f4SLucas Bates	},
116489ce2f4SLucas Bates	"plugins": {
117489ce2f4SLucas Bates		"requires": "nsPlugin"
118489ce2f4SLucas Bates	},
119489ce2f4SLucas Bates	"plugins": {
120489ce2f4SLucas Bates		"requires": "nsPlugin"
121489ce2f4SLucas Bates	},
122489ce2f4SLucas Bates	"plugins": {
123489ce2f4SLucas Bates		"requires": "nsPlugin"
124489ce2f4SLucas Bates	},
125489ce2f4SLucas Bates	"plugins": {
126489ce2f4SLucas Bates		"requires": "nsPlugin"
127489ce2f4SLucas Bates	},
128489ce2f4SLucas Bates	"plugins": {
129489ce2f4SLucas Bates		"requires": "nsPlugin"
130489ce2f4SLucas Bates	},
131489ce2f4SLucas Bates	"plugins": {
132489ce2f4SLucas Bates		"requires": "nsPlugin"
133489ce2f4SLucas Bates	},
134489ce2f4SLucas Bates	"plugins": {
135489ce2f4SLucas Bates		"requires": "nsPlugin"
136489ce2f4SLucas Bates	},
137489ce2f4SLucas Bates	"plugins": {
138489ce2f4SLucas Bates		"requires": "nsPlugin"
139489ce2f4SLucas Bates	},
140489ce2f4SLucas Bates	"plugins": {
141489ce2f4SLucas Bates		"requires": "nsPlugin"
142489ce2f4SLucas Bates	},
143489ce2f4SLucas Bates	"plugins": {
144489ce2f4SLucas Bates		"requires": "nsPlugin"
145489ce2f4SLucas Bates	},
146489ce2f4SLucas Bates	"plugins": {
147489ce2f4SLucas Bates		"requires": "nsPlugin"
148489ce2f4SLucas Bates	},
149489ce2f4SLucas Bates	"plugins": {
150489ce2f4SLucas Bates		"requires": "nsPlugin"
151489ce2f4SLucas Bates	},
152489ce2f4SLucas Bates	"plugins": {
153489ce2f4SLucas Bates		"requires": "nsPlugin"
154489ce2f4SLucas Bates	},
155489ce2f4SLucas Bates	"plugins": {
156489ce2f4SLucas Bates		"requires": "nsPlugin"
157489ce2f4SLucas Bates	},
158489ce2f4SLucas Bates	"plugins": {
159489ce2f4SLucas Bates		"requires": "nsPlugin"
160489ce2f4SLucas Bates	},
161088cbac6SKeara Leibovitz        "setup": [
162088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
163088cbac6SKeara Leibovitz        ],
164088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action ok",
165088cbac6SKeara Leibovitz        "expExitCode": "0",
166088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
167088cbac6SKeara Leibovitz        "matchPattern": "handle 0x1.*gact action pass",
168088cbac6SKeara Leibovitz        "matchCount": "1",
169088cbac6SKeara Leibovitz        "teardown": [
170088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
171088cbac6SKeara Leibovitz        ]
172088cbac6SKeara Leibovitz    },
173088cbac6SKeara Leibovitz    {
174514fcaacSRoman Mashak        "id": "c591",
175514fcaacSRoman Mashak        "name": "Add fw filter with action ok by reference",
176514fcaacSRoman Mashak        "__comment": "We add sleep here because action might have not been deleted by workqueue just yet. Remove this when the behaviour is fixed.",
177514fcaacSRoman Mashak        "category": [
178514fcaacSRoman Mashak            "filter",
179514fcaacSRoman Mashak            "fw"
180514fcaacSRoman Mashak        ],
181514fcaacSRoman Mashak        "setup": [
182514fcaacSRoman Mashak            "$TC qdisc add dev $DEV1 ingress",
183514fcaacSRoman Mashak            "/bin/sleep 1",
184514fcaacSRoman Mashak            "$TC actions add action gact ok index 1"
185514fcaacSRoman Mashak        ],
186514fcaacSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action gact index 1",
187514fcaacSRoman Mashak        "expExitCode": "0",
188514fcaacSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
189514fcaacSRoman Mashak        "matchPattern": "handle 0x1.*gact action pass.*index 1 ref 2 bind 1",
190514fcaacSRoman Mashak        "matchCount": "1",
191514fcaacSRoman Mashak        "teardown": [
192514fcaacSRoman Mashak            "$TC qdisc del dev $DEV1 ingress",
193514fcaacSRoman Mashak            "/bin/sleep 1",
194514fcaacSRoman Mashak            "$TC actions del action gact index 1"
195514fcaacSRoman Mashak        ]
196514fcaacSRoman Mashak    },
197514fcaacSRoman Mashak    {
198088cbac6SKeara Leibovitz        "id": "affe",
199088cbac6SKeara Leibovitz        "name": "Add fw filter with action continue",
200088cbac6SKeara Leibovitz        "category": [
201088cbac6SKeara Leibovitz            "filter",
202088cbac6SKeara Leibovitz            "fw"
203088cbac6SKeara Leibovitz        ],
204088cbac6SKeara Leibovitz        "setup": [
205088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
206088cbac6SKeara Leibovitz        ],
207088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action continue",
208088cbac6SKeara Leibovitz        "expExitCode": "0",
209088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
210088cbac6SKeara Leibovitz        "matchPattern": "handle 0x1.*gact action continue",
211088cbac6SKeara Leibovitz        "matchCount": "1",
212088cbac6SKeara Leibovitz        "teardown": [
213088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
214088cbac6SKeara Leibovitz        ]
215088cbac6SKeara Leibovitz    },
216088cbac6SKeara Leibovitz    {
217514fcaacSRoman Mashak        "id": "38b3",
218514fcaacSRoman Mashak        "name": "Add fw filter with action continue by reference",
219514fcaacSRoman Mashak        "__comment": "We add sleep here because action might have not been deleted by workqueue just yet. Remove this when the behaviour is fixed.",
220514fcaacSRoman Mashak        "category": [
221514fcaacSRoman Mashak            "filter",
222514fcaacSRoman Mashak            "fw"
223514fcaacSRoman Mashak        ],
224514fcaacSRoman Mashak        "setup": [
225514fcaacSRoman Mashak            "$TC qdisc add dev $DEV1 ingress",
226514fcaacSRoman Mashak            "/bin/sleep 1",
227514fcaacSRoman Mashak            "$TC actions add action gact continue index 1"
228514fcaacSRoman Mashak        ],
229514fcaacSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action gact index 1",
230514fcaacSRoman Mashak        "expExitCode": "0",
231514fcaacSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
232514fcaacSRoman Mashak        "matchPattern": "handle 0x1.*gact action continue.*index 1 ref 2 bind 1",
233514fcaacSRoman Mashak        "matchCount": "1",
234514fcaacSRoman Mashak        "teardown": [
235514fcaacSRoman Mashak            "$TC qdisc del dev $DEV1 ingress",
236514fcaacSRoman Mashak            "/bin/sleep 1",
237514fcaacSRoman Mashak            "$TC actions del action gact index 1"
238514fcaacSRoman Mashak        ]
239514fcaacSRoman Mashak    },
240514fcaacSRoman Mashak    {
241088cbac6SKeara Leibovitz        "id": "28bc",
242088cbac6SKeara Leibovitz        "name": "Add fw filter with action pipe",
243088cbac6SKeara Leibovitz        "category": [
244088cbac6SKeara Leibovitz            "filter",
245088cbac6SKeara Leibovitz            "fw"
246088cbac6SKeara Leibovitz        ],
247088cbac6SKeara Leibovitz        "setup": [
248088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
249088cbac6SKeara Leibovitz        ],
250088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action pipe",
251088cbac6SKeara Leibovitz        "expExitCode": "0",
252088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
253088cbac6SKeara Leibovitz        "matchPattern": "handle 0x1.*gact action pipe",
254088cbac6SKeara Leibovitz        "matchCount": "1",
255088cbac6SKeara Leibovitz        "teardown": [
256088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
257088cbac6SKeara Leibovitz        ]
258088cbac6SKeara Leibovitz    },
259088cbac6SKeara Leibovitz    {
260514fcaacSRoman Mashak        "id": "6753",
261514fcaacSRoman Mashak        "name": "Add fw filter with action pipe by reference",
262514fcaacSRoman Mashak        "__comment": "We add sleep here because action might have not been deleted by workqueue just yet.",
263514fcaacSRoman Mashak        "category": [
264514fcaacSRoman Mashak            "filter",
265514fcaacSRoman Mashak            "fw"
266514fcaacSRoman Mashak        ],
267514fcaacSRoman Mashak        "setup": [
268514fcaacSRoman Mashak            "$TC qdisc add dev $DEV1 ingress",
269514fcaacSRoman Mashak            "/bin/sleep 1",
270514fcaacSRoman Mashak            "$TC actions add action gact pipe index 1"
271514fcaacSRoman Mashak        ],
272514fcaacSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action gact index 1",
273514fcaacSRoman Mashak        "expExitCode": "0",
274514fcaacSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
275514fcaacSRoman Mashak        "matchPattern": "handle 0x1.*gact action pipe.*index 1 ref 2 bind 1",
276514fcaacSRoman Mashak        "matchCount": "1",
277514fcaacSRoman Mashak        "teardown": [
278514fcaacSRoman Mashak            "$TC qdisc del dev $DEV1 ingress",
279514fcaacSRoman Mashak            "/bin/sleep 1",
280514fcaacSRoman Mashak            "$TC actions del action gact index 1"
281514fcaacSRoman Mashak        ]
282514fcaacSRoman Mashak    },
283514fcaacSRoman Mashak    {
284088cbac6SKeara Leibovitz        "id": "8da2",
285088cbac6SKeara Leibovitz        "name": "Add fw filter with action drop",
286088cbac6SKeara Leibovitz        "category": [
287088cbac6SKeara Leibovitz            "filter",
288088cbac6SKeara Leibovitz            "fw"
289088cbac6SKeara Leibovitz        ],
290088cbac6SKeara Leibovitz        "setup": [
291088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
292088cbac6SKeara Leibovitz        ],
293088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action drop",
294088cbac6SKeara Leibovitz        "expExitCode": "0",
295088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 protocol all prio 1 fw",
296088cbac6SKeara Leibovitz        "matchPattern": "handle 0x1.*gact action drop",
297088cbac6SKeara Leibovitz        "matchCount": "1",
298088cbac6SKeara Leibovitz        "teardown": [
299088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
300088cbac6SKeara Leibovitz        ]
301088cbac6SKeara Leibovitz    },
302088cbac6SKeara Leibovitz    {
303514fcaacSRoman Mashak        "id": "6dc6",
304514fcaacSRoman Mashak        "name": "Add fw filter with action drop by reference",
305514fcaacSRoman Mashak        "__comment": "We add sleep here because action might have not been deleted by workqueue just yet.",
306514fcaacSRoman Mashak        "category": [
307514fcaacSRoman Mashak            "filter",
308514fcaacSRoman Mashak            "fw"
309514fcaacSRoman Mashak        ],
310514fcaacSRoman Mashak        "setup": [
311514fcaacSRoman Mashak            "$TC qdisc add dev $DEV1 ingress",
312514fcaacSRoman Mashak            "/bin/sleep 1",
313514fcaacSRoman Mashak            "$TC actions add action gact drop index 1"
314514fcaacSRoman Mashak        ],
315514fcaacSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action gact index 1",
316514fcaacSRoman Mashak        "expExitCode": "0",
317514fcaacSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
318514fcaacSRoman Mashak        "matchPattern": "handle 0x1.*gact action drop.*index 1 ref 2 bind 1",
319514fcaacSRoman Mashak        "matchCount": "1",
320514fcaacSRoman Mashak        "teardown": [
321514fcaacSRoman Mashak            "$TC qdisc del dev $DEV1 ingress",
322514fcaacSRoman Mashak            "/bin/sleep 1",
323514fcaacSRoman Mashak            "$TC actions del action gact index 1"
324514fcaacSRoman Mashak        ]
325514fcaacSRoman Mashak    },
326514fcaacSRoman Mashak    {
327088cbac6SKeara Leibovitz        "id": "9436",
328088cbac6SKeara Leibovitz        "name": "Add fw filter with action reclassify",
329088cbac6SKeara Leibovitz        "category": [
330088cbac6SKeara Leibovitz            "filter",
331088cbac6SKeara Leibovitz            "fw"
332088cbac6SKeara Leibovitz        ],
333088cbac6SKeara Leibovitz        "setup": [
334088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
335088cbac6SKeara Leibovitz        ],
336088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action reclassify",
337088cbac6SKeara Leibovitz        "expExitCode": "0",
338088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
339088cbac6SKeara Leibovitz        "matchPattern": "handle 0x1.*gact action reclassify",
340088cbac6SKeara Leibovitz        "matchCount": "1",
341088cbac6SKeara Leibovitz        "teardown": [
342088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
343088cbac6SKeara Leibovitz        ]
344088cbac6SKeara Leibovitz    },
345088cbac6SKeara Leibovitz    {
346514fcaacSRoman Mashak        "id": "3bc2",
347514fcaacSRoman Mashak        "name": "Add fw filter with action reclassify by reference",
348514fcaacSRoman Mashak        "__comment": "We add sleep here because action might have not been deleted by workqueue just yet.",
349514fcaacSRoman Mashak        "category": [
350514fcaacSRoman Mashak            "filter",
351514fcaacSRoman Mashak            "fw"
352514fcaacSRoman Mashak        ],
353514fcaacSRoman Mashak        "setup": [
354514fcaacSRoman Mashak            "$TC qdisc add dev $DEV1 ingress",
355514fcaacSRoman Mashak            "/bin/sleep 1",
356514fcaacSRoman Mashak            "$TC actions add action gact reclassify index 1"
357514fcaacSRoman Mashak        ],
358514fcaacSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action gact index 1",
359514fcaacSRoman Mashak        "expExitCode": "0",
360514fcaacSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
361514fcaacSRoman Mashak        "matchPattern": "handle 0x1.*gact action reclassify.*index 1 ref 2 bind 1",
362514fcaacSRoman Mashak        "matchCount": "1",
363514fcaacSRoman Mashak        "teardown": [
364514fcaacSRoman Mashak            "$TC qdisc del dev $DEV1 ingress",
365514fcaacSRoman Mashak            "/bin/sleep 1",
366514fcaacSRoman Mashak            "$TC actions del action gact index 1"
367514fcaacSRoman Mashak        ]
368514fcaacSRoman Mashak    },
369514fcaacSRoman Mashak    {
370088cbac6SKeara Leibovitz        "id": "95bb",
371088cbac6SKeara Leibovitz        "name": "Add fw filter with action jump 10",
372088cbac6SKeara Leibovitz        "category": [
373088cbac6SKeara Leibovitz            "filter",
374088cbac6SKeara Leibovitz            "fw"
375088cbac6SKeara Leibovitz        ],
376088cbac6SKeara Leibovitz        "setup": [
377088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
378088cbac6SKeara Leibovitz        ],
379088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action jump 10",
380088cbac6SKeara Leibovitz        "expExitCode": "0",
381088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
382088cbac6SKeara Leibovitz        "matchPattern": "handle 0x1.*gact action jump 10",
383088cbac6SKeara Leibovitz        "matchCount": "1",
384088cbac6SKeara Leibovitz        "teardown": [
385088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
386088cbac6SKeara Leibovitz        ]
387088cbac6SKeara Leibovitz    },
388088cbac6SKeara Leibovitz    {
389514fcaacSRoman Mashak        "id": "36f7",
390514fcaacSRoman Mashak        "name": "Add fw filter with action jump 10 by reference",
391514fcaacSRoman Mashak        "__comment": "We add sleep here because action might have not been deleted by workqueue just yet.",
392514fcaacSRoman Mashak        "category": [
393514fcaacSRoman Mashak            "filter",
394514fcaacSRoman Mashak            "fw"
395514fcaacSRoman Mashak        ],
396514fcaacSRoman Mashak        "setup": [
397514fcaacSRoman Mashak            "$TC qdisc add dev $DEV1 ingress",
398514fcaacSRoman Mashak            "/bin/sleep 1",
399514fcaacSRoman Mashak            "$TC actions add action gact jump 10 index 1"
400514fcaacSRoman Mashak        ],
401514fcaacSRoman Mashak        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action gact index 1",
402514fcaacSRoman Mashak        "expExitCode": "0",
403514fcaacSRoman Mashak        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
404514fcaacSRoman Mashak        "matchPattern": "handle 0x1.*gact action jump 10.*index 1 ref 2 bind 1",
405514fcaacSRoman Mashak        "matchCount": "1",
406514fcaacSRoman Mashak        "teardown": [
407514fcaacSRoman Mashak            "$TC qdisc del dev $DEV1 ingress",
408514fcaacSRoman Mashak            "/bin/sleep 1",
409514fcaacSRoman Mashak            "$TC actions del action gact index 1"
410514fcaacSRoman Mashak        ]
411514fcaacSRoman Mashak    },
412514fcaacSRoman Mashak    {
413088cbac6SKeara Leibovitz        "id": "3d74",
414088cbac6SKeara Leibovitz        "name": "Add fw filter with action goto chain 5",
415088cbac6SKeara Leibovitz        "category": [
416088cbac6SKeara Leibovitz            "filter",
417088cbac6SKeara Leibovitz            "fw"
418088cbac6SKeara Leibovitz        ],
419088cbac6SKeara Leibovitz        "setup": [
420088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
421088cbac6SKeara Leibovitz        ],
422088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action goto chain 5",
423088cbac6SKeara Leibovitz        "expExitCode": "0",
424088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
425088cbac6SKeara Leibovitz        "matchPattern": "handle 0x1.*gact action goto chain 5",
426088cbac6SKeara Leibovitz        "matchCount": "1",
427088cbac6SKeara Leibovitz        "teardown": [
428088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
429088cbac6SKeara Leibovitz        ]
430088cbac6SKeara Leibovitz    },
431088cbac6SKeara Leibovitz    {
432088cbac6SKeara Leibovitz        "id": "eb8f",
433088cbac6SKeara Leibovitz        "name": "Add fw filter with invalid action",
434088cbac6SKeara Leibovitz        "category": [
435088cbac6SKeara Leibovitz            "filter",
436088cbac6SKeara Leibovitz            "fw"
437088cbac6SKeara Leibovitz        ],
438088cbac6SKeara Leibovitz        "setup": [
439088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
440088cbac6SKeara Leibovitz        ],
441088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw action pump",
442088cbac6SKeara Leibovitz        "expExitCode": "255",
443088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
444088cbac6SKeara Leibovitz        "matchPattern": "handle 0x1.*gact action pump",
445088cbac6SKeara Leibovitz        "matchCount": "0",
446088cbac6SKeara Leibovitz        "teardown": [
447088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
448088cbac6SKeara Leibovitz        ]
449088cbac6SKeara Leibovitz    },
450088cbac6SKeara Leibovitz    {
451088cbac6SKeara Leibovitz        "id": "6a79",
452088cbac6SKeara Leibovitz        "name": "Add fw filter with missing mandatory action",
453088cbac6SKeara Leibovitz        "category": [
454088cbac6SKeara Leibovitz            "filter",
455088cbac6SKeara Leibovitz            "fw"
456088cbac6SKeara Leibovitz        ],
457088cbac6SKeara Leibovitz        "setup": [
458088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
459088cbac6SKeara Leibovitz        ],
460088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw",
461088cbac6SKeara Leibovitz        "expExitCode": "2",
462088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
463088cbac6SKeara Leibovitz        "matchPattern": "filter protocol all pref [0-9]+ fw.*handle 0x1",
464088cbac6SKeara Leibovitz        "matchCount": "0",
465088cbac6SKeara Leibovitz        "teardown": [
466088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
467088cbac6SKeara Leibovitz        ]
468088cbac6SKeara Leibovitz    },
469088cbac6SKeara Leibovitz    {
470088cbac6SKeara Leibovitz        "id": "8298",
471088cbac6SKeara Leibovitz        "name": "Add fw filter with cookie",
472088cbac6SKeara Leibovitz        "category": [
473088cbac6SKeara Leibovitz            "filter",
474088cbac6SKeara Leibovitz            "fw"
475088cbac6SKeara Leibovitz        ],
476088cbac6SKeara Leibovitz        "setup": [
477088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
478088cbac6SKeara Leibovitz        ],
479088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 2 fw action pipe cookie aa11bb22cc33dd44ee55ff66aa11b1b2",
480088cbac6SKeara Leibovitz        "expExitCode": "0",
481088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 2 protocol all fw",
482088cbac6SKeara Leibovitz        "matchPattern": "pref 2 fw.*handle 0x1.*gact action pipe.*cookie aa11bb22cc33dd44ee55ff66aa11b1b2",
483088cbac6SKeara Leibovitz        "matchCount": "1",
484088cbac6SKeara Leibovitz        "teardown": [
485088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
486088cbac6SKeara Leibovitz        ]
487088cbac6SKeara Leibovitz    },
488088cbac6SKeara Leibovitz    {
489088cbac6SKeara Leibovitz        "id": "a88c",
490088cbac6SKeara Leibovitz        "name": "Add fw filter with invalid cookie",
491088cbac6SKeara Leibovitz        "category": [
492088cbac6SKeara Leibovitz            "filter",
493088cbac6SKeara Leibovitz            "fw"
494088cbac6SKeara Leibovitz        ],
495088cbac6SKeara Leibovitz        "setup": [
496088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
497088cbac6SKeara Leibovitz        ],
498088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 2 fw action continue cookie aa11bb22cc33dd44ee55ff66aa11b1b2777888",
499088cbac6SKeara Leibovitz        "expExitCode": "255",
500088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 2 protocol all fw",
501088cbac6SKeara Leibovitz        "matchPattern": "pref 2 fw.*handle 0x1.*gact action continue.*cookie aa11bb22cc33dd44ee55ff66aa11b1b2777888",
502088cbac6SKeara Leibovitz        "matchCount": "0",
503088cbac6SKeara Leibovitz        "teardown": [
504088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
505088cbac6SKeara Leibovitz        ]
506088cbac6SKeara Leibovitz    },
507088cbac6SKeara Leibovitz    {
508088cbac6SKeara Leibovitz        "id": "10f6",
509088cbac6SKeara Leibovitz        "name": "Add fw filter with handle in hex",
510088cbac6SKeara Leibovitz        "category": [
511088cbac6SKeara Leibovitz            "filter",
512088cbac6SKeara Leibovitz            "fw"
513088cbac6SKeara Leibovitz        ],
514088cbac6SKeara Leibovitz        "setup": [
515088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
516088cbac6SKeara Leibovitz        ],
517088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 0xa1b2ff prio 1 fw action ok",
518088cbac6SKeara Leibovitz        "expExitCode": "0",
519088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 0xa1b2ff prio 1 protocol all fw",
520088cbac6SKeara Leibovitz        "matchPattern": "fw.*handle 0xa1b2ff.*gact action pass",
521088cbac6SKeara Leibovitz        "matchCount": "1",
522088cbac6SKeara Leibovitz        "teardown": [
523088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
524088cbac6SKeara Leibovitz        ]
525088cbac6SKeara Leibovitz    },
526088cbac6SKeara Leibovitz    {
527088cbac6SKeara Leibovitz        "id": "9d51",
528088cbac6SKeara Leibovitz        "name": "Add fw filter with handle at 32-bit maximum",
529088cbac6SKeara Leibovitz        "category": [
530088cbac6SKeara Leibovitz            "filter",
531088cbac6SKeara Leibovitz            "fw"
532088cbac6SKeara Leibovitz        ],
533088cbac6SKeara Leibovitz        "setup": [
534088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
535088cbac6SKeara Leibovitz        ],
536088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 4294967295 prio 1 fw action ok",
537088cbac6SKeara Leibovitz        "expExitCode": "0",
538088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 4294967295 prio 1 protocol all fw",
539088cbac6SKeara Leibovitz        "matchPattern": "fw.*handle 0xffffffff.*gact action pass",
540088cbac6SKeara Leibovitz        "matchCount": "1",
541088cbac6SKeara Leibovitz        "teardown": [
542088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
543088cbac6SKeara Leibovitz        ]
544088cbac6SKeara Leibovitz    },
545088cbac6SKeara Leibovitz    {
546088cbac6SKeara Leibovitz        "id": "d939",
547088cbac6SKeara Leibovitz        "name": "Add fw filter with handle exceeding 32-bit maximum",
548088cbac6SKeara Leibovitz        "category": [
549088cbac6SKeara Leibovitz            "filter",
550088cbac6SKeara Leibovitz            "fw"
551088cbac6SKeara Leibovitz        ],
552088cbac6SKeara Leibovitz        "setup": [
553088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
554088cbac6SKeara Leibovitz        ],
555088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 4294967296 prio 1 fw action ok",
556088cbac6SKeara Leibovitz        "expExitCode": "1",
557088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 4294967296 prio 1 protocol all fw",
558088cbac6SKeara Leibovitz        "matchPattern": "fw.*handle 0x.*gact action pass",
559088cbac6SKeara Leibovitz        "matchCount": "0",
560088cbac6SKeara Leibovitz        "teardown": [
561088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
562088cbac6SKeara Leibovitz        ]
563088cbac6SKeara Leibovitz    },
564088cbac6SKeara Leibovitz    {
565088cbac6SKeara Leibovitz        "id": "658c",
566088cbac6SKeara Leibovitz        "name": "Add fw filter with mask in hex",
567088cbac6SKeara Leibovitz        "category": [
568088cbac6SKeara Leibovitz            "filter",
569088cbac6SKeara Leibovitz            "fw"
570088cbac6SKeara Leibovitz        ],
571088cbac6SKeara Leibovitz        "setup": [
572088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
573088cbac6SKeara Leibovitz        ],
574088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 10/0xa1b2f prio 1 fw action ok",
575088cbac6SKeara Leibovitz        "expExitCode": "0",
576088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 10 prio 1 protocol all fw",
577088cbac6SKeara Leibovitz        "matchPattern": "fw.*handle 0xa/0xa1b2f",
578088cbac6SKeara Leibovitz        "matchCount": "1",
579088cbac6SKeara Leibovitz        "teardown": [
580088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
581088cbac6SKeara Leibovitz        ]
582088cbac6SKeara Leibovitz    },
583088cbac6SKeara Leibovitz    {
584088cbac6SKeara Leibovitz        "id": "86be",
585088cbac6SKeara Leibovitz        "name": "Add fw filter with mask at 32-bit maximum",
586088cbac6SKeara Leibovitz        "category": [
587088cbac6SKeara Leibovitz            "filter",
588088cbac6SKeara Leibovitz            "fw"
589088cbac6SKeara Leibovitz        ],
590088cbac6SKeara Leibovitz        "setup": [
591088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
592088cbac6SKeara Leibovitz        ],
593088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 10/4294967295 prio 1 fw action ok",
594088cbac6SKeara Leibovitz        "expExitCode": "0",
595088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 10 prio 1 protocol all fw",
596088cbac6SKeara Leibovitz        "matchPattern": "fw.*handle 0xa[^/]",
597088cbac6SKeara Leibovitz        "matchCount": "1",
598088cbac6SKeara Leibovitz        "teardown": [
599088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
600088cbac6SKeara Leibovitz        ]
601088cbac6SKeara Leibovitz    },
602088cbac6SKeara Leibovitz    {
603088cbac6SKeara Leibovitz        "id": "e635",
604088cbac6SKeara Leibovitz        "name": "Add fw filter with mask exceeding 32-bit maximum",
605088cbac6SKeara Leibovitz        "category": [
606088cbac6SKeara Leibovitz            "filter",
607088cbac6SKeara Leibovitz            "fw"
608088cbac6SKeara Leibovitz        ],
609088cbac6SKeara Leibovitz        "setup": [
610088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
611088cbac6SKeara Leibovitz        ],
612088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 10/4294967296 prio 1 fw action ok",
613088cbac6SKeara Leibovitz        "expExitCode": "1",
614088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 10 prio 1 protocol all fw",
615088cbac6SKeara Leibovitz        "matchPattern": "fw.*handle 0xa",
616088cbac6SKeara Leibovitz        "matchCount": "0",
617088cbac6SKeara Leibovitz        "teardown": [
618088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
619088cbac6SKeara Leibovitz        ]
620088cbac6SKeara Leibovitz    },
621088cbac6SKeara Leibovitz    {
622088cbac6SKeara Leibovitz        "id": "6cab",
623088cbac6SKeara Leibovitz        "name": "Add fw filter with handle/mask in hex",
624088cbac6SKeara Leibovitz        "category": [
625088cbac6SKeara Leibovitz            "filter",
626088cbac6SKeara Leibovitz            "fw"
627088cbac6SKeara Leibovitz        ],
628088cbac6SKeara Leibovitz        "setup": [
629088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
630088cbac6SKeara Leibovitz        ],
631088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 0xa1b2cdff/0x1a2bffdc prio 1 fw action ok",
632088cbac6SKeara Leibovitz        "expExitCode": "0",
633088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 0xa1b2cdff prio 1 protocol all fw",
634088cbac6SKeara Leibovitz        "matchPattern": "fw.*handle 0xa1b2cdff/0x1a2bffdc",
635088cbac6SKeara Leibovitz        "matchCount": "1",
636088cbac6SKeara Leibovitz        "teardown": [
637088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
638088cbac6SKeara Leibovitz        ]
639088cbac6SKeara Leibovitz    },
640088cbac6SKeara Leibovitz    {
641088cbac6SKeara Leibovitz        "id": "8700",
642088cbac6SKeara Leibovitz        "name": "Add fw filter with handle/mask at 32-bit maximum",
643088cbac6SKeara Leibovitz        "category": [
644088cbac6SKeara Leibovitz            "filter",
645088cbac6SKeara Leibovitz            "fw"
646088cbac6SKeara Leibovitz        ],
647088cbac6SKeara Leibovitz        "setup": [
648088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
649088cbac6SKeara Leibovitz        ],
650088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 4294967295/4294967295 prio 1 fw action ok",
651088cbac6SKeara Leibovitz        "expExitCode": "0",
652088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 0xffffffff prio 1 protocol all fw",
653088cbac6SKeara Leibovitz        "matchPattern": "fw.*handle 0xffffffff[^/]",
654088cbac6SKeara Leibovitz        "matchCount": "1",
655088cbac6SKeara Leibovitz        "teardown": [
656088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
657088cbac6SKeara Leibovitz        ]
658088cbac6SKeara Leibovitz    },
659088cbac6SKeara Leibovitz    {
660088cbac6SKeara Leibovitz        "id": "7d62",
661088cbac6SKeara Leibovitz        "name": "Add fw filter with handle/mask exceeding 32-bit maximum",
662088cbac6SKeara Leibovitz        "category": [
663088cbac6SKeara Leibovitz            "filter",
664088cbac6SKeara Leibovitz            "fw"
665088cbac6SKeara Leibovitz        ],
666088cbac6SKeara Leibovitz        "setup": [
667088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
668088cbac6SKeara Leibovitz        ],
669088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 4294967296/4294967296 prio 1 fw action ok",
670088cbac6SKeara Leibovitz        "expExitCode": "1",
671088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 10 prio 1 protocol all fw",
672088cbac6SKeara Leibovitz        "matchPattern": "fw.*handle",
673088cbac6SKeara Leibovitz        "matchCount": "0",
674088cbac6SKeara Leibovitz        "teardown": [
675088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
676088cbac6SKeara Leibovitz        ]
677088cbac6SKeara Leibovitz    },
678088cbac6SKeara Leibovitz    {
679088cbac6SKeara Leibovitz        "id": "7b69",
680088cbac6SKeara Leibovitz        "name": "Add fw filter with missing mandatory handle",
681088cbac6SKeara Leibovitz        "category": [
682088cbac6SKeara Leibovitz            "filter",
683088cbac6SKeara Leibovitz            "fw"
684088cbac6SKeara Leibovitz        ],
685088cbac6SKeara Leibovitz        "setup": [
686088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
687088cbac6SKeara Leibovitz        ],
688088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: prio 1 fw action ok",
689088cbac6SKeara Leibovitz        "expExitCode": "2",
690088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
691088cbac6SKeara Leibovitz        "matchPattern": "filter protocol all.*fw.*handle.*gact action pass",
692088cbac6SKeara Leibovitz        "matchCount": "0",
693088cbac6SKeara Leibovitz        "teardown": [
694088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
695088cbac6SKeara Leibovitz        ]
696088cbac6SKeara Leibovitz    },
697088cbac6SKeara Leibovitz    {
698088cbac6SKeara Leibovitz        "id": "d68b",
699088cbac6SKeara Leibovitz        "name": "Add fw filter with invalid parent",
700088cbac6SKeara Leibovitz        "category": [
701088cbac6SKeara Leibovitz            "filter",
702088cbac6SKeara Leibovitz            "fw"
703088cbac6SKeara Leibovitz        ],
704088cbac6SKeara Leibovitz        "setup": [
705088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
706088cbac6SKeara Leibovitz        ],
707088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent aa11b1b2: handle 1 prio 1 fw action ok",
708088cbac6SKeara Leibovitz        "expExitCode": "255",
709088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter dev $DEV1 parent aa11b1b2: handle 1 prio 1 protocol all fw",
710088cbac6SKeara Leibovitz        "matchPattern": "filter protocol all pref 1 fw.*handle 0x1.*gact action pass",
711088cbac6SKeara Leibovitz        "matchCount": "0",
712088cbac6SKeara Leibovitz        "teardown": [
713088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
714088cbac6SKeara Leibovitz        ]
715088cbac6SKeara Leibovitz    },
716088cbac6SKeara Leibovitz    {
717088cbac6SKeara Leibovitz        "id": "66e0",
718088cbac6SKeara Leibovitz        "name": "Add fw filter with missing mandatory parent id",
719088cbac6SKeara Leibovitz        "category": [
720088cbac6SKeara Leibovitz            "filter",
721088cbac6SKeara Leibovitz            "fw"
722088cbac6SKeara Leibovitz        ],
723088cbac6SKeara Leibovitz        "setup": [
724088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
725088cbac6SKeara Leibovitz        ],
726088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 handle 1 prio 1 fw action ok",
727088cbac6SKeara Leibovitz        "expExitCode": "2",
728088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
729088cbac6SKeara Leibovitz        "matchPattern": "pref [0-9]+ fw.*handle 0x1.*gact action pass",
730088cbac6SKeara Leibovitz        "matchCount": "0",
731088cbac6SKeara Leibovitz        "teardown": [
732088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
733088cbac6SKeara Leibovitz        ]
734088cbac6SKeara Leibovitz    },
735088cbac6SKeara Leibovitz    {
736088cbac6SKeara Leibovitz        "id": "0ff3",
737088cbac6SKeara Leibovitz        "name": "Add fw filter with classid",
738088cbac6SKeara Leibovitz        "category": [
739088cbac6SKeara Leibovitz            "filter",
740088cbac6SKeara Leibovitz            "fw"
741088cbac6SKeara Leibovitz        ],
742088cbac6SKeara Leibovitz        "setup": [
743088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
744088cbac6SKeara Leibovitz        ],
745088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw classid 3 action ok",
746088cbac6SKeara Leibovitz        "expExitCode": "0",
747088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
748088cbac6SKeara Leibovitz        "matchPattern": "fw.*handle 0x1 classid :3.*gact action pass",
749088cbac6SKeara Leibovitz        "matchCount": "1",
750088cbac6SKeara Leibovitz        "teardown": [
751088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
752088cbac6SKeara Leibovitz        ]
753088cbac6SKeara Leibovitz    },
754088cbac6SKeara Leibovitz    {
755088cbac6SKeara Leibovitz        "id": "9849",
756088cbac6SKeara Leibovitz        "name": "Add fw filter with classid at root",
757088cbac6SKeara Leibovitz        "category": [
758088cbac6SKeara Leibovitz            "filter",
759088cbac6SKeara Leibovitz            "fw"
760088cbac6SKeara Leibovitz        ],
761088cbac6SKeara Leibovitz        "setup": [
762088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
763088cbac6SKeara Leibovitz        ],
764088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw classid ffff:ffff action ok",
765088cbac6SKeara Leibovitz        "expExitCode": "0",
766088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
767088cbac6SKeara Leibovitz        "matchPattern": "pref 1 fw.*handle 0x1 classid root.*gact action pass",
768088cbac6SKeara Leibovitz        "matchCount": "1",
769088cbac6SKeara Leibovitz        "teardown": [
770088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
771088cbac6SKeara Leibovitz        ]
772088cbac6SKeara Leibovitz    },
773088cbac6SKeara Leibovitz    {
774088cbac6SKeara Leibovitz        "id": "b7ff",
775088cbac6SKeara Leibovitz        "name": "Add fw filter with classid - keeps last 8 (hex) digits",
776088cbac6SKeara Leibovitz        "category": [
777088cbac6SKeara Leibovitz            "filter",
778088cbac6SKeara Leibovitz            "fw"
779088cbac6SKeara Leibovitz        ],
780088cbac6SKeara Leibovitz        "setup": [
781088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
782088cbac6SKeara Leibovitz        ],
783088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw classid 98765fedcb action ok",
784088cbac6SKeara Leibovitz        "expExitCode": "0",
785088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
786088cbac6SKeara Leibovitz        "matchPattern": "fw.*handle 0x1 classid 765f:edcb.*gact action pass",
787088cbac6SKeara Leibovitz        "matchCount": "1",
788088cbac6SKeara Leibovitz        "teardown": [
789088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
790088cbac6SKeara Leibovitz        ]
791088cbac6SKeara Leibovitz    },
792088cbac6SKeara Leibovitz    {
793088cbac6SKeara Leibovitz        "id": "2b18",
794088cbac6SKeara Leibovitz        "name": "Add fw filter with invalid classid",
795088cbac6SKeara Leibovitz        "category": [
796088cbac6SKeara Leibovitz            "filter",
797088cbac6SKeara Leibovitz            "fw"
798088cbac6SKeara Leibovitz        ],
799088cbac6SKeara Leibovitz        "setup": [
800088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
801088cbac6SKeara Leibovitz        ],
802088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 1 prio 1 fw classid 6789defg action ok",
803088cbac6SKeara Leibovitz        "expExitCode": "1",
804088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol all fw",
805088cbac6SKeara Leibovitz        "matchPattern": "fw.*handle 0x1 classid 6789:defg.*gact action pass",
806088cbac6SKeara Leibovitz        "matchCount": "0",
807088cbac6SKeara Leibovitz        "teardown": [
808088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
809088cbac6SKeara Leibovitz        ]
810088cbac6SKeara Leibovitz    },
811088cbac6SKeara Leibovitz    {
812088cbac6SKeara Leibovitz        "id": "fade",
813088cbac6SKeara Leibovitz        "name": "Add fw filter with flowid",
814088cbac6SKeara Leibovitz        "category": [
815088cbac6SKeara Leibovitz            "filter",
816088cbac6SKeara Leibovitz            "fw"
817088cbac6SKeara Leibovitz        ],
818088cbac6SKeara Leibovitz        "setup": [
819088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
820088cbac6SKeara Leibovitz        ],
821088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 10 prio 1 fw flowid 1:10 action ok",
822088cbac6SKeara Leibovitz        "expExitCode": "0",
823088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 10 prio 1 protocol all fw",
824088cbac6SKeara Leibovitz        "matchPattern": "filter parent ffff: protocol all pref 1 fw.*handle 0xa classid 1:10.*gact action pass",
825088cbac6SKeara Leibovitz        "matchCount": "1",
826088cbac6SKeara Leibovitz        "teardown": [
827088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
828088cbac6SKeara Leibovitz        ]
829088cbac6SKeara Leibovitz    },
830088cbac6SKeara Leibovitz    {
831088cbac6SKeara Leibovitz        "id": "33af",
832088cbac6SKeara Leibovitz        "name": "Add fw filter with flowid then classid (same arg, takes second)",
833088cbac6SKeara Leibovitz        "category": [
834088cbac6SKeara Leibovitz            "filter",
835088cbac6SKeara Leibovitz            "fw"
836088cbac6SKeara Leibovitz        ],
837088cbac6SKeara Leibovitz        "setup": [
838088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
839088cbac6SKeara Leibovitz        ],
840088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 11 prio 1 fw flowid 10 classid 4 action ok",
841088cbac6SKeara Leibovitz        "expExitCode": "0",
842088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 11 prio 1 protocol all fw",
843088cbac6SKeara Leibovitz        "matchPattern": "filter parent ffff: protocol all pref 1 fw.*handle 0xb classid :4.*gact action pass",
844088cbac6SKeara Leibovitz        "matchCount": "1",
845088cbac6SKeara Leibovitz        "teardown": [
846088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
847088cbac6SKeara Leibovitz        ]
848088cbac6SKeara Leibovitz    },
849088cbac6SKeara Leibovitz    {
850088cbac6SKeara Leibovitz        "id": "8a8c",
851088cbac6SKeara Leibovitz        "name": "Add fw filter with classid then flowid (same arg, takes second)",
852088cbac6SKeara Leibovitz        "category": [
853088cbac6SKeara Leibovitz            "filter",
854088cbac6SKeara Leibovitz            "fw"
855088cbac6SKeara Leibovitz        ],
856088cbac6SKeara Leibovitz        "setup": [
857088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
858088cbac6SKeara Leibovitz        ],
859088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: handle 11 prio 1 fw classid 4 flowid 10 action ok",
860088cbac6SKeara Leibovitz        "expExitCode": "0",
861088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 11 prio 1 protocol all fw",
862088cbac6SKeara Leibovitz        "matchPattern": "filter parent ffff: protocol all pref 1 fw.*handle 0xb classid :10.*gact action pass",
863088cbac6SKeara Leibovitz        "matchCount": "1",
864088cbac6SKeara Leibovitz        "teardown": [
865088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
866088cbac6SKeara Leibovitz        ]
867088cbac6SKeara Leibovitz    },
868088cbac6SKeara Leibovitz    {
869088cbac6SKeara Leibovitz        "id": "b50d",
870088cbac6SKeara Leibovitz        "name": "Add fw filter with handle val/mask and flowid 10:1000",
871088cbac6SKeara Leibovitz        "category": [
872088cbac6SKeara Leibovitz            "filter",
873088cbac6SKeara Leibovitz            "fw"
874088cbac6SKeara Leibovitz        ],
875088cbac6SKeara Leibovitz        "setup": [
876088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
877088cbac6SKeara Leibovitz        ],
878088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: prio 3 handle 10/0xff fw flowid 10:1000 action ok",
879088cbac6SKeara Leibovitz        "expExitCode": "0",
880088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 10 prio 3 protocol all fw",
881088cbac6SKeara Leibovitz        "matchPattern": "filter parent ffff: protocol all pref 3 fw.*handle 0xa/0xff classid 10:1000.*gact action pass",
882088cbac6SKeara Leibovitz        "matchCount": "1",
883088cbac6SKeara Leibovitz        "teardown": [
884088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
885088cbac6SKeara Leibovitz        ]
886088cbac6SKeara Leibovitz    },
887088cbac6SKeara Leibovitz    {
888088cbac6SKeara Leibovitz        "id": "7207",
889088cbac6SKeara Leibovitz        "name": "Add fw filter with protocol ip",
890088cbac6SKeara Leibovitz        "category": [
891088cbac6SKeara Leibovitz            "filter",
892088cbac6SKeara Leibovitz            "fw"
893088cbac6SKeara Leibovitz        ],
894088cbac6SKeara Leibovitz        "setup": [
895088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
896088cbac6SKeara Leibovitz        ],
897088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: protocol ip prio 1 handle 3 fw action ok",
898088cbac6SKeara Leibovitz        "expExitCode": "0",
899088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 3 prio 1 protocol ip fw",
900088cbac6SKeara Leibovitz        "matchPattern": "filter parent ffff: protocol ip pref 1 fw.*handle 0x3.*gact action pass.*index [0-9]+ ref [0-9]+ bind [0-9]+",
901088cbac6SKeara Leibovitz        "matchCount": "1",
902088cbac6SKeara Leibovitz        "teardown": [
903088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
904088cbac6SKeara Leibovitz        ]
905088cbac6SKeara Leibovitz    },
906088cbac6SKeara Leibovitz    {
907088cbac6SKeara Leibovitz        "id": "306d",
908088cbac6SKeara Leibovitz        "name": "Add fw filter with protocol ipv6",
909088cbac6SKeara Leibovitz        "category": [
910088cbac6SKeara Leibovitz            "filter",
911088cbac6SKeara Leibovitz            "fw"
912088cbac6SKeara Leibovitz        ],
913088cbac6SKeara Leibovitz        "setup": [
914088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
915088cbac6SKeara Leibovitz        ],
916088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: protocol ipv6 prio 2 handle 4 fw action ok",
917088cbac6SKeara Leibovitz        "expExitCode": "0",
918088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 4 prio 2 protocol ipv6 fw",
919088cbac6SKeara Leibovitz        "matchPattern": "filter parent ffff: protocol ipv6 pref 2 fw.*handle 0x4.*gact action pass.*index [0-9]+ ref [0-9]+ bind [0-9]+",
920088cbac6SKeara Leibovitz        "matchCount": "1",
921088cbac6SKeara Leibovitz        "teardown": [
922088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
923088cbac6SKeara Leibovitz        ]
924088cbac6SKeara Leibovitz    },
925088cbac6SKeara Leibovitz    {
926088cbac6SKeara Leibovitz        "id": "9a78",
927088cbac6SKeara Leibovitz        "name": "Add fw filter with protocol arp",
928088cbac6SKeara Leibovitz        "category": [
929088cbac6SKeara Leibovitz            "filter",
930088cbac6SKeara Leibovitz            "fw"
931088cbac6SKeara Leibovitz        ],
932088cbac6SKeara Leibovitz        "setup": [
933088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
934088cbac6SKeara Leibovitz        ],
935088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: protocol arp prio 5 handle 7 fw action drop",
936088cbac6SKeara Leibovitz        "expExitCode": "0",
937088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 7 prio 5 protocol arp fw",
938088cbac6SKeara Leibovitz        "matchPattern": "filter parent ffff: protocol arp pref 5 fw.*handle 0x7.*gact action drop.*index [0-9]+ ref [0-9]+ bind [0-9]+",
939088cbac6SKeara Leibovitz        "matchCount": "1",
940088cbac6SKeara Leibovitz        "teardown": [
941088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
942088cbac6SKeara Leibovitz        ]
943088cbac6SKeara Leibovitz    },
944088cbac6SKeara Leibovitz    {
945088cbac6SKeara Leibovitz        "id": "1821",
946088cbac6SKeara Leibovitz        "name": "Add fw filter with protocol 802_3",
947088cbac6SKeara Leibovitz        "category": [
948088cbac6SKeara Leibovitz            "filter",
949088cbac6SKeara Leibovitz            "fw"
950088cbac6SKeara Leibovitz        ],
951088cbac6SKeara Leibovitz        "setup": [
952088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
953088cbac6SKeara Leibovitz        ],
954088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: protocol 802_3 handle 1 prio 1 fw action ok",
955088cbac6SKeara Leibovitz        "expExitCode": "0",
956088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol 802_3 fw",
957088cbac6SKeara Leibovitz        "matchPattern": "filter parent ffff: protocol 802_3 pref 1 fw.*handle 0x1.*gact action pass",
958088cbac6SKeara Leibovitz        "matchCount": "1",
959088cbac6SKeara Leibovitz        "teardown": [
960088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
961088cbac6SKeara Leibovitz        ]
962088cbac6SKeara Leibovitz    },
963088cbac6SKeara Leibovitz    {
964088cbac6SKeara Leibovitz        "id": "2260",
965088cbac6SKeara Leibovitz        "name": "Add fw filter with invalid protocol",
966088cbac6SKeara Leibovitz        "category": [
967088cbac6SKeara Leibovitz            "filter",
968088cbac6SKeara Leibovitz            "fw"
969088cbac6SKeara Leibovitz        ],
970088cbac6SKeara Leibovitz        "setup": [
971088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
972088cbac6SKeara Leibovitz        ],
973088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: protocol igmp handle 1 prio 1 fw action ok",
974088cbac6SKeara Leibovitz        "expExitCode": "255",
975088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 1 prio 1 protocol igmp fw",
976088cbac6SKeara Leibovitz        "matchPattern": "filter parent ffff: protocol igmp pref 1 fw.*handle 0x1.*gact action pass",
977088cbac6SKeara Leibovitz        "matchCount": "0",
978088cbac6SKeara Leibovitz        "teardown": [
979088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
980088cbac6SKeara Leibovitz        ]
981088cbac6SKeara Leibovitz    },
982088cbac6SKeara Leibovitz    {
983088cbac6SKeara Leibovitz        "id": "09d7",
984088cbac6SKeara Leibovitz        "name": "Add fw filters protocol 802_3 and ip with conflicting priorities",
985088cbac6SKeara Leibovitz        "category": [
986088cbac6SKeara Leibovitz            "filter",
987088cbac6SKeara Leibovitz            "fw"
988088cbac6SKeara Leibovitz        ],
989489ce2f4SLucas Bates	"plugins": {
990489ce2f4SLucas Bates		"requires": "nsPlugin"
991489ce2f4SLucas Bates	},
992088cbac6SKeara Leibovitz        "setup": [
993088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress",
994088cbac6SKeara Leibovitz            "$TC filter add dev $DEV1 parent ffff: protocol 802_3 prio 3 handle 7 fw action ok"
995088cbac6SKeara Leibovitz        ],
996088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: protocol ip prio 3 handle 8 fw action ok",
997088cbac6SKeara Leibovitz        "expExitCode": "2",
998088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 8 prio 3 protocol ip fw",
999088cbac6SKeara Leibovitz        "matchPattern": "filter parent ffff: protocol ip pref 3 fw.*handle 0x8",
1000088cbac6SKeara Leibovitz        "matchCount": "0",
1001088cbac6SKeara Leibovitz        "teardown": [
1002088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
1003088cbac6SKeara Leibovitz        ]
1004088cbac6SKeara Leibovitz    },
1005088cbac6SKeara Leibovitz    {
1006088cbac6SKeara Leibovitz        "id": "6973",
1007088cbac6SKeara Leibovitz        "name": "Add fw filters with same index, same action",
1008088cbac6SKeara Leibovitz        "category": [
1009088cbac6SKeara Leibovitz            "filter",
1010088cbac6SKeara Leibovitz            "fw"
1011088cbac6SKeara Leibovitz        ],
1012489ce2f4SLucas Bates	"plugins": {
1013489ce2f4SLucas Bates		"requires": "nsPlugin"
1014489ce2f4SLucas Bates	},
1015088cbac6SKeara Leibovitz        "setup": [
1016088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress",
1017088cbac6SKeara Leibovitz            "$TC filter add dev $DEV1 parent ffff: prio 6 handle 2 fw action continue index 5"
1018088cbac6SKeara Leibovitz        ],
1019088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: prio 8 handle 4 fw action continue index 5",
1020088cbac6SKeara Leibovitz        "expExitCode": "0",
1021088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 4 prio 8 protocol all fw",
1022088cbac6SKeara Leibovitz        "matchPattern": "filter parent ffff: protocol all pref 8 fw.*handle 0x4.*gact action continue.*index 5 ref 2 bind 2",
1023088cbac6SKeara Leibovitz        "matchCount": "1",
1024088cbac6SKeara Leibovitz        "teardown": [
1025088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
1026088cbac6SKeara Leibovitz        ]
1027088cbac6SKeara Leibovitz    },
1028088cbac6SKeara Leibovitz    {
1029088cbac6SKeara Leibovitz        "id": "fc06",
1030088cbac6SKeara Leibovitz        "name": "Add fw filters with action police",
1031088cbac6SKeara Leibovitz        "category": [
1032088cbac6SKeara Leibovitz            "filter",
1033088cbac6SKeara Leibovitz            "fw"
1034088cbac6SKeara Leibovitz        ],
1035489ce2f4SLucas Bates	"plugins": {
1036489ce2f4SLucas Bates		"requires": "nsPlugin"
1037489ce2f4SLucas Bates	},
1038088cbac6SKeara Leibovitz        "setup": [
1039088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
1040088cbac6SKeara Leibovitz        ],
1041088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: prio 3 handle 4 fw action police rate 1kbit burst 10k index 5",
1042088cbac6SKeara Leibovitz        "expExitCode": "0",
1043088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 4 prio 3 protocol all fw",
1044088cbac6SKeara Leibovitz        "matchPattern": "filter parent ffff: protocol all pref 3 fw.*handle 0x4.*police 0x5 rate 1Kbit burst 10Kb mtu 2Kb action reclassify overhead 0b.*ref 1 bind 1",
1045088cbac6SKeara Leibovitz        "matchCount": "1",
1046088cbac6SKeara Leibovitz        "teardown": [
1047088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
1048088cbac6SKeara Leibovitz        ]
1049088cbac6SKeara Leibovitz    },
1050088cbac6SKeara Leibovitz    {
1051088cbac6SKeara Leibovitz        "id": "aac7",
1052088cbac6SKeara Leibovitz        "name": "Add fw filters with action police linklayer atm",
1053088cbac6SKeara Leibovitz        "category": [
1054088cbac6SKeara Leibovitz            "filter",
1055088cbac6SKeara Leibovitz            "fw"
1056088cbac6SKeara Leibovitz        ],
1057489ce2f4SLucas Bates	"plugins": {
1058489ce2f4SLucas Bates		"requires": "nsPlugin"
1059489ce2f4SLucas Bates	},
1060088cbac6SKeara Leibovitz        "setup": [
1061088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress"
1062088cbac6SKeara Leibovitz        ],
1063088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter add dev $DEV1 parent ffff: prio 3 handle 4 fw action police rate 2mbit burst 200k linklayer atm index 8",
1064088cbac6SKeara Leibovitz        "expExitCode": "0",
1065088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 4 prio 3 protocol all fw",
1066088cbac6SKeara Leibovitz        "matchPattern": "filter parent ffff: protocol all pref 3 fw.*handle 0x4.*police 0x8 rate 2Mbit burst 200Kb mtu 2Kb action reclassify overhead 0b linklayer atm.*ref 1 bind 1",
1067088cbac6SKeara Leibovitz        "matchCount": "1",
1068088cbac6SKeara Leibovitz        "teardown": [
1069088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
1070088cbac6SKeara Leibovitz        ]
1071088cbac6SKeara Leibovitz    },
1072088cbac6SKeara Leibovitz    {
1073088cbac6SKeara Leibovitz        "id": "5339",
1074088cbac6SKeara Leibovitz        "name": "Del entire fw filter",
1075088cbac6SKeara Leibovitz        "category": [
1076088cbac6SKeara Leibovitz            "filter",
1077088cbac6SKeara Leibovitz            "fw"
1078088cbac6SKeara Leibovitz        ],
1079489ce2f4SLucas Bates	"plugins": {
1080489ce2f4SLucas Bates		"requires": "nsPlugin"
1081489ce2f4SLucas Bates	},
1082088cbac6SKeara Leibovitz        "setup": [
1083088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress",
1084088cbac6SKeara Leibovitz            "$TC filter add dev $DEV1 parent ffff: handle 5 prio 7 fw action pass",
1085088cbac6SKeara Leibovitz            "$TC filter add dev $DEV1 parent ffff: handle 3 prio 9 fw action pass"
1086088cbac6SKeara Leibovitz        ],
1087088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter del dev $DEV1 parent ffff:",
1088088cbac6SKeara Leibovitz        "expExitCode": "0",
1089088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
1090088cbac6SKeara Leibovitz        "matchPattern": "protocol all pref.*handle.*gact action pass",
1091088cbac6SKeara Leibovitz        "matchCount": "0",
1092088cbac6SKeara Leibovitz        "teardown": [
1093088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
1094088cbac6SKeara Leibovitz        ]
1095088cbac6SKeara Leibovitz    },
1096088cbac6SKeara Leibovitz    {
1097088cbac6SKeara Leibovitz        "id": "0e99",
1098088cbac6SKeara Leibovitz        "name": "Del single fw filter x1",
1099088cbac6SKeara Leibovitz        "__comment__": "First of two tests to check that one filter is there and the other isn't",
1100088cbac6SKeara Leibovitz        "category": [
1101088cbac6SKeara Leibovitz            "filter",
1102088cbac6SKeara Leibovitz            "fw"
1103088cbac6SKeara Leibovitz        ],
1104489ce2f4SLucas Bates	"plugins": {
1105489ce2f4SLucas Bates		"requires": "nsPlugin"
1106489ce2f4SLucas Bates	},
1107088cbac6SKeara Leibovitz        "setup": [
1108088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress",
1109088cbac6SKeara Leibovitz            "$TC filter add dev $DEV1 parent ffff: handle 5 prio 7 fw action pass",
1110088cbac6SKeara Leibovitz            "$TC filter add dev $DEV1 parent ffff: handle 3 prio 9 fw action pass"
1111088cbac6SKeara Leibovitz        ],
1112088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter del dev $DEV1 parent ffff: handle 3 prio 9 fw action pass",
1113088cbac6SKeara Leibovitz        "expExitCode": "0",
1114088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
1115088cbac6SKeara Leibovitz        "matchPattern": "protocol all pref 7.*handle 0x5.*gact action pass",
1116088cbac6SKeara Leibovitz        "matchCount": "1",
1117088cbac6SKeara Leibovitz        "teardown": [
1118088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
1119088cbac6SKeara Leibovitz        ]
1120088cbac6SKeara Leibovitz    },
1121088cbac6SKeara Leibovitz    {
1122088cbac6SKeara Leibovitz        "id": "f54c",
1123088cbac6SKeara Leibovitz        "name": "Del single fw filter x2",
1124088cbac6SKeara Leibovitz        "__comment__": "Second of two tests to check that one filter is there and the other isn't",
1125088cbac6SKeara Leibovitz        "category": [
1126088cbac6SKeara Leibovitz            "filter",
1127088cbac6SKeara Leibovitz            "fw"
1128088cbac6SKeara Leibovitz        ],
1129489ce2f4SLucas Bates	"plugins": {
1130489ce2f4SLucas Bates		"requires": "nsPlugin"
1131489ce2f4SLucas Bates	},
1132088cbac6SKeara Leibovitz        "setup": [
1133088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress",
1134088cbac6SKeara Leibovitz            "$TC filter add dev $DEV1 parent ffff: handle 5 prio 7 fw action pass",
1135088cbac6SKeara Leibovitz            "$TC filter add dev $DEV1 parent ffff: handle 3 prio 9 fw action pass"
1136088cbac6SKeara Leibovitz        ],
1137088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter del dev $DEV1 parent ffff: handle 3 prio 9 fw action pass",
1138088cbac6SKeara Leibovitz        "expExitCode": "0",
1139088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
1140088cbac6SKeara Leibovitz        "matchPattern": "protocol all pref 9.*handle 0x3.*gact action pass",
1141088cbac6SKeara Leibovitz        "matchCount": "0",
1142088cbac6SKeara Leibovitz        "teardown": [
1143088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
1144088cbac6SKeara Leibovitz        ]
1145088cbac6SKeara Leibovitz    },
1146088cbac6SKeara Leibovitz    {
1147088cbac6SKeara Leibovitz        "id": "ba94",
1148088cbac6SKeara Leibovitz        "name": "Del fw filter by prio",
1149088cbac6SKeara Leibovitz        "category": [
1150088cbac6SKeara Leibovitz            "filter",
1151088cbac6SKeara Leibovitz            "fw"
1152088cbac6SKeara Leibovitz        ],
1153489ce2f4SLucas Bates	"plugins": {
1154489ce2f4SLucas Bates		"requires": "nsPlugin"
1155489ce2f4SLucas Bates	},
1156088cbac6SKeara Leibovitz        "setup": [
1157088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress",
1158088cbac6SKeara Leibovitz            "$TC filter add dev $DEV1 parent ffff: handle 1 prio 4 fw action ok",
1159088cbac6SKeara Leibovitz            "$TC filter add dev $DEV1 parent ffff: handle 2 prio 4 fw action ok"
1160088cbac6SKeara Leibovitz        ],
1161088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter del dev $DEV1 parent ffff: prio 4",
1162088cbac6SKeara Leibovitz        "expExitCode": "0",
1163088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
1164088cbac6SKeara Leibovitz        "matchPattern": "pref 4 fw.*gact action pass",
1165088cbac6SKeara Leibovitz        "matchCount": "0",
1166088cbac6SKeara Leibovitz        "teardown": [
1167088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
1168088cbac6SKeara Leibovitz        ]
1169088cbac6SKeara Leibovitz    },
1170088cbac6SKeara Leibovitz    {
1171088cbac6SKeara Leibovitz        "id": "4acb",
1172088cbac6SKeara Leibovitz        "name": "Del fw filter by chain",
1173088cbac6SKeara Leibovitz        "category": [
1174088cbac6SKeara Leibovitz            "filter",
1175088cbac6SKeara Leibovitz            "fw"
1176088cbac6SKeara Leibovitz        ],
1177489ce2f4SLucas Bates	"plugins": {
1178489ce2f4SLucas Bates		"requires": "nsPlugin"
1179489ce2f4SLucas Bates	},
1180088cbac6SKeara Leibovitz        "setup": [
1181088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress",
1182088cbac6SKeara Leibovitz            "$TC filter add dev $DEV1 parent ffff: handle 4 prio 2 chain 13 fw action pipe",
1183088cbac6SKeara Leibovitz            "$TC filter add dev $DEV1 parent ffff: handle 3 prio 5 chain 13 fw action pipe"
1184088cbac6SKeara Leibovitz        ],
1185088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter del dev $DEV1 parent ffff: chain 13",
1186088cbac6SKeara Leibovitz        "expExitCode": "0",
1187088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
1188088cbac6SKeara Leibovitz        "matchPattern": "fw chain 13 handle.*gact action pipe",
1189088cbac6SKeara Leibovitz        "matchCount": "0",
1190088cbac6SKeara Leibovitz        "teardown": [
1191088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
1192088cbac6SKeara Leibovitz        ]
1193088cbac6SKeara Leibovitz    },
1194088cbac6SKeara Leibovitz    {
1195088cbac6SKeara Leibovitz        "id": "3424",
1196088cbac6SKeara Leibovitz        "name": "Del fw filter by action (invalid)",
1197088cbac6SKeara Leibovitz        "category": [
1198088cbac6SKeara Leibovitz            "filter",
1199088cbac6SKeara Leibovitz            "fw"
1200088cbac6SKeara Leibovitz        ],
1201489ce2f4SLucas Bates	"plugins": {
1202489ce2f4SLucas Bates		"requires": "nsPlugin"
1203489ce2f4SLucas Bates	},
1204088cbac6SKeara Leibovitz        "setup": [
1205088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress",
1206088cbac6SKeara Leibovitz            "$TC filter add dev $DEV1 parent ffff: handle 2 prio 4 fw action drop"
1207088cbac6SKeara Leibovitz        ],
1208088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter del dev $DEV1 parent ffff: fw action drop",
1209088cbac6SKeara Leibovitz        "expExitCode": "2",
1210088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 2 prio 4 protocol all fw",
1211088cbac6SKeara Leibovitz        "matchPattern": "handle 0x2.*gact action drop",
1212088cbac6SKeara Leibovitz        "matchCount": "1",
1213088cbac6SKeara Leibovitz        "teardown": [
1214088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
1215088cbac6SKeara Leibovitz        ]
1216088cbac6SKeara Leibovitz    },
1217088cbac6SKeara Leibovitz    {
1218088cbac6SKeara Leibovitz        "id": "da89",
1219088cbac6SKeara Leibovitz        "name": "Del fw filter by handle (invalid)",
1220088cbac6SKeara Leibovitz        "category": [
1221088cbac6SKeara Leibovitz            "filter",
1222088cbac6SKeara Leibovitz            "fw"
1223088cbac6SKeara Leibovitz        ],
1224489ce2f4SLucas Bates	"plugins": {
1225489ce2f4SLucas Bates		"requires": "nsPlugin"
1226489ce2f4SLucas Bates	},
1227088cbac6SKeara Leibovitz        "setup": [
1228088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress",
1229088cbac6SKeara Leibovitz            "$TC filter add dev $DEV1 parent ffff: handle 3 prio 4 fw action continue"
1230088cbac6SKeara Leibovitz        ],
1231088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter del dev $DEV1 parent ffff: handle 3 fw",
1232088cbac6SKeara Leibovitz        "expExitCode": "2",
1233088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 3 prio 4 protocol all fw",
1234088cbac6SKeara Leibovitz        "matchPattern": "handle 0x3.*gact action continue",
1235088cbac6SKeara Leibovitz        "matchCount": "1",
1236088cbac6SKeara Leibovitz        "teardown": [
1237088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
1238088cbac6SKeara Leibovitz        ]
1239088cbac6SKeara Leibovitz    },
1240088cbac6SKeara Leibovitz    {
1241088cbac6SKeara Leibovitz        "id": "4d95",
1242088cbac6SKeara Leibovitz        "name": "Del fw filter by protocol (invalid)",
1243088cbac6SKeara Leibovitz        "category": [
1244088cbac6SKeara Leibovitz            "filter",
1245088cbac6SKeara Leibovitz            "fw"
1246088cbac6SKeara Leibovitz        ],
1247489ce2f4SLucas Bates	"plugins": {
1248489ce2f4SLucas Bates		"requires": "nsPlugin"
1249489ce2f4SLucas Bates	},
1250088cbac6SKeara Leibovitz        "setup": [
1251088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress",
1252088cbac6SKeara Leibovitz            "$TC filter add dev $DEV1 parent ffff: handle 4 prio 2 protocol arp fw action pipe"
1253088cbac6SKeara Leibovitz        ],
1254088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter del dev $DEV1 parent ffff: protocol arp fw",
1255088cbac6SKeara Leibovitz        "expExitCode": "2",
1256088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter get dev $DEV1 parent ffff: handle 4 prio 2 protocol arp fw",
1257088cbac6SKeara Leibovitz        "matchPattern": "filter parent ffff: protocol arp.*handle 0x4.*gact action pipe",
1258088cbac6SKeara Leibovitz        "matchCount": "1",
1259088cbac6SKeara Leibovitz        "teardown": [
1260088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
1261088cbac6SKeara Leibovitz        ]
1262088cbac6SKeara Leibovitz    },
1263088cbac6SKeara Leibovitz    {
1264088cbac6SKeara Leibovitz        "id": "4736",
1265088cbac6SKeara Leibovitz        "name": "Del fw filter by flowid (invalid)",
1266088cbac6SKeara Leibovitz        "category": [
1267088cbac6SKeara Leibovitz            "filter",
1268088cbac6SKeara Leibovitz            "fw"
1269088cbac6SKeara Leibovitz        ],
1270489ce2f4SLucas Bates	"plugins": {
1271489ce2f4SLucas Bates		"requires": "nsPlugin"
1272489ce2f4SLucas Bates	},
1273088cbac6SKeara Leibovitz        "setup": [
1274088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress",
1275088cbac6SKeara Leibovitz            "$TC filter add dev $DEV1 parent ffff: handle 4 prio 2 fw action pipe flowid 45"
1276088cbac6SKeara Leibovitz        ],
1277088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter del dev $DEV1 parent ffff: fw flowid 45",
1278088cbac6SKeara Leibovitz        "expExitCode": "2",
1279088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
1280088cbac6SKeara Leibovitz        "matchPattern": "handle 0x4.*gact action pipe",
1281088cbac6SKeara Leibovitz        "matchCount": "1",
1282088cbac6SKeara Leibovitz        "teardown": [
1283088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
1284088cbac6SKeara Leibovitz        ]
1285088cbac6SKeara Leibovitz    },
1286088cbac6SKeara Leibovitz    {
1287088cbac6SKeara Leibovitz        "id": "3dcb",
1288088cbac6SKeara Leibovitz        "name": "Replace fw filter action",
1289088cbac6SKeara Leibovitz        "category": [
1290088cbac6SKeara Leibovitz            "filter",
1291088cbac6SKeara Leibovitz            "fw"
1292088cbac6SKeara Leibovitz        ],
1293489ce2f4SLucas Bates	"plugins": {
1294489ce2f4SLucas Bates		"requires": "nsPlugin"
1295489ce2f4SLucas Bates	},
1296088cbac6SKeara Leibovitz        "setup": [
1297088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress",
1298088cbac6SKeara Leibovitz            "$TC filter add dev $DEV1 parent ffff: handle 1 prio 2 fw action ok"
1299088cbac6SKeara Leibovitz        ],
1300088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter replace dev $DEV1 parent ffff: handle 1 prio 2 fw action pipe",
1301088cbac6SKeara Leibovitz        "expExitCode": "0",
1302088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
1303088cbac6SKeara Leibovitz        "matchPattern": "pref 2 fw.*handle 0x1.*gact action pipe",
1304088cbac6SKeara Leibovitz        "matchCount": "1",
1305088cbac6SKeara Leibovitz        "teardown": [
1306088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
1307088cbac6SKeara Leibovitz        ]
1308088cbac6SKeara Leibovitz    },
1309088cbac6SKeara Leibovitz    {
1310088cbac6SKeara Leibovitz        "id": "eb4d",
1311088cbac6SKeara Leibovitz        "name": "Replace fw filter classid",
1312088cbac6SKeara Leibovitz        "category": [
1313088cbac6SKeara Leibovitz            "filter",
1314088cbac6SKeara Leibovitz            "fw"
1315088cbac6SKeara Leibovitz        ],
1316489ce2f4SLucas Bates	"plugins": {
1317489ce2f4SLucas Bates		"requires": "nsPlugin"
1318489ce2f4SLucas Bates	},
1319088cbac6SKeara Leibovitz        "setup": [
1320088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress",
1321088cbac6SKeara Leibovitz            "$TC filter add dev $DEV1 parent ffff: handle 1 prio 2 fw action ok"
1322088cbac6SKeara Leibovitz        ],
1323088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter replace dev $DEV1 parent ffff: handle 1 prio 2 fw action pipe classid 2",
1324088cbac6SKeara Leibovitz        "expExitCode": "0",
1325088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
1326088cbac6SKeara Leibovitz        "matchPattern": "pref 2 fw.*handle 0x1 classid :2.*gact action pipe",
1327088cbac6SKeara Leibovitz        "matchCount": "1",
1328088cbac6SKeara Leibovitz        "teardown": [
1329088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
1330088cbac6SKeara Leibovitz        ]
1331088cbac6SKeara Leibovitz    },
1332088cbac6SKeara Leibovitz    {
1333088cbac6SKeara Leibovitz        "id": "67ec",
1334088cbac6SKeara Leibovitz        "name": "Replace fw filter index",
1335088cbac6SKeara Leibovitz        "category": [
1336088cbac6SKeara Leibovitz            "filter",
1337088cbac6SKeara Leibovitz            "fw"
1338088cbac6SKeara Leibovitz        ],
1339489ce2f4SLucas Bates	"plugins": {
1340489ce2f4SLucas Bates		"requires": "nsPlugin"
1341489ce2f4SLucas Bates	},
1342088cbac6SKeara Leibovitz        "setup": [
1343088cbac6SKeara Leibovitz            "$TC qdisc add dev $DEV1 ingress",
1344088cbac6SKeara Leibovitz            "$TC filter add dev $DEV1 parent ffff: handle 1 prio 2 fw action ok index 3"
1345088cbac6SKeara Leibovitz        ],
1346088cbac6SKeara Leibovitz        "cmdUnderTest": "$TC filter replace dev $DEV1 parent ffff: handle 1 prio 2 fw action ok index 16",
1347088cbac6SKeara Leibovitz        "expExitCode": "0",
1348088cbac6SKeara Leibovitz        "verifyCmd": "$TC filter show dev $DEV1 parent ffff:",
1349088cbac6SKeara Leibovitz        "matchPattern": "pref 2 fw.*handle 0x1.*gact action pass.*index 16",
1350088cbac6SKeara Leibovitz        "matchCount": "1",
1351088cbac6SKeara Leibovitz        "teardown": [
1352088cbac6SKeara Leibovitz            "$TC qdisc del dev $DEV1 ingress"
1353088cbac6SKeara Leibovitz        ]
1354088cbac6SKeara Leibovitz    }
1355088cbac6SKeara Leibovitz]
1356