4 "name": "Add bfifo qdisc with system default parameters on egress",
5 "__comment": "When omitted, queue size in bfifo is calculated as: txqueuelen * (MTU + LinkLayerHdrSize), where LinkLayerHdrSize=14 for Ethernet",
11 "$IP link add dev $DUMMY type dummy || /bin/true"
13 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root bfifo",
15 "verifyCmd": "$TC qdisc show dev $DUMMY",
16 "matchPattern": "qdisc bfifo 1: root.*limit [0-9]+b",
19 "$TC qdisc del dev $DUMMY handle 1: root bfifo",
20 "$IP link del dev $DUMMY type dummy"
25 "name": "Add pfifo qdisc with system default parameters on egress",
26 "__comment": "When omitted, queue size in pfifo is defaulted to the interface's txqueuelen value.",
32 "$IP link add dev $DUMMY type dummy || /bin/true"
34 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root pfifo",
36 "verifyCmd": "$TC qdisc show dev $DUMMY",
37 "matchPattern": "qdisc pfifo 1: root.*limit [0-9]+p",
40 "$TC qdisc del dev $DUMMY handle 1: root pfifo",
41 "$IP link del dev $DUMMY type dummy"
46 "name": "Add bfifo qdisc with system default parameters on egress with handle of maximum value",
52 "$IP link add dev $DUMMY type dummy || /bin/true"
54 "cmdUnderTest": "$TC qdisc add dev $DUMMY root handle ffff: bfifo",
56 "verifyCmd": "$TC qdisc show dev $DUMMY",
57 "matchPattern": "qdisc bfifo ffff: root.*limit [0-9]+b",
60 "$TC qdisc del dev $DUMMY handle ffff: root bfifo",
61 "$IP link del dev $DUMMY type dummy"
66 "name": "Add bfifo qdisc on egress with queue size of 3000 bytes",
72 "$IP link add dev $DUMMY type dummy || /bin/true"
74 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root bfifo limit 3000b",
76 "verifyCmd": "$TC qdisc show dev $DUMMY",
77 "matchPattern": "qdisc bfifo 1: root.*limit 3000b",
80 "$TC qdisc del dev $DUMMY handle 1: root bfifo",
81 "$IP link del dev $DUMMY type dummy"
86 "name": "Add pfifo qdisc on egress with queue size of 3000 packets",
92 "$IP link add dev $DUMMY txqueuelen 3000 type dummy || /bin/true"
94 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root pfifo limit 3000",
96 "verifyCmd": "$TC qdisc show dev $DUMMY",
97 "matchPattern": "qdisc pfifo 1: root.*limit 3000p",
100 "$TC qdisc del dev $DUMMY handle 1: root pfifo",
101 "$IP link del dev $DUMMY type dummy"
106 "name": "Add bfifo qdisc with system default parameters on egress with invalid handle exceeding maximum value",
112 "$IP link add dev $DUMMY type dummy || /bin/true"
114 "cmdUnderTest": "$TC qdisc add dev $DUMMY root handle 10000: bfifo",
115 "expExitCode": "255",
116 "verifyCmd": "$TC qdisc show dev $DUMMY",
117 "matchPattern": "qdisc bfifo 10000: root.*limit [0-9]+b",
120 "$IP link del dev $DUMMY type dummy"
125 "name": "Add bfifo qdisc on egress with unsupported argument",
131 "$IP link add dev $DUMMY type dummy || /bin/true"
133 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root bfifo foorbar",
135 "verifyCmd": "$TC qdisc show dev $DUMMY",
136 "matchPattern": "qdisc bfifo 1: root",
139 "$IP link del dev $DUMMY type dummy"
144 "name": "Add pfifo qdisc on egress with unsupported argument",
150 "$IP link add dev $DUMMY type dummy || /bin/true"
152 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root pfifo foorbar",
154 "verifyCmd": "$TC qdisc show dev $DUMMY",
155 "matchPattern": "qdisc pfifo 1: root",
158 "$IP link del dev $DUMMY type dummy"
163 "name": "Replace bfifo qdisc on egress with new queue size",
169 "$IP link del dev $DUMMY type dummy || /bin/true",
170 "$IP link add dev $DUMMY txqueuelen 1000 type dummy",
171 "$TC qdisc add dev $DUMMY handle 1: root bfifo"
173 "cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root bfifo limit 3000b",
175 "verifyCmd": "$TC qdisc show dev $DUMMY",
176 "matchPattern": "qdisc bfifo 1: root.*limit 3000b",
179 "$TC qdisc del dev $DUMMY handle 1: root bfifo",
180 "$IP link del dev $DUMMY type dummy"
185 "name": "Replace pfifo qdisc on egress with new queue size",
191 "$IP link del dev $DUMMY type dummy || /bin/true",
192 "$IP link add dev $DUMMY txqueuelen 1000 type dummy",
193 "$TC qdisc add dev $DUMMY handle 1: root pfifo"
195 "cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root pfifo limit 30",
197 "verifyCmd": "$TC qdisc show dev $DUMMY",
198 "matchPattern": "qdisc pfifo 1: root.*limit 30p",
201 "$TC qdisc del dev $DUMMY handle 1: root pfifo",
202 "$IP link del dev $DUMMY type dummy"
207 "name": "Add bfifo qdisc on egress with queue size in invalid format",
213 "$IP link add dev $DUMMY type dummy || /bin/true"
215 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root bfifo limit foo-bar",
217 "verifyCmd": "$TC qdisc show dev $DUMMY",
218 "matchPattern": "qdisc bfifo 1: root.*limit foo-bar",
221 "$IP link del dev $DUMMY type dummy"
226 "name": "Add duplicate bfifo qdisc on egress",
232 "$IP link add dev $DUMMY type dummy || /bin/true",
233 "$TC qdisc add dev $DUMMY handle 1: root bfifo"
235 "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root bfifo",
237 "verifyCmd": "$TC qdisc show dev $DUMMY",
238 "matchPattern": "qdisc bfifo 1: root",
241 "$TC qdisc del dev $DUMMY handle 1: root bfifo",
242 "$IP link del dev $DUMMY type dummy"
247 "name": "Delete nonexistent bfifo qdisc",
253 "$IP link add dev $DUMMY type dummy || /bin/true"
255 "cmdUnderTest": "$TC qdisc del dev $DUMMY root handle 1: bfifo",
257 "verifyCmd": "$TC qdisc show dev $DUMMY",
258 "matchPattern": "qdisc bfifo 1: root",
261 "$IP link del dev $DUMMY type dummy"
266 "name": "Add prio qdisc on egress with invalid format for handles",
272 "$IP link add dev $DUMMY type dummy || /bin/true"
274 "cmdUnderTest": "$TC qdisc add dev $DUMMY root handle 123^ bfifo limit 100b",
275 "expExitCode": "255",
276 "verifyCmd": "$TC qdisc show dev $DUMMY",
277 "matchPattern": "qdisc bfifo 123 root",
280 "$IP link del dev $DUMMY type dummy"
285 "name": "Delete bfifo qdisc twice",
291 "$IP link add dev $DUMMY type dummy || /bin/true",
292 "$TC qdisc add dev $DUMMY root handle 1: bfifo",
293 "$TC qdisc del dev $DUMMY root handle 1: bfifo"
295 "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root bfifo",
297 "verifyCmd": "$TC qdisc show dev $DUMMY",
298 "matchPattern": "qdisc bfifo 1: root",
301 "$IP link del dev $DUMMY type dummy"