|
158 | 158 | "$TC qdisc del dev $DUMMY handle 1: root", |
159 | 159 | "$IP addr del 10.10.10.10/24 dev $DUMMY || true" |
160 | 160 | ] |
| 161 | + }, |
| 162 | + { |
| 163 | + "id": "a4bb", |
| 164 | + "name": "Test FQ_CODEL with HTB parent - force packet drop with empty queue", |
| 165 | + "category": [ |
| 166 | + "qdisc", |
| 167 | + "fq_codel", |
| 168 | + "htb" |
| 169 | + ], |
| 170 | + "plugins": { |
| 171 | + "requires": "nsPlugin" |
| 172 | + }, |
| 173 | + "setup": [ |
| 174 | + "$IP link set dev $DUMMY up || true", |
| 175 | + "$IP addr add 10.10.10.10/24 dev $DUMMY || true", |
| 176 | + "$TC qdisc add dev $DUMMY handle 1: root htb default 10", |
| 177 | + "$TC class add dev $DUMMY parent 1: classid 1:10 htb rate 1kbit", |
| 178 | + "$TC qdisc add dev $DUMMY parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms", |
| 179 | + "$TC filter add dev $DUMMY parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10", |
| 180 | + "ping -c 5 -f -I $DUMMY 10.10.10.1 > /dev/null || true", |
| 181 | + "sleep 0.1" |
| 182 | + ], |
| 183 | + "cmdUnderTest": "$TC -s qdisc show dev $DUMMY", |
| 184 | + "expExitCode": "0", |
| 185 | + "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc fq_codel'", |
| 186 | + "matchPattern": "dropped [1-9][0-9]*", |
| 187 | + "matchCount": "1", |
| 188 | + "teardown": [ |
| 189 | + "$TC qdisc del dev $DUMMY handle 1: root", |
| 190 | + "$IP addr del 10.10.10.10/24 dev $DUMMY || true" |
| 191 | + ] |
| 192 | + }, |
| 193 | + { |
| 194 | + "id": "a4be", |
| 195 | + "name": "Test FQ_CODEL with QFQ parent - force packet drop with empty queue", |
| 196 | + "category": [ |
| 197 | + "qdisc", |
| 198 | + "fq_codel", |
| 199 | + "qfq" |
| 200 | + ], |
| 201 | + "plugins": { |
| 202 | + "requires": "nsPlugin" |
| 203 | + }, |
| 204 | + "setup": [ |
| 205 | + "$IP link set dev $DUMMY up || true", |
| 206 | + "$IP addr add 10.10.10.10/24 dev $DUMMY || true", |
| 207 | + "$TC qdisc add dev $DUMMY handle 1: root qfq", |
| 208 | + "$TC class add dev $DUMMY parent 1: classid 1:10 qfq weight 1 maxpkt 1000", |
| 209 | + "$TC qdisc add dev $DUMMY parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms", |
| 210 | + "$TC filter add dev $DUMMY parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10", |
| 211 | + "ping -c 10 -s 1000 -f -I $DUMMY 10.10.10.1 > /dev/null || true", |
| 212 | + "sleep 0.1" |
| 213 | + ], |
| 214 | + "cmdUnderTest": "$TC -s qdisc show dev $DUMMY", |
| 215 | + "expExitCode": "0", |
| 216 | + "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc fq_codel'", |
| 217 | + "matchPattern": "dropped [1-9][0-9]*", |
| 218 | + "matchCount": "1", |
| 219 | + "teardown": [ |
| 220 | + "$TC qdisc del dev $DUMMY handle 1: root", |
| 221 | + "$IP addr del 10.10.10.10/24 dev $DUMMY || true" |
| 222 | + ] |
| 223 | + }, |
| 224 | + { |
| 225 | + "id": "a4bf", |
| 226 | + "name": "Test FQ_CODEL with HFSC parent - force packet drop with empty queue", |
| 227 | + "category": [ |
| 228 | + "qdisc", |
| 229 | + "fq_codel", |
| 230 | + "hfsc" |
| 231 | + ], |
| 232 | + "plugins": { |
| 233 | + "requires": "nsPlugin" |
| 234 | + }, |
| 235 | + "setup": [ |
| 236 | + "$IP link set dev $DUMMY up || true", |
| 237 | + "$IP addr add 10.10.10.10/24 dev $DUMMY || true", |
| 238 | + "$TC qdisc add dev $DUMMY handle 1: root hfsc default 10", |
| 239 | + "$TC class add dev $DUMMY parent 1: classid 1:10 hfsc sc rate 1kbit ul rate 1kbit", |
| 240 | + "$TC qdisc add dev $DUMMY parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms", |
| 241 | + "$TC filter add dev $DUMMY parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10", |
| 242 | + "ping -c 5 -f -I $DUMMY 10.10.10.1 > /dev/null || true", |
| 243 | + "sleep 0.1" |
| 244 | + ], |
| 245 | + "cmdUnderTest": "$TC -s qdisc show dev $DUMMY", |
| 246 | + "expExitCode": "0", |
| 247 | + "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc fq_codel'", |
| 248 | + "matchPattern": "dropped [1-9][0-9]*", |
| 249 | + "matchCount": "1", |
| 250 | + "teardown": [ |
| 251 | + "$TC qdisc del dev $DUMMY handle 1: root", |
| 252 | + "$IP addr del 10.10.10.10/24 dev $DUMMY || true" |
| 253 | + ] |
| 254 | + }, |
| 255 | + { |
| 256 | + "id": "a4c0", |
| 257 | + "name": "Test FQ_CODEL with DRR parent - force packet drop with empty queue", |
| 258 | + "category": [ |
| 259 | + "qdisc", |
| 260 | + "fq_codel", |
| 261 | + "drr" |
| 262 | + ], |
| 263 | + "plugins": { |
| 264 | + "requires": "nsPlugin" |
| 265 | + }, |
| 266 | + "setup": [ |
| 267 | + "$IP link set dev $DUMMY up || true", |
| 268 | + "$IP addr add 10.10.10.10/24 dev $DUMMY || true", |
| 269 | + "$TC qdisc add dev $DUMMY handle 1: root drr", |
| 270 | + "$TC class add dev $DUMMY parent 1: classid 1:10 drr quantum 1500", |
| 271 | + "$TC qdisc add dev $DUMMY parent 1:10 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms", |
| 272 | + "$TC filter add dev $DUMMY parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:10", |
| 273 | + "ping -c 5 -f -I $DUMMY 10.10.10.1 > /dev/null || true", |
| 274 | + "sleep 0.1" |
| 275 | + ], |
| 276 | + "cmdUnderTest": "$TC -s qdisc show dev $DUMMY", |
| 277 | + "expExitCode": "0", |
| 278 | + "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc fq_codel'", |
| 279 | + "matchPattern": "dropped [1-9][0-9]*", |
| 280 | + "matchCount": "1", |
| 281 | + "teardown": [ |
| 282 | + "$TC qdisc del dev $DUMMY handle 1: root", |
| 283 | + "$IP addr del 10.10.10.10/24 dev $DUMMY || true" |
| 284 | + ] |
| 285 | + }, |
| 286 | + { |
| 287 | + "id": "a4c1", |
| 288 | + "name": "Test FQ_CODEL with ETS parent - force packet drop with empty queue", |
| 289 | + "category": [ |
| 290 | + "qdisc", |
| 291 | + "fq_codel", |
| 292 | + "ets" |
| 293 | + ], |
| 294 | + "plugins": { |
| 295 | + "requires": "nsPlugin" |
| 296 | + }, |
| 297 | + "setup": [ |
| 298 | + "$IP link set dev $DUMMY up || true", |
| 299 | + "$IP addr add 10.10.10.10/24 dev $DUMMY || true", |
| 300 | + "$TC qdisc add dev $DUMMY handle 1: root ets bands 2 strict 1", |
| 301 | + "$TC class change dev $DUMMY parent 1: classid 1:1 ets", |
| 302 | + "$TC qdisc add dev $DUMMY parent 1:1 handle 10: fq_codel memory_limit 1 flows 1 target 0.1ms interval 1ms", |
| 303 | + "$TC filter add dev $DUMMY parent 1: protocol ip prio 1 u32 match ip protocol 1 0xff flowid 1:1", |
| 304 | + "ping -c 5 -f -I $DUMMY 10.10.10.1 > /dev/null || true", |
| 305 | + "sleep 0.1" |
| 306 | + ], |
| 307 | + "cmdUnderTest": "$TC -s qdisc show dev $DUMMY", |
| 308 | + "expExitCode": "0", |
| 309 | + "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc fq_codel'", |
| 310 | + "matchPattern": "dropped [1-9][0-9]*", |
| 311 | + "matchCount": "1", |
| 312 | + "teardown": [ |
| 313 | + "$TC qdisc del dev $DUMMY handle 1: root", |
| 314 | + "$IP addr del 10.10.10.10/24 dev $DUMMY || true" |
| 315 | + ] |
161 | 316 | } |
162 | 317 | ] |
0 commit comments