OSDN Git Service

tools: ynl: ethtool testing tool
authorStanislav Fomichev <sdf@google.com>
Wed, 29 Mar 2023 22:16:55 +0000 (15:16 -0700)
committerJakub Kicinski <kuba@kernel.org>
Fri, 31 Mar 2023 06:29:57 +0000 (23:29 -0700)
commitf3d07b02b2b8eba5b0e168405614e15cd6617a43
tree36f9bc892d5c61025457cd0bfe68d80c3f2ef464
parent48993e22d23ae1bda1db3616f5d9baa4e7b18d35
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>
tools/net/ynl/ethtool [new file with mode: 0755]
tools/net/ynl/lib/nlspec.py
tools/net/ynl/lib/ynl.py