4 "name": "Add ETS qdisc using bands",
10 "$IP link add dev $DUMMY type dummy || /bin/true"
12 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 2",
14 "verifyCmd": "$TC qdisc show dev $DUMMY",
15 "matchPattern": "qdisc ets 1: root .* bands 2",
18 "$TC qdisc del dev $DUMMY handle 1: root",
19 "$IP link del dev $DUMMY type dummy"
24 "name": "Add ETS qdisc using quanta",
30 "$IP link add dev $DUMMY type dummy || /bin/true"
32 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets quanta 1000 900 800 700",
34 "verifyCmd": "$TC qdisc show dev $DUMMY",
35 "matchPattern": "qdisc ets 1: root .*bands 4 quanta 1000 900 800 700",
38 "$TC qdisc del dev $DUMMY handle 1: root",
39 "$IP link del dev $DUMMY type dummy"
44 "name": "Add ETS qdisc using strict",
50 "$IP link add dev $DUMMY type dummy || /bin/true"
52 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets strict 3",
54 "verifyCmd": "$TC qdisc show dev $DUMMY",
55 "matchPattern": "qdisc ets 1: root .*bands 3 strict 3",
58 "$TC qdisc del dev $DUMMY handle 1: root",
59 "$IP link del dev $DUMMY type dummy"
64 "name": "Add ETS qdisc using bands + quanta",
70 "$IP link add dev $DUMMY type dummy || /bin/true"
72 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 4 quanta 1000 900 800 700",
74 "verifyCmd": "$TC qdisc show dev $DUMMY",
75 "matchPattern": "qdisc ets 1: root .*bands 4 quanta 1000 900 800 700 priomap",
78 "$TC qdisc del dev $DUMMY handle 1: root",
79 "$IP link del dev $DUMMY type dummy"
84 "name": "Add ETS qdisc using bands + strict",
90 "$IP link add dev $DUMMY type dummy || /bin/true"
92 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 3 strict 3",
94 "verifyCmd": "$TC qdisc show dev $DUMMY",
95 "matchPattern": "qdisc ets 1: root .*bands 3 strict 3 priomap",
98 "$TC qdisc del dev $DUMMY handle 1: root",
99 "$IP link del dev $DUMMY type dummy"
104 "name": "Add ETS qdisc using strict + quanta",
110 "$IP link add dev $DUMMY type dummy || /bin/true"
112 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets strict 3 quanta 1500 750",
114 "verifyCmd": "$TC qdisc show dev $DUMMY",
115 "matchPattern": "qdisc ets 1: root .*bands 5 strict 3 quanta 1500 750 priomap",
118 "$TC qdisc del dev $DUMMY handle 1: root",
119 "$IP link del dev $DUMMY type dummy"
124 "name": "Add ETS qdisc using strict 0 + quanta",
130 "$IP link add dev $DUMMY type dummy || /bin/true"
132 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets strict 0 quanta 1500 750",
134 "verifyCmd": "$TC qdisc show dev $DUMMY",
135 "matchPattern": "qdisc ets 1: root .*bands 2 quanta 1500 750 priomap",
138 "$TC qdisc del dev $DUMMY handle 1: root",
139 "$IP link del dev $DUMMY type dummy"
144 "name": "Add ETS qdisc using bands + strict + quanta",
150 "$IP link add dev $DUMMY type dummy || /bin/true"
152 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 5 strict 3 quanta 1500 750",
154 "verifyCmd": "$TC qdisc show dev $DUMMY",
155 "matchPattern": "qdisc ets 1: root .*bands 5 .*strict 3 quanta 1500 750 priomap",
158 "$TC qdisc del dev $DUMMY handle 1: root",
159 "$IP link del dev $DUMMY type dummy"
164 "name": "Add ETS qdisc with more bands than quanta",
170 "$IP link add dev $DUMMY type dummy || /bin/true"
172 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 2 quanta 1000",
174 "verifyCmd": "$TC qdisc show dev $DUMMY",
175 "matchPattern": "qdisc ets 1: root .*bands 2 .*quanta 1000 [1-9][0-9]* priomap",
178 "$TC qdisc del dev $DUMMY handle 1: root",
179 "$IP link del dev $DUMMY type dummy"
184 "name": "Add ETS qdisc with more bands than strict",
190 "$IP link add dev $DUMMY type dummy || /bin/true"
192 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 3 strict 1",
194 "verifyCmd": "$TC qdisc show dev $DUMMY",
195 "matchPattern": "qdisc ets 1: root .*bands 3 strict 1 quanta ([1-9][0-9]* ){2}priomap",
198 "$TC qdisc del dev $DUMMY handle 1: root",
199 "$IP link del dev $DUMMY type dummy"
204 "name": "Add ETS qdisc with more bands than strict + quanta",
210 "$IP link add dev $DUMMY type dummy || /bin/true"
212 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 3 strict 1 quanta 1000",
214 "verifyCmd": "$TC qdisc show dev $DUMMY",
215 "matchPattern": "qdisc ets 1: root .*bands 3 strict 1 quanta 1000 [1-9][0-9]* priomap",
218 "$TC qdisc del dev $DUMMY handle 1: root",
219 "$IP link del dev $DUMMY type dummy"
224 "name": "Add ETS qdisc with 16 bands",
230 "$IP link add dev $DUMMY type dummy || /bin/true"
232 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 16",
234 "verifyCmd": "$TC qdisc show dev $DUMMY",
235 "matchPattern": "qdisc ets 1: root .* bands 16",
238 "$TC qdisc del dev $DUMMY handle 1: root",
239 "$IP link del dev $DUMMY type dummy"
244 "name": "Add ETS qdisc with 17 bands",
250 "$IP link add dev $DUMMY type dummy || /bin/true"
252 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 17",
254 "verifyCmd": "$TC qdisc show dev $DUMMY",
255 "matchPattern": "qdisc ets",
258 "$IP link del dev $DUMMY type dummy"
263 "name": "Add ETS qdisc with 17 strict",
269 "$IP link add dev $DUMMY type dummy || /bin/true"
271 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets strict 17",
273 "verifyCmd": "$TC qdisc show dev $DUMMY",
274 "matchPattern": "qdisc ets",
277 "$IP link del dev $DUMMY type dummy"
282 "name": "Add ETS qdisc with 16 quanta",
288 "$IP link add dev $DUMMY type dummy || /bin/true"
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",
292 "verifyCmd": "$TC qdisc show dev $DUMMY",
293 "matchPattern": "qdisc ets 1: root .* bands 16",
296 "$TC qdisc del dev $DUMMY handle 1: root",
297 "$IP link del dev $DUMMY type dummy"
302 "name": "Add ETS qdisc with 17 quanta",
308 "$IP link add dev $DUMMY type dummy || /bin/true"
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",
312 "verifyCmd": "$TC qdisc show dev $DUMMY",
313 "matchPattern": "qdisc ets",
316 "$IP link del dev $DUMMY type dummy"
321 "name": "Add ETS qdisc with 16 strict + quanta",
327 "$IP link add dev $DUMMY type dummy || /bin/true"
329 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets strict 8 quanta 1 2 3 4 5 6 7 8",
331 "verifyCmd": "$TC qdisc show dev $DUMMY",
332 "matchPattern": "qdisc ets 1: root .* bands 16",
335 "$TC qdisc del dev $DUMMY handle 1: root",
336 "$IP link del dev $DUMMY type dummy"
341 "name": "Add ETS qdisc with 17 strict + quanta",
347 "$IP link add dev $DUMMY type dummy || /bin/true"
349 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets strict 9 quanta 1 2 3 4 5 6 7 8",
351 "verifyCmd": "$TC qdisc show dev $DUMMY",
352 "matchPattern": "qdisc ets",
355 "$IP link del dev $DUMMY type dummy"
360 "name": "Add ETS qdisc with priomap",
366 "$IP link add dev $DUMMY type dummy || /bin/true"
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",
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",
374 "$TC qdisc del dev $DUMMY handle 1: root",
375 "$IP link del dev $DUMMY type dummy"
380 "name": "Add ETS qdisc with quanta + priomap",
386 "$IP link add dev $DUMMY type dummy || /bin/true"
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",
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",
394 "$TC qdisc del dev $DUMMY handle 1: root",
395 "$IP link del dev $DUMMY type dummy"
400 "name": "Add ETS qdisc with strict + priomap",
406 "$IP link add dev $DUMMY type dummy || /bin/true"
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",
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",
414 "$TC qdisc del dev $DUMMY handle 1: root",
415 "$IP link del dev $DUMMY type dummy"
420 "name": "Add ETS qdisc with quanta + strict + priomap",
426 "$IP link add dev $DUMMY type dummy || /bin/true"
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",
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",
434 "$TC qdisc del dev $DUMMY handle 1: root",
435 "$IP link del dev $DUMMY type dummy"
440 "name": "Show ETS class :1",
446 "$IP link add dev $DUMMY type dummy || /bin/true"
448 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets quanta 4000 3000 2000",
450 "verifyCmd": "$TC class show dev $DUMMY classid 1:1",
451 "matchPattern": "class ets 1:1 root quantum 4000",
454 "$TC qdisc del dev $DUMMY handle 1: root",
455 "$IP link del dev $DUMMY type dummy"
460 "name": "Show ETS class :2",
466 "$IP link add dev $DUMMY type dummy || /bin/true"
468 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets quanta 4000 3000 2000",
470 "verifyCmd": "$TC class show dev $DUMMY classid 1:2",
471 "matchPattern": "class ets 1:2 root quantum 3000",
474 "$TC qdisc del dev $DUMMY handle 1: root",
475 "$IP link del dev $DUMMY type dummy"
480 "name": "Show ETS class :3",
486 "$IP link add dev $DUMMY type dummy || /bin/true"
488 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets quanta 4000 3000 2000",
490 "verifyCmd": "$TC class show dev $DUMMY classid 1:3",
491 "matchPattern": "class ets 1:3 root quantum 2000",
494 "$TC qdisc del dev $DUMMY handle 1: root",
495 "$IP link del dev $DUMMY type dummy"
500 "name": "Show ETS strict class",
506 "$IP link add dev $DUMMY type dummy || /bin/true"
508 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets strict 3",
510 "verifyCmd": "$TC class show dev $DUMMY classid 1:1",
511 "matchPattern": "class ets 1:1 root $",
514 "$TC qdisc del dev $DUMMY handle 1: root",
515 "$IP link del dev $DUMMY type dummy"
520 "name": "Add ETS qdisc with too many quanta",
526 "$IP link add dev $DUMMY type dummy || /bin/true"
528 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 2 quanta 1000 2000 3000",
530 "verifyCmd": "$TC qdisc show dev $DUMMY",
531 "matchPattern": "qdisc ets",
534 "$IP link del dev $DUMMY type dummy"
539 "name": "Add ETS qdisc with too many strict",
545 "$IP link add dev $DUMMY type dummy || /bin/true"
547 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 2 strict 3",
549 "verifyCmd": "$TC qdisc show dev $DUMMY",
550 "matchPattern": "qdisc ets",
553 "$IP link del dev $DUMMY type dummy"
558 "name": "Add ETS qdisc with too many strict + quanta",
564 "$IP link add dev $DUMMY type dummy || /bin/true"
566 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 4 strict 2 quanta 1000 2000 3000",
568 "verifyCmd": "$TC qdisc show dev $DUMMY",
569 "matchPattern": "qdisc ets",
572 "$IP link del dev $DUMMY type dummy"
577 "name": "Add ETS qdisc with excess priomap elements",
583 "$IP link add dev $DUMMY type dummy || /bin/true"
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",
587 "verifyCmd": "$TC qdisc show dev $DUMMY",
588 "matchPattern": "qdisc ets",
591 "$IP link del dev $DUMMY type dummy"
596 "name": "Add ETS qdisc with priomap above bands",
602 "$IP link add dev $DUMMY type dummy || /bin/true"
604 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 2 priomap 0 1 2",
606 "verifyCmd": "$TC qdisc show dev $DUMMY",
607 "matchPattern": "qdisc ets",
610 "$IP link del dev $DUMMY type dummy"
615 "name": "Add ETS qdisc with priomap above quanta",
621 "$IP link add dev $DUMMY type dummy || /bin/true"
623 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets quanta 1000 500 priomap 0 1 2",
625 "verifyCmd": "$TC qdisc show dev $DUMMY",
626 "matchPattern": "qdisc ets",
629 "$IP link del dev $DUMMY type dummy"
634 "name": "Add ETS qdisc with priomap above strict",
640 "$IP link add dev $DUMMY type dummy || /bin/true"
642 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets strict 2 priomap 0 1 2",
644 "verifyCmd": "$TC qdisc show dev $DUMMY",
645 "matchPattern": "qdisc ets",
648 "$IP link del dev $DUMMY type dummy"
653 "name": "Add ETS qdisc with priomap above strict + quanta",
659 "$IP link add dev $DUMMY type dummy || /bin/true"
661 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets strict 1 quanta 1000 500 priomap 0 1 2 3",
663 "verifyCmd": "$TC qdisc show dev $DUMMY",
664 "matchPattern": "qdisc ets",
667 "$IP link del dev $DUMMY type dummy"
672 "name": "Add ETS qdisc with priomap within bands with strict + quanta",
678 "$IP link add dev $DUMMY type dummy || /bin/true"
680 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 4 strict 1 quanta 1000 500 priomap 0 1 2 3",
682 "verifyCmd": "$TC qdisc show dev $DUMMY",
683 "matchPattern": "qdisc ets",
686 "$IP link del dev $DUMMY type dummy"
691 "name": "Add ETS qdisc with priomap above bands with strict + quanta",
697 "$IP link add dev $DUMMY type dummy || /bin/true"
699 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 4 strict 1 quanta 1000 500 priomap 0 1 2 3 4",
701 "verifyCmd": "$TC qdisc show dev $DUMMY",
702 "matchPattern": "qdisc ets",
705 "$IP link del dev $DUMMY type dummy"
710 "name": "Unset priorities default to the last band",
716 "$IP link add dev $DUMMY type dummy || /bin/true"
718 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 4 priomap 0 0 0 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",
724 "$IP link del dev $DUMMY type dummy"
729 "name": "Unset priorities default to the last band -- no priomap",
735 "$IP link add dev $DUMMY type dummy || /bin/true"
737 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 4",
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",
743 "$IP link del dev $DUMMY type dummy"
748 "name": "Add ETS qdisc with too few bands",
754 "$IP link add dev $DUMMY type dummy || /bin/true"
756 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 0",
758 "verifyCmd": "$TC qdisc show dev $DUMMY",
759 "matchPattern": "qdisc ets",
762 "$IP link del dev $DUMMY type dummy"
767 "name": "Add ETS qdisc with too many bands",
773 "$IP link add dev $DUMMY type dummy || /bin/true"
775 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets bands 17",
777 "verifyCmd": "$TC qdisc show dev $DUMMY",
778 "matchPattern": "qdisc ets",
781 "$IP link del dev $DUMMY type dummy"
786 "name": "Add ETS qdisc without parameters",
792 "$IP link add dev $DUMMY type dummy || /bin/true"
794 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets",
796 "verifyCmd": "$TC qdisc show dev $DUMMY",
797 "matchPattern": "qdisc ets",
800 "$IP link del dev $DUMMY type dummy"
805 "name": "Zero element in quanta",
811 "$IP link add dev $DUMMY type dummy || /bin/true"
813 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets quanta 1000 0 800 700",
815 "verifyCmd": "$TC qdisc show dev $DUMMY",
816 "matchPattern": "qdisc ets",
819 "$IP link del dev $DUMMY type dummy"
824 "name": "Sole zero element in quanta",
830 "$IP link add dev $DUMMY type dummy || /bin/true"
832 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root ets quanta 0",
834 "verifyCmd": "$TC qdisc show dev $DUMMY",
835 "matchPattern": "qdisc ets",
838 "$IP link del dev $DUMMY type dummy"
843 "name": "No values after the quanta keyword",
849 "$IP link add dev $DUMMY type dummy || /bin/true"
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",
857 "$IP link del dev $DUMMY type dummy"
862 "name": "Change ETS band quantum",
868 "$IP link add dev $DUMMY type dummy || /bin/true",
869 "$TC qdisc add dev $DUMMY handle 1: root ets quanta 1000 2000 3000"
871 "cmdUnderTest": "$TC class change dev $DUMMY classid 1:1 ets quantum 1500",
873 "verifyCmd": "$TC qdisc show dev $DUMMY",
874 "matchPattern": "qdisc ets 1: root .*quanta 1500 2000 3000 priomap ",
877 "$IP link del dev $DUMMY type dummy"
882 "name": "Change ETS band without quantum",
888 "$IP link add dev $DUMMY type dummy || /bin/true",
889 "$TC qdisc add dev $DUMMY handle 1: root ets quanta 1000 2000 3000"
891 "cmdUnderTest": "$TC class change dev $DUMMY classid 1:1 ets",
893 "verifyCmd": "$TC qdisc show dev $DUMMY",
894 "matchPattern": "qdisc ets 1: root .*quanta 1000 2000 3000 priomap ",
897 "$IP link del dev $DUMMY type dummy"
902 "name": "Change quantum of a strict ETS band",
908 "$IP link add dev $DUMMY type dummy || /bin/true",
909 "$TC qdisc add dev $DUMMY handle 1: root ets strict 5"
911 "cmdUnderTest": "$TC class change dev $DUMMY classid 1:2 ets quantum 1500",
913 "verifyCmd": "$TC qdisc show dev $DUMMY",
914 "matchPattern": "qdisc ets .*bands 5 .*strict 5",
917 "$IP link del dev $DUMMY type dummy"
922 "name": "Change ETS strict band without quantum",
928 "$IP link add dev $DUMMY type dummy || /bin/true",
929 "$TC qdisc add dev $DUMMY handle 1: root ets strict 5"
931 "cmdUnderTest": "$TC class change dev $DUMMY classid 1:2 ets",
933 "verifyCmd": "$TC qdisc show dev $DUMMY",
934 "matchPattern": "qdisc ets .*bands 5 .*strict 5",
937 "$IP link del dev $DUMMY type dummy"