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