mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 20:51:03 +02:00
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>
This commit is contained in:
committed by
Jakub Kicinski
parent
48993e22d2
commit
f3d07b02b2
@@ -527,6 +527,17 @@ class YnlFamily(SpecFamily):
|
||||
|
||||
self.handle_ntf(nl_msg, gm)
|
||||
|
||||
def operation_do_attributes(self, name):
|
||||
"""
|
||||
For a given operation name, find and return a supported
|
||||
set of attributes (as a dict).
|
||||
"""
|
||||
op = self.find_operation(name)
|
||||
if not op:
|
||||
return None
|
||||
|
||||
return op['do']['request']['attributes'].copy()
|
||||
|
||||
def _op(self, method, vals, dump=False):
|
||||
op = self.ops[method]
|
||||
|
||||
|
Reference in New Issue
Block a user