|
Revision tags: v6.15, v6.15-rc7, v6.15-rc6, v6.15-rc5, v6.15-rc4, v6.15-rc3, v6.15-rc2, v6.15-rc1 |
|
| #
e514d773 |
| 27-Mar-2025 |
Jakub Kicinski <[email protected]> |
selftests: drv-net: replace the rpath helper with Path objects
The single letter + "path" helpers do not have many fans (see Link). Use a Path object with a better name. test_dir is the replacement
selftests: drv-net: replace the rpath helper with Path objects
The single letter + "path" helpers do not have many fans (see Link). Use a Path object with a better name. test_dir is the replacement for rpath(), net_lib_dir is a new path of the $ksft/net/lib directory.
The Path() class overloads the "/" operator and can be cast to string automatically, so to get a path to a file tests can do:
path = env.test_dir / "binary"
Link: https://lore.kernel.org/CA+FuTSemTNVZ5MxXkq8T9P=DYm=nSXcJnL7CJBPZNAT_9UFisQ@mail.gmail.com Reviewed-by: Willem de Bruijn <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
|
Revision tags: v6.14, v6.14-rc7, v6.14-rc6, v6.14-rc5 |
|
| #
185646a8 |
| 24-Feb-2025 |
Jakub Kicinski <[email protected]> |
selftests: drv-net: add tests for napi IRQ affinity notifiers
Add tests to check that the napi retained the IRQ after down/up, multiple changes in the number of rx queues and after attaching/releasi
selftests: drv-net: add tests for napi IRQ affinity notifiers
Add tests to check that the napi retained the IRQ after down/up, multiple changes in the number of rx queues and after attaching/releasing XDP program.
Tested on ice and idpf:
# NETIF=<iface> tools/testing/selftests/drivers/net/hw/irq.py KTAP version 1 1..4 ok 1 irq.check_irqs_reported ok 2 irq.check_reconfig_queues ok 3 irq.check_reconfig_xdp ok 4 irq.check_down # Totals: pass:4 fail:0 xfail:0 xpass:0 skip:0 error:0
Tested-by: Ahmed Zaki <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
|
Revision tags: v6.14-rc4 |
|
| #
de94e869 |
| 18-Feb-2025 |
Jakub Kicinski <[email protected]> |
selftests: drv-net: store addresses in dict indexed by ipver
Looks like more and more tests want to iterate over IP version, run the same test over ipv4 and ipv6. The current naming of members in th
selftests: drv-net: store addresses in dict indexed by ipver
Looks like more and more tests want to iterate over IP version, run the same test over ipv4 and ipv6. The current naming of members in the env class makes it a bit awkward, we have separate members for ipv4 and ipv6 parameters.
Store the parameters inside dicts, so that tests can easily index them with ip version.
Reviewed-by: Willem de Bruijn <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
| #
2aefca8e |
| 18-Feb-2025 |
Jakub Kicinski <[email protected]> |
selftests: drv-net: get detailed interface info
We already record output of ip link for NETIF in env for easy access. Record the detailed version. TSO test will want to know the max tso size.
Revie
selftests: drv-net: get detailed interface info
We already record output of ip link for NETIF in env for easy access. Record the detailed version. TSO test will want to know the max tso size.
Reviewed-by: Willem de Bruijn <[email protected]> Reviewed-by: Petr Machata <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
| #
2217bcb4 |
| 18-Feb-2025 |
Jakub Kicinski <[email protected]> |
selftests: drv-net: resolve remote interface name
Find out and record in env the name of the interface which remote host will use for the IP address provided via config.
Interface name is useful fo
selftests: drv-net: resolve remote interface name
Find out and record in env the name of the interface which remote host will use for the IP address provided via config.
Interface name is useful for mausezahn and for setting up tunnels.
Reviewed-by: Willem de Bruijn <[email protected]> Reviewed-by: Petr Machata <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
|
Revision tags: v6.14-rc3, v6.14-rc2 |
|
| #
3337064f |
| 07-Feb-2025 |
Jakub Kicinski <[email protected]> |
selftests: drv-net: add helper for path resolution
Refering to C binaries from Python code is going to be a common need. Add a helper to convert from path in relation to the test. Meaning, if the te
selftests: drv-net: add helper for path resolution
Refering to C binaries from Python code is going to be a common need. Add a helper to convert from path in relation to the test. Meaning, if the test is in the same directory as the binary, the call would be simply: cfg.rpath("binary").
The helper name "rpath" is not great. I can't think of a better name that would be accurate yet concise.
Reviewed-by: Petr Machata <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
| #
29604bc2 |
| 07-Feb-2025 |
Jakub Kicinski <[email protected]> |
selftests: drv-net: factor out a DrvEnv base class
We have separate Env classes for local tests and tests with a remote endpoint. Make it easier to share the code by creating a base class. Make env
selftests: drv-net: factor out a DrvEnv base class
We have separate Env classes for local tests and tests with a remote endpoint. Make it easier to share the code by creating a base class. Make env loading a method of this class.
Reviewed-by: Petr Machata <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
|
Revision tags: v6.14-rc1, v6.13, v6.13-rc7 |
|
| #
31eae6d9 |
| 07-Jan-2025 |
Jakub Kicinski <[email protected]> |
selftests: drv-net: test drivers sleeping in ndo_get_stats64
Most of our tests use rtnetlink to read device stats, so they don't expose the drivers much to paths in which device stats are read under
selftests: drv-net: test drivers sleeping in ndo_get_stats64
Most of our tests use rtnetlink to read device stats, so they don't expose the drivers much to paths in which device stats are read under RCU. Add tests which hammer profcs reads to make sure drivers: - don't sleep while reporting stats, - can handle parallel reads, - can handle device going down while reading.
Set ifname on the env class in NetDrvEnv, we already do that in NetDrvEpEnv.
KTAP version 1 1..7 ok 1 stats.check_pause ok 2 stats.check_fec ok 3 stats.pkt_byte_sum ok 4 stats.qstat_by_ifindex ok 5 stats.check_down ok 6 stats.procfs_hammer # completed up/down cycles: 6 ok 7 stats.procfs_downup_hammer # Totals: pass:7 fail:0 xfail:0 xpass:0 skip:0 error:0
Reviewed-by: Petr Machata <[email protected]> Reviewed-by: Willem de Bruijn <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
|
Revision tags: v6.13-rc6, v6.13-rc5, v6.13-rc4 |
|
| #
f288c7a1 |
| 20-Dec-2024 |
Jakub Kicinski <[email protected]> |
selftests: drv-net: assume stats refresh is 0 if no ethtool -c support
Tests using HW stats wait for them to stabilize, using data from ethtool -c as the delay. Not all drivers implement ethtool -c
selftests: drv-net: assume stats refresh is 0 if no ethtool -c support
Tests using HW stats wait for them to stabilize, using data from ethtool -c as the delay. Not all drivers implement ethtool -c so handle the errors gracefully.
Reviewed-by: Andrew Lunn <[email protected]> Reviewed-by: Willem de Bruijn <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
|
Revision tags: v6.13-rc3, v6.13-rc2, v6.13-rc1, v6.12, v6.12-rc7, v6.12-rc6, v6.12-rc5, v6.12-rc4, v6.12-rc3, v6.12-rc2, v6.12-rc1, v6.11, v6.11-rc7, v6.11-rc6, v6.11-rc5, v6.11-rc4, v6.11-rc3, v6.11-rc2 |
|
| #
f8793068 |
| 02-Aug-2024 |
Stanislav Fomichev <[email protected]> |
selftests: net: ksft: support marking tests as disruptive
Add new @ksft_disruptive decorator to mark the tests that might be disruptive to the system. Depending on how well the previous test works i
selftests: net: ksft: support marking tests as disruptive
Add new @ksft_disruptive decorator to mark the tests that might be disruptive to the system. Depending on how well the previous test works in the CI we might want to disable disruptive tests by default and only let the developers run them manually.
KSFT framework runs disruptive tests by default. DISRUPTIVE=False environment (or config file) can be used to disable these tests. ksft_setup should be called by the test cases that want to use new decorator (ksft_setup is only called via NetDrvEnv/NetDrvEpEnv for now).
In the future we can add similar decorators to, for example, avoid running slow tests all the time. And/or have some option to run only 'fast' tests for some sort of smoke test scenario.
$ DISRUPTIVE=False ./stats.py KTAP version 1 1..5 ok 1 stats.check_pause ok 2 stats.check_fec ok 3 stats.pkt_byte_sum ok 4 stats.qstat_by_ifindex ok 5 stats.check_down # SKIP marked as disruptive # Totals: pass:4 fail:0 xfail:0 xpass:0 skip:1 error:0
v3: - parse yes and properly treat non-zero nums as true (Petr)
v2: - convert from cli argument to env variable (Jakub)
Signed-off-by: Stanislav Fomichev <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
|
Revision tags: v6.11-rc1, v6.10, v6.10-rc7, v6.10-rc6 |
|
| #
af8e5164 |
| 26-Jun-2024 |
Jakub Kicinski <[email protected]> |
selftests: drv-net: add helper to wait for HW stats to sync
Some devices DMA stats to the host periodically. Add a helper which can wait for that to happen, based on frequency reported by the driver
selftests: drv-net: add helper to wait for HW stats to sync
Some devices DMA stats to the host periodically. Add a helper which can wait for that to happen, based on frequency reported by the driver in ethtool.
Reviewed-by: Petr Machata <[email protected]> Reviewed-by: Willem de Bruijn <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
|
Revision tags: v6.10-rc5, v6.10-rc4, v6.10-rc3, v6.10-rc2, v6.10-rc1, v6.9 |
|
| #
1cf27042 |
| 07-May-2024 |
David Wei <[email protected]> |
net: selftest: add test for netdev netlink queue-get API
Add a selftest for netdev generic netlink. For now there is only a single test that exercises the `queue-get` API.
The test works with netde
net: selftest: add test for netdev netlink queue-get API
Add a selftest for netdev generic netlink. For now there is only a single test that exercises the `queue-get` API.
The test works with netdevsim by default or with a real device by setting NETIF.
Add a timeout param to cmd() since ethtool -L can take a long time on real devices.
Signed-off-by: David Wei <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
|
Revision tags: v6.9-rc7 |
|
| #
ff4b2bfa |
| 29-Apr-2024 |
Jakub Kicinski <[email protected]> |
selftests: drv-net-hw: support using Python from net hw tests
We created a separate directory for HW-only tests, recently. Glue in the Python test library there, Python is a bit annoying when it com
selftests: drv-net-hw: support using Python from net hw tests
We created a separate directory for HW-only tests, recently. Glue in the Python test library there, Python is a bit annoying when it comes to using library code located "lower" in the directory structure.
Reuse the Env class, but let tests require non-nsim setup.
Reviewed-by: Willem de Bruijn <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
|
Revision tags: v6.9-rc6 |
|
| #
340ab206 |
| 25-Apr-2024 |
Jakub Kicinski <[email protected]> |
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 <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
| #
64ed7d81 |
| 25-Apr-2024 |
Jakub Kicinski <[email protected]> |
selftests: drv-net: reimplement the config parser
The shell lexer is not helping much, do very basic parsing manually.
Reviewed-by: Willem de Bruijn <[email protected]> Link: https://lore.kernel.o
selftests: drv-net: reimplement the config parser
The shell lexer is not helping much, do very basic parsing manually.
Reviewed-by: Willem de Bruijn <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
|
Revision tags: v6.9-rc5 |
|
| #
f1e68a1a |
| 20-Apr-2024 |
Jakub Kicinski <[email protected]> |
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 <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
| #
31611cea |
| 20-Apr-2024 |
Jakub Kicinski <[email protected]> |
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 <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
| #
1880f272 |
| 20-Apr-2024 |
Jakub Kicinski <[email protected]> |
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 <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
| #
54338929 |
| 20-Apr-2024 |
Jakub Kicinski <[email protected]> |
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 <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
show more ...
|
|
Revision tags: v6.9-rc4, v6.9-rc3 |
|
| #
b4db9f84 |
| 05-Apr-2024 |
Jakub Kicinski <[email protected]> |
selftests: drivers: add scaffolding for Netlink tests in Python
Add drivers/net as a target for mixed-use tests. The setup is expected to work similarly to the forwarding tests. Since we only need o
selftests: drivers: add scaffolding for Netlink tests in Python
Add drivers/net as a target for mixed-use tests. The setup is expected to work similarly to the forwarding tests. Since we only need one interface (unlike forwarding tests) read the target device name from NETIF. If not present we'll try to run the test against netdevsim.
Reviewed-by: Petr Machata <[email protected]> Signed-off-by: Jakub Kicinski <[email protected]> Signed-off-by: David S. Miller <[email protected]>
show more ...
|