162306a36Sopenharmony_ci[
262306a36Sopenharmony_ci    {
362306a36Sopenharmony_ci        "id": "ba39",
462306a36Sopenharmony_ci        "name": "Add taprio Qdisc to multi-queue device (8 queues)",
562306a36Sopenharmony_ci        "category": [
662306a36Sopenharmony_ci            "qdisc",
762306a36Sopenharmony_ci            "taprio"
862306a36Sopenharmony_ci        ],
962306a36Sopenharmony_ci        "plugins": {
1062306a36Sopenharmony_ci            "requires": "nsPlugin"
1162306a36Sopenharmony_ci        },
1262306a36Sopenharmony_ci        "setup": [
1362306a36Sopenharmony_ci            "echo \"1 1 8\" > /sys/bus/netdevsim/new_device"
1462306a36Sopenharmony_ci        ],
1562306a36Sopenharmony_ci        "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",
1662306a36Sopenharmony_ci        "expExitCode": "0",
1762306a36Sopenharmony_ci        "verifyCmd": "$TC qdisc show dev $ETH",
1862306a36Sopenharmony_ci        "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",
1962306a36Sopenharmony_ci        "matchCount": "1",
2062306a36Sopenharmony_ci        "teardown": [
2162306a36Sopenharmony_ci            "echo \"1\" > /sys/bus/netdevsim/del_device"
2262306a36Sopenharmony_ci        ]
2362306a36Sopenharmony_ci    },
2462306a36Sopenharmony_ci    {
2562306a36Sopenharmony_ci        "id": "9462",
2662306a36Sopenharmony_ci        "name": "Add taprio Qdisc with multiple sched-entry",
2762306a36Sopenharmony_ci        "category": [
2862306a36Sopenharmony_ci            "qdisc",
2962306a36Sopenharmony_ci            "taprio"
3062306a36Sopenharmony_ci        ],
3162306a36Sopenharmony_ci        "plugins": {
3262306a36Sopenharmony_ci            "requires": "nsPlugin"
3362306a36Sopenharmony_ci        },
3462306a36Sopenharmony_ci        "setup": [
3562306a36Sopenharmony_ci            "echo \"1 1 8\" > /sys/bus/netdevsim/new_device"
3662306a36Sopenharmony_ci        ],
3762306a36Sopenharmony_ci        "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",
3862306a36Sopenharmony_ci        "expExitCode": "0",
3962306a36Sopenharmony_ci        "verifyCmd": "$TC qdisc show dev $ETH",
4062306a36Sopenharmony_ci        "matchPattern": "index [0-9]+ cmd S gatemask 0x[0-9]+ interval [0-9]+00000",
4162306a36Sopenharmony_ci        "matchCount": "3",
4262306a36Sopenharmony_ci        "teardown": [
4362306a36Sopenharmony_ci            "echo \"1\" > /sys/bus/netdevsim/del_device"
4462306a36Sopenharmony_ci        ]
4562306a36Sopenharmony_ci    },
4662306a36Sopenharmony_ci    {
4762306a36Sopenharmony_ci        "id": "8d92",
4862306a36Sopenharmony_ci        "name": "Add taprio Qdisc with txtime-delay",
4962306a36Sopenharmony_ci        "category": [
5062306a36Sopenharmony_ci            "qdisc",
5162306a36Sopenharmony_ci            "taprio"
5262306a36Sopenharmony_ci        ],
5362306a36Sopenharmony_ci        "plugins": {
5462306a36Sopenharmony_ci            "requires": "nsPlugin"
5562306a36Sopenharmony_ci        },
5662306a36Sopenharmony_ci        "setup": [
5762306a36Sopenharmony_ci            "echo \"1 1 8\" > /sys/bus/netdevsim/new_device"
5862306a36Sopenharmony_ci        ],
5962306a36Sopenharmony_ci        "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",
6062306a36Sopenharmony_ci        "expExitCode": "0",
6162306a36Sopenharmony_ci        "verifyCmd": "$TC qdisc show dev $ETH",
6262306a36Sopenharmony_ci        "matchPattern": "clockid TAI flags 0x1 txtime delay 500000",
6362306a36Sopenharmony_ci        "matchCount": "1",
6462306a36Sopenharmony_ci        "teardown": [
6562306a36Sopenharmony_ci            "echo \"1\" > /sys/bus/netdevsim/del_device"
6662306a36Sopenharmony_ci        ]
6762306a36Sopenharmony_ci    },
6862306a36Sopenharmony_ci    {
6962306a36Sopenharmony_ci        "id": "d092",
7062306a36Sopenharmony_ci        "name": "Delete taprio Qdisc with valid handle",
7162306a36Sopenharmony_ci        "category": [
7262306a36Sopenharmony_ci            "qdisc",
7362306a36Sopenharmony_ci            "taprio"
7462306a36Sopenharmony_ci        ],
7562306a36Sopenharmony_ci        "plugins": {
7662306a36Sopenharmony_ci            "requires": "nsPlugin"
7762306a36Sopenharmony_ci        },
7862306a36Sopenharmony_ci        "setup": [
7962306a36Sopenharmony_ci            "echo \"1 1 8\" > /sys/bus/netdevsim/new_device",
8062306a36Sopenharmony_ci            "$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"
8162306a36Sopenharmony_ci        ],
8262306a36Sopenharmony_ci        "cmdUnderTest": "$TC qdisc del dev $ETH root handle 1:",
8362306a36Sopenharmony_ci        "expExitCode": "0",
8462306a36Sopenharmony_ci        "verifyCmd": "$TC qdisc show dev $ETH",
8562306a36Sopenharmony_ci        "matchPattern": "qdisc taprio 1: root refcnt",
8662306a36Sopenharmony_ci        "matchCount": "0",
8762306a36Sopenharmony_ci        "teardown": [
8862306a36Sopenharmony_ci            "echo \"1\" > /sys/bus/netdevsim/del_device"
8962306a36Sopenharmony_ci        ]
9062306a36Sopenharmony_ci    },
9162306a36Sopenharmony_ci    {
9262306a36Sopenharmony_ci        "id": "8471",
9362306a36Sopenharmony_ci        "name": "Show taprio class",
9462306a36Sopenharmony_ci        "category": [
9562306a36Sopenharmony_ci            "qdisc",
9662306a36Sopenharmony_ci            "taprio"
9762306a36Sopenharmony_ci        ],
9862306a36Sopenharmony_ci        "plugins": {
9962306a36Sopenharmony_ci            "requires": "nsPlugin"
10062306a36Sopenharmony_ci        },
10162306a36Sopenharmony_ci        "setup": [
10262306a36Sopenharmony_ci            "echo \"1 1 8\" > /sys/bus/netdevsim/new_device"
10362306a36Sopenharmony_ci        ],
10462306a36Sopenharmony_ci        "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",
10562306a36Sopenharmony_ci        "expExitCode": "0",
10662306a36Sopenharmony_ci        "verifyCmd": "$TC class show dev $ETH",
10762306a36Sopenharmony_ci        "matchPattern": "class taprio 1:[0-9]+ root",
10862306a36Sopenharmony_ci        "matchCount": "8",
10962306a36Sopenharmony_ci        "teardown": [
11062306a36Sopenharmony_ci            "echo \"1\" > /sys/bus/netdevsim/del_device"
11162306a36Sopenharmony_ci        ]
11262306a36Sopenharmony_ci    },
11362306a36Sopenharmony_ci    {
11462306a36Sopenharmony_ci        "id": "0a85",
11562306a36Sopenharmony_ci        "name": "Add taprio Qdisc to single-queue device",
11662306a36Sopenharmony_ci        "category": [
11762306a36Sopenharmony_ci            "qdisc",
11862306a36Sopenharmony_ci            "taprio"
11962306a36Sopenharmony_ci        ],
12062306a36Sopenharmony_ci        "plugins": {
12162306a36Sopenharmony_ci            "requires": "nsPlugin"
12262306a36Sopenharmony_ci        },
12362306a36Sopenharmony_ci        "setup": [
12462306a36Sopenharmony_ci            "echo \"1 1\" > /sys/bus/netdevsim/new_device"
12562306a36Sopenharmony_ci        ],
12662306a36Sopenharmony_ci        "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",
12762306a36Sopenharmony_ci        "expExitCode": "2",
12862306a36Sopenharmony_ci        "verifyCmd": "$TC qdisc show dev $ETH",
12962306a36Sopenharmony_ci        "matchPattern": "qdisc taprio 1: root refcnt",
13062306a36Sopenharmony_ci        "matchCount": "0",
13162306a36Sopenharmony_ci        "teardown": [
13262306a36Sopenharmony_ci            "echo \"1\" > /sys/bus/netdevsim/del_device"
13362306a36Sopenharmony_ci        ]
13462306a36Sopenharmony_ci    },
13562306a36Sopenharmony_ci    {
13662306a36Sopenharmony_ci        "id": "3e1e",
13762306a36Sopenharmony_ci        "name": "Add taprio Qdisc with an invalid cycle-time",
13862306a36Sopenharmony_ci        "category": [
13962306a36Sopenharmony_ci            "qdisc",
14062306a36Sopenharmony_ci            "taprio"
14162306a36Sopenharmony_ci        ],
14262306a36Sopenharmony_ci        "plugins": {
14362306a36Sopenharmony_ci            "requires": "nsPlugin"
14462306a36Sopenharmony_ci        },
14562306a36Sopenharmony_ci        "setup": [
14662306a36Sopenharmony_ci            "echo \"1 1 8\" > /sys/bus/netdevsim/new_device",
14762306a36Sopenharmony_ci            "$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",
14862306a36Sopenharmony_ci            "$IP link set dev $ETH up",
14962306a36Sopenharmony_ci            "$IP addr add 10.10.10.10/24 dev $ETH"
15062306a36Sopenharmony_ci        ],
15162306a36Sopenharmony_ci        "cmdUnderTest": "/bin/true",
15262306a36Sopenharmony_ci        "expExitCode": "0",
15362306a36Sopenharmony_ci        "verifyCmd": "$TC qdisc show dev $ETH",
15462306a36Sopenharmony_ci        "matchPattern": "qdisc taprio 1: root refcnt",
15562306a36Sopenharmony_ci        "matchCount": "0",
15662306a36Sopenharmony_ci        "teardown": [
15762306a36Sopenharmony_ci            "echo \"1\" > /sys/bus/netdevsim/del_device"
15862306a36Sopenharmony_ci        ]
15962306a36Sopenharmony_ci    },
16062306a36Sopenharmony_ci    {
16162306a36Sopenharmony_ci        "id": "39b4",
16262306a36Sopenharmony_ci        "name": "Reject grafting taprio as child qdisc of software taprio",
16362306a36Sopenharmony_ci        "category": [
16462306a36Sopenharmony_ci            "qdisc",
16562306a36Sopenharmony_ci            "taprio"
16662306a36Sopenharmony_ci        ],
16762306a36Sopenharmony_ci        "plugins": {
16862306a36Sopenharmony_ci            "requires": "nsPlugin"
16962306a36Sopenharmony_ci        },
17062306a36Sopenharmony_ci        "setup": [
17162306a36Sopenharmony_ci            "echo \"1 1 8\" > /sys/bus/netdevsim/new_device",
17262306a36Sopenharmony_ci            "$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",
17362306a36Sopenharmony_ci            "./taprio_wait_for_admin.sh $TC $ETH"
17462306a36Sopenharmony_ci        ],
17562306a36Sopenharmony_ci        "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",
17662306a36Sopenharmony_ci        "expExitCode": "2",
17762306a36Sopenharmony_ci        "verifyCmd": "bash -c \"./taprio_wait_for_admin.sh $TC $ETH && $TC -j qdisc show dev $ETH root | jq '.[].options.base_time'\"",
17862306a36Sopenharmony_ci        "matchPattern": "0",
17962306a36Sopenharmony_ci        "matchCount": "1",
18062306a36Sopenharmony_ci        "teardown": [
18162306a36Sopenharmony_ci            "$TC qdisc del dev $ETH root",
18262306a36Sopenharmony_ci            "echo \"1\" > /sys/bus/netdevsim/del_device"
18362306a36Sopenharmony_ci        ]
18462306a36Sopenharmony_ci    },
18562306a36Sopenharmony_ci    {
18662306a36Sopenharmony_ci        "id": "e8a1",
18762306a36Sopenharmony_ci        "name": "Reject grafting taprio as child qdisc of offloaded taprio",
18862306a36Sopenharmony_ci        "category": [
18962306a36Sopenharmony_ci            "qdisc",
19062306a36Sopenharmony_ci            "taprio"
19162306a36Sopenharmony_ci        ],
19262306a36Sopenharmony_ci        "plugins": {
19362306a36Sopenharmony_ci            "requires": "nsPlugin"
19462306a36Sopenharmony_ci        },
19562306a36Sopenharmony_ci        "setup": [
19662306a36Sopenharmony_ci            "echo \"1 1 8\" > /sys/bus/netdevsim/new_device",
19762306a36Sopenharmony_ci            "$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",
19862306a36Sopenharmony_ci            "./taprio_wait_for_admin.sh $TC $ETH"
19962306a36Sopenharmony_ci        ],
20062306a36Sopenharmony_ci        "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",
20162306a36Sopenharmony_ci        "expExitCode": "2",
20262306a36Sopenharmony_ci        "verifyCmd": "bash -c \"./taprio_wait_for_admin.sh $TC $ETH && $TC -j qdisc show dev $ETH root | jq '.[].options.base_time'\"",
20362306a36Sopenharmony_ci        "matchPattern": "0",
20462306a36Sopenharmony_ci        "matchCount": "1",
20562306a36Sopenharmony_ci        "teardown": [
20662306a36Sopenharmony_ci            "$TC qdisc del dev $ETH root",
20762306a36Sopenharmony_ci            "echo \"1\" > /sys/bus/netdevsim/del_device"
20862306a36Sopenharmony_ci        ]
20962306a36Sopenharmony_ci    },
21062306a36Sopenharmony_ci    {
21162306a36Sopenharmony_ci        "id": "a7bf",
21262306a36Sopenharmony_ci        "name": "Graft cbs as child of software taprio",
21362306a36Sopenharmony_ci        "category": [
21462306a36Sopenharmony_ci            "qdisc",
21562306a36Sopenharmony_ci            "taprio",
21662306a36Sopenharmony_ci            "cbs"
21762306a36Sopenharmony_ci        ],
21862306a36Sopenharmony_ci        "plugins": {
21962306a36Sopenharmony_ci            "requires": "nsPlugin"
22062306a36Sopenharmony_ci        },
22162306a36Sopenharmony_ci        "setup": [
22262306a36Sopenharmony_ci            "echo \"1 1 8\" > /sys/bus/netdevsim/new_device",
22362306a36Sopenharmony_ci            "$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"
22462306a36Sopenharmony_ci        ],
22562306a36Sopenharmony_ci        "cmdUnderTest": "$TC qdisc replace dev $ETH handle 8002: parent 8001:8 cbs idleslope 20000 sendslope -980000 hicredit 30 locredit -1470",
22662306a36Sopenharmony_ci        "expExitCode": "0",
22762306a36Sopenharmony_ci        "verifyCmd": "$TC -d qdisc show dev $ETH",
22862306a36Sopenharmony_ci        "matchPattern": "qdisc cbs 8002: parent 8001:8 hicredit 30 locredit -1470 sendslope -980000 idleslope 20000 offload 0",
22962306a36Sopenharmony_ci        "matchCount": "1",
23062306a36Sopenharmony_ci        "teardown": [
23162306a36Sopenharmony_ci            "$TC qdisc del dev $ETH root",
23262306a36Sopenharmony_ci            "echo \"1\" > /sys/bus/netdevsim/del_device"
23362306a36Sopenharmony_ci        ]
23462306a36Sopenharmony_ci    },
23562306a36Sopenharmony_ci    {
23662306a36Sopenharmony_ci        "id": "6a83",
23762306a36Sopenharmony_ci        "name": "Graft cbs as child of offloaded taprio",
23862306a36Sopenharmony_ci        "category": [
23962306a36Sopenharmony_ci            "qdisc",
24062306a36Sopenharmony_ci            "taprio",
24162306a36Sopenharmony_ci            "cbs"
24262306a36Sopenharmony_ci        ],
24362306a36Sopenharmony_ci        "plugins": {
24462306a36Sopenharmony_ci            "requires": "nsPlugin"
24562306a36Sopenharmony_ci        },
24662306a36Sopenharmony_ci        "setup": [
24762306a36Sopenharmony_ci            "echo \"1 1 8\" > /sys/bus/netdevsim/new_device",
24862306a36Sopenharmony_ci            "$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"
24962306a36Sopenharmony_ci        ],
25062306a36Sopenharmony_ci        "cmdUnderTest": "$TC qdisc replace dev $ETH handle 8002: parent 8001:8 cbs idleslope 20000 sendslope -980000 hicredit 30 locredit -1470",
25162306a36Sopenharmony_ci        "expExitCode": "0",
25262306a36Sopenharmony_ci        "verifyCmd": "$TC -d qdisc show dev $ETH",
25362306a36Sopenharmony_ci        "matchPattern": "qdisc cbs 8002: parent 8001:8 refcnt 2 hicredit 30 locredit -1470 sendslope -980000 idleslope 20000 offload 0",
25462306a36Sopenharmony_ci        "matchCount": "1",
25562306a36Sopenharmony_ci        "teardown": [
25662306a36Sopenharmony_ci            "$TC qdisc del dev $ETH root",
25762306a36Sopenharmony_ci            "echo \"1\" > /sys/bus/netdevsim/del_device"
25862306a36Sopenharmony_ci        ]
25962306a36Sopenharmony_ci    }
26062306a36Sopenharmony_ci]
261