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


Reply via email to