f898c16a | 26-Jun-2024 |
Jakub Kicinski <kuba@kernel.org> |
selftests: drv-net: rss_ctx: add tests for RSS configuration and contexts
Add tests focusing on indirection table configuration and creating extra RSS contexts in drivers which support it.
$ expo
selftests: drv-net: rss_ctx: add tests for RSS configuration and contexts
Add tests focusing on indirection table configuration and creating extra RSS contexts in drivers which support it.
$ export NETIF=eth0 REMOTE_... $ ./drivers/net/hw/rss_ctx.py KTAP version 1 1..8 ok 1 rss_ctx.test_rss_key_indir ok 2 rss_ctx.test_rss_context ok 3 rss_ctx.test_rss_context4 # Increasing queue count 44 -> 66 # Failed to create context 32, trying to test what we got ok 4 rss_ctx.test_rss_context32 # SKIP Tested only 31 contexts, wanted 32 ok 5 rss_ctx.test_rss_context_overlap ok 6 rss_ctx.test_rss_context_overlap2 # .. sprays traffic like a headless chicken .. not ok 7 rss_ctx.test_rss_context_out_of_order ok 8 rss_ctx.test_rss_context4_create_with_cfg # Totals: pass:6 fail:1 xfail:0 xpass:0 skip:1 error:0
Note that rss_ctx.test_rss_context_out_of_order fails with the device I tested with, but it seems to be a device / driver bug.
Reviewed-by: Petr Machata <petrm@nvidia.com> Reviewed-by: Willem de Bruijn <willemb@google.com> Link: https://patch.msgid.link/20240626012456.2326192-5-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
94fecaa6 | 26-Jun-2024 |
Jakub Kicinski <kuba@kernel.org> |
selftests: drv-net: add ability to wait for at least N packets to load gen
Teach the load generator how to wait for at least given number of packets to be received. This will be useful for filtering
selftests: drv-net: add ability to wait for at least N packets to load gen
Teach the load generator how to wait for at least given number of packets to be received. This will be useful for filtering where we'll want to send a non-trivial number of packets and make sure they landed in right queues.
Reviewed-by: Breno Leitao <leitao@debian.org> Reviewed-by: Petr Machata <petrm@nvidia.com> Reviewed-by: Willem de Bruijn <willemb@google.com> Link: https://patch.msgid.link/20240626012456.2326192-4-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
0f0cdf31 | 29-Apr-2024 |
Jakub Kicinski <kuba@kernel.org> |
selftests: drv-net: support generating iperf3 load
While we are not very interested in testing performance it's useful to be able to generate a lot of traffic. iperf is the simplest way of getting r
selftests: drv-net: support generating iperf3 load
While we are not very interested in testing performance it's useful to be able to generate a lot of traffic. iperf is the simplest way of getting relatively high PPS.
Reviewed-by: Willem de Bruijn <willemb@google.com> Link: https://lore.kernel.org/r/20240429144426.743476-6-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
340ab206 | 26-Apr-2024 |
Jakub Kicinski <kuba@kernel.org> |
selftests: drv-net: validate the environment
Throw a slightly more helpful exception when env variables are partially populated. Prior to this change we'd get a dictionary key exception somewhere la
selftests: drv-net: validate the environment
Throw a slightly more helpful exception when env variables are partially populated. Prior to this change we'd get a dictionary key exception somewhere later on.
Reviewed-by: Willem de Bruijn <willemb@google.com> Link: https://lore.kernel.org/r/20240425222341.309778-4-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
f1e68a1a | 20-Apr-2024 |
Jakub Kicinski <kuba@kernel.org> |
selftests: drv-net: add require_XYZ() helpers for validating env
Wrap typical checks like whether given command used by the test is available in helpers.
Reviewed-by: Willem de Bruijn <willemb@goog
selftests: drv-net: add require_XYZ() helpers for validating env
Wrap typical checks like whether given command used by the test is available in helpers.
Reviewed-by: Willem de Bruijn <willemb@google.com> Link: https://lore.kernel.org/r/20240420025237.3309296-8-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
31611cea | 20-Apr-2024 |
Jakub Kicinski <kuba@kernel.org> |
selftests: drv-net: add a TCP ping test case (and useful helpers)
More complex tests often have to spawn a background process, like a server which will respond to requests or tcpdump.
Add support f
selftests: drv-net: add a TCP ping test case (and useful helpers)
More complex tests often have to spawn a background process, like a server which will respond to requests or tcpdump.
Add support for creating such processes using the with keyword:
with bkg("my-daemon", ..): # my-daemon is alive in this block
My initial thought was to add this support to cmd() directly but it runs the command in the constructor, so by the time we __enter__ it's too late to make sure we used "background=True".
Second useful helper transplanted from net_helper.sh is wait_port_listen().
The test itself uses socat, which insists on v6 addresses being wrapped in [], it's not the only command which requires this format, so add the wrapped address to env. The hope is to save test code from checking if address is v6.
Reviewed-by: Willem de Bruijn <willemb@google.com> Link: https://lore.kernel.org/r/20240420025237.3309296-7-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
1880f272 | 20-Apr-2024 |
Jakub Kicinski <kuba@kernel.org> |
selftests: drv-net: construct environment for running tests which require an endpoint
Nothing surprising here, hopefully. Wrap the variables from the environment into a class or spawn a netdevsim ba
selftests: drv-net: construct environment for running tests which require an endpoint
Nothing surprising here, hopefully. Wrap the variables from the environment into a class or spawn a netdevsim based env and pass it to the tests.
Reviewed-by: Willem de Bruijn <willemb@google.com> Link: https://lore.kernel.org/r/20240420025237.3309296-4-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
54338929 | 20-Apr-2024 |
Jakub Kicinski <kuba@kernel.org> |
selftests: drv-net: factor out parsing of the env
The tests with a remote end will use a different class, for clarity, but will also need to parse the env. So factor parsing the env out to a functio
selftests: drv-net: factor out parsing of the env
The tests with a remote end will use a different class, for clarity, but will also need to parse the env. So factor parsing the env out to a function.
Reviewed-by: Willem de Bruijn <willemb@google.com> Link: https://lore.kernel.org/r/20240420025237.3309296-3-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|