mirror of
https://github.com/torvalds/linux.git
synced 2026-09-28 20:12:01 +02:00
Add tests for cleanup after a batched RTM_DELACTION request fails at a gact action bound to a filter. Check that subsequent actions retain their original reference counts and that earlier successful deletions are preserved. Cover failures at the first and middle entries. Verify that a remaining unbound action can be removed with one subsequent delete. Signed-off-by: Xuanqiang Luo <luoxuanqiang@kylinos.cn> Link: https://patch.msgid.link/20260910093413.34509-3-xuanqiang.luo@linux.dev Signed-off-by: Jakub Kicinski <kuba@kernel.org>
116 lines
3.6 KiB
JSON
116 lines
3.6 KiB
JSON
[
|
|
{
|
|
"id": "d710",
|
|
"name": "Release tail references after first action deletion fails",
|
|
"category": [
|
|
"actions",
|
|
"gact"
|
|
],
|
|
"plugins": {
|
|
"requires": "nsPlugin"
|
|
},
|
|
"setup": [
|
|
[
|
|
"$TC actions flush action gact",
|
|
0,
|
|
1,
|
|
255
|
|
],
|
|
"$TC qdisc add dev $DEV1 ingress",
|
|
"$TC actions add action pass index 1",
|
|
"$TC actions add action pass index 2",
|
|
"$TC actions add action pass index 3",
|
|
"$TC filter add dev $DEV1 protocol ip ingress u32 match u32 0 0 action gact index 1"
|
|
],
|
|
"cmdUnderTest": "$TC actions del action gact index 1 action gact index 2 action gact index 3",
|
|
"expExitCode": "255",
|
|
"verifyCmd": "$TC actions ls action gact",
|
|
"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",
|
|
"matchCount": "1",
|
|
"teardown": [
|
|
"$TC qdisc del dev $DEV1 ingress",
|
|
[
|
|
"$TC actions flush action gact",
|
|
0,
|
|
1,
|
|
255
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "d711",
|
|
"name": "Release tail references after middle action deletion fails",
|
|
"category": [
|
|
"actions",
|
|
"gact"
|
|
],
|
|
"plugins": {
|
|
"requires": "nsPlugin"
|
|
},
|
|
"setup": [
|
|
[
|
|
"$TC actions flush action gact",
|
|
0,
|
|
1,
|
|
255
|
|
],
|
|
"$TC qdisc add dev $DEV1 ingress",
|
|
"$TC actions add action pass index 1",
|
|
"$TC actions add action pass index 2",
|
|
"$TC actions add action pass index 3",
|
|
"$TC filter add dev $DEV1 protocol ip ingress u32 match u32 0 0 action gact index 2"
|
|
],
|
|
"cmdUnderTest": "$TC actions del action gact index 1 action gact index 2 action gact index 3",
|
|
"expExitCode": "255",
|
|
"verifyCmd": "$TC actions ls action gact",
|
|
"matchPattern": "total acts 2\\b.*index 2 ref 2 bind 1\\b.*index 3 ref 1 bind 0\\b",
|
|
"matchCount": "1",
|
|
"teardown": [
|
|
"$TC qdisc del dev $DEV1 ingress",
|
|
[
|
|
"$TC actions flush action gact",
|
|
0,
|
|
1,
|
|
255
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "d713",
|
|
"name": "Delete a tail action once after a failed batch",
|
|
"category": [
|
|
"actions",
|
|
"gact"
|
|
],
|
|
"plugins": {
|
|
"requires": "nsPlugin"
|
|
},
|
|
"setup": [
|
|
[
|
|
"$TC actions flush action gact",
|
|
0,
|
|
1,
|
|
255
|
|
],
|
|
"$TC qdisc add dev $DEV1 ingress",
|
|
"$TC actions add action pass index 1",
|
|
"$TC actions add action pass index 2",
|
|
"$TC filter add dev $DEV1 protocol ip ingress u32 match u32 0 0 action gact index 1"
|
|
],
|
|
"cmdUnderTest": "$TC actions del action gact index 1 action gact index 2",
|
|
"expExitCode": "255",
|
|
"verifyCmd": "sh -c '$TC actions del action gact index 2 && $TC actions ls action gact'",
|
|
"matchPattern": "total acts 1\\b.*index 1 ref 2 bind 1\\b",
|
|
"matchCount": "1",
|
|
"teardown": [
|
|
"$TC qdisc del dev $DEV1 ingress",
|
|
[
|
|
"$TC actions flush action gact",
|
|
0,
|
|
1,
|
|
255
|
|
]
|
|
]
|
|
}
|
|
]
|