1[ 2 { 3 "id": "2b11", 4 "name": "Add tunnel_key set action with mandatory parameters", 5 "category": [ 6 "actions", 7 "tunnel_key" 8 ], 9 "plugins": { 10 "requires": "nsPlugin" 11 }, 12 "setup": [ 13 [ 14 "$TC actions flush action tunnel_key", 15 0, 16 1, 17 255 18 ] 19 ], 20 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 10.10.10.1 dst_ip 20.20.20.2 id 1", 21 "expExitCode": "0", 22 "verifyCmd": "$TC actions list action tunnel_key", 23 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 10.10.10.1.*dst_ip 20.20.20.2.*key_id 1", 24 "matchCount": "1", 25 "teardown": [ 26 "$TC actions flush action tunnel_key" 27 ] 28 }, 29 { 30 "id": "dc6b", 31 "name": "Add tunnel_key set action with missing mandatory src_ip parameter", 32 "category": [ 33 "actions", 34 "tunnel_key" 35 ], 36 "plugins": { 37 "requires": "nsPlugin" 38 }, 39 "setup": [ 40 [ 41 "$TC actions flush action tunnel_key", 42 0, 43 1, 44 255 45 ] 46 ], 47 "cmdUnderTest": "$TC actions add action tunnel_key set dst_ip 20.20.20.2 id 100", 48 "expExitCode": "255", 49 "verifyCmd": "$TC actions list action tunnel_key", 50 "matchPattern": "action order [0-9]+: tunnel_key set.*dst_ip 20.20.20.2.*key_id 100", 51 "matchCount": "0", 52 "teardown": [ 53 [ 54 "$TC actions flush action tunnel_key", 55 0, 56 1, 57 255 58 ] 59 ] 60 }, 61 { 62 "id": "7f25", 63 "name": "Add tunnel_key set action with missing mandatory dst_ip parameter", 64 "category": [ 65 "actions", 66 "tunnel_key" 67 ], 68 "plugins": { 69 "requires": "nsPlugin" 70 }, 71 "setup": [ 72 [ 73 "$TC actions flush action tunnel_key", 74 0, 75 1, 76 255 77 ] 78 ], 79 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 10.10.10.1 id 100", 80 "expExitCode": "255", 81 "verifyCmd": "$TC actions list action tunnel_key", 82 "matchPattern": "action order [0-9]+: tunnel_key set.*src_ip 10.10.10.1.*key_id 100", 83 "matchCount": "0", 84 "teardown": [ 85 [ 86 "$TC actions flush action tunnel_key", 87 0, 88 1, 89 255 90 ] 91 ] 92 }, 93 { 94 "id": "a5e0", 95 "name": "Add tunnel_key set action with invalid src_ip parameter", 96 "category": [ 97 "actions", 98 "tunnel_key" 99 ], 100 "plugins": { 101 "requires": "nsPlugin" 102 }, 103 "setup": [ 104 [ 105 "$TC actions flush action tunnel_key", 106 0, 107 1, 108 255 109 ] 110 ], 111 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 300.168.100.1 dst_ip 192.168.200.1 id 7 index 1", 112 "expExitCode": "1", 113 "verifyCmd": "$TC actions get action tunnel_key index 1", 114 "matchPattern": "action order [0-9]+: tunnel_key set.*src_ip 300.168.100.1.*dst_ip 192.168.200.1.*key_id 7.*index 1 ref", 115 "matchCount": "0", 116 "teardown": [ 117 [ 118 "$TC actions flush action tunnel_key", 119 0, 120 1, 121 255 122 ] 123 ] 124 }, 125 { 126 "id": "eaa8", 127 "name": "Add tunnel_key set action with invalid dst_ip parameter", 128 "category": [ 129 "actions", 130 "tunnel_key" 131 ], 132 "plugins": { 133 "requires": "nsPlugin" 134 }, 135 "setup": [ 136 [ 137 "$TC actions flush action tunnel_key", 138 0, 139 1, 140 255 141 ] 142 ], 143 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 192.168.100.1 dst_ip 192.168.800.1 id 10 index 11", 144 "expExitCode": "1", 145 "verifyCmd": "$TC actions get action tunnel_key index 11", 146 "matchPattern": "action order [0-9]+: tunnel_key set.*src_ip 192.168.100.1.*dst_ip 192.168.800.1.*key_id 10.*index 11 ref", 147 "matchCount": "0", 148 "teardown": [ 149 [ 150 "$TC actions flush action tunnel_key", 151 0, 152 1, 153 255 154 ] 155 ] 156 }, 157 { 158 "id": "3b09", 159 "name": "Add tunnel_key set action with invalid id parameter", 160 "category": [ 161 "actions", 162 "tunnel_key" 163 ], 164 "plugins": { 165 "requires": "nsPlugin" 166 }, 167 "setup": [ 168 [ 169 "$TC actions flush action tunnel_key", 170 0, 171 1, 172 255 173 ] 174 ], 175 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 1.1.1.1 dst_ip 2.2.2.2 id 112233445566778899 index 1", 176 "expExitCode": "255", 177 "verifyCmd": "$TC actions get action tunnel_key index 1", 178 "matchPattern": "action order [0-9]+: tunnel_key set.*src_ip 1.1.1.1.*dst_ip 2.2.2.2.*key_id 112233445566778899.*index 1 ref", 179 "matchCount": "0", 180 "teardown": [ 181 [ 182 "$TC actions flush action tunnel_key", 183 0, 184 1, 185 255 186 ] 187 ] 188 }, 189 { 190 "id": "9625", 191 "name": "Add tunnel_key set action with invalid dst_port parameter", 192 "category": [ 193 "actions", 194 "tunnel_key" 195 ], 196 "plugins": { 197 "requires": "nsPlugin" 198 }, 199 "setup": [ 200 [ 201 "$TC actions flush action tunnel_key", 202 0, 203 1, 204 255 205 ] 206 ], 207 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 1.1.1.1 dst_ip 2.2.2.2 id 11 dst_port 998877 index 1", 208 "expExitCode": "255", 209 "verifyCmd": "$TC actions get action tunnel_key index 1", 210 "matchPattern": "action order [0-9]+: tunnel_key set.*src_ip 1.1.1.1.*dst_ip 2.2.2.2.*key_id 11.*dst_port 998877.*index 1 ref", 211 "matchCount": "0", 212 "teardown": [ 213 [ 214 "$TC actions flush action tunnel_key", 215 0, 216 1, 217 255 218 ] 219 ] 220 }, 221 { 222 "id": "05af", 223 "name": "Add tunnel_key set action with optional dst_port parameter", 224 "category": [ 225 "actions", 226 "tunnel_key" 227 ], 228 "plugins": { 229 "requires": "nsPlugin" 230 }, 231 "setup": [ 232 [ 233 "$TC actions flush action tunnel_key", 234 0, 235 1, 236 255 237 ] 238 ], 239 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 192.168.100.1 dst_ip 192.168.200.1 id 789 dst_port 4000 index 10", 240 "expExitCode": "0", 241 "verifyCmd": "$TC actions get action tunnel_key index 10", 242 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 192.168.100.1.*dst_ip 192.168.200.1.*key_id 789.*dst_port 4000.*index 10 ref", 243 "matchCount": "1", 244 "teardown": [ 245 "$TC actions flush action tunnel_key" 246 ] 247 }, 248 { 249 "id": "da80", 250 "name": "Add tunnel_key set action with index at 32-bit maximum", 251 "category": [ 252 "actions", 253 "tunnel_key" 254 ], 255 "plugins": { 256 "requires": "nsPlugin" 257 }, 258 "setup": [ 259 [ 260 "$TC actions flush action tunnel_key", 261 0, 262 1, 263 255 264 ] 265 ], 266 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 1.1.1.1 dst_ip 2.2.2.2 id 11 index 4294967295", 267 "expExitCode": "0", 268 "verifyCmd": "$TC actions get action tunnel_key index 4294967295", 269 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 1.1.1.1.*dst_ip 2.2.2.2.*id 11.*index 4294967295 ref", 270 "matchCount": "1", 271 "teardown": [ 272 "$TC actions flush action tunnel_key" 273 ] 274 }, 275 { 276 "id": "d407", 277 "name": "Add tunnel_key set action with index exceeding 32-bit maximum", 278 "category": [ 279 "actions", 280 "tunnel_key" 281 ], 282 "plugins": { 283 "requires": "nsPlugin" 284 }, 285 "setup": [ 286 [ 287 "$TC actions flush action tunnel_key", 288 0, 289 1, 290 255 291 ] 292 ], 293 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 1.1.1.1 dst_ip 2.2.2.2 id 11 index 4294967295678", 294 "expExitCode": "255", 295 "verifyCmd": "$TC actions get action tunnel_key index 4294967295678", 296 "matchPattern": "action order [0-9]+: tunnel_key set.*index 4294967295678 ref", 297 "matchCount": "0", 298 "teardown": [ 299 [ 300 "$TC actions flush action tunnel_key", 301 0, 302 1, 303 255 304 ] 305 ] 306 }, 307 { 308 "id": "5cba", 309 "name": "Add tunnel_key set action with id value at 32-bit maximum", 310 "category": [ 311 "actions", 312 "tunnel_key" 313 ], 314 "plugins": { 315 "requires": "nsPlugin" 316 }, 317 "setup": [ 318 [ 319 "$TC actions flush action tunnel_key", 320 0, 321 1, 322 255 323 ] 324 ], 325 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 1.1.1.1 dst_ip 2.2.2.2 id 4294967295 index 1", 326 "expExitCode": "0", 327 "verifyCmd": "$TC actions get action tunnel_key index 1", 328 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 1.1.1.1.*dst_ip 2.2.2.2.*key_id 4294967295.*index 1", 329 "matchCount": "1", 330 "teardown": [ 331 "$TC actions flush action tunnel_key" 332 ] 333 }, 334 { 335 "id": "e84a", 336 "name": "Add tunnel_key set action with id value exceeding 32-bit maximum", 337 "category": [ 338 "actions", 339 "tunnel_key" 340 ], 341 "plugins": { 342 "requires": "nsPlugin" 343 }, 344 "setup": [ 345 [ 346 "$TC actions flush action tunnel_key", 347 0, 348 1, 349 255 350 ] 351 ], 352 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 1.1.1.1 dst_ip 2.2.2.2 id 42949672955 index 1", 353 "expExitCode": "255", 354 "verifyCmd": "$TC actions get action tunnel_key index 4294967295", 355 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 1.1.1.1.*dst_ip 2.2.2.2.*key_id 42949672955.*index 1", 356 "matchCount": "0", 357 "teardown": [ 358 [ 359 "$TC actions flush action tunnel_key", 360 0, 361 1, 362 255 363 ] 364 ] 365 }, 366 { 367 "id": "9c19", 368 "name": "Add tunnel_key set action with dst_port value at 16-bit maximum", 369 "category": [ 370 "actions", 371 "tunnel_key" 372 ], 373 "plugins": { 374 "requires": "nsPlugin" 375 }, 376 "setup": [ 377 [ 378 "$TC actions flush action tunnel_key", 379 0, 380 1, 381 255 382 ] 383 ], 384 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 1.1.1.1 dst_ip 2.2.2.2 id 429 dst_port 65535 index 1", 385 "expExitCode": "0", 386 "verifyCmd": "$TC actions get action tunnel_key index 1", 387 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 1.1.1.1.*dst_ip 2.2.2.2.*key_id 429.*dst_port 65535.*index 1", 388 "matchCount": "1", 389 "teardown": [ 390 "$TC actions flush action tunnel_key" 391 ] 392 }, 393 { 394 "id": "3bd9", 395 "name": "Add tunnel_key set action with dst_port value exceeding 16-bit maximum", 396 "category": [ 397 "actions", 398 "tunnel_key" 399 ], 400 "plugins": { 401 "requires": "nsPlugin" 402 }, 403 "setup": [ 404 [ 405 "$TC actions flush action tunnel_key", 406 0, 407 1, 408 255 409 ] 410 ], 411 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 1.1.1.1 dst_ip 2.2.2.2 id 429 dst_port 65535789 index 1", 412 "expExitCode": "255", 413 "verifyCmd": "$TC actions get action tunnel_key index 1", 414 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 1.1.1.1.*dst_ip 2.2.2.2.*key_id 429.*dst_port 65535789.*index 1", 415 "matchCount": "0", 416 "teardown": [ 417 [ 418 "$TC actions flush action tunnel_key", 419 0, 420 1, 421 255 422 ] 423 ] 424 }, 425 { 426 "id": "68e2", 427 "name": "Add tunnel_key unset action", 428 "category": [ 429 "actions", 430 "tunnel_key" 431 ], 432 "plugins": { 433 "requires": "nsPlugin" 434 }, 435 "setup": [ 436 [ 437 "$TC actions flush action tunnel_key", 438 0, 439 1, 440 255 441 ] 442 ], 443 "cmdUnderTest": "$TC actions add action tunnel_key unset index 1", 444 "expExitCode": "0", 445 "verifyCmd": "$TC actions get action tunnel_key index 1", 446 "matchPattern": "action order [0-9]+: tunnel_key.*unset.*index 1 ref", 447 "matchCount": "1", 448 "teardown": [ 449 "$TC actions flush action tunnel_key" 450 ] 451 }, 452 { 453 "id": "6192", 454 "name": "Add tunnel_key unset continue action", 455 "category": [ 456 "actions", 457 "tunnel_key" 458 ], 459 "plugins": { 460 "requires": "nsPlugin" 461 }, 462 "setup": [ 463 [ 464 "$TC actions flush action tunnel_key", 465 0, 466 1, 467 255 468 ] 469 ], 470 "cmdUnderTest": "$TC actions add action tunnel_key unset continue index 1", 471 "expExitCode": "0", 472 "verifyCmd": "$TC actions get action tunnel_key index 1", 473 "matchPattern": "action order [0-9]+: tunnel_key.*unset continue.*index 1 ref", 474 "matchCount": "1", 475 "teardown": [ 476 "$TC actions flush action tunnel_key" 477 ] 478 }, 479 { 480 "id": "061d", 481 "name": "Add tunnel_key set continue action with cookie", 482 "category": [ 483 "actions", 484 "tunnel_key" 485 ], 486 "plugins": { 487 "requires": "nsPlugin" 488 }, 489 "setup": [ 490 [ 491 "$TC actions flush action tunnel_key", 492 0, 493 1, 494 255 495 ] 496 ], 497 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 192.168.10.1 dst_ip 192.168.20.2 id 123 continue index 1 cookie aa11bb22cc33dd44ee55ff66aa11b1b2", 498 "expExitCode": "0", 499 "verifyCmd": "$TC actions get action tunnel_key index 1", 500 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 192.168.10.1.*dst_ip 192.168.20.2.*key_id 123.*csum continue.*index 1.*cookie aa11bb22cc33dd44ee55ff66aa11b1b2", 501 "matchCount": "1", 502 "teardown": [ 503 "$TC actions flush action tunnel_key" 504 ] 505 }, 506 { 507 "id": "8acb", 508 "name": "Add tunnel_key set continue action with invalid cookie", 509 "category": [ 510 "actions", 511 "tunnel_key" 512 ], 513 "plugins": { 514 "requires": "nsPlugin" 515 }, 516 "setup": [ 517 [ 518 "$TC actions flush action tunnel_key", 519 0, 520 1, 521 255 522 ] 523 ], 524 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 192.168.10.1 dst_ip 192.168.20.2 id 123 continue index 1 cookie aa11bb22cc33dd44ee55ff66aa11b1b2777888", 525 "expExitCode": "255", 526 "verifyCmd": "$TC actions get action tunnel_key index 1", 527 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 192.168.10.1.*dst_ip 192.168.20.2.*key_id 123.*csum continue.*index 1.*cookie aa11bb22cc33dd44ee55ff66aa11b1b2777888", 528 "matchCount": "0", 529 "teardown": [ 530 [ 531 "$TC actions flush action tunnel_key", 532 0, 533 1, 534 255 535 ] 536 ] 537 }, 538 { 539 "id": "a07e", 540 "name": "Add tunnel_key action with no set/unset command specified", 541 "category": [ 542 "actions", 543 "tunnel_key" 544 ], 545 "plugins": { 546 "requires": "nsPlugin" 547 }, 548 "setup": [ 549 [ 550 "$TC actions flush action tunnel_key", 551 0, 552 1, 553 255 554 ] 555 ], 556 "cmdUnderTest": "$TC actions add action tunnel_key src_ip 10.10.10.1 dst_ip 20.20.20.2 id 1", 557 "expExitCode": "255", 558 "verifyCmd": "$TC actions get action tunnel_key index 1", 559 "matchPattern": "action order [0-9]+: tunnel_key.*src_ip 10.10.10.1.*dst_ip 20.20.20.2.*key_id 1", 560 "matchCount": "0", 561 "teardown": [ 562 [ 563 "$TC actions flush action tunnel_key", 564 0, 565 1, 566 255 567 ] 568 ] 569 }, 570 { 571 "id": "b227", 572 "name": "Add tunnel_key action with csum option", 573 "category": [ 574 "actions", 575 "tunnel_key" 576 ], 577 "plugins": { 578 "requires": "nsPlugin" 579 }, 580 "setup": [ 581 [ 582 "$TC actions flush action tunnel_key", 583 0, 584 1, 585 255 586 ] 587 ], 588 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 10.10.10.1 dst_ip 20.20.20.2 id 1 csum index 99", 589 "expExitCode": "0", 590 "verifyCmd": "$TC actions get action tunnel_key index 99", 591 "matchPattern": "action order [0-9]+: tunnel_key.*src_ip 10.10.10.1.*dst_ip 20.20.20.2.*key_id 1.*csum pipe.*index 99", 592 "matchCount": "1", 593 "teardown": [ 594 "$TC actions flush action tunnel_key" 595 ] 596 }, 597 { 598 "id": "58a7", 599 "name": "Add tunnel_key action with nocsum option", 600 "category": [ 601 "actions", 602 "tunnel_key" 603 ], 604 "plugins": { 605 "requires": "nsPlugin" 606 }, 607 "setup": [ 608 [ 609 "$TC actions flush action tunnel_key", 610 0, 611 1, 612 255 613 ] 614 ], 615 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 10.10.10.1 dst_ip 10.10.10.2 id 7823 nocsum index 234", 616 "expExitCode": "0", 617 "verifyCmd": "$TC actions get action tunnel_key index 234", 618 "matchPattern": "action order [0-9]+: tunnel_key.*src_ip 10.10.10.1.*dst_ip 10.10.10.2.*key_id 7823.*nocsum pipe.*index 234", 619 "matchCount": "1", 620 "teardown": [ 621 "$TC actions flush action tunnel_key" 622 ] 623 }, 624 { 625 "id": "2575", 626 "name": "Add tunnel_key action with not-supported parameter", 627 "category": [ 628 "actions", 629 "tunnel_key" 630 ], 631 "plugins": { 632 "requires": "nsPlugin" 633 }, 634 "setup": [ 635 [ 636 "$TC actions flush action tunnel_key", 637 0, 638 1, 639 255 640 ] 641 ], 642 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 10.10.10.1 dst_ip 10.10.10.2 id 7 foobar 999 index 4", 643 "expExitCode": "255", 644 "verifyCmd": "$TC actions get action tunnel_key index 4", 645 "matchPattern": "action order [0-9]+: tunnel_key.*src_ip 10.10.10.1.*dst_ip 10.10.10.2.*key_id 7.*foobar 999.*index 4", 646 "matchCount": "0", 647 "teardown": [ 648 [ 649 "$TC actions flush action tunnel_key", 650 0, 651 1, 652 255 653 ] 654 ] 655 }, 656 { 657 "id": "7a88", 658 "name": "Add tunnel_key action with cookie parameter", 659 "category": [ 660 "actions", 661 "tunnel_key" 662 ], 663 "plugins": { 664 "requires": "nsPlugin" 665 }, 666 "setup": [ 667 [ 668 "$TC actions flush action tunnel_key", 669 0, 670 1, 671 255 672 ] 673 ], 674 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 10.10.10.1 dst_ip 10.10.10.2 id 7 index 4 cookie aa11bb22cc33dd44ee55ff66aa11b1b2", 675 "expExitCode": "0", 676 "verifyCmd": "$TC actions get action tunnel_key index 4", 677 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 10.10.10.1.*dst_ip 10.10.10.2.*key_id 7.*csum pipe.*index 4 ref.*cookie aa11bb22cc33dd44ee55ff66aa11b1b2", 678 "matchCount": "1", 679 "teardown": [ 680 "$TC actions flush action tunnel_key" 681 ] 682 }, 683 { 684 "id": "4f20", 685 "name": "Add tunnel_key action with a single geneve option parameter", 686 "category": [ 687 "actions", 688 "tunnel_key" 689 ], 690 "plugins": { 691 "requires": "nsPlugin" 692 }, 693 "setup": [ 694 [ 695 "$TC actions flush action tunnel_key", 696 0, 697 1, 698 255 699 ] 700 ], 701 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 1.1.1.1 dst_ip 2.2.2.2 id 42 dst_port 6081 geneve_opts 0102:80:00880022 index 1", 702 "expExitCode": "0", 703 "verifyCmd": "$TC actions get action tunnel_key index 1", 704 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 1.1.1.1.*dst_ip 2.2.2.2.*key_id 42.*dst_port 6081.*geneve_opt[s]? 0102:80:00880022.*index 1", 705 "matchCount": "1", 706 "teardown": [ 707 "$TC actions flush action tunnel_key" 708 ] 709 }, 710 { 711 "id": "e33d", 712 "name": "Add tunnel_key action with multiple geneve options parameter", 713 "category": [ 714 "actions", 715 "tunnel_key" 716 ], 717 "plugins": { 718 "requires": "nsPlugin" 719 }, 720 "setup": [ 721 [ 722 "$TC actions flush action tunnel_key", 723 0, 724 1, 725 255 726 ] 727 ], 728 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 1.1.1.1 dst_ip 2.2.2.2 id 42 dst_port 6081 geneve_opts 0102:80:00880022,0408:42:0040007611223344,0111:02:1020304011223344 index 1", 729 "expExitCode": "0", 730 "verifyCmd": "$TC actions get action tunnel_key index 1", 731 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 1.1.1.1.*dst_ip 2.2.2.2.*key_id 42.*dst_port 6081.*geneve_opt[s]? 0102:80:00880022,0408:42:0040007611223344,0111:02:1020304011223344.*index 1", 732 "matchCount": "1", 733 "teardown": [ 734 "$TC actions flush action tunnel_key" 735 ] 736 }, 737 { 738 "id": "0778", 739 "name": "Add tunnel_key action with invalid class geneve option parameter", 740 "category": [ 741 "actions", 742 "tunnel_key" 743 ], 744 "plugins": { 745 "requires": "nsPlugin" 746 }, 747 "setup": [ 748 [ 749 "$TC actions flush action tunnel_key", 750 0, 751 1, 752 255 753 ] 754 ], 755 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 1.1.1.1 dst_ip 2.2.2.2 id 42 dst_port 6081 geneve_opts 824212:80:00880022 index 1", 756 "expExitCode": "255", 757 "verifyCmd": "$TC actions get action tunnel_key index 1", 758 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 1.1.1.1.*dst_ip 2.2.2.2.*key_id 42.*dst_port 6081.*geneve_opt[s]? 824212:80:00880022.*index 1", 759 "matchCount": "0", 760 "teardown": [ 761 "$TC actions flush action tunnel_key" 762 ] 763 }, 764 { 765 "id": "4ae8", 766 "name": "Add tunnel_key action with invalid type geneve option parameter", 767 "category": [ 768 "actions", 769 "tunnel_key" 770 ], 771 "plugins": { 772 "requires": "nsPlugin" 773 }, 774 "setup": [ 775 [ 776 "$TC actions flush action tunnel_key", 777 0, 778 1, 779 255 780 ] 781 ], 782 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 1.1.1.1 dst_ip 2.2.2.2 id 42 dst_port 6081 geneve_opts 0102:4224:00880022 index 1", 783 "expExitCode": "255", 784 "verifyCmd": "$TC actions get action tunnel_key index 1", 785 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 1.1.1.1.*dst_ip 2.2.2.2.*key_id 42.*dst_port 6081.*geneve_opt[s]? 0102:4224:00880022.*index 1", 786 "matchCount": "0", 787 "teardown": [ 788 "$TC actions flush action tunnel_key" 789 ] 790 }, 791 { 792 "id": "4039", 793 "name": "Add tunnel_key action with short data length geneve option parameter", 794 "category": [ 795 "actions", 796 "tunnel_key" 797 ], 798 "plugins": { 799 "requires": "nsPlugin" 800 }, 801 "setup": [ 802 [ 803 "$TC actions flush action tunnel_key", 804 0, 805 1, 806 255 807 ] 808 ], 809 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 1.1.1.1 dst_ip 2.2.2.2 id 42 dst_port 6081 geneve_opts 0102:80:4288 index 1", 810 "expExitCode": "255", 811 "verifyCmd": "$TC actions get action tunnel_key index 1", 812 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 1.1.1.1.*dst_ip 2.2.2.2.*key_id 42.*dst_port 6081.*geneve_opt[s]? 0102:80:4288.*index 1", 813 "matchCount": "0", 814 "teardown": [ 815 "$TC actions flush action tunnel_key" 816 ] 817 }, 818 { 819 "id": "26a6", 820 "name": "Add tunnel_key action with non-multiple of 4 data length geneve option parameter", 821 "category": [ 822 "actions", 823 "tunnel_key" 824 ], 825 "plugins": { 826 "requires": "nsPlugin" 827 }, 828 "setup": [ 829 [ 830 "$TC actions flush action tunnel_key", 831 0, 832 1, 833 255 834 ] 835 ], 836 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 1.1.1.1 dst_ip 2.2.2.2 id 42 dst_port 6081 geneve_opts 0102:80:4288428822 index 1", 837 "expExitCode": "255", 838 "verifyCmd": "$TC actions get action tunnel_key index 1", 839 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 1.1.1.1.*dst_ip 2.2.2.2.*key_id 42.*dst_port 6081.*geneve_opt[s]? 0102:80:4288428822.*index 1", 840 "matchCount": "0", 841 "teardown": [ 842 "$TC actions flush action tunnel_key" 843 ] 844 }, 845 { 846 "id": "f44d", 847 "name": "Add tunnel_key action with incomplete geneve options parameter", 848 "category": [ 849 "actions", 850 "tunnel_key" 851 ], 852 "plugins": { 853 "requires": "nsPlugin" 854 }, 855 "setup": [ 856 [ 857 "$TC actions flush action tunnel_key", 858 0, 859 1, 860 255 861 ] 862 ], 863 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 1.1.1.1 dst_ip 2.2.2.2 id 42 dst_port 6081 geneve_opts 0102:80:00880022,0408:42: index 1", 864 "expExitCode": "255", 865 "verifyCmd": "$TC actions get action tunnel_key index 1", 866 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 1.1.1.1.*dst_ip 2.2.2.2.*key_id 42.*dst_port 6081.*geneve_opt[s]? 0102:80:00880022,0408:42:.*index 1", 867 "matchCount": "0", 868 "teardown": [ 869 "$TC actions flush action tunnel_key" 870 ] 871 }, 872 { 873 "id": "7afc", 874 "name": "Replace tunnel_key set action with all parameters", 875 "category": [ 876 "actions", 877 "tunnel_key" 878 ], 879 "plugins": { 880 "requires": "nsPlugin" 881 }, 882 "setup": [ 883 [ 884 "$TC actions flush action tunnel_key", 885 0, 886 1, 887 255 888 ], 889 "$TC actions add action tunnel_key set src_ip 10.10.10.1 dst_ip 20.20.20.2 dst_port 3128 csum id 1 index 1" 890 ], 891 "cmdUnderTest": "$TC actions replace action tunnel_key set src_ip 11.11.11.1 dst_ip 21.21.21.2 dst_port 3129 nocsum id 11 index 1", 892 "expExitCode": "0", 893 "verifyCmd": "$TC actions get action tunnel_key index 1", 894 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 11.11.11.1.*dst_ip 21.21.21.2.*key_id 11.*dst_port 3129.*nocsum pipe.*index 1", 895 "matchCount": "1", 896 "teardown": [ 897 "$TC actions flush action tunnel_key" 898 ] 899 }, 900 { 901 "id": "364d", 902 "name": "Replace tunnel_key set action with all parameters and cookie", 903 "category": [ 904 "actions", 905 "tunnel_key" 906 ], 907 "plugins": { 908 "requires": "nsPlugin" 909 }, 910 "setup": [ 911 [ 912 "$TC actions flush action tunnel_key", 913 0, 914 1, 915 255 916 ], 917 "$TC actions add action tunnel_key set src_ip 10.10.10.1 dst_ip 20.20.20.2 dst_port 3128 nocsum id 1 index 1 cookie 123456" 918 ], 919 "cmdUnderTest": "$TC actions replace action tunnel_key set src_ip 11.11.11.1 dst_ip 21.21.21.2 dst_port 3129 id 11 csum reclassify index 1 cookie 123456", 920 "expExitCode": "0", 921 "verifyCmd": "$TC actions get action tunnel_key index 1", 922 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 11.11.11.1.*dst_ip 21.21.21.2.*key_id 11.*dst_port 3129.*csum reclassify.*index 1.*cookie 123456", 923 "matchCount": "1", 924 "teardown": [ 925 "$TC actions flush action tunnel_key" 926 ] 927 }, 928 { 929 "id": "937c", 930 "name": "Fetch all existing tunnel_key actions", 931 "category": [ 932 "actions", 933 "tunnel_key" 934 ], 935 "plugins": { 936 "requires": "nsPlugin" 937 }, 938 "setup": [ 939 [ 940 "$TC actions flush action tunnel_key", 941 0, 942 1, 943 255 944 ], 945 "$TC actions add action tunnel_key set src_ip 10.10.10.1 dst_ip 20.20.20.2 dst_port 3128 nocsum id 1 pipe index 1", 946 "$TC actions add action tunnel_key set src_ip 11.10.10.1 dst_ip 21.20.20.2 dst_port 3129 csum id 2 jump 10 index 2", 947 "$TC actions add action tunnel_key set src_ip 12.10.10.1 dst_ip 22.20.20.2 dst_port 3130 csum id 3 pass index 3", 948 "$TC actions add action tunnel_key set src_ip 13.10.10.1 dst_ip 23.20.20.2 dst_port 3131 nocsum id 4 continue index 4" 949 ], 950 "cmdUnderTest": "$TC actions list action tunnel_key", 951 "expExitCode": "0", 952 "verifyCmd": "$TC actions list action tunnel_key", 953 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 10.10.10.1.*dst_ip 20.20.20.2.*key_id 1.*dst_port 3128.*nocsum pipe.*index 1.*set.*src_ip 11.10.10.1.*dst_ip 21.20.20.2.*key_id 2.*dst_port 3129.*csum jump 10.*index 2.*set.*src_ip 12.10.10.1.*dst_ip 22.20.20.2.*key_id 3.*dst_port 3130.*csum pass.*index 3.*set.*src_ip 13.10.10.1.*dst_ip 23.20.20.2.*key_id 4.*dst_port 3131.*nocsum continue.*index 4", 954 "matchCount": "1", 955 "teardown": [ 956 "$TC actions flush action tunnel_key" 957 ] 958 }, 959 { 960 "id": "6783", 961 "name": "Flush all existing tunnel_key actions", 962 "category": [ 963 "actions", 964 "tunnel_key" 965 ], 966 "plugins": { 967 "requires": "nsPlugin" 968 }, 969 "setup": [ 970 [ 971 "$TC actions flush action tunnel_key", 972 0, 973 1, 974 255 975 ], 976 "$TC actions add action tunnel_key set src_ip 10.10.10.1 dst_ip 20.20.20.2 dst_port 3128 nocsum id 1 pipe index 1", 977 "$TC actions add action tunnel_key set src_ip 11.10.10.1 dst_ip 21.20.20.2 dst_port 3129 csum id 2 reclassify index 2", 978 "$TC actions add action tunnel_key set src_ip 12.10.10.1 dst_ip 22.20.20.2 dst_port 3130 csum id 3 pass index 3", 979 "$TC actions add action tunnel_key set src_ip 13.10.10.1 dst_ip 23.20.20.2 dst_port 3131 nocsum id 4 continue index 4" 980 ], 981 "cmdUnderTest": "$TC actions flush action tunnel_key", 982 "expExitCode": "0", 983 "verifyCmd": "$TC actions list action tunnel_key", 984 "matchPattern": "action order [0-9]+:.*", 985 "matchCount": "0", 986 "teardown": [ 987 "$TC actions flush action tunnel_key" 988 ] 989 }, 990 { 991 "id": "8242", 992 "name": "Replace tunnel_key set action with invalid goto chain", 993 "category": [ 994 "actions", 995 "tunnel_key" 996 ], 997 "plugins": { 998 "requires": "nsPlugin" 999 }, 1000 "setup": [ 1001 [ 1002 "$TC actions flush action tunnel_key", 1003 0, 1004 1, 1005 255 1006 ], 1007 "$TC actions add action tunnel_key set src_ip 10.10.10.1 dst_ip 20.20.20.2 dst_port 3128 nocsum id 1 pass index 90" 1008 ], 1009 "cmdUnderTest": "$TC actions replace action tunnel_key set src_ip 10.10.10.2 dst_ip 20.20.20.1 dst_port 3129 id 2 csum goto chain 42 index 90 cookie c1a0c1a0", 1010 "expExitCode": "255", 1011 "verifyCmd": "$TC actions get action tunnel_key index 90", 1012 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 10.10.10.1.*dst_ip 20.20.20.2.*key_id 1.*dst_port 3128.*csum pass.*index 90 ref", 1013 "matchCount": "1", 1014 "teardown": [ 1015 "$TC actions flush action tunnel_key" 1016 ] 1017 }, 1018 { 1019 "id": "0cd2", 1020 "name": "Add tunnel_key set action with no_percpu flag", 1021 "category": [ 1022 "actions", 1023 "tunnel_key" 1024 ], 1025 "plugins": { 1026 "requires": "nsPlugin" 1027 }, 1028 "setup": [ 1029 [ 1030 "$TC actions flush action tunnel_key", 1031 0, 1032 1, 1033 255 1034 ] 1035 ], 1036 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 10.10.10.1 dst_ip 20.20.20.2 id 1 no_percpu", 1037 "expExitCode": "0", 1038 "verifyCmd": "$TC actions list action tunnel_key", 1039 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 10.10.10.1.*dst_ip 20.20.20.2.*key_id 1.*no_percpu", 1040 "matchCount": "1", 1041 "teardown": [ 1042 "$TC actions flush action tunnel_key" 1043 ] 1044 }, 1045 { 1046 "id": "3671", 1047 "name": "Delete tunnel_key set action with valid index", 1048 "category": [ 1049 "actions", 1050 "tunnel_key" 1051 ], 1052 "plugins": { 1053 "requires": "nsPlugin" 1054 }, 1055 "setup": [ 1056 [ 1057 "$TC actions flush action tunnel_key", 1058 0, 1059 1, 1060 255 1061 ], 1062 "$TC actions add action tunnel_key set src_ip 1.1.1.1 dst_ip 2.2.2.2 index 1" 1063 ], 1064 "cmdUnderTest": "$TC actions del action tunnel_key index 1", 1065 "expExitCode": "0", 1066 "verifyCmd": "$TC actions list action tunnel_key", 1067 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 1.1.1.1.*dst_ip 2.2.2.2.*index 1", 1068 "matchCount": "0", 1069 "teardown": [ 1070 "$TC actions flush action tunnel_key" 1071 ] 1072 }, 1073 { 1074 "id": "8597", 1075 "name": "Delete tunnel_key set action with invalid index", 1076 "category": [ 1077 "actions", 1078 "tunnel_key" 1079 ], 1080 "plugins": { 1081 "requires": "nsPlugin" 1082 }, 1083 "setup": [ 1084 [ 1085 "$TC actions flush action tunnel_key", 1086 0, 1087 1, 1088 255 1089 ], 1090 "$TC actions add action tunnel_key set src_ip 1.1.1.1 dst_ip 2.2.2.2 index 1" 1091 ], 1092 "cmdUnderTest": "$TC actions del action tunnel_key index 10", 1093 "expExitCode": "255", 1094 "verifyCmd": "$TC actions list action tunnel_key", 1095 "matchPattern": "action order [0-9]+: tunnel_key.*set.*src_ip 1.1.1.1.*dst_ip 2.2.2.2.*index 1", 1096 "matchCount": "1", 1097 "teardown": [ 1098 "$TC actions flush action tunnel_key" 1099 ] 1100 }, 1101 { 1102 "id": "6bda", 1103 "name": "Add tunnel_key action with nofrag option", 1104 "category": [ 1105 "actions", 1106 "tunnel_key" 1107 ], 1108 "plugins": { 1109 "requires": "nsPlugin" 1110 }, 1111 "dependsOn": "$TC actions add action tunnel_key help 2>&1 | grep -q nofrag", 1112 "setup": [ 1113 [ 1114 "$TC action flush action tunnel_key", 1115 0, 1116 1, 1117 255 1118 ] 1119 ], 1120 "cmdUnderTest": "$TC actions add action tunnel_key set src_ip 10.10.10.1 dst_ip 10.10.10.2 id 1111 nofrag index 222", 1121 "expExitCode": "0", 1122 "verifyCmd": "$TC actions get action tunnel_key index 222", 1123 "matchPattern": "action order [0-9]+: tunnel_key.*src_ip 10.10.10.1.*dst_ip 10.10.10.2.*key_id 1111.*csum.*nofrag pipe.*index 222", 1124 "matchCount": "1", 1125 "teardown": [ 1126 "$TC actions flush action tunnel_key" 1127 ] 1128 } 1129] 1130