1856359c0SZhengchao Shao[
2856359c0SZhengchao Shao    {
3856359c0SZhengchao Shao        "id": "0582",
4856359c0SZhengchao Shao        "name": "Create QFQ with default setting",
5856359c0SZhengchao Shao        "category": [
6856359c0SZhengchao Shao            "qdisc",
7856359c0SZhengchao Shao            "qfq"
8856359c0SZhengchao Shao        ],
9856359c0SZhengchao Shao        "plugins": {
10856359c0SZhengchao Shao            "requires": "nsPlugin"
11856359c0SZhengchao Shao        },
12856359c0SZhengchao Shao        "setup": [
13856359c0SZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
14856359c0SZhengchao Shao        ],
15856359c0SZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root qfq",
16856359c0SZhengchao Shao        "expExitCode": "0",
17856359c0SZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
18856359c0SZhengchao Shao        "matchPattern": "qdisc qfq 1: root refcnt [0-9]+",
19856359c0SZhengchao Shao        "matchCount": "1",
20856359c0SZhengchao Shao        "teardown": [
21856359c0SZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
22856359c0SZhengchao Shao            "$IP link del dev $DUMMY type dummy"
23856359c0SZhengchao Shao        ]
24856359c0SZhengchao Shao    },
25856359c0SZhengchao Shao    {
26856359c0SZhengchao Shao        "id": "c9a3",
27856359c0SZhengchao Shao        "name": "Create QFQ with class weight setting",
28856359c0SZhengchao Shao        "category": [
29856359c0SZhengchao Shao            "qdisc",
30856359c0SZhengchao Shao            "qfq"
31856359c0SZhengchao Shao        ],
32856359c0SZhengchao Shao        "plugins": {
33856359c0SZhengchao Shao            "requires": "nsPlugin"
34856359c0SZhengchao Shao        },
35856359c0SZhengchao Shao        "setup": [
36856359c0SZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true",
37856359c0SZhengchao Shao            "$TC qdisc add dev $DUMMY handle 1: root qfq"
38856359c0SZhengchao Shao        ],
39856359c0SZhengchao Shao        "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100",
40856359c0SZhengchao Shao        "expExitCode": "0",
41856359c0SZhengchao Shao        "verifyCmd": "$TC class show dev $DUMMY",
42856359c0SZhengchao Shao        "matchPattern": "class qfq 1:1 root weight 100 maxpkt",
43856359c0SZhengchao Shao        "matchCount": "1",
44856359c0SZhengchao Shao        "teardown": [
45856359c0SZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
46856359c0SZhengchao Shao            "$IP link del dev $DUMMY type dummy"
47856359c0SZhengchao Shao        ]
48856359c0SZhengchao Shao    },
49856359c0SZhengchao Shao    {
507eb060a5SPedro Tammela        "id": "d364",
517eb060a5SPedro Tammela        "name": "Test QFQ with max class weight setting",
527eb060a5SPedro Tammela        "category": [
537eb060a5SPedro Tammela            "qdisc",
547eb060a5SPedro Tammela            "qfq"
557eb060a5SPedro Tammela        ],
567eb060a5SPedro Tammela        "plugins": {
577eb060a5SPedro Tammela            "requires": "nsPlugin"
587eb060a5SPedro Tammela        },
597eb060a5SPedro Tammela        "setup": [
607eb060a5SPedro Tammela            "$IP link add dev $DUMMY type dummy || /bin/true",
617eb060a5SPedro Tammela            "$TC qdisc add dev $DUMMY handle 1: root qfq"
627eb060a5SPedro Tammela        ],
637eb060a5SPedro Tammela        "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 9999",
647eb060a5SPedro Tammela        "expExitCode": "2",
657eb060a5SPedro Tammela        "verifyCmd": "$TC class show dev $DUMMY",
667eb060a5SPedro Tammela        "matchPattern": "class qfq 1:1 root weight 9999 maxpkt",
677eb060a5SPedro Tammela        "matchCount": "0",
687eb060a5SPedro Tammela        "teardown": [
697eb060a5SPedro Tammela            "$TC qdisc del dev $DUMMY handle 1: root",
707eb060a5SPedro Tammela            "$IP link del dev $DUMMY type dummy"
717eb060a5SPedro Tammela        ]
727eb060a5SPedro Tammela    },
737eb060a5SPedro Tammela    {
74856359c0SZhengchao Shao        "id": "8452",
75856359c0SZhengchao Shao        "name": "Create QFQ with class maxpkt setting",
76856359c0SZhengchao Shao        "category": [
77856359c0SZhengchao Shao            "qdisc",
78856359c0SZhengchao Shao            "qfq"
79856359c0SZhengchao Shao        ],
80856359c0SZhengchao Shao        "plugins": {
81856359c0SZhengchao Shao            "requires": "nsPlugin"
82856359c0SZhengchao Shao        },
83856359c0SZhengchao Shao        "setup": [
84856359c0SZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true",
85856359c0SZhengchao Shao            "$TC qdisc add dev $DUMMY handle 1: root qfq"
86856359c0SZhengchao Shao        ],
87856359c0SZhengchao Shao        "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq maxpkt 2000",
88856359c0SZhengchao Shao        "expExitCode": "0",
89856359c0SZhengchao Shao        "verifyCmd": "$TC class show dev $DUMMY",
90856359c0SZhengchao Shao        "matchPattern": "class qfq 1:1 root weight 1 maxpkt 2000",
91856359c0SZhengchao Shao        "matchCount": "1",
92856359c0SZhengchao Shao        "teardown": [
93856359c0SZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
94856359c0SZhengchao Shao            "$IP link del dev $DUMMY type dummy"
95856359c0SZhengchao Shao        ]
96856359c0SZhengchao Shao    },
97856359c0SZhengchao Shao    {
987eb060a5SPedro Tammela        "id": "22df",
997eb060a5SPedro Tammela        "name": "Test QFQ class maxpkt setting lower bound",
1007eb060a5SPedro Tammela        "category": [
1017eb060a5SPedro Tammela            "qdisc",
1027eb060a5SPedro Tammela            "qfq"
1037eb060a5SPedro Tammela        ],
1047eb060a5SPedro Tammela        "plugins": {
1057eb060a5SPedro Tammela            "requires": "nsPlugin"
1067eb060a5SPedro Tammela        },
1077eb060a5SPedro Tammela        "setup": [
1087eb060a5SPedro Tammela            "$IP link add dev $DUMMY type dummy || /bin/true",
1097eb060a5SPedro Tammela            "$TC qdisc add dev $DUMMY handle 1: root qfq"
1107eb060a5SPedro Tammela        ],
1117eb060a5SPedro Tammela        "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq maxpkt 128",
1127eb060a5SPedro Tammela        "expExitCode": "2",
1137eb060a5SPedro Tammela        "verifyCmd": "$TC class show dev $DUMMY",
1147eb060a5SPedro Tammela        "matchPattern": "class qfq 1:1 root weight 1 maxpkt 128",
1157eb060a5SPedro Tammela        "matchCount": "0",
1167eb060a5SPedro Tammela        "teardown": [
1177eb060a5SPedro Tammela            "$TC qdisc del dev $DUMMY handle 1: root",
1187eb060a5SPedro Tammela            "$IP link del dev $DUMMY type dummy"
1197eb060a5SPedro Tammela        ]
1207eb060a5SPedro Tammela    },
1217eb060a5SPedro Tammela    {
1227eb060a5SPedro Tammela        "id": "92ee",
1237eb060a5SPedro Tammela        "name": "Test QFQ class maxpkt setting upper bound",
1247eb060a5SPedro Tammela        "category": [
1257eb060a5SPedro Tammela            "qdisc",
1267eb060a5SPedro Tammela            "qfq"
1277eb060a5SPedro Tammela        ],
1287eb060a5SPedro Tammela        "plugins": {
1297eb060a5SPedro Tammela            "requires": "nsPlugin"
1307eb060a5SPedro Tammela        },
1317eb060a5SPedro Tammela        "setup": [
1327eb060a5SPedro Tammela            "$IP link add dev $DUMMY type dummy || /bin/true",
1337eb060a5SPedro Tammela            "$TC qdisc add dev $DUMMY handle 1: root qfq"
1347eb060a5SPedro Tammela        ],
1357eb060a5SPedro Tammela        "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq maxpkt 99999",
1367eb060a5SPedro Tammela        "expExitCode": "2",
1377eb060a5SPedro Tammela        "verifyCmd": "$TC class show dev $DUMMY",
1387eb060a5SPedro Tammela        "matchPattern": "class qfq 1:1 root weight 1 maxpkt 99999",
1397eb060a5SPedro Tammela        "matchCount": "0",
1407eb060a5SPedro Tammela        "teardown": [
1417eb060a5SPedro Tammela            "$TC qdisc del dev $DUMMY handle 1: root",
1427eb060a5SPedro Tammela            "$IP link del dev $DUMMY type dummy"
1437eb060a5SPedro Tammela        ]
1447eb060a5SPedro Tammela    },
1457eb060a5SPedro Tammela    {
146856359c0SZhengchao Shao        "id": "d920",
147856359c0SZhengchao Shao        "name": "Create QFQ with multiple class setting",
148856359c0SZhengchao Shao        "category": [
149856359c0SZhengchao Shao            "qdisc",
150856359c0SZhengchao Shao            "qfq"
151856359c0SZhengchao Shao        ],
152856359c0SZhengchao Shao        "plugins": {
153856359c0SZhengchao Shao            "requires": "nsPlugin"
154856359c0SZhengchao Shao        },
155856359c0SZhengchao Shao        "setup": [
156856359c0SZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true",
157856359c0SZhengchao Shao            "$TC qdisc add dev $DUMMY handle 1: root qfq",
158856359c0SZhengchao Shao            "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100"
159856359c0SZhengchao Shao        ],
160856359c0SZhengchao Shao        "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:2 qfq weight 200",
161856359c0SZhengchao Shao        "expExitCode": "0",
162856359c0SZhengchao Shao        "verifyCmd": "$TC class show dev $DUMMY",
163856359c0SZhengchao Shao        "matchPattern": "class qfq 1:[0-9]+ root weight [0-9]+00 maxpkt",
164856359c0SZhengchao Shao        "matchCount": "2",
165856359c0SZhengchao Shao        "teardown": [
166856359c0SZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
167856359c0SZhengchao Shao            "$IP link del dev $DUMMY type dummy"
168856359c0SZhengchao Shao        ]
169856359c0SZhengchao Shao    },
170856359c0SZhengchao Shao    {
171856359c0SZhengchao Shao        "id": "0548",
172856359c0SZhengchao Shao        "name": "Delete QFQ with handle",
173856359c0SZhengchao Shao        "category": [
174856359c0SZhengchao Shao            "qdisc",
175856359c0SZhengchao Shao            "qfq"
176856359c0SZhengchao Shao        ],
177856359c0SZhengchao Shao        "plugins": {
178856359c0SZhengchao Shao            "requires": "nsPlugin"
179856359c0SZhengchao Shao        },
180856359c0SZhengchao Shao        "setup": [
181856359c0SZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true",
182856359c0SZhengchao Shao            "$TC qdisc add dev $DUMMY handle 1: root qfq",
183856359c0SZhengchao Shao            "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100"
184856359c0SZhengchao Shao        ],
185856359c0SZhengchao Shao        "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root",
186856359c0SZhengchao Shao        "expExitCode": "0",
187856359c0SZhengchao Shao        "verifyCmd": "$TC class show dev $DUMMY",
188856359c0SZhengchao Shao        "matchPattern": "qdisc qfq 1: root refcnt [0-9]+",
189856359c0SZhengchao Shao        "matchCount": "0",
190856359c0SZhengchao Shao        "teardown": [
191856359c0SZhengchao Shao            "$IP link del dev $DUMMY type dummy"
192856359c0SZhengchao Shao        ]
193856359c0SZhengchao Shao    },
194856359c0SZhengchao Shao    {
195856359c0SZhengchao Shao        "id": "5901",
196856359c0SZhengchao Shao        "name": "Show QFQ class",
197856359c0SZhengchao Shao        "category": [
198856359c0SZhengchao Shao            "qdisc",
199856359c0SZhengchao Shao            "qfq"
200856359c0SZhengchao Shao        ],
201856359c0SZhengchao Shao        "plugins": {
202856359c0SZhengchao Shao            "requires": "nsPlugin"
203856359c0SZhengchao Shao        },
204856359c0SZhengchao Shao        "setup": [
205856359c0SZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
206856359c0SZhengchao Shao        ],
207856359c0SZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root qfq",
208856359c0SZhengchao Shao        "expExitCode": "0",
209856359c0SZhengchao Shao        "verifyCmd": "$TC class show dev $DUMMY",
210856359c0SZhengchao Shao        "matchPattern": "class qfq 1:",
211856359c0SZhengchao Shao        "matchCount": "0",
212856359c0SZhengchao Shao        "teardown": [
213856359c0SZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
214856359c0SZhengchao Shao            "$IP link del dev $DUMMY type dummy"
215856359c0SZhengchao Shao        ]
216*c5a06fdcSPedro Tammela    },
217*c5a06fdcSPedro Tammela    {
218*c5a06fdcSPedro Tammela        "id": "85ee",
219*c5a06fdcSPedro Tammela        "name": "QFQ with big MTU",
220*c5a06fdcSPedro Tammela        "category": [
221*c5a06fdcSPedro Tammela            "qdisc",
222*c5a06fdcSPedro Tammela            "qfq"
223*c5a06fdcSPedro Tammela        ],
224*c5a06fdcSPedro Tammela        "plugins": {
225*c5a06fdcSPedro Tammela            "requires": "nsPlugin"
226*c5a06fdcSPedro Tammela        },
227*c5a06fdcSPedro Tammela        "setup": [
228*c5a06fdcSPedro Tammela            "$IP link add dev $DUMMY type dummy || /bin/true",
229*c5a06fdcSPedro Tammela            "$IP link set dev $DUMMY mtu 2147483647 || /bin/true",
230*c5a06fdcSPedro Tammela            "$TC qdisc add dev $DUMMY handle 1: root qfq"
231*c5a06fdcSPedro Tammela        ],
232*c5a06fdcSPedro Tammela        "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100",
233*c5a06fdcSPedro Tammela        "expExitCode": "2",
234*c5a06fdcSPedro Tammela        "verifyCmd": "$TC class show dev $DUMMY",
235*c5a06fdcSPedro Tammela        "matchPattern": "class qfq 1:",
236*c5a06fdcSPedro Tammela        "matchCount": "0",
237*c5a06fdcSPedro Tammela        "teardown": [
238*c5a06fdcSPedro Tammela            "$IP link del dev $DUMMY type dummy"
239*c5a06fdcSPedro Tammela        ]
240*c5a06fdcSPedro Tammela    },
241*c5a06fdcSPedro Tammela    {
242*c5a06fdcSPedro Tammela        "id": "ddfa",
243*c5a06fdcSPedro Tammela        "name": "QFQ with small MTU",
244*c5a06fdcSPedro Tammela        "category": [
245*c5a06fdcSPedro Tammela            "qdisc",
246*c5a06fdcSPedro Tammela            "qfq"
247*c5a06fdcSPedro Tammela        ],
248*c5a06fdcSPedro Tammela        "plugins": {
249*c5a06fdcSPedro Tammela            "requires": "nsPlugin"
250*c5a06fdcSPedro Tammela        },
251*c5a06fdcSPedro Tammela        "setup": [
252*c5a06fdcSPedro Tammela            "$IP link add dev $DUMMY type dummy || /bin/true",
253*c5a06fdcSPedro Tammela            "$IP link set dev $DUMMY mtu 256 || /bin/true",
254*c5a06fdcSPedro Tammela            "$TC qdisc add dev $DUMMY handle 1: root qfq"
255*c5a06fdcSPedro Tammela        ],
256*c5a06fdcSPedro Tammela        "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100",
257*c5a06fdcSPedro Tammela        "expExitCode": "2",
258*c5a06fdcSPedro Tammela        "verifyCmd": "$TC class show dev $DUMMY",
259*c5a06fdcSPedro Tammela        "matchPattern": "class qfq 1:",
260*c5a06fdcSPedro Tammela        "matchCount": "0",
261*c5a06fdcSPedro Tammela        "teardown": [
262*c5a06fdcSPedro Tammela            "$IP link del dev $DUMMY type dummy"
263*c5a06fdcSPedro Tammela        ]
264856359c0SZhengchao Shao    }
265856359c0SZhengchao Shao]
266