1*779f966fSZhengchao Shao[
2*779f966fSZhengchao Shao    {
3*779f966fSZhengchao Shao        "id": "cb28",
4*779f966fSZhengchao Shao        "name": "Create NETEM with default setting",
5*779f966fSZhengchao Shao        "category": [
6*779f966fSZhengchao Shao            "qdisc",
7*779f966fSZhengchao Shao            "netem"
8*779f966fSZhengchao Shao        ],
9*779f966fSZhengchao Shao        "plugins": {
10*779f966fSZhengchao Shao            "requires": "nsPlugin"
11*779f966fSZhengchao Shao        },
12*779f966fSZhengchao Shao        "setup": [
13*779f966fSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
14*779f966fSZhengchao Shao        ],
15*779f966fSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem",
16*779f966fSZhengchao Shao        "expExitCode": "0",
17*779f966fSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
18*779f966fSZhengchao Shao        "matchPattern": "qdisc netem 1: root refcnt [0-9]+ limit",
19*779f966fSZhengchao Shao        "matchCount": "1",
20*779f966fSZhengchao Shao        "teardown": [
21*779f966fSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
22*779f966fSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
23*779f966fSZhengchao Shao        ]
24*779f966fSZhengchao Shao    },
25*779f966fSZhengchao Shao    {
26*779f966fSZhengchao Shao        "id": "a089",
27*779f966fSZhengchao Shao        "name": "Create NETEM with limit flag",
28*779f966fSZhengchao Shao        "category": [
29*779f966fSZhengchao Shao            "qdisc",
30*779f966fSZhengchao Shao            "netem"
31*779f966fSZhengchao Shao        ],
32*779f966fSZhengchao Shao        "plugins": {
33*779f966fSZhengchao Shao            "requires": "nsPlugin"
34*779f966fSZhengchao Shao        },
35*779f966fSZhengchao Shao        "setup": [
36*779f966fSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
37*779f966fSZhengchao Shao        ],
38*779f966fSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem limit 200",
39*779f966fSZhengchao Shao        "expExitCode": "0",
40*779f966fSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
41*779f966fSZhengchao Shao        "matchPattern": "qdisc netem 1: root refcnt [0-9]+ limit 200",
42*779f966fSZhengchao Shao        "matchCount": "1",
43*779f966fSZhengchao Shao        "teardown": [
44*779f966fSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
45*779f966fSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
46*779f966fSZhengchao Shao        ]
47*779f966fSZhengchao Shao    },
48*779f966fSZhengchao Shao    {
49*779f966fSZhengchao Shao        "id": "3449",
50*779f966fSZhengchao Shao        "name": "Create NETEM with delay time",
51*779f966fSZhengchao Shao        "category": [
52*779f966fSZhengchao Shao            "qdisc",
53*779f966fSZhengchao Shao            "netem"
54*779f966fSZhengchao Shao        ],
55*779f966fSZhengchao Shao        "plugins": {
56*779f966fSZhengchao Shao            "requires": "nsPlugin"
57*779f966fSZhengchao Shao        },
58*779f966fSZhengchao Shao        "setup": [
59*779f966fSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
60*779f966fSZhengchao Shao        ],
61*779f966fSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms",
62*779f966fSZhengchao Shao        "expExitCode": "0",
63*779f966fSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
64*779f966fSZhengchao Shao        "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*delay 100ms",
65*779f966fSZhengchao Shao        "matchCount": "1",
66*779f966fSZhengchao Shao        "teardown": [
67*779f966fSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
68*779f966fSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
69*779f966fSZhengchao Shao        ]
70*779f966fSZhengchao Shao    },
71*779f966fSZhengchao Shao    {
72*779f966fSZhengchao Shao        "id": "3782",
73*779f966fSZhengchao Shao        "name": "Create NETEM with distribution and corrupt flag",
74*779f966fSZhengchao Shao        "category": [
75*779f966fSZhengchao Shao            "qdisc",
76*779f966fSZhengchao Shao            "netem"
77*779f966fSZhengchao Shao        ],
78*779f966fSZhengchao Shao        "plugins": {
79*779f966fSZhengchao Shao            "requires": "nsPlugin"
80*779f966fSZhengchao Shao        },
81*779f966fSZhengchao Shao        "setup": [
82*779f966fSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
83*779f966fSZhengchao Shao        ],
84*779f966fSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms distribution normal corrupt 1%",
85*779f966fSZhengchao Shao        "expExitCode": "0",
86*779f966fSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
87*779f966fSZhengchao Shao        "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*delay 100ms  10ms corrupt 1%",
88*779f966fSZhengchao Shao        "matchCount": "1",
89*779f966fSZhengchao Shao        "teardown": [
90*779f966fSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
91*779f966fSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
92*779f966fSZhengchao Shao        ]
93*779f966fSZhengchao Shao    },
94*779f966fSZhengchao Shao    {
95*779f966fSZhengchao Shao        "id": "2b82",
96*779f966fSZhengchao Shao        "name": "Create NETEM with distribution and duplicate flag",
97*779f966fSZhengchao Shao        "category": [
98*779f966fSZhengchao Shao            "qdisc",
99*779f966fSZhengchao Shao            "netem"
100*779f966fSZhengchao Shao        ],
101*779f966fSZhengchao Shao        "plugins": {
102*779f966fSZhengchao Shao            "requires": "nsPlugin"
103*779f966fSZhengchao Shao        },
104*779f966fSZhengchao Shao        "setup": [
105*779f966fSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
106*779f966fSZhengchao Shao        ],
107*779f966fSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms distribution normal duplicate 1%",
108*779f966fSZhengchao Shao        "expExitCode": "0",
109*779f966fSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
110*779f966fSZhengchao Shao        "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*delay 100ms  10ms duplicate 1%",
111*779f966fSZhengchao Shao        "matchCount": "1",
112*779f966fSZhengchao Shao        "teardown": [
113*779f966fSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
114*779f966fSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
115*779f966fSZhengchao Shao        ]
116*779f966fSZhengchao Shao    },
117*779f966fSZhengchao Shao    {
118*779f966fSZhengchao Shao        "id": "a932",
119*779f966fSZhengchao Shao        "name": "Create NETEM with distribution and loss flag",
120*779f966fSZhengchao Shao        "category": [
121*779f966fSZhengchao Shao            "qdisc",
122*779f966fSZhengchao Shao            "netem"
123*779f966fSZhengchao Shao        ],
124*779f966fSZhengchao Shao        "plugins": {
125*779f966fSZhengchao Shao            "requires": "nsPlugin"
126*779f966fSZhengchao Shao        },
127*779f966fSZhengchao Shao        "setup": [
128*779f966fSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
129*779f966fSZhengchao Shao        ],
130*779f966fSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms distribution pareto loss 1%",
131*779f966fSZhengchao Shao        "expExitCode": "0",
132*779f966fSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
133*779f966fSZhengchao Shao        "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*delay 100ms  10ms loss 1%",
134*779f966fSZhengchao Shao        "matchCount": "1",
135*779f966fSZhengchao Shao        "teardown": [
136*779f966fSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
137*779f966fSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
138*779f966fSZhengchao Shao        ]
139*779f966fSZhengchao Shao    },
140*779f966fSZhengchao Shao    {
141*779f966fSZhengchao Shao        "id": "e01a",
142*779f966fSZhengchao Shao        "name": "Create NETEM with distribution and loss state flag",
143*779f966fSZhengchao Shao        "category": [
144*779f966fSZhengchao Shao            "qdisc",
145*779f966fSZhengchao Shao            "netem"
146*779f966fSZhengchao Shao        ],
147*779f966fSZhengchao Shao        "plugins": {
148*779f966fSZhengchao Shao            "requires": "nsPlugin"
149*779f966fSZhengchao Shao        },
150*779f966fSZhengchao Shao        "setup": [
151*779f966fSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
152*779f966fSZhengchao Shao        ],
153*779f966fSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms distribution paretonormal loss state 1",
154*779f966fSZhengchao Shao        "expExitCode": "0",
155*779f966fSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
156*779f966fSZhengchao Shao        "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*delay 100ms  10ms loss state p13 1% p31 99% p32 0% p23 100% p14 0%",
157*779f966fSZhengchao Shao        "matchCount": "1",
158*779f966fSZhengchao Shao        "teardown": [
159*779f966fSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
160*779f966fSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
161*779f966fSZhengchao Shao        ]
162*779f966fSZhengchao Shao    },
163*779f966fSZhengchao Shao    {
164*779f966fSZhengchao Shao        "id": "ba29",
165*779f966fSZhengchao Shao        "name": "Create NETEM with loss gemodel flag",
166*779f966fSZhengchao Shao        "category": [
167*779f966fSZhengchao Shao            "qdisc",
168*779f966fSZhengchao Shao            "netem"
169*779f966fSZhengchao Shao        ],
170*779f966fSZhengchao Shao        "plugins": {
171*779f966fSZhengchao Shao            "requires": "nsPlugin"
172*779f966fSZhengchao Shao        },
173*779f966fSZhengchao Shao        "setup": [
174*779f966fSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
175*779f966fSZhengchao Shao        ],
176*779f966fSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem loss gemodel 1%",
177*779f966fSZhengchao Shao        "expExitCode": "0",
178*779f966fSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
179*779f966fSZhengchao Shao        "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*loss gemodel p 1%",
180*779f966fSZhengchao Shao        "matchCount": "1",
181*779f966fSZhengchao Shao        "teardown": [
182*779f966fSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
183*779f966fSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
184*779f966fSZhengchao Shao        ]
185*779f966fSZhengchao Shao    },
186*779f966fSZhengchao Shao    {
187*779f966fSZhengchao Shao        "id": "0492",
188*779f966fSZhengchao Shao        "name": "Create NETEM with reorder flag",
189*779f966fSZhengchao Shao        "category": [
190*779f966fSZhengchao Shao            "qdisc",
191*779f966fSZhengchao Shao            "netem"
192*779f966fSZhengchao Shao        ],
193*779f966fSZhengchao Shao        "plugins": {
194*779f966fSZhengchao Shao            "requires": "nsPlugin"
195*779f966fSZhengchao Shao        },
196*779f966fSZhengchao Shao        "setup": [
197*779f966fSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
198*779f966fSZhengchao Shao        ],
199*779f966fSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms reorder 2% gap 100",
200*779f966fSZhengchao Shao        "expExitCode": "0",
201*779f966fSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
202*779f966fSZhengchao Shao        "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*reorder 2%",
203*779f966fSZhengchao Shao        "matchCount": "1",
204*779f966fSZhengchao Shao        "teardown": [
205*779f966fSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
206*779f966fSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
207*779f966fSZhengchao Shao        ]
208*779f966fSZhengchao Shao    },
209*779f966fSZhengchao Shao    {
210*779f966fSZhengchao Shao        "id": "7862",
211*779f966fSZhengchao Shao        "name": "Create NETEM with rate limit",
212*779f966fSZhengchao Shao        "category": [
213*779f966fSZhengchao Shao            "qdisc",
214*779f966fSZhengchao Shao            "netem"
215*779f966fSZhengchao Shao        ],
216*779f966fSZhengchao Shao        "plugins": {
217*779f966fSZhengchao Shao            "requires": "nsPlugin"
218*779f966fSZhengchao Shao        },
219*779f966fSZhengchao Shao        "setup": [
220*779f966fSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
221*779f966fSZhengchao Shao        ],
222*779f966fSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem rate 20000",
223*779f966fSZhengchao Shao        "expExitCode": "0",
224*779f966fSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
225*779f966fSZhengchao Shao        "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*rate 20Kbit",
226*779f966fSZhengchao Shao        "matchCount": "1",
227*779f966fSZhengchao Shao        "teardown": [
228*779f966fSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
229*779f966fSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
230*779f966fSZhengchao Shao        ]
231*779f966fSZhengchao Shao    },
232*779f966fSZhengchao Shao    {
233*779f966fSZhengchao Shao        "id": "7235",
234*779f966fSZhengchao Shao        "name": "Create NETEM with multiple slot rate",
235*779f966fSZhengchao Shao        "category": [
236*779f966fSZhengchao Shao            "qdisc",
237*779f966fSZhengchao Shao            "netem"
238*779f966fSZhengchao Shao        ],
239*779f966fSZhengchao Shao        "plugins": {
240*779f966fSZhengchao Shao            "requires": "nsPlugin"
241*779f966fSZhengchao Shao        },
242*779f966fSZhengchao Shao        "setup": [
243*779f966fSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
244*779f966fSZhengchao Shao        ],
245*779f966fSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem slot 10 200 packets 2000 bytes 9000",
246*779f966fSZhengchao Shao        "expExitCode": "0",
247*779f966fSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
248*779f966fSZhengchao Shao        "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*slot 10ns 200ns packets 2000 bytes 9000",
249*779f966fSZhengchao Shao        "matchCount": "1",
250*779f966fSZhengchao Shao        "teardown": [
251*779f966fSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
252*779f966fSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
253*779f966fSZhengchao Shao        ]
254*779f966fSZhengchao Shao    },
255*779f966fSZhengchao Shao    {
256*779f966fSZhengchao Shao        "id": "5439",
257*779f966fSZhengchao Shao        "name": "Create NETEM with multiple slot setting",
258*779f966fSZhengchao Shao        "category": [
259*779f966fSZhengchao Shao            "qdisc",
260*779f966fSZhengchao Shao            "netem"
261*779f966fSZhengchao Shao        ],
262*779f966fSZhengchao Shao        "plugins": {
263*779f966fSZhengchao Shao            "requires": "nsPlugin"
264*779f966fSZhengchao Shao        },
265*779f966fSZhengchao Shao        "setup": [
266*779f966fSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
267*779f966fSZhengchao Shao        ],
268*779f966fSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem slot distribution pareto 1ms 0.1ms",
269*779f966fSZhengchao Shao        "expExitCode": "0",
270*779f966fSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
271*779f966fSZhengchao Shao        "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*slot distribution 1ms 100us",
272*779f966fSZhengchao Shao        "matchCount": "1",
273*779f966fSZhengchao Shao        "teardown": [
274*779f966fSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
275*779f966fSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
276*779f966fSZhengchao Shao        ]
277*779f966fSZhengchao Shao    },
278*779f966fSZhengchao Shao    {
279*779f966fSZhengchao Shao        "id": "5029",
280*779f966fSZhengchao Shao        "name": "Change NETEM with loss state",
281*779f966fSZhengchao Shao        "category": [
282*779f966fSZhengchao Shao            "qdisc",
283*779f966fSZhengchao Shao            "netem"
284*779f966fSZhengchao Shao        ],
285*779f966fSZhengchao Shao        "plugins": {
286*779f966fSZhengchao Shao            "requires": "nsPlugin"
287*779f966fSZhengchao Shao        },
288*779f966fSZhengchao Shao        "setup": [
289*779f966fSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true",
290*779f966fSZhengchao Shao            "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms distribution normal loss 1%"
291*779f966fSZhengchao Shao        ],
292*779f966fSZhengchao Shao        "cmdUnderTest": "$TC qdisc change dev $DUMMY handle 1: root netem delay 100ms 10ms distribution normal loss 2%",
293*779f966fSZhengchao Shao        "expExitCode": "0",
294*779f966fSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
295*779f966fSZhengchao Shao        "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*loss 2%",
296*779f966fSZhengchao Shao        "matchCount": "1",
297*779f966fSZhengchao Shao        "teardown": [
298*779f966fSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
299*779f966fSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
300*779f966fSZhengchao Shao        ]
301*779f966fSZhengchao Shao    },
302*779f966fSZhengchao Shao    {
303*779f966fSZhengchao Shao        "id": "3785",
304*779f966fSZhengchao Shao        "name": "Replace NETEM with delay time",
305*779f966fSZhengchao Shao        "category": [
306*779f966fSZhengchao Shao            "qdisc",
307*779f966fSZhengchao Shao            "netem"
308*779f966fSZhengchao Shao        ],
309*779f966fSZhengchao Shao        "plugins": {
310*779f966fSZhengchao Shao            "requires": "nsPlugin"
311*779f966fSZhengchao Shao        },
312*779f966fSZhengchao Shao        "setup": [
313*779f966fSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true",
314*779f966fSZhengchao Shao            "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms distribution normal loss 1%"
315*779f966fSZhengchao Shao        ],
316*779f966fSZhengchao Shao        "cmdUnderTest": "$TC qdisc replace dev $DUMMY handle 1: root netem delay 200ms 10ms",
317*779f966fSZhengchao Shao        "expExitCode": "0",
318*779f966fSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
319*779f966fSZhengchao Shao        "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*delay 200ms  10ms",
320*779f966fSZhengchao Shao        "matchCount": "1",
321*779f966fSZhengchao Shao        "teardown": [
322*779f966fSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
323*779f966fSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
324*779f966fSZhengchao Shao        ]
325*779f966fSZhengchao Shao    },
326*779f966fSZhengchao Shao    {
327*779f966fSZhengchao Shao        "id": "4502",
328*779f966fSZhengchao Shao        "name": "Delete NETEM with handle",
329*779f966fSZhengchao Shao        "category": [
330*779f966fSZhengchao Shao            "qdisc",
331*779f966fSZhengchao Shao            "netem"
332*779f966fSZhengchao Shao        ],
333*779f966fSZhengchao Shao        "plugins": {
334*779f966fSZhengchao Shao            "requires": "nsPlugin"
335*779f966fSZhengchao Shao        },
336*779f966fSZhengchao Shao        "setup": [
337*779f966fSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true",
338*779f966fSZhengchao Shao            "$TC qdisc add dev $DUMMY handle 1: root netem delay 100ms 10ms distribution normal"
339*779f966fSZhengchao Shao        ],
340*779f966fSZhengchao Shao        "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root",
341*779f966fSZhengchao Shao        "expExitCode": "0",
342*779f966fSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
343*779f966fSZhengchao Shao        "matchPattern": "qdisc netem 1: root refcnt [0-9]+ .*delay 100ms  10ms",
344*779f966fSZhengchao Shao        "matchCount": "0",
345*779f966fSZhengchao Shao        "teardown": [
346*779f966fSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
347*779f966fSZhengchao Shao        ]
348*779f966fSZhengchao Shao    },
349*779f966fSZhengchao Shao    {
350*779f966fSZhengchao Shao        "id": "0785",
351*779f966fSZhengchao Shao        "name": "Show NETEM class",
352*779f966fSZhengchao Shao        "category": [
353*779f966fSZhengchao Shao            "qdisc",
354*779f966fSZhengchao Shao            "netem"
355*779f966fSZhengchao Shao        ],
356*779f966fSZhengchao Shao        "plugins": {
357*779f966fSZhengchao Shao            "requires": "nsPlugin"
358*779f966fSZhengchao Shao        },
359*779f966fSZhengchao Shao        "setup": [
360*779f966fSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
361*779f966fSZhengchao Shao        ],
362*779f966fSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root netem",
363*779f966fSZhengchao Shao        "expExitCode": "0",
364*779f966fSZhengchao Shao        "verifyCmd": "$TC class show dev $DUMMY",
365*779f966fSZhengchao Shao        "matchPattern": "class netem 1:",
366*779f966fSZhengchao Shao        "matchCount": "0",
367*779f966fSZhengchao Shao        "teardown": [
368*779f966fSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
369*779f966fSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
370*779f966fSZhengchao Shao        ]
371*779f966fSZhengchao Shao    }
372*779f966fSZhengchao Shao]
373