selftests/tc-testing: add qdisc hierarchy depth tests

Add tdc coverage for the qdisc hierarchy depth limit.

The tests verify that the deepest allowed hierarchy can still be created
and that adding another child qdisc below it is rejected.

Signed-off-by: Zijie Huang <milkory@outlook.com>
Assisted-by: Codex:gpt-5.4
Signed-off-by: Ren Wei <enjou1224z@gmail.com>
Reviewed-by: Victor Nogueira <victor@mojatatu.com>
Link: https://patch.msgid.link/5cc2d26a7c8e553759cdd29a3116f843fabc25ba.1785434373.git.milkory@outlook.com
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
Zijie Huang
2026-08-01 21:42:34 +08:00
committed by Paolo Abeni
parent dedd34b0f2
commit d8eb9a06b9

View File

@@ -0,0 +1,74 @@
[
{
"id": "ad43",
"name": "Create qdisc hierarchy at maximum depth",
"category": [
"qdisc",
"depth"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
"$TC qdisc add dev $DUMMY root handle 1: htb default 1",
"$TC class add dev $DUMMY parent 1: classid 1:1 htb rate 10mbit",
"$TC qdisc add dev $DUMMY parent 1:1 handle 2: htb default 1",
"$TC class add dev $DUMMY parent 2: classid 2:1 htb rate 10mbit",
"$TC qdisc add dev $DUMMY parent 2:1 handle 3: htb default 1",
"$TC class add dev $DUMMY parent 3: classid 3:1 htb rate 10mbit",
"$TC qdisc add dev $DUMMY parent 3:1 handle 4: htb default 1",
"$TC class add dev $DUMMY parent 4: classid 4:1 htb rate 10mbit",
"$TC qdisc add dev $DUMMY parent 4:1 handle 5: htb default 1",
"$TC class add dev $DUMMY parent 5: classid 5:1 htb rate 10mbit",
"$TC qdisc add dev $DUMMY parent 5:1 handle 6: htb default 1",
"$TC class add dev $DUMMY parent 6: classid 6:1 htb rate 10mbit",
"$TC qdisc add dev $DUMMY parent 6:1 handle 7: htb default 1",
"$TC class add dev $DUMMY parent 7: classid 7:1 htb rate 10mbit"
],
"cmdUnderTest": "$TC qdisc add dev $DUMMY parent 7:1 handle 8: htb default 1",
"expExitCode": "0",
"verifyCmd": "$TC qdisc show dev $DUMMY",
"matchPattern": "qdisc htb 8: parent 7:1",
"matchCount": "1",
"teardown": [
"$TC qdisc del dev $DUMMY root"
]
},
{
"id": "c519",
"name": "Reject qdisc hierarchy above maximum depth",
"category": [
"qdisc",
"depth"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
"$TC qdisc add dev $DUMMY root handle 1: htb default 1",
"$TC class add dev $DUMMY parent 1: classid 1:1 htb rate 10mbit",
"$TC qdisc add dev $DUMMY parent 1:1 handle 2: htb default 1",
"$TC class add dev $DUMMY parent 2: classid 2:1 htb rate 10mbit",
"$TC qdisc add dev $DUMMY parent 2:1 handle 3: htb default 1",
"$TC class add dev $DUMMY parent 3: classid 3:1 htb rate 10mbit",
"$TC qdisc add dev $DUMMY parent 3:1 handle 4: htb default 1",
"$TC class add dev $DUMMY parent 4: classid 4:1 htb rate 10mbit",
"$TC qdisc add dev $DUMMY parent 4:1 handle 5: htb default 1",
"$TC class add dev $DUMMY parent 5: classid 5:1 htb rate 10mbit",
"$TC qdisc add dev $DUMMY parent 5:1 handle 6: htb default 1",
"$TC class add dev $DUMMY parent 6: classid 6:1 htb rate 10mbit",
"$TC qdisc add dev $DUMMY parent 6:1 handle 7: htb default 1",
"$TC class add dev $DUMMY parent 7: classid 7:1 htb rate 10mbit",
"$TC qdisc add dev $DUMMY parent 7:1 handle 8: htb default 1",
"$TC class add dev $DUMMY parent 8: classid 8:1 htb rate 10mbit"
],
"cmdUnderTest": "$TC qdisc add dev $DUMMY parent 8:1 handle 9: htb default 1",
"expExitCode": "2",
"verifyCmd": "$TC qdisc show dev $DUMMY",
"matchPattern": "qdisc htb 9:",
"matchCount": "0",
"teardown": [
"$TC qdisc del dev $DUMMY root"
]
}
]