Currently, there is no way of knowing how many lanes will be use to achieve a wanted speed. For example, 100G speed can be achieved using: 2X50 or 4X25.
In order to solve that, extend ethtool uAPI with lanes as a new link mode setting so the command below, for example, will be supported: $ ethtool -s swp5 lanes N Patch #1: Update headers with the new parameter. Patch #2: Support lanes in netlink. Patch #3: Expose the number of lanes in use. Patch #4: Add auto-completion for lanes. Patch #5: Add lanes to man page. v3: * Add a seperated patch, patch #1, for uapi headers and squash * the rest of it to patch #2. Danielle Ratson (5): update UAPI header copies netlink: settings: Add netlink support for lanes parameter netlink: settings: Expose the number of lanes in use shell-completion: Add completion for lanes man: Add man page for setting lanes parameter ethtool.8.in | 4 ++++ ethtool.c | 1 + netlink/desc-ethtool.c | 1 + netlink/settings.c | 13 +++++++++++++ shell-completion/bash/ethtool | 4 ++++ uapi/linux/ethtool.h | 2 +- uapi/linux/ethtool_netlink.h | 1 + uapi/linux/if_link.h | 10 ++++++++-- uapi/linux/netlink.h | 2 +- uapi/linux/rtnetlink.h | 20 +++++++++++++++----- 10 files changed, 49 insertions(+), 9 deletions(-) -- 2.26.2