linux-stable/tools/net/ynl
Stanislav Fomichev f3d07b02b2 tools: ynl: ethtool testing tool
This is what I've been using to see whether the spec makes sense.
A small subset of getters (mostly the unprivileged ones) is implemented.
Some setters (channels) also work.
Setters for messages with bitmasks are not implemented.

Initially I was trying to make this tool look 1:1 like real ethtool,
but eventually gave up :-)

Sample output:

$ ./tools/net/ynl/ethtool enp0s31f6
Settings for enp0s31f6:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half
100baseT/Full 1000baseT/Full
Supported pause frame use: no
Supports auto-negotiation: yes
Supported FEC modes: Not reported
Speed: Unknown!
Duplex: Unknown! (255)
Auto-negotiation: on
Port: Twisted Pair
PHYAD: 2
Transceiver: Internal
MDI-X: Unknown (auto)
Current message level: drv probe link
Link detected: no

Signed-off-by: Stanislav Fomichev <sdf@google.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2023-03-30 23:29:57 -07:00
..
lib tools: ynl: ethtool testing tool 2023-03-30 23:29:57 -07:00
cli.py ynl: re-license uniformly under GPL-2.0 OR BSD-3-Clause 2023-03-07 13:44:30 -08:00
ethtool tools: ynl: ethtool testing tool 2023-03-30 23:29:57 -07:00
requirements.txt tools: ynl: add the Python requirements.txt file 2023-03-24 19:11:02 -07:00
ynl-gen-c.py tools: ynl: default to treating enums as flags for mask generation 2023-03-27 08:56:04 +01:00
ynl-regen.sh ynl: re-license uniformly under GPL-2.0 OR BSD-3-Clause 2023-03-07 13:44:30 -08:00