| [ |
| { |
| "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" |
| ] |
| } |
| ] |