[ { "id": "ca5e", "name": "Check class delete notification for ffff:", "category": [ "qdisc" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "$IP link set dev $DUMMY up || true", "$IP addr add 10.10.10.10/24 dev $DUMMY || true", "$TC qdisc add dev $DUMMY root handle 1: drr", "$TC filter add dev $DUMMY parent 1: basic classid 1:1", "$TC class add dev $DUMMY parent 1: classid 1:1 drr", "$TC qdisc add dev $DUMMY parent 1:1 handle ffff: drr", "$TC filter add dev $DUMMY parent ffff: basic classid ffff:1", "$TC class add dev $DUMMY parent ffff: classid ffff:1 drr", "$TC qdisc add dev $DUMMY parent ffff:1 netem delay 1s", "ping -c1 -W0.01 -I $DUMMY 10.10.10.1 || true", "$TC class del dev $DUMMY classid ffff:1", "$TC class add dev $DUMMY parent ffff: classid ffff:1 drr" ], "cmdUnderTest": "ping -c1 -W0.01 -I $DUMMY 10.10.10.1", "expExitCode": "1", "verifyCmd": "$TC -s qdisc ls dev $DUMMY", "matchPattern": "drr 1: root", "matchCount": "1", "teardown": [ "$TC qdisc del dev $DUMMY root handle 1: drr", "$IP addr del 10.10.10.10/24 dev $DUMMY" ] }, { "id": "e4b7", "name": "Check class delete notification for root ffff:", "category": [ "qdisc" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "$IP link set dev $DUMMY up || true", "$IP addr add 10.10.10.10/24 dev $DUMMY || true", "$TC qdisc add dev $DUMMY root handle ffff: drr", "$TC filter add dev $DUMMY parent ffff: basic classid ffff:1", "$TC class add dev $DUMMY parent ffff: classid ffff:1 drr", "$TC qdisc add dev $DUMMY parent ffff:1 netem delay 1s", "ping -c1 -W0.01 -I $DUMMY 10.10.10.1 || true", "$TC class del dev $DUMMY classid ffff:1", "$TC class add dev $DUMMY parent ffff: classid ffff:1 drr" ], "cmdUnderTest": "ping -c1 -W0.01 -I $DUMMY 10.10.10.1", "expExitCode": "1", "verifyCmd": "$TC qdisc ls dev $DUMMY", "matchPattern": "drr ffff: root", "matchCount": "1", "teardown": [ "$TC qdisc del dev $DUMMY root handle ffff: drr", "$IP addr del 10.10.10.10/24 dev $DUMMY" ] }, { "id": "33a9", "name": "Check ingress is not searchable on backlog update", "category": [ "qdisc" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "$IP link set dev $DUMMY up || true", "$IP addr add 10.10.10.10/24 dev $DUMMY || true", "$TC qdisc add dev $DUMMY ingress", "$TC qdisc add dev $DUMMY root handle 1: drr", "$TC filter add dev $DUMMY parent 1: basic classid 1:1", "$TC class add dev $DUMMY parent 1: classid 1:1 drr", "$TC qdisc add dev $DUMMY parent 1:1 handle 2: drr", "$TC filter add dev $DUMMY parent 2: basic classid 2:1", "$TC class add dev $DUMMY parent 2: classid 2:1 drr", "$TC qdisc add dev $DUMMY parent 2:1 netem delay 1s", "ping -c1 -W0.01 -I $DUMMY 10.10.10.1 || true" ], "cmdUnderTest": "$TC class del dev $DUMMY classid 2:1", "expExitCode": "0", "verifyCmd": "$TC qdisc ls dev $DUMMY", "matchPattern": "drr 1: root", "matchCount": "1", "teardown": [ "$TC qdisc del dev $DUMMY root handle 1: drr", "$TC qdisc del dev $DUMMY ingress", "$IP addr del 10.10.10.10/24 dev $DUMMY" ] }, { "id": "a4b9", "name": "Test class qlen notification", "category": [ "qdisc" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "$IP link set dev $DUMMY up || true", "$IP addr add 10.10.10.10/24 dev $DUMMY || true", "$TC qdisc add dev $DUMMY root handle 1: drr", "$TC filter add dev $DUMMY parent 1: basic classid 1:1", "$TC class add dev $DUMMY parent 1: classid 1:1 drr", "$TC qdisc add dev $DUMMY parent 1:1 handle 2: netem", "$TC qdisc add dev $DUMMY parent 2: handle 3: drr", "$TC filter add dev $DUMMY parent 3: basic action drop", "$TC class add dev $DUMMY parent 3: classid 3:1 drr", "$TC class del dev $DUMMY classid 1:1", "$TC class add dev $DUMMY parent 1: classid 1:1 drr" ], "cmdUnderTest": "ping -c1 -W0.01 -I $DUMMY 10.10.10.1", "expExitCode": "1", "verifyCmd": "$TC qdisc ls dev $DUMMY", "matchPattern": "drr 1: root", "matchCount": "1", "teardown": [ "$TC qdisc del dev $DUMMY root handle 1: drr", "$IP addr del 10.10.10.10/24 dev $DUMMY" ] }, { "id": "c024", "name": "Test TBF with SKBPRIO - catch qlen corner cases", "category": [ "qdisc", "tbf", "skbprio" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "$IP link set dev $DUMMY up || true", "$IP addr add 10.10.10.10/24 dev $DUMMY || true", "$TC qdisc add dev $DUMMY handle 1: root tbf rate 100bit burst 2000 limit 1000", "$TC qdisc add dev $DUMMY parent 1: handle 10: skbprio limit 1", "ping -c 1 -W 0.1 -Q 0x00 -s 1400 -I $DUMMY 10.10.10.1 > /dev/null || true", "ping -c 1 -W 0.1 -Q 0x1c -s 1400 -I $DUMMY 10.10.10.1 > /dev/null || true", "ping -c 1 -W 0.1 -Q 0x00 -s 1400 -I $DUMMY 10.10.10.1 > /dev/null || true", "ping -c 1 -W 0.1 -Q 0x1c -s 1400 -I $DUMMY 10.10.10.1 > /dev/null || true", "sleep 0.5" ], "cmdUnderTest": "$TC -s qdisc show dev $DUMMY", "expExitCode": "0", "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc skbprio'", "matchPattern": "dropped [1-9][0-9]*", "matchCount": "1", "teardown": [ "$TC qdisc del dev $DUMMY handle 1: root", "$IP addr del 10.10.10.10/24 dev $DUMMY || true" ] } ]