162306a36Sopenharmony_ci[
262306a36Sopenharmony_ci    {
362306a36Sopenharmony_ci        "id": "ddd9",
462306a36Sopenharmony_ci        "name": "Add prio qdisc on egress",
562306a36Sopenharmony_ci        "category": [
662306a36Sopenharmony_ci            "qdisc",
762306a36Sopenharmony_ci            "prio"
862306a36Sopenharmony_ci        ],
962306a36Sopenharmony_ci        "setup": [
1062306a36Sopenharmony_ci            "$IP link add dev $DUMMY type dummy || /bin/true"
1162306a36Sopenharmony_ci        ],
1262306a36Sopenharmony_ci        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root prio",
1362306a36Sopenharmony_ci        "expExitCode": "0",
1462306a36Sopenharmony_ci        "verifyCmd": "$TC qdisc show dev $DUMMY",
1562306a36Sopenharmony_ci        "matchPattern": "qdisc prio 1: root",
1662306a36Sopenharmony_ci        "matchCount": "1",
1762306a36Sopenharmony_ci        "teardown": [
1862306a36Sopenharmony_ci            "$TC qdisc del dev $DUMMY handle 1: root prio",
1962306a36Sopenharmony_ci            "$IP link del dev $DUMMY type dummy"
2062306a36Sopenharmony_ci        ]
2162306a36Sopenharmony_ci    },
2262306a36Sopenharmony_ci    {
2362306a36Sopenharmony_ci        "id": "aa71",
2462306a36Sopenharmony_ci        "name": "Add prio qdisc on egress with handle of maximum value",
2562306a36Sopenharmony_ci        "category": [
2662306a36Sopenharmony_ci            "qdisc",
2762306a36Sopenharmony_ci            "prio"
2862306a36Sopenharmony_ci        ],
2962306a36Sopenharmony_ci        "setup": [
3062306a36Sopenharmony_ci            "$IP link add dev $DUMMY type dummy || /bin/true"
3162306a36Sopenharmony_ci        ],
3262306a36Sopenharmony_ci        "cmdUnderTest": "$TC qdisc add dev $DUMMY root handle ffff: prio",
3362306a36Sopenharmony_ci        "expExitCode": "0",
3462306a36Sopenharmony_ci        "verifyCmd": "$TC qdisc show dev $DUMMY",
3562306a36Sopenharmony_ci        "matchPattern": "qdisc prio ffff: root",
3662306a36Sopenharmony_ci        "matchCount": "1",
3762306a36Sopenharmony_ci        "teardown": [
3862306a36Sopenharmony_ci            "$IP link del dev $DUMMY type dummy"
3962306a36Sopenharmony_ci        ]
4062306a36Sopenharmony_ci    },
4162306a36Sopenharmony_ci    {
4262306a36Sopenharmony_ci        "id": "db37",
4362306a36Sopenharmony_ci        "name": "Add prio qdisc on egress with invalid handle exceeding maximum value",
4462306a36Sopenharmony_ci        "category": [
4562306a36Sopenharmony_ci            "qdisc",
4662306a36Sopenharmony_ci            "prio"
4762306a36Sopenharmony_ci        ],
4862306a36Sopenharmony_ci        "setup": [
4962306a36Sopenharmony_ci            "$IP link add dev $DUMMY type dummy || /bin/true"
5062306a36Sopenharmony_ci        ],
5162306a36Sopenharmony_ci        "cmdUnderTest": "$TC qdisc add dev $DUMMY root handle 10000: prio",
5262306a36Sopenharmony_ci        "expExitCode": "255",
5362306a36Sopenharmony_ci        "verifyCmd": "$TC qdisc show dev $DUMMY",
5462306a36Sopenharmony_ci        "matchPattern": "qdisc prio 10000: root",
5562306a36Sopenharmony_ci        "matchCount": "0",
5662306a36Sopenharmony_ci        "teardown": [
5762306a36Sopenharmony_ci            "$IP link del dev $DUMMY type dummy"
5862306a36Sopenharmony_ci        ]
5962306a36Sopenharmony_ci    },
6062306a36Sopenharmony_ci    {
6162306a36Sopenharmony_ci        "id": "39d8",
6262306a36Sopenharmony_ci        "name": "Add prio qdisc on egress with unsupported argument",
6362306a36Sopenharmony_ci        "category": [
6462306a36Sopenharmony_ci            "qdisc",
6562306a36Sopenharmony_ci            "prio"
6662306a36Sopenharmony_ci        ],
6762306a36Sopenharmony_ci        "setup": [
6862306a36Sopenharmony_ci            "$IP link add dev $DUMMY type dummy || /bin/true"
6962306a36Sopenharmony_ci        ],
7062306a36Sopenharmony_ci        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root prio foorbar",
7162306a36Sopenharmony_ci        "expExitCode": "1",
7262306a36Sopenharmony_ci        "verifyCmd": "$TC qdisc show dev $DUMMY",
7362306a36Sopenharmony_ci        "matchPattern": "qdisc prio 1: root",
7462306a36Sopenharmony_ci        "matchCount": "0",
7562306a36Sopenharmony_ci        "teardown": [
7662306a36Sopenharmony_ci            "$IP link del dev $DUMMY type dummy"
7762306a36Sopenharmony_ci        ]
7862306a36Sopenharmony_ci    },
7962306a36Sopenharmony_ci    {
8062306a36Sopenharmony_ci        "id": "5769",
8162306a36Sopenharmony_ci        "name": "Add prio qdisc on egress with 4 bands and new priomap",
8262306a36Sopenharmony_ci        "category": [
8362306a36Sopenharmony_ci            "qdisc",
8462306a36Sopenharmony_ci            "prio"
8562306a36Sopenharmony_ci        ],
8662306a36Sopenharmony_ci        "setup": [
8762306a36Sopenharmony_ci            "$IP link add dev $DUMMY type dummy || /bin/true"
8862306a36Sopenharmony_ci        ],
8962306a36Sopenharmony_ci        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root prio bands 4 priomap 1 1 2 2 3 3 0 0 1 2 3 0 0 0 0 0",
9062306a36Sopenharmony_ci        "expExitCode": "0",
9162306a36Sopenharmony_ci        "verifyCmd": "$TC qdisc show dev $DUMMY",
9262306a36Sopenharmony_ci        "matchPattern": "qdisc prio 1: root.*bands 4 priomap.*1 1 2 2 3 3 0 0 1 2 3 0 0 0 0 0",
9362306a36Sopenharmony_ci        "matchCount": "1",
9462306a36Sopenharmony_ci        "teardown": [
9562306a36Sopenharmony_ci            "$TC qdisc del dev $DUMMY handle 1: root prio",
9662306a36Sopenharmony_ci            "$IP link del dev $DUMMY type dummy"
9762306a36Sopenharmony_ci        ]
9862306a36Sopenharmony_ci    },
9962306a36Sopenharmony_ci    {
10062306a36Sopenharmony_ci        "id": "fe0f",
10162306a36Sopenharmony_ci        "name": "Add prio qdisc on egress with 4 bands and priomap exceeding TC_PRIO_MAX entries",
10262306a36Sopenharmony_ci        "category": [
10362306a36Sopenharmony_ci            "qdisc",
10462306a36Sopenharmony_ci            "prio"
10562306a36Sopenharmony_ci        ],
10662306a36Sopenharmony_ci        "setup": [
10762306a36Sopenharmony_ci            "$IP link add dev $DUMMY type dummy || /bin/true"
10862306a36Sopenharmony_ci        ],
10962306a36Sopenharmony_ci        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root prio bands 4 priomap 1 1 2 2 3 3 0 0 1 2 3 0 0 0 0 0 1 1",
11062306a36Sopenharmony_ci        "expExitCode": "1",
11162306a36Sopenharmony_ci        "verifyCmd": "$TC qdisc show dev $DUMMY",
11262306a36Sopenharmony_ci        "matchPattern": "qdisc prio 1: root.*bands 4 priomap.*1 1 2 2 3 3 0 0 1 2 3 0 0 0 0 0 1 1",
11362306a36Sopenharmony_ci        "matchCount": "0",
11462306a36Sopenharmony_ci        "teardown": [
11562306a36Sopenharmony_ci            "$IP link del dev $DUMMY type dummy"
11662306a36Sopenharmony_ci        ]
11762306a36Sopenharmony_ci    },
11862306a36Sopenharmony_ci    {
11962306a36Sopenharmony_ci        "id": "1f91",
12062306a36Sopenharmony_ci        "name": "Add prio qdisc on egress with 4 bands and priomap's values exceeding bands number",
12162306a36Sopenharmony_ci        "category": [
12262306a36Sopenharmony_ci            "qdisc",
12362306a36Sopenharmony_ci            "prio"
12462306a36Sopenharmony_ci        ],
12562306a36Sopenharmony_ci        "setup": [
12662306a36Sopenharmony_ci            "$IP link add dev $DUMMY type dummy || /bin/true"
12762306a36Sopenharmony_ci        ],
12862306a36Sopenharmony_ci        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root prio bands 4 priomap 1 1 2 2 7 5 0 0 1 2 3 0 0 0 0 0",
12962306a36Sopenharmony_ci        "expExitCode": "1",
13062306a36Sopenharmony_ci        "verifyCmd": "$TC qdisc show dev $DUMMY",
13162306a36Sopenharmony_ci        "matchPattern": "qdisc prio 1: root.*bands 4 priomap.*1 1 2 2 7 5 0 0 1 2 3 0 0 0 0 0",
13262306a36Sopenharmony_ci        "matchCount": "0",
13362306a36Sopenharmony_ci        "teardown": [
13462306a36Sopenharmony_ci            "$IP link del dev $DUMMY type dummy"
13562306a36Sopenharmony_ci        ]
13662306a36Sopenharmony_ci    },
13762306a36Sopenharmony_ci    {
13862306a36Sopenharmony_ci        "id": "d248",
13962306a36Sopenharmony_ci        "name": "Add prio qdisc on egress with invalid bands value (< 2)",
14062306a36Sopenharmony_ci        "category": [
14162306a36Sopenharmony_ci            "qdisc",
14262306a36Sopenharmony_ci            "prio"
14362306a36Sopenharmony_ci        ],
14462306a36Sopenharmony_ci        "setup": [
14562306a36Sopenharmony_ci            "$IP link add dev $DUMMY type dummy || /bin/true"
14662306a36Sopenharmony_ci        ],
14762306a36Sopenharmony_ci        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root prio bands 1 priomap 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0",
14862306a36Sopenharmony_ci        "expExitCode": "2",
14962306a36Sopenharmony_ci        "verifyCmd": "$TC qdisc show dev $DUMMY",
15062306a36Sopenharmony_ci        "matchPattern": "qdisc prio 1: root.*bands 1 priomap.*0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0",
15162306a36Sopenharmony_ci        "matchCount": "0",
15262306a36Sopenharmony_ci        "teardown": [
15362306a36Sopenharmony_ci            "$IP link del dev $DUMMY type dummy"
15462306a36Sopenharmony_ci        ]
15562306a36Sopenharmony_ci    },
15662306a36Sopenharmony_ci    {
15762306a36Sopenharmony_ci        "id": "1d0e",
15862306a36Sopenharmony_ci        "name": "Add prio qdisc on egress with invalid bands value exceeding TCQ_PRIO_BANDS",
15962306a36Sopenharmony_ci        "category": [
16062306a36Sopenharmony_ci            "qdisc",
16162306a36Sopenharmony_ci            "prio"
16262306a36Sopenharmony_ci        ],
16362306a36Sopenharmony_ci        "setup": [
16462306a36Sopenharmony_ci            "$IP link add dev $DUMMY type dummy || /bin/true"
16562306a36Sopenharmony_ci        ],
16662306a36Sopenharmony_ci        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root prio bands 1024 priomap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16",
16762306a36Sopenharmony_ci        "expExitCode": "2",
16862306a36Sopenharmony_ci        "verifyCmd": "$TC qdisc show dev $DUMMY",
16962306a36Sopenharmony_ci        "matchPattern": "qdisc prio 1: root.*bands 1024 priomap.*1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16",
17062306a36Sopenharmony_ci        "matchCount": "0",
17162306a36Sopenharmony_ci        "teardown": [
17262306a36Sopenharmony_ci            "$IP link del dev $DUMMY type dummy"
17362306a36Sopenharmony_ci        ]
17462306a36Sopenharmony_ci    },
17562306a36Sopenharmony_ci    {
17662306a36Sopenharmony_ci        "id": "1971",
17762306a36Sopenharmony_ci        "name": "Replace default prio qdisc on egress with 8 bands and new priomap",
17862306a36Sopenharmony_ci        "category": [
17962306a36Sopenharmony_ci            "qdisc",
18062306a36Sopenharmony_ci            "prio"
18162306a36Sopenharmony_ci        ],
18262306a36Sopenharmony_ci        "setup": [
18362306a36Sopenharmony_ci            "$IP link add dev $DUMMY type dummy || /bin/true",
18462306a36Sopenharmony_ci            "$TC qdisc add dev $DUMMY handle 1: root prio"
18562306a36Sopenharmony_ci        ],
18662306a36Sopenharmony_ci        "cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root prio bands 8 priomap 1 1 2 2 3 3 4 4 5 5 6 6 7 7 0 0",
18762306a36Sopenharmony_ci        "expExitCode": "0",
18862306a36Sopenharmony_ci        "verifyCmd": "$TC qdisc show dev $DUMMY",
18962306a36Sopenharmony_ci        "matchPattern": "qdisc prio 1: root.*bands 8 priomap.*1 1 2 2 3 3 4 4 5 5 6 6 7 7 0 0",
19062306a36Sopenharmony_ci        "matchCount": "1",
19162306a36Sopenharmony_ci        "teardown": [
19262306a36Sopenharmony_ci            "$TC qdisc del dev $DUMMY handle 1: root prio",
19362306a36Sopenharmony_ci            "$IP link del dev $DUMMY type dummy"
19462306a36Sopenharmony_ci        ]
19562306a36Sopenharmony_ci    },
19662306a36Sopenharmony_ci    {
19762306a36Sopenharmony_ci        "id": "d88a",
19862306a36Sopenharmony_ci        "name": "Add duplicate prio qdisc on egress",
19962306a36Sopenharmony_ci        "category": [
20062306a36Sopenharmony_ci            "qdisc",
20162306a36Sopenharmony_ci            "prio"
20262306a36Sopenharmony_ci        ],
20362306a36Sopenharmony_ci        "setup": [
20462306a36Sopenharmony_ci            "$IP link add dev $DUMMY type dummy || /bin/true",
20562306a36Sopenharmony_ci            "$TC qdisc add dev $DUMMY handle 1: root prio"
20662306a36Sopenharmony_ci        ],
20762306a36Sopenharmony_ci        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root prio",
20862306a36Sopenharmony_ci        "expExitCode": "2",
20962306a36Sopenharmony_ci        "verifyCmd": "$TC qdisc show dev $DUMMY",
21062306a36Sopenharmony_ci        "matchPattern": "qdisc prio 1: root",
21162306a36Sopenharmony_ci        "matchCount": "1",
21262306a36Sopenharmony_ci        "teardown": [
21362306a36Sopenharmony_ci            "$TC qdisc del dev $DUMMY handle 1: root prio",
21462306a36Sopenharmony_ci            "$IP link del dev $DUMMY type dummy"
21562306a36Sopenharmony_ci        ]
21662306a36Sopenharmony_ci    },
21762306a36Sopenharmony_ci    {
21862306a36Sopenharmony_ci        "id": "5948",
21962306a36Sopenharmony_ci        "name": "Delete nonexistent prio qdisc",
22062306a36Sopenharmony_ci        "category": [
22162306a36Sopenharmony_ci            "qdisc",
22262306a36Sopenharmony_ci            "prio"
22362306a36Sopenharmony_ci        ],
22462306a36Sopenharmony_ci        "setup": [
22562306a36Sopenharmony_ci            "$IP link add dev $DUMMY type dummy || /bin/true"
22662306a36Sopenharmony_ci        ],
22762306a36Sopenharmony_ci        "cmdUnderTest": "$TC qdisc del dev $DUMMY root handle 1: prio",
22862306a36Sopenharmony_ci        "expExitCode": "2",
22962306a36Sopenharmony_ci        "verifyCmd": "$TC qdisc show dev $DUMMY",
23062306a36Sopenharmony_ci        "matchPattern": "qdisc prio 1: root",
23162306a36Sopenharmony_ci        "matchCount": "0",
23262306a36Sopenharmony_ci        "teardown": [
23362306a36Sopenharmony_ci            "$IP link del dev $DUMMY type dummy"
23462306a36Sopenharmony_ci        ]
23562306a36Sopenharmony_ci    },
23662306a36Sopenharmony_ci    {
23762306a36Sopenharmony_ci        "id": "6c0a",
23862306a36Sopenharmony_ci        "name": "Add prio qdisc on egress with invalid format for handles",
23962306a36Sopenharmony_ci        "category": [
24062306a36Sopenharmony_ci            "qdisc",
24162306a36Sopenharmony_ci            "prio"
24262306a36Sopenharmony_ci        ],
24362306a36Sopenharmony_ci        "setup": [
24462306a36Sopenharmony_ci            "$IP link add dev $DUMMY type dummy || /bin/true"
24562306a36Sopenharmony_ci        ],
24662306a36Sopenharmony_ci        "cmdUnderTest": "$TC qdisc add dev $DUMMY root handle 123^ prio",
24762306a36Sopenharmony_ci        "expExitCode": "255",
24862306a36Sopenharmony_ci        "verifyCmd": "$TC qdisc show dev $DUMMY",
24962306a36Sopenharmony_ci        "matchPattern": "qdisc prio 123 root",
25062306a36Sopenharmony_ci        "matchCount": "0",
25162306a36Sopenharmony_ci        "teardown": [
25262306a36Sopenharmony_ci            "$IP link del dev $DUMMY type dummy"
25362306a36Sopenharmony_ci        ]
25462306a36Sopenharmony_ci    },
25562306a36Sopenharmony_ci    {
25662306a36Sopenharmony_ci        "id": "0175",
25762306a36Sopenharmony_ci        "name": "Delete prio qdisc twice",
25862306a36Sopenharmony_ci        "category": [
25962306a36Sopenharmony_ci            "qdisc",
26062306a36Sopenharmony_ci            "prio"
26162306a36Sopenharmony_ci        ],
26262306a36Sopenharmony_ci        "setup": [
26362306a36Sopenharmony_ci            "$IP link add dev $DUMMY type dummy || /bin/true",
26462306a36Sopenharmony_ci            "$TC qdisc add dev $DUMMY root handle 1: prio",
26562306a36Sopenharmony_ci            "$TC qdisc del dev $DUMMY root handle 1: prio"
26662306a36Sopenharmony_ci        ],
26762306a36Sopenharmony_ci        "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root prio",
26862306a36Sopenharmony_ci        "expExitCode": "2",
26962306a36Sopenharmony_ci        "verifyCmd": "$TC qdisc show dev $DUMMY",
27062306a36Sopenharmony_ci        "matchPattern": "qdisc ingress ffff:",
27162306a36Sopenharmony_ci        "matchCount": "0",
27262306a36Sopenharmony_ci        "teardown": [
27362306a36Sopenharmony_ci            "$IP link del dev $DUMMY type dummy"
27462306a36Sopenharmony_ci        ]
27562306a36Sopenharmony_ci    },
27662306a36Sopenharmony_ci    {
27762306a36Sopenharmony_ci        "id": "2410",
27862306a36Sopenharmony_ci        "name": "Show prio class",
27962306a36Sopenharmony_ci        "category": [
28062306a36Sopenharmony_ci            "qdisc",
28162306a36Sopenharmony_ci            "prio"
28262306a36Sopenharmony_ci        ],
28362306a36Sopenharmony_ci        "setup": [
28462306a36Sopenharmony_ci            "$IP link add dev $DUMMY type dummy || /bin/true"
28562306a36Sopenharmony_ci        ],
28662306a36Sopenharmony_ci        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root prio",
28762306a36Sopenharmony_ci        "expExitCode": "0",
28862306a36Sopenharmony_ci        "verifyCmd": "$TC class show dev $DUMMY",
28962306a36Sopenharmony_ci        "matchPattern": "class prio 1:[0-9]+ parent 1:",
29062306a36Sopenharmony_ci        "matchCount": "3",
29162306a36Sopenharmony_ci        "teardown": [
29262306a36Sopenharmony_ci            "$TC qdisc del dev $DUMMY handle 1: root prio",
29362306a36Sopenharmony_ci            "$IP link del dev $DUMMY type dummy"
29462306a36Sopenharmony_ci        ]
29562306a36Sopenharmony_ci    }
29662306a36Sopenharmony_ci]
297