1 [ 1 [ 2 { 2 { 3 "id": "319a", 3 "id": "319a", 4 "name": "Add pedit action that mangles 4 "name": "Add pedit action that mangles IP TTL", 5 "category": [ 5 "category": [ 6 "actions", 6 "actions", 7 "pedit" 7 "pedit" 8 ], 8 ], 9 "plugins": { 9 "plugins": { 10 "requires": "nsPlugin" 10 "requires": "nsPlugin" 11 }, 11 }, 12 "setup": [ 12 "setup": [ 13 [ 13 [ 14 "$TC actions flush action pedi 14 "$TC actions flush action pedit", 15 0, 15 0, 16 1, 16 1, 17 255 17 255 18 ] 18 ] 19 ], 19 ], 20 "cmdUnderTest": "$TC actions add actio 20 "cmdUnderTest": "$TC actions add action pedit ex munge ip ttl set 10", 21 "expExitCode": "0", 21 "expExitCode": "0", 22 "verifyCmd": "$TC actions ls action pe 22 "verifyCmd": "$TC actions ls action pedit", 23 "matchPattern": "action order [0-9]+: 23 "matchPattern": "action order [0-9]+: pedit action pass keys 1.*index 1 ref.*key #0 at ipv4\\+8: val 0a000000 mask 00ffffff", 24 "matchCount": "1", 24 "matchCount": "1", 25 "teardown": [ 25 "teardown": [ 26 "$TC actions flush action pedit" 26 "$TC actions flush action pedit" 27 ] 27 ] 28 }, 28 }, 29 { 29 { 30 "id": "7e67", 30 "id": "7e67", 31 "name": "Replace pedit action with inv 31 "name": "Replace pedit action with invalid goto chain", 32 "category": [ 32 "category": [ 33 "actions", 33 "actions", 34 "pedit" 34 "pedit" 35 ], 35 ], 36 "plugins": { 36 "plugins": { 37 "requires": "nsPlugin" 37 "requires": "nsPlugin" 38 }, 38 }, 39 "setup": [ 39 "setup": [ 40 [ 40 [ 41 "$TC actions flush action pedi 41 "$TC actions flush action pedit", 42 0, 42 0, 43 1, 43 1, 44 255 44 255 45 ], 45 ], 46 "$TC actions add action pedit ex m 46 "$TC actions add action pedit ex munge ip ttl set 10 pass index 90" 47 ], 47 ], 48 "cmdUnderTest": "$TC actions replace a 48 "cmdUnderTest": "$TC actions replace action pedit ex munge ip ttl set 10 goto chain 42 index 90 cookie c1a0c1a0", 49 "expExitCode": "255", 49 "expExitCode": "255", 50 "verifyCmd": "$TC actions ls action pe 50 "verifyCmd": "$TC actions ls action pedit", 51 "matchPattern": "action order [0-9]+: 51 "matchPattern": "action order [0-9]+: pedit action pass keys 1.*index 90 ref.*key #0 at ipv4\\+8: val 0a000000 mask 00ffffff", 52 "matchCount": "1", 52 "matchCount": "1", 53 "teardown": [ 53 "teardown": [ 54 "$TC actions flush action pedit" 54 "$TC actions flush action pedit" 55 ] 55 ] 56 }, 56 }, 57 { 57 { 58 "id": "377e", 58 "id": "377e", 59 "name": "Add pedit action with RAW_OP 59 "name": "Add pedit action with RAW_OP offset u32", 60 "category": [ 60 "category": [ 61 "actions", 61 "actions", 62 "pedit", 62 "pedit", 63 "raw_op" 63 "raw_op" 64 ], 64 ], 65 "plugins": { 65 "plugins": { 66 "requires": "nsPlugin" 66 "requires": "nsPlugin" 67 }, 67 }, 68 "setup": [ 68 "setup": [ 69 [ 69 [ 70 "$TC actions flush action pedi 70 "$TC actions flush action pedit", 71 0, 71 0, 72 1, 72 1, 73 255 73 255 74 ] 74 ] 75 ], 75 ], 76 "cmdUnderTest": "$TC actions add actio 76 "cmdUnderTest": "$TC actions add action pedit munge offset 12 u32 set 0x90abcdef", 77 "expExitCode": "0", 77 "expExitCode": "0", 78 "verifyCmd": "$TC actions list action 78 "verifyCmd": "$TC actions list action pedit | grep 'key '", 79 "matchPattern": "12: val 90abcdef mask 79 "matchPattern": "12: val 90abcdef mask 00000000", 80 "matchCount": "1", 80 "matchCount": "1", 81 "teardown": [ 81 "teardown": [ 82 "$TC actions flush action pedit" 82 "$TC actions flush action pedit" 83 ] 83 ] 84 }, 84 }, 85 { 85 { 86 "id": "a0ca", 86 "id": "a0ca", 87 "name": "Add pedit action with RAW_OP 87 "name": "Add pedit action with RAW_OP offset u32 (INVALID)", 88 "category": [ 88 "category": [ 89 "actions", 89 "actions", 90 "pedit", 90 "pedit", 91 "raw_op" 91 "raw_op" 92 ], 92 ], 93 "plugins": { 93 "plugins": { 94 "requires": "nsPlugin" 94 "requires": "nsPlugin" 95 }, 95 }, 96 "setup": [ 96 "setup": [ 97 [ 97 [ 98 "$TC actions flush action pedi 98 "$TC actions flush action pedit", 99 0, 99 0, 100 1, 100 1, 101 255 101 255 102 ] 102 ] 103 ], 103 ], 104 "cmdUnderTest": "$TC actions add actio 104 "cmdUnderTest": "$TC actions add action pedit munge offset 2 u32 set 0x12345678", 105 "expExitCode": "255", 105 "expExitCode": "255", 106 "verifyCmd": "/bin/true", 106 "verifyCmd": "/bin/true", 107 "matchPattern": " ", 107 "matchPattern": " ", 108 "matchCount": "0", 108 "matchCount": "0", 109 "teardown": [ 109 "teardown": [ 110 "$TC actions flush action pedit" 110 "$TC actions flush action pedit" 111 ] 111 ] 112 }, 112 }, 113 { 113 { 114 "id": "dd8a", 114 "id": "dd8a", 115 "name": "Add pedit action with RAW_OP 115 "name": "Add pedit action with RAW_OP offset u16 u16", 116 "category": [ 116 "category": [ 117 "actions", 117 "actions", 118 "pedit", 118 "pedit", 119 "raw_op" 119 "raw_op" 120 ], 120 ], 121 "plugins": { 121 "plugins": { 122 "requires": "nsPlugin" 122 "requires": "nsPlugin" 123 }, 123 }, 124 "setup": [ 124 "setup": [ 125 [ 125 [ 126 "$TC actions flush action pedi 126 "$TC actions flush action pedit", 127 0, 127 0, 128 1, 128 1, 129 255 129 255 130 ] 130 ] 131 ], 131 ], 132 "cmdUnderTest": "$TC actions add actio 132 "cmdUnderTest": "$TC actions add action pedit munge offset 12 u16 set 0x1234 munge offset 14 u16 set 0x5678", 133 "expExitCode": "0", 133 "expExitCode": "0", 134 "verifyCmd": "$TC actions list action 134 "verifyCmd": "$TC actions list action pedit | grep 'key '", 135 "matchPattern": "val 12340000 mask 000 135 "matchPattern": "val 12340000 mask 0000ffff.*val 00005678 mask ffff0000", 136 "matchCount": "1", 136 "matchCount": "1", 137 "teardown": [ 137 "teardown": [ 138 "$TC actions flush action pedit" 138 "$TC actions flush action pedit" 139 ] 139 ] 140 }, 140 }, 141 { 141 { 142 "id": "53db", 142 "id": "53db", 143 "name": "Add pedit action with RAW_OP 143 "name": "Add pedit action with RAW_OP offset u16 (INVALID)", 144 "category": [ 144 "category": [ 145 "actions", 145 "actions", 146 "pedit", 146 "pedit", 147 "raw_op" 147 "raw_op" 148 ], 148 ], 149 "plugins": { 149 "plugins": { 150 "requires": "nsPlugin" 150 "requires": "nsPlugin" 151 }, 151 }, 152 "setup": [ 152 "setup": [ 153 [ 153 [ 154 "$TC actions flush action pedi 154 "$TC actions flush action pedit", 155 0, 155 0, 156 1, 156 1, 157 255 157 255 158 ] 158 ] 159 ], 159 ], 160 "cmdUnderTest": "$TC actions add actio 160 "cmdUnderTest": "$TC actions add action pedit munge offset 15 u16 set 0x1234", 161 "expExitCode": "255", 161 "expExitCode": "255", 162 "verifyCmd": "/bin/true", 162 "verifyCmd": "/bin/true", 163 "matchPattern": " ", 163 "matchPattern": " ", 164 "matchCount": "0", 164 "matchCount": "0", 165 "teardown": [ 165 "teardown": [ 166 "$TC actions flush action pedit" 166 "$TC actions flush action pedit" 167 ] 167 ] 168 }, 168 }, 169 { 169 { 170 "id": "5c7e", 170 "id": "5c7e", 171 "name": "Add pedit action with RAW_OP 171 "name": "Add pedit action with RAW_OP offset u8 add value", 172 "category": [ 172 "category": [ 173 "actions", 173 "actions", 174 "pedit", 174 "pedit", 175 "raw_op" 175 "raw_op" 176 ], 176 ], 177 "plugins": { 177 "plugins": { 178 "requires": "nsPlugin" 178 "requires": "nsPlugin" 179 }, 179 }, 180 "setup": [ 180 "setup": [ 181 [ 181 [ 182 "$TC actions flush action pedi 182 "$TC actions flush action pedit", 183 0, 183 0, 184 1, 184 1, 185 255 185 255 186 ] 186 ] 187 ], 187 ], 188 "cmdUnderTest": "$TC actions add actio 188 "cmdUnderTest": "$TC actions add action pedit ex munge offset 16 u8 add 0xf", 189 "expExitCode": "0", 189 "expExitCode": "0", 190 "verifyCmd": "$TC actions list action 190 "verifyCmd": "$TC actions list action pedit | grep 'key '", 191 "matchPattern": " 16: add 0f000000 mas 191 "matchPattern": " 16: add 0f000000 mask 00ffffff", 192 "matchCount": "1", 192 "matchCount": "1", 193 "teardown": [ 193 "teardown": [ 194 "$TC actions flush action pedit" 194 "$TC actions flush action pedit" 195 ] 195 ] 196 }, 196 }, 197 { 197 { 198 "id": "2893", 198 "id": "2893", 199 "name": "Add pedit action with RAW_OP 199 "name": "Add pedit action with RAW_OP offset u8 quad", 200 "category": [ 200 "category": [ 201 "actions", 201 "actions", 202 "pedit", 202 "pedit", 203 "raw_op" 203 "raw_op" 204 ], 204 ], 205 "setup": [ 205 "setup": [ 206 [ 206 [ 207 "$TC actions flush action pedi 207 "$TC actions flush action pedit", 208 0, 208 0, 209 1, 209 1, 210 255 210 255 211 ] 211 ] 212 ], 212 ], 213 "cmdUnderTest": "$TC actions add actio 213 "cmdUnderTest": "$TC actions add action pedit munge offset 12 u8 set 0x12 munge offset 13 u8 set 0x34 munge offset 14 u8 set 0x56 munge offset 15 u8 set 0x78", 214 "expExitCode": "0", 214 "expExitCode": "0", 215 "verifyCmd": "$TC actions list action 215 "verifyCmd": "$TC actions list action pedit | grep 'key '", 216 "matchPattern": "val 12000000 mask 00f 216 "matchPattern": "val 12000000 mask 00ffffff.*val 00340000 mask ff00ffff.*val 00005600 mask ffff00ff.*val 00000078 mask ffffff00", 217 "matchCount": "1", 217 "matchCount": "1", 218 "teardown": [ 218 "teardown": [ 219 "$TC actions flush action pedit" 219 "$TC actions flush action pedit" 220 ] 220 ] 221 }, 221 }, 222 { 222 { 223 "id": "3a07", 223 "id": "3a07", 224 "name": "Add pedit action with RAW_OP 224 "name": "Add pedit action with RAW_OP offset u8-u16-u8", 225 "category": [ 225 "category": [ 226 "actions", 226 "actions", 227 "pedit", 227 "pedit", 228 "raw_op" 228 "raw_op" 229 ], 229 ], 230 "plugins": { 230 "plugins": { 231 "requires": "nsPlugin" 231 "requires": "nsPlugin" 232 }, 232 }, 233 "setup": [ 233 "setup": [ 234 [ 234 [ 235 "$TC actions flush action pedi 235 "$TC actions flush action pedit", 236 0, 236 0, 237 1, 237 1, 238 255 238 255 239 ] 239 ] 240 ], 240 ], 241 "cmdUnderTest": "$TC actions add actio 241 "cmdUnderTest": "$TC actions add action pedit munge offset 0 u8 set 0x12 munge offset 1 u16 set 0x3456 munge offset 3 u8 set 0x78", 242 "expExitCode": "0", 242 "expExitCode": "0", 243 "verifyCmd": "$TC actions list action 243 "verifyCmd": "$TC actions list action pedit | grep 'key '", 244 "matchPattern": "val 12000000 mask 00f 244 "matchPattern": "val 12000000 mask 00ffffff.*val 00345600 mask ff0000ff.*val 00000078 mask ffffff00", 245 "matchCount": "1", 245 "matchCount": "1", 246 "teardown": [ 246 "teardown": [ 247 "$TC actions flush action pedit" 247 "$TC actions flush action pedit" 248 ] 248 ] 249 }, 249 }, 250 { 250 { 251 "id": "ab0f", 251 "id": "ab0f", 252 "name": "Add pedit action with RAW_OP 252 "name": "Add pedit action with RAW_OP offset u16-u8-u8", 253 "category": [ 253 "category": [ 254 "actions", 254 "actions", 255 "pedit", 255 "pedit", 256 "raw_op" 256 "raw_op" 257 ], 257 ], 258 "plugins": { 258 "plugins": { 259 "requires": "nsPlugin" 259 "requires": "nsPlugin" 260 }, 260 }, 261 "setup": [ 261 "setup": [ 262 [ 262 [ 263 "$TC actions flush action pedi 263 "$TC actions flush action pedit", 264 0, 264 0, 265 1, 265 1, 266 255 266 255 267 ] 267 ] 268 ], 268 ], 269 "cmdUnderTest": "$TC actions add actio 269 "cmdUnderTest": "$TC actions add action pedit munge offset 0 u16 set 0x1234 munge offset 2 u8 set 0x56 munge offset 3 u8 set 0x78", 270 "expExitCode": "0", 270 "expExitCode": "0", 271 "verifyCmd": "$TC actions list action 271 "verifyCmd": "$TC actions list action pedit | grep 'key '", 272 "matchPattern": "val 12340000 mask 000 272 "matchPattern": "val 12340000 mask 0000ffff.*val 00005600 mask ffff00ff.*val 00000078 mask ffffff00", 273 "matchCount": "1", 273 "matchCount": "1", 274 "teardown": [ 274 "teardown": [ 275 "$TC actions flush action pedit" 275 "$TC actions flush action pedit" 276 ] 276 ] 277 }, 277 }, 278 { 278 { 279 "id": "9d12", 279 "id": "9d12", 280 "name": "Add pedit action with RAW_OP 280 "name": "Add pedit action with RAW_OP offset u32 set u16 clear u8 invert", 281 "category": [ 281 "category": [ 282 "actions", 282 "actions", 283 "pedit", 283 "pedit", 284 "raw_op" 284 "raw_op" 285 ], 285 ], 286 "plugins": { 286 "plugins": { 287 "requires": "nsPlugin" 287 "requires": "nsPlugin" 288 }, 288 }, 289 "setup": [ 289 "setup": [ 290 [ 290 [ 291 "$TC actions flush action pedi 291 "$TC actions flush action pedit", 292 0, 292 0, 293 1, 293 1, 294 255 294 255 295 ] 295 ] 296 ], 296 ], 297 "cmdUnderTest": "$TC actions add actio 297 "cmdUnderTest": "$TC actions add action pedit munge offset 0 u32 set 0x12345678 munge offset 1 u16 clear munge offset 2 u8 invert", 298 "expExitCode": "0", 298 "expExitCode": "0", 299 "verifyCmd": "$TC actions list action 299 "verifyCmd": "$TC actions list action pedit | grep 'key '", 300 "matchPattern": "val 12345678 mask 000 300 "matchPattern": "val 12345678 mask 00000000.*val 00000000 mask ff0000ff.*val 0000ff00 mask ffffffff", 301 "matchCount": "1", 301 "matchCount": "1", 302 "teardown": [ 302 "teardown": [ 303 "$TC actions flush action pedit" 303 "$TC actions flush action pedit" 304 ] 304 ] 305 }, 305 }, 306 { 306 { 307 "id": "ebfa", 307 "id": "ebfa", 308 "name": "Add pedit action with RAW_OP 308 "name": "Add pedit action with RAW_OP offset overflow u32 (INVALID)", 309 "category": [ 309 "category": [ 310 "actions", 310 "actions", 311 "pedit", 311 "pedit", 312 "raw_op" 312 "raw_op" 313 ], 313 ], 314 "plugins": { 314 "plugins": { 315 "requires": "nsPlugin" 315 "requires": "nsPlugin" 316 }, 316 }, 317 "setup": [ 317 "setup": [ 318 [ 318 [ 319 "$TC actions flush action pedi 319 "$TC actions flush action pedit", 320 0, 320 0, 321 1, 321 1, 322 255 322 255 323 ] 323 ] 324 ], 324 ], 325 "cmdUnderTest": "$TC actions add actio 325 "cmdUnderTest": "$TC actions add action pedit munge offset 0xffffffffffffffffffffffffffffffffffffffffff u32 set 0x1", 326 "expExitCode": "255", 326 "expExitCode": "255", 327 "verifyCmd": "/bin/true", 327 "verifyCmd": "/bin/true", 328 "matchPattern": " ", 328 "matchPattern": " ", 329 "matchCount": "0", 329 "matchCount": "0", 330 "teardown": [ 330 "teardown": [ 331 "$TC actions flush action pedit" 331 "$TC actions flush action pedit" 332 ] 332 ] 333 }, 333 }, 334 { 334 { 335 "id": "f512", 335 "id": "f512", 336 "name": "Add pedit action with RAW_OP 336 "name": "Add pedit action with RAW_OP offset u16 at offmask shift set", 337 "category": [ 337 "category": [ 338 "actions", 338 "actions", 339 "pedit", 339 "pedit", 340 "raw_op" 340 "raw_op" 341 ], 341 ], 342 "plugins": { 342 "plugins": { 343 "requires": "nsPlugin" 343 "requires": "nsPlugin" 344 }, 344 }, 345 "setup": [ 345 "setup": [ 346 [ 346 [ 347 "$TC actions flush action pedi 347 "$TC actions flush action pedit", 348 0, 348 0, 349 1, 349 1, 350 255 350 255 351 ] 351 ] 352 ], 352 ], 353 "cmdUnderTest": "$TC actions add actio 353 "cmdUnderTest": "$TC actions add action pedit munge offset 12 u16 at 12 ffff 1 set 0xaaaa", 354 "expExitCode": "0", 354 "expExitCode": "0", 355 "verifyCmd": "$TC actions list action 355 "verifyCmd": "$TC actions list action pedit | grep 'key '", 356 "matchPattern": " 12: val aaaa0000 mas 356 "matchPattern": " 12: val aaaa0000 mask 0000ffff", 357 "matchCount": "1", 357 "matchCount": "1", 358 "teardown": [ 358 "teardown": [ 359 "$TC actions flush action pedit" 359 "$TC actions flush action pedit" 360 ] 360 ] 361 }, 361 }, 362 { 362 { 363 "id": "c2cb", 363 "id": "c2cb", 364 "name": "Add pedit action with RAW_OP 364 "name": "Add pedit action with RAW_OP offset u32 retain value", 365 "category": [ 365 "category": [ 366 "actions", 366 "actions", 367 "pedit", 367 "pedit", 368 "raw_op" 368 "raw_op" 369 ], 369 ], 370 "plugins": { 370 "plugins": { 371 "requires": "nsPlugin" 371 "requires": "nsPlugin" 372 }, 372 }, 373 "setup": [ 373 "setup": [ 374 [ 374 [ 375 "$TC actions flush action pedi 375 "$TC actions flush action pedit", 376 0, 376 0, 377 1, 377 1, 378 255 378 255 379 ] 379 ] 380 ], 380 ], 381 "cmdUnderTest": "$TC actions add actio 381 "cmdUnderTest": "$TC actions add action pedit munge offset 12 u32 set 0x12345678 retain 0xff00", 382 "expExitCode": "0", 382 "expExitCode": "0", 383 "verifyCmd": "$TC actions list action 383 "verifyCmd": "$TC actions list action pedit | grep 'key '", 384 "matchPattern": " 12: val 00005600 mas 384 "matchPattern": " 12: val 00005600 mask ffff00ff", 385 "matchCount": "1", 385 "matchCount": "1", 386 "teardown": [ 386 "teardown": [ 387 "$TC actions flush action pedit" 387 "$TC actions flush action pedit" 388 ] 388 ] 389 }, 389 }, 390 { 390 { 391 "id": "1762", 391 "id": "1762", 392 "name": "Add pedit action with RAW_OP 392 "name": "Add pedit action with RAW_OP offset u8 clear value", 393 "category": [ 393 "category": [ 394 "actions", 394 "actions", 395 "pedit", 395 "pedit", 396 "raw_op" 396 "raw_op" 397 ], 397 ], 398 "plugins": { 398 "plugins": { 399 "requires": "nsPlugin" 399 "requires": "nsPlugin" 400 }, 400 }, 401 "setup": [ 401 "setup": [ 402 [ 402 [ 403 "$TC actions flush action pedi 403 "$TC actions flush action pedit", 404 0, 404 0, 405 1, 405 1, 406 255 406 255 407 ] 407 ] 408 ], 408 ], 409 "cmdUnderTest": "$TC actions add actio 409 "cmdUnderTest": "$TC actions add action pedit munge offset 0 u8 clear", 410 "expExitCode": "0", 410 "expExitCode": "0", 411 "verifyCmd": "$TC actions list action 411 "verifyCmd": "$TC actions list action pedit", 412 "matchPattern": "action order [0-9]+:. 412 "matchPattern": "action order [0-9]+:.*pedit.*keys 1.*key #0.*at 0: val 00000000 mask 00ffffff", 413 "matchCount": "1", 413 "matchCount": "1", 414 "teardown": [ 414 "teardown": [ 415 "$TC actions flush action pedit" 415 "$TC actions flush action pedit" 416 ] 416 ] 417 }, 417 }, 418 { 418 { 419 "id": "bcee", 419 "id": "bcee", 420 "name": "Add pedit action with RAW_OP 420 "name": "Add pedit action with RAW_OP offset u8 retain value", 421 "category": [ 421 "category": [ 422 "actions", 422 "actions", 423 "pedit", 423 "pedit", 424 "raw_op" 424 "raw_op" 425 ], 425 ], 426 "plugins": { 426 "plugins": { 427 "requires": "nsPlugin" 427 "requires": "nsPlugin" 428 }, 428 }, 429 "setup": [ 429 "setup": [ 430 [ 430 [ 431 "$TC actions flush action pedi 431 "$TC actions flush action pedit", 432 0, 432 0, 433 1, 433 1, 434 255 434 255 435 ] 435 ] 436 ], 436 ], 437 "cmdUnderTest": "$TC actions add actio 437 "cmdUnderTest": "$TC actions add action pedit munge offset 0 u8 set 0x11 retain 0x0f", 438 "expExitCode": "0", 438 "expExitCode": "0", 439 "verifyCmd": "$TC actions list action 439 "verifyCmd": "$TC actions list action pedit", 440 "matchPattern": "action order [0-9]+:. 440 "matchPattern": "action order [0-9]+:.*pedit.*keys 1.*key #0.*at 0: val 01000000 mask f0ffffff", 441 "matchCount": "1", 441 "matchCount": "1", 442 "teardown": [ 442 "teardown": [ 443 "$TC actions flush action pedit" 443 "$TC actions flush action pedit" 444 ] 444 ] 445 }, 445 }, 446 { 446 { 447 "id": "e89f", 447 "id": "e89f", 448 "name": "Add pedit action with RAW_OP 448 "name": "Add pedit action with RAW_OP offset u16 retain value", 449 "category": [ 449 "category": [ 450 "actions", 450 "actions", 451 "pedit", 451 "pedit", 452 "raw_op" 452 "raw_op" 453 ], 453 ], 454 "plugins": { 454 "plugins": { 455 "requires": "nsPlugin" 455 "requires": "nsPlugin" 456 }, 456 }, 457 "setup": [ 457 "setup": [ 458 [ 458 [ 459 "$TC actions flush action pedi 459 "$TC actions flush action pedit", 460 0, 460 0, 461 1, 461 1, 462 255 462 255 463 ] 463 ] 464 ], 464 ], 465 "cmdUnderTest": "$TC actions add actio 465 "cmdUnderTest": "$TC actions add action pedit munge offset 0 u16 set 0x1122 retain 0xff00", 466 "expExitCode": "0", 466 "expExitCode": "0", 467 "verifyCmd": "$TC actions list action 467 "verifyCmd": "$TC actions list action pedit", 468 "matchPattern": "action order [0-9]+:. 468 "matchPattern": "action order [0-9]+:.*pedit.*keys 1.*key #0.*at 0: val 11000000 mask 00ffffff", 469 "matchCount": "1", 469 "matchCount": "1", 470 "teardown": [ 470 "teardown": [ 471 "$TC actions flush action pedit" 471 "$TC actions flush action pedit" 472 ] 472 ] 473 }, 473 }, 474 { 474 { 475 "id": "c282", 475 "id": "c282", 476 "name": "Add pedit action with RAW_OP 476 "name": "Add pedit action with RAW_OP offset u32 clear value", 477 "category": [ 477 "category": [ 478 "actions", 478 "actions", 479 "pedit", 479 "pedit", 480 "raw_op" 480 "raw_op" 481 ], 481 ], 482 "plugins": { 482 "plugins": { 483 "requires": "nsPlugin" 483 "requires": "nsPlugin" 484 }, 484 }, 485 "setup": [ 485 "setup": [ 486 [ 486 [ 487 "$TC actions flush action pedi 487 "$TC actions flush action pedit", 488 0, 488 0, 489 1, 489 1, 490 255 490 255 491 ] 491 ] 492 ], 492 ], 493 "cmdUnderTest": "$TC actions add actio 493 "cmdUnderTest": "$TC actions add action pedit munge offset 0 u32 clear", 494 "expExitCode": "0", 494 "expExitCode": "0", 495 "verifyCmd": "$TC actions list action 495 "verifyCmd": "$TC actions list action pedit", 496 "matchPattern": "action order [0-9]+:. 496 "matchPattern": "action order [0-9]+:.*pedit.*keys 1.*key #0.*at 0: val 00000000 mask 00000000", 497 "matchCount": "1", 497 "matchCount": "1", 498 "teardown": [ 498 "teardown": [ 499 "$TC actions flush action pedit" 499 "$TC actions flush action pedit" 500 ] 500 ] 501 }, 501 }, 502 { 502 { 503 "id": "c422", 503 "id": "c422", 504 "name": "Add pedit action with RAW_OP 504 "name": "Add pedit action with RAW_OP offset u16 invert value", 505 "category": [ 505 "category": [ 506 "actions", 506 "actions", 507 "pedit", 507 "pedit", 508 "raw_op" 508 "raw_op" 509 ], 509 ], 510 "plugins": { 510 "plugins": { 511 "requires": "nsPlugin" 511 "requires": "nsPlugin" 512 }, 512 }, 513 "setup": [ 513 "setup": [ 514 [ 514 [ 515 "$TC actions flush action pedi 515 "$TC actions flush action pedit", 516 0, 516 0, 517 1, 517 1, 518 255 518 255 519 ] 519 ] 520 ], 520 ], 521 "cmdUnderTest": "$TC actions add actio 521 "cmdUnderTest": "$TC actions add action pedit munge offset 12 u16 invert", 522 "expExitCode": "0", 522 "expExitCode": "0", 523 "verifyCmd": "$TC actions list action 523 "verifyCmd": "$TC actions list action pedit", 524 "matchPattern": "action order [0-9]+:. 524 "matchPattern": "action order [0-9]+:.*pedit.*keys 1.*key #0.*at 12: val ffff0000 mask ffffffff", 525 "matchCount": "1", 525 "matchCount": "1", 526 "teardown": [ 526 "teardown": [ 527 "$TC actions flush action pedit" 527 "$TC actions flush action pedit" 528 ] 528 ] 529 }, 529 }, 530 { 530 { 531 "id": "d3d3", 531 "id": "d3d3", 532 "name": "Add pedit action with RAW_OP 532 "name": "Add pedit action with RAW_OP offset u32 invert value", 533 "category": [ 533 "category": [ 534 "actions", 534 "actions", 535 "pedit", 535 "pedit", 536 "raw_op" 536 "raw_op" 537 ], 537 ], 538 "plugins": { 538 "plugins": { 539 "requires": "nsPlugin" 539 "requires": "nsPlugin" 540 }, 540 }, 541 "setup": [ 541 "setup": [ 542 [ 542 [ 543 "$TC actions flush action pedi 543 "$TC actions flush action pedit", 544 0, 544 0, 545 1, 545 1, 546 255 546 255 547 ] 547 ] 548 ], 548 ], 549 "cmdUnderTest": "$TC actions add actio 549 "cmdUnderTest": "$TC actions add action pedit munge offset 12 u32 invert", 550 "expExitCode": "0", 550 "expExitCode": "0", 551 "verifyCmd": "$TC actions list action 551 "verifyCmd": "$TC actions list action pedit", 552 "matchPattern": "action order [0-9]+:. 552 "matchPattern": "action order [0-9]+:.*pedit.*keys 1.*key #0.*at 12: val ffffffff mask ffffffff", 553 "matchCount": "1", 553 "matchCount": "1", 554 "teardown": [ 554 "teardown": [ 555 "$TC actions flush action pedit" 555 "$TC actions flush action pedit" 556 ] 556 ] 557 }, 557 }, 558 { 558 { 559 "id": "57e5", 559 "id": "57e5", 560 "name": "Add pedit action with RAW_OP 560 "name": "Add pedit action with RAW_OP offset u8 preserve value", 561 "category": [ 561 "category": [ 562 "actions", 562 "actions", 563 "pedit", 563 "pedit", 564 "raw_op" 564 "raw_op" 565 ], 565 ], 566 "plugins": { 566 "plugins": { 567 "requires": "nsPlugin" 567 "requires": "nsPlugin" 568 }, 568 }, 569 "setup": [ 569 "setup": [ 570 [ 570 [ 571 "$TC actions flush action pedi 571 "$TC actions flush action pedit", 572 0, 572 0, 573 1, 573 1, 574 255 574 255 575 ] 575 ] 576 ], 576 ], 577 "cmdUnderTest": "$TC actions add actio 577 "cmdUnderTest": "$TC actions add action pedit munge offset 0 u8 preserve", 578 "expExitCode": "0", 578 "expExitCode": "0", 579 "verifyCmd": "$TC actions list action 579 "verifyCmd": "$TC actions list action pedit", 580 "matchPattern": "action order [0-9]+:. 580 "matchPattern": "action order [0-9]+:.*pedit.*keys 1.*key #0.*at 0: val 00000000 mask ffffffff", 581 "matchCount": "1", 581 "matchCount": "1", 582 "teardown": [ 582 "teardown": [ 583 "$TC actions flush action pedit" 583 "$TC actions flush action pedit" 584 ] 584 ] 585 }, 585 }, 586 { 586 { 587 "id": "99e0", 587 "id": "99e0", 588 "name": "Add pedit action with RAW_OP 588 "name": "Add pedit action with RAW_OP offset u16 preserve value", 589 "category": [ 589 "category": [ 590 "actions", 590 "actions", 591 "pedit", 591 "pedit", 592 "raw_op" 592 "raw_op" 593 ], 593 ], 594 "plugins": { 594 "plugins": { 595 "requires": "nsPlugin" 595 "requires": "nsPlugin" 596 }, 596 }, 597 "setup": [ 597 "setup": [ 598 [ 598 [ 599 "$TC actions flush action pedi 599 "$TC actions flush action pedit", 600 0, 600 0, 601 1, 601 1, 602 255 602 255 603 ] 603 ] 604 ], 604 ], 605 "cmdUnderTest": "$TC actions add actio 605 "cmdUnderTest": "$TC actions add action pedit munge offset 0 u16 preserve", 606 "expExitCode": "0", 606 "expExitCode": "0", 607 "verifyCmd": "$TC actions list action 607 "verifyCmd": "$TC actions list action pedit", 608 "matchPattern": "action order [0-9]+:. 608 "matchPattern": "action order [0-9]+:.*pedit.*keys 1.*key #0.*at 0: val 00000000 mask ffffffff", 609 "matchCount": "1", 609 "matchCount": "1", 610 "teardown": [ 610 "teardown": [ 611 "$TC actions flush action pedit" 611 "$TC actions flush action pedit" 612 ] 612 ] 613 }, 613 }, 614 { 614 { 615 "id": "1892", 615 "id": "1892", 616 "name": "Add pedit action with RAW_OP 616 "name": "Add pedit action with RAW_OP offset u32 preserve value", 617 "category": [ 617 "category": [ 618 "actions", 618 "actions", 619 "pedit", 619 "pedit", 620 "raw_op" 620 "raw_op" 621 ], 621 ], 622 "plugins": { 622 "plugins": { 623 "requires": "nsPlugin" 623 "requires": "nsPlugin" 624 }, 624 }, 625 "setup": [ 625 "setup": [ 626 [ 626 [ 627 "$TC actions flush action pedi 627 "$TC actions flush action pedit", 628 0, 628 0, 629 1, 629 1, 630 255 630 255 631 ] 631 ] 632 ], 632 ], 633 "cmdUnderTest": "$TC actions add actio 633 "cmdUnderTest": "$TC actions add action pedit munge offset 0 u32 preserve", 634 "expExitCode": "0", 634 "expExitCode": "0", 635 "verifyCmd": "$TC actions list action 635 "verifyCmd": "$TC actions list action pedit", 636 "matchPattern": "action order [0-9]+:. 636 "matchPattern": "action order [0-9]+:.*pedit.*keys 1.*key #0.*at 0: val 00000000 mask ffffffff", 637 "matchCount": "1", 637 "matchCount": "1", 638 "teardown": [ 638 "teardown": [ 639 "$TC actions flush action pedit" 639 "$TC actions flush action pedit" 640 ] 640 ] 641 }, 641 }, 642 { 642 { 643 "id": "4b60", 643 "id": "4b60", 644 "name": "Add pedit action with RAW_OP 644 "name": "Add pedit action with RAW_OP negative offset u16/u32 set value", 645 "category": [ 645 "category": [ 646 "actions", 646 "actions", 647 "pedit", 647 "pedit", 648 "raw_op" 648 "raw_op" 649 ], 649 ], 650 "plugins": { 650 "plugins": { 651 "requires": "nsPlugin" 651 "requires": "nsPlugin" 652 }, 652 }, 653 "setup": [ 653 "setup": [ 654 [ 654 [ 655 "$TC actions flush action pedi 655 "$TC actions flush action pedit", 656 0, 656 0, 657 1, 657 1, 658 255 658 255 659 ] 659 ] 660 ], 660 ], 661 "cmdUnderTest": "$TC actions add actio 661 "cmdUnderTest": "$TC actions add action pedit munge offset -14 u16 set 0x0000 munge offset -12 u32 set 0x00000100 munge offset -8 u32 set 0x0aaf0100 munge offset -4 u32 set 0x0008eb06 pipe", 662 "expExitCode": "0", 662 "expExitCode": "0", 663 "verifyCmd": "$TC actions list action 663 "verifyCmd": "$TC actions list action pedit", 664 "matchPattern": "action order [0-9]+:. 664 "matchPattern": "action order [0-9]+:.*pedit.*keys 4.*key #0.*at -16: val 00000000 mask ffff0000.*key #1.*at -12: val 00000100 mask 00000000.*key #2.*at -8: val 0aaf0100 mask 00000000.*key #3.*at -4: val 0008eb06 mask 00000000", 665 "matchCount": "1", 665 "matchCount": "1", 666 "teardown": [ 666 "teardown": [ 667 "$TC actions flush action pedit" 667 "$TC actions flush action pedit" 668 ] 668 ] 669 }, 669 }, 670 { 670 { 671 "id": "a5a7", 671 "id": "a5a7", 672 "name": "Add pedit action with LAYERED 672 "name": "Add pedit action with LAYERED_OP eth set src", 673 "category": [ 673 "category": [ 674 "actions", 674 "actions", 675 "pedit", 675 "pedit", 676 "layered_op" 676 "layered_op" 677 ], 677 ], 678 "plugins": { 678 "plugins": { 679 "requires": "nsPlugin" 679 "requires": "nsPlugin" 680 }, 680 }, 681 "setup": [ 681 "setup": [ 682 [ 682 [ 683 "$TC actions flush action pedi 683 "$TC actions flush action pedit", 684 0, 684 0, 685 1, 685 1, 686 255 686 255 687 ] 687 ] 688 ], 688 ], 689 "cmdUnderTest": "$TC actions add actio 689 "cmdUnderTest": "$TC actions add action pedit ex munge eth src set 11:22:33:44:55:66", 690 "expExitCode": "0", 690 "expExitCode": "0", 691 "verifyCmd": "$TC actions list action 691 "verifyCmd": "$TC actions list action pedit", 692 "matchPattern": "action order [0-9]+: 692 "matchPattern": "action order [0-9]+: pedit action pass keys 2.*key #0 at eth\\+4: val 00001122 mask ffff0000.*key #1 at eth\\+8: val 33445566 mask 00000000", 693 "matchCount": "1", 693 "matchCount": "1", 694 "teardown": [ 694 "teardown": [ 695 "$TC actions flush action pedit" 695 "$TC actions flush action pedit" 696 ] 696 ] 697 }, 697 }, 698 { 698 { 699 "id": "86d4", 699 "id": "86d4", 700 "name": "Add pedit action with LAYERED 700 "name": "Add pedit action with LAYERED_OP eth set src & dst", 701 "category": [ 701 "category": [ 702 "actions", 702 "actions", 703 "pedit", 703 "pedit", 704 "layered_op" 704 "layered_op" 705 ], 705 ], 706 "plugins": { 706 "plugins": { 707 "requires": "nsPlugin" 707 "requires": "nsPlugin" 708 }, 708 }, 709 "setup": [ 709 "setup": [ 710 [ 710 [ 711 "$TC actions flush action pedi 711 "$TC actions flush action pedit", 712 0, 712 0, 713 1, 713 1, 714 255 714 255 715 ] 715 ] 716 ], 716 ], 717 "cmdUnderTest": "$TC actions add actio 717 "cmdUnderTest": "$TC actions add action pedit ex munge eth src set 11:22:33:44:55:66 munge eth dst set ff:ee:dd:cc:bb:aa", 718 "expExitCode": "0", 718 "expExitCode": "0", 719 "verifyCmd": "$TC actions list action 719 "verifyCmd": "$TC actions list action pedit | grep 'key '", 720 "matchPattern": "eth\\+4: val 00001122 720 "matchPattern": "eth\\+4: val 00001122 mask ffff0000.*eth\\+8: val 33445566 mask 00000000.*eth\\+0: val ffeeddcc mask 00000000.*eth\\+4: val bbaa0000 mask 0000ffff", 721 "matchCount": "1", 721 "matchCount": "1", 722 "teardown": [ 722 "teardown": [ 723 "$TC actions flush action pedit" 723 "$TC actions flush action pedit" 724 ] 724 ] 725 }, 725 }, 726 { 726 { 727 "id": "f8a9", 727 "id": "f8a9", 728 "name": "Add pedit action with LAYERED 728 "name": "Add pedit action with LAYERED_OP eth set dst", 729 "category": [ 729 "category": [ 730 "actions", 730 "actions", 731 "pedit", 731 "pedit", 732 "layered_op" 732 "layered_op" 733 ], 733 ], 734 "plugins": { 734 "plugins": { 735 "requires": "nsPlugin" 735 "requires": "nsPlugin" 736 }, 736 }, 737 "setup": [ 737 "setup": [ 738 [ 738 [ 739 "$TC actions flush action pedi 739 "$TC actions flush action pedit", 740 0, 740 0, 741 1, 741 1, 742 255 742 255 743 ] 743 ] 744 ], 744 ], 745 "cmdUnderTest": "$TC actions add actio 745 "cmdUnderTest": "$TC actions add action pedit ex munge eth dst set 11:22:33:44:55:66", 746 "expExitCode": "0", 746 "expExitCode": "0", 747 "verifyCmd": "$TC actions list action 747 "verifyCmd": "$TC actions list action pedit", 748 "matchPattern": "action order [0-9]+: 748 "matchPattern": "action order [0-9]+: pedit action pass keys 2.*key #0 at eth\\+0: val 11223344 mask 00000000.*key #1 at eth\\+4: val 55660000 mask 0000ffff", 749 "matchCount": "1", 749 "matchCount": "1", 750 "teardown": [ 750 "teardown": [ 751 "$TC actions flush action pedit" 751 "$TC actions flush action pedit" 752 ] 752 ] 753 }, 753 }, 754 { 754 { 755 "id": "c715", 755 "id": "c715", 756 "name": "Add pedit action with LAYERED 756 "name": "Add pedit action with LAYERED_OP eth set src (INVALID)", 757 "category": [ 757 "category": [ 758 "actions", 758 "actions", 759 "pedit", 759 "pedit", 760 "layered_op" 760 "layered_op" 761 ], 761 ], 762 "plugins": { 762 "plugins": { 763 "requires": "nsPlugin" 763 "requires": "nsPlugin" 764 }, 764 }, 765 "setup": [ 765 "setup": [ 766 [ 766 [ 767 "$TC actions flush action pedi 767 "$TC actions flush action pedit", 768 0, 768 0, 769 1, 769 1, 770 255 770 255 771 ] 771 ] 772 ], 772 ], 773 "cmdUnderTest": "$TC actions add actio 773 "cmdUnderTest": "$TC actions add action pedit ex munge eth src set %e:11:m2:33:x4:-5", 774 "expExitCode": "255", 774 "expExitCode": "255", 775 "verifyCmd": "/bin/true", 775 "verifyCmd": "/bin/true", 776 "matchPattern": " ", 776 "matchPattern": " ", 777 "matchCount": "0", 777 "matchCount": "0", 778 "teardown": [ 778 "teardown": [ 779 "$TC actions flush action pedit" 779 "$TC actions flush action pedit" 780 ] 780 ] 781 }, 781 }, 782 { 782 { 783 "id": "8131", 783 "id": "8131", 784 "name": "Add pedit action with LAYERED 784 "name": "Add pedit action with LAYERED_OP eth set dst (INVALID)", 785 "category": [ 785 "category": [ 786 "actions", 786 "actions", 787 "pedit", 787 "pedit", 788 "layered_op" 788 "layered_op" 789 ], 789 ], 790 "plugins": { 790 "plugins": { 791 "requires": "nsPlugin" 791 "requires": "nsPlugin" 792 }, 792 }, 793 "setup": [ 793 "setup": [ 794 [ 794 [ 795 "$TC actions flush action pedi 795 "$TC actions flush action pedit", 796 0, 796 0, 797 1, 797 1, 798 255 798 255 799 ] 799 ] 800 ], 800 ], 801 "cmdUnderTest": "$TC actions add actio 801 "cmdUnderTest": "$TC actions add action pedit ex munge eth dst set %e:11:m2:33:x4:-5", 802 "expExitCode": "255", 802 "expExitCode": "255", 803 "verifyCmd": "/bin/true", 803 "verifyCmd": "/bin/true", 804 "matchPattern": " ", 804 "matchPattern": " ", 805 "matchCount": "0", 805 "matchCount": "0", 806 "teardown": [ 806 "teardown": [ 807 "$TC actions flush action pedit" 807 "$TC actions flush action pedit" 808 ] 808 ] 809 }, 809 }, 810 { 810 { 811 "id": "ba22", 811 "id": "ba22", 812 "name": "Add pedit action with LAYERED 812 "name": "Add pedit action with LAYERED_OP eth type set/clear sequence", 813 "category": [ 813 "category": [ 814 "actions", 814 "actions", 815 "pedit", 815 "pedit", 816 "layered_op" 816 "layered_op" 817 ], 817 ], 818 "plugins": { 818 "plugins": { 819 "requires": "nsPlugin" 819 "requires": "nsPlugin" 820 }, 820 }, 821 "setup": [ 821 "setup": [ 822 [ 822 [ 823 "$TC actions flush action pedi 823 "$TC actions flush action pedit", 824 0, 824 0, 825 1, 825 1, 826 255 826 255 827 ] 827 ] 828 ], 828 ], 829 "cmdUnderTest": "$TC actions add actio 829 "cmdUnderTest": "$TC actions add action pedit ex munge eth type set 0x1 munge eth type clear munge eth type set 0x1 munge eth type clear munge eth type set 0x1 munge eth type clear munge eth type set 0x1 munge eth type clear munge eth type set 0x1 munge eth type clear munge eth type set 0x1 munge eth type clear", 830 "expExitCode": "0", 830 "expExitCode": "0", 831 "verifyCmd": "$TC actions list action 831 "verifyCmd": "$TC actions list action pedit | grep 'key '", 832 "matchPattern": "eth\\+12: val 0001000 832 "matchPattern": "eth\\+12: val 00010000 mask 0000ffff.*eth\\+12: val 00000000 mask 0000ffff.*eth\\+12: val 00010000 mask 0000ffff.*eth\\+12: val 00000000 mask 0000ffff.*eth\\+12: val 00010000 mask 0000ffff.*eth\\+12: val 00000000 mask 0000ffff.*eth\\+12: val 00010000 mask 0000ffff.*eth\\+12: val 00000000 mask 0000ffff.*eth\\+12: val 00010000 mask 0000ffff.*eth\\+12: val 00000000 mask 0000ffff.*eth\\+12: val 00010000 mask 0000ffff.*eth\\+12: val 00000000 mask 0000ffff", 833 "matchCount": "1", 833 "matchCount": "1", 834 "teardown": [ 834 "teardown": [ 835 "$TC actions flush action pedit" 835 "$TC actions flush action pedit" 836 ] 836 ] 837 }, 837 }, 838 { 838 { 839 "id": "dec4", 839 "id": "dec4", 840 "name": "Add pedit action with LAYERED 840 "name": "Add pedit action with LAYERED_OP eth set type (INVALID)", 841 "category": [ 841 "category": [ 842 "actions", 842 "actions", 843 "pedit", 843 "pedit", 844 "layered_op" 844 "layered_op" 845 ], 845 ], 846 "plugins": { 846 "plugins": { 847 "requires": "nsPlugin" 847 "requires": "nsPlugin" 848 }, 848 }, 849 "setup": [ 849 "setup": [ 850 [ 850 [ 851 "$TC actions flush action pedi 851 "$TC actions flush action pedit", 852 0, 852 0, 853 1, 853 1, 854 255 854 255 855 ] 855 ] 856 ], 856 ], 857 "cmdUnderTest": "$TC actions add actio 857 "cmdUnderTest": "$TC actions add action pedit ex munge eth type set 0xabcdef", 858 "expExitCode": "255", 858 "expExitCode": "255", 859 "verifyCmd": "$TC actions list action 859 "verifyCmd": "$TC actions list action pedit", 860 "matchPattern": "action order [0-9]+: 860 "matchPattern": "action order [0-9]+: pedit action pass keys 1.*key #0 at eth+12: val ", 861 "matchCount": "0", 861 "matchCount": "0", 862 "teardown": [] 862 "teardown": [] 863 }, 863 }, 864 { 864 { 865 "id": "ab06", 865 "id": "ab06", 866 "name": "Add pedit action with LAYERED 866 "name": "Add pedit action with LAYERED_OP eth add type", 867 "category": [ 867 "category": [ 868 "actions", 868 "actions", 869 "pedit", 869 "pedit", 870 "layered_op" 870 "layered_op" 871 ], 871 ], 872 "plugins": { 872 "plugins": { 873 "requires": "nsPlugin" 873 "requires": "nsPlugin" 874 }, 874 }, 875 "setup": [ 875 "setup": [ 876 [ 876 [ 877 "$TC actions flush action pedi 877 "$TC actions flush action pedit", 878 0, 878 0, 879 1, 879 1, 880 255 880 255 881 ] 881 ] 882 ], 882 ], 883 "cmdUnderTest": "$TC actions add actio 883 "cmdUnderTest": "$TC actions add action pedit ex munge eth type add 0x1", 884 "expExitCode": "0", 884 "expExitCode": "0", 885 "verifyCmd": "$TC actions list action 885 "verifyCmd": "$TC actions list action pedit", 886 "matchPattern": "action order [0-9]+: 886 "matchPattern": "action order [0-9]+: pedit action pass keys 1.*key #0 at eth\\+12: add 00010000 mask 0000ffff", 887 "matchCount": "1", 887 "matchCount": "1", 888 "teardown": [ 888 "teardown": [ 889 "$TC actions flush action pedit" 889 "$TC actions flush action pedit" 890 ] 890 ] 891 }, 891 }, 892 { 892 { 893 "id": "918d", 893 "id": "918d", 894 "name": "Add pedit action with LAYERED 894 "name": "Add pedit action with LAYERED_OP eth invert src", 895 "category": [ 895 "category": [ 896 "actions", 896 "actions", 897 "pedit", 897 "pedit", 898 "layered_op" 898 "layered_op" 899 ], 899 ], 900 "plugins": { 900 "plugins": { 901 "requires": "nsPlugin" 901 "requires": "nsPlugin" 902 }, 902 }, 903 "setup": [ 903 "setup": [ 904 [ 904 [ 905 "$TC actions flush action pedi 905 "$TC actions flush action pedit", 906 0, 906 0, 907 1, 907 1, 908 255 908 255 909 ] 909 ] 910 ], 910 ], 911 "cmdUnderTest": "$TC actions add actio 911 "cmdUnderTest": "$TC actions add action pedit ex munge eth src invert", 912 "expExitCode": "0", 912 "expExitCode": "0", 913 "verifyCmd": "$TC actions list action 913 "verifyCmd": "$TC actions list action pedit", 914 "matchPattern": "action order [0-9]+: 914 "matchPattern": "action order [0-9]+: pedit action pass keys 2.*key #0 at eth\\+4: val 0000ff00 mask ffff0000.*key #1 at eth\\+8: val 00000000 mask 00000000", 915 "matchCount": "1", 915 "matchCount": "1", 916 "teardown": [ 916 "teardown": [ 917 "$TC actions flush action pedit" 917 "$TC actions flush action pedit" 918 ] 918 ] 919 }, 919 }, 920 { 920 { 921 "id": "a8d4", 921 "id": "a8d4", 922 "name": "Add pedit action with LAYERED 922 "name": "Add pedit action with LAYERED_OP eth invert dst", 923 "category": [ 923 "category": [ 924 "actions", 924 "actions", 925 "pedit", 925 "pedit", 926 "layered_op" 926 "layered_op" 927 ], 927 ], 928 "plugins": { 928 "plugins": { 929 "requires": "nsPlugin" 929 "requires": "nsPlugin" 930 }, 930 }, 931 "setup": [ 931 "setup": [ 932 [ 932 [ 933 "$TC actions flush action pedi 933 "$TC actions flush action pedit", 934 0, 934 0, 935 1, 935 1, 936 255 936 255 937 ] 937 ] 938 ], 938 ], 939 "cmdUnderTest": "$TC actions add actio 939 "cmdUnderTest": "$TC actions add action pedit ex munge eth dst invert", 940 "expExitCode": "0", 940 "expExitCode": "0", 941 "verifyCmd": "$TC actions list action 941 "verifyCmd": "$TC actions list action pedit", 942 "matchPattern": "action order [0-9]+: 942 "matchPattern": "action order [0-9]+: pedit action pass keys 2.*key #0 at eth\\+0: val ff000000 mask 00000000.*key #1 at eth\\+4: val 00000000 mask 0000ffff", 943 "matchCount": "1", 943 "matchCount": "1", 944 "teardown": [ 944 "teardown": [ 945 "$TC actions flush action pedit" 945 "$TC actions flush action pedit" 946 ] 946 ] 947 }, 947 }, 948 { 948 { 949 "id": "ee13", 949 "id": "ee13", 950 "name": "Add pedit action with LAYERED 950 "name": "Add pedit action with LAYERED_OP eth invert type", 951 "category": [ 951 "category": [ 952 "actions", 952 "actions", 953 "pedit", 953 "pedit", 954 "layered_op" 954 "layered_op" 955 ], 955 ], 956 "plugins": { 956 "plugins": { 957 "requires": "nsPlugin" 957 "requires": "nsPlugin" 958 }, 958 }, 959 "setup": [ 959 "setup": [ 960 [ 960 [ 961 "$TC actions flush action pedi 961 "$TC actions flush action pedit", 962 0, 962 0, 963 1, 963 1, 964 255 964 255 965 ] 965 ] 966 ], 966 ], 967 "cmdUnderTest": "$TC actions add actio 967 "cmdUnderTest": "$TC actions add action pedit ex munge eth type invert", 968 "expExitCode": "0", 968 "expExitCode": "0", 969 "verifyCmd": "$TC actions list action 969 "verifyCmd": "$TC actions list action pedit", 970 "matchPattern": "action order [0-9]+: 970 "matchPattern": "action order [0-9]+: pedit action pass keys 1.*key #0 at eth\\+12: val ffff0000 mask ffffffff", 971 "matchCount": "1", 971 "matchCount": "1", 972 "teardown": [ 972 "teardown": [ 973 "$TC actions flush action pedit" 973 "$TC actions flush action pedit" 974 ] 974 ] 975 }, 975 }, 976 { 976 { 977 "id": "7588", 977 "id": "7588", 978 "name": "Add pedit action with LAYERED 978 "name": "Add pedit action with LAYERED_OP ip set src", 979 "category": [ 979 "category": [ 980 "actions", 980 "actions", 981 "pedit", 981 "pedit", 982 "layered_op" 982 "layered_op" 983 ], 983 ], 984 "plugins": { 984 "plugins": { 985 "requires": "nsPlugin" 985 "requires": "nsPlugin" 986 }, 986 }, 987 "setup": [ 987 "setup": [ 988 [ 988 [ 989 "$TC actions flush action pedi 989 "$TC actions flush action pedit", 990 0, 990 0, 991 1, 991 1, 992 255 992 255 993 ] 993 ] 994 ], 994 ], 995 "cmdUnderTest": "$TC actions add actio 995 "cmdUnderTest": "$TC actions add action pedit munge ip src set 1.1.1.1", 996 "expExitCode": "0", 996 "expExitCode": "0", 997 "verifyCmd": "$TC actions list action 997 "verifyCmd": "$TC actions list action pedit", 998 "matchPattern": "action order [0-9]+: 998 "matchPattern": "action order [0-9]+: pedit action pass keys 1.*key #0 at 12: val 01010101 mask 00000000", 999 "matchCount": "1", 999 "matchCount": "1", 1000 "teardown": [ 1000 "teardown": [ 1001 "$TC actions flush action pedit" 1001 "$TC actions flush action pedit" 1002 ] 1002 ] 1003 }, 1003 }, 1004 { 1004 { 1005 "id": "0fa7", 1005 "id": "0fa7", 1006 "name": "Add pedit action with LAYERE 1006 "name": "Add pedit action with LAYERED_OP ip set dst", 1007 "category": [ 1007 "category": [ 1008 "actions", 1008 "actions", 1009 "pedit", 1009 "pedit", 1010 "layered_op" 1010 "layered_op" 1011 ], 1011 ], 1012 "plugins": { 1012 "plugins": { 1013 "requires": "nsPlugin" 1013 "requires": "nsPlugin" 1014 }, 1014 }, 1015 "setup": [ 1015 "setup": [ 1016 [ 1016 [ 1017 "$TC actions flush action ped 1017 "$TC actions flush action pedit", 1018 0, 1018 0, 1019 1, 1019 1, 1020 255 1020 255 1021 ] 1021 ] 1022 ], 1022 ], 1023 "cmdUnderTest": "$TC actions add acti 1023 "cmdUnderTest": "$TC actions add action pedit munge ip dst set 2.2.2.2", 1024 "expExitCode": "0", 1024 "expExitCode": "0", 1025 "verifyCmd": "$TC actions list action 1025 "verifyCmd": "$TC actions list action pedit", 1026 "matchPattern": "action order [0-9]+: 1026 "matchPattern": "action order [0-9]+: pedit action pass keys 1.*key #0 at 16: val 02020202 mask 00000000", 1027 "matchCount": "1", 1027 "matchCount": "1", 1028 "teardown": [ 1028 "teardown": [ 1029 "$TC actions flush action pedit" 1029 "$TC actions flush action pedit" 1030 ] 1030 ] 1031 }, 1031 }, 1032 { 1032 { 1033 "id": "5810", 1033 "id": "5810", 1034 "name": "Add pedit action with LAYERE 1034 "name": "Add pedit action with LAYERED_OP ip set src & dst", 1035 "category": [ 1035 "category": [ 1036 "actions", 1036 "actions", 1037 "pedit", 1037 "pedit", 1038 "layered_op" 1038 "layered_op" 1039 ], 1039 ], 1040 "plugins": { 1040 "plugins": { 1041 "requires": "nsPlugin" 1041 "requires": "nsPlugin" 1042 }, 1042 }, 1043 "setup": [ 1043 "setup": [ 1044 [ 1044 [ 1045 "$TC actions flush action ped 1045 "$TC actions flush action pedit", 1046 0, 1046 0, 1047 1, 1047 1, 1048 255 1048 255 1049 ] 1049 ] 1050 ], 1050 ], 1051 "cmdUnderTest": "$TC actions add acti 1051 "cmdUnderTest": "$TC actions add action pedit munge ip src set 18.52.86.120 munge ip dst set 18.52.86.120", 1052 "expExitCode": "0", 1052 "expExitCode": "0", 1053 "verifyCmd": "$TC actions list action 1053 "verifyCmd": "$TC actions list action pedit | grep 'key '", 1054 "matchPattern": " 12: val 12345678 ma 1054 "matchPattern": " 12: val 12345678 mask 00000000.* 16: val 12345678 mask 00000000", 1055 "matchCount": "1", 1055 "matchCount": "1", 1056 "teardown": [ 1056 "teardown": [ 1057 "$TC actions flush action pedit" 1057 "$TC actions flush action pedit" 1058 ] 1058 ] 1059 }, 1059 }, 1060 { 1060 { 1061 "id": "1092", 1061 "id": "1092", 1062 "name": "Add pedit action with LAYERE 1062 "name": "Add pedit action with LAYERED_OP ip set ihl & dsfield", 1063 "category": [ 1063 "category": [ 1064 "actions", 1064 "actions", 1065 "pedit", 1065 "pedit", 1066 "layered_op" 1066 "layered_op" 1067 ], 1067 ], 1068 "plugins": { 1068 "plugins": { 1069 "requires": "nsPlugin" 1069 "requires": "nsPlugin" 1070 }, 1070 }, 1071 "setup": [ 1071 "setup": [ 1072 [ 1072 [ 1073 "$TC actions flush action ped 1073 "$TC actions flush action pedit", 1074 0, 1074 0, 1075 1, 1075 1, 1076 255 1076 255 1077 ] 1077 ] 1078 ], 1078 ], 1079 "cmdUnderTest": "$TC actions add acti 1079 "cmdUnderTest": "$TC actions add action pedit munge ip ihl set 0xff munge ip dsfield set 0xff", 1080 "expExitCode": "0", 1080 "expExitCode": "0", 1081 "verifyCmd": "$TC actions list action 1081 "verifyCmd": "$TC actions list action pedit | grep 'key '", 1082 "matchPattern": " 0: val 0f000000 mas 1082 "matchPattern": " 0: val 0f000000 mask f0ffffff.* 0: val 00ff0000 mask ff00ffff", 1083 "matchCount": "1", 1083 "matchCount": "1", 1084 "teardown": [ 1084 "teardown": [ 1085 "$TC actions flush action pedit" 1085 "$TC actions flush action pedit" 1086 ] 1086 ] 1087 }, 1087 }, 1088 { 1088 { 1089 "id": "02d8", 1089 "id": "02d8", 1090 "name": "Add pedit action with LAYERE 1090 "name": "Add pedit action with LAYERED_OP ip set ttl & protocol", 1091 "category": [ 1091 "category": [ 1092 "actions", 1092 "actions", 1093 "pedit", 1093 "pedit", 1094 "layered_op" 1094 "layered_op" 1095 ], 1095 ], 1096 "plugins": { 1096 "plugins": { 1097 "requires": "nsPlugin" 1097 "requires": "nsPlugin" 1098 }, 1098 }, 1099 "setup": [ 1099 "setup": [ 1100 [ 1100 [ 1101 "$TC actions flush action ped 1101 "$TC actions flush action pedit", 1102 0, 1102 0, 1103 1, 1103 1, 1104 255 1104 255 1105 ] 1105 ] 1106 ], 1106 ], 1107 "cmdUnderTest": "$TC actions add acti 1107 "cmdUnderTest": "$TC actions add action pedit munge ip ttl set 0x1 munge ip protocol set 0xff", 1108 "expExitCode": "0", 1108 "expExitCode": "0", 1109 "verifyCmd": "$TC actions list action 1109 "verifyCmd": "$TC actions list action pedit | grep 'key '", 1110 "matchPattern": " 8: val 01000000 mas 1110 "matchPattern": " 8: val 01000000 mask 00ffffff.* 8: val 00ff0000 mask ff00ffff", 1111 "matchCount": "1", 1111 "matchCount": "1", 1112 "teardown": [ 1112 "teardown": [ 1113 "$TC actions flush action pedit" 1113 "$TC actions flush action pedit" 1114 ] 1114 ] 1115 }, 1115 }, 1116 { 1116 { 1117 "id": "3e2d", 1117 "id": "3e2d", 1118 "name": "Add pedit action with LAYERE 1118 "name": "Add pedit action with LAYERED_OP ip set ttl (INVALID)", 1119 "category": [ 1119 "category": [ 1120 "actions", 1120 "actions", 1121 "pedit", 1121 "pedit", 1122 "layered_op" 1122 "layered_op" 1123 ], 1123 ], 1124 "plugins": { 1124 "plugins": { 1125 "requires": "nsPlugin" 1125 "requires": "nsPlugin" 1126 }, 1126 }, 1127 "setup": [ 1127 "setup": [ 1128 [ 1128 [ 1129 "$TC actions flush action ped 1129 "$TC actions flush action pedit", 1130 0, 1130 0, 1131 1, 1131 1, 1132 255 1132 255 1133 ] 1133 ] 1134 ], 1134 ], 1135 "cmdUnderTest": "$TC actions add acti 1135 "cmdUnderTest": "$TC actions add action pedit munge ip ttl set 300", 1136 "expExitCode": "255", 1136 "expExitCode": "255", 1137 "verifyCmd": "/bin/true", 1137 "verifyCmd": "/bin/true", 1138 "matchPattern": " ", 1138 "matchPattern": " ", 1139 "matchCount": "0", 1139 "matchCount": "0", 1140 "teardown": [ 1140 "teardown": [ 1141 "$TC actions flush action pedit" 1141 "$TC actions flush action pedit" 1142 ] 1142 ] 1143 }, 1143 }, 1144 { 1144 { 1145 "id": "31ae", 1145 "id": "31ae", 1146 "name": "Add pedit action with LAYERE 1146 "name": "Add pedit action with LAYERED_OP ip ttl clear/set", 1147 "category": [ 1147 "category": [ 1148 "actions", 1148 "actions", 1149 "pedit", 1149 "pedit", 1150 "layered_op" 1150 "layered_op" 1151 ], 1151 ], 1152 "plugins": { 1152 "plugins": { 1153 "requires": "nsPlugin" 1153 "requires": "nsPlugin" 1154 }, 1154 }, 1155 "setup": [ 1155 "setup": [ 1156 [ 1156 [ 1157 "$TC actions flush action ped 1157 "$TC actions flush action pedit", 1158 0, 1158 0, 1159 1, 1159 1, 1160 255 1160 255 1161 ] 1161 ] 1162 ], 1162 ], 1163 "cmdUnderTest": "$TC actions add acti 1163 "cmdUnderTest": "$TC actions add action pedit munge ip ttl clear munge ip ttl set 0x1", 1164 "expExitCode": "0", 1164 "expExitCode": "0", 1165 "verifyCmd": "$TC actions list action 1165 "verifyCmd": "$TC actions list action pedit | grep 'key '", 1166 "matchPattern": " 8: val 00000000 mas 1166 "matchPattern": " 8: val 00000000 mask 00ffffff.* 8: val 01000000 mask 00ffffff", 1167 "matchCount": "1", 1167 "matchCount": "1", 1168 "teardown": [ 1168 "teardown": [ 1169 "$TC actions flush action pedit" 1169 "$TC actions flush action pedit" 1170 ] 1170 ] 1171 }, 1171 }, 1172 { 1172 { 1173 "id": "486f", 1173 "id": "486f", 1174 "name": "Add pedit action with LAYERE 1174 "name": "Add pedit action with LAYERED_OP ip set duplicate fields", 1175 "category": [ 1175 "category": [ 1176 "actions", 1176 "actions", 1177 "pedit", 1177 "pedit", 1178 "layered_op" 1178 "layered_op" 1179 ], 1179 ], 1180 "plugins": { 1180 "plugins": { 1181 "requires": "nsPlugin" 1181 "requires": "nsPlugin" 1182 }, 1182 }, 1183 "setup": [ 1183 "setup": [ 1184 [ 1184 [ 1185 "$TC actions flush action ped 1185 "$TC actions flush action pedit", 1186 0, 1186 0, 1187 1, 1187 1, 1188 255 1188 255 1189 ] 1189 ] 1190 ], 1190 ], 1191 "cmdUnderTest": "$TC actions add acti 1191 "cmdUnderTest": "$TC actions add action pedit munge ip ttl set 0x1 munge ip ttl set 0x1", 1192 "expExitCode": "0", 1192 "expExitCode": "0", 1193 "verifyCmd": "$TC actions list action 1193 "verifyCmd": "$TC actions list action pedit | grep 'key '", 1194 "matchPattern": " 8: val 01000000 mas 1194 "matchPattern": " 8: val 01000000 mask 00ffffff.* 8: val 01000000 mask 00ffffff", 1195 "matchCount": "1", 1195 "matchCount": "1", 1196 "teardown": [ 1196 "teardown": [ 1197 "$TC actions flush action pedit" 1197 "$TC actions flush action pedit" 1198 ] 1198 ] 1199 }, 1199 }, 1200 { 1200 { 1201 "id": "e790", 1201 "id": "e790", 1202 "name": "Add pedit action with LAYERE 1202 "name": "Add pedit action with LAYERED_OP ip set ce, df, mf, firstfrag, nofrag fields", 1203 "category": [ 1203 "category": [ 1204 "actions", 1204 "actions", 1205 "pedit", 1205 "pedit", 1206 "layered_op" 1206 "layered_op" 1207 ], 1207 ], 1208 "plugins": { 1208 "plugins": { 1209 "requires": "nsPlugin" 1209 "requires": "nsPlugin" 1210 }, 1210 }, 1211 "setup": [ 1211 "setup": [ 1212 [ 1212 [ 1213 "$TC actions flush action ped 1213 "$TC actions flush action pedit", 1214 0, 1214 0, 1215 1, 1215 1, 1216 255 1216 255 1217 ] 1217 ] 1218 ], 1218 ], 1219 "cmdUnderTest": "$TC actions add acti 1219 "cmdUnderTest": "$TC actions add action pedit munge ip ce set 0xff munge ip df set 0xff munge ip mf set 0xff munge ip firstfrag set 0xff munge ip nofrag set 0xff", 1220 "expExitCode": "0", 1220 "expExitCode": "0", 1221 "verifyCmd": "$TC actions list action 1221 "verifyCmd": "$TC actions list action pedit | grep 'key '", 1222 "matchPattern": " 4: val 00008000 mas 1222 "matchPattern": " 4: val 00008000 mask ffff7fff.* 4: val 00004000 mask ffffbfff.* 4: val 00002000 mask ffffdfff.* 4: val 00001f00 mask ffffe0ff.* 4: val 00003f00 mask ffffc0ff", 1223 "matchCount": "1", 1223 "matchCount": "1", 1224 "teardown": [ 1224 "teardown": [ 1225 "$TC actions flush action pedit" 1225 "$TC actions flush action pedit" 1226 ] 1226 ] 1227 }, 1227 }, 1228 { 1228 { 1229 "id": "cc8a", 1229 "id": "cc8a", 1230 "name": "Add pedit action with LAYERE 1230 "name": "Add pedit action with LAYERED_OP ip set tos", 1231 "category": [ 1231 "category": [ 1232 "actions", 1232 "actions", 1233 "pedit", 1233 "pedit", 1234 "layered_op" 1234 "layered_op" 1235 ], 1235 ], 1236 "plugins": { 1236 "plugins": { 1237 "requires": "nsPlugin" 1237 "requires": "nsPlugin" 1238 }, 1238 }, 1239 "setup": [ 1239 "setup": [ 1240 [ 1240 [ 1241 "$TC actions flush action ped 1241 "$TC actions flush action pedit", 1242 0, 1242 0, 1243 1, 1243 1, 1244 255 1244 255 1245 ] 1245 ] 1246 ], 1246 ], 1247 "cmdUnderTest": "$TC actions add acti 1247 "cmdUnderTest": "$TC actions add action pedit munge ip tos set 0x4 continue", 1248 "expExitCode": "0", 1248 "expExitCode": "0", 1249 "verifyCmd": "$TC actions list action 1249 "verifyCmd": "$TC actions list action pedit", 1250 "matchPattern": "action order [0-9]+: 1250 "matchPattern": "action order [0-9]+: pedit action continue keys 1.*key #0 at 0: val 00040000 mask ff00ffff", 1251 "matchCount": "1", 1251 "matchCount": "1", 1252 "teardown": [ 1252 "teardown": [ 1253 "$TC actions flush action pedit" 1253 "$TC actions flush action pedit" 1254 ] 1254 ] 1255 }, 1255 }, 1256 { 1256 { 1257 "id": "7a17", 1257 "id": "7a17", 1258 "name": "Add pedit action with LAYERE 1258 "name": "Add pedit action with LAYERED_OP ip set precedence", 1259 "category": [ 1259 "category": [ 1260 "actions", 1260 "actions", 1261 "pedit", 1261 "pedit", 1262 "layered_op" 1262 "layered_op" 1263 ], 1263 ], 1264 "plugins": { 1264 "plugins": { 1265 "requires": "nsPlugin" 1265 "requires": "nsPlugin" 1266 }, 1266 }, 1267 "setup": [ 1267 "setup": [ 1268 [ 1268 [ 1269 "$TC actions flush action ped 1269 "$TC actions flush action pedit", 1270 0, 1270 0, 1271 1, 1271 1, 1272 255 1272 255 1273 ] 1273 ] 1274 ], 1274 ], 1275 "cmdUnderTest": "$TC actions add acti 1275 "cmdUnderTest": "$TC actions add action pedit munge ip precedence set 3 jump 2", 1276 "expExitCode": "0", 1276 "expExitCode": "0", 1277 "verifyCmd": "$TC actions list action 1277 "verifyCmd": "$TC actions list action pedit", 1278 "matchPattern": "action order [0-9]+: 1278 "matchPattern": "action order [0-9]+: pedit action jump 2 keys 1.*key #0 at 0: val 00030000 mask ff00ffff", 1279 "matchCount": "1", 1279 "matchCount": "1", 1280 "teardown": [ 1280 "teardown": [ 1281 "$TC actions flush action pedit" 1281 "$TC actions flush action pedit" 1282 ] 1282 ] 1283 }, 1283 }, 1284 { 1284 { 1285 "id": "c3b6", 1285 "id": "c3b6", 1286 "name": "Add pedit action with LAYERE 1286 "name": "Add pedit action with LAYERED_OP ip add tos", 1287 "category": [ 1287 "category": [ 1288 "actions", 1288 "actions", 1289 "pedit", 1289 "pedit", 1290 "layered_op" 1290 "layered_op" 1291 ], 1291 ], 1292 "plugins": { 1292 "plugins": { 1293 "requires": "nsPlugin" 1293 "requires": "nsPlugin" 1294 }, 1294 }, 1295 "setup": [ 1295 "setup": [ 1296 [ 1296 [ 1297 "$TC actions flush action ped 1297 "$TC actions flush action pedit", 1298 0, 1298 0, 1299 1, 1299 1, 1300 255 1300 255 1301 ] 1301 ] 1302 ], 1302 ], 1303 "cmdUnderTest": "$TC actions add acti 1303 "cmdUnderTest": "$TC actions add action pedit ex munge ip tos add 0x1 pass", 1304 "expExitCode": "0", 1304 "expExitCode": "0", 1305 "verifyCmd": "$TC actions list action 1305 "verifyCmd": "$TC actions list action pedit", 1306 "matchPattern": "action order [0-9]+: 1306 "matchPattern": "action order [0-9]+: pedit action pass keys 1.*key #0 at ipv4\\+0: add 00010000 mask ff00ffff", 1307 "matchCount": "1", 1307 "matchCount": "1", 1308 "teardown": [ 1308 "teardown": [ 1309 "$TC actions flush action pedit" 1309 "$TC actions flush action pedit" 1310 ] 1310 ] 1311 }, 1311 }, 1312 { 1312 { 1313 "id": "43d3", 1313 "id": "43d3", 1314 "name": "Add pedit action with LAYERE 1314 "name": "Add pedit action with LAYERED_OP ip add precedence", 1315 "category": [ 1315 "category": [ 1316 "actions", 1316 "actions", 1317 "pedit", 1317 "pedit", 1318 "layered_op" 1318 "layered_op" 1319 ], 1319 ], 1320 "plugins": { 1320 "plugins": { 1321 "requires": "nsPlugin" 1321 "requires": "nsPlugin" 1322 }, 1322 }, 1323 "setup": [ 1323 "setup": [ 1324 [ 1324 [ 1325 "$TC actions flush action ped 1325 "$TC actions flush action pedit", 1326 0, 1326 0, 1327 1, 1327 1, 1328 255 1328 255 1329 ] 1329 ] 1330 ], 1330 ], 1331 "cmdUnderTest": "$TC actions add acti 1331 "cmdUnderTest": "$TC actions add action pedit ex munge ip precedence add 0x1 pipe", 1332 "expExitCode": "0", 1332 "expExitCode": "0", 1333 "verifyCmd": "$TC actions list action 1333 "verifyCmd": "$TC actions list action pedit", 1334 "matchPattern": "action order [0-9]+: 1334 "matchPattern": "action order [0-9]+: pedit action pipe keys 1.*key #0 at ipv4\\+0: add 00010000 mask ff00ffff", 1335 "matchCount": "1", 1335 "matchCount": "1", 1336 "teardown": [ 1336 "teardown": [ 1337 "$TC actions flush action pedit" 1337 "$TC actions flush action pedit" 1338 ] 1338 ] 1339 }, 1339 }, 1340 { 1340 { 1341 "id": "438e", 1341 "id": "438e", 1342 "name": "Add pedit action with LAYERE 1342 "name": "Add pedit action with LAYERED_OP ip clear tos", 1343 "category": [ 1343 "category": [ 1344 "actions", 1344 "actions", 1345 "pedit", 1345 "pedit", 1346 "layered_op" 1346 "layered_op" 1347 ], 1347 ], 1348 "plugins": { 1348 "plugins": { 1349 "requires": "nsPlugin" 1349 "requires": "nsPlugin" 1350 }, 1350 }, 1351 "setup": [ 1351 "setup": [ 1352 [ 1352 [ 1353 "$TC actions flush action ped 1353 "$TC actions flush action pedit", 1354 0, 1354 0, 1355 1, 1355 1, 1356 255 1356 255 1357 ] 1357 ] 1358 ], 1358 ], 1359 "cmdUnderTest": "$TC actions add acti 1359 "cmdUnderTest": "$TC actions add action pedit munge ip tos clear continue", 1360 "expExitCode": "0", 1360 "expExitCode": "0", 1361 "verifyCmd": "$TC actions list action 1361 "verifyCmd": "$TC actions list action pedit", 1362 "matchPattern": "action order [0-9]+: 1362 "matchPattern": "action order [0-9]+: pedit action continue keys 1.*key #0 at 0: val 00000000 mask ff00ffff", 1363 "matchCount": "1", 1363 "matchCount": "1", 1364 "teardown": [ 1364 "teardown": [ 1365 "$TC actions flush action pedit" 1365 "$TC actions flush action pedit" 1366 ] 1366 ] 1367 }, 1367 }, 1368 { 1368 { 1369 "id": "6b1b", 1369 "id": "6b1b", 1370 "name": "Add pedit action with LAYERE 1370 "name": "Add pedit action with LAYERED_OP ip clear precedence", 1371 "category": [ 1371 "category": [ 1372 "actions", 1372 "actions", 1373 "pedit", 1373 "pedit", 1374 "layered_op" 1374 "layered_op" 1375 ], 1375 ], 1376 "plugins": { 1376 "plugins": { 1377 "requires": "nsPlugin" 1377 "requires": "nsPlugin" 1378 }, 1378 }, 1379 "setup": [ 1379 "setup": [ 1380 [ 1380 [ 1381 "$TC actions flush action ped 1381 "$TC actions flush action pedit", 1382 0, 1382 0, 1383 1, 1383 1, 1384 255 1384 255 1385 ] 1385 ] 1386 ], 1386 ], 1387 "cmdUnderTest": "$TC actions add acti 1387 "cmdUnderTest": "$TC actions add action pedit munge ip precedence clear jump 2", 1388 "expExitCode": "0", 1388 "expExitCode": "0", 1389 "verifyCmd": "$TC actions list action 1389 "verifyCmd": "$TC actions list action pedit", 1390 "matchPattern": "action order [0-9]+: 1390 "matchPattern": "action order [0-9]+: pedit action jump 2 keys 1.*key #0 at 0: val 00000000 mask ff00ffff", 1391 "matchCount": "1", 1391 "matchCount": "1", 1392 "teardown": [ 1392 "teardown": [ 1393 "$TC actions flush action pedit" 1393 "$TC actions flush action pedit" 1394 ] 1394 ] 1395 }, 1395 }, 1396 { 1396 { 1397 "id": "824a", 1397 "id": "824a", 1398 "name": "Add pedit action with LAYERE 1398 "name": "Add pedit action with LAYERED_OP ip invert tos", 1399 "category": [ 1399 "category": [ 1400 "actions", 1400 "actions", 1401 "pedit", 1401 "pedit", 1402 "layered_op" 1402 "layered_op" 1403 ], 1403 ], 1404 "plugins": { 1404 "plugins": { 1405 "requires": "nsPlugin" 1405 "requires": "nsPlugin" 1406 }, 1406 }, 1407 "setup": [ 1407 "setup": [ 1408 [ 1408 [ 1409 "$TC actions flush action ped 1409 "$TC actions flush action pedit", 1410 0, 1410 0, 1411 1, 1411 1, 1412 255 1412 255 1413 ] 1413 ] 1414 ], 1414 ], 1415 "cmdUnderTest": "$TC actions add acti 1415 "cmdUnderTest": "$TC actions add action pedit munge ip tos invert pipe", 1416 "expExitCode": "0", 1416 "expExitCode": "0", 1417 "verifyCmd": "$TC actions list action 1417 "verifyCmd": "$TC actions list action pedit", 1418 "matchPattern": "action order [0-9]+: 1418 "matchPattern": "action order [0-9]+: pedit action pipe keys 1.*key #0 at 0: val 00ff0000 mask ffffffff", 1419 "matchCount": "1", 1419 "matchCount": "1", 1420 "teardown": [ 1420 "teardown": [ 1421 "$TC actions flush action pedit" 1421 "$TC actions flush action pedit" 1422 ] 1422 ] 1423 }, 1423 }, 1424 { 1424 { 1425 "id": "106f", 1425 "id": "106f", 1426 "name": "Add pedit action with LAYERE 1426 "name": "Add pedit action with LAYERED_OP ip invert precedence", 1427 "category": [ 1427 "category": [ 1428 "actions", 1428 "actions", 1429 "pedit", 1429 "pedit", 1430 "layered_op" 1430 "layered_op" 1431 ], 1431 ], 1432 "plugins": { 1432 "plugins": { 1433 "requires": "nsPlugin" 1433 "requires": "nsPlugin" 1434 }, 1434 }, 1435 "setup": [ 1435 "setup": [ 1436 [ 1436 [ 1437 "$TC actions flush action ped 1437 "$TC actions flush action pedit", 1438 0, 1438 0, 1439 1, 1439 1, 1440 255 1440 255 1441 ] 1441 ] 1442 ], 1442 ], 1443 "cmdUnderTest": "$TC actions add acti 1443 "cmdUnderTest": "$TC actions add action pedit munge ip precedence invert reclassify", 1444 "expExitCode": "0", 1444 "expExitCode": "0", 1445 "verifyCmd": "$TC actions list action 1445 "verifyCmd": "$TC actions list action pedit", 1446 "matchPattern": "action order [0-9]+: 1446 "matchPattern": "action order [0-9]+: pedit action reclassify keys 1.*key #0 at 0: val 00ff0000 mask ffffffff", 1447 "matchCount": "1", 1447 "matchCount": "1", 1448 "teardown": [ 1448 "teardown": [ 1449 "$TC actions flush action pedit" 1449 "$TC actions flush action pedit" 1450 ] 1450 ] 1451 }, 1451 }, 1452 { 1452 { 1453 "id": "6829", 1453 "id": "6829", 1454 "name": "Add pedit action with LAYERE 1454 "name": "Add pedit action with LAYERED_OP beyond ip set dport & sport", 1455 "category": [ 1455 "category": [ 1456 "actions", 1456 "actions", 1457 "pedit", 1457 "pedit", 1458 "layered_op" 1458 "layered_op" 1459 ], 1459 ], 1460 "plugins": { 1460 "plugins": { 1461 "requires": "nsPlugin" 1461 "requires": "nsPlugin" 1462 }, 1462 }, 1463 "setup": [ 1463 "setup": [ 1464 [ 1464 [ 1465 "$TC actions flush action ped 1465 "$TC actions flush action pedit", 1466 0, 1466 0, 1467 1, 1467 1, 1468 255 1468 255 1469 ] 1469 ] 1470 ], 1470 ], 1471 "cmdUnderTest": "$TC actions add acti 1471 "cmdUnderTest": "$TC actions add action pedit munge ip dport set 0x1234 munge ip sport set 0x5678", 1472 "expExitCode": "0", 1472 "expExitCode": "0", 1473 "verifyCmd": "$TC actions list action 1473 "verifyCmd": "$TC actions list action pedit | grep 'key '", 1474 "matchPattern": " 20: val 00001234 ma 1474 "matchPattern": " 20: val 00001234 mask ffff0000.* 20: val 56780000 mask 0000ffff", 1475 "matchCount": "1", 1475 "matchCount": "1", 1476 "teardown": [ 1476 "teardown": [ 1477 "$TC actions flush action pedit" 1477 "$TC actions flush action pedit" 1478 ] 1478 ] 1479 }, 1479 }, 1480 { 1480 { 1481 "id": "afd8", 1481 "id": "afd8", 1482 "name": "Add pedit action with LAYERE 1482 "name": "Add pedit action with LAYERED_OP beyond ip set icmp_type & icmp_code", 1483 "category": [ 1483 "category": [ 1484 "actions", 1484 "actions", 1485 "pedit", 1485 "pedit", 1486 "layered_op" 1486 "layered_op" 1487 ], 1487 ], 1488 "plugins": { 1488 "plugins": { 1489 "requires": "nsPlugin" 1489 "requires": "nsPlugin" 1490 }, 1490 }, 1491 "setup": [ 1491 "setup": [ 1492 [ 1492 [ 1493 "$TC actions flush action ped 1493 "$TC actions flush action pedit", 1494 0, 1494 0, 1495 1, 1495 1, 1496 255 1496 255 1497 ] 1497 ] 1498 ], 1498 ], 1499 "cmdUnderTest": "$TC actions add acti 1499 "cmdUnderTest": "$TC actions add action pedit munge ip icmp_type set 0xff munge ip icmp_code set 0xff", 1500 "expExitCode": "0", 1500 "expExitCode": "0", 1501 "verifyCmd": "$TC actions list action 1501 "verifyCmd": "$TC actions list action pedit | grep 'key '", 1502 "matchPattern": " 20: val ff000000 ma 1502 "matchPattern": " 20: val ff000000 mask 00ffffff.* 20: val ff000000 mask 00ffffff", 1503 "matchCount": "1", 1503 "matchCount": "1", 1504 "teardown": [ 1504 "teardown": [ 1505 "$TC actions flush action pedit" 1505 "$TC actions flush action pedit" 1506 ] 1506 ] 1507 }, 1507 }, 1508 { 1508 { 1509 "id": "3143", 1509 "id": "3143", 1510 "name": "Add pedit action with LAYERE 1510 "name": "Add pedit action with LAYERED_OP beyond ip set dport (INVALID)", 1511 "category": [ 1511 "category": [ 1512 "actions", 1512 "actions", 1513 "pedit", 1513 "pedit", 1514 "layered_op" 1514 "layered_op" 1515 ], 1515 ], 1516 "plugins": { 1516 "plugins": { 1517 "requires": "nsPlugin" 1517 "requires": "nsPlugin" 1518 }, 1518 }, 1519 "setup": [ 1519 "setup": [ 1520 [ 1520 [ 1521 "$TC actions flush action ped 1521 "$TC actions flush action pedit", 1522 0, 1522 0, 1523 1, 1523 1, 1524 255 1524 255 1525 ] 1525 ] 1526 ], 1526 ], 1527 "cmdUnderTest": "$TC actions add acti 1527 "cmdUnderTest": "$TC actions add action pedit ex munge ip dport set 0x1234", 1528 "expExitCode": "255", 1528 "expExitCode": "255", 1529 "verifyCmd": "/bin/true", 1529 "verifyCmd": "/bin/true", 1530 "matchPattern": " ", 1530 "matchPattern": " ", 1531 "matchCount": "0", 1531 "matchCount": "0", 1532 "teardown": [ 1532 "teardown": [ 1533 "$TC actions flush action pedit" 1533 "$TC actions flush action pedit" 1534 ] 1534 ] 1535 }, 1535 }, 1536 { 1536 { 1537 "id": "815c", 1537 "id": "815c", 1538 "name": "Add pedit action with LAYERE 1538 "name": "Add pedit action with LAYERED_OP ip6 set src", 1539 "category": [ 1539 "category": [ 1540 "actions", 1540 "actions", 1541 "pedit", 1541 "pedit", 1542 "layered_op" 1542 "layered_op" 1543 ], 1543 ], 1544 "plugins": { 1544 "plugins": { 1545 "requires": "nsPlugin" 1545 "requires": "nsPlugin" 1546 }, 1546 }, 1547 "setup": [ 1547 "setup": [ 1548 [ 1548 [ 1549 "$TC actions flush action ped 1549 "$TC actions flush action pedit", 1550 0, 1550 0, 1551 1, 1551 1, 1552 255 1552 255 1553 ] 1553 ] 1554 ], 1554 ], 1555 "cmdUnderTest": "$TC actions add acti 1555 "cmdUnderTest": "$TC actions add action pedit ex munge ip6 src set 2001:0db8:0:f101::1", 1556 "expExitCode": "0", 1556 "expExitCode": "0", 1557 "verifyCmd": "$TC actions list action 1557 "verifyCmd": "$TC actions list action pedit", 1558 "matchPattern": "action order [0-9]+: 1558 "matchPattern": "action order [0-9]+: pedit action pass keys 4.*key #0 at ipv6\\+8: val 20010db8 mask 00000000.*key #1 at ipv6\\+12: val 0000f101 mask 00000000.*key #2 at ipv6\\+16: val 00000000 mask 00000000.*key #3 at ipv6\\+20: val 00000001 mask 00000000", 1559 "matchCount": "1", 1559 "matchCount": "1", 1560 "teardown": [ 1560 "teardown": [ 1561 "$TC actions flush action pedit" 1561 "$TC actions flush action pedit" 1562 ] 1562 ] 1563 }, 1563 }, 1564 { 1564 { 1565 "id": "4dae", 1565 "id": "4dae", 1566 "name": "Add pedit action with LAYERE 1566 "name": "Add pedit action with LAYERED_OP ip6 set dst", 1567 "category": [ 1567 "category": [ 1568 "actions", 1568 "actions", 1569 "pedit", 1569 "pedit", 1570 "layered_op" 1570 "layered_op" 1571 ], 1571 ], 1572 "plugins": { 1572 "plugins": { 1573 "requires": "nsPlugin" 1573 "requires": "nsPlugin" 1574 }, 1574 }, 1575 "setup": [ 1575 "setup": [ 1576 [ 1576 [ 1577 "$TC actions flush action ped 1577 "$TC actions flush action pedit", 1578 0, 1578 0, 1579 1, 1579 1, 1580 255 1580 255 1581 ] 1581 ] 1582 ], 1582 ], 1583 "cmdUnderTest": "$TC actions add acti 1583 "cmdUnderTest": "$TC actions add action pedit ex munge ip6 dst set 2001:0db8:0:f101::1", 1584 "expExitCode": "0", 1584 "expExitCode": "0", 1585 "verifyCmd": "$TC actions list action 1585 "verifyCmd": "$TC actions list action pedit", 1586 "matchPattern": "action order [0-9]+: 1586 "matchPattern": "action order [0-9]+: pedit action pass keys 4.*key #0 at ipv6\\+24: val 20010db8 mask 00000000.*key #1 at ipv6\\+28: val 0000f101 mask 00000000.*key #2 at ipv6\\+32: val 00000000 mask 00000000.*key #3 at ipv6\\+36: val 00000001 mask 00000000", 1587 "matchCount": "1", 1587 "matchCount": "1", 1588 "teardown": [ 1588 "teardown": [ 1589 "$TC actions flush action pedit" 1589 "$TC actions flush action pedit" 1590 ] 1590 ] 1591 }, 1591 }, 1592 { 1592 { 1593 "id": "fc1f", 1593 "id": "fc1f", 1594 "name": "Add pedit action with LAYERE 1594 "name": "Add pedit action with LAYERED_OP ip6 set src & dst", 1595 "category": [ 1595 "category": [ 1596 "actions", 1596 "actions", 1597 "pedit", 1597 "pedit", 1598 "layered_op" 1598 "layered_op" 1599 ], 1599 ], 1600 "plugins": { 1600 "plugins": { 1601 "requires": "nsPlugin" 1601 "requires": "nsPlugin" 1602 }, 1602 }, 1603 "setup": [ 1603 "setup": [ 1604 [ 1604 [ 1605 "$TC actions flush action ped 1605 "$TC actions flush action pedit", 1606 0, 1606 0, 1607 1, 1607 1, 1608 255 1608 255 1609 ] 1609 ] 1610 ], 1610 ], 1611 "cmdUnderTest": "$TC actions add acti 1611 "cmdUnderTest": "$TC actions add action pedit ex munge ip6 src set 2001:0db8:0:f101::1 munge ip6 dst set 2001:0db8:0:f101::1", 1612 "expExitCode": "0", 1612 "expExitCode": "0", 1613 "verifyCmd": "$TC actions list action 1613 "verifyCmd": "$TC actions list action pedit | grep 'key '", 1614 "matchPattern": "ipv6\\+8: val 20010d 1614 "matchPattern": "ipv6\\+8: val 20010db8 mask 00000000.*ipv6\\+12: val 0000f101 mask 00000000.*ipv6\\+16: val 00000000 mask 00000000.*ipv6\\+20: val 00000001 mask 00000000.*ipv6\\+24: val 20010db8 mask 00000000.*ipv6\\+28: val 0000f101 mask 00000000.*ipv6\\+32: val 00000000 mask 00000000.*ipv6\\+36: val 00000001 mask 00000000", 1615 "matchCount": "1", 1615 "matchCount": "1", 1616 "teardown": [ 1616 "teardown": [ 1617 "$TC actions flush action pedit" 1617 "$TC actions flush action pedit" 1618 ] 1618 ] 1619 }, 1619 }, 1620 { 1620 { 1621 "id": "6d34", 1621 "id": "6d34", 1622 "name": "Add pedit action with LAYERE 1622 "name": "Add pedit action with LAYERED_OP ip6 dst retain value (INVALID)", 1623 "category": [ 1623 "category": [ 1624 "actions", 1624 "actions", 1625 "pedit", 1625 "pedit", 1626 "layered_op" 1626 "layered_op" 1627 ], 1627 ], 1628 "plugins": { 1628 "plugins": { 1629 "requires": "nsPlugin" 1629 "requires": "nsPlugin" 1630 }, 1630 }, 1631 "setup": [ 1631 "setup": [ 1632 [ 1632 [ 1633 "$TC actions flush action ped 1633 "$TC actions flush action pedit", 1634 0, 1634 0, 1635 1, 1635 1, 1636 255 1636 255 1637 ] 1637 ] 1638 ], 1638 ], 1639 "cmdUnderTest": "$TC actions add acti 1639 "cmdUnderTest": "$TC actions add action pedit ex munge ip6 dst set 2001:0db8:0:f101::1 retain 0xff0000", 1640 "expExitCode": "255", 1640 "expExitCode": "255", 1641 "verifyCmd": "/bin/true", 1641 "verifyCmd": "/bin/true", 1642 "matchPattern": " ", 1642 "matchPattern": " ", 1643 "matchCount": "0", 1643 "matchCount": "0", 1644 "teardown": [ 1644 "teardown": [ 1645 "$TC actions flush action pedit" 1645 "$TC actions flush action pedit" 1646 ] 1646 ] 1647 }, 1647 }, 1648 { 1648 { 1649 "id": "94bb", 1649 "id": "94bb", 1650 "name": "Add pedit action with LAYERE 1650 "name": "Add pedit action with LAYERED_OP ip6 traffic_class", 1651 "category": [ 1651 "category": [ 1652 "actions", 1652 "actions", 1653 "pedit", 1653 "pedit", 1654 "layered_op" 1654 "layered_op" 1655 ], 1655 ], 1656 "plugins": { 1656 "plugins": { 1657 "requires": "nsPlugin" 1657 "requires": "nsPlugin" 1658 }, 1658 }, 1659 "setup": [ 1659 "setup": [ 1660 [ 1660 [ 1661 "$TC actions flush action ped 1661 "$TC actions flush action pedit", 1662 0, 1662 0, 1663 1, 1663 1, 1664 255 1664 255 1665 ] 1665 ] 1666 ], 1666 ], 1667 "cmdUnderTest": "$TC actions add acti 1667 "cmdUnderTest": "$TC actions add action pedit ex munge ip6 traffic_class set 0x40 continue", 1668 "expExitCode": "0", 1668 "expExitCode": "0", 1669 "verifyCmd": "$TC actions list action 1669 "verifyCmd": "$TC actions list action pedit", 1670 "matchPattern": "ipv6\\+0: val 040000 1670 "matchPattern": "ipv6\\+0: val 04000000 mask f00fffff", 1671 "matchCount": "1", 1671 "matchCount": "1", 1672 "teardown": [ 1672 "teardown": [ 1673 "$TC actions flush action pedit" 1673 "$TC actions flush action pedit" 1674 ] 1674 ] 1675 }, 1675 }, 1676 { 1676 { 1677 "id": "6f5e", 1677 "id": "6f5e", 1678 "name": "Add pedit action with LAYERE 1678 "name": "Add pedit action with LAYERED_OP ip6 flow_lbl", 1679 "category": [ 1679 "category": [ 1680 "actions", 1680 "actions", 1681 "pedit", 1681 "pedit", 1682 "layered_op" 1682 "layered_op" 1683 ], 1683 ], 1684 "plugins": { 1684 "plugins": { 1685 "requires": "nsPlugin" 1685 "requires": "nsPlugin" 1686 }, 1686 }, 1687 "setup": [ 1687 "setup": [ 1688 [ 1688 [ 1689 "$TC actions flush action ped 1689 "$TC actions flush action pedit", 1690 0, 1690 0, 1691 1, 1691 1, 1692 255 1692 255 1693 ] 1693 ] 1694 ], 1694 ], 1695 "cmdUnderTest": "$TC actions add acti 1695 "cmdUnderTest": "$TC actions add action pedit ex munge ip6 flow_lbl set 0xfffff", 1696 "expExitCode": "0", 1696 "expExitCode": "0", 1697 "verifyCmd": "$TC actions list action 1697 "verifyCmd": "$TC actions list action pedit | grep 'key '", 1698 "matchPattern": "ipv6\\+0: val 0007ff 1698 "matchPattern": "ipv6\\+0: val 0007ffff mask fff80000", 1699 "matchCount": "1", 1699 "matchCount": "1", 1700 "teardown": [ 1700 "teardown": [ 1701 "$TC actions flush action pedit" 1701 "$TC actions flush action pedit" 1702 ] 1702 ] 1703 }, 1703 }, 1704 { 1704 { 1705 "id": "6795", 1705 "id": "6795", 1706 "name": "Add pedit action with LAYERE 1706 "name": "Add pedit action with LAYERED_OP ip6 set payload_len, nexthdr, hoplimit", 1707 "category": [ 1707 "category": [ 1708 "actions", 1708 "actions", 1709 "pedit", 1709 "pedit", 1710 "layered_op" 1710 "layered_op" 1711 ], 1711 ], 1712 "setup": [ 1712 "setup": [ 1713 [ 1713 [ 1714 "$TC actions flush action ped 1714 "$TC actions flush action pedit", 1715 0, 1715 0, 1716 1, 1716 1, 1717 255 1717 255 1718 ] 1718 ] 1719 ], 1719 ], 1720 "cmdUnderTest": "$TC actions add acti 1720 "cmdUnderTest": "$TC actions add action pedit ex munge ip6 payload_len set 0xffff munge ip6 nexthdr set 0xff munge ip6 hoplimit set 0xff", 1721 "expExitCode": "0", 1721 "expExitCode": "0", 1722 "verifyCmd": "$TC actions list action 1722 "verifyCmd": "$TC actions list action pedit | grep 'key '", 1723 "matchPattern": "ipv6\\+4: val ffff00 1723 "matchPattern": "ipv6\\+4: val ffff0000 mask 0000ffff.*ipv6\\+4: val 0000ff00 mask ffff00ff.*ipv6\\+4: val 000000ff mask ffffff00", 1724 "matchCount": "1", 1724 "matchCount": "1", 1725 "teardown": [ 1725 "teardown": [ 1726 "$TC actions flush action pedit" 1726 "$TC actions flush action pedit" 1727 ] 1727 ] 1728 }, 1728 }, 1729 { 1729 { 1730 "id": "1442", 1730 "id": "1442", 1731 "name": "Add pedit action with LAYERE 1731 "name": "Add pedit action with LAYERED_OP tcp set dport & sport", 1732 "category": [ 1732 "category": [ 1733 "actions", 1733 "actions", 1734 "pedit", 1734 "pedit", 1735 "layered_op" 1735 "layered_op" 1736 ], 1736 ], 1737 "plugins": { 1737 "plugins": { 1738 "requires": "nsPlugin" 1738 "requires": "nsPlugin" 1739 }, 1739 }, 1740 "setup": [ 1740 "setup": [ 1741 [ 1741 [ 1742 "$TC actions flush action ped 1742 "$TC actions flush action pedit", 1743 0, 1743 0, 1744 1, 1744 1, 1745 255 1745 255 1746 ] 1746 ] 1747 ], 1747 ], 1748 "cmdUnderTest": "$TC actions add acti 1748 "cmdUnderTest": "$TC actions add action pedit ex munge tcp dport set 4789 munge tcp sport set 1", 1749 "expExitCode": "0", 1749 "expExitCode": "0", 1750 "verifyCmd": "$TC actions list action 1750 "verifyCmd": "$TC actions list action pedit | grep 'key '", 1751 "matchPattern": "tcp\\+0: val 000012b 1751 "matchPattern": "tcp\\+0: val 000012b5 mask ffff0000.*tcp\\+0: val 00010000 mask 0000ffff", 1752 "matchCount": "1", 1752 "matchCount": "1", 1753 "teardown": [ 1753 "teardown": [ 1754 "$TC actions flush action pedit" 1754 "$TC actions flush action pedit" 1755 ] 1755 ] 1756 }, 1756 }, 1757 { 1757 { 1758 "id": "b7ac", 1758 "id": "b7ac", 1759 "name": "Add pedit action with LAYERE 1759 "name": "Add pedit action with LAYERED_OP tcp sport set (INVALID)", 1760 "category": [ 1760 "category": [ 1761 "actions", 1761 "actions", 1762 "pedit", 1762 "pedit", 1763 "layered_op" 1763 "layered_op" 1764 ], 1764 ], 1765 "plugins": { 1765 "plugins": { 1766 "requires": "nsPlugin" 1766 "requires": "nsPlugin" 1767 }, 1767 }, 1768 "setup": [ 1768 "setup": [ 1769 [ 1769 [ 1770 "$TC actions flush action ped 1770 "$TC actions flush action pedit", 1771 0, 1771 0, 1772 1, 1772 1, 1773 255 1773 255 1774 ] 1774 ] 1775 ], 1775 ], 1776 "cmdUnderTest": "$TC actions add acti 1776 "cmdUnderTest": "$TC actions add action pedit ex munge tcp sport set -200", 1777 "expExitCode": "255", 1777 "expExitCode": "255", 1778 "verifyCmd": "/bin/true", 1778 "verifyCmd": "/bin/true", 1779 "matchPattern": " ", 1779 "matchPattern": " ", 1780 "matchCount": "0", 1780 "matchCount": "0", 1781 "teardown": [ 1781 "teardown": [ 1782 "$TC actions flush action pedit" 1782 "$TC actions flush action pedit" 1783 ] 1783 ] 1784 }, 1784 }, 1785 { 1785 { 1786 "id": "cfcc", 1786 "id": "cfcc", 1787 "name": "Add pedit action with LAYERE 1787 "name": "Add pedit action with LAYERED_OP tcp flags set", 1788 "category": [ 1788 "category": [ 1789 "actions", 1789 "actions", 1790 "pedit", 1790 "pedit", 1791 "layered_op" 1791 "layered_op" 1792 ], 1792 ], 1793 "setup": [ 1793 "setup": [ 1794 [ 1794 [ 1795 "$TC actions flush action ped 1795 "$TC actions flush action pedit", 1796 0, 1796 0, 1797 1, 1797 1, 1798 255 1798 255 1799 ] 1799 ] 1800 ], 1800 ], 1801 "cmdUnderTest": "$TC actions add acti 1801 "cmdUnderTest": "$TC actions add action pedit ex munge tcp flags set 0x16", 1802 "expExitCode": "0", 1802 "expExitCode": "0", 1803 "verifyCmd": "$TC actions list action 1803 "verifyCmd": "$TC actions list action pedit | grep 'key '", 1804 "matchPattern": "tcp\\+12: val 001600 1804 "matchPattern": "tcp\\+12: val 00160000 mask ff00ffff", 1805 "matchCount": "1", 1805 "matchCount": "1", 1806 "teardown": [ 1806 "teardown": [ 1807 "$TC actions flush action pedit" 1807 "$TC actions flush action pedit" 1808 ] 1808 ] 1809 }, 1809 }, 1810 { 1810 { 1811 "id": "3bc4", 1811 "id": "3bc4", 1812 "name": "Add pedit action with LAYERE 1812 "name": "Add pedit action with LAYERED_OP tcp set dport, sport & flags fields", 1813 "category": [ 1813 "category": [ 1814 "actions", 1814 "actions", 1815 "pedit", 1815 "pedit", 1816 "layered_op" 1816 "layered_op" 1817 ], 1817 ], 1818 "plugins": { 1818 "plugins": { 1819 "requires": "nsPlugin" 1819 "requires": "nsPlugin" 1820 }, 1820 }, 1821 "setup": [ 1821 "setup": [ 1822 [ 1822 [ 1823 "$TC actions flush action ped 1823 "$TC actions flush action pedit", 1824 0, 1824 0, 1825 1, 1825 1, 1826 255 1826 255 1827 ] 1827 ] 1828 ], 1828 ], 1829 "cmdUnderTest": "$TC actions add acti 1829 "cmdUnderTest": "$TC actions add action pedit ex munge tcp dport set 4789 munge tcp sport set 1 munge tcp flags set 0x1", 1830 "expExitCode": "0", 1830 "expExitCode": "0", 1831 "verifyCmd": "$TC actions list action 1831 "verifyCmd": "$TC actions list action pedit | grep 'key '", 1832 "matchPattern": "tcp\\+0: val 000012b 1832 "matchPattern": "tcp\\+0: val 000012b5 mask ffff0000.*tcp\\+0: val 00010000 mask 0000ffff.*tcp\\+12: val 00010000 mask ff00ffff", 1833 "matchCount": "1", 1833 "matchCount": "1", 1834 "teardown": [ 1834 "teardown": [ 1835 "$TC actions flush action pedit" 1835 "$TC actions flush action pedit" 1836 ] 1836 ] 1837 }, 1837 }, 1838 { 1838 { 1839 "id": "f1c8", 1839 "id": "f1c8", 1840 "name": "Add pedit action with LAYERE 1840 "name": "Add pedit action with LAYERED_OP udp set dport & sport", 1841 "category": [ 1841 "category": [ 1842 "actions", 1842 "actions", 1843 "pedit", 1843 "pedit", 1844 "layered_op" 1844 "layered_op" 1845 ], 1845 ], 1846 "plugins": { 1846 "plugins": { 1847 "requires": "nsPlugin" 1847 "requires": "nsPlugin" 1848 }, 1848 }, 1849 "setup": [ 1849 "setup": [ 1850 [ 1850 [ 1851 "$TC actions flush action ped 1851 "$TC actions flush action pedit", 1852 0, 1852 0, 1853 1, 1853 1, 1854 255 1854 255 1855 ] 1855 ] 1856 ], 1856 ], 1857 "cmdUnderTest": "$TC actions add acti 1857 "cmdUnderTest": "$TC actions add action pedit ex munge udp dport set 4789 munge udp sport set 4789", 1858 "expExitCode": "0", 1858 "expExitCode": "0", 1859 "verifyCmd": "$TC actions list action 1859 "verifyCmd": "$TC actions list action pedit | grep 'key '", 1860 "matchPattern": "udp\\+0: val 000012b 1860 "matchPattern": "udp\\+0: val 000012b5 mask ffff0000.*udp\\+0: val 12b50000 mask 0000ffff", 1861 "matchCount": "1", 1861 "matchCount": "1", 1862 "teardown": [ 1862 "teardown": [ 1863 "$TC actions flush action pedit" 1863 "$TC actions flush action pedit" 1864 ] 1864 ] 1865 }, 1865 }, 1866 { 1866 { 1867 "id": "d784", 1867 "id": "d784", 1868 "name": "Add pedit action with mixed 1868 "name": "Add pedit action with mixed RAW/LAYERED_OP #1", 1869 "category": [ 1869 "category": [ 1870 "actions", 1870 "actions", 1871 "pedit", 1871 "pedit", 1872 "layered_op", 1872 "layered_op", 1873 "raw_op" 1873 "raw_op" 1874 ], 1874 ], 1875 "plugins": { 1875 "plugins": { 1876 "requires": "nsPlugin" 1876 "requires": "nsPlugin" 1877 }, 1877 }, 1878 "setup": [ 1878 "setup": [ 1879 [ 1879 [ 1880 "$TC actions flush action ped 1880 "$TC actions flush action pedit", 1881 0, 1881 0, 1882 1, 1882 1, 1883 255 1883 255 1884 ] 1884 ] 1885 ], 1885 ], 1886 "cmdUnderTest": "$TC actions add acti 1886 "cmdUnderTest": "$TC actions add action pedit ex munge eth src set 11:22:33:44:55:66 munge ip ttl set 0xff munge tcp flags clear munge offset 15 u8 add 40 retain 0xf0 munge udp dport add 1", 1887 "expExitCode": "0", 1887 "expExitCode": "0", 1888 "verifyCmd": "$TC actions list action 1888 "verifyCmd": "$TC actions list action pedit | grep 'key '", 1889 "matchPattern": "eth\\+4: val 0000112 1889 "matchPattern": "eth\\+4: val 00001122 mask ffff0000.*eth\\+8: val 33445566 mask 00000000.*ipv4\\+8: val ff000000 mask 00ffffff.*tcp\\+12: val 00000000 mask ff00ffff.* 12: add 00000020 mask ffffff0f.*udp\\+0: add 00000001 mask ffff0000", 1890 "matchCount": "1", 1890 "matchCount": "1", 1891 "teardown": [ 1891 "teardown": [ 1892 "$TC actions flush action pedit" 1892 "$TC actions flush action pedit" 1893 ] 1893 ] 1894 }, 1894 }, 1895 { 1895 { 1896 "id": "70ca", 1896 "id": "70ca", 1897 "name": "Add pedit action with mixed 1897 "name": "Add pedit action with mixed RAW/LAYERED_OP #2", 1898 "category": [ 1898 "category": [ 1899 "actions", 1899 "actions", 1900 "pedit", 1900 "pedit", 1901 "layered_op", 1901 "layered_op", 1902 "raw_op" 1902 "raw_op" 1903 ], 1903 ], 1904 "plugins": { 1904 "plugins": { 1905 "requires": "nsPlugin" 1905 "requires": "nsPlugin" 1906 }, 1906 }, 1907 "setup": [ 1907 "setup": [ 1908 [ 1908 [ 1909 "$TC actions flush action ped 1909 "$TC actions flush action pedit", 1910 0, 1910 0, 1911 1, 1911 1, 1912 255 1912 255 1913 ] 1913 ] 1914 ], 1914 ], 1915 "cmdUnderTest": "$TC actions add acti 1915 "cmdUnderTest": "$TC actions add action pedit ex munge eth src set 11:22:33:44:55:66 munge eth dst set ff:ee:dd:cc:bb:aa munge ip6 payload_len set 0xffff munge ip6 nexthdr set 0xff munge ip6 hoplimit preserve munge offset 0 u8 set 0x12 munge offset 1 u16 set 0x3456 munge offset 3 u8 set 0x78 munge ip ttl set 0xaa munge ip protocol set 0xff", 1916 "expExitCode": "0", 1916 "expExitCode": "0", 1917 "verifyCmd": "$TC actions list action 1917 "verifyCmd": "$TC actions list action pedit | grep 'key '", 1918 "matchPattern": "eth\\+4: val 0000112 1918 "matchPattern": "eth\\+4: val 00001122 mask ffff0000.*eth\\+8: val 33445566 mask 00000000.*eth\\+0: val ffeeddcc mask 00000000.*eth\\+4: val bbaa0000 mask 0000ffff.*ipv6\\+4: val ffff0000 mask 0000ffff.*ipv6\\+4: val 0000ff00 mask ffff00ff.*ipv6\\+4: val 00000000 mask ffffffff.* 0: val 12000000 mask 00ffffff.* 0: val 00345600 mask ff0000ff.* 0: val 00000078 mask ffffff00.*ipv4\\+8: val aa000000 mask 00ffffff.*ipv4\\+8: val 00ff0000 mask ff00ffff", 1919 "matchCount": "1", 1919 "matchCount": "1", 1920 "teardown": [ 1920 "teardown": [ 1921 "$TC actions flush action pedit" 1921 "$TC actions flush action pedit" 1922 ] 1922 ] 1923 } 1923 } 1924 ] 1924 ]
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.