xref: /OK3568_Linux_fs/kernel/tools/testing/selftests/tc-testing/tc-tests/qdiscs/prio.json (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun[
2*4882a593Smuzhiyun    {
3*4882a593Smuzhiyun        "id": "ddd9",
4*4882a593Smuzhiyun        "name": "Add prio qdisc on egress",
5*4882a593Smuzhiyun        "category": [
6*4882a593Smuzhiyun            "qdisc",
7*4882a593Smuzhiyun            "prio"
8*4882a593Smuzhiyun        ],
9*4882a593Smuzhiyun        "setup": [
10*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
11*4882a593Smuzhiyun        ],
12*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root prio",
13*4882a593Smuzhiyun        "expExitCode": "0",
14*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
15*4882a593Smuzhiyun        "matchPattern": "qdisc prio 1: root",
16*4882a593Smuzhiyun        "matchCount": "1",
17*4882a593Smuzhiyun        "teardown": [
18*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root prio",
19*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
20*4882a593Smuzhiyun        ]
21*4882a593Smuzhiyun    },
22*4882a593Smuzhiyun    {
23*4882a593Smuzhiyun        "id": "aa71",
24*4882a593Smuzhiyun        "name": "Add prio qdisc on egress with handle of maximum value",
25*4882a593Smuzhiyun        "category": [
26*4882a593Smuzhiyun            "qdisc",
27*4882a593Smuzhiyun            "prio"
28*4882a593Smuzhiyun        ],
29*4882a593Smuzhiyun        "setup": [
30*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
31*4882a593Smuzhiyun        ],
32*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY root handle ffff: prio",
33*4882a593Smuzhiyun        "expExitCode": "0",
34*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
35*4882a593Smuzhiyun        "matchPattern": "qdisc prio ffff: root",
36*4882a593Smuzhiyun        "matchCount": "1",
37*4882a593Smuzhiyun        "teardown": [
38*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
39*4882a593Smuzhiyun        ]
40*4882a593Smuzhiyun    },
41*4882a593Smuzhiyun    {
42*4882a593Smuzhiyun        "id": "db37",
43*4882a593Smuzhiyun        "name": "Add prio qdisc on egress with invalid handle exceeding maximum value",
44*4882a593Smuzhiyun        "category": [
45*4882a593Smuzhiyun            "qdisc",
46*4882a593Smuzhiyun            "prio"
47*4882a593Smuzhiyun        ],
48*4882a593Smuzhiyun        "setup": [
49*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
50*4882a593Smuzhiyun        ],
51*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY root handle 10000: prio",
52*4882a593Smuzhiyun        "expExitCode": "255",
53*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
54*4882a593Smuzhiyun        "matchPattern": "qdisc prio 10000: root",
55*4882a593Smuzhiyun        "matchCount": "0",
56*4882a593Smuzhiyun        "teardown": [
57*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
58*4882a593Smuzhiyun        ]
59*4882a593Smuzhiyun    },
60*4882a593Smuzhiyun    {
61*4882a593Smuzhiyun        "id": "39d8",
62*4882a593Smuzhiyun        "name": "Add prio qdisc on egress with unsupported argument",
63*4882a593Smuzhiyun        "category": [
64*4882a593Smuzhiyun            "qdisc",
65*4882a593Smuzhiyun            "prio"
66*4882a593Smuzhiyun        ],
67*4882a593Smuzhiyun        "setup": [
68*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
69*4882a593Smuzhiyun        ],
70*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root prio foorbar",
71*4882a593Smuzhiyun        "expExitCode": "1",
72*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
73*4882a593Smuzhiyun        "matchPattern": "qdisc prio 1: root",
74*4882a593Smuzhiyun        "matchCount": "0",
75*4882a593Smuzhiyun        "teardown": [
76*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
77*4882a593Smuzhiyun        ]
78*4882a593Smuzhiyun    },
79*4882a593Smuzhiyun    {
80*4882a593Smuzhiyun        "id": "5769",
81*4882a593Smuzhiyun        "name": "Add prio qdisc on egress with 4 bands and new priomap",
82*4882a593Smuzhiyun        "category": [
83*4882a593Smuzhiyun            "qdisc",
84*4882a593Smuzhiyun            "prio"
85*4882a593Smuzhiyun        ],
86*4882a593Smuzhiyun        "setup": [
87*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
88*4882a593Smuzhiyun        ],
89*4882a593Smuzhiyun        "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",
90*4882a593Smuzhiyun        "expExitCode": "0",
91*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
92*4882a593Smuzhiyun        "matchPattern": "qdisc prio 1: root.*bands 4 priomap.*1 1 2 2 3 3 0 0 1 2 3 0 0 0 0 0",
93*4882a593Smuzhiyun        "matchCount": "1",
94*4882a593Smuzhiyun        "teardown": [
95*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root prio",
96*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
97*4882a593Smuzhiyun        ]
98*4882a593Smuzhiyun    },
99*4882a593Smuzhiyun    {
100*4882a593Smuzhiyun        "id": "fe0f",
101*4882a593Smuzhiyun        "name": "Add prio qdisc on egress with 4 bands and priomap exceeding TC_PRIO_MAX entries",
102*4882a593Smuzhiyun        "category": [
103*4882a593Smuzhiyun            "qdisc",
104*4882a593Smuzhiyun            "prio"
105*4882a593Smuzhiyun        ],
106*4882a593Smuzhiyun        "setup": [
107*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
108*4882a593Smuzhiyun        ],
109*4882a593Smuzhiyun        "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",
110*4882a593Smuzhiyun        "expExitCode": "1",
111*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
112*4882a593Smuzhiyun        "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",
113*4882a593Smuzhiyun        "matchCount": "0",
114*4882a593Smuzhiyun        "teardown": [
115*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
116*4882a593Smuzhiyun        ]
117*4882a593Smuzhiyun    },
118*4882a593Smuzhiyun    {
119*4882a593Smuzhiyun        "id": "1f91",
120*4882a593Smuzhiyun        "name": "Add prio qdisc on egress with 4 bands and priomap's values exceeding bands number",
121*4882a593Smuzhiyun        "category": [
122*4882a593Smuzhiyun            "qdisc",
123*4882a593Smuzhiyun            "prio"
124*4882a593Smuzhiyun        ],
125*4882a593Smuzhiyun        "setup": [
126*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
127*4882a593Smuzhiyun        ],
128*4882a593Smuzhiyun        "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",
129*4882a593Smuzhiyun        "expExitCode": "1",
130*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
131*4882a593Smuzhiyun        "matchPattern": "qdisc prio 1: root.*bands 4 priomap.*1 1 2 2 7 5 0 0 1 2 3 0 0 0 0 0",
132*4882a593Smuzhiyun        "matchCount": "0",
133*4882a593Smuzhiyun        "teardown": [
134*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
135*4882a593Smuzhiyun        ]
136*4882a593Smuzhiyun    },
137*4882a593Smuzhiyun    {
138*4882a593Smuzhiyun        "id": "d248",
139*4882a593Smuzhiyun        "name": "Add prio qdisc on egress with invalid bands value (< 2)",
140*4882a593Smuzhiyun        "category": [
141*4882a593Smuzhiyun            "qdisc",
142*4882a593Smuzhiyun            "prio"
143*4882a593Smuzhiyun        ],
144*4882a593Smuzhiyun        "setup": [
145*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
146*4882a593Smuzhiyun        ],
147*4882a593Smuzhiyun        "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",
148*4882a593Smuzhiyun        "expExitCode": "2",
149*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
150*4882a593Smuzhiyun        "matchPattern": "qdisc prio 1: root.*bands 1 priomap.*0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0",
151*4882a593Smuzhiyun        "matchCount": "0",
152*4882a593Smuzhiyun        "teardown": [
153*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
154*4882a593Smuzhiyun        ]
155*4882a593Smuzhiyun    },
156*4882a593Smuzhiyun    {
157*4882a593Smuzhiyun        "id": "1d0e",
158*4882a593Smuzhiyun        "name": "Add prio qdisc on egress with invalid bands value exceeding TCQ_PRIO_BANDS",
159*4882a593Smuzhiyun        "category": [
160*4882a593Smuzhiyun            "qdisc",
161*4882a593Smuzhiyun            "prio"
162*4882a593Smuzhiyun        ],
163*4882a593Smuzhiyun        "setup": [
164*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
165*4882a593Smuzhiyun        ],
166*4882a593Smuzhiyun        "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",
167*4882a593Smuzhiyun        "expExitCode": "2",
168*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
169*4882a593Smuzhiyun        "matchPattern": "qdisc prio 1: root.*bands 1024 priomap.*1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16",
170*4882a593Smuzhiyun        "matchCount": "0",
171*4882a593Smuzhiyun        "teardown": [
172*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
173*4882a593Smuzhiyun        ]
174*4882a593Smuzhiyun    },
175*4882a593Smuzhiyun    {
176*4882a593Smuzhiyun        "id": "1971",
177*4882a593Smuzhiyun        "name": "Replace default prio qdisc on egress with 8 bands and new priomap",
178*4882a593Smuzhiyun        "category": [
179*4882a593Smuzhiyun            "qdisc",
180*4882a593Smuzhiyun            "prio"
181*4882a593Smuzhiyun        ],
182*4882a593Smuzhiyun        "setup": [
183*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true",
184*4882a593Smuzhiyun            "$TC qdisc add dev $DUMMY handle 1: root prio"
185*4882a593Smuzhiyun        ],
186*4882a593Smuzhiyun        "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",
187*4882a593Smuzhiyun        "expExitCode": "0",
188*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
189*4882a593Smuzhiyun        "matchPattern": "qdisc prio 1: root.*bands 8 priomap.*1 1 2 2 3 3 4 4 5 5 6 6 7 7 0 0",
190*4882a593Smuzhiyun        "matchCount": "1",
191*4882a593Smuzhiyun        "teardown": [
192*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root prio",
193*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
194*4882a593Smuzhiyun        ]
195*4882a593Smuzhiyun    },
196*4882a593Smuzhiyun    {
197*4882a593Smuzhiyun        "id": "d88a",
198*4882a593Smuzhiyun        "name": "Add duplicate prio qdisc on egress",
199*4882a593Smuzhiyun        "category": [
200*4882a593Smuzhiyun            "qdisc",
201*4882a593Smuzhiyun            "prio"
202*4882a593Smuzhiyun        ],
203*4882a593Smuzhiyun        "setup": [
204*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true",
205*4882a593Smuzhiyun            "$TC qdisc add dev $DUMMY handle 1: root prio"
206*4882a593Smuzhiyun        ],
207*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root prio",
208*4882a593Smuzhiyun        "expExitCode": "2",
209*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
210*4882a593Smuzhiyun        "matchPattern": "qdisc prio 1: root",
211*4882a593Smuzhiyun        "matchCount": "1",
212*4882a593Smuzhiyun        "teardown": [
213*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root prio",
214*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
215*4882a593Smuzhiyun        ]
216*4882a593Smuzhiyun    },
217*4882a593Smuzhiyun    {
218*4882a593Smuzhiyun        "id": "5948",
219*4882a593Smuzhiyun        "name": "Delete nonexistent prio qdisc",
220*4882a593Smuzhiyun        "category": [
221*4882a593Smuzhiyun            "qdisc",
222*4882a593Smuzhiyun            "prio"
223*4882a593Smuzhiyun        ],
224*4882a593Smuzhiyun        "setup": [
225*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
226*4882a593Smuzhiyun        ],
227*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc del dev $DUMMY root handle 1: prio",
228*4882a593Smuzhiyun        "expExitCode": "2",
229*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
230*4882a593Smuzhiyun        "matchPattern": "qdisc prio 1: root",
231*4882a593Smuzhiyun        "matchCount": "0",
232*4882a593Smuzhiyun        "teardown": [
233*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
234*4882a593Smuzhiyun        ]
235*4882a593Smuzhiyun    },
236*4882a593Smuzhiyun    {
237*4882a593Smuzhiyun        "id": "6c0a",
238*4882a593Smuzhiyun        "name": "Add prio qdisc on egress with invalid format for handles",
239*4882a593Smuzhiyun        "category": [
240*4882a593Smuzhiyun            "qdisc",
241*4882a593Smuzhiyun            "prio"
242*4882a593Smuzhiyun        ],
243*4882a593Smuzhiyun        "setup": [
244*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
245*4882a593Smuzhiyun        ],
246*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY root handle 123^ prio",
247*4882a593Smuzhiyun        "expExitCode": "255",
248*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
249*4882a593Smuzhiyun        "matchPattern": "qdisc prio 123 root",
250*4882a593Smuzhiyun        "matchCount": "0",
251*4882a593Smuzhiyun        "teardown": [
252*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
253*4882a593Smuzhiyun        ]
254*4882a593Smuzhiyun    },
255*4882a593Smuzhiyun    {
256*4882a593Smuzhiyun        "id": "0175",
257*4882a593Smuzhiyun        "name": "Delete prio qdisc twice",
258*4882a593Smuzhiyun        "category": [
259*4882a593Smuzhiyun            "qdisc",
260*4882a593Smuzhiyun            "prio"
261*4882a593Smuzhiyun        ],
262*4882a593Smuzhiyun        "setup": [
263*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true",
264*4882a593Smuzhiyun            "$TC qdisc add dev $DUMMY root handle 1: prio",
265*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY root handle 1: prio"
266*4882a593Smuzhiyun        ],
267*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root prio",
268*4882a593Smuzhiyun        "expExitCode": "2",
269*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
270*4882a593Smuzhiyun        "matchPattern": "qdisc ingress ffff:",
271*4882a593Smuzhiyun        "matchCount": "0",
272*4882a593Smuzhiyun        "teardown": [
273*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
274*4882a593Smuzhiyun        ]
275*4882a593Smuzhiyun    }
276*4882a593Smuzhiyun]
277