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(-)
--
2.50.0