Add support for reading flow hash configuration via Netlink ethtool.
$ ynl --family ethtool --dump rss-get [{ "header": { "dev-index": 1, "dev-name": "enp1s0" }, "hfunc": 1, "hkey": b"...", "indir": [0, 1, ...], "flow-hash": { "ether": {"l2da"}, "ah-esp4": {"ip-src", "ip-dst"}, "ah-esp6": {"ip-src", "ip-dst"}, "ah4": {"ip-src", "ip-dst"}, "ah6": {"ip-src", "ip-dst"}, "esp4": {"ip-src", "ip-dst"}, "esp6": {"ip-src", "ip-dst"}, "ip4": {"ip-src", "ip-dst"}, "ip6": {"ip-src", "ip-dst"}, "sctp4": {"ip-src", "ip-dst"}, "sctp6": {"ip-src", "ip-dst"}, "udp4": {"ip-src", "ip-dst"}, "udp6": {"ip-src", "ip-dst"} "tcp4": {"l4-b-0-1", "l4-b-2-3", "ip-src", "ip-dst"}, "tcp6": {"l4-b-0-1", "l4-b-2-3", "ip-src", "ip-dst"}, }, }]
Jakub Kicinski (5): ethtool: rss: make sure dump takes the rss lock tools: ynl: decode enums in auto-ints ethtool: mark ETHER_FLOW as usable for Rx hash ethtool: rss: report which fields are configured for hashing selftests: drv-net: test RSS header field configuration
Documentation/netlink/specs/ethtool.yaml | 151 ++++++++++++++++++ Documentation/networking/ethtool-netlink.rst | 9 +- include/uapi/linux/ethtool.h | 4 +- .../uapi/linux/ethtool_netlink_generated.h | 34 ++++ net/ethtool/ioctl.c | 7 +- net/ethtool/rss.c | 145 +++++++++++++---- tools/net/ynl/pyynl/lib/ynl.py | 2 + .../selftests/drivers/net/hw/rss_api.py | 47 ++++++ 8 files changed, 364 insertions(+), 35 deletions(-)