selftests/tc-testing: sfq: test that kernel rejects limit of 1

Add test to check that the kernel rejects a configuration with the
limit set to 1.

Signed-off-by: Octavian Purdila <tavip@google.com>
Link: https://patch.msgid.link/20241204030520.2084663-3-tavip@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Octavian Purdila 2024-12-03 19:05:20 -08:00 committed by Jakub Kicinski
parent 10685681ba
commit 1e7e1f0e8b
2 changed files with 41 additions and 0 deletions

View File

@ -0,0 +1,21 @@
#!/usr/bin/env python3
# SPDX-License-Identifier: GPL-2.0
#
# Script that checks that SFQ rejects a limit of 1 at the kernel
# level. We can't use iproute2's tc because it does not accept a limit
# of 1.
import sys
import os
from pyroute2 import IPRoute
from pyroute2.netlink.exceptions import NetlinkError
ip = IPRoute()
ifidx = ip.link_lookup(ifname=sys.argv[1])
try:
ip.tc('add', 'sfq', ifidx, limit=1)
sys.exit(1)
except NetlinkError:
sys.exit(0)

View File

@ -208,5 +208,25 @@
"teardown": [
"$TC qdisc del dev $DUMMY handle 1: root"
]
},
{
"id": "4d6f",
"name": "Check that limit of 1 is rejected",
"category": [
"qdisc",
"sfq"
],
"plugins": {
"requires": "nsPlugin"
},
"setup": [
],
"cmdUnderTest": "./scripts/sfq_rejects_limit_1.py $DUMMY",
"expExitCode": "0",
"verifyCmd": "$TC qdisc show dev $DUMMY",
"matchPattern": "sfq",
"matchCount": "0",
"teardown": [
]
}
]