xref: /linux/tools/testing/selftests/tc-testing/tc-tests/qdiscs/codel.json (revision ff9b465ddb95d7842282998348df88ff55f62c4a)
1[
2    {
3        "id": "983a",
4        "name": "Create CODEL with default setting",
5        "category": [
6            "qdisc",
7            "codel"
8        ],
9        "plugins": {
10            "requires": "nsPlugin"
11        },
12        "setup": [
13        ],
14        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel",
15        "expExitCode": "0",
16        "verifyCmd": "$TC qdisc show dev $DUMMY",
17        "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 5ms interval 100ms",
18        "matchCount": "1",
19        "teardown": [
20            "$TC qdisc del dev $DUMMY handle 1: root"
21        ]
22    },
23    {
24        "id": "38aa",
25        "name": "Create CODEL with limit packet setting",
26        "category": [
27            "qdisc",
28            "codel"
29        ],
30        "plugins": {
31            "requires": "nsPlugin"
32        },
33        "setup": [
34        ],
35        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel limit 1500",
36        "expExitCode": "0",
37        "verifyCmd": "$TC qdisc show dev $DUMMY",
38        "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1500p target 5ms interval 100ms",
39        "matchCount": "1",
40        "teardown": [
41            "$TC qdisc del dev $DUMMY handle 1: root"
42        ]
43    },
44    {
45        "id": "9178",
46        "name": "Create CODEL with target setting",
47        "category": [
48            "qdisc",
49            "codel"
50        ],
51        "plugins": {
52            "requires": "nsPlugin"
53        },
54        "setup": [
55        ],
56        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel target 100ms",
57        "expExitCode": "0",
58        "verifyCmd": "$TC qdisc show dev $DUMMY",
59        "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 100ms interval 100ms",
60        "matchCount": "1",
61        "teardown": [
62            "$TC qdisc del dev $DUMMY handle 1: root"
63        ]
64    },
65    {
66        "id": "78d1",
67        "name": "Create CODEL with interval setting",
68        "category": [
69            "qdisc",
70            "codel"
71        ],
72        "plugins": {
73            "requires": "nsPlugin"
74        },
75        "setup": [
76        ],
77        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel interval 20ms",
78        "expExitCode": "0",
79        "verifyCmd": "$TC qdisc show dev $DUMMY",
80        "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 5ms interval 20ms",
81        "matchCount": "1",
82        "teardown": [
83            "$TC qdisc del dev $DUMMY handle 1: root"
84        ]
85    },
86    {
87        "id": "238a",
88        "name": "Create CODEL with ecn setting",
89        "category": [
90            "qdisc",
91            "codel"
92        ],
93        "plugins": {
94            "requires": "nsPlugin"
95        },
96        "setup": [
97        ],
98        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel ecn",
99        "expExitCode": "0",
100        "verifyCmd": "$TC qdisc show dev $DUMMY",
101        "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 5ms interval 100ms ecn",
102        "matchCount": "1",
103        "teardown": [
104            "$TC qdisc del dev $DUMMY handle 1: root"
105        ]
106    },
107    {
108        "id": "939c",
109        "name": "Create CODEL with ce_threshold setting",
110        "category": [
111            "qdisc",
112            "codel"
113        ],
114        "plugins": {
115            "requires": "nsPlugin"
116        },
117        "setup": [
118        ],
119        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel ce_threshold 20ms",
120        "expExitCode": "0",
121        "verifyCmd": "$TC qdisc show dev $DUMMY",
122        "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 5ms ce_threshold 20ms interval 100ms",
123        "matchCount": "1",
124        "teardown": [
125            "$TC qdisc del dev $DUMMY handle 1: root"
126        ]
127    },
128    {
129        "id": "8380",
130        "name": "Delete CODEL with valid handle",
131        "category": [
132            "qdisc",
133            "codel"
134        ],
135        "plugins": {
136            "requires": "nsPlugin"
137        },
138        "setup": [
139            "$TC qdisc add dev $DUMMY handle 1: root codel"
140        ],
141        "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root",
142        "expExitCode": "0",
143        "verifyCmd": "$TC qdisc show dev $DUMMY",
144        "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 5ms interval 100ms",
145        "matchCount": "0",
146        "teardown": [
147        ]
148    },
149    {
150        "id": "289c",
151        "name": "Replace CODEL with limit setting",
152        "category": [
153            "qdisc",
154            "codel"
155        ],
156        "plugins": {
157            "requires": "nsPlugin"
158        },
159        "setup": [
160            "$TC qdisc add dev $DUMMY handle 1: root codel"
161        ],
162        "cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root codel limit 5000",
163        "expExitCode": "0",
164        "verifyCmd": "$TC qdisc show dev $DUMMY",
165        "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 5000p target 5ms interval 100ms",
166        "matchCount": "1",
167        "teardown": [
168            "$TC qdisc del dev $DUMMY handle 1: root"
169        ]
170    },
171    {
172        "id": "0648",
173        "name": "Change CODEL with limit setting",
174        "category": [
175            "qdisc",
176            "codel"
177        ],
178        "plugins": {
179            "requires": "nsPlugin"
180        },
181        "setup": [
182            "$TC qdisc add dev $DUMMY handle 1: root codel"
183        ],
184        "cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root codel limit 100",
185        "expExitCode": "0",
186        "verifyCmd": "$TC qdisc show dev $DUMMY",
187        "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 100p target 5ms interval 100ms",
188        "matchCount": "1",
189        "teardown": [
190            "$TC qdisc del dev $DUMMY handle 1: root"
191        ]
192    },
193    {
194        "id": "deb1",
195        "name": "CODEL test qdisc limit trimming",
196        "category": ["qdisc", "codel"],
197        "plugins": {
198            "requires": ["nsPlugin", "scapyPlugin"]
199        },
200        "setup": [
201            "$TC qdisc add dev $DEV1 handle 1: root codel limit 10"
202        ],
203        "scapy": [
204            {
205                "iface": "$DEV0",
206                "count": 10,
207                "packet": "Ether(type=0x800)/IP(src='10.0.0.10',dst='10.0.0.20')/TCP(sport=5000,dport=10)"
208            }
209        ],
210        "cmdUnderTest": "$TC qdisc change dev $DEV1 handle 1: root codel limit 1",
211        "expExitCode": "0",
212        "verifyCmd": "$TC qdisc show dev $DEV1",
213        "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1p target 5ms interval 100ms",
214        "matchCount": "1",
215        "teardown": ["$TC qdisc del dev $DEV1 handle 1: root"]
216    },
217    {
218        "id": "6e44",
219        "name": "Create CODEL with 1us interval, accepted (sub-tick, uAPI locked)",
220        "category": [
221            "qdisc",
222            "codel"
223        ],
224        "plugins": {
225            "requires": "nsPlugin"
226        },
227        "setup": [],
228        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel interval 1us",
229        "expExitCode": "0",
230        "verifyCmd": "$TC qdisc show dev $DUMMY",
231        "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 5ms interval 0us",
232        "matchCount": "1",
233        "teardown": ["$TC qdisc del dev $DUMMY handle 1: root"]
234    },
235    {
236        "id": "a8c3",
237        "name": "Create CODEL with 3us interval, accepted (two ticks)",
238        "category": [
239            "qdisc",
240            "codel"
241        ],
242        "plugins": {
243            "requires": "nsPlugin"
244        },
245        "setup": [],
246        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel interval 3us",
247        "expExitCode": "0",
248        "verifyCmd": "$TC qdisc show dev $DUMMY",
249        "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 5ms interval 2us",
250        "matchCount": "1",
251        "teardown": ["$TC qdisc del dev $DUMMY handle 1: root"]
252    },
253    {
254        "id": "a695",
255        "name": "Create CODEL with 1024us interval boundary accepted",
256        "category": [
257            "qdisc",
258            "codel"
259        ],
260        "plugins": {
261            "requires": "nsPlugin"
262        },
263        "setup": [],
264        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel interval 1024us",
265        "expExitCode": "0",
266        "verifyCmd": "$TC qdisc show dev $DUMMY",
267        "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 5ms interval 1.02ms",
268        "matchCount": "1",
269        "teardown": ["$TC qdisc del dev $DUMMY handle 1: root"]
270    },
271    {
272        "id": "9793",
273        "name": "Create CODEL with 1us target, accepted (target not in control law)",
274        "category": [
275            "qdisc",
276            "codel"
277        ],
278        "plugins": {
279            "requires": "nsPlugin"
280        },
281        "setup": [],
282        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root codel target 1us",
283        "expExitCode": "0",
284        "verifyCmd": "$TC qdisc show dev $DUMMY",
285        "matchPattern": "qdisc codel 1: root refcnt [0-9]+ limit 1000p target 0us interval 100ms",
286        "matchCount": "1",
287        "teardown": ["$TC qdisc del dev $DUMMY handle 1: root"]
288    }
289]
290