1[ 2 { 3 "id": "abdc", 4 "name": "Reference pedit action object in filter", 5 "category": [ 6 "infra", 7 "pedit" 8 ], 9 "setup": [ 10 "$IP link add dev $DUMMY type dummy || /bin/true", 11 "$TC qdisc add dev $DUMMY ingress", 12 "$TC action add action pedit munge offset 0 u8 clear index 1" 13 ], 14 "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action pedit index 1", 15 "expExitCode": "0", 16 "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall", 17 "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*", 18 "matchCount": "1", 19 "teardown": [ 20 "$TC qdisc del dev $DUMMY ingress", 21 "$IP link del dev $DUMMY type dummy", 22 "$TC actions flush action pedit" 23 ] 24 }, 25 { 26 "id": "7a70", 27 "name": "Reference mpls action object in filter", 28 "category": [ 29 "infra", 30 "mpls" 31 ], 32 "setup": [ 33 "$IP link add dev $DUMMY type dummy || /bin/true", 34 "$TC qdisc add dev $DUMMY ingress", 35 "$TC action add action mpls pop protocol ipv4 index 1" 36 ], 37 "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action mpls index 1", 38 "expExitCode": "0", 39 "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall", 40 "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*", 41 "matchCount": "1", 42 "teardown": [ 43 "$TC qdisc del dev $DUMMY ingress", 44 "$IP link del dev $DUMMY type dummy", 45 "$TC actions flush action mpls" 46 ] 47 }, 48 { 49 "id": "d241", 50 "name": "Reference bpf action object in filter", 51 "category": [ 52 "infra", 53 "bpf" 54 ], 55 "setup": [ 56 "$IP link add dev $DUMMY type dummy || /bin/true", 57 "$TC qdisc add dev $DUMMY ingress", 58 "$TC action add action bpf bytecode '4,40 0 0 12,21 0 1 2048,6 0 0 262144,6 0 0 0' index 1" 59 ], 60 "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action bpf index 1", 61 "expExitCode": "0", 62 "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall", 63 "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*", 64 "matchCount": "1", 65 "teardown": [ 66 "$TC qdisc del dev $DUMMY ingress", 67 "$IP link del dev $DUMMY type dummy", 68 "$TC actions flush action bpf" 69 ] 70 }, 71 { 72 "id": "383a", 73 "name": "Reference connmark action object in filter", 74 "category": [ 75 "infra", 76 "connmark" 77 ], 78 "setup": [ 79 "$IP link add dev $DUMMY type dummy || /bin/true", 80 "$TC qdisc add dev $DUMMY ingress", 81 "$TC actions add action connmark" 82 ], 83 "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action connmark index 1", 84 "expExitCode": "0", 85 "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall", 86 "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*", 87 "matchCount": "1", 88 "teardown": [ 89 "$TC qdisc del dev $DUMMY ingress", 90 "$IP link del dev $DUMMY type dummy", 91 "$TC actions flush action connmark" 92 ] 93 }, 94 { 95 "id": "c619", 96 "name": "Reference csum action object in filter", 97 "category": [ 98 "infra", 99 "csum" 100 ], 101 "setup": [ 102 "$IP link add dev $DUMMY type dummy || /bin/true", 103 "$TC qdisc add dev $DUMMY ingress", 104 "$TC actions add action csum ip4h index 1" 105 ], 106 "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action csum index 1", 107 "expExitCode": "0", 108 "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall", 109 "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*", 110 "matchCount": "1", 111 "teardown": [ 112 "$TC qdisc del dev $DUMMY ingress", 113 "$IP link del dev $DUMMY type dummy", 114 "$TC actions flush action csum" 115 ] 116 }, 117 { 118 "id": "a93d", 119 "name": "Reference ct action object in filter", 120 "category": [ 121 "infra", 122 "ct" 123 ], 124 "setup": [ 125 "$IP link add dev $DUMMY type dummy || /bin/true", 126 "$TC qdisc add dev $DUMMY ingress", 127 "$TC actions add action ct index 1" 128 ], 129 "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action ct index 1", 130 "expExitCode": "0", 131 "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall", 132 "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*", 133 "matchCount": "1", 134 "teardown": [ 135 "$TC qdisc del dev $DUMMY ingress", 136 "$IP link del dev $DUMMY type dummy", 137 "$TC actions flush action ct" 138 ] 139 }, 140 { 141 "id": "8bb5", 142 "name": "Reference ctinfo action object in filter", 143 "category": [ 144 "infra", 145 "ctinfo" 146 ], 147 "setup": [ 148 "$IP link add dev $DUMMY type dummy || /bin/true", 149 "$TC qdisc add dev $DUMMY ingress", 150 "$TC action add action ctinfo index 1" 151 ], 152 "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action ctinfo index 10", 153 "expExitCode": "0", 154 "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall", 155 "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*", 156 "matchCount": "1", 157 "teardown": [ 158 "$TC qdisc del dev $DUMMY ingress", 159 "$IP link del dev $DUMMY type dummy", 160 "$TC actions flush action ctinfo" 161 ] 162 }, 163 { 164 "id": "2241", 165 "name": "Reference gact action object in filter", 166 "category": [ 167 "infra", 168 "gact" 169 ], 170 "setup": [ 171 "$IP link add dev $DUMMY type dummy || /bin/true", 172 "$TC qdisc add dev $DUMMY ingress", 173 "$TC actions add action pass index 1" 174 ], 175 "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action gact index 1", 176 "expExitCode": "0", 177 "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall", 178 "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*", 179 "matchCount": "1", 180 "teardown": [ 181 "$TC qdisc del dev $DUMMY ingress", 182 "$IP link del dev $DUMMY type dummy", 183 "$TC actions flush action gact" 184 ] 185 }, 186 { 187 "id": "35e9", 188 "name": "Reference gate action object in filter", 189 "category": [ 190 "infra", 191 "gate" 192 ], 193 "setup": [ 194 "$IP link add dev $DUMMY type dummy || /bin/true", 195 "$TC qdisc add dev $DUMMY ingress", 196 "$TC action add action gate priority 1 sched-entry close 100000000ns index 1" 197 ], 198 "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action gate index 1", 199 "expExitCode": "0", 200 "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall", 201 "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*", 202 "matchCount": "1", 203 "teardown": [ 204 "$TC qdisc del dev $DUMMY ingress", 205 "$IP link del dev $DUMMY type dummy", 206 "$TC actions flush action gate" 207 ] 208 }, 209 { 210 "id": "b22e", 211 "name": "Reference ife action object in filter", 212 "category": [ 213 "infra", 214 "ife" 215 ], 216 "setup": [ 217 "$IP link add dev $DUMMY type dummy || /bin/true", 218 "$TC qdisc add dev $DUMMY ingress", 219 "$TC actions add action ife encode allow mark pass index 1" 220 ], 221 "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action ife index 1", 222 "expExitCode": "0", 223 "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall", 224 "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*", 225 "matchCount": "1", 226 "teardown": [ 227 "$TC qdisc del dev $DUMMY ingress", 228 "$IP link del dev $DUMMY type dummy", 229 "$TC actions flush action ife" 230 ] 231 }, 232 { 233 "id": "ef74", 234 "name": "Reference mirred action object in filter", 235 "category": [ 236 "infra", 237 "mirred" 238 ], 239 "setup": [ 240 "$IP link add dev $DUMMY type dummy || /bin/true", 241 "$TC qdisc add dev $DUMMY ingress", 242 "$TC actions add action mirred egress mirror index 1 dev lo" 243 ], 244 "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action mirred index 1", 245 "expExitCode": "0", 246 "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall", 247 "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*", 248 "matchCount": "1", 249 "teardown": [ 250 "$TC qdisc del dev $DUMMY ingress", 251 "$IP link del dev $DUMMY type dummy", 252 "$TC actions flush action mirred" 253 ] 254 }, 255 { 256 "id": "2c81", 257 "name": "Reference nat action object in filter", 258 "category": [ 259 "infra", 260 "nat" 261 ], 262 "setup": [ 263 "$IP link add dev $DUMMY type dummy || /bin/true", 264 "$TC qdisc add dev $DUMMY ingress", 265 "$TC actions add action nat ingress 192.168.1.1 200.200.200.1" 266 ], 267 "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action nat index 1", 268 "expExitCode": "0", 269 "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall", 270 "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*", 271 "matchCount": "1", 272 "teardown": [ 273 "$TC qdisc del dev $DUMMY ingress", 274 "$IP link del dev $DUMMY type dummy", 275 "$TC actions flush action nat" 276 ] 277 }, 278 { 279 "id": "ac9d", 280 "name": "Reference police action object in filter", 281 "category": [ 282 "infra", 283 "police" 284 ], 285 "setup": [ 286 "$IP link add dev $DUMMY type dummy || /bin/true", 287 "$TC qdisc add dev $DUMMY ingress", 288 "$TC actions add action police rate 1kbit burst 10k index 1" 289 ], 290 "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action police index 1", 291 "expExitCode": "0", 292 "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall", 293 "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*", 294 "matchCount": "1", 295 "teardown": [ 296 "$TC qdisc del dev $DUMMY ingress", 297 "$IP link del dev $DUMMY type dummy", 298 "$TC actions flush action police" 299 ] 300 }, 301 { 302 "id": "68be", 303 "name": "Reference sample action object in filter", 304 "category": [ 305 "infra", 306 "sample" 307 ], 308 "setup": [ 309 "$IP link add dev $DUMMY type dummy || /bin/true", 310 "$TC qdisc add dev $DUMMY ingress", 311 "$TC actions add action sample rate 10 group 1 index 1" 312 ], 313 "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action sample index 1", 314 "expExitCode": "0", 315 "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall", 316 "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*", 317 "matchCount": "1", 318 "teardown": [ 319 "$TC qdisc del dev $DUMMY ingress", 320 "$IP link del dev $DUMMY type dummy", 321 "$TC actions flush action sample" 322 ] 323 }, 324 { 325 "id": "cf01", 326 "name": "Reference skbedit action object in filter", 327 "category": [ 328 "infra", 329 "skbedit" 330 ], 331 "setup": [ 332 "$IP link add dev $DUMMY type dummy || /bin/true", 333 "$TC qdisc add dev $DUMMY ingress", 334 "$TC actions add action skbedit mark 1" 335 ], 336 "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action skbedit index 1", 337 "expExitCode": "0", 338 "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall", 339 "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*", 340 "matchCount": "1", 341 "teardown": [ 342 "$TC qdisc del dev $DUMMY ingress", 343 "$IP link del dev $DUMMY type dummy", 344 "$TC actions flush action skbedit" 345 ] 346 }, 347 { 348 "id": "c109", 349 "name": "Reference skbmod action object in filter", 350 "category": [ 351 "infra", 352 "skbmod" 353 ], 354 "setup": [ 355 "$IP link add dev $DUMMY type dummy || /bin/true", 356 "$TC qdisc add dev $DUMMY ingress", 357 "$TC actions add action skbmod set dmac 11:22:33:44:55:66 index 1" 358 ], 359 "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action skbmod index 1", 360 "expExitCode": "0", 361 "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall", 362 "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*", 363 "matchCount": "1", 364 "teardown": [ 365 "$TC qdisc del dev $DUMMY ingress", 366 "$IP link del dev $DUMMY type dummy", 367 "$TC actions flush action skbmod" 368 ] 369 }, 370 { 371 "id": "4abc", 372 "name": "Reference tunnel_key action object in filter", 373 "category": [ 374 "infra", 375 "tunnel_key" 376 ], 377 "setup": [ 378 "$IP link add dev $DUMMY type dummy || /bin/true", 379 "$TC qdisc add dev $DUMMY ingress", 380 "$TC actions add action tunnel_key set src_ip 10.10.10.1 dst_ip 20.20.20.2 id 1 index 1" 381 ], 382 "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action tunnel_key index 1", 383 "expExitCode": "0", 384 "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall", 385 "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*", 386 "matchCount": "1", 387 "teardown": [ 388 "$TC qdisc del dev $DUMMY ingress", 389 "$IP link del dev $DUMMY type dummy", 390 "$TC actions flush action tunnel_key" 391 ] 392 }, 393 { 394 "id": "dadd", 395 "name": "Reference vlan action object in filter", 396 "category": [ 397 "infra", 398 "tunnel_key" 399 ], 400 "setup": [ 401 "$IP link add dev $DUMMY type dummy || /bin/true", 402 "$TC qdisc add dev $DUMMY ingress", 403 "$TC actions add action vlan pop pipe index 1" 404 ], 405 "cmdUnderTest": "$TC filter add dev $DUMMY parent ffff: handle 0x1 prio 1 protocol ip matchall action vlan index 1", 406 "expExitCode": "0", 407 "verifyCmd": "$TC filter get dev $DUMMY parent ffff: handle 1 prio 1 protocol ip matchall", 408 "matchPattern": "^filter parent ffff: protocol ip pref 1 matchall.*handle 0x1.*", 409 "matchCount": "1", 410 "teardown": [ 411 "$TC qdisc del dev $DUMMY ingress", 412 "$IP link del dev $DUMMY type dummy", 413 "$TC actions flush action vlan" 414 ] 415 } 416] 417