1*14c5eb68SXuanqiang Luo[ 2*14c5eb68SXuanqiang Luo { 3*14c5eb68SXuanqiang Luo "id": "d710", 4*14c5eb68SXuanqiang Luo "name": "Release tail references after first action deletion fails", 5*14c5eb68SXuanqiang Luo "category": [ 6*14c5eb68SXuanqiang Luo "actions", 7*14c5eb68SXuanqiang Luo "gact" 8*14c5eb68SXuanqiang Luo ], 9*14c5eb68SXuanqiang Luo "plugins": { 10*14c5eb68SXuanqiang Luo "requires": "nsPlugin" 11*14c5eb68SXuanqiang Luo }, 12*14c5eb68SXuanqiang Luo "setup": [ 13*14c5eb68SXuanqiang Luo [ 14*14c5eb68SXuanqiang Luo "$TC actions flush action gact", 15*14c5eb68SXuanqiang Luo 0, 16*14c5eb68SXuanqiang Luo 1, 17*14c5eb68SXuanqiang Luo 255 18*14c5eb68SXuanqiang Luo ], 19*14c5eb68SXuanqiang Luo "$TC qdisc add dev $DEV1 ingress", 20*14c5eb68SXuanqiang Luo "$TC actions add action pass index 1", 21*14c5eb68SXuanqiang Luo "$TC actions add action pass index 2", 22*14c5eb68SXuanqiang Luo "$TC actions add action pass index 3", 23*14c5eb68SXuanqiang Luo "$TC filter add dev $DEV1 protocol ip ingress u32 match u32 0 0 action gact index 1" 24*14c5eb68SXuanqiang Luo ], 25*14c5eb68SXuanqiang Luo "cmdUnderTest": "$TC actions del action gact index 1 action gact index 2 action gact index 3", 26*14c5eb68SXuanqiang Luo "expExitCode": "255", 27*14c5eb68SXuanqiang Luo "verifyCmd": "$TC actions ls action gact", 28*14c5eb68SXuanqiang Luo "matchPattern": "total acts 3\\b.*index 1 ref 2 bind 1\\b.*index 2 ref 1 bind 0\\b.*index 3 ref 1 bind 0\\b", 29*14c5eb68SXuanqiang Luo "matchCount": "1", 30*14c5eb68SXuanqiang Luo "teardown": [ 31*14c5eb68SXuanqiang Luo "$TC qdisc del dev $DEV1 ingress", 32*14c5eb68SXuanqiang Luo [ 33*14c5eb68SXuanqiang Luo "$TC actions flush action gact", 34*14c5eb68SXuanqiang Luo 0, 35*14c5eb68SXuanqiang Luo 1, 36*14c5eb68SXuanqiang Luo 255 37*14c5eb68SXuanqiang Luo ] 38*14c5eb68SXuanqiang Luo ] 39*14c5eb68SXuanqiang Luo }, 40*14c5eb68SXuanqiang Luo { 41*14c5eb68SXuanqiang Luo "id": "d711", 42*14c5eb68SXuanqiang Luo "name": "Release tail references after middle action deletion fails", 43*14c5eb68SXuanqiang Luo "category": [ 44*14c5eb68SXuanqiang Luo "actions", 45*14c5eb68SXuanqiang Luo "gact" 46*14c5eb68SXuanqiang Luo ], 47*14c5eb68SXuanqiang Luo "plugins": { 48*14c5eb68SXuanqiang Luo "requires": "nsPlugin" 49*14c5eb68SXuanqiang Luo }, 50*14c5eb68SXuanqiang Luo "setup": [ 51*14c5eb68SXuanqiang Luo [ 52*14c5eb68SXuanqiang Luo "$TC actions flush action gact", 53*14c5eb68SXuanqiang Luo 0, 54*14c5eb68SXuanqiang Luo 1, 55*14c5eb68SXuanqiang Luo 255 56*14c5eb68SXuanqiang Luo ], 57*14c5eb68SXuanqiang Luo "$TC qdisc add dev $DEV1 ingress", 58*14c5eb68SXuanqiang Luo "$TC actions add action pass index 1", 59*14c5eb68SXuanqiang Luo "$TC actions add action pass index 2", 60*14c5eb68SXuanqiang Luo "$TC actions add action pass index 3", 61*14c5eb68SXuanqiang Luo "$TC filter add dev $DEV1 protocol ip ingress u32 match u32 0 0 action gact index 2" 62*14c5eb68SXuanqiang Luo ], 63*14c5eb68SXuanqiang Luo "cmdUnderTest": "$TC actions del action gact index 1 action gact index 2 action gact index 3", 64*14c5eb68SXuanqiang Luo "expExitCode": "255", 65*14c5eb68SXuanqiang Luo "verifyCmd": "$TC actions ls action gact", 66*14c5eb68SXuanqiang Luo "matchPattern": "total acts 2\\b.*index 2 ref 2 bind 1\\b.*index 3 ref 1 bind 0\\b", 67*14c5eb68SXuanqiang Luo "matchCount": "1", 68*14c5eb68SXuanqiang Luo "teardown": [ 69*14c5eb68SXuanqiang Luo "$TC qdisc del dev $DEV1 ingress", 70*14c5eb68SXuanqiang Luo [ 71*14c5eb68SXuanqiang Luo "$TC actions flush action gact", 72*14c5eb68SXuanqiang Luo 0, 73*14c5eb68SXuanqiang Luo 1, 74*14c5eb68SXuanqiang Luo 255 75*14c5eb68SXuanqiang Luo ] 76*14c5eb68SXuanqiang Luo ] 77*14c5eb68SXuanqiang Luo }, 78*14c5eb68SXuanqiang Luo { 79*14c5eb68SXuanqiang Luo "id": "d713", 80*14c5eb68SXuanqiang Luo "name": "Delete a tail action once after a failed batch", 81*14c5eb68SXuanqiang Luo "category": [ 82*14c5eb68SXuanqiang Luo "actions", 83*14c5eb68SXuanqiang Luo "gact" 84*14c5eb68SXuanqiang Luo ], 85*14c5eb68SXuanqiang Luo "plugins": { 86*14c5eb68SXuanqiang Luo "requires": "nsPlugin" 87*14c5eb68SXuanqiang Luo }, 88*14c5eb68SXuanqiang Luo "setup": [ 89*14c5eb68SXuanqiang Luo [ 90*14c5eb68SXuanqiang Luo "$TC actions flush action gact", 91*14c5eb68SXuanqiang Luo 0, 92*14c5eb68SXuanqiang Luo 1, 93*14c5eb68SXuanqiang Luo 255 94*14c5eb68SXuanqiang Luo ], 95*14c5eb68SXuanqiang Luo "$TC qdisc add dev $DEV1 ingress", 96*14c5eb68SXuanqiang Luo "$TC actions add action pass index 1", 97*14c5eb68SXuanqiang Luo "$TC actions add action pass index 2", 98*14c5eb68SXuanqiang Luo "$TC filter add dev $DEV1 protocol ip ingress u32 match u32 0 0 action gact index 1" 99*14c5eb68SXuanqiang Luo ], 100*14c5eb68SXuanqiang Luo "cmdUnderTest": "$TC actions del action gact index 1 action gact index 2", 101*14c5eb68SXuanqiang Luo "expExitCode": "255", 102*14c5eb68SXuanqiang Luo "verifyCmd": "sh -c '$TC actions del action gact index 2 && $TC actions ls action gact'", 103*14c5eb68SXuanqiang Luo "matchPattern": "total acts 1\\b.*index 1 ref 2 bind 1\\b", 104*14c5eb68SXuanqiang Luo "matchCount": "1", 105*14c5eb68SXuanqiang Luo "teardown": [ 106*14c5eb68SXuanqiang Luo "$TC qdisc del dev $DEV1 ingress", 107*14c5eb68SXuanqiang Luo [ 108*14c5eb68SXuanqiang Luo "$TC actions flush action gact", 109*14c5eb68SXuanqiang Luo 0, 110*14c5eb68SXuanqiang Luo 1, 111*14c5eb68SXuanqiang Luo 255 112*14c5eb68SXuanqiang Luo ] 113*14c5eb68SXuanqiang Luo ] 114*14c5eb68SXuanqiang Luo } 115*14c5eb68SXuanqiang Luo] 116