[ { "id": "ba39", "name": "Add taprio Qdisc to multi-queue device (8 queues)", "category": [ "qdisc", "taprio" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "echo \"1 1 8\" > /sys/bus/netdevsim/new_device" ], "cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-time 1000000000 sched-entry S 01 300000 flags 0x1 clockid CLOCK_TAI", "expExitCode": "0", "verifyCmd": "$TC qdisc show dev $ETH", "matchPattern": "qdisc taprio 1: root refcnt [0-9]+ tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2", "matchCount": "1", "teardown": [ "echo \"1\" > /sys/bus/netdevsim/del_device" ] }, { "id": "9462", "name": "Add taprio Qdisc with multiple sched-entry", "category": [ "qdisc", "taprio" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "echo \"1 1 8\" > /sys/bus/netdevsim/new_device" ], "cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-time 1000000000 sched-entry S 01 300000 sched-entry S 03 300000 sched-entry S 04 400000 flags 0x1 clockid CLOCK_TAI", "expExitCode": "0", "verifyCmd": "$TC qdisc show dev $ETH", "matchPattern": "index [0-9]+ cmd S gatemask 0x[0-9]+ interval [0-9]+00000", "matchCount": "3", "teardown": [ "echo \"1\" > /sys/bus/netdevsim/del_device" ] }, { "id": "8d92", "name": "Add taprio Qdisc with txtime-delay", "category": [ "qdisc", "taprio" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "echo \"1 1 8\" > /sys/bus/netdevsim/new_device" ], "cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-time 1000000000 sched-entry S 01 300000 flags 0x1 txtime-delay 500000 clockid CLOCK_TAI", "expExitCode": "0", "verifyCmd": "$TC qdisc show dev $ETH", "matchPattern": "clockid TAI flags 0x1 txtime delay 500000", "matchCount": "1", "teardown": [ "echo \"1\" > /sys/bus/netdevsim/del_device" ] }, { "id": "d092", "name": "Delete taprio Qdisc with valid handle", "category": [ "qdisc", "taprio" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "echo \"1 1 8\" > /sys/bus/netdevsim/new_device", "$TC qdisc add dev $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-time 1000000000 sched-entry S 01 300000 flags 0x1 clockid CLOCK_TAI" ], "cmdUnderTest": "$TC qdisc del dev $ETH root handle 1:", "expExitCode": "0", "verifyCmd": "$TC qdisc show dev $ETH", "matchPattern": "qdisc taprio 1: root refcnt", "matchCount": "0", "teardown": [ "echo \"1\" > /sys/bus/netdevsim/del_device" ] }, { "id": "8471", "name": "Show taprio class", "category": [ "qdisc", "taprio" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "echo \"1 1 8\" > /sys/bus/netdevsim/new_device" ], "cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-time 1000000000 sched-entry S 01 300000 flags 0x1 clockid CLOCK_TAI", "expExitCode": "0", "verifyCmd": "$TC class show dev $ETH", "matchPattern": "class taprio 1:[0-9]+ root", "matchCount": "8", "teardown": [ "echo \"1\" > /sys/bus/netdevsim/del_device" ] }, { "id": "0a85", "name": "Add taprio Qdisc to single-queue device", "category": [ "qdisc", "taprio" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "echo \"1 1\" > /sys/bus/netdevsim/new_device" ], "cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-time 1000000000 sched-entry S 01 300000 flags 0x1 clockid CLOCK_TAI", "expExitCode": "2", "verifyCmd": "$TC qdisc show dev $ETH", "matchPattern": "qdisc taprio 1: root refcnt", "matchCount": "0", "teardown": [ "echo \"1\" > /sys/bus/netdevsim/del_device" ] }, { "id": "3e1e", "name": "Add taprio Qdisc with an invalid cycle-time", "category": [ "qdisc", "taprio" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "echo \"1 1 8\" > /sys/bus/netdevsim/new_device", "$TC qdisc add dev $ETH root handle 1: taprio num_tc 3 map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 queues 1@0 1@0 1@0 base-time 1000000000 sched-entry S 01 300000 flags 0x1 clockid CLOCK_TAI cycle-time 4294967296 || /bin/true", "$IP link set dev $ETH up", "$IP addr add 10.10.10.10/24 dev $ETH" ], "cmdUnderTest": "/bin/true", "expExitCode": "0", "verifyCmd": "$TC qdisc show dev $ETH", "matchPattern": "qdisc taprio 1: root refcnt", "matchCount": "0", "teardown": [ "echo \"1\" > /sys/bus/netdevsim/del_device" ] }, { "id": "39b4", "name": "Reject grafting taprio as child qdisc of software taprio", "category": [ "qdisc", "taprio" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "echo \"1 1 8\" > /sys/bus/netdevsim/new_device", "$TC qdisc replace dev $ETH handle 8001: parent root stab overhead 24 taprio num_tc 8 map 0 1 2 3 4 5 6 7 queues 1@0 1@1 1@2 1@3 1@4 1@5 1@6 1@7 base-time 0 sched-entry S ff 20000000 clockid CLOCK_TAI", "./taprio_wait_for_admin.sh $TC $ETH" ], "cmdUnderTest": "$TC qdisc replace dev $ETH parent 8001:7 taprio num_tc 8 map 0 1 2 3 4 5 6 7 queues 1@0 1@1 1@2 1@3 1@4 1@5 1@6 1@7 base-time 200 sched-entry S ff 20000000 clockid CLOCK_TAI", "expExitCode": "2", "verifyCmd": "bash -c \"./taprio_wait_for_admin.sh $TC $ETH && $TC -j qdisc show dev $ETH root | jq '.[].options.base_time'\"", "matchPattern": "0", "matchCount": "1", "teardown": [ "$TC qdisc del dev $ETH root", "echo \"1\" > /sys/bus/netdevsim/del_device" ] }, { "id": "e8a1", "name": "Reject grafting taprio as child qdisc of offloaded taprio", "category": [ "qdisc", "taprio" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "echo \"1 1 8\" > /sys/bus/netdevsim/new_device", "$TC qdisc replace dev $ETH handle 8001: parent root stab overhead 24 taprio num_tc 8 map 0 1 2 3 4 5 6 7 queues 1@0 1@1 1@2 1@3 1@4 1@5 1@6 1@7 base-time 0 sched-entry S ff 20000000 flags 0x2", "./taprio_wait_for_admin.sh $TC $ETH" ], "cmdUnderTest": "$TC qdisc replace dev $ETH parent 8001:7 taprio num_tc 8 map 0 1 2 3 4 5 6 7 queues 1@0 1@1 1@2 1@3 1@4 1@5 1@6 1@7 base-time 200 sched-entry S ff 20000000 flags 0x2", "expExitCode": "2", "verifyCmd": "bash -c \"./taprio_wait_for_admin.sh $TC $ETH && $TC -j qdisc show dev $ETH root | jq '.[].options.base_time'\"", "matchPattern": "0", "matchCount": "1", "teardown": [ "$TC qdisc del dev $ETH root", "echo \"1\" > /sys/bus/netdevsim/del_device" ] }, { "id": "a7bf", "name": "Graft cbs as child of software taprio", "category": [ "qdisc", "taprio", "cbs" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "echo \"1 1 8\" > /sys/bus/netdevsim/new_device", "$TC qdisc replace dev $ETH handle 8001: parent root stab overhead 24 taprio num_tc 8 map 0 1 2 3 4 5 6 7 queues 1@0 1@1 1@2 1@3 1@4 1@5 1@6 1@7 base-time 0 sched-entry S ff 20000000 clockid CLOCK_TAI" ], "cmdUnderTest": "$TC qdisc replace dev $ETH handle 8002: parent 8001:8 cbs idleslope 20000 sendslope -980000 hicredit 30 locredit -1470", "expExitCode": "0", "verifyCmd": "$TC -d qdisc show dev $ETH", "matchPattern": "qdisc cbs 8002: parent 8001:8 hicredit 30 locredit -1470 sendslope -980000 idleslope 20000 offload 0", "matchCount": "1", "teardown": [ "$TC qdisc del dev $ETH root", "echo \"1\" > /sys/bus/netdevsim/del_device" ] }, { "id": "6a83", "name": "Graft cbs as child of offloaded taprio", "category": [ "qdisc", "taprio", "cbs" ], "plugins": { "requires": "nsPlugin" }, "setup": [ "echo \"1 1 8\" > /sys/bus/netdevsim/new_device", "$TC qdisc replace dev $ETH handle 8001: parent root stab overhead 24 taprio num_tc 8 map 0 1 2 3 4 5 6 7 queues 1@0 1@1 1@2 1@3 1@4 1@5 1@6 1@7 base-time 0 sched-entry S ff 20000000 flags 0x2" ], "cmdUnderTest": "$TC qdisc replace dev $ETH handle 8002: parent 8001:8 cbs idleslope 20000 sendslope -980000 hicredit 30 locredit -1470", "expExitCode": "0", "verifyCmd": "$TC -d qdisc show dev $ETH", "matchPattern": "qdisc cbs 8002: parent 8001:8 refcnt 2 hicredit 30 locredit -1470 sendslope -980000 idleslope 20000 offload 0", "matchCount": "1", "teardown": [ "$TC qdisc del dev $ETH root", "echo \"1\" > /sys/bus/netdevsim/del_device" ] } ]