Skip to content

Commit eb721f1

Browse files
kuba-mooPaolo Abeni
authored andcommitted
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 <[email protected]> Acked-by: Stanislav Fomichev <[email protected]> Signed-off-by: Jakub Kicinski <[email protected]> Signed-off-by: Paolo Abeni <[email protected]>
1 parent 6917d20 commit eb721f1

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

tools/testing/selftests/net/nl_netdev.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,23 @@ def lo_check(nf) -> None:
1818
ksft_eq(len(lo_info['xdp-rx-metadata-features']), 0)
1919

2020

21+
def napi_list_check(nf) -> None:
22+
with NetdevSimDev(queue_count=100) as nsimdev:
23+
nsim = nsimdev.nsims[0]
24+
25+
ip(f"link set dev {nsim.ifname} up")
26+
27+
napis = nf.napi_get({'ifindex': nsim.ifindex}, dump=True)
28+
ksft_eq(len(napis), 100)
29+
30+
for q in [50, 0, 99]:
31+
for i in range(4):
32+
nsim.dfs_write("queue_reset", f"{q} {i}")
33+
napis = nf.napi_get({'ifindex': nsim.ifindex}, dump=True)
34+
ksft_eq(len(napis), 100,
35+
comment=f"queue count after reset queue {q} mode {i}")
36+
37+
2138
def page_pool_check(nf) -> None:
2239
with NetdevSimDev() as nsimdev:
2340
nsim = nsimdev.nsims[0]
@@ -89,7 +106,7 @@ def get_pp():
89106

90107
def main() -> None:
91108
nf = NetdevFamily()
92-
ksft_run([empty_check, lo_check, page_pool_check],
109+
ksft_run([empty_check, lo_check, page_pool_check, napi_list_check],
93110
args=(nf, ))
94111
ksft_exit()
95112

0 commit comments

Comments
 (0)