summaryrefslogtreecommitdiff
path: root/tools/lib/python
diff options
context:
space:
mode:
authorMaxime Chevallier (Netdev Foundation) <maxime.chevallier@bootlin.com>2026-10-15 15:43:46 +0200
committerJakub Kicinski <kuba@kernel.org>2026-10-20 20:22:21 -0700
commitcbd8a536cd6d66d695deacd26d74557c020e3be0 (patch)
treeb48beaebfbff8e06e386715b8ab0227612ce7281 /tools/lib/python
parent4a929eba247b7cde87fa2a9cf6033301fdd2981a (diff)
selftests: drv-net: Introduce a selftest for ethtool flow control
Ethernet flow control is a tricky thing to get right, especially when it comes to correctly handling the negotiation of the parameters with a link partner. On one hand, the userspace API talks in terms of the device's ability to send Pause frames when the device is overwhelmed by ingress traffic (TX pause) and the ability to stop sending traffic upon receiving Pause frames (RX pause). On the other hand, 802.3 explains that devices can exchange their abilities over link negotiation, but instead of echanging TX and RX abilities, they exchange Pause and Asymmetric Pause capabilities : RX unable TX unable => None RX able TX unable => Pause + Asymmetric RX unable TX able => Asymmetric RX able TX able => Pause The reported Pause and Asym abilities depend both on the MAC, that eventually sends and processes these frames, and the PHY, that advertises these to the partner. Both MAC and PHYs can have their own limitations, and getting the correct set of supported Pause/Asym parameters is non-trivial, unless the MAC uses phylink, which deals with the complexity. Introduce a set of Pause selftests that verify that the local interface's supported pause parameters reported from ethtool (in terms of Pause + Asym ) match the accepted parameters from "ethtool -A", corresponding to ethtool's .set_pauseparams() ops, expressed in TX and RX abilities. Signed-off-by: Maxime Chevallier (Netdev Foundation) <maxime.chevallier@bootlin.com> Link: https://patch.msgid.link/20261015134350.629593-2-maxime.chevallier@bootlin.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools/lib/python')
0 files changed, 0 insertions, 0 deletions