1*0158f65bSZhengchao Shao[
2*0158f65bSZhengchao Shao    {
3*0158f65bSZhengchao Shao        "id": "7482",
4*0158f65bSZhengchao Shao        "name": "Create SFQ with default setting",
5*0158f65bSZhengchao Shao        "category": [
6*0158f65bSZhengchao Shao            "qdisc",
7*0158f65bSZhengchao Shao            "sfq"
8*0158f65bSZhengchao Shao        ],
9*0158f65bSZhengchao Shao        "plugins": {
10*0158f65bSZhengchao Shao            "requires": "nsPlugin"
11*0158f65bSZhengchao Shao        },
12*0158f65bSZhengchao Shao        "setup": [
13*0158f65bSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
14*0158f65bSZhengchao Shao        ],
15*0158f65bSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq",
16*0158f65bSZhengchao Shao        "expExitCode": "0",
17*0158f65bSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
18*0158f65bSZhengchao Shao        "matchPattern": "qdisc sfq 1: root refcnt [0-9]+ limit 127p quantum.*depth 127 divisor 1024",
19*0158f65bSZhengchao Shao        "matchCount": "1",
20*0158f65bSZhengchao Shao        "teardown": [
21*0158f65bSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
22*0158f65bSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
23*0158f65bSZhengchao Shao        ]
24*0158f65bSZhengchao Shao    },
25*0158f65bSZhengchao Shao    {
26*0158f65bSZhengchao Shao        "id": "c186",
27*0158f65bSZhengchao Shao        "name": "Create SFQ with limit setting",
28*0158f65bSZhengchao Shao        "category": [
29*0158f65bSZhengchao Shao            "qdisc",
30*0158f65bSZhengchao Shao            "sfq"
31*0158f65bSZhengchao Shao        ],
32*0158f65bSZhengchao Shao        "plugins": {
33*0158f65bSZhengchao Shao            "requires": "nsPlugin"
34*0158f65bSZhengchao Shao        },
35*0158f65bSZhengchao Shao        "setup": [
36*0158f65bSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
37*0158f65bSZhengchao Shao        ],
38*0158f65bSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq limit 8",
39*0158f65bSZhengchao Shao        "expExitCode": "0",
40*0158f65bSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
41*0158f65bSZhengchao Shao        "matchPattern": "qdisc sfq 1: root refcnt [0-9]+ limit 8p",
42*0158f65bSZhengchao Shao        "matchCount": "1",
43*0158f65bSZhengchao Shao        "teardown": [
44*0158f65bSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
45*0158f65bSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
46*0158f65bSZhengchao Shao        ]
47*0158f65bSZhengchao Shao    },
48*0158f65bSZhengchao Shao    {
49*0158f65bSZhengchao Shao        "id": "ae23",
50*0158f65bSZhengchao Shao        "name": "Create SFQ with perturb setting",
51*0158f65bSZhengchao Shao        "category": [
52*0158f65bSZhengchao Shao            "qdisc",
53*0158f65bSZhengchao Shao            "sfq"
54*0158f65bSZhengchao Shao        ],
55*0158f65bSZhengchao Shao        "plugins": {
56*0158f65bSZhengchao Shao            "requires": "nsPlugin"
57*0158f65bSZhengchao Shao        },
58*0158f65bSZhengchao Shao        "setup": [
59*0158f65bSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
60*0158f65bSZhengchao Shao        ],
61*0158f65bSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq perturb 10",
62*0158f65bSZhengchao Shao        "expExitCode": "0",
63*0158f65bSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
64*0158f65bSZhengchao Shao        "matchPattern": "depth 127 divisor 1024 perturb 10sec",
65*0158f65bSZhengchao Shao        "matchCount": "1",
66*0158f65bSZhengchao Shao        "teardown": [
67*0158f65bSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
68*0158f65bSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
69*0158f65bSZhengchao Shao        ]
70*0158f65bSZhengchao Shao    },
71*0158f65bSZhengchao Shao    {
72*0158f65bSZhengchao Shao        "id": "a430",
73*0158f65bSZhengchao Shao        "name": "Create SFQ with quantum setting",
74*0158f65bSZhengchao Shao        "category": [
75*0158f65bSZhengchao Shao            "qdisc",
76*0158f65bSZhengchao Shao            "sfq"
77*0158f65bSZhengchao Shao        ],
78*0158f65bSZhengchao Shao        "plugins": {
79*0158f65bSZhengchao Shao            "requires": "nsPlugin"
80*0158f65bSZhengchao Shao        },
81*0158f65bSZhengchao Shao        "setup": [
82*0158f65bSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
83*0158f65bSZhengchao Shao        ],
84*0158f65bSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq quantum 9000",
85*0158f65bSZhengchao Shao        "expExitCode": "0",
86*0158f65bSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
87*0158f65bSZhengchao Shao        "matchPattern": "qdisc sfq 1: root refcnt [0-9]+ limit 127p quantum 9000b depth 127 divisor 1024",
88*0158f65bSZhengchao Shao        "matchCount": "1",
89*0158f65bSZhengchao Shao        "teardown": [
90*0158f65bSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
91*0158f65bSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
92*0158f65bSZhengchao Shao        ]
93*0158f65bSZhengchao Shao    },
94*0158f65bSZhengchao Shao    {
95*0158f65bSZhengchao Shao        "id": "4539",
96*0158f65bSZhengchao Shao        "name": "Create SFQ with divisor setting",
97*0158f65bSZhengchao Shao        "category": [
98*0158f65bSZhengchao Shao            "qdisc",
99*0158f65bSZhengchao Shao            "sfq"
100*0158f65bSZhengchao Shao        ],
101*0158f65bSZhengchao Shao        "plugins": {
102*0158f65bSZhengchao Shao            "requires": "nsPlugin"
103*0158f65bSZhengchao Shao        },
104*0158f65bSZhengchao Shao        "setup": [
105*0158f65bSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
106*0158f65bSZhengchao Shao        ],
107*0158f65bSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq divisor 512",
108*0158f65bSZhengchao Shao        "expExitCode": "0",
109*0158f65bSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
110*0158f65bSZhengchao Shao        "matchPattern": "qdisc sfq 1: root refcnt [0-9]+ limit 127p quantum 1514b depth 127 divisor 512",
111*0158f65bSZhengchao Shao        "matchCount": "1",
112*0158f65bSZhengchao Shao        "teardown": [
113*0158f65bSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
114*0158f65bSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
115*0158f65bSZhengchao Shao        ]
116*0158f65bSZhengchao Shao    },
117*0158f65bSZhengchao Shao    {
118*0158f65bSZhengchao Shao        "id": "b089",
119*0158f65bSZhengchao Shao        "name": "Create SFQ with flows setting",
120*0158f65bSZhengchao Shao        "category": [
121*0158f65bSZhengchao Shao            "qdisc",
122*0158f65bSZhengchao Shao            "sfq"
123*0158f65bSZhengchao Shao        ],
124*0158f65bSZhengchao Shao        "plugins": {
125*0158f65bSZhengchao Shao            "requires": "nsPlugin"
126*0158f65bSZhengchao Shao        },
127*0158f65bSZhengchao Shao        "setup": [
128*0158f65bSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
129*0158f65bSZhengchao Shao        ],
130*0158f65bSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq flows 20",
131*0158f65bSZhengchao Shao        "expExitCode": "0",
132*0158f65bSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
133*0158f65bSZhengchao Shao        "matchPattern": "qdisc sfq 1: root refcnt",
134*0158f65bSZhengchao Shao        "matchCount": "1",
135*0158f65bSZhengchao Shao        "teardown": [
136*0158f65bSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
137*0158f65bSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
138*0158f65bSZhengchao Shao        ]
139*0158f65bSZhengchao Shao    },
140*0158f65bSZhengchao Shao    {
141*0158f65bSZhengchao Shao        "id": "99a0",
142*0158f65bSZhengchao Shao        "name": "Create SFQ with depth setting",
143*0158f65bSZhengchao Shao        "category": [
144*0158f65bSZhengchao Shao            "qdisc",
145*0158f65bSZhengchao Shao            "sfq"
146*0158f65bSZhengchao Shao        ],
147*0158f65bSZhengchao Shao        "plugins": {
148*0158f65bSZhengchao Shao            "requires": "nsPlugin"
149*0158f65bSZhengchao Shao        },
150*0158f65bSZhengchao Shao        "setup": [
151*0158f65bSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
152*0158f65bSZhengchao Shao        ],
153*0158f65bSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq depth 64",
154*0158f65bSZhengchao Shao        "expExitCode": "0",
155*0158f65bSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
156*0158f65bSZhengchao Shao        "matchPattern": "qdisc sfq 1: root refcnt [0-9]+ limit 127p quantum 1514b depth 64 divisor 1024",
157*0158f65bSZhengchao Shao        "matchCount": "1",
158*0158f65bSZhengchao Shao        "teardown": [
159*0158f65bSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
160*0158f65bSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
161*0158f65bSZhengchao Shao        ]
162*0158f65bSZhengchao Shao    },
163*0158f65bSZhengchao Shao    {
164*0158f65bSZhengchao Shao        "id": "7389",
165*0158f65bSZhengchao Shao        "name": "Create SFQ with headdrop setting",
166*0158f65bSZhengchao Shao        "category": [
167*0158f65bSZhengchao Shao            "qdisc",
168*0158f65bSZhengchao Shao            "sfq"
169*0158f65bSZhengchao Shao        ],
170*0158f65bSZhengchao Shao        "plugins": {
171*0158f65bSZhengchao Shao            "requires": "nsPlugin"
172*0158f65bSZhengchao Shao        },
173*0158f65bSZhengchao Shao        "setup": [
174*0158f65bSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
175*0158f65bSZhengchao Shao        ],
176*0158f65bSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq headdrop",
177*0158f65bSZhengchao Shao        "expExitCode": "0",
178*0158f65bSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
179*0158f65bSZhengchao Shao        "matchPattern": "qdisc sfq 1: root refcnt [0-9]+ limit 127p quantum 1514b depth 127 headdrop divisor 1024",
180*0158f65bSZhengchao Shao        "matchCount": "1",
181*0158f65bSZhengchao Shao        "teardown": [
182*0158f65bSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
183*0158f65bSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
184*0158f65bSZhengchao Shao        ]
185*0158f65bSZhengchao Shao    },
186*0158f65bSZhengchao Shao    {
187*0158f65bSZhengchao Shao        "id": "6472",
188*0158f65bSZhengchao Shao        "name": "Create SFQ with redflowlimit setting",
189*0158f65bSZhengchao Shao        "category": [
190*0158f65bSZhengchao Shao            "qdisc",
191*0158f65bSZhengchao Shao            "sfq"
192*0158f65bSZhengchao Shao        ],
193*0158f65bSZhengchao Shao        "plugins": {
194*0158f65bSZhengchao Shao            "requires": "nsPlugin"
195*0158f65bSZhengchao Shao        },
196*0158f65bSZhengchao Shao        "setup": [
197*0158f65bSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
198*0158f65bSZhengchao Shao        ],
199*0158f65bSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq redflowlimit 100000 min 8000 max 60000 probability 0.20 ecn headdrop",
200*0158f65bSZhengchao Shao        "expExitCode": "0",
201*0158f65bSZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
202*0158f65bSZhengchao Shao        "matchPattern": "qdisc sfq 1: root refcnt [0-9]+ limit 127p quantum 1514b depth 127 headdrop divisor 1024 ewma 6 min 8000b max 60000b probability 0.2 ecn",
203*0158f65bSZhengchao Shao        "matchCount": "1",
204*0158f65bSZhengchao Shao        "teardown": [
205*0158f65bSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
206*0158f65bSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
207*0158f65bSZhengchao Shao        ]
208*0158f65bSZhengchao Shao    },
209*0158f65bSZhengchao Shao    {
210*0158f65bSZhengchao Shao        "id": "8929",
211*0158f65bSZhengchao Shao        "name": "Show SFQ class",
212*0158f65bSZhengchao Shao        "category": [
213*0158f65bSZhengchao Shao            "qdisc",
214*0158f65bSZhengchao Shao            "sfq"
215*0158f65bSZhengchao Shao        ],
216*0158f65bSZhengchao Shao        "plugins": {
217*0158f65bSZhengchao Shao            "requires": "nsPlugin"
218*0158f65bSZhengchao Shao        },
219*0158f65bSZhengchao Shao        "setup": [
220*0158f65bSZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
221*0158f65bSZhengchao Shao        ],
222*0158f65bSZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root sfq",
223*0158f65bSZhengchao Shao        "expExitCode": "0",
224*0158f65bSZhengchao Shao        "verifyCmd": "$TC class show dev $DUMMY",
225*0158f65bSZhengchao Shao        "matchPattern": "class sfq 1:",
226*0158f65bSZhengchao Shao        "matchCount": "0",
227*0158f65bSZhengchao Shao        "teardown": [
228*0158f65bSZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
229*0158f65bSZhengchao Shao            "$IP link del dev $DUMMY type dummy"
230*0158f65bSZhengchao Shao        ]
231*0158f65bSZhengchao Shao    }
232*0158f65bSZhengchao Shao]
233