xref: /linux/tools/testing/selftests/tc-testing/tc-tests/infra/qdiscs.json (revision 184e56e77c06a7eef68a021e9d4b11a11a8ab096)
1[
2    {
3        "id": "ca5e",
4        "name": "Check class delete notification for ffff:",
5        "category": [
6            "qdisc"
7        ],
8        "plugins": {
9            "requires": "nsPlugin"
10        },
11        "setup": [
12            "$IP link set dev $DUMMY up || true",
13            "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
14            "$TC qdisc add dev $DUMMY root handle 1: drr",
15            "$TC filter add dev $DUMMY parent 1: basic classid 1:1",
16            "$TC class add dev $DUMMY parent 1: classid 1:1 drr",
17            "$TC qdisc add dev $DUMMY parent 1:1 handle ffff: drr",
18            "$TC filter add dev $DUMMY parent ffff: basic classid ffff:1",
19            "$TC class add dev $DUMMY parent ffff: classid ffff:1 drr",
20            "$TC qdisc add dev $DUMMY parent ffff:1 netem delay 1s",
21            "ping -c1 -W0.01 -I $DUMMY 10.10.10.1 || true",
22            "$TC class del dev $DUMMY classid ffff:1",
23            "$TC class add dev $DUMMY parent ffff: classid ffff:1 drr"
24        ],
25        "cmdUnderTest": "ping -c1 -W0.01 -I $DUMMY 10.10.10.1",
26        "expExitCode": "1",
27        "verifyCmd": "$TC -s qdisc ls dev $DUMMY",
28        "matchPattern": "drr 1: root",
29        "matchCount": "1",
30        "teardown": [
31            "$TC qdisc del dev $DUMMY root handle 1: drr",
32            "$IP addr del 10.10.10.10/24 dev $DUMMY"
33        ]
34    },
35    {
36        "id": "e4b7",
37        "name": "Check class delete notification for root ffff:",
38        "category": [
39            "qdisc"
40        ],
41        "plugins": {
42            "requires": "nsPlugin"
43        },
44        "setup": [
45            "$IP link set dev $DUMMY up || true",
46            "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
47            "$TC qdisc add dev $DUMMY root handle ffff: drr",
48            "$TC filter add dev $DUMMY parent ffff: basic classid ffff:1",
49            "$TC class add dev $DUMMY parent ffff: classid ffff:1 drr",
50            "$TC qdisc add dev $DUMMY parent ffff:1 netem delay 1s",
51            "ping -c1 -W0.01 -I $DUMMY 10.10.10.1 || true",
52            "$TC class del dev $DUMMY classid ffff:1",
53            "$TC class add dev $DUMMY parent ffff: classid ffff:1 drr"
54        ],
55        "cmdUnderTest": "ping -c1 -W0.01 -I $DUMMY 10.10.10.1",
56        "expExitCode": "1",
57        "verifyCmd": "$TC qdisc ls dev $DUMMY",
58        "matchPattern": "drr ffff: root",
59        "matchCount": "1",
60        "teardown": [
61            "$TC qdisc del dev $DUMMY root handle ffff: drr",
62            "$IP addr del 10.10.10.10/24 dev $DUMMY"
63        ]
64    },
65    {
66        "id": "33a9",
67        "name": "Check ingress is not searchable on backlog update",
68        "category": [
69            "qdisc"
70        ],
71        "plugins": {
72            "requires": "nsPlugin"
73        },
74        "setup": [
75            "$IP link set dev $DUMMY up || true",
76            "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
77            "$TC qdisc add dev $DUMMY ingress",
78            "$TC qdisc add dev $DUMMY root handle 1: drr",
79            "$TC filter add dev $DUMMY parent 1: basic classid 1:1",
80            "$TC class add dev $DUMMY parent 1: classid 1:1 drr",
81            "$TC qdisc add dev $DUMMY parent 1:1 handle 2: drr",
82            "$TC filter add dev $DUMMY parent 2: basic classid 2:1",
83            "$TC class add dev $DUMMY parent 2: classid 2:1 drr",
84            "$TC qdisc add dev $DUMMY parent 2:1 netem delay 1s",
85            "ping -c1 -W0.01 -I $DUMMY 10.10.10.1 || true"
86        ],
87        "cmdUnderTest": "$TC class del dev $DUMMY classid 2:1",
88        "expExitCode": "0",
89        "verifyCmd": "$TC qdisc ls dev $DUMMY",
90        "matchPattern": "drr 1: root",
91        "matchCount": "1",
92        "teardown": [
93            "$TC qdisc del dev $DUMMY root handle 1: drr",
94            "$TC qdisc del dev $DUMMY ingress",
95            "$IP addr del 10.10.10.10/24 dev $DUMMY"
96        ]
97    },
98    {
99	"id": "a4b9",
100	"name": "Test class qlen notification",
101	"category": [
102	    "qdisc"
103	],
104	"plugins": {
105	    "requires": "nsPlugin"
106	},
107	"setup": [
108            "$IP link set dev $DUMMY up || true",
109            "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
110            "$TC qdisc add dev $DUMMY root handle 1: drr",
111            "$TC filter add dev $DUMMY parent 1: basic classid 1:1",
112            "$TC class add dev $DUMMY parent 1: classid 1:1 drr",
113            "$TC qdisc add dev $DUMMY parent 1:1 handle 2: netem",
114            "$TC qdisc add dev $DUMMY parent 2: handle 3: drr",
115            "$TC filter add dev $DUMMY parent 3: basic action drop",
116            "$TC class add dev $DUMMY parent 3: classid 3:1 drr",
117            "$TC class del dev $DUMMY classid 1:1",
118            "$TC class add dev $DUMMY parent 1: classid 1:1 drr"
119        ],
120        "cmdUnderTest": "ping -c1 -W0.01 -I $DUMMY 10.10.10.1",
121        "expExitCode": "1",
122        "verifyCmd": "$TC qdisc ls dev $DUMMY",
123        "matchPattern": "drr 1: root",
124        "matchCount": "1",
125        "teardown": [
126            "$TC qdisc del dev $DUMMY root handle 1: drr",
127            "$IP addr del 10.10.10.10/24 dev $DUMMY"
128        ]
129    },
130    {
131        "id": "c024",
132        "name": "Test TBF with SKBPRIO - catch qlen corner cases",
133        "category": [
134            "qdisc",
135            "tbf",
136            "skbprio"
137        ],
138        "plugins": {
139            "requires": "nsPlugin"
140        },
141        "setup": [
142            "$IP link set dev $DUMMY up || true",
143            "$IP addr add 10.10.10.10/24 dev $DUMMY || true",
144            "$TC qdisc add dev $DUMMY handle 1: root tbf rate 100bit burst 2000 limit 1000",
145            "$TC qdisc add dev $DUMMY parent 1: handle 10: skbprio limit 1",
146            "ping -c 1 -W 0.1 -Q 0x00 -s 1400 -I $DUMMY 10.10.10.1 > /dev/null || true",
147            "ping -c 1 -W 0.1 -Q 0x1c -s 1400 -I $DUMMY 10.10.10.1 > /dev/null || true",
148            "ping -c 1 -W 0.1 -Q 0x00 -s 1400 -I $DUMMY 10.10.10.1 > /dev/null || true",
149            "ping -c 1 -W 0.1 -Q 0x1c -s 1400 -I $DUMMY 10.10.10.1 > /dev/null || true",
150            "sleep 0.5"
151        ],
152        "cmdUnderTest": "$TC -s qdisc show dev $DUMMY",
153        "expExitCode": "0",
154        "verifyCmd": "$TC -s qdisc show dev $DUMMY | grep -A 5 'qdisc skbprio'",
155        "matchPattern": "dropped [1-9][0-9]*",
156        "matchCount": "1",
157        "teardown": [
158            "$TC qdisc del dev $DUMMY handle 1: root",
159            "$IP addr del 10.10.10.10/24 dev $DUMMY || true"
160        ]
161    }
162]
163