1[
2    {
3        "id": "4957",
4        "name": "Create FQ_CODEL with default setting",
5        "category": [
6            "qdisc",
7            "fq_codel"
8        ],
9        "plugins": {
10            "requires": "nsPlugin"
11        },
12        "setup": [
13            "$IP link add dev $DUMMY type dummy || /bin/true"
14        ],
15        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel",
16        "expExitCode": "0",
17        "verifyCmd": "$TC qdisc show dev $DUMMY",
18        "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64",
19        "matchCount": "1",
20        "teardown": [
21            "$TC qdisc del dev $DUMMY handle 1: root",
22            "$IP link del dev $DUMMY type dummy"
23        ]
24    },
25    {
26        "id": "7621",
27        "name": "Create FQ_CODEL with limit setting",
28        "category": [
29            "qdisc",
30            "fq_codel"
31        ],
32        "plugins": {
33            "requires": "nsPlugin"
34        },
35        "setup": [
36            "$IP link add dev $DUMMY type dummy || /bin/true"
37        ],
38        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel limit 1000",
39        "expExitCode": "0",
40        "verifyCmd": "$TC qdisc show dev $DUMMY",
41        "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 1000p flows 1024 quantum.*target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64",
42        "matchCount": "1",
43        "teardown": [
44            "$TC qdisc del dev $DUMMY handle 1: root",
45            "$IP link del dev $DUMMY type dummy"
46        ]
47    },
48    {
49        "id": "6871",
50        "name": "Create FQ_CODEL with memory_limit setting",
51        "category": [
52            "qdisc",
53            "fq_codel"
54        ],
55        "plugins": {
56            "requires": "nsPlugin"
57        },
58        "setup": [
59            "$IP link add dev $DUMMY type dummy || /bin/true"
60        ],
61        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel memory_limit 100000",
62        "expExitCode": "0",
63        "verifyCmd": "$TC qdisc show dev $DUMMY",
64        "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 5ms interval 100ms memory_limit 100000b ecn drop_batch 64",
65        "matchCount": "1",
66        "teardown": [
67            "$TC qdisc del dev $DUMMY handle 1: root",
68            "$IP link del dev $DUMMY type dummy"
69        ]
70    },
71    {
72        "id": "5636",
73        "name": "Create FQ_CODEL with target setting",
74        "category": [
75            "qdisc",
76            "fq_codel"
77        ],
78        "plugins": {
79            "requires": "nsPlugin"
80        },
81        "setup": [
82            "$IP link add dev $DUMMY type dummy || /bin/true"
83        ],
84        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel target 2000",
85        "expExitCode": "0",
86        "verifyCmd": "$TC qdisc show dev $DUMMY",
87        "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 2ms interval 100ms memory_limit 32Mb ecn drop_batch 64",
88        "matchCount": "1",
89        "teardown": [
90            "$TC qdisc del dev $DUMMY handle 1: root",
91            "$IP link del dev $DUMMY type dummy"
92        ]
93    },
94    {
95        "id": "630a",
96        "name": "Create FQ_CODEL with interval setting",
97        "category": [
98            "qdisc",
99            "fq_codel"
100        ],
101        "plugins": {
102            "requires": "nsPlugin"
103        },
104        "setup": [
105            "$IP link add dev $DUMMY type dummy || /bin/true"
106        ],
107        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel interval 5000",
108        "expExitCode": "0",
109        "verifyCmd": "$TC qdisc show dev $DUMMY",
110        "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 5ms interval 5ms memory_limit 32Mb ecn drop_batch 64",
111        "matchCount": "1",
112        "teardown": [
113            "$TC qdisc del dev $DUMMY handle 1: root",
114            "$IP link del dev $DUMMY type dummy"
115        ]
116    },
117    {
118        "id": "4324",
119        "name": "Create FQ_CODEL with quantum setting",
120        "category": [
121            "qdisc",
122            "fq_codel"
123        ],
124        "plugins": {
125            "requires": "nsPlugin"
126        },
127        "setup": [
128            "$IP link add dev $DUMMY type dummy || /bin/true"
129        ],
130        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel quantum 9000",
131        "expExitCode": "0",
132        "verifyCmd": "$TC qdisc show dev $DUMMY",
133        "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum 9000 target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 64",
134        "matchCount": "1",
135        "teardown": [
136            "$TC qdisc del dev $DUMMY handle 1: root",
137            "$IP link del dev $DUMMY type dummy"
138        ]
139    },
140    {
141        "id": "b190",
142        "name": "Create FQ_CODEL with noecn flag",
143        "category": [
144            "qdisc",
145            "fq_codel"
146        ],
147        "plugins": {
148            "requires": "nsPlugin"
149        },
150        "setup": [
151            "$IP link add dev $DUMMY type dummy || /bin/true"
152        ],
153        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel noecn",
154        "expExitCode": "0",
155        "verifyCmd": "$TC qdisc show dev $DUMMY",
156        "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 5ms interval 100ms memory_limit 32Mb drop_batch 64",
157        "matchCount": "1",
158        "teardown": [
159            "$TC qdisc del dev $DUMMY handle 1: root",
160            "$IP link del dev $DUMMY type dummy"
161        ]
162    },
163    {
164        "id": "5381",
165        "name": "Create FQ_CODEL with ce_threshold setting",
166        "category": [
167            "qdisc",
168            "fq_codel"
169        ],
170        "plugins": {
171            "requires": "nsPlugin"
172        },
173        "setup": [
174            "$IP link add dev $DUMMY type dummy || /bin/true"
175        ],
176        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel ce_threshold 1024000",
177        "expExitCode": "0",
178        "verifyCmd": "$TC qdisc show dev $DUMMY",
179        "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 5ms ce_threshold 1.02s interval 100ms memory_limit 32Mb ecn drop_batch 64",
180        "matchCount": "1",
181        "teardown": [
182            "$TC qdisc del dev $DUMMY handle 1: root",
183            "$IP link del dev $DUMMY type dummy"
184        ]
185    },
186    {
187        "id": "c9d2",
188        "name": "Create FQ_CODEL with drop_batch setting",
189        "category": [
190            "qdisc",
191            "fq_codel"
192        ],
193        "plugins": {
194            "requires": "nsPlugin"
195        },
196        "setup": [
197            "$IP link add dev $DUMMY type dummy || /bin/true"
198        ],
199        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel drop_batch 100",
200        "expExitCode": "0",
201        "verifyCmd": "$TC qdisc show dev $DUMMY",
202        "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 10240p flows 1024 quantum.*target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 100",
203        "matchCount": "1",
204        "teardown": [
205            "$TC qdisc del dev $DUMMY handle 1: root",
206            "$IP link del dev $DUMMY type dummy"
207        ]
208    },
209    {
210        "id": "523b",
211        "name": "Create FQ_CODEL with multiple setting",
212        "category": [
213            "qdisc",
214            "fq_codel"
215        ],
216        "plugins": {
217            "requires": "nsPlugin"
218        },
219        "setup": [
220            "$IP link add dev $DUMMY type dummy || /bin/true"
221        ],
222        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel limit 1000 flows 256 drop_batch 100",
223        "expExitCode": "0",
224        "verifyCmd": "$TC qdisc show dev $DUMMY",
225        "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 1000p flows 256 quantum.*target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 100",
226        "matchCount": "1",
227        "teardown": [
228            "$TC qdisc del dev $DUMMY handle 1: root",
229            "$IP link del dev $DUMMY type dummy"
230        ]
231    },
232    {
233        "id": "9283",
234        "name": "Replace FQ_CODEL with noecn setting",
235        "category": [
236            "qdisc",
237            "fq_codel"
238        ],
239        "plugins": {
240            "requires": "nsPlugin"
241        },
242        "setup": [
243            "$IP link add dev $DUMMY type dummy || /bin/true",
244            "$TC qdisc add dev $DUMMY handle 1: root fq_codel limit 1000 flows 256 drop_batch 100"
245        ],
246        "cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root fq_codel noecn",
247        "expExitCode": "0",
248        "verifyCmd": "$TC qdisc show dev $DUMMY",
249        "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 1000p flows 256 quantum.*target 5ms interval 100ms memory_limit 32Mb drop_batch 100",
250        "matchCount": "1",
251        "teardown": [
252            "$TC qdisc del dev $DUMMY handle 1: root",
253            "$IP link del dev $DUMMY type dummy"
254        ]
255    },
256    {
257        "id": "3459",
258        "name": "Change FQ_CODEL with limit setting",
259        "category": [
260            "qdisc",
261            "fq_codel"
262        ],
263        "plugins": {
264            "requires": "nsPlugin"
265        },
266        "setup": [
267            "$IP link add dev $DUMMY type dummy || /bin/true",
268            "$TC qdisc add dev $DUMMY handle 1: root fq_codel limit 1000 flows 256 drop_batch 100"
269        ],
270        "cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root fq_codel limit 2000",
271        "expExitCode": "0",
272        "verifyCmd": "$TC qdisc show dev $DUMMY",
273        "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 2000p flows 256 quantum.*target 5ms interval 100ms memory_limit 32Mb ecn drop_batch 100",
274        "matchCount": "1",
275        "teardown": [
276            "$TC qdisc del dev $DUMMY handle 1: root",
277            "$IP link del dev $DUMMY type dummy"
278        ]
279    },
280    {
281        "id": "0128",
282        "name": "Delete FQ_CODEL with handle",
283        "category": [
284            "qdisc",
285            "fq_codel"
286        ],
287        "plugins": {
288            "requires": "nsPlugin"
289        },
290        "setup": [
291            "$IP link add dev $DUMMY type dummy || /bin/true",
292            "$TC qdisc add dev $DUMMY handle 1: root fq_codel limit 1000 flows 256 drop_batch 100"
293        ],
294        "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root",
295        "expExitCode": "0",
296        "verifyCmd": "$TC qdisc show dev $DUMMY",
297        "matchPattern": "qdisc fq_codel 1: root refcnt [0-9]+ limit 1000p flows 256 quantum.*target 5ms interval 100ms memory_limit 32Mb noecn drop_batch 100",
298        "matchCount": "0",
299        "teardown": [
300            "$IP link del dev $DUMMY type dummy"
301        ]
302    },
303    {
304        "id": "0435",
305        "name": "Show FQ_CODEL class",
306        "category": [
307            "qdisc",
308            "fq_codel"
309        ],
310        "plugins": {
311            "requires": "nsPlugin"
312        },
313        "setup": [
314            "$IP link add dev $DUMMY type dummy || /bin/true"
315        ],
316        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root fq_codel",
317        "expExitCode": "0",
318        "verifyCmd": "$TC class show dev $DUMMY",
319        "matchPattern": "class fq_codel 1:",
320        "matchCount": "0",
321        "teardown": [
322            "$TC qdisc del dev $DUMMY handle 1: root",
323            "$IP link del dev $DUMMY type dummy"
324        ]
325    }
326]
327