Thread (9 messages) 9 messages, 4 authors, 17h ago

[PATCH net-next v3 0/3] selftests: drv-net: Introduce flow-control selftest

flat view
HOTtoday IN NET-NEXT

From: "Maxime Chevallier (Netdev Foundation)" <maxime.chevallier@bootlin.com>
Date: 2026-10-15 13:44:08
Also in: linux-doc, lkml

Revision v3 of 3 in this series; queued in net-next as 78974bac98eb on 2026-10-21.

Revisions (3)
  1. v1 [diff vs current]
  2. v2 [diff vs current]
  3. v3 current
Hi everyone,

This is V3 for the ethtool flow control test.

This test aims at validating the flow control implementation in drivers,
using the ethtool API.

The test can run in various conditions :

DUT <-----> Anything that has link up (not controllable)
DUT <-----> A directly connected device

It enumerates the local and remote device's capabilities, to test as
much as possibly testable. I've run it on 17 different boards connected
to other boards through various means : Usb to Eth dongles, direct
connection to the board, connection through a switch. Some of the ports
tested were user ports of DSA switches too.

Contrary to V2, on V3 we really only have a collection of actual
failures that show during tests, as one of the peer's I'm running these
on has a v6.18 kernel that pre-dates the realtek phylink port and show
actual bugs in the driver.

Thanks to the Netdev Foundation for funding this work :)

Maxime

Changes in V3:
 - Use Jakub's loop on carrier state when waiting for the interface to
   be up
 - Following discussions with Andrew, we now detect the link partner
   using ethtool -r to trigger an autoneg, instead of assuming the link
   will drop when the interface is brought down
 - Numerous typo fixes and comment reworks
 - wait_for_link and wait_for_aneg have been reworked
 - We no longer expect that pause advertising is empty when pause
   autoneg is off, as documented in uAPI.

Changes in V2:
V2: https://lore.kernel.org/r/20260925182628.214667-1-maxime.chevallier@bootlin.com (local)
 - Don't add stuff to the lib
 - Fix most pylink errors (module's too long for pylint ...)
 - Ditch the fail=False from the defer()
 - Remove duplicate patches
 - Clean the comments
 - Drop the return type annotations, most were wrong...

V1 : https://lore.kernel.org/netdev/20260920164732.349744-1-maxime.chevallier@bootlin.com/ (local)

Maxime Chevallier (Netdev Foundation) (3):
  selftests: drv-net: Introduce a selftest for ethtool flow control
  selftests: drv-net: pause: Validate the pause autonegotiation with a
    partner
  selftests: drv-net: pause: Validate pause autoneg interactions with
    link autoneg

 .../testing/selftests/drivers/net/hw/Makefile |   1 +
 .../testing/selftests/drivers/net/hw/pause.py | 944 ++++++++++++++++++
 2 files changed, 945 insertions(+)
 create mode 100755 tools/testing/selftests/drivers/net/hw/pause.py

-- 
2.55.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help