[
    {
        "id": "9903",
        "name": "Add mqprio Qdisc to multi-queue device (8 queues)",
        "category": [
            "qdisc",
            "mqprio"
        ],
        "plugins": {
            "requires": "nsPlugin"
        },
        "setup": [
            "echo \"1 1 8\" > /sys/bus/netdevsim/new_device"
        ],
        "cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: mqprio 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 hw 0",
        "expExitCode": "0",
        "verifyCmd": "$TC qdisc show dev $ETH",
        "matchPattern": "qdisc mqprio 1: root tc 8 map 0 1 2 3 4 5 6 7 0 0 0 0 0 0 0 0.*queues:\\(0:0\\) \\(1:1\\) \\(2:2\\) \\(3:3\\) \\(4:4\\) \\(5:5\\) \\(6:6\\) \\(7:7\\)",
        "matchCount": "1",
        "teardown": [
            "echo \"1\" > /sys/bus/netdevsim/del_device"
        ]
    },
    {
        "id": "453a",
        "name": "Delete nonexistent mqprio Qdisc",
        "category": [
            "qdisc",
            "mqprio"
        ],
        "plugins": {
            "requires": "nsPlugin"
        },
        "setup": [
            "echo \"1 1 4\" > /sys/bus/netdevsim/new_device"
        ],
        "cmdUnderTest": "$TC qdisc del dev $ETH root handle 1: mqprio",
        "expExitCode": "2",
        "verifyCmd": "$TC qdisc show dev $ETH",
        "matchPattern": "qdisc mqprio 1: root",
        "matchCount": "0",
        "teardown": [
            "echo \"1\" > /sys/bus/netdevsim/del_device"
        ]
    },
    {
        "id": "5292",
        "name": "Delete mqprio Qdisc twice",
        "category": [
            "qdisc",
            "mqprio"
        ],
        "plugins": {
            "requires": "nsPlugin"
        },
        "setup": [
            "echo \"1 1 8\" > /sys/bus/netdevsim/new_device",
            "$TC qdisc add dev $ETH root handle 1: mqprio 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 hw 0",
            "$TC qdisc del dev $ETH root handle 1:"
        ],
        "cmdUnderTest": "$TC qdisc del dev $ETH root handle 1:",
        "expExitCode": "2",
        "verifyCmd": "$TC qdisc show dev $ETH",
        "matchPattern": "qdisc mqprio 1: root",
        "matchCount": "0",
        "teardown": [
            "echo \"1\" > /sys/bus/netdevsim/del_device"
        ]
    },
    {
        "id": "45a9",
        "name": "Add mqprio Qdisc to single-queue device",
        "category": [
            "qdisc",
            "mqprio"
        ],
        "plugins": {
            "requires": "nsPlugin"
        },
        "setup": [
            "echo \"1 1\" > /sys/bus/netdevsim/new_device"
        ],
        "cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: mqprio 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 hw 0",
        "expExitCode": "2",
        "verifyCmd": "$TC qdisc show dev $ETH",
        "matchPattern": "qdisc mqprio 1: root",
        "matchCount": "0",
        "teardown": [
            "echo \"1\" > /sys/bus/netdevsim/del_device"
        ]
    },
    {
        "id": "2ba9",
        "name": "Show mqprio class",
        "category": [
            "qdisc",
            "mqprio"
        ],
        "plugins": {
            "requires": "nsPlugin"
        },
        "setup": [
            "echo \"1 1 8\" > /sys/bus/netdevsim/new_device"
        ],
        "cmdUnderTest": "$TC qdisc add dev $ETH root handle 1: mqprio 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 hw 0",
        "expExitCode": "0",
        "verifyCmd": "$TC class show dev $ETH",
        "matchPattern": "class mqprio 1:",
        "matchCount": "16",
        "teardown": [
            "echo \"1\" > /sys/bus/netdevsim/del_device"
        ]
    }
]
