1*4882a593Smuzhiyun[ 2*4882a593Smuzhiyun { 3*4882a593Smuzhiyun "id": "5124", 4*4882a593Smuzhiyun "name": "Add mirred mirror to egress action", 5*4882a593Smuzhiyun "category": [ 6*4882a593Smuzhiyun "actions", 7*4882a593Smuzhiyun "mirred" 8*4882a593Smuzhiyun ], 9*4882a593Smuzhiyun "setup": [ 10*4882a593Smuzhiyun [ 11*4882a593Smuzhiyun "$TC actions flush action mirred", 12*4882a593Smuzhiyun 0, 13*4882a593Smuzhiyun 1, 14*4882a593Smuzhiyun 255 15*4882a593Smuzhiyun ] 16*4882a593Smuzhiyun ], 17*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action mirred egress mirror index 1 dev lo", 18*4882a593Smuzhiyun "expExitCode": "0", 19*4882a593Smuzhiyun "verifyCmd": "$TC actions list action mirred", 20*4882a593Smuzhiyun "matchPattern": "action order [0-9]*: mirred \\(Egress Mirror to device lo\\).*index 1 ref", 21*4882a593Smuzhiyun "matchCount": "1", 22*4882a593Smuzhiyun "teardown": [ 23*4882a593Smuzhiyun "$TC actions flush action mirred" 24*4882a593Smuzhiyun ] 25*4882a593Smuzhiyun }, 26*4882a593Smuzhiyun { 27*4882a593Smuzhiyun "id": "6fb4", 28*4882a593Smuzhiyun "name": "Add mirred redirect to egress action", 29*4882a593Smuzhiyun "category": [ 30*4882a593Smuzhiyun "actions", 31*4882a593Smuzhiyun "mirred" 32*4882a593Smuzhiyun ], 33*4882a593Smuzhiyun "setup": [ 34*4882a593Smuzhiyun [ 35*4882a593Smuzhiyun "$TC actions flush action mirred", 36*4882a593Smuzhiyun 0, 37*4882a593Smuzhiyun 1, 38*4882a593Smuzhiyun 255 39*4882a593Smuzhiyun ] 40*4882a593Smuzhiyun ], 41*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action mirred egress redirect index 2 dev lo action pipe", 42*4882a593Smuzhiyun "expExitCode": "0", 43*4882a593Smuzhiyun "verifyCmd": "$TC actions list action mirred", 44*4882a593Smuzhiyun "matchPattern": "action order [0-9]*: mirred \\(Egress Redirect to device lo\\).*index 2 ref", 45*4882a593Smuzhiyun "matchCount": "1", 46*4882a593Smuzhiyun "teardown": [ 47*4882a593Smuzhiyun "$TC actions flush action mirred", 48*4882a593Smuzhiyun "$TC actions flush action gact" 49*4882a593Smuzhiyun ] 50*4882a593Smuzhiyun }, 51*4882a593Smuzhiyun { 52*4882a593Smuzhiyun "id": "ba38", 53*4882a593Smuzhiyun "name": "Get mirred actions", 54*4882a593Smuzhiyun "category": [ 55*4882a593Smuzhiyun "actions", 56*4882a593Smuzhiyun "mirred" 57*4882a593Smuzhiyun ], 58*4882a593Smuzhiyun "setup": [ 59*4882a593Smuzhiyun [ 60*4882a593Smuzhiyun "$TC actions flush action mirred", 61*4882a593Smuzhiyun 0, 62*4882a593Smuzhiyun 1, 63*4882a593Smuzhiyun 255 64*4882a593Smuzhiyun ], 65*4882a593Smuzhiyun "$TC actions add action mirred egress mirror index 1 dev lo", 66*4882a593Smuzhiyun "$TC actions add action mirred egress redirect index 2 dev lo" 67*4882a593Smuzhiyun ], 68*4882a593Smuzhiyun "cmdUnderTest": "$TC actions show action mirred", 69*4882a593Smuzhiyun "expExitCode": "0", 70*4882a593Smuzhiyun "verifyCmd": "$TC actions list action mirred", 71*4882a593Smuzhiyun "matchPattern": "[Mirror|Redirect] to device lo", 72*4882a593Smuzhiyun "matchCount": "2", 73*4882a593Smuzhiyun "teardown": [ 74*4882a593Smuzhiyun "$TC actions flush action mirred" 75*4882a593Smuzhiyun ] 76*4882a593Smuzhiyun }, 77*4882a593Smuzhiyun { 78*4882a593Smuzhiyun "id": "d7c0", 79*4882a593Smuzhiyun "name": "Add invalid mirred direction", 80*4882a593Smuzhiyun "category": [ 81*4882a593Smuzhiyun "actions", 82*4882a593Smuzhiyun "mirred" 83*4882a593Smuzhiyun ], 84*4882a593Smuzhiyun "setup": [ 85*4882a593Smuzhiyun [ 86*4882a593Smuzhiyun "$TC actions flush action mirred", 87*4882a593Smuzhiyun 0, 88*4882a593Smuzhiyun 1, 89*4882a593Smuzhiyun 255 90*4882a593Smuzhiyun ] 91*4882a593Smuzhiyun ], 92*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action mirred inbound mirror index 20 dev lo", 93*4882a593Smuzhiyun "expExitCode": "255", 94*4882a593Smuzhiyun "verifyCmd": "$TC actions list action mirred", 95*4882a593Smuzhiyun "matchPattern": "action order [0-9]*: mirred \\(.*to device lo\\).*index 20 ref", 96*4882a593Smuzhiyun "matchCount": "0", 97*4882a593Smuzhiyun "teardown": [ 98*4882a593Smuzhiyun "$TC actions flush action mirred" 99*4882a593Smuzhiyun ] 100*4882a593Smuzhiyun }, 101*4882a593Smuzhiyun { 102*4882a593Smuzhiyun "id": "e213", 103*4882a593Smuzhiyun "name": "Add invalid mirred action", 104*4882a593Smuzhiyun "category": [ 105*4882a593Smuzhiyun "actions", 106*4882a593Smuzhiyun "mirred" 107*4882a593Smuzhiyun ], 108*4882a593Smuzhiyun "setup": [ 109*4882a593Smuzhiyun [ 110*4882a593Smuzhiyun "$TC actions flush action mirred", 111*4882a593Smuzhiyun 0, 112*4882a593Smuzhiyun 1, 113*4882a593Smuzhiyun 255 114*4882a593Smuzhiyun ] 115*4882a593Smuzhiyun ], 116*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action mirred egress remirror index 20 dev lo", 117*4882a593Smuzhiyun "expExitCode": "255", 118*4882a593Smuzhiyun "verifyCmd": "$TC actions list action mirred", 119*4882a593Smuzhiyun "matchPattern": "action order [0-9]*: mirred \\(Egress.*to device lo\\).*index 20 ref", 120*4882a593Smuzhiyun "matchCount": "0", 121*4882a593Smuzhiyun "teardown": [ 122*4882a593Smuzhiyun "$TC actions flush action mirred" 123*4882a593Smuzhiyun ] 124*4882a593Smuzhiyun }, 125*4882a593Smuzhiyun { 126*4882a593Smuzhiyun "id": "2d89", 127*4882a593Smuzhiyun "name": "Add mirred action with invalid device", 128*4882a593Smuzhiyun "category": [ 129*4882a593Smuzhiyun "actions", 130*4882a593Smuzhiyun "mirred" 131*4882a593Smuzhiyun ], 132*4882a593Smuzhiyun "setup": [ 133*4882a593Smuzhiyun [ 134*4882a593Smuzhiyun "$TC actions flush action mirred", 135*4882a593Smuzhiyun 0, 136*4882a593Smuzhiyun 1, 137*4882a593Smuzhiyun 255 138*4882a593Smuzhiyun ] 139*4882a593Smuzhiyun ], 140*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action mirred egress mirror index 20 dev eltoh", 141*4882a593Smuzhiyun "expExitCode": "255", 142*4882a593Smuzhiyun "verifyCmd": "$TC actions list action mirred", 143*4882a593Smuzhiyun "matchPattern": "action order [0-9]*: mirred \\(.*to device eltoh\\).*index 20 ref", 144*4882a593Smuzhiyun "matchCount": "0", 145*4882a593Smuzhiyun "teardown": [ 146*4882a593Smuzhiyun "$TC actions flush action mirred" 147*4882a593Smuzhiyun ] 148*4882a593Smuzhiyun }, 149*4882a593Smuzhiyun { 150*4882a593Smuzhiyun "id": "300b", 151*4882a593Smuzhiyun "name": "Add mirred action with duplicate index", 152*4882a593Smuzhiyun "category": [ 153*4882a593Smuzhiyun "actions", 154*4882a593Smuzhiyun "mirred" 155*4882a593Smuzhiyun ], 156*4882a593Smuzhiyun "setup": [ 157*4882a593Smuzhiyun [ 158*4882a593Smuzhiyun "$TC actions flush action mirred", 159*4882a593Smuzhiyun 0, 160*4882a593Smuzhiyun 1, 161*4882a593Smuzhiyun 255 162*4882a593Smuzhiyun ], 163*4882a593Smuzhiyun "$TC actions add action mirred egress redirect index 15 dev lo" 164*4882a593Smuzhiyun ], 165*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action mirred egress mirror index 15 dev lo", 166*4882a593Smuzhiyun "expExitCode": "255", 167*4882a593Smuzhiyun "verifyCmd": "$TC actions list action mirred", 168*4882a593Smuzhiyun "matchPattern": "action order [0-9]*: mirred \\(.*to device lo\\).*index 15 ref", 169*4882a593Smuzhiyun "matchCount": "1", 170*4882a593Smuzhiyun "teardown": [ 171*4882a593Smuzhiyun "$TC actions flush action mirred" 172*4882a593Smuzhiyun ] 173*4882a593Smuzhiyun }, 174*4882a593Smuzhiyun { 175*4882a593Smuzhiyun "id": "8917", 176*4882a593Smuzhiyun "name": "Add mirred mirror action with control pass", 177*4882a593Smuzhiyun "category": [ 178*4882a593Smuzhiyun "actions", 179*4882a593Smuzhiyun "mirred" 180*4882a593Smuzhiyun ], 181*4882a593Smuzhiyun "setup": [ 182*4882a593Smuzhiyun [ 183*4882a593Smuzhiyun "$TC actions flush action mirred", 184*4882a593Smuzhiyun 0, 185*4882a593Smuzhiyun 1, 186*4882a593Smuzhiyun 255 187*4882a593Smuzhiyun ] 188*4882a593Smuzhiyun ], 189*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo pass index 1", 190*4882a593Smuzhiyun "expExitCode": "0", 191*4882a593Smuzhiyun "verifyCmd": "$TC actions get action mirred index 1", 192*4882a593Smuzhiyun "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) pass.*index 1 ref", 193*4882a593Smuzhiyun "matchCount": "1", 194*4882a593Smuzhiyun "teardown": [ 195*4882a593Smuzhiyun "$TC actions flush action mirred" 196*4882a593Smuzhiyun ] 197*4882a593Smuzhiyun }, 198*4882a593Smuzhiyun { 199*4882a593Smuzhiyun "id": "1054", 200*4882a593Smuzhiyun "name": "Add mirred mirror action with control pipe", 201*4882a593Smuzhiyun "category": [ 202*4882a593Smuzhiyun "actions", 203*4882a593Smuzhiyun "mirred" 204*4882a593Smuzhiyun ], 205*4882a593Smuzhiyun "setup": [ 206*4882a593Smuzhiyun [ 207*4882a593Smuzhiyun "$TC actions flush action mirred", 208*4882a593Smuzhiyun 0, 209*4882a593Smuzhiyun 1, 210*4882a593Smuzhiyun 255 211*4882a593Smuzhiyun ] 212*4882a593Smuzhiyun ], 213*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo pipe index 15", 214*4882a593Smuzhiyun "expExitCode": "0", 215*4882a593Smuzhiyun "verifyCmd": "$TC actions get action mirred index 15", 216*4882a593Smuzhiyun "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) pipe.*index 15 ref", 217*4882a593Smuzhiyun "matchCount": "1", 218*4882a593Smuzhiyun "teardown": [ 219*4882a593Smuzhiyun "$TC actions flush action mirred" 220*4882a593Smuzhiyun ] 221*4882a593Smuzhiyun }, 222*4882a593Smuzhiyun { 223*4882a593Smuzhiyun "id": "9887", 224*4882a593Smuzhiyun "name": "Add mirred mirror action with control continue", 225*4882a593Smuzhiyun "category": [ 226*4882a593Smuzhiyun "actions", 227*4882a593Smuzhiyun "mirred" 228*4882a593Smuzhiyun ], 229*4882a593Smuzhiyun "setup": [ 230*4882a593Smuzhiyun [ 231*4882a593Smuzhiyun "$TC actions flush action mirred", 232*4882a593Smuzhiyun 0, 233*4882a593Smuzhiyun 1, 234*4882a593Smuzhiyun 255 235*4882a593Smuzhiyun ] 236*4882a593Smuzhiyun ], 237*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo continue index 15", 238*4882a593Smuzhiyun "expExitCode": "0", 239*4882a593Smuzhiyun "verifyCmd": "$TC actions get action mirred index 15", 240*4882a593Smuzhiyun "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) continue.*index 15 ref", 241*4882a593Smuzhiyun "matchCount": "1", 242*4882a593Smuzhiyun "teardown": [ 243*4882a593Smuzhiyun "$TC actions flush action mirred" 244*4882a593Smuzhiyun ] 245*4882a593Smuzhiyun }, 246*4882a593Smuzhiyun { 247*4882a593Smuzhiyun "id": "e4aa", 248*4882a593Smuzhiyun "name": "Add mirred mirror action with control reclassify", 249*4882a593Smuzhiyun "category": [ 250*4882a593Smuzhiyun "actions", 251*4882a593Smuzhiyun "mirred" 252*4882a593Smuzhiyun ], 253*4882a593Smuzhiyun "setup": [ 254*4882a593Smuzhiyun [ 255*4882a593Smuzhiyun "$TC actions flush action mirred", 256*4882a593Smuzhiyun 0, 257*4882a593Smuzhiyun 1, 258*4882a593Smuzhiyun 255 259*4882a593Smuzhiyun ] 260*4882a593Smuzhiyun ], 261*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo reclassify index 150", 262*4882a593Smuzhiyun "expExitCode": "0", 263*4882a593Smuzhiyun "verifyCmd": "$TC actions get action mirred index 150", 264*4882a593Smuzhiyun "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) reclassify.*index 150 ref", 265*4882a593Smuzhiyun "matchCount": "1", 266*4882a593Smuzhiyun "teardown": [ 267*4882a593Smuzhiyun "$TC actions flush action mirred" 268*4882a593Smuzhiyun ] 269*4882a593Smuzhiyun }, 270*4882a593Smuzhiyun { 271*4882a593Smuzhiyun "id": "ece9", 272*4882a593Smuzhiyun "name": "Add mirred mirror action with control drop", 273*4882a593Smuzhiyun "category": [ 274*4882a593Smuzhiyun "actions", 275*4882a593Smuzhiyun "mirred" 276*4882a593Smuzhiyun ], 277*4882a593Smuzhiyun "setup": [ 278*4882a593Smuzhiyun [ 279*4882a593Smuzhiyun "$TC actions flush action mirred", 280*4882a593Smuzhiyun 0, 281*4882a593Smuzhiyun 1, 282*4882a593Smuzhiyun 255 283*4882a593Smuzhiyun ] 284*4882a593Smuzhiyun ], 285*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo drop index 99", 286*4882a593Smuzhiyun "expExitCode": "0", 287*4882a593Smuzhiyun "verifyCmd": "$TC actions get action mirred index 99", 288*4882a593Smuzhiyun "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) drop.*index 99 ref", 289*4882a593Smuzhiyun "matchCount": "1", 290*4882a593Smuzhiyun "teardown": [ 291*4882a593Smuzhiyun "$TC actions flush action mirred" 292*4882a593Smuzhiyun ] 293*4882a593Smuzhiyun }, 294*4882a593Smuzhiyun { 295*4882a593Smuzhiyun "id": "0031", 296*4882a593Smuzhiyun "name": "Add mirred mirror action with control jump", 297*4882a593Smuzhiyun "category": [ 298*4882a593Smuzhiyun "actions", 299*4882a593Smuzhiyun "mirred" 300*4882a593Smuzhiyun ], 301*4882a593Smuzhiyun "setup": [ 302*4882a593Smuzhiyun [ 303*4882a593Smuzhiyun "$TC actions flush action mirred", 304*4882a593Smuzhiyun 0, 305*4882a593Smuzhiyun 1, 306*4882a593Smuzhiyun 255 307*4882a593Smuzhiyun ] 308*4882a593Smuzhiyun ], 309*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo jump 10 index 99", 310*4882a593Smuzhiyun "expExitCode": "0", 311*4882a593Smuzhiyun "verifyCmd": "$TC actions get action mirred index 99", 312*4882a593Smuzhiyun "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) jump 10.*index 99 ref", 313*4882a593Smuzhiyun "matchCount": "1", 314*4882a593Smuzhiyun "teardown": [ 315*4882a593Smuzhiyun "$TC actions flush action mirred" 316*4882a593Smuzhiyun ] 317*4882a593Smuzhiyun }, 318*4882a593Smuzhiyun { 319*4882a593Smuzhiyun "id": "407c", 320*4882a593Smuzhiyun "name": "Add mirred mirror action with cookie", 321*4882a593Smuzhiyun "category": [ 322*4882a593Smuzhiyun "actions", 323*4882a593Smuzhiyun "mirred" 324*4882a593Smuzhiyun ], 325*4882a593Smuzhiyun "setup": [ 326*4882a593Smuzhiyun [ 327*4882a593Smuzhiyun "$TC actions flush action mirred", 328*4882a593Smuzhiyun 0, 329*4882a593Smuzhiyun 1, 330*4882a593Smuzhiyun 255 331*4882a593Smuzhiyun ] 332*4882a593Smuzhiyun ], 333*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo reclassify cookie aa11bb22cc33dd44ee55", 334*4882a593Smuzhiyun "expExitCode": "0", 335*4882a593Smuzhiyun "verifyCmd": "$TC actions ls action mirred", 336*4882a593Smuzhiyun "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) reclassify.*cookie aa11bb22cc33dd44ee55", 337*4882a593Smuzhiyun "matchCount": "1", 338*4882a593Smuzhiyun "teardown": [ 339*4882a593Smuzhiyun "$TC actions flush action mirred" 340*4882a593Smuzhiyun ] 341*4882a593Smuzhiyun }, 342*4882a593Smuzhiyun { 343*4882a593Smuzhiyun "id": "8b69", 344*4882a593Smuzhiyun "name": "Add mirred mirror action with index at 32-bit maximum", 345*4882a593Smuzhiyun "category": [ 346*4882a593Smuzhiyun "actions", 347*4882a593Smuzhiyun "mirred" 348*4882a593Smuzhiyun ], 349*4882a593Smuzhiyun "setup": [ 350*4882a593Smuzhiyun [ 351*4882a593Smuzhiyun "$TC actions flush action mirred", 352*4882a593Smuzhiyun 0, 353*4882a593Smuzhiyun 1, 354*4882a593Smuzhiyun 255 355*4882a593Smuzhiyun ] 356*4882a593Smuzhiyun ], 357*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo pipe index 4294967295", 358*4882a593Smuzhiyun "expExitCode": "0", 359*4882a593Smuzhiyun "verifyCmd": "$TC actions get action mirred index 4294967295", 360*4882a593Smuzhiyun "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) pipe.*index 4294967295", 361*4882a593Smuzhiyun "matchCount": "1", 362*4882a593Smuzhiyun "teardown": [ 363*4882a593Smuzhiyun "$TC actions flush action mirred" 364*4882a593Smuzhiyun ] 365*4882a593Smuzhiyun }, 366*4882a593Smuzhiyun { 367*4882a593Smuzhiyun "id": "3f66", 368*4882a593Smuzhiyun "name": "Add mirred mirror action with index exceeding 32-bit maximum", 369*4882a593Smuzhiyun "category": [ 370*4882a593Smuzhiyun "actions", 371*4882a593Smuzhiyun "mirred" 372*4882a593Smuzhiyun ], 373*4882a593Smuzhiyun "setup": [ 374*4882a593Smuzhiyun [ 375*4882a593Smuzhiyun "$TC actions flush action mirred", 376*4882a593Smuzhiyun 0, 377*4882a593Smuzhiyun 1, 378*4882a593Smuzhiyun 255 379*4882a593Smuzhiyun ] 380*4882a593Smuzhiyun ], 381*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action mirred ingress mirror dev lo pipe index 429496729555", 382*4882a593Smuzhiyun "expExitCode": "255", 383*4882a593Smuzhiyun "verifyCmd": "$TC actions get action mirred index 429496729555", 384*4882a593Smuzhiyun "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) pipe.*index 429496729555", 385*4882a593Smuzhiyun "matchCount": "0", 386*4882a593Smuzhiyun "teardown": [] 387*4882a593Smuzhiyun }, 388*4882a593Smuzhiyun { 389*4882a593Smuzhiyun "id": "a70e", 390*4882a593Smuzhiyun "name": "Delete mirred mirror action", 391*4882a593Smuzhiyun "category": [ 392*4882a593Smuzhiyun "actions", 393*4882a593Smuzhiyun "mirred" 394*4882a593Smuzhiyun ], 395*4882a593Smuzhiyun "setup": [ 396*4882a593Smuzhiyun [ 397*4882a593Smuzhiyun "$TC actions flush action mirred", 398*4882a593Smuzhiyun 0, 399*4882a593Smuzhiyun 1, 400*4882a593Smuzhiyun 255 401*4882a593Smuzhiyun ], 402*4882a593Smuzhiyun "$TC actions add action mirred egress mirror index 5 dev lo" 403*4882a593Smuzhiyun ], 404*4882a593Smuzhiyun "cmdUnderTest": "$TC actions del action mirred index 5", 405*4882a593Smuzhiyun "expExitCode": "0", 406*4882a593Smuzhiyun "verifyCmd": "$TC actions list action mirred", 407*4882a593Smuzhiyun "matchPattern": "action order [0-9]*: mirred \\(Egress Mirror to device lo\\).*index 5 ref", 408*4882a593Smuzhiyun "matchCount": "0", 409*4882a593Smuzhiyun "teardown": [ 410*4882a593Smuzhiyun "$TC actions flush action mirred" 411*4882a593Smuzhiyun ] 412*4882a593Smuzhiyun }, 413*4882a593Smuzhiyun { 414*4882a593Smuzhiyun "id": "3fb3", 415*4882a593Smuzhiyun "name": "Delete mirred redirect action", 416*4882a593Smuzhiyun "category": [ 417*4882a593Smuzhiyun "actions", 418*4882a593Smuzhiyun "mirred" 419*4882a593Smuzhiyun ], 420*4882a593Smuzhiyun "setup": [ 421*4882a593Smuzhiyun [ 422*4882a593Smuzhiyun "$TC actions flush action mirred", 423*4882a593Smuzhiyun 0, 424*4882a593Smuzhiyun 1, 425*4882a593Smuzhiyun 255 426*4882a593Smuzhiyun ], 427*4882a593Smuzhiyun "$TC actions add action mirred egress redirect index 5 dev lo" 428*4882a593Smuzhiyun ], 429*4882a593Smuzhiyun "cmdUnderTest": "$TC actions del action mirred index 5", 430*4882a593Smuzhiyun "expExitCode": "0", 431*4882a593Smuzhiyun "verifyCmd": "$TC actions list action mirred", 432*4882a593Smuzhiyun "matchPattern": "action order [0-9]*: mirred \\(Egress Redirect to device lo\\).*index 5 ref", 433*4882a593Smuzhiyun "matchCount": "0", 434*4882a593Smuzhiyun "teardown": [ 435*4882a593Smuzhiyun "$TC actions flush action mirred" 436*4882a593Smuzhiyun ] 437*4882a593Smuzhiyun }, 438*4882a593Smuzhiyun { 439*4882a593Smuzhiyun "id": "2a9a", 440*4882a593Smuzhiyun "name": "Replace mirred action with invalid goto chain control", 441*4882a593Smuzhiyun "category": [ 442*4882a593Smuzhiyun "actions", 443*4882a593Smuzhiyun "mirred" 444*4882a593Smuzhiyun ], 445*4882a593Smuzhiyun "setup": [ 446*4882a593Smuzhiyun [ 447*4882a593Smuzhiyun "$TC actions flush action mirred", 448*4882a593Smuzhiyun 0, 449*4882a593Smuzhiyun 1, 450*4882a593Smuzhiyun 255 451*4882a593Smuzhiyun ], 452*4882a593Smuzhiyun "$TC actions add action mirred ingress mirror dev lo drop index 90" 453*4882a593Smuzhiyun ], 454*4882a593Smuzhiyun "cmdUnderTest": "$TC actions replace action mirred ingress mirror dev lo goto chain 42 index 90 cookie c1a0c1a0", 455*4882a593Smuzhiyun "expExitCode": "255", 456*4882a593Smuzhiyun "verifyCmd": "$TC actions get action mirred index 90", 457*4882a593Smuzhiyun "matchPattern": "action order [0-9]*: mirred \\(Ingress Mirror to device lo\\) drop.*index 90 ref", 458*4882a593Smuzhiyun "matchCount": "1", 459*4882a593Smuzhiyun "teardown": [ 460*4882a593Smuzhiyun "$TC actions flush action mirred" 461*4882a593Smuzhiyun ] 462*4882a593Smuzhiyun }, 463*4882a593Smuzhiyun { 464*4882a593Smuzhiyun "id": "4749", 465*4882a593Smuzhiyun "name": "Add batch of 32 mirred redirect egress actions with cookie", 466*4882a593Smuzhiyun "category": [ 467*4882a593Smuzhiyun "actions", 468*4882a593Smuzhiyun "mirred" 469*4882a593Smuzhiyun ], 470*4882a593Smuzhiyun "setup": [ 471*4882a593Smuzhiyun [ 472*4882a593Smuzhiyun "$TC actions flush action mirred", 473*4882a593Smuzhiyun 0, 474*4882a593Smuzhiyun 1, 475*4882a593Smuzhiyun 255 476*4882a593Smuzhiyun ] 477*4882a593Smuzhiyun ], 478*4882a593Smuzhiyun "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action mirred egress redirect dev lo index \\$i cookie aabbccddeeff112233445566778800a1 \\\"; args=\"\\$args\\$cmd\"; done && $TC actions add \\$args\"", 479*4882a593Smuzhiyun "expExitCode": "0", 480*4882a593Smuzhiyun "verifyCmd": "$TC actions list action mirred", 481*4882a593Smuzhiyun "matchPattern": "^[ \t]+index [0-9]+ ref", 482*4882a593Smuzhiyun "matchCount": "32", 483*4882a593Smuzhiyun "teardown": [ 484*4882a593Smuzhiyun "$TC actions flush action mirred" 485*4882a593Smuzhiyun ] 486*4882a593Smuzhiyun }, 487*4882a593Smuzhiyun { 488*4882a593Smuzhiyun "id": "5c69", 489*4882a593Smuzhiyun "name": "Delete batch of 32 mirred redirect egress actions", 490*4882a593Smuzhiyun "category": [ 491*4882a593Smuzhiyun "actions", 492*4882a593Smuzhiyun "mirred" 493*4882a593Smuzhiyun ], 494*4882a593Smuzhiyun "setup": [ 495*4882a593Smuzhiyun [ 496*4882a593Smuzhiyun "$TC actions flush action mirred", 497*4882a593Smuzhiyun 0, 498*4882a593Smuzhiyun 1, 499*4882a593Smuzhiyun 255 500*4882a593Smuzhiyun ], 501*4882a593Smuzhiyun "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action mirred egress redirect dev lo index \\$i \\\"; args=\\\"\\$args\\$cmd\\\"; done && $TC actions add \\$args\"" 502*4882a593Smuzhiyun ], 503*4882a593Smuzhiyun "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action mirred index \\$i \\\"; args=\"\\$args\\$cmd\"; done && $TC actions del \\$args\"", 504*4882a593Smuzhiyun "expExitCode": "0", 505*4882a593Smuzhiyun "verifyCmd": "$TC actions list action mirred", 506*4882a593Smuzhiyun "matchPattern": "^[ \t]+index [0-9]+ ref", 507*4882a593Smuzhiyun "matchCount": "0", 508*4882a593Smuzhiyun "teardown": [] 509*4882a593Smuzhiyun }, 510*4882a593Smuzhiyun { 511*4882a593Smuzhiyun "id": "d3c0", 512*4882a593Smuzhiyun "name": "Add batch of 32 mirred mirror ingress actions with cookie", 513*4882a593Smuzhiyun "category": [ 514*4882a593Smuzhiyun "actions", 515*4882a593Smuzhiyun "mirred" 516*4882a593Smuzhiyun ], 517*4882a593Smuzhiyun "setup": [ 518*4882a593Smuzhiyun [ 519*4882a593Smuzhiyun "$TC actions flush action mirred", 520*4882a593Smuzhiyun 0, 521*4882a593Smuzhiyun 1, 522*4882a593Smuzhiyun 255 523*4882a593Smuzhiyun ] 524*4882a593Smuzhiyun ], 525*4882a593Smuzhiyun "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action mirred ingress mirror dev lo index \\$i cookie aabbccddeeff112233445566778800a1 \\\"; args=\"\\$args\\$cmd\"; done && $TC actions add \\$args\"", 526*4882a593Smuzhiyun "expExitCode": "0", 527*4882a593Smuzhiyun "verifyCmd": "$TC actions list action mirred", 528*4882a593Smuzhiyun "matchPattern": "^[ \t]+index [0-9]+ ref", 529*4882a593Smuzhiyun "matchCount": "32", 530*4882a593Smuzhiyun "teardown": [ 531*4882a593Smuzhiyun "$TC actions flush action mirred" 532*4882a593Smuzhiyun ] 533*4882a593Smuzhiyun }, 534*4882a593Smuzhiyun { 535*4882a593Smuzhiyun "id": "e684", 536*4882a593Smuzhiyun "name": "Delete batch of 32 mirred mirror ingress actions", 537*4882a593Smuzhiyun "category": [ 538*4882a593Smuzhiyun "actions", 539*4882a593Smuzhiyun "mirred" 540*4882a593Smuzhiyun ], 541*4882a593Smuzhiyun "setup": [ 542*4882a593Smuzhiyun [ 543*4882a593Smuzhiyun "$TC actions flush action mirred", 544*4882a593Smuzhiyun 0, 545*4882a593Smuzhiyun 1, 546*4882a593Smuzhiyun 255 547*4882a593Smuzhiyun ], 548*4882a593Smuzhiyun "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action mirred ingress mirror dev lo index \\$i \\\"; args=\\\"\\$args\\$cmd\\\"; done && $TC actions add \\$args\"" 549*4882a593Smuzhiyun ], 550*4882a593Smuzhiyun "cmdUnderTest": "bash -c \"for i in \\`seq 1 32\\`; do cmd=\\\"action mirred index \\$i \\\"; args=\"\\$args\\$cmd\"; done && $TC actions del \\$args\"", 551*4882a593Smuzhiyun "expExitCode": "0", 552*4882a593Smuzhiyun "verifyCmd": "$TC actions list action mirred", 553*4882a593Smuzhiyun "matchPattern": "^[ \t]+index [0-9]+ ref", 554*4882a593Smuzhiyun "matchCount": "0", 555*4882a593Smuzhiyun "teardown": [] 556*4882a593Smuzhiyun }, 557*4882a593Smuzhiyun { 558*4882a593Smuzhiyun "id": "31e3", 559*4882a593Smuzhiyun "name": "Add mirred mirror to egress action with no_percpu flag", 560*4882a593Smuzhiyun "category": [ 561*4882a593Smuzhiyun "actions", 562*4882a593Smuzhiyun "mirred" 563*4882a593Smuzhiyun ], 564*4882a593Smuzhiyun "setup": [ 565*4882a593Smuzhiyun [ 566*4882a593Smuzhiyun "$TC actions flush action mirred", 567*4882a593Smuzhiyun 0, 568*4882a593Smuzhiyun 1, 569*4882a593Smuzhiyun 255 570*4882a593Smuzhiyun ] 571*4882a593Smuzhiyun ], 572*4882a593Smuzhiyun "cmdUnderTest": "$TC actions add action mirred egress mirror dev lo no_percpu", 573*4882a593Smuzhiyun "expExitCode": "0", 574*4882a593Smuzhiyun "verifyCmd": "$TC actions list action mirred", 575*4882a593Smuzhiyun "matchPattern": "action order [0-9]*: mirred \\(Egress Mirror to device lo\\).*no_percpu", 576*4882a593Smuzhiyun "matchCount": "1", 577*4882a593Smuzhiyun "teardown": [ 578*4882a593Smuzhiyun "$TC actions flush action mirred" 579*4882a593Smuzhiyun ] 580*4882a593Smuzhiyun } 581*4882a593Smuzhiyun] 582