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