mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 23:52:08 +02:00
selftests: net: test listing NAPI vs queue resets
Test listing netdevsim NAPIs before and after a single queue has been reset (and NAPIs re-added). Start from resetting the middle queue because edge cases (first / last) may actually be less likely to trigger bugs. # ./tools/testing/selftests/net/nl_netdev.py KTAP version 1 1..4 ok 1 nl_netdev.empty_check ok 2 nl_netdev.lo_check ok 3 nl_netdev.page_pool_check ok 4 nl_netdev.napi_list_check # Totals: pass:4 fail:0 xfail:0 xpass:0 skip:0 error:0 Reviewed-by: Willem de Bruijn <willemb@google.com> Acked-by: Stanislav Fomichev <sdf@fomichev.me> Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
parent
6917d207b4
commit
eb721f117e
|
|
@ -18,6 +18,23 @@ def lo_check(nf) -> None:
|
|||
ksft_eq(len(lo_info['xdp-rx-metadata-features']), 0)
|
||||
|
||||
|
||||
def napi_list_check(nf) -> None:
|
||||
with NetdevSimDev(queue_count=100) as nsimdev:
|
||||
nsim = nsimdev.nsims[0]
|
||||
|
||||
ip(f"link set dev {nsim.ifname} up")
|
||||
|
||||
napis = nf.napi_get({'ifindex': nsim.ifindex}, dump=True)
|
||||
ksft_eq(len(napis), 100)
|
||||
|
||||
for q in [50, 0, 99]:
|
||||
for i in range(4):
|
||||
nsim.dfs_write("queue_reset", f"{q} {i}")
|
||||
napis = nf.napi_get({'ifindex': nsim.ifindex}, dump=True)
|
||||
ksft_eq(len(napis), 100,
|
||||
comment=f"queue count after reset queue {q} mode {i}")
|
||||
|
||||
|
||||
def page_pool_check(nf) -> None:
|
||||
with NetdevSimDev() as nsimdev:
|
||||
nsim = nsimdev.nsims[0]
|
||||
|
|
@ -89,7 +106,7 @@ def page_pool_check(nf) -> None:
|
|||
|
||||
def main() -> None:
|
||||
nf = NetdevFamily()
|
||||
ksft_run([empty_check, lo_check, page_pool_check],
|
||||
ksft_run([empty_check, lo_check, page_pool_check, napi_list_check],
|
||||
args=(nf, ))
|
||||
ksft_exit()
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user