xref: /OK3568_Linux_fs/kernel/tools/testing/selftests/tc-testing/tc-tests/qdiscs/ets.json (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun[
2*4882a593Smuzhiyun    {
3*4882a593Smuzhiyun        "id": "e90e",
4*4882a593Smuzhiyun        "name": "Add ETS qdisc using bands",
5*4882a593Smuzhiyun        "category": [
6*4882a593Smuzhiyun            "qdisc",
7*4882a593Smuzhiyun            "ets"
8*4882a593Smuzhiyun        ],
9*4882a593Smuzhiyun        "setup": [
10*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
11*4882a593Smuzhiyun        ],
12*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 2",
13*4882a593Smuzhiyun        "expExitCode": "0",
14*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
15*4882a593Smuzhiyun        "matchPattern": "qdisc ets 1: root .* bands 2",
16*4882a593Smuzhiyun        "matchCount": "1",
17*4882a593Smuzhiyun        "teardown": [
18*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
19*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
20*4882a593Smuzhiyun        ]
21*4882a593Smuzhiyun    },
22*4882a593Smuzhiyun    {
23*4882a593Smuzhiyun        "id": "b059",
24*4882a593Smuzhiyun        "name": "Add ETS qdisc using quanta",
25*4882a593Smuzhiyun        "category": [
26*4882a593Smuzhiyun            "qdisc",
27*4882a593Smuzhiyun            "ets"
28*4882a593Smuzhiyun        ],
29*4882a593Smuzhiyun        "setup": [
30*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
31*4882a593Smuzhiyun        ],
32*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets quanta 1000 900 800 700",
33*4882a593Smuzhiyun        "expExitCode": "0",
34*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
35*4882a593Smuzhiyun        "matchPattern": "qdisc ets 1: root .*bands 4 quanta 1000 900 800 700",
36*4882a593Smuzhiyun        "matchCount": "1",
37*4882a593Smuzhiyun        "teardown": [
38*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
39*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
40*4882a593Smuzhiyun        ]
41*4882a593Smuzhiyun    },
42*4882a593Smuzhiyun    {
43*4882a593Smuzhiyun        "id": "e8e7",
44*4882a593Smuzhiyun        "name": "Add ETS qdisc using strict",
45*4882a593Smuzhiyun        "category": [
46*4882a593Smuzhiyun            "qdisc",
47*4882a593Smuzhiyun            "ets"
48*4882a593Smuzhiyun        ],
49*4882a593Smuzhiyun        "setup": [
50*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
51*4882a593Smuzhiyun        ],
52*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets strict 3",
53*4882a593Smuzhiyun        "expExitCode": "0",
54*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
55*4882a593Smuzhiyun        "matchPattern": "qdisc ets 1: root .*bands 3 strict 3",
56*4882a593Smuzhiyun        "matchCount": "1",
57*4882a593Smuzhiyun        "teardown": [
58*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
59*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
60*4882a593Smuzhiyun        ]
61*4882a593Smuzhiyun    },
62*4882a593Smuzhiyun    {
63*4882a593Smuzhiyun        "id": "233c",
64*4882a593Smuzhiyun        "name": "Add ETS qdisc using bands + quanta",
65*4882a593Smuzhiyun        "category": [
66*4882a593Smuzhiyun            "qdisc",
67*4882a593Smuzhiyun            "ets"
68*4882a593Smuzhiyun        ],
69*4882a593Smuzhiyun        "setup": [
70*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
71*4882a593Smuzhiyun        ],
72*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 4 quanta 1000 900 800 700",
73*4882a593Smuzhiyun        "expExitCode": "0",
74*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
75*4882a593Smuzhiyun        "matchPattern": "qdisc ets 1: root .*bands 4 quanta 1000 900 800 700 priomap",
76*4882a593Smuzhiyun        "matchCount": "1",
77*4882a593Smuzhiyun        "teardown": [
78*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
79*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
80*4882a593Smuzhiyun        ]
81*4882a593Smuzhiyun    },
82*4882a593Smuzhiyun    {
83*4882a593Smuzhiyun        "id": "3d35",
84*4882a593Smuzhiyun        "name": "Add ETS qdisc using bands + strict",
85*4882a593Smuzhiyun        "category": [
86*4882a593Smuzhiyun            "qdisc",
87*4882a593Smuzhiyun            "ets"
88*4882a593Smuzhiyun        ],
89*4882a593Smuzhiyun        "setup": [
90*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
91*4882a593Smuzhiyun        ],
92*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 3 strict 3",
93*4882a593Smuzhiyun        "expExitCode": "0",
94*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
95*4882a593Smuzhiyun        "matchPattern": "qdisc ets 1: root .*bands 3 strict 3 priomap",
96*4882a593Smuzhiyun        "matchCount": "1",
97*4882a593Smuzhiyun        "teardown": [
98*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
99*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
100*4882a593Smuzhiyun        ]
101*4882a593Smuzhiyun    },
102*4882a593Smuzhiyun    {
103*4882a593Smuzhiyun        "id": "7f3b",
104*4882a593Smuzhiyun        "name": "Add ETS qdisc using strict + quanta",
105*4882a593Smuzhiyun        "category": [
106*4882a593Smuzhiyun            "qdisc",
107*4882a593Smuzhiyun            "ets"
108*4882a593Smuzhiyun        ],
109*4882a593Smuzhiyun        "setup": [
110*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
111*4882a593Smuzhiyun        ],
112*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets strict 3 quanta 1500 750",
113*4882a593Smuzhiyun        "expExitCode": "0",
114*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
115*4882a593Smuzhiyun        "matchPattern": "qdisc ets 1: root .*bands 5 strict 3 quanta 1500 750 priomap",
116*4882a593Smuzhiyun        "matchCount": "1",
117*4882a593Smuzhiyun        "teardown": [
118*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
119*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
120*4882a593Smuzhiyun        ]
121*4882a593Smuzhiyun    },
122*4882a593Smuzhiyun    {
123*4882a593Smuzhiyun        "id": "4593",
124*4882a593Smuzhiyun        "name": "Add ETS qdisc using strict 0 + quanta",
125*4882a593Smuzhiyun        "category": [
126*4882a593Smuzhiyun            "qdisc",
127*4882a593Smuzhiyun            "ets"
128*4882a593Smuzhiyun        ],
129*4882a593Smuzhiyun        "setup": [
130*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
131*4882a593Smuzhiyun        ],
132*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets strict 0 quanta 1500 750",
133*4882a593Smuzhiyun        "expExitCode": "0",
134*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
135*4882a593Smuzhiyun        "matchPattern": "qdisc ets 1: root .*bands 2 quanta 1500 750 priomap",
136*4882a593Smuzhiyun        "matchCount": "1",
137*4882a593Smuzhiyun        "teardown": [
138*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
139*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
140*4882a593Smuzhiyun        ]
141*4882a593Smuzhiyun    },
142*4882a593Smuzhiyun    {
143*4882a593Smuzhiyun        "id": "8938",
144*4882a593Smuzhiyun        "name": "Add ETS qdisc using bands + strict + quanta",
145*4882a593Smuzhiyun        "category": [
146*4882a593Smuzhiyun            "qdisc",
147*4882a593Smuzhiyun            "ets"
148*4882a593Smuzhiyun        ],
149*4882a593Smuzhiyun        "setup": [
150*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
151*4882a593Smuzhiyun        ],
152*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 5 strict 3 quanta 1500 750",
153*4882a593Smuzhiyun        "expExitCode": "0",
154*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
155*4882a593Smuzhiyun        "matchPattern": "qdisc ets 1: root .*bands 5 .*strict 3 quanta 1500 750 priomap",
156*4882a593Smuzhiyun        "matchCount": "1",
157*4882a593Smuzhiyun        "teardown": [
158*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
159*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
160*4882a593Smuzhiyun        ]
161*4882a593Smuzhiyun    },
162*4882a593Smuzhiyun    {
163*4882a593Smuzhiyun        "id": "0782",
164*4882a593Smuzhiyun        "name": "Add ETS qdisc with more bands than quanta",
165*4882a593Smuzhiyun        "category": [
166*4882a593Smuzhiyun            "qdisc",
167*4882a593Smuzhiyun            "ets"
168*4882a593Smuzhiyun        ],
169*4882a593Smuzhiyun        "setup": [
170*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
171*4882a593Smuzhiyun        ],
172*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 2 quanta 1000",
173*4882a593Smuzhiyun        "expExitCode": "0",
174*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
175*4882a593Smuzhiyun        "matchPattern": "qdisc ets 1: root .*bands 2 .*quanta 1000 [1-9][0-9]* priomap",
176*4882a593Smuzhiyun        "matchCount": "1",
177*4882a593Smuzhiyun        "teardown": [
178*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
179*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
180*4882a593Smuzhiyun        ]
181*4882a593Smuzhiyun    },
182*4882a593Smuzhiyun    {
183*4882a593Smuzhiyun        "id": "501b",
184*4882a593Smuzhiyun        "name": "Add ETS qdisc with more bands than strict",
185*4882a593Smuzhiyun        "category": [
186*4882a593Smuzhiyun            "qdisc",
187*4882a593Smuzhiyun            "ets"
188*4882a593Smuzhiyun        ],
189*4882a593Smuzhiyun        "setup": [
190*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
191*4882a593Smuzhiyun        ],
192*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 3 strict 1",
193*4882a593Smuzhiyun        "expExitCode": "0",
194*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
195*4882a593Smuzhiyun        "matchPattern": "qdisc ets 1: root .*bands 3 strict 1 quanta ([1-9][0-9]* ){2}priomap",
196*4882a593Smuzhiyun        "matchCount": "1",
197*4882a593Smuzhiyun        "teardown": [
198*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
199*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
200*4882a593Smuzhiyun        ]
201*4882a593Smuzhiyun    },
202*4882a593Smuzhiyun    {
203*4882a593Smuzhiyun        "id": "671a",
204*4882a593Smuzhiyun        "name": "Add ETS qdisc with more bands than strict + quanta",
205*4882a593Smuzhiyun        "category": [
206*4882a593Smuzhiyun            "qdisc",
207*4882a593Smuzhiyun            "ets"
208*4882a593Smuzhiyun        ],
209*4882a593Smuzhiyun        "setup": [
210*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
211*4882a593Smuzhiyun        ],
212*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 3 strict 1 quanta 1000",
213*4882a593Smuzhiyun        "expExitCode": "0",
214*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
215*4882a593Smuzhiyun        "matchPattern": "qdisc ets 1: root .*bands 3 strict 1 quanta 1000 [1-9][0-9]* priomap",
216*4882a593Smuzhiyun        "matchCount": "1",
217*4882a593Smuzhiyun        "teardown": [
218*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
219*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
220*4882a593Smuzhiyun        ]
221*4882a593Smuzhiyun    },
222*4882a593Smuzhiyun    {
223*4882a593Smuzhiyun        "id": "2a23",
224*4882a593Smuzhiyun        "name": "Add ETS qdisc with 16 bands",
225*4882a593Smuzhiyun        "category": [
226*4882a593Smuzhiyun            "qdisc",
227*4882a593Smuzhiyun            "ets"
228*4882a593Smuzhiyun        ],
229*4882a593Smuzhiyun        "setup": [
230*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
231*4882a593Smuzhiyun        ],
232*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 16",
233*4882a593Smuzhiyun        "expExitCode": "0",
234*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
235*4882a593Smuzhiyun        "matchPattern": "qdisc ets 1: root .* bands 16",
236*4882a593Smuzhiyun        "matchCount": "1",
237*4882a593Smuzhiyun        "teardown": [
238*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
239*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
240*4882a593Smuzhiyun        ]
241*4882a593Smuzhiyun    },
242*4882a593Smuzhiyun    {
243*4882a593Smuzhiyun        "id": "8daf",
244*4882a593Smuzhiyun        "name": "Add ETS qdisc with 17 bands",
245*4882a593Smuzhiyun        "category": [
246*4882a593Smuzhiyun            "qdisc",
247*4882a593Smuzhiyun            "ets"
248*4882a593Smuzhiyun        ],
249*4882a593Smuzhiyun        "setup": [
250*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
251*4882a593Smuzhiyun        ],
252*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 17",
253*4882a593Smuzhiyun        "expExitCode": "1",
254*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
255*4882a593Smuzhiyun        "matchPattern": "qdisc ets",
256*4882a593Smuzhiyun        "matchCount": "0",
257*4882a593Smuzhiyun        "teardown": [
258*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
259*4882a593Smuzhiyun        ]
260*4882a593Smuzhiyun    },
261*4882a593Smuzhiyun    {
262*4882a593Smuzhiyun        "id": "7f95",
263*4882a593Smuzhiyun        "name": "Add ETS qdisc with 17 strict",
264*4882a593Smuzhiyun        "category": [
265*4882a593Smuzhiyun            "qdisc",
266*4882a593Smuzhiyun            "ets"
267*4882a593Smuzhiyun        ],
268*4882a593Smuzhiyun        "setup": [
269*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
270*4882a593Smuzhiyun        ],
271*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets strict 17",
272*4882a593Smuzhiyun        "expExitCode": "1",
273*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
274*4882a593Smuzhiyun        "matchPattern": "qdisc ets",
275*4882a593Smuzhiyun        "matchCount": "0",
276*4882a593Smuzhiyun        "teardown": [
277*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
278*4882a593Smuzhiyun        ]
279*4882a593Smuzhiyun    },
280*4882a593Smuzhiyun    {
281*4882a593Smuzhiyun        "id": "837a",
282*4882a593Smuzhiyun        "name": "Add ETS qdisc with 16 quanta",
283*4882a593Smuzhiyun        "category": [
284*4882a593Smuzhiyun            "qdisc",
285*4882a593Smuzhiyun            "ets"
286*4882a593Smuzhiyun        ],
287*4882a593Smuzhiyun        "setup": [
288*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
289*4882a593Smuzhiyun        ],
290*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets quanta 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16",
291*4882a593Smuzhiyun        "expExitCode": "0",
292*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
293*4882a593Smuzhiyun        "matchPattern": "qdisc ets 1: root .* bands 16",
294*4882a593Smuzhiyun        "matchCount": "1",
295*4882a593Smuzhiyun        "teardown": [
296*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
297*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
298*4882a593Smuzhiyun        ]
299*4882a593Smuzhiyun    },
300*4882a593Smuzhiyun    {
301*4882a593Smuzhiyun        "id": "65b6",
302*4882a593Smuzhiyun        "name": "Add ETS qdisc with 17 quanta",
303*4882a593Smuzhiyun        "category": [
304*4882a593Smuzhiyun            "qdisc",
305*4882a593Smuzhiyun            "ets"
306*4882a593Smuzhiyun        ],
307*4882a593Smuzhiyun        "setup": [
308*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
309*4882a593Smuzhiyun        ],
310*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets quanta 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17",
311*4882a593Smuzhiyun        "expExitCode": "2",
312*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
313*4882a593Smuzhiyun        "matchPattern": "qdisc ets",
314*4882a593Smuzhiyun        "matchCount": "0",
315*4882a593Smuzhiyun        "teardown": [
316*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
317*4882a593Smuzhiyun        ]
318*4882a593Smuzhiyun    },
319*4882a593Smuzhiyun    {
320*4882a593Smuzhiyun        "id": "b9e9",
321*4882a593Smuzhiyun        "name": "Add ETS qdisc with 16 strict + quanta",
322*4882a593Smuzhiyun        "category": [
323*4882a593Smuzhiyun            "qdisc",
324*4882a593Smuzhiyun            "ets"
325*4882a593Smuzhiyun        ],
326*4882a593Smuzhiyun        "setup": [
327*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
328*4882a593Smuzhiyun        ],
329*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets strict 8 quanta 1 2 3 4 5 6 7 8",
330*4882a593Smuzhiyun        "expExitCode": "0",
331*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
332*4882a593Smuzhiyun        "matchPattern": "qdisc ets 1: root .* bands 16",
333*4882a593Smuzhiyun        "matchCount": "1",
334*4882a593Smuzhiyun        "teardown": [
335*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
336*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
337*4882a593Smuzhiyun        ]
338*4882a593Smuzhiyun    },
339*4882a593Smuzhiyun    {
340*4882a593Smuzhiyun        "id": "9877",
341*4882a593Smuzhiyun        "name": "Add ETS qdisc with 17 strict + quanta",
342*4882a593Smuzhiyun        "category": [
343*4882a593Smuzhiyun            "qdisc",
344*4882a593Smuzhiyun            "ets"
345*4882a593Smuzhiyun        ],
346*4882a593Smuzhiyun        "setup": [
347*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
348*4882a593Smuzhiyun        ],
349*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets strict 9 quanta 1 2 3 4 5 6 7 8",
350*4882a593Smuzhiyun        "expExitCode": "2",
351*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
352*4882a593Smuzhiyun        "matchPattern": "qdisc ets",
353*4882a593Smuzhiyun        "matchCount": "0",
354*4882a593Smuzhiyun        "teardown": [
355*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
356*4882a593Smuzhiyun        ]
357*4882a593Smuzhiyun    },
358*4882a593Smuzhiyun    {
359*4882a593Smuzhiyun        "id": "c696",
360*4882a593Smuzhiyun        "name": "Add ETS qdisc with priomap",
361*4882a593Smuzhiyun        "category": [
362*4882a593Smuzhiyun            "qdisc",
363*4882a593Smuzhiyun            "ets"
364*4882a593Smuzhiyun        ],
365*4882a593Smuzhiyun        "setup": [
366*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
367*4882a593Smuzhiyun        ],
368*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 5 priomap 0 0 1 0 1 2 0 1 2 3 0 1 2 3 4 0",
369*4882a593Smuzhiyun        "expExitCode": "0",
370*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
371*4882a593Smuzhiyun        "matchPattern": "qdisc ets 1: root .*priomap 0 0 1 0 1 2 0 1 2 3 0 1 2 3 4 0",
372*4882a593Smuzhiyun        "matchCount": "1",
373*4882a593Smuzhiyun        "teardown": [
374*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
375*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
376*4882a593Smuzhiyun        ]
377*4882a593Smuzhiyun    },
378*4882a593Smuzhiyun    {
379*4882a593Smuzhiyun        "id": "30c4",
380*4882a593Smuzhiyun        "name": "Add ETS qdisc with quanta + priomap",
381*4882a593Smuzhiyun        "category": [
382*4882a593Smuzhiyun            "qdisc",
383*4882a593Smuzhiyun            "ets"
384*4882a593Smuzhiyun        ],
385*4882a593Smuzhiyun        "setup": [
386*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
387*4882a593Smuzhiyun        ],
388*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets quanta 1000 2000 3000 4000 5000 priomap 0 0 1 0 1 2 0 1 2 3 0 1 2 3 4 0",
389*4882a593Smuzhiyun        "expExitCode": "0",
390*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
391*4882a593Smuzhiyun        "matchPattern": "qdisc ets 1: root .*quanta 1000 2000 3000 4000 5000 priomap 0 0 1 0 1 2 0 1 2 3 0 1 2 3 4 0",
392*4882a593Smuzhiyun        "matchCount": "1",
393*4882a593Smuzhiyun        "teardown": [
394*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
395*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
396*4882a593Smuzhiyun        ]
397*4882a593Smuzhiyun    },
398*4882a593Smuzhiyun    {
399*4882a593Smuzhiyun        "id": "e8ac",
400*4882a593Smuzhiyun        "name": "Add ETS qdisc with strict + priomap",
401*4882a593Smuzhiyun        "category": [
402*4882a593Smuzhiyun            "qdisc",
403*4882a593Smuzhiyun            "ets"
404*4882a593Smuzhiyun        ],
405*4882a593Smuzhiyun        "setup": [
406*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
407*4882a593Smuzhiyun        ],
408*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets strict 5 priomap 0 0 1 0 1 2 0 1 2 3 0 1 2 3 4 0",
409*4882a593Smuzhiyun        "expExitCode": "0",
410*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
411*4882a593Smuzhiyun        "matchPattern": "qdisc ets 1: root .*bands 5 strict 5 priomap 0 0 1 0 1 2 0 1 2 3 0 1 2 3 4 0",
412*4882a593Smuzhiyun        "matchCount": "1",
413*4882a593Smuzhiyun        "teardown": [
414*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
415*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
416*4882a593Smuzhiyun        ]
417*4882a593Smuzhiyun    },
418*4882a593Smuzhiyun    {
419*4882a593Smuzhiyun        "id": "5a7e",
420*4882a593Smuzhiyun        "name": "Add ETS qdisc with quanta + strict + priomap",
421*4882a593Smuzhiyun        "category": [
422*4882a593Smuzhiyun            "qdisc",
423*4882a593Smuzhiyun            "ets"
424*4882a593Smuzhiyun        ],
425*4882a593Smuzhiyun        "setup": [
426*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
427*4882a593Smuzhiyun        ],
428*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets strict 2 quanta 1000 2000 3000 priomap 0 0 1 0 1 2 0 1 2 3 0 1 2 3 4 0",
429*4882a593Smuzhiyun        "expExitCode": "0",
430*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
431*4882a593Smuzhiyun        "matchPattern": "qdisc ets 1: root .*strict 2 quanta 1000 2000 3000 priomap 0 0 1 0 1 2 0 1 2 3 0 1 2 3 4 0",
432*4882a593Smuzhiyun        "matchCount": "1",
433*4882a593Smuzhiyun        "teardown": [
434*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
435*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
436*4882a593Smuzhiyun        ]
437*4882a593Smuzhiyun    },
438*4882a593Smuzhiyun    {
439*4882a593Smuzhiyun        "id": "cb8b",
440*4882a593Smuzhiyun        "name": "Show ETS class :1",
441*4882a593Smuzhiyun        "category": [
442*4882a593Smuzhiyun            "qdisc",
443*4882a593Smuzhiyun            "ets"
444*4882a593Smuzhiyun        ],
445*4882a593Smuzhiyun        "setup": [
446*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
447*4882a593Smuzhiyun        ],
448*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets quanta 4000 3000 2000",
449*4882a593Smuzhiyun        "expExitCode": "0",
450*4882a593Smuzhiyun        "verifyCmd": "$TC class show dev $DUMMY classid 1:1",
451*4882a593Smuzhiyun        "matchPattern": "class ets 1:1 root quantum 4000",
452*4882a593Smuzhiyun        "matchCount": "1",
453*4882a593Smuzhiyun        "teardown": [
454*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
455*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
456*4882a593Smuzhiyun        ]
457*4882a593Smuzhiyun    },
458*4882a593Smuzhiyun    {
459*4882a593Smuzhiyun        "id": "1b4e",
460*4882a593Smuzhiyun        "name": "Show ETS class :2",
461*4882a593Smuzhiyun        "category": [
462*4882a593Smuzhiyun            "qdisc",
463*4882a593Smuzhiyun            "ets"
464*4882a593Smuzhiyun        ],
465*4882a593Smuzhiyun        "setup": [
466*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
467*4882a593Smuzhiyun        ],
468*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets quanta 4000 3000 2000",
469*4882a593Smuzhiyun        "expExitCode": "0",
470*4882a593Smuzhiyun        "verifyCmd": "$TC class show dev $DUMMY classid 1:2",
471*4882a593Smuzhiyun        "matchPattern": "class ets 1:2 root quantum 3000",
472*4882a593Smuzhiyun        "matchCount": "1",
473*4882a593Smuzhiyun        "teardown": [
474*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
475*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
476*4882a593Smuzhiyun        ]
477*4882a593Smuzhiyun    },
478*4882a593Smuzhiyun    {
479*4882a593Smuzhiyun        "id": "f642",
480*4882a593Smuzhiyun        "name": "Show ETS class :3",
481*4882a593Smuzhiyun        "category": [
482*4882a593Smuzhiyun            "qdisc",
483*4882a593Smuzhiyun            "ets"
484*4882a593Smuzhiyun        ],
485*4882a593Smuzhiyun        "setup": [
486*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
487*4882a593Smuzhiyun        ],
488*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets quanta 4000 3000 2000",
489*4882a593Smuzhiyun        "expExitCode": "0",
490*4882a593Smuzhiyun        "verifyCmd": "$TC class show dev $DUMMY classid 1:3",
491*4882a593Smuzhiyun        "matchPattern": "class ets 1:3 root quantum 2000",
492*4882a593Smuzhiyun        "matchCount": "1",
493*4882a593Smuzhiyun        "teardown": [
494*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
495*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
496*4882a593Smuzhiyun        ]
497*4882a593Smuzhiyun    },
498*4882a593Smuzhiyun    {
499*4882a593Smuzhiyun        "id": "0a5f",
500*4882a593Smuzhiyun        "name": "Show ETS strict class",
501*4882a593Smuzhiyun        "category": [
502*4882a593Smuzhiyun            "qdisc",
503*4882a593Smuzhiyun            "ets"
504*4882a593Smuzhiyun        ],
505*4882a593Smuzhiyun        "setup": [
506*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
507*4882a593Smuzhiyun        ],
508*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets strict 3",
509*4882a593Smuzhiyun        "expExitCode": "0",
510*4882a593Smuzhiyun        "verifyCmd": "$TC class show dev $DUMMY classid 1:1",
511*4882a593Smuzhiyun        "matchPattern": "class ets 1:1 root $",
512*4882a593Smuzhiyun        "matchCount": "1",
513*4882a593Smuzhiyun        "teardown": [
514*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root",
515*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
516*4882a593Smuzhiyun        ]
517*4882a593Smuzhiyun    },
518*4882a593Smuzhiyun    {
519*4882a593Smuzhiyun        "id": "f7c8",
520*4882a593Smuzhiyun        "name": "Add ETS qdisc with too many quanta",
521*4882a593Smuzhiyun        "category": [
522*4882a593Smuzhiyun            "qdisc",
523*4882a593Smuzhiyun            "ets"
524*4882a593Smuzhiyun        ],
525*4882a593Smuzhiyun        "setup": [
526*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
527*4882a593Smuzhiyun        ],
528*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 2 quanta 1000 2000 3000",
529*4882a593Smuzhiyun        "expExitCode": "1",
530*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
531*4882a593Smuzhiyun        "matchPattern": "qdisc ets",
532*4882a593Smuzhiyun        "matchCount": "0",
533*4882a593Smuzhiyun        "teardown": [
534*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
535*4882a593Smuzhiyun        ]
536*4882a593Smuzhiyun    },
537*4882a593Smuzhiyun    {
538*4882a593Smuzhiyun        "id": "2389",
539*4882a593Smuzhiyun        "name": "Add ETS qdisc with too many strict",
540*4882a593Smuzhiyun        "category": [
541*4882a593Smuzhiyun            "qdisc",
542*4882a593Smuzhiyun            "ets"
543*4882a593Smuzhiyun        ],
544*4882a593Smuzhiyun        "setup": [
545*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
546*4882a593Smuzhiyun        ],
547*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 2 strict 3",
548*4882a593Smuzhiyun        "expExitCode": "1",
549*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
550*4882a593Smuzhiyun        "matchPattern": "qdisc ets",
551*4882a593Smuzhiyun        "matchCount": "0",
552*4882a593Smuzhiyun        "teardown": [
553*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
554*4882a593Smuzhiyun        ]
555*4882a593Smuzhiyun    },
556*4882a593Smuzhiyun    {
557*4882a593Smuzhiyun        "id": "fe3c",
558*4882a593Smuzhiyun        "name": "Add ETS qdisc with too many strict + quanta",
559*4882a593Smuzhiyun        "category": [
560*4882a593Smuzhiyun            "qdisc",
561*4882a593Smuzhiyun            "ets"
562*4882a593Smuzhiyun        ],
563*4882a593Smuzhiyun        "setup": [
564*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
565*4882a593Smuzhiyun        ],
566*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 4 strict 2 quanta 1000 2000 3000",
567*4882a593Smuzhiyun        "expExitCode": "1",
568*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
569*4882a593Smuzhiyun        "matchPattern": "qdisc ets",
570*4882a593Smuzhiyun        "matchCount": "0",
571*4882a593Smuzhiyun        "teardown": [
572*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
573*4882a593Smuzhiyun        ]
574*4882a593Smuzhiyun    },
575*4882a593Smuzhiyun    {
576*4882a593Smuzhiyun        "id": "cb04",
577*4882a593Smuzhiyun        "name": "Add ETS qdisc with excess priomap elements",
578*4882a593Smuzhiyun        "category": [
579*4882a593Smuzhiyun            "qdisc",
580*4882a593Smuzhiyun            "ets"
581*4882a593Smuzhiyun        ],
582*4882a593Smuzhiyun        "setup": [
583*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
584*4882a593Smuzhiyun        ],
585*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 5 priomap 0 0 1 0 1 2 0 1 2 3 0 1 2 3 4 0 1 2",
586*4882a593Smuzhiyun        "expExitCode": "1",
587*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
588*4882a593Smuzhiyun        "matchPattern": "qdisc ets",
589*4882a593Smuzhiyun        "matchCount": "0",
590*4882a593Smuzhiyun        "teardown": [
591*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
592*4882a593Smuzhiyun        ]
593*4882a593Smuzhiyun    },
594*4882a593Smuzhiyun    {
595*4882a593Smuzhiyun        "id": "c32e",
596*4882a593Smuzhiyun        "name": "Add ETS qdisc with priomap above bands",
597*4882a593Smuzhiyun        "category": [
598*4882a593Smuzhiyun            "qdisc",
599*4882a593Smuzhiyun            "ets"
600*4882a593Smuzhiyun        ],
601*4882a593Smuzhiyun        "setup": [
602*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
603*4882a593Smuzhiyun        ],
604*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 2 priomap 0 1 2",
605*4882a593Smuzhiyun        "expExitCode": "1",
606*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
607*4882a593Smuzhiyun        "matchPattern": "qdisc ets",
608*4882a593Smuzhiyun        "matchCount": "0",
609*4882a593Smuzhiyun        "teardown": [
610*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
611*4882a593Smuzhiyun        ]
612*4882a593Smuzhiyun    },
613*4882a593Smuzhiyun    {
614*4882a593Smuzhiyun        "id": "744c",
615*4882a593Smuzhiyun        "name": "Add ETS qdisc with priomap above quanta",
616*4882a593Smuzhiyun        "category": [
617*4882a593Smuzhiyun            "qdisc",
618*4882a593Smuzhiyun            "ets"
619*4882a593Smuzhiyun        ],
620*4882a593Smuzhiyun        "setup": [
621*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
622*4882a593Smuzhiyun        ],
623*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets quanta 1000 500 priomap 0 1 2",
624*4882a593Smuzhiyun        "expExitCode": "1",
625*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
626*4882a593Smuzhiyun        "matchPattern": "qdisc ets",
627*4882a593Smuzhiyun        "matchCount": "0",
628*4882a593Smuzhiyun        "teardown": [
629*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
630*4882a593Smuzhiyun        ]
631*4882a593Smuzhiyun    },
632*4882a593Smuzhiyun    {
633*4882a593Smuzhiyun        "id": "7b33",
634*4882a593Smuzhiyun        "name": "Add ETS qdisc with priomap above strict",
635*4882a593Smuzhiyun        "category": [
636*4882a593Smuzhiyun            "qdisc",
637*4882a593Smuzhiyun            "ets"
638*4882a593Smuzhiyun        ],
639*4882a593Smuzhiyun        "setup": [
640*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
641*4882a593Smuzhiyun        ],
642*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets strict 2 priomap 0 1 2",
643*4882a593Smuzhiyun        "expExitCode": "1",
644*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
645*4882a593Smuzhiyun        "matchPattern": "qdisc ets",
646*4882a593Smuzhiyun        "matchCount": "0",
647*4882a593Smuzhiyun        "teardown": [
648*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
649*4882a593Smuzhiyun        ]
650*4882a593Smuzhiyun    },
651*4882a593Smuzhiyun    {
652*4882a593Smuzhiyun        "id": "dbe6",
653*4882a593Smuzhiyun        "name": "Add ETS qdisc with priomap above strict + quanta",
654*4882a593Smuzhiyun        "category": [
655*4882a593Smuzhiyun            "qdisc",
656*4882a593Smuzhiyun            "ets"
657*4882a593Smuzhiyun        ],
658*4882a593Smuzhiyun        "setup": [
659*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
660*4882a593Smuzhiyun        ],
661*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets strict 1 quanta 1000 500 priomap 0 1 2 3",
662*4882a593Smuzhiyun        "expExitCode": "1",
663*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
664*4882a593Smuzhiyun        "matchPattern": "qdisc ets",
665*4882a593Smuzhiyun        "matchCount": "0",
666*4882a593Smuzhiyun        "teardown": [
667*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
668*4882a593Smuzhiyun        ]
669*4882a593Smuzhiyun    },
670*4882a593Smuzhiyun    {
671*4882a593Smuzhiyun        "id": "bdb2",
672*4882a593Smuzhiyun        "name": "Add ETS qdisc with priomap within bands with strict + quanta",
673*4882a593Smuzhiyun        "category": [
674*4882a593Smuzhiyun            "qdisc",
675*4882a593Smuzhiyun            "ets"
676*4882a593Smuzhiyun        ],
677*4882a593Smuzhiyun        "setup": [
678*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
679*4882a593Smuzhiyun        ],
680*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 4 strict 1 quanta 1000 500 priomap 0 1 2 3",
681*4882a593Smuzhiyun        "expExitCode": "0",
682*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
683*4882a593Smuzhiyun        "matchPattern": "qdisc ets",
684*4882a593Smuzhiyun        "matchCount": "1",
685*4882a593Smuzhiyun        "teardown": [
686*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
687*4882a593Smuzhiyun        ]
688*4882a593Smuzhiyun    },
689*4882a593Smuzhiyun    {
690*4882a593Smuzhiyun        "id": "39a3",
691*4882a593Smuzhiyun        "name": "Add ETS qdisc with priomap above bands with strict + quanta",
692*4882a593Smuzhiyun        "category": [
693*4882a593Smuzhiyun            "qdisc",
694*4882a593Smuzhiyun            "ets"
695*4882a593Smuzhiyun        ],
696*4882a593Smuzhiyun        "setup": [
697*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
698*4882a593Smuzhiyun        ],
699*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 4 strict 1 quanta 1000 500 priomap 0 1 2 3 4",
700*4882a593Smuzhiyun        "expExitCode": "1",
701*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
702*4882a593Smuzhiyun        "matchPattern": "qdisc ets",
703*4882a593Smuzhiyun        "matchCount": "0",
704*4882a593Smuzhiyun        "teardown": [
705*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
706*4882a593Smuzhiyun        ]
707*4882a593Smuzhiyun    },
708*4882a593Smuzhiyun    {
709*4882a593Smuzhiyun        "id": "557c",
710*4882a593Smuzhiyun        "name": "Unset priorities default to the last band",
711*4882a593Smuzhiyun        "category": [
712*4882a593Smuzhiyun            "qdisc",
713*4882a593Smuzhiyun            "ets"
714*4882a593Smuzhiyun        ],
715*4882a593Smuzhiyun        "setup": [
716*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
717*4882a593Smuzhiyun        ],
718*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 4 priomap 0 0 0 0",
719*4882a593Smuzhiyun        "expExitCode": "0",
720*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
721*4882a593Smuzhiyun        "matchPattern": "qdisc ets .*priomap 0 0 0 0 3 3 3 3 3 3 3 3 3 3 3 3",
722*4882a593Smuzhiyun        "matchCount": "1",
723*4882a593Smuzhiyun        "teardown": [
724*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
725*4882a593Smuzhiyun        ]
726*4882a593Smuzhiyun    },
727*4882a593Smuzhiyun    {
728*4882a593Smuzhiyun        "id": "a347",
729*4882a593Smuzhiyun        "name": "Unset priorities default to the last band -- no priomap",
730*4882a593Smuzhiyun        "category": [
731*4882a593Smuzhiyun            "qdisc",
732*4882a593Smuzhiyun            "ets"
733*4882a593Smuzhiyun        ],
734*4882a593Smuzhiyun        "setup": [
735*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
736*4882a593Smuzhiyun        ],
737*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 4",
738*4882a593Smuzhiyun        "expExitCode": "0",
739*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
740*4882a593Smuzhiyun        "matchPattern": "qdisc ets .*priomap 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3",
741*4882a593Smuzhiyun        "matchCount": "1",
742*4882a593Smuzhiyun        "teardown": [
743*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
744*4882a593Smuzhiyun        ]
745*4882a593Smuzhiyun    },
746*4882a593Smuzhiyun    {
747*4882a593Smuzhiyun        "id": "39c4",
748*4882a593Smuzhiyun        "name": "Add ETS qdisc with too few bands",
749*4882a593Smuzhiyun        "category": [
750*4882a593Smuzhiyun            "qdisc",
751*4882a593Smuzhiyun            "ets"
752*4882a593Smuzhiyun        ],
753*4882a593Smuzhiyun        "setup": [
754*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
755*4882a593Smuzhiyun        ],
756*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 0",
757*4882a593Smuzhiyun        "expExitCode": "1",
758*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
759*4882a593Smuzhiyun        "matchPattern": "qdisc ets",
760*4882a593Smuzhiyun        "matchCount": "0",
761*4882a593Smuzhiyun        "teardown": [
762*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
763*4882a593Smuzhiyun        ]
764*4882a593Smuzhiyun    },
765*4882a593Smuzhiyun    {
766*4882a593Smuzhiyun        "id": "930b",
767*4882a593Smuzhiyun        "name": "Add ETS qdisc with too many bands",
768*4882a593Smuzhiyun        "category": [
769*4882a593Smuzhiyun            "qdisc",
770*4882a593Smuzhiyun            "ets"
771*4882a593Smuzhiyun        ],
772*4882a593Smuzhiyun        "setup": [
773*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
774*4882a593Smuzhiyun        ],
775*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 17",
776*4882a593Smuzhiyun        "expExitCode": "1",
777*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
778*4882a593Smuzhiyun        "matchPattern": "qdisc ets",
779*4882a593Smuzhiyun        "matchCount": "0",
780*4882a593Smuzhiyun        "teardown": [
781*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
782*4882a593Smuzhiyun        ]
783*4882a593Smuzhiyun    },
784*4882a593Smuzhiyun    {
785*4882a593Smuzhiyun        "id": "406a",
786*4882a593Smuzhiyun        "name": "Add ETS qdisc without parameters",
787*4882a593Smuzhiyun        "category": [
788*4882a593Smuzhiyun            "qdisc",
789*4882a593Smuzhiyun            "ets"
790*4882a593Smuzhiyun        ],
791*4882a593Smuzhiyun        "setup": [
792*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
793*4882a593Smuzhiyun        ],
794*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets",
795*4882a593Smuzhiyun        "expExitCode": "1",
796*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
797*4882a593Smuzhiyun        "matchPattern": "qdisc ets",
798*4882a593Smuzhiyun        "matchCount": "0",
799*4882a593Smuzhiyun        "teardown": [
800*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
801*4882a593Smuzhiyun        ]
802*4882a593Smuzhiyun    },
803*4882a593Smuzhiyun    {
804*4882a593Smuzhiyun        "id": "e51a",
805*4882a593Smuzhiyun        "name": "Zero element in quanta",
806*4882a593Smuzhiyun        "category": [
807*4882a593Smuzhiyun            "qdisc",
808*4882a593Smuzhiyun            "ets"
809*4882a593Smuzhiyun        ],
810*4882a593Smuzhiyun        "setup": [
811*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
812*4882a593Smuzhiyun        ],
813*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets quanta 1000 0 800 700",
814*4882a593Smuzhiyun        "expExitCode": "1",
815*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
816*4882a593Smuzhiyun        "matchPattern": "qdisc ets",
817*4882a593Smuzhiyun        "matchCount": "0",
818*4882a593Smuzhiyun        "teardown": [
819*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
820*4882a593Smuzhiyun        ]
821*4882a593Smuzhiyun    },
822*4882a593Smuzhiyun    {
823*4882a593Smuzhiyun        "id": "e7f2",
824*4882a593Smuzhiyun        "name": "Sole zero element in quanta",
825*4882a593Smuzhiyun        "category": [
826*4882a593Smuzhiyun            "qdisc",
827*4882a593Smuzhiyun            "ets"
828*4882a593Smuzhiyun        ],
829*4882a593Smuzhiyun        "setup": [
830*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
831*4882a593Smuzhiyun        ],
832*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets quanta 0",
833*4882a593Smuzhiyun        "expExitCode": "1",
834*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
835*4882a593Smuzhiyun        "matchPattern": "qdisc ets",
836*4882a593Smuzhiyun        "matchCount": "0",
837*4882a593Smuzhiyun        "teardown": [
838*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
839*4882a593Smuzhiyun        ]
840*4882a593Smuzhiyun    },
841*4882a593Smuzhiyun    {
842*4882a593Smuzhiyun        "id": "d6e6",
843*4882a593Smuzhiyun        "name": "No values after the quanta keyword",
844*4882a593Smuzhiyun        "category": [
845*4882a593Smuzhiyun            "qdisc",
846*4882a593Smuzhiyun            "ets"
847*4882a593Smuzhiyun        ],
848*4882a593Smuzhiyun        "setup": [
849*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
850*4882a593Smuzhiyun        ],
851*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets quanta",
852*4882a593Smuzhiyun        "expExitCode": "255",
853*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
854*4882a593Smuzhiyun        "matchPattern": "qdisc ets",
855*4882a593Smuzhiyun        "matchCount": "0",
856*4882a593Smuzhiyun        "teardown": [
857*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
858*4882a593Smuzhiyun        ]
859*4882a593Smuzhiyun    },
860*4882a593Smuzhiyun    {
861*4882a593Smuzhiyun        "id": "28c6",
862*4882a593Smuzhiyun        "name": "Change ETS band quantum",
863*4882a593Smuzhiyun        "category": [
864*4882a593Smuzhiyun            "qdisc",
865*4882a593Smuzhiyun            "ets"
866*4882a593Smuzhiyun        ],
867*4882a593Smuzhiyun        "setup": [
868*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true",
869*4882a593Smuzhiyun            "$TC qdisc add dev $DUMMY handle 1: root ets quanta 1000 2000 3000"
870*4882a593Smuzhiyun        ],
871*4882a593Smuzhiyun        "cmdUnderTest": "$TC class change dev $DUMMY classid 1:1 ets quantum 1500",
872*4882a593Smuzhiyun        "expExitCode": "0",
873*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
874*4882a593Smuzhiyun        "matchPattern": "qdisc ets 1: root .*quanta 1500 2000 3000 priomap ",
875*4882a593Smuzhiyun        "matchCount": "1",
876*4882a593Smuzhiyun        "teardown": [
877*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
878*4882a593Smuzhiyun        ]
879*4882a593Smuzhiyun    },
880*4882a593Smuzhiyun    {
881*4882a593Smuzhiyun        "id": "4714",
882*4882a593Smuzhiyun        "name": "Change ETS band without quantum",
883*4882a593Smuzhiyun        "category": [
884*4882a593Smuzhiyun            "qdisc",
885*4882a593Smuzhiyun            "ets"
886*4882a593Smuzhiyun        ],
887*4882a593Smuzhiyun        "setup": [
888*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true",
889*4882a593Smuzhiyun            "$TC qdisc add dev $DUMMY handle 1: root ets quanta 1000 2000 3000"
890*4882a593Smuzhiyun        ],
891*4882a593Smuzhiyun        "cmdUnderTest": "$TC class change dev $DUMMY classid 1:1 ets",
892*4882a593Smuzhiyun        "expExitCode": "0",
893*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
894*4882a593Smuzhiyun        "matchPattern": "qdisc ets 1: root .*quanta 1000 2000 3000 priomap ",
895*4882a593Smuzhiyun        "matchCount": "1",
896*4882a593Smuzhiyun        "teardown": [
897*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
898*4882a593Smuzhiyun        ]
899*4882a593Smuzhiyun    },
900*4882a593Smuzhiyun    {
901*4882a593Smuzhiyun        "id": "6979",
902*4882a593Smuzhiyun        "name": "Change quantum of a strict ETS band",
903*4882a593Smuzhiyun        "category": [
904*4882a593Smuzhiyun            "qdisc",
905*4882a593Smuzhiyun            "ets"
906*4882a593Smuzhiyun        ],
907*4882a593Smuzhiyun        "setup": [
908*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true",
909*4882a593Smuzhiyun            "$TC qdisc add dev $DUMMY handle 1: root ets strict 5"
910*4882a593Smuzhiyun        ],
911*4882a593Smuzhiyun        "cmdUnderTest": "$TC class change dev $DUMMY classid 1:2 ets quantum 1500",
912*4882a593Smuzhiyun        "expExitCode": "2",
913*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
914*4882a593Smuzhiyun        "matchPattern": "qdisc ets .*bands 5 .*strict 5",
915*4882a593Smuzhiyun        "matchCount": "1",
916*4882a593Smuzhiyun        "teardown": [
917*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
918*4882a593Smuzhiyun        ]
919*4882a593Smuzhiyun    },
920*4882a593Smuzhiyun    {
921*4882a593Smuzhiyun        "id": "9a7d",
922*4882a593Smuzhiyun        "name": "Change ETS strict band without quantum",
923*4882a593Smuzhiyun        "category": [
924*4882a593Smuzhiyun            "qdisc",
925*4882a593Smuzhiyun            "ets"
926*4882a593Smuzhiyun        ],
927*4882a593Smuzhiyun        "setup": [
928*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true",
929*4882a593Smuzhiyun            "$TC qdisc add dev $DUMMY handle 1: root ets strict 5"
930*4882a593Smuzhiyun        ],
931*4882a593Smuzhiyun        "cmdUnderTest": "$TC class change dev $DUMMY classid 1:2 ets",
932*4882a593Smuzhiyun        "expExitCode": "0",
933*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
934*4882a593Smuzhiyun        "matchPattern": "qdisc ets .*bands 5 .*strict 5",
935*4882a593Smuzhiyun        "matchCount": "1",
936*4882a593Smuzhiyun        "teardown": [
937*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
938*4882a593Smuzhiyun        ]
939*4882a593Smuzhiyun    }
940*4882a593Smuzhiyun]
941