1[
2    {
3        "id": "1212",
4        "name": "Create CAKE with default setting",
5        "category": [
6            "qdisc",
7            "cake"
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 cake",
16        "expExitCode": "0",
17        "verifyCmd": "$TC qdisc show dev $DUMMY",
18        "matchPattern": "qdisc cake 1: root refcnt [0-9]+ bandwidth unlimited diffserv3 triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms raw overhead",
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": "3281",
27        "name": "Create CAKE with bandwidth limit",
28        "category": [
29            "qdisc",
30            "cake"
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 cake bandwidth 1000",
39        "expExitCode": "0",
40        "verifyCmd": "$TC qdisc show dev $DUMMY",
41        "matchPattern": "qdisc cake 1: root refcnt [0-9]+ bandwidth 1Kbit diffserv3 triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms raw overhead",
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": "c940",
50        "name": "Create CAKE with autorate-ingress flag",
51        "category": [
52            "qdisc",
53            "cake"
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 cake autorate-ingress",
62        "expExitCode": "0",
63        "verifyCmd": "$TC qdisc show dev $DUMMY",
64        "matchPattern": "qdisc cake 1: root refcnt [0-9]+ bandwidth unlimited autorate-ingress diffserv3 triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms raw overhead",
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": "2310",
73        "name": "Create CAKE with rtt time",
74        "category": [
75            "qdisc",
76            "cake"
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 cake rtt 200",
85        "expExitCode": "0",
86        "verifyCmd": "$TC qdisc show dev $DUMMY",
87        "matchPattern": "qdisc cake 1: root refcnt [0-9]+ bandwidth unlimited diffserv3 triple-isolate nonat nowash no-ack-filter split-gso rtt 200us raw overhead",
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": "2385",
96        "name": "Create CAKE with besteffort flag",
97        "category": [
98            "qdisc",
99            "cake"
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 cake besteffort",
108        "expExitCode": "0",
109        "verifyCmd": "$TC qdisc show dev $DUMMY",
110        "matchPattern": "qdisc cake 1: root refcnt [0-9]+ bandwidth unlimited besteffort triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms raw overhead",
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": "a032",
119        "name": "Create CAKE with diffserv8 flag",
120        "category": [
121            "qdisc",
122            "cake"
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 cake diffserv8",
131        "expExitCode": "0",
132        "verifyCmd": "$TC qdisc show dev $DUMMY",
133        "matchPattern": "qdisc cake 1: root refcnt [0-9]+ bandwidth unlimited diffserv8 triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms raw overhead",
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": "2349",
142        "name": "Create CAKE with diffserv4 flag",
143        "category": [
144            "qdisc",
145            "cake"
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 cake diffserv4",
154        "expExitCode": "0",
155        "verifyCmd": "$TC qdisc show dev $DUMMY",
156        "matchPattern": "qdisc cake 1: root refcnt [0-9]+ bandwidth unlimited diffserv4 triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms raw overhead",
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": "8472",
165        "name": "Create CAKE with flowblind flag",
166        "category": [
167            "qdisc",
168            "cake"
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 cake flowblind",
177        "expExitCode": "0",
178        "verifyCmd": "$TC qdisc show dev $DUMMY",
179        "matchPattern": "qdisc cake 1: root refcnt [0-9]+ bandwidth unlimited diffserv3 flowblind nonat nowash no-ack-filter split-gso rtt 100ms raw overhead",
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": "2341",
188        "name": "Create CAKE with dsthost and nat flag",
189        "category": [
190            "qdisc",
191            "cake"
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 cake dsthost nat",
200        "expExitCode": "0",
201        "verifyCmd": "$TC qdisc show dev $DUMMY",
202        "matchPattern": "qdisc cake 1: root refcnt [0-9]+ bandwidth unlimited diffserv3 dsthost nat nowash no-ack-filter split-gso rtt 100ms raw overhead",
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": "5134",
211        "name": "Create CAKE with wash flag",
212        "category": [
213            "qdisc",
214            "cake"
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 cake hosts wash",
223        "expExitCode": "0",
224        "verifyCmd": "$TC qdisc show dev $DUMMY",
225        "matchPattern": "qdisc cake 1: root refcnt [0-9]+ bandwidth unlimited diffserv3 hosts nonat wash no-ack-filter split-gso rtt 100ms raw overhead",
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": "2302",
234        "name": "Create CAKE with flowblind and no-split-gso flag",
235        "category": [
236            "qdisc",
237            "cake"
238        ],
239        "plugins": {
240            "requires": "nsPlugin"
241        },
242        "setup": [
243            "$IP link add dev $DUMMY type dummy || /bin/true"
244        ],
245        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root cake flowblind no-split-gso",
246        "expExitCode": "0",
247        "verifyCmd": "$TC qdisc show dev $DUMMY",
248        "matchPattern": "qdisc cake 1: root refcnt [0-9]+ bandwidth unlimited diffserv3 flowblind nonat nowash no-ack-filter no-split-gso rtt 100ms raw overhead",
249        "matchCount": "1",
250        "teardown": [
251            "$TC qdisc del dev $DUMMY handle 1: root",
252            "$IP link del dev $DUMMY type dummy"
253        ]
254    },
255    {
256        "id": "0768",
257        "name": "Create CAKE with dual-srchost and ack-filter flag",
258        "category": [
259            "qdisc",
260            "cake"
261        ],
262        "plugins": {
263            "requires": "nsPlugin"
264        },
265        "setup": [
266            "$IP link add dev $DUMMY type dummy || /bin/true"
267        ],
268        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root cake dual-srchost ack-filter",
269        "expExitCode": "0",
270        "verifyCmd": "$TC qdisc show dev $DUMMY",
271        "matchPattern": "qdisc cake 1: root refcnt [0-9]+ bandwidth unlimited diffserv3 dual-srchost nonat nowash ack-filter split-gso rtt 100ms raw overhead",
272        "matchCount": "1",
273        "teardown": [
274            "$TC qdisc del dev $DUMMY handle 1: root",
275            "$IP link del dev $DUMMY type dummy"
276        ]
277    },
278    {
279        "id": "0238",
280        "name": "Create CAKE with dual-dsthost and ack-filter-aggressive flag",
281        "category": [
282            "qdisc",
283            "cake"
284        ],
285        "plugins": {
286            "requires": "nsPlugin"
287        },
288        "setup": [
289            "$IP link add dev $DUMMY type dummy || /bin/true"
290        ],
291        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root cake dual-dsthost ack-filter-aggressive",
292        "expExitCode": "0",
293        "verifyCmd": "$TC qdisc show dev $DUMMY",
294        "matchPattern": "qdisc cake 1: root refcnt [0-9]+ bandwidth unlimited diffserv3 dual-dsthost nonat nowash ack-filter-aggressive split-gso rtt 100ms raw overhead",
295        "matchCount": "1",
296        "teardown": [
297            "$TC qdisc del dev $DUMMY handle 1: root",
298            "$IP link del dev $DUMMY type dummy"
299        ]
300    },
301    {
302        "id": "6572",
303        "name": "Create CAKE with memlimit and ptm flag",
304        "category": [
305            "qdisc",
306            "cake"
307        ],
308        "plugins": {
309            "requires": "nsPlugin"
310        },
311        "setup": [
312            "$IP link add dev $DUMMY type dummy || /bin/true"
313        ],
314        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root cake memlimit 10000 ptm",
315        "expExitCode": "0",
316        "verifyCmd": "$TC qdisc show dev $DUMMY",
317        "matchPattern": "qdisc cake 1: root refcnt [0-9]+ bandwidth unlimited diffserv3 triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms raw ptm overhead 0 memlimit 10000b",
318        "matchCount": "1",
319        "teardown": [
320            "$TC qdisc del dev $DUMMY handle 1: root",
321            "$IP link del dev $DUMMY type dummy"
322        ]
323    },
324    {
325        "id": "2436",
326        "name": "Create CAKE with fwmark and atm flag",
327        "category": [
328            "qdisc",
329            "cake"
330        ],
331        "plugins": {
332            "requires": "nsPlugin"
333        },
334        "setup": [
335            "$IP link add dev $DUMMY type dummy || /bin/true"
336        ],
337        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root cake fwmark 8 atm",
338        "expExitCode": "0",
339        "verifyCmd": "$TC qdisc show dev $DUMMY",
340        "matchPattern": "qdisc cake 1: root refcnt [0-9]+ bandwidth unlimited diffserv3 triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms raw atm overhead 0 fwmark 0x8",
341        "matchCount": "1",
342        "teardown": [
343            "$TC qdisc del dev $DUMMY handle 1: root",
344            "$IP link del dev $DUMMY type dummy"
345        ]
346    },
347    {
348        "id": "3984",
349        "name": "Create CAKE with overhead and mpu",
350        "category": [
351            "qdisc",
352            "cake"
353        ],
354        "plugins": {
355            "requires": "nsPlugin"
356        },
357        "setup": [
358            "$IP link add dev $DUMMY type dummy || /bin/true"
359        ],
360        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root cake overhead 128 mpu 256",
361        "expExitCode": "0",
362        "verifyCmd": "$TC qdisc show dev $DUMMY",
363        "matchPattern": "qdisc cake 1: root refcnt [0-9]+ bandwidth unlimited diffserv3 triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms noatm overhead 128 mpu 256",
364        "matchCount": "1",
365        "teardown": [
366            "$TC qdisc del dev $DUMMY handle 1: root",
367            "$IP link del dev $DUMMY type dummy"
368        ]
369    },
370    {
371        "id": "5421",
372        "name": "Create CAKE with conservative and ingress flag",
373        "category": [
374            "qdisc",
375            "cake"
376        ],
377        "plugins": {
378            "requires": "nsPlugin"
379        },
380        "setup": [
381            "$IP link add dev $DUMMY type dummy || /bin/true"
382        ],
383        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root cake conservative ingress",
384        "expExitCode": "0",
385        "verifyCmd": "$TC qdisc show dev $DUMMY",
386        "matchPattern": "qdisc cake 1: root refcnt [0-9]+ bandwidth unlimited diffserv3 triple-isolate nonat nowash ingress no-ack-filter split-gso rtt 100ms atm overhead 48",
387        "matchCount": "1",
388        "teardown": [
389            "$TC qdisc del dev $DUMMY handle 1: root",
390            "$IP link del dev $DUMMY type dummy"
391        ]
392    },
393    {
394        "id": "6854",
395        "name": "Delete CAKE with conservative and ingress flag",
396        "category": [
397            "qdisc",
398            "cake"
399        ],
400        "plugins": {
401            "requires": "nsPlugin"
402        },
403        "setup": [
404            "$IP link add dev $DUMMY type dummy || /bin/true",
405            "$TC qdisc add dev $DUMMY handle 1: root cake conservative ingress"
406        ],
407        "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root",
408        "expExitCode": "0",
409        "verifyCmd": "$TC qdisc show dev $DUMMY",
410        "matchPattern": "qdisc cake 1: root refcnt [0-9]+ bandwidth unlimited diffserv3 triple-isolate nonat nowash ingress no-ack-filter split-gso rtt 100ms atm overhead 48",
411        "matchCount": "0",
412        "teardown": [
413            "$IP link del dev $DUMMY type dummy"
414        ]
415    },
416    {
417        "id": "2342",
418        "name": "Replace CAKE with mpu",
419        "category": [
420            "qdisc",
421            "cake"
422        ],
423        "plugins": {
424            "requires": "nsPlugin"
425        },
426        "setup": [
427            "$IP link add dev $DUMMY type dummy || /bin/true",
428            "$TC qdisc add dev $DUMMY handle 1: root cake overhead 128 mpu 256"
429        ],
430        "cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root cake mpu 128",
431        "expExitCode": "0",
432        "verifyCmd": "$TC qdisc show dev $DUMMY",
433        "matchPattern": "qdisc cake 1: root refcnt [0-9]+ bandwidth unlimited diffserv3 triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms noatm overhead 128 mpu 128",
434        "matchCount": "1",
435        "teardown": [
436            "$TC qdisc del dev $DUMMY handle 1: root",
437            "$IP link del dev $DUMMY type dummy"
438        ]
439    },
440    {
441        "id": "2313",
442        "name": "Change CAKE with mpu",
443        "category": [
444            "qdisc",
445            "cake"
446        ],
447        "plugins": {
448            "requires": "nsPlugin"
449        },
450        "setup": [
451            "$IP link add dev $DUMMY type dummy || /bin/true",
452            "$TC qdisc add dev $DUMMY handle 1: root cake overhead 128 mpu 256"
453        ],
454        "cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root cake mpu 128",
455        "expExitCode": "0",
456        "verifyCmd": "$TC qdisc show dev $DUMMY",
457        "matchPattern": "qdisc cake 1: root refcnt [0-9]+ bandwidth unlimited diffserv3 triple-isolate nonat nowash no-ack-filter split-gso rtt 100ms noatm overhead 128 mpu 128",
458        "matchCount": "1",
459        "teardown": [
460            "$TC qdisc del dev $DUMMY handle 1: root",
461            "$IP link del dev $DUMMY type dummy"
462        ]
463    },
464    {
465        "id": "4365",
466        "name": "Show CAKE class",
467        "category": [
468            "qdisc",
469            "cake"
470        ],
471        "plugins": {
472            "requires": "nsPlugin"
473        },
474        "setup": [
475            "$IP link add dev $DUMMY type dummy || /bin/true"
476        ],
477        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root cake",
478        "expExitCode": "0",
479        "verifyCmd": "$TC class show dev $DUMMY",
480        "matchPattern": "class cake",
481        "matchCount": "0",
482        "teardown": [
483            "$TC qdisc del dev $DUMMY handle 1: root",
484            "$IP link del dev $DUMMY type dummy"
485        ]
486    }
487]
488