| #
a57ddd89 |
| 18-Sep-2026 |
Ovidiu Panait <ovidiu.panait.rb@renesas.com> |
selftests: drv-net: Check the features set by set_ethtool_feat()
Read back the features after running ethtool -K to check if they were actually applied. The drivers might refuse to set a feature sil
selftests: drv-net: Check the features set by set_ethtool_feat()
Read back the features after running ethtool -K to check if they were actually applied. The drivers might refuse to set a feature silently and the test could run with a different configuration than the requested one.
Add a 'check' parameter to skip this, as the GRO "hw" mode handles the case where HW GRO is cleared by the driver.
Signed-off-by: Ovidiu Panait <ovidiu.panait.rb@renesas.com> Reviewed-by: Nicolai Buchwitz <nb@tipi-net.de> Link: https://patch.msgid.link/20260918112529.96039-3-ovidiu.panait.rb@renesas.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| #
d3630df4 |
| 18-Sep-2026 |
Ovidiu Panait <ovidiu.panait.rb@renesas.com> |
selftests: drv-net: Move _set_ethtool_feat() into lib
Move the _set_ethtool_feat() helper from gro_lib.py into lib, so that it can be reused by the VLAN test added in the next commit. Drop the leadi
selftests: drv-net: Move _set_ethtool_feat() into lib
Move the _set_ethtool_feat() helper from gro_lib.py into lib, so that it can be reused by the VLAN test added in the next commit. Drop the leading underscore, now that the helper is exported.
Signed-off-by: Ovidiu Panait <ovidiu.panait.rb@renesas.com> Reviewed-by: Nicolai Buchwitz <nb@tipi-net.de> Link: https://patch.msgid.link/20260918112529.96039-2-ovidiu.panait.rb@renesas.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| #
9a483b60 |
| 13-Sep-2026 |
Narcisa Vasile <narcisav.kernel@gmail.com> |
selftests: drv-net: add BIG TCP test cases
Add four new test cases that validate coalescing under increased size limits (BIG TCP):
big_tcp_data_same - validates that equal-sized segments coalesce
selftests: drv-net: add BIG TCP test cases
Add four new test cases that validate coalescing under increased size limits (BIG TCP):
big_tcp_data_same - validates that equal-sized segments coalesce past the legacy IP_MAXPACKET limit. big_tcp_data_lrg_sml - validates that a smaller final segment coalesces into the previous chain of large-sized segments while crossing the IP_MAXPACKET limit. big_tcp_tcp_seq - validates that a packet with a wrong sequence number doesn't coalesce. The test uses a sequence number for which the low 16 bits correspond to the correct sequence number to validate against truncation bugs, since total aggregate length crosses over the legacy size limit for BIG TCP. big_tcp_large_max - validates that coalescing stops at the configured BIG TCP limit.
Use a gro_flush_timeout value 2x higher for the BIG TCP test cases to prevent under-coalescing.
Signed-off-by: Narcisa Vasile <narcisav.kernel@gmail.com> Link: https://patch.msgid.link/20260913052419.77910-1-narcisav.kernel@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| #
348ea464 |
| 09-Sep-2026 |
Jakub Kicinski <kuba@kernel.org> |
selftests: net: add ctl_file_write() helper
Setting a sysctl or a sysfs attribute for the duration of a test and putting the old value back has been open coded multiple times.
We generally avoid cr
selftests: net: add ctl_file_write() helper
Setting a sysctl or a sysfs attribute for the duration of a test and putting the old value back has been open coded multiple times.
We generally avoid creating library helpers but this one is very common, and the defer is a little tricky as using the same function for defer as the initial write leads to an infinite loop (not that I would ever make such mistake!)
Some of the conversions are not identical, but arguably ctl_file_write() semantics are more correct.
Reviewed-by: Nimrod Oren <noren@nvidia.com> Reviewed-by: Bobby Eshleman <bobbyeshleman@meta.com> Link: https://patch.msgid.link/20260909180009.1894019-1-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|
| #
f225a731 |
| 01-Sep-2026 |
Jakub Kicinski <kuba@kernel.org> |
selftests: drv-net: split gro.py into one test per coalescing mode
gro.py runs its full set of cases three times over - against SW GRO, HW GRO and LRO. It's our test with the longest runtime. The 31
selftests: drv-net: split gro.py into one test per coalescing mode
gro.py runs its full set of cases three times over - against SW GRO, HW GRO and LRO. It's our test with the longest runtime. The 318 cases take 12m30s on mlx5 with a debug kernel.
Bumping the timeout for all tests feels wrong when we can so easily split the GRO test by execution mode. Shorter runtime also helps retry just the failing portion / mode (we retry failing tests to try to detect flakes vs real failures).
Move the main logic to gro_lib.py and add one program per mode - gro_sw.py, gro_hw.py and gro_lro.py, 102 cases each. Move PPPoE to a dedicated test. It has been tacked onto the tests in an ugly way, and it only runs against SW GRO anyway.
Note that unfortunately this will case a rename of all test cases. The mode moves from the case name to the test name
gro.py test.sw_ipv4_data_same
becomes
gro_sw.py test.ipv4_data_same
Reviewed-by: Joe Damato <joe@dama.to> Reviewed-by: Nimrod Oren <noren@nvidia.com> Reviewed-by: Willem de Bruijn <willemb@google.com> Link: https://patch.msgid.link/20260901200728.2063720-3-kuba@kernel.org Signed-off-by: Jakub Kicinski <kuba@kernel.org>
show more ...
|