selftests/tc-testing: cls_u32: add tests for classid

As discussed in '3044b16e7c6f', cls_u32 was handling the use of classid
incorrectly. Add a test to check if it's conforming to the correct
behaviour.

Reviewed-by: Victor Nogueira <victor@mojatatu.com>
Signed-off-by: Pedro Tammela <pctammela@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Pedro Tammela 2023-09-11 18:50:15 -03:00 committed by David S. Miller
parent 7c33908361
commit e2f2fb3c35

View File

@ -247,5 +247,30 @@
"teardown": [
"$TC qdisc del dev $DEV1 ingress"
]
},
{
"id": "0c37",
"name": "Try to delete class referenced by u32 after a replace",
"category": [
"filter",
"u32"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
"$TC qdisc add dev $DEV1 parent root handle 10: drr",
"$TC class add dev $DEV1 parent root classid 1 drr",
"$TC filter add dev $DEV1 parent 10: prio 1 u32 match icmp type 1 0xff classid 10:1 action ok",
"$TC filter replace dev $DEV1 parent 10: prio 1 u32 match icmp type 1 0xff classid 10:1 action drop"
],
"cmdUnderTest": "$TC class delete dev $DEV1 parent 10: classid 10:1",
"expExitCode": "2",
"verifyCmd": "$TC class show dev $DEV1",
"matchPattern": "class drr 10:1",
"matchCount": "1",
"teardown": [
"$TC qdisc del dev $DEV1 parent root drr"
]
}
]