1*856359c0SZhengchao Shao[
2*856359c0SZhengchao Shao    {
3*856359c0SZhengchao Shao        "id": "0582",
4*856359c0SZhengchao Shao        "name": "Create QFQ with default setting",
5*856359c0SZhengchao Shao        "category": [
6*856359c0SZhengchao Shao            "qdisc",
7*856359c0SZhengchao Shao            "qfq"
8*856359c0SZhengchao Shao        ],
9*856359c0SZhengchao Shao        "plugins": {
10*856359c0SZhengchao Shao            "requires": "nsPlugin"
11*856359c0SZhengchao Shao        },
12*856359c0SZhengchao Shao        "setup": [
13*856359c0SZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
14*856359c0SZhengchao Shao        ],
15*856359c0SZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root qfq",
16*856359c0SZhengchao Shao        "expExitCode": "0",
17*856359c0SZhengchao Shao        "verifyCmd": "$TC qdisc show dev $DUMMY",
18*856359c0SZhengchao Shao        "matchPattern": "qdisc qfq 1: root refcnt [0-9]+",
19*856359c0SZhengchao Shao        "matchCount": "1",
20*856359c0SZhengchao Shao        "teardown": [
21*856359c0SZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
22*856359c0SZhengchao Shao            "$IP link del dev $DUMMY type dummy"
23*856359c0SZhengchao Shao        ]
24*856359c0SZhengchao Shao    },
25*856359c0SZhengchao Shao    {
26*856359c0SZhengchao Shao        "id": "c9a3",
27*856359c0SZhengchao Shao        "name": "Create QFQ with class weight setting",
28*856359c0SZhengchao Shao        "category": [
29*856359c0SZhengchao Shao            "qdisc",
30*856359c0SZhengchao Shao            "qfq"
31*856359c0SZhengchao Shao        ],
32*856359c0SZhengchao Shao        "plugins": {
33*856359c0SZhengchao Shao            "requires": "nsPlugin"
34*856359c0SZhengchao Shao        },
35*856359c0SZhengchao Shao        "setup": [
36*856359c0SZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true",
37*856359c0SZhengchao Shao            "$TC qdisc add dev $DUMMY handle 1: root qfq"
38*856359c0SZhengchao Shao        ],
39*856359c0SZhengchao Shao        "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100",
40*856359c0SZhengchao Shao        "expExitCode": "0",
41*856359c0SZhengchao Shao        "verifyCmd": "$TC class show dev $DUMMY",
42*856359c0SZhengchao Shao        "matchPattern": "class qfq 1:1 root weight 100 maxpkt",
43*856359c0SZhengchao Shao        "matchCount": "1",
44*856359c0SZhengchao Shao        "teardown": [
45*856359c0SZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
46*856359c0SZhengchao Shao            "$IP link del dev $DUMMY type dummy"
47*856359c0SZhengchao Shao        ]
48*856359c0SZhengchao Shao    },
49*856359c0SZhengchao Shao    {
50*856359c0SZhengchao Shao        "id": "8452",
51*856359c0SZhengchao Shao        "name": "Create QFQ with class maxpkt setting",
52*856359c0SZhengchao Shao        "category": [
53*856359c0SZhengchao Shao            "qdisc",
54*856359c0SZhengchao Shao            "qfq"
55*856359c0SZhengchao Shao        ],
56*856359c0SZhengchao Shao        "plugins": {
57*856359c0SZhengchao Shao            "requires": "nsPlugin"
58*856359c0SZhengchao Shao        },
59*856359c0SZhengchao Shao        "setup": [
60*856359c0SZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true",
61*856359c0SZhengchao Shao            "$TC qdisc add dev $DUMMY handle 1: root qfq"
62*856359c0SZhengchao Shao        ],
63*856359c0SZhengchao Shao        "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:1 qfq maxpkt 2000",
64*856359c0SZhengchao Shao        "expExitCode": "0",
65*856359c0SZhengchao Shao        "verifyCmd": "$TC class show dev $DUMMY",
66*856359c0SZhengchao Shao        "matchPattern": "class qfq 1:1 root weight 1 maxpkt 2000",
67*856359c0SZhengchao Shao        "matchCount": "1",
68*856359c0SZhengchao Shao        "teardown": [
69*856359c0SZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
70*856359c0SZhengchao Shao            "$IP link del dev $DUMMY type dummy"
71*856359c0SZhengchao Shao        ]
72*856359c0SZhengchao Shao    },
73*856359c0SZhengchao Shao    {
74*856359c0SZhengchao Shao        "id": "d920",
75*856359c0SZhengchao Shao        "name": "Create QFQ with multiple class setting",
76*856359c0SZhengchao Shao        "category": [
77*856359c0SZhengchao Shao            "qdisc",
78*856359c0SZhengchao Shao            "qfq"
79*856359c0SZhengchao Shao        ],
80*856359c0SZhengchao Shao        "plugins": {
81*856359c0SZhengchao Shao            "requires": "nsPlugin"
82*856359c0SZhengchao Shao        },
83*856359c0SZhengchao Shao        "setup": [
84*856359c0SZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true",
85*856359c0SZhengchao Shao            "$TC qdisc add dev $DUMMY handle 1: root qfq",
86*856359c0SZhengchao Shao            "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100"
87*856359c0SZhengchao Shao        ],
88*856359c0SZhengchao Shao        "cmdUnderTest": "$TC class add dev $DUMMY parent 1: classid 1:2 qfq weight 200",
89*856359c0SZhengchao Shao        "expExitCode": "0",
90*856359c0SZhengchao Shao        "verifyCmd": "$TC class show dev $DUMMY",
91*856359c0SZhengchao Shao        "matchPattern": "class qfq 1:[0-9]+ root weight [0-9]+00 maxpkt",
92*856359c0SZhengchao Shao        "matchCount": "2",
93*856359c0SZhengchao Shao        "teardown": [
94*856359c0SZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
95*856359c0SZhengchao Shao            "$IP link del dev $DUMMY type dummy"
96*856359c0SZhengchao Shao        ]
97*856359c0SZhengchao Shao    },
98*856359c0SZhengchao Shao    {
99*856359c0SZhengchao Shao        "id": "0548",
100*856359c0SZhengchao Shao        "name": "Delete QFQ with handle",
101*856359c0SZhengchao Shao        "category": [
102*856359c0SZhengchao Shao            "qdisc",
103*856359c0SZhengchao Shao            "qfq"
104*856359c0SZhengchao Shao        ],
105*856359c0SZhengchao Shao        "plugins": {
106*856359c0SZhengchao Shao            "requires": "nsPlugin"
107*856359c0SZhengchao Shao        },
108*856359c0SZhengchao Shao        "setup": [
109*856359c0SZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true",
110*856359c0SZhengchao Shao            "$TC qdisc add dev $DUMMY handle 1: root qfq",
111*856359c0SZhengchao Shao            "$TC class add dev $DUMMY parent 1: classid 1:1 qfq weight 100"
112*856359c0SZhengchao Shao        ],
113*856359c0SZhengchao Shao        "cmdUnderTest": "$TC qdisc del dev $DUMMY handle 1: root",
114*856359c0SZhengchao Shao        "expExitCode": "0",
115*856359c0SZhengchao Shao        "verifyCmd": "$TC class show dev $DUMMY",
116*856359c0SZhengchao Shao        "matchPattern": "qdisc qfq 1: root refcnt [0-9]+",
117*856359c0SZhengchao Shao        "matchCount": "0",
118*856359c0SZhengchao Shao        "teardown": [
119*856359c0SZhengchao Shao            "$IP link del dev $DUMMY type dummy"
120*856359c0SZhengchao Shao        ]
121*856359c0SZhengchao Shao    },
122*856359c0SZhengchao Shao    {
123*856359c0SZhengchao Shao        "id": "5901",
124*856359c0SZhengchao Shao        "name": "Show QFQ class",
125*856359c0SZhengchao Shao        "category": [
126*856359c0SZhengchao Shao            "qdisc",
127*856359c0SZhengchao Shao            "qfq"
128*856359c0SZhengchao Shao        ],
129*856359c0SZhengchao Shao        "plugins": {
130*856359c0SZhengchao Shao            "requires": "nsPlugin"
131*856359c0SZhengchao Shao        },
132*856359c0SZhengchao Shao        "setup": [
133*856359c0SZhengchao Shao            "$IP link add dev $DUMMY type dummy || /bin/true"
134*856359c0SZhengchao Shao        ],
135*856359c0SZhengchao Shao        "cmdUnderTest": "$TC qdisc add dev $DUMMY handle 1: root qfq",
136*856359c0SZhengchao Shao        "expExitCode": "0",
137*856359c0SZhengchao Shao        "verifyCmd": "$TC class show dev $DUMMY",
138*856359c0SZhengchao Shao        "matchPattern": "class qfq 1:",
139*856359c0SZhengchao Shao        "matchCount": "0",
140*856359c0SZhengchao Shao        "teardown": [
141*856359c0SZhengchao Shao            "$TC qdisc del dev $DUMMY handle 1: root",
142*856359c0SZhengchao Shao            "$IP link del dev $DUMMY type dummy"
143*856359c0SZhengchao Shao        ]
144*856359c0SZhengchao Shao    }
145*856359c0SZhengchao Shao]
146