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