mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
selftests: drv-net: xdp: use variants for qstat tests
Use just-added ksft variants for XDP qstat tests. While at it correct the number of packets, we're sending 1000 packets now. Reviewed-by: Petr Machata <petrm@nvidia.com> Reviewed-by: Willem de Bruijn <willemb@google.com> Link: https://patch.msgid.link/20251120021024.2944527-5-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
@@ -12,6 +12,7 @@ from dataclasses import dataclass
|
||||
from enum import Enum
|
||||
|
||||
from lib.py import ksft_run, ksft_exit, ksft_eq, ksft_ge, ksft_ne, ksft_pr
|
||||
from lib.py import KsftNamedVariant, ksft_variants
|
||||
from lib.py import KsftFailEx, NetDrvEpEnv
|
||||
from lib.py import EthtoolFamily, NetdevFamily, NlError
|
||||
from lib.py import bkg, cmd, rand_port, wait_port_listen
|
||||
@@ -672,7 +673,18 @@ def test_xdp_native_adjst_head_shrnk_data(cfg):
|
||||
_validate_res(res, offset_lst, pkt_sz_lst)
|
||||
|
||||
|
||||
def _test_xdp_native_ifc_stats(cfg, act):
|
||||
@ksft_variants([
|
||||
KsftNamedVariant("pass", XDPAction.PASS),
|
||||
KsftNamedVariant("drop", XDPAction.DROP),
|
||||
KsftNamedVariant("tx", XDPAction.TX),
|
||||
])
|
||||
def test_xdp_native_qstats(cfg, act):
|
||||
"""
|
||||
Send 1000 messages. Expect XDP action specified in @act.
|
||||
Make sure the packets were counted to interface level qstats
|
||||
(Rx, and Tx if act is TX).
|
||||
"""
|
||||
|
||||
cfg.require_cmd("socat")
|
||||
|
||||
bpf_info = BPFProgInfo("xdp_prog", "xdp_native.bpf.o", "xdp", 1500)
|
||||
@@ -733,30 +745,6 @@ def _test_xdp_native_ifc_stats(cfg, act):
|
||||
ksft_ge(after['tx-packets'], before['tx-packets'])
|
||||
|
||||
|
||||
def test_xdp_native_qstats_pass(cfg):
|
||||
"""
|
||||
Send 2000 messages, expect XDP_PASS, make sure the packets were counted
|
||||
to interface level qstats (Rx).
|
||||
"""
|
||||
_test_xdp_native_ifc_stats(cfg, XDPAction.PASS)
|
||||
|
||||
|
||||
def test_xdp_native_qstats_drop(cfg):
|
||||
"""
|
||||
Send 2000 messages, expect XDP_DROP, make sure the packets were counted
|
||||
to interface level qstats (Rx).
|
||||
"""
|
||||
_test_xdp_native_ifc_stats(cfg, XDPAction.DROP)
|
||||
|
||||
|
||||
def test_xdp_native_qstats_tx(cfg):
|
||||
"""
|
||||
Send 2000 messages, expect XDP_TX, make sure the packets were counted
|
||||
to interface level qstats (Rx and Tx)
|
||||
"""
|
||||
_test_xdp_native_ifc_stats(cfg, XDPAction.TX)
|
||||
|
||||
|
||||
def main():
|
||||
"""
|
||||
Main function to execute the XDP tests.
|
||||
@@ -781,9 +769,7 @@ def main():
|
||||
test_xdp_native_adjst_tail_shrnk_data,
|
||||
test_xdp_native_adjst_head_grow_data,
|
||||
test_xdp_native_adjst_head_shrnk_data,
|
||||
test_xdp_native_qstats_pass,
|
||||
test_xdp_native_qstats_drop,
|
||||
test_xdp_native_qstats_tx,
|
||||
test_xdp_native_qstats,
|
||||
],
|
||||
args=(cfg,))
|
||||
ksft_exit()
|
||||
|
||||
Reference in New Issue
Block a user