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