1*4882a593Smuzhiyun[ 2*4882a593Smuzhiyun { 3*4882a593Smuzhiyun "id": "7565", 4*4882a593Smuzhiyun "name": "Add nat action on ingress with default control action", 5*4882a593Smuzhiyun "category": [ 6*4882a593Smuzhiyun "actions", 7*4882a593Smuzhiyun "nat" 8*4882a593Smuzhiyun ], 9*4882a593Smuzhiyun "setup": [ 10*4882a593Smuzhiyun [ 11*4882a593Smuzhiyun "$TC actions flush action nat", 12*4882a593Smuzhiyun 0, 13*4882a593Smuzhiyun 1, 14*4882a593Smuzhiyun 255 15*4882a593Smuzhiyun ] 16*4882a593Smuzhiyun ], 17*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat ingress 192.168.1.1 200.200.200.1", 18*4882a593Smuzhiyun "expExitCode": "0", 19*4882a593Smuzhiyun "verifyCmd": "$TC actions ls action nat", 20*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat ingress 192.168.1.1/32 200.200.200.1 pass", 21*4882a593Smuzhiyun "matchCount": "1", 22*4882a593Smuzhiyun "teardown": [ 23*4882a593Smuzhiyun "$TC actions flush action nat" 24*4882a593Smuzhiyun ] 25*4882a593Smuzhiyun }, 26*4882a593Smuzhiyun { 27*4882a593Smuzhiyun "id": "fd79", 28*4882a593Smuzhiyun "name": "Add nat action on ingress with pipe control action", 29*4882a593Smuzhiyun "category": [ 30*4882a593Smuzhiyun "actions", 31*4882a593Smuzhiyun "nat" 32*4882a593Smuzhiyun ], 33*4882a593Smuzhiyun "setup": [ 34*4882a593Smuzhiyun [ 35*4882a593Smuzhiyun "$TC actions flush action nat", 36*4882a593Smuzhiyun 0, 37*4882a593Smuzhiyun 1, 38*4882a593Smuzhiyun 255 39*4882a593Smuzhiyun ] 40*4882a593Smuzhiyun ], 41*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat ingress 1.1.1.1 2.2.2.1 pipe index 77", 42*4882a593Smuzhiyun "expExitCode": "0", 43*4882a593Smuzhiyun "verifyCmd": "$TC actions get action nat index 77", 44*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat ingress 1.1.1.1/32 2.2.2.1 pipe.*index 77 ref", 45*4882a593Smuzhiyun "matchCount": "1", 46*4882a593Smuzhiyun "teardown": [ 47*4882a593Smuzhiyun "$TC actions flush action nat" 48*4882a593Smuzhiyun ] 49*4882a593Smuzhiyun }, 50*4882a593Smuzhiyun { 51*4882a593Smuzhiyun "id": "eab9", 52*4882a593Smuzhiyun "name": "Add nat action on ingress with continue control action", 53*4882a593Smuzhiyun "category": [ 54*4882a593Smuzhiyun "actions", 55*4882a593Smuzhiyun "nat" 56*4882a593Smuzhiyun ], 57*4882a593Smuzhiyun "setup": [ 58*4882a593Smuzhiyun [ 59*4882a593Smuzhiyun "$TC actions flush action nat", 60*4882a593Smuzhiyun 0, 61*4882a593Smuzhiyun 1, 62*4882a593Smuzhiyun 255 63*4882a593Smuzhiyun ] 64*4882a593Smuzhiyun ], 65*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat ingress 192.168.10.10 192.168.20.20 continue index 1000", 66*4882a593Smuzhiyun "expExitCode": "0", 67*4882a593Smuzhiyun "verifyCmd": "$TC actions get action nat index 1000", 68*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat ingress 192.168.10.10/32 192.168.20.20 continue.*index 1000 ref", 69*4882a593Smuzhiyun "matchCount": "1", 70*4882a593Smuzhiyun "teardown": [ 71*4882a593Smuzhiyun "$TC actions flush action nat" 72*4882a593Smuzhiyun ] 73*4882a593Smuzhiyun }, 74*4882a593Smuzhiyun { 75*4882a593Smuzhiyun "id": "c53a", 76*4882a593Smuzhiyun "name": "Add nat action on ingress with reclassify control action", 77*4882a593Smuzhiyun "category": [ 78*4882a593Smuzhiyun "actions", 79*4882a593Smuzhiyun "nat" 80*4882a593Smuzhiyun ], 81*4882a593Smuzhiyun "setup": [ 82*4882a593Smuzhiyun [ 83*4882a593Smuzhiyun "$TC actions flush action nat", 84*4882a593Smuzhiyun 0, 85*4882a593Smuzhiyun 1, 86*4882a593Smuzhiyun 255 87*4882a593Smuzhiyun ] 88*4882a593Smuzhiyun ], 89*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat ingress 192.168.10.10 192.168.20.20 reclassify index 1000", 90*4882a593Smuzhiyun "expExitCode": "0", 91*4882a593Smuzhiyun "verifyCmd": "$TC actions get action nat index 1000", 92*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat ingress 192.168.10.10/32 192.168.20.20 reclassify.*index 1000 ref", 93*4882a593Smuzhiyun "matchCount": "1", 94*4882a593Smuzhiyun "teardown": [ 95*4882a593Smuzhiyun "$TC actions flush action nat" 96*4882a593Smuzhiyun ] 97*4882a593Smuzhiyun }, 98*4882a593Smuzhiyun { 99*4882a593Smuzhiyun "id": "76c9", 100*4882a593Smuzhiyun "name": "Add nat action on ingress with jump control action", 101*4882a593Smuzhiyun "category": [ 102*4882a593Smuzhiyun "actions", 103*4882a593Smuzhiyun "nat" 104*4882a593Smuzhiyun ], 105*4882a593Smuzhiyun "setup": [ 106*4882a593Smuzhiyun [ 107*4882a593Smuzhiyun "$TC actions flush action nat", 108*4882a593Smuzhiyun 0, 109*4882a593Smuzhiyun 1, 110*4882a593Smuzhiyun 255 111*4882a593Smuzhiyun ] 112*4882a593Smuzhiyun ], 113*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat ingress 12.18.10.10 12.18.20.20 jump 10 index 22", 114*4882a593Smuzhiyun "expExitCode": "0", 115*4882a593Smuzhiyun "verifyCmd": "$TC actions get action nat index 22", 116*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat ingress 12.18.10.10/32 12.18.20.20 jump 10.*index 22 ref", 117*4882a593Smuzhiyun "matchCount": "1", 118*4882a593Smuzhiyun "teardown": [ 119*4882a593Smuzhiyun "$TC actions flush action nat" 120*4882a593Smuzhiyun ] 121*4882a593Smuzhiyun }, 122*4882a593Smuzhiyun { 123*4882a593Smuzhiyun "id": "24c6", 124*4882a593Smuzhiyun "name": "Add nat action on ingress with drop control action", 125*4882a593Smuzhiyun "category": [ 126*4882a593Smuzhiyun "actions", 127*4882a593Smuzhiyun "nat" 128*4882a593Smuzhiyun ], 129*4882a593Smuzhiyun "setup": [ 130*4882a593Smuzhiyun [ 131*4882a593Smuzhiyun "$TC actions flush action nat", 132*4882a593Smuzhiyun 0, 133*4882a593Smuzhiyun 1, 134*4882a593Smuzhiyun 255 135*4882a593Smuzhiyun ] 136*4882a593Smuzhiyun ], 137*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat ingress 1.18.1.1 1.18.2.2 drop index 722", 138*4882a593Smuzhiyun "expExitCode": "0", 139*4882a593Smuzhiyun "verifyCmd": "$TC actions get action nat index 722", 140*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat ingress 1.18.1.1/32 1.18.2.2 drop.*index 722 ref", 141*4882a593Smuzhiyun "matchCount": "1", 142*4882a593Smuzhiyun "teardown": [ 143*4882a593Smuzhiyun "$TC actions flush action nat" 144*4882a593Smuzhiyun ] 145*4882a593Smuzhiyun }, 146*4882a593Smuzhiyun { 147*4882a593Smuzhiyun "id": "2120", 148*4882a593Smuzhiyun "name": "Add nat action on ingress with maximum index value", 149*4882a593Smuzhiyun "category": [ 150*4882a593Smuzhiyun "actions", 151*4882a593Smuzhiyun "nat" 152*4882a593Smuzhiyun ], 153*4882a593Smuzhiyun "setup": [ 154*4882a593Smuzhiyun [ 155*4882a593Smuzhiyun "$TC actions flush action nat", 156*4882a593Smuzhiyun 0, 157*4882a593Smuzhiyun 1, 158*4882a593Smuzhiyun 255 159*4882a593Smuzhiyun ] 160*4882a593Smuzhiyun ], 161*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat ingress 1.18.1.1 1.18.2.2 index 4294967295", 162*4882a593Smuzhiyun "expExitCode": "0", 163*4882a593Smuzhiyun "verifyCmd": "$TC actions get action nat index 4294967295", 164*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat ingress 1.18.1.1/32 1.18.2.2 pass.*index 4294967295 ref", 165*4882a593Smuzhiyun "matchCount": "1", 166*4882a593Smuzhiyun "teardown": [ 167*4882a593Smuzhiyun "$TC actions flush action nat" 168*4882a593Smuzhiyun ] 169*4882a593Smuzhiyun }, 170*4882a593Smuzhiyun { 171*4882a593Smuzhiyun "id": "3e9d", 172*4882a593Smuzhiyun "name": "Add nat action on ingress with invalid index value", 173*4882a593Smuzhiyun "category": [ 174*4882a593Smuzhiyun "actions", 175*4882a593Smuzhiyun "nat" 176*4882a593Smuzhiyun ], 177*4882a593Smuzhiyun "setup": [ 178*4882a593Smuzhiyun [ 179*4882a593Smuzhiyun "$TC actions flush action nat", 180*4882a593Smuzhiyun 0, 181*4882a593Smuzhiyun 1, 182*4882a593Smuzhiyun 255 183*4882a593Smuzhiyun ] 184*4882a593Smuzhiyun ], 185*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat ingress 1.18.1.1 1.18.2.2 index 4294967295555", 186*4882a593Smuzhiyun "expExitCode": "255", 187*4882a593Smuzhiyun "verifyCmd": "$TC actions get action nat index 4294967295555", 188*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat ingress 1.18.1.1/32 1.18.2.2 pass.*index 4294967295555 ref", 189*4882a593Smuzhiyun "matchCount": "0", 190*4882a593Smuzhiyun "teardown": [ 191*4882a593Smuzhiyun [ 192*4882a593Smuzhiyun "$TC actions flush action nat", 193*4882a593Smuzhiyun 0, 194*4882a593Smuzhiyun 1, 195*4882a593Smuzhiyun 255 196*4882a593Smuzhiyun ] 197*4882a593Smuzhiyun ] 198*4882a593Smuzhiyun }, 199*4882a593Smuzhiyun { 200*4882a593Smuzhiyun "id": "f6c9", 201*4882a593Smuzhiyun "name": "Add nat action on ingress with invalid IP address", 202*4882a593Smuzhiyun "category": [ 203*4882a593Smuzhiyun "actions", 204*4882a593Smuzhiyun "nat" 205*4882a593Smuzhiyun ], 206*4882a593Smuzhiyun "setup": [ 207*4882a593Smuzhiyun [ 208*4882a593Smuzhiyun "$TC actions flush action nat", 209*4882a593Smuzhiyun 0, 210*4882a593Smuzhiyun 1, 211*4882a593Smuzhiyun 255 212*4882a593Smuzhiyun ] 213*4882a593Smuzhiyun ], 214*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat ingress 1.1.1.1 1.1888.2.2 index 7", 215*4882a593Smuzhiyun "expExitCode": "255", 216*4882a593Smuzhiyun "verifyCmd": "$TC actions get action nat index 7", 217*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat ingress 1.1.1.1/32 1.1888.2.2 pass.*index 7 ref", 218*4882a593Smuzhiyun "matchCount": "0", 219*4882a593Smuzhiyun "teardown": [ 220*4882a593Smuzhiyun [ 221*4882a593Smuzhiyun "$TC actions flush action nat", 222*4882a593Smuzhiyun 0, 223*4882a593Smuzhiyun 1, 224*4882a593Smuzhiyun 255 225*4882a593Smuzhiyun ] 226*4882a593Smuzhiyun ] 227*4882a593Smuzhiyun }, 228*4882a593Smuzhiyun { 229*4882a593Smuzhiyun "id": "be25", 230*4882a593Smuzhiyun "name": "Add nat action on ingress with invalid argument", 231*4882a593Smuzhiyun "category": [ 232*4882a593Smuzhiyun "actions", 233*4882a593Smuzhiyun "nat" 234*4882a593Smuzhiyun ], 235*4882a593Smuzhiyun "setup": [ 236*4882a593Smuzhiyun [ 237*4882a593Smuzhiyun "$TC actions flush action nat", 238*4882a593Smuzhiyun 0, 239*4882a593Smuzhiyun 1, 240*4882a593Smuzhiyun 255 241*4882a593Smuzhiyun ] 242*4882a593Smuzhiyun ], 243*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat ingress 1.1.1.1 1.18.2.2 another_arg index 12", 244*4882a593Smuzhiyun "expExitCode": "255", 245*4882a593Smuzhiyun "verifyCmd": "$TC actions get action nat index 12", 246*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat ingress 1.1.1.1/32 1.18.2.2 pass.*another_arg.*index 12 ref", 247*4882a593Smuzhiyun "matchCount": "0", 248*4882a593Smuzhiyun "teardown": [ 249*4882a593Smuzhiyun [ 250*4882a593Smuzhiyun "$TC actions flush action nat", 251*4882a593Smuzhiyun 0, 252*4882a593Smuzhiyun 1, 253*4882a593Smuzhiyun 255 254*4882a593Smuzhiyun ] 255*4882a593Smuzhiyun ] 256*4882a593Smuzhiyun }, 257*4882a593Smuzhiyun { 258*4882a593Smuzhiyun "id": "a7bd", 259*4882a593Smuzhiyun "name": "Add nat action on ingress with DEFAULT IP address", 260*4882a593Smuzhiyun "category": [ 261*4882a593Smuzhiyun "actions", 262*4882a593Smuzhiyun "nat" 263*4882a593Smuzhiyun ], 264*4882a593Smuzhiyun "setup": [ 265*4882a593Smuzhiyun [ 266*4882a593Smuzhiyun "$TC actions flush action nat", 267*4882a593Smuzhiyun 0, 268*4882a593Smuzhiyun 1, 269*4882a593Smuzhiyun 255 270*4882a593Smuzhiyun ] 271*4882a593Smuzhiyun ], 272*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat ingress default 10.10.10.1 index 12", 273*4882a593Smuzhiyun "expExitCode": "0", 274*4882a593Smuzhiyun "verifyCmd": "$TC actions get action nat index 12", 275*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat ingress 0.0.0.0/32 10.10.10.1 pass.*index 12 ref", 276*4882a593Smuzhiyun "matchCount": "1", 277*4882a593Smuzhiyun "teardown": [ 278*4882a593Smuzhiyun "$TC actions flush action nat" 279*4882a593Smuzhiyun ] 280*4882a593Smuzhiyun }, 281*4882a593Smuzhiyun { 282*4882a593Smuzhiyun "id": "ee1e", 283*4882a593Smuzhiyun "name": "Add nat action on ingress with ANY IP address", 284*4882a593Smuzhiyun "category": [ 285*4882a593Smuzhiyun "actions", 286*4882a593Smuzhiyun "nat" 287*4882a593Smuzhiyun ], 288*4882a593Smuzhiyun "setup": [ 289*4882a593Smuzhiyun [ 290*4882a593Smuzhiyun "$TC actions flush action nat", 291*4882a593Smuzhiyun 0, 292*4882a593Smuzhiyun 1, 293*4882a593Smuzhiyun 255 294*4882a593Smuzhiyun ] 295*4882a593Smuzhiyun ], 296*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat ingress any 10.10.10.1 index 12", 297*4882a593Smuzhiyun "expExitCode": "0", 298*4882a593Smuzhiyun "verifyCmd": "$TC actions get action nat index 12", 299*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat ingress 0.0.0.0/32 10.10.10.1 pass.*index 12 ref", 300*4882a593Smuzhiyun "matchCount": "1", 301*4882a593Smuzhiyun "teardown": [ 302*4882a593Smuzhiyun "$TC actions flush action nat" 303*4882a593Smuzhiyun ] 304*4882a593Smuzhiyun }, 305*4882a593Smuzhiyun { 306*4882a593Smuzhiyun "id": "1de8", 307*4882a593Smuzhiyun "name": "Add nat action on ingress with ALL IP address", 308*4882a593Smuzhiyun "category": [ 309*4882a593Smuzhiyun "actions", 310*4882a593Smuzhiyun "nat" 311*4882a593Smuzhiyun ], 312*4882a593Smuzhiyun "setup": [ 313*4882a593Smuzhiyun [ 314*4882a593Smuzhiyun "$TC actions flush action nat", 315*4882a593Smuzhiyun 0, 316*4882a593Smuzhiyun 1, 317*4882a593Smuzhiyun 255 318*4882a593Smuzhiyun ] 319*4882a593Smuzhiyun ], 320*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat ingress all 10.10.10.1 index 12", 321*4882a593Smuzhiyun "expExitCode": "0", 322*4882a593Smuzhiyun "verifyCmd": "$TC actions get action nat index 12", 323*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat ingress 0.0.0.0/32 10.10.10.1 pass.*index 12 ref", 324*4882a593Smuzhiyun "matchCount": "1", 325*4882a593Smuzhiyun "teardown": [ 326*4882a593Smuzhiyun "$TC actions flush action nat" 327*4882a593Smuzhiyun ] 328*4882a593Smuzhiyun }, 329*4882a593Smuzhiyun { 330*4882a593Smuzhiyun "id": "8dba", 331*4882a593Smuzhiyun "name": "Add nat action on egress with default control action", 332*4882a593Smuzhiyun "category": [ 333*4882a593Smuzhiyun "actions", 334*4882a593Smuzhiyun "nat" 335*4882a593Smuzhiyun ], 336*4882a593Smuzhiyun "setup": [ 337*4882a593Smuzhiyun [ 338*4882a593Smuzhiyun "$TC actions flush action nat", 339*4882a593Smuzhiyun 0, 340*4882a593Smuzhiyun 1, 341*4882a593Smuzhiyun 255 342*4882a593Smuzhiyun ] 343*4882a593Smuzhiyun ], 344*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat egress 10.10.10.1 20.20.20.1", 345*4882a593Smuzhiyun "expExitCode": "0", 346*4882a593Smuzhiyun "verifyCmd": "$TC actions ls action nat", 347*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat egress 10.10.10.1/32 20.20.20.1 pass", 348*4882a593Smuzhiyun "matchCount": "1", 349*4882a593Smuzhiyun "teardown": [ 350*4882a593Smuzhiyun "$TC actions flush action nat" 351*4882a593Smuzhiyun ] 352*4882a593Smuzhiyun }, 353*4882a593Smuzhiyun { 354*4882a593Smuzhiyun "id": "19a7", 355*4882a593Smuzhiyun "name": "Add nat action on egress with pipe control action", 356*4882a593Smuzhiyun "category": [ 357*4882a593Smuzhiyun "actions", 358*4882a593Smuzhiyun "nat" 359*4882a593Smuzhiyun ], 360*4882a593Smuzhiyun "setup": [ 361*4882a593Smuzhiyun [ 362*4882a593Smuzhiyun "$TC actions flush action nat", 363*4882a593Smuzhiyun 0, 364*4882a593Smuzhiyun 1, 365*4882a593Smuzhiyun 255 366*4882a593Smuzhiyun ] 367*4882a593Smuzhiyun ], 368*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat egress 10.10.10.1 20.20.20.1 pipe", 369*4882a593Smuzhiyun "expExitCode": "0", 370*4882a593Smuzhiyun "verifyCmd": "$TC actions ls action nat", 371*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat egress 10.10.10.1/32 20.20.20.1 pipe", 372*4882a593Smuzhiyun "matchCount": "1", 373*4882a593Smuzhiyun "teardown": [ 374*4882a593Smuzhiyun "$TC actions flush action nat" 375*4882a593Smuzhiyun ] 376*4882a593Smuzhiyun }, 377*4882a593Smuzhiyun { 378*4882a593Smuzhiyun "id": "f1d9", 379*4882a593Smuzhiyun "name": "Add nat action on egress with continue control action", 380*4882a593Smuzhiyun "category": [ 381*4882a593Smuzhiyun "actions", 382*4882a593Smuzhiyun "nat" 383*4882a593Smuzhiyun ], 384*4882a593Smuzhiyun "setup": [ 385*4882a593Smuzhiyun [ 386*4882a593Smuzhiyun "$TC actions flush action nat", 387*4882a593Smuzhiyun 0, 388*4882a593Smuzhiyun 1, 389*4882a593Smuzhiyun 255 390*4882a593Smuzhiyun ] 391*4882a593Smuzhiyun ], 392*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat egress 10.10.10.1 20.20.20.1 continue", 393*4882a593Smuzhiyun "expExitCode": "0", 394*4882a593Smuzhiyun "verifyCmd": "$TC actions ls action nat", 395*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat egress 10.10.10.1/32 20.20.20.1 continue", 396*4882a593Smuzhiyun "matchCount": "1", 397*4882a593Smuzhiyun "teardown": [ 398*4882a593Smuzhiyun "$TC actions flush action nat" 399*4882a593Smuzhiyun ] 400*4882a593Smuzhiyun }, 401*4882a593Smuzhiyun { 402*4882a593Smuzhiyun "id": "6d4a", 403*4882a593Smuzhiyun "name": "Add nat action on egress with reclassify control action", 404*4882a593Smuzhiyun "category": [ 405*4882a593Smuzhiyun "actions", 406*4882a593Smuzhiyun "nat" 407*4882a593Smuzhiyun ], 408*4882a593Smuzhiyun "setup": [ 409*4882a593Smuzhiyun [ 410*4882a593Smuzhiyun "$TC actions flush action nat", 411*4882a593Smuzhiyun 0, 412*4882a593Smuzhiyun 1, 413*4882a593Smuzhiyun 255 414*4882a593Smuzhiyun ] 415*4882a593Smuzhiyun ], 416*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat egress 10.10.10.1 20.20.20.1 reclassify", 417*4882a593Smuzhiyun "expExitCode": "0", 418*4882a593Smuzhiyun "verifyCmd": "$TC actions ls action nat", 419*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat egress 10.10.10.1/32 20.20.20.1 reclassify", 420*4882a593Smuzhiyun "matchCount": "1", 421*4882a593Smuzhiyun "teardown": [ 422*4882a593Smuzhiyun "$TC actions flush action nat" 423*4882a593Smuzhiyun ] 424*4882a593Smuzhiyun }, 425*4882a593Smuzhiyun { 426*4882a593Smuzhiyun "id": "b313", 427*4882a593Smuzhiyun "name": "Add nat action on egress with jump control action", 428*4882a593Smuzhiyun "category": [ 429*4882a593Smuzhiyun "actions", 430*4882a593Smuzhiyun "nat" 431*4882a593Smuzhiyun ], 432*4882a593Smuzhiyun "setup": [ 433*4882a593Smuzhiyun [ 434*4882a593Smuzhiyun "$TC actions flush action nat", 435*4882a593Smuzhiyun 0, 436*4882a593Smuzhiyun 1, 437*4882a593Smuzhiyun 255 438*4882a593Smuzhiyun ] 439*4882a593Smuzhiyun ], 440*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat egress 10.10.10.1 20.20.20.1 jump 777", 441*4882a593Smuzhiyun "expExitCode": "0", 442*4882a593Smuzhiyun "verifyCmd": "$TC actions ls action nat", 443*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat egress 10.10.10.1/32 20.20.20.1 jump 777", 444*4882a593Smuzhiyun "matchCount": "1", 445*4882a593Smuzhiyun "teardown": [ 446*4882a593Smuzhiyun "$TC actions flush action nat" 447*4882a593Smuzhiyun ] 448*4882a593Smuzhiyun }, 449*4882a593Smuzhiyun { 450*4882a593Smuzhiyun "id": "d9fc", 451*4882a593Smuzhiyun "name": "Add nat action on egress with drop control action", 452*4882a593Smuzhiyun "category": [ 453*4882a593Smuzhiyun "actions", 454*4882a593Smuzhiyun "nat" 455*4882a593Smuzhiyun ], 456*4882a593Smuzhiyun "setup": [ 457*4882a593Smuzhiyun [ 458*4882a593Smuzhiyun "$TC actions flush action nat", 459*4882a593Smuzhiyun 0, 460*4882a593Smuzhiyun 1, 461*4882a593Smuzhiyun 255 462*4882a593Smuzhiyun ] 463*4882a593Smuzhiyun ], 464*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat egress 10.10.10.1 20.20.20.1 drop", 465*4882a593Smuzhiyun "expExitCode": "0", 466*4882a593Smuzhiyun "verifyCmd": "$TC actions ls action nat", 467*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat egress 10.10.10.1/32 20.20.20.1 drop", 468*4882a593Smuzhiyun "matchCount": "1", 469*4882a593Smuzhiyun "teardown": [ 470*4882a593Smuzhiyun "$TC actions flush action nat" 471*4882a593Smuzhiyun ] 472*4882a593Smuzhiyun }, 473*4882a593Smuzhiyun { 474*4882a593Smuzhiyun "id": "a895", 475*4882a593Smuzhiyun "name": "Add nat action on egress with DEFAULT IP address", 476*4882a593Smuzhiyun "category": [ 477*4882a593Smuzhiyun "actions", 478*4882a593Smuzhiyun "nat" 479*4882a593Smuzhiyun ], 480*4882a593Smuzhiyun "setup": [ 481*4882a593Smuzhiyun [ 482*4882a593Smuzhiyun "$TC actions flush action nat", 483*4882a593Smuzhiyun 0, 484*4882a593Smuzhiyun 1, 485*4882a593Smuzhiyun 255 486*4882a593Smuzhiyun ] 487*4882a593Smuzhiyun ], 488*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat egress default 20.20.20.1 pipe index 10", 489*4882a593Smuzhiyun "expExitCode": "0", 490*4882a593Smuzhiyun "verifyCmd": "$TC actions get action nat index 10", 491*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat egress 0.0.0.0/32 20.20.20.1 pipe.*index 10 ref", 492*4882a593Smuzhiyun "matchCount": "1", 493*4882a593Smuzhiyun "teardown": [ 494*4882a593Smuzhiyun "$TC actions flush action nat" 495*4882a593Smuzhiyun ] 496*4882a593Smuzhiyun }, 497*4882a593Smuzhiyun { 498*4882a593Smuzhiyun "id": "2572", 499*4882a593Smuzhiyun "name": "Add nat action on egress with ANY IP address", 500*4882a593Smuzhiyun "category": [ 501*4882a593Smuzhiyun "actions", 502*4882a593Smuzhiyun "nat" 503*4882a593Smuzhiyun ], 504*4882a593Smuzhiyun "setup": [ 505*4882a593Smuzhiyun [ 506*4882a593Smuzhiyun "$TC actions flush action nat", 507*4882a593Smuzhiyun 0, 508*4882a593Smuzhiyun 1, 509*4882a593Smuzhiyun 255 510*4882a593Smuzhiyun ] 511*4882a593Smuzhiyun ], 512*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat egress any 20.20.20.1 pipe index 10", 513*4882a593Smuzhiyun "expExitCode": "0", 514*4882a593Smuzhiyun "verifyCmd": "$TC actions get action nat index 10", 515*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat egress 0.0.0.0/32 20.20.20.1 pipe.*index 10 ref", 516*4882a593Smuzhiyun "matchCount": "1", 517*4882a593Smuzhiyun "teardown": [ 518*4882a593Smuzhiyun "$TC actions flush action nat" 519*4882a593Smuzhiyun ] 520*4882a593Smuzhiyun }, 521*4882a593Smuzhiyun { 522*4882a593Smuzhiyun "id": "37f3", 523*4882a593Smuzhiyun "name": "Add nat action on egress with ALL IP address", 524*4882a593Smuzhiyun "category": [ 525*4882a593Smuzhiyun "actions", 526*4882a593Smuzhiyun "nat" 527*4882a593Smuzhiyun ], 528*4882a593Smuzhiyun "setup": [ 529*4882a593Smuzhiyun [ 530*4882a593Smuzhiyun "$TC actions flush action nat", 531*4882a593Smuzhiyun 0, 532*4882a593Smuzhiyun 1, 533*4882a593Smuzhiyun 255 534*4882a593Smuzhiyun ] 535*4882a593Smuzhiyun ], 536*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat egress all 20.20.20.1 pipe index 10", 537*4882a593Smuzhiyun "expExitCode": "0", 538*4882a593Smuzhiyun "verifyCmd": "$TC actions get action nat index 10", 539*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat egress 0.0.0.0/32 20.20.20.1 pipe.*index 10 ref", 540*4882a593Smuzhiyun "matchCount": "1", 541*4882a593Smuzhiyun "teardown": [ 542*4882a593Smuzhiyun "$TC actions flush action nat" 543*4882a593Smuzhiyun ] 544*4882a593Smuzhiyun }, 545*4882a593Smuzhiyun { 546*4882a593Smuzhiyun "id": "6054", 547*4882a593Smuzhiyun "name": "Add nat action on egress with cookie", 548*4882a593Smuzhiyun "category": [ 549*4882a593Smuzhiyun "actions", 550*4882a593Smuzhiyun "nat" 551*4882a593Smuzhiyun ], 552*4882a593Smuzhiyun "setup": [ 553*4882a593Smuzhiyun [ 554*4882a593Smuzhiyun "$TC actions flush action nat", 555*4882a593Smuzhiyun 0, 556*4882a593Smuzhiyun 1, 557*4882a593Smuzhiyun 255 558*4882a593Smuzhiyun ] 559*4882a593Smuzhiyun ], 560*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat egress all 20.20.20.1 pipe index 10 cookie aa1bc2d3eeff112233445566778800a1", 561*4882a593Smuzhiyun "expExitCode": "0", 562*4882a593Smuzhiyun "verifyCmd": "$TC actions get action nat index 10", 563*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat egress 0.0.0.0/32 20.20.20.1 pipe.*index 10 ref.*cookie aa1bc2d3eeff112233445566778800a1", 564*4882a593Smuzhiyun "matchCount": "1", 565*4882a593Smuzhiyun "teardown": [ 566*4882a593Smuzhiyun "$TC actions flush action nat" 567*4882a593Smuzhiyun ] 568*4882a593Smuzhiyun }, 569*4882a593Smuzhiyun { 570*4882a593Smuzhiyun "id": "79d6", 571*4882a593Smuzhiyun "name": "Add nat action on ingress with cookie", 572*4882a593Smuzhiyun "category": [ 573*4882a593Smuzhiyun "actions", 574*4882a593Smuzhiyun "nat" 575*4882a593Smuzhiyun ], 576*4882a593Smuzhiyun "setup": [ 577*4882a593Smuzhiyun [ 578*4882a593Smuzhiyun "$TC actions flush action nat", 579*4882a593Smuzhiyun 0, 580*4882a593Smuzhiyun 1, 581*4882a593Smuzhiyun 255 582*4882a593Smuzhiyun ] 583*4882a593Smuzhiyun ], 584*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action nat ingress 192.168.1.1 10.10.10.1 reclassify index 1 cookie 112233445566778899aabbccddeeff11", 585*4882a593Smuzhiyun "expExitCode": "0", 586*4882a593Smuzhiyun "verifyCmd": "$TC actions get action nat index 1", 587*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat ingress 192.168.1.1/32 10.10.10.1 reclassify.*index 1 ref.*cookie 112233445566778899aabbccddeeff11", 588*4882a593Smuzhiyun "matchCount": "1", 589*4882a593Smuzhiyun "teardown": [ 590*4882a593Smuzhiyun "$TC actions flush action nat" 591*4882a593Smuzhiyun ] 592*4882a593Smuzhiyun }, 593*4882a593Smuzhiyun { 594*4882a593Smuzhiyun "id": "4b12", 595*4882a593Smuzhiyun "name": "Replace nat action with invalid goto chain control", 596*4882a593Smuzhiyun "category": [ 597*4882a593Smuzhiyun "actions", 598*4882a593Smuzhiyun "nat" 599*4882a593Smuzhiyun ], 600*4882a593Smuzhiyun "setup": [ 601*4882a593Smuzhiyun [ 602*4882a593Smuzhiyun "$TC actions flush action nat", 603*4882a593Smuzhiyun 0, 604*4882a593Smuzhiyun 1, 605*4882a593Smuzhiyun 255 606*4882a593Smuzhiyun ], 607*4882a593Smuzhiyun "$TC actions add action nat ingress 1.18.1.1 1.18.2.2 drop index 90" 608*4882a593Smuzhiyun ], 609*4882a593Smuzhiyun "cmdUnderTest": "$TC actions replace action nat ingress 1.18.1.1 1.18.2.2 goto chain 42 index 90 cookie c1a0c1a0", 610*4882a593Smuzhiyun "expExitCode": "255", 611*4882a593Smuzhiyun "verifyCmd": "$TC actions get action nat index 90", 612*4882a593Smuzhiyun "matchPattern": "action order [0-9]+: nat ingress 1.18.1.1/32 1.18.2.2 drop.*index 90 ref", 613*4882a593Smuzhiyun "matchCount": "1", 614*4882a593Smuzhiyun "teardown": [ 615*4882a593Smuzhiyun "$TC actions flush action nat" 616*4882a593Smuzhiyun ] 617*4882a593Smuzhiyun } 618*4882a593Smuzhiyun] 619