xref: /OK3568_Linux_fs/kernel/tools/testing/selftests/tc-testing/tc-tests/qdiscs/fifo.json (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun[
2*4882a593Smuzhiyun    {
3*4882a593Smuzhiyun        "id": "a519",
4*4882a593Smuzhiyun        "name": "Add bfifo qdisc with system default parameters on egress",
5*4882a593Smuzhiyun        "__comment": "When omitted, queue size in bfifo is calculated as: txqueuelen * (MTU + LinkLayerHdrSize), where LinkLayerHdrSize=14 for Ethernet",
6*4882a593Smuzhiyun        "category": [
7*4882a593Smuzhiyun            "qdisc",
8*4882a593Smuzhiyun            "fifo"
9*4882a593Smuzhiyun        ],
10*4882a593Smuzhiyun        "setup": [
11*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
12*4882a593Smuzhiyun        ],
13*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root bfifo",
14*4882a593Smuzhiyun        "expExitCode": "0",
15*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
16*4882a593Smuzhiyun        "matchPattern": "qdisc bfifo 1: root.*limit [0-9]+b",
17*4882a593Smuzhiyun        "matchCount": "1",
18*4882a593Smuzhiyun        "teardown": [
19*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root bfifo",
20*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
21*4882a593Smuzhiyun        ]
22*4882a593Smuzhiyun    },
23*4882a593Smuzhiyun    {
24*4882a593Smuzhiyun        "id": "585c",
25*4882a593Smuzhiyun        "name": "Add pfifo qdisc with system default parameters on egress",
26*4882a593Smuzhiyun        "__comment": "When omitted, queue size in pfifo is defaulted to the interface's txqueuelen value.",
27*4882a593Smuzhiyun        "category": [
28*4882a593Smuzhiyun            "qdisc",
29*4882a593Smuzhiyun            "fifo"
30*4882a593Smuzhiyun        ],
31*4882a593Smuzhiyun        "setup": [
32*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
33*4882a593Smuzhiyun        ],
34*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root pfifo",
35*4882a593Smuzhiyun        "expExitCode": "0",
36*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
37*4882a593Smuzhiyun        "matchPattern": "qdisc pfifo 1: root.*limit [0-9]+p",
38*4882a593Smuzhiyun        "matchCount": "1",
39*4882a593Smuzhiyun        "teardown": [
40*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root pfifo",
41*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
42*4882a593Smuzhiyun        ]
43*4882a593Smuzhiyun    },
44*4882a593Smuzhiyun    {
45*4882a593Smuzhiyun        "id": "a86e",
46*4882a593Smuzhiyun        "name": "Add bfifo qdisc with system default parameters on egress with handle of maximum value",
47*4882a593Smuzhiyun        "category": [
48*4882a593Smuzhiyun            "qdisc",
49*4882a593Smuzhiyun            "fifo"
50*4882a593Smuzhiyun        ],
51*4882a593Smuzhiyun        "setup": [
52*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
53*4882a593Smuzhiyun        ],
54*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY root handle ffff: bfifo",
55*4882a593Smuzhiyun        "expExitCode": "0",
56*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
57*4882a593Smuzhiyun        "matchPattern": "qdisc bfifo ffff: root.*limit [0-9]+b",
58*4882a593Smuzhiyun        "matchCount": "1",
59*4882a593Smuzhiyun        "teardown": [
60*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle ffff: root bfifo",
61*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
62*4882a593Smuzhiyun        ]
63*4882a593Smuzhiyun    },
64*4882a593Smuzhiyun    {
65*4882a593Smuzhiyun        "id": "9ac8",
66*4882a593Smuzhiyun        "name": "Add bfifo qdisc on egress with queue size of 3000 bytes",
67*4882a593Smuzhiyun        "category": [
68*4882a593Smuzhiyun            "qdisc",
69*4882a593Smuzhiyun            "fifo"
70*4882a593Smuzhiyun        ],
71*4882a593Smuzhiyun        "setup": [
72*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
73*4882a593Smuzhiyun        ],
74*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root bfifo limit 3000b",
75*4882a593Smuzhiyun        "expExitCode": "0",
76*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
77*4882a593Smuzhiyun        "matchPattern": "qdisc bfifo 1: root.*limit 3000b",
78*4882a593Smuzhiyun        "matchCount": "1",
79*4882a593Smuzhiyun        "teardown": [
80*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root bfifo",
81*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
82*4882a593Smuzhiyun        ]
83*4882a593Smuzhiyun    },
84*4882a593Smuzhiyun    {
85*4882a593Smuzhiyun        "id": "f4e6",
86*4882a593Smuzhiyun        "name": "Add pfifo qdisc on egress with queue size of 3000 packets",
87*4882a593Smuzhiyun        "category": [
88*4882a593Smuzhiyun            "qdisc",
89*4882a593Smuzhiyun            "fifo"
90*4882a593Smuzhiyun        ],
91*4882a593Smuzhiyun        "setup": [
92*4882a593Smuzhiyun            "$IP link add dev $DUMMY txqueuelen 3000 type dummy || /bin/true"
93*4882a593Smuzhiyun        ],
94*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root pfifo limit 3000",
95*4882a593Smuzhiyun        "expExitCode": "0",
96*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
97*4882a593Smuzhiyun        "matchPattern": "qdisc pfifo 1: root.*limit 3000p",
98*4882a593Smuzhiyun        "matchCount": "1",
99*4882a593Smuzhiyun        "teardown": [
100*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root pfifo",
101*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
102*4882a593Smuzhiyun        ]
103*4882a593Smuzhiyun    },
104*4882a593Smuzhiyun    {
105*4882a593Smuzhiyun        "id": "b1b1",
106*4882a593Smuzhiyun        "name": "Add bfifo qdisc with system default parameters on egress with invalid handle exceeding maximum value",
107*4882a593Smuzhiyun        "category": [
108*4882a593Smuzhiyun            "qdisc",
109*4882a593Smuzhiyun            "fifo"
110*4882a593Smuzhiyun        ],
111*4882a593Smuzhiyun        "setup": [
112*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
113*4882a593Smuzhiyun        ],
114*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY root handle 10000: bfifo",
115*4882a593Smuzhiyun        "expExitCode": "255",
116*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
117*4882a593Smuzhiyun        "matchPattern": "qdisc bfifo 10000: root.*limit [0-9]+b",
118*4882a593Smuzhiyun        "matchCount": "0",
119*4882a593Smuzhiyun        "teardown": [
120*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
121*4882a593Smuzhiyun        ]
122*4882a593Smuzhiyun    },
123*4882a593Smuzhiyun    {
124*4882a593Smuzhiyun        "id": "8d5e",
125*4882a593Smuzhiyun        "name": "Add bfifo qdisc on egress with unsupported argument",
126*4882a593Smuzhiyun        "category": [
127*4882a593Smuzhiyun            "qdisc",
128*4882a593Smuzhiyun            "fifo"
129*4882a593Smuzhiyun        ],
130*4882a593Smuzhiyun        "setup": [
131*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
132*4882a593Smuzhiyun        ],
133*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root bfifo foorbar",
134*4882a593Smuzhiyun        "expExitCode": "1",
135*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
136*4882a593Smuzhiyun        "matchPattern": "qdisc bfifo 1: root",
137*4882a593Smuzhiyun        "matchCount": "0",
138*4882a593Smuzhiyun        "teardown": [
139*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
140*4882a593Smuzhiyun        ]
141*4882a593Smuzhiyun    },
142*4882a593Smuzhiyun    {
143*4882a593Smuzhiyun        "id": "7787",
144*4882a593Smuzhiyun        "name": "Add pfifo qdisc on egress with unsupported argument",
145*4882a593Smuzhiyun        "category": [
146*4882a593Smuzhiyun            "qdisc",
147*4882a593Smuzhiyun            "fifo"
148*4882a593Smuzhiyun        ],
149*4882a593Smuzhiyun        "setup": [
150*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
151*4882a593Smuzhiyun        ],
152*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root pfifo foorbar",
153*4882a593Smuzhiyun        "expExitCode": "1",
154*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
155*4882a593Smuzhiyun        "matchPattern": "qdisc pfifo 1: root",
156*4882a593Smuzhiyun        "matchCount": "0",
157*4882a593Smuzhiyun        "teardown": [
158*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
159*4882a593Smuzhiyun        ]
160*4882a593Smuzhiyun    },
161*4882a593Smuzhiyun    {
162*4882a593Smuzhiyun        "id": "c4b6",
163*4882a593Smuzhiyun        "name": "Replace bfifo qdisc on egress with new queue size",
164*4882a593Smuzhiyun        "category": [
165*4882a593Smuzhiyun            "qdisc",
166*4882a593Smuzhiyun            "fifo"
167*4882a593Smuzhiyun        ],
168*4882a593Smuzhiyun        "setup": [
169*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy || /bin/true",
170*4882a593Smuzhiyun            "$IP link add dev $DUMMY txqueuelen 1000 type dummy",
171*4882a593Smuzhiyun            "$TC qdisc add dev $DUMMY handle 1: root bfifo"
172*4882a593Smuzhiyun        ],
173*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root bfifo limit 3000b",
174*4882a593Smuzhiyun        "expExitCode": "0",
175*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
176*4882a593Smuzhiyun        "matchPattern": "qdisc bfifo 1: root.*limit 3000b",
177*4882a593Smuzhiyun        "matchCount": "1",
178*4882a593Smuzhiyun        "teardown": [
179*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root bfifo",
180*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
181*4882a593Smuzhiyun        ]
182*4882a593Smuzhiyun    },
183*4882a593Smuzhiyun    {
184*4882a593Smuzhiyun        "id": "3df6",
185*4882a593Smuzhiyun        "name": "Replace pfifo qdisc on egress with new queue size",
186*4882a593Smuzhiyun        "category": [
187*4882a593Smuzhiyun            "qdisc",
188*4882a593Smuzhiyun            "fifo"
189*4882a593Smuzhiyun        ],
190*4882a593Smuzhiyun        "setup": [
191*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy || /bin/true",
192*4882a593Smuzhiyun            "$IP link add dev $DUMMY txqueuelen 1000 type dummy",
193*4882a593Smuzhiyun            "$TC qdisc add dev $DUMMY handle 1: root pfifo"
194*4882a593Smuzhiyun        ],
195*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root pfifo limit 30",
196*4882a593Smuzhiyun        "expExitCode": "0",
197*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
198*4882a593Smuzhiyun        "matchPattern": "qdisc pfifo 1: root.*limit 30p",
199*4882a593Smuzhiyun        "matchCount": "1",
200*4882a593Smuzhiyun        "teardown": [
201*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root pfifo",
202*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
203*4882a593Smuzhiyun        ]
204*4882a593Smuzhiyun    },
205*4882a593Smuzhiyun    {
206*4882a593Smuzhiyun        "id": "7a67",
207*4882a593Smuzhiyun        "name": "Add bfifo qdisc on egress with queue size in invalid format",
208*4882a593Smuzhiyun        "category": [
209*4882a593Smuzhiyun            "qdisc",
210*4882a593Smuzhiyun            "fifo"
211*4882a593Smuzhiyun        ],
212*4882a593Smuzhiyun        "setup": [
213*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
214*4882a593Smuzhiyun        ],
215*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root bfifo limit foo-bar",
216*4882a593Smuzhiyun        "expExitCode": "1",
217*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
218*4882a593Smuzhiyun        "matchPattern": "qdisc bfifo 1: root.*limit foo-bar",
219*4882a593Smuzhiyun        "matchCount": "0",
220*4882a593Smuzhiyun        "teardown": [
221*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
222*4882a593Smuzhiyun        ]
223*4882a593Smuzhiyun    },
224*4882a593Smuzhiyun    {
225*4882a593Smuzhiyun        "id": "1298",
226*4882a593Smuzhiyun        "name": "Add duplicate bfifo qdisc on egress",
227*4882a593Smuzhiyun        "category": [
228*4882a593Smuzhiyun            "qdisc",
229*4882a593Smuzhiyun            "fifo"
230*4882a593Smuzhiyun        ],
231*4882a593Smuzhiyun        "setup": [
232*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true",
233*4882a593Smuzhiyun            "$TC qdisc add dev $DUMMY handle 1: root bfifo"
234*4882a593Smuzhiyun        ],
235*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root bfifo",
236*4882a593Smuzhiyun        "expExitCode": "2",
237*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
238*4882a593Smuzhiyun        "matchPattern": "qdisc bfifo 1: root",
239*4882a593Smuzhiyun        "matchCount": "1",
240*4882a593Smuzhiyun        "teardown": [
241*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY handle 1: root bfifo",
242*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
243*4882a593Smuzhiyun        ]
244*4882a593Smuzhiyun    },
245*4882a593Smuzhiyun    {
246*4882a593Smuzhiyun        "id": "45a0",
247*4882a593Smuzhiyun        "name": "Delete nonexistent bfifo qdisc",
248*4882a593Smuzhiyun        "category": [
249*4882a593Smuzhiyun            "qdisc",
250*4882a593Smuzhiyun            "fifo"
251*4882a593Smuzhiyun        ],
252*4882a593Smuzhiyun        "setup": [
253*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
254*4882a593Smuzhiyun        ],
255*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc del dev $DUMMY root handle 1: bfifo",
256*4882a593Smuzhiyun        "expExitCode": "2",
257*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
258*4882a593Smuzhiyun        "matchPattern": "qdisc bfifo 1: root",
259*4882a593Smuzhiyun        "matchCount": "0",
260*4882a593Smuzhiyun        "teardown": [
261*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
262*4882a593Smuzhiyun        ]
263*4882a593Smuzhiyun    },
264*4882a593Smuzhiyun    {
265*4882a593Smuzhiyun        "id": "972b",
266*4882a593Smuzhiyun        "name": "Add prio qdisc on egress with invalid format for handles",
267*4882a593Smuzhiyun        "category": [
268*4882a593Smuzhiyun            "qdisc",
269*4882a593Smuzhiyun            "fifo"
270*4882a593Smuzhiyun        ],
271*4882a593Smuzhiyun        "setup": [
272*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true"
273*4882a593Smuzhiyun        ],
274*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc add dev $DUMMY root handle 123^ bfifo limit 100b",
275*4882a593Smuzhiyun        "expExitCode": "255",
276*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
277*4882a593Smuzhiyun        "matchPattern": "qdisc bfifo 123 root",
278*4882a593Smuzhiyun        "matchCount": "0",
279*4882a593Smuzhiyun        "teardown": [
280*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
281*4882a593Smuzhiyun        ]
282*4882a593Smuzhiyun    },
283*4882a593Smuzhiyun    {
284*4882a593Smuzhiyun        "id": "4d39",
285*4882a593Smuzhiyun        "name": "Delete bfifo qdisc twice",
286*4882a593Smuzhiyun        "category": [
287*4882a593Smuzhiyun            "qdisc",
288*4882a593Smuzhiyun            "fifo"
289*4882a593Smuzhiyun        ],
290*4882a593Smuzhiyun        "setup": [
291*4882a593Smuzhiyun            "$IP link add dev $DUMMY type dummy || /bin/true",
292*4882a593Smuzhiyun            "$TC qdisc add dev $DUMMY root handle 1: bfifo",
293*4882a593Smuzhiyun            "$TC qdisc del dev $DUMMY root handle 1: bfifo"
294*4882a593Smuzhiyun        ],
295*4882a593Smuzhiyun        "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root bfifo",
296*4882a593Smuzhiyun        "expExitCode": "2",
297*4882a593Smuzhiyun        "verifyCmd": "$TC qdisc show dev $DUMMY",
298*4882a593Smuzhiyun        "matchPattern": "qdisc bfifo 1: root",
299*4882a593Smuzhiyun        "matchCount": "0",
300*4882a593Smuzhiyun        "teardown": [
301*4882a593Smuzhiyun            "$IP link del dev $DUMMY type dummy"
302*4882a593Smuzhiyun        ]
303*4882a593Smuzhiyun    }
304*4882a593Smuzhiyun]
305