Skip to content

Commit

Permalink
tc-testing: Add control-plane selftests for sch_mq
Browse files Browse the repository at this point in the history
Recently we added multi-queue support to netdevsim in commit d4861fc
("netdevsim: Add multi-queue support"); add a few control-plane selftests
for sch_mq using this new feature.

Use nsPlugin.py to avoid network interface name collisions.

Reviewed-by: Cong Wang <[email protected]>
Signed-off-by: Peilin Ye <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
peilin-ye authored and davem330 committed Aug 4, 2021
1 parent a54182b commit 625af9f
Show file tree
Hide file tree
Showing 2 changed files with 138 additions and 0 deletions.
137 changes: 137 additions & 0 deletions tools/testing/selftests/tc-testing/tc-tests/qdiscs/mq.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
[
{
"id": "ce7d",
"name": "Add mq Qdisc to multi-queue device (4 queues)",
"category": [
"qdisc",
"mq"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
"echo \"1 1 4\" > /sys/bus/netdevsim/new_device"
],
"cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: mq",
"expExitCode": "0",
"verifyCmd": "$TC qdisc show dev $ETH",
"matchPattern": "qdisc pfifo_fast 0: parent 1:[1-4] bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1",
"matchCount": "4",
"teardown": [
"echo \"1\" > /sys/bus/netdevsim/del_device"
]
},
{
"id": "2f82",
"name": "Add mq Qdisc to multi-queue device (256 queues)",
"category": [
"qdisc",
"mq"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
"echo \"1 1 256\" > /sys/bus/netdevsim/new_device"
],
"cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: mq",
"expExitCode": "0",
"verifyCmd": "$TC qdisc show dev $ETH",
"matchPattern": "qdisc pfifo_fast 0: parent 1:[1-9,a-f][0-9,a-f]{0,2} bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1",
"matchCount": "256",
"teardown": [
"echo \"1\" > /sys/bus/netdevsim/del_device"
]
},
{
"id": "c525",
"name": "Add duplicate mq Qdisc",
"category": [
"qdisc",
"mq"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
"echo \"1 1 4\" > /sys/bus/netdevsim/new_device",
"$TC qdisc add dev $ETH root handle 1: mq"
],
"cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: mq",
"expExitCode": "2",
"verifyCmd": "$TC qdisc show dev $ETH",
"matchPattern": "qdisc pfifo_fast 0: parent 1:[1-4] bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1",
"matchCount": "4",
"teardown": [
"echo \"1\" > /sys/bus/netdevsim/del_device"
]
},
{
"id": "128a",
"name": "Delete nonexistent mq Qdisc",
"category": [
"qdisc",
"mq"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
"echo \"1 1 4\" > /sys/bus/netdevsim/new_device"
],
"cmdUnderTest": "$TC qdisc del dev $ETH root handle 1: mq",
"expExitCode": "2",
"verifyCmd": "$TC qdisc show dev $ETH",
"matchPattern": "qdisc pfifo_fast 0: parent 1:[1-4] bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1",
"matchCount": "0",
"teardown": [
"echo \"1\" > /sys/bus/netdevsim/del_device"
]
},
{
"id": "03a9",
"name": "Delete mq Qdisc twice",
"category": [
"qdisc",
"mq"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
"echo \"1 1 4\" > /sys/bus/netdevsim/new_device",
"$TC qdisc add dev $ETH root handle 1: mq",
"$TC qdisc del dev $ETH root handle 1: mq"
],
"cmdUnderTest": "$TC qdisc del dev $ETH root handle 1: mq",
"expExitCode": "2",
"verifyCmd": "$TC qdisc show dev $ETH",
"matchPattern": "qdisc pfifo_fast 0: parent 1:[1-4] bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1",
"matchCount": "0",
"teardown": [
"echo \"1\" > /sys/bus/netdevsim/del_device"
]
},
{
"id": "be0f",
"name": "Add mq Qdisc to single-queue device",
"category": [
"qdisc",
"mq"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
"echo \"1 1\" > /sys/bus/netdevsim/new_device"
],
"cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: mq",
"expExitCode": "2",
"verifyCmd": "$TC qdisc show dev $ETH",
"matchPattern": "qdisc pfifo_fast 0: parent 1:[1-4] bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1",
"matchCount": "0",
"teardown": [
"echo \"1\" > /sys/bus/netdevsim/del_device"
]
}
]
1 change: 1 addition & 0 deletions tools/testing/selftests/tc-testing/tdc_config.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
'DEV1': 'v0p1',
'DEV2': '',
'DUMMY': 'dummy1',
'ETH': 'eth0',
'BATCH_FILE': './batch.txt',
'BATCH_DIR': 'tmp',
# Length of time in seconds to wait before terminating a command
Expand Down

0 comments on commit 625af9f

Please sign in to comment.