Hi! This series wires up ethtool policies to ops, so they can be dumped to user space for feature discovery.
First two patches wire up GET, third patch wires up SET. Next - take care of linking up nested policies for the header (which is what we actually care about right now). And once header policy is linked make sure that attribute range validation is done by policy, not code conditions for flags. New type of policy is needed to validate masks (patch 5). Netlink as always staying a step ahead of all the other kernel API interfaces :) Jakub Kicinski (6): ethtool: wire up get policies to ops ethtool: use the attributes parsed by the core in get commands ethtool: wire up set policies to ops ethtool: link up ethnl_header_policy as a nested policy netlink: add mask validation ethtool: specify which header flags are supported per command include/net/netlink.h | 11 ++++ include/uapi/linux/netlink.h | 2 + lib/nlattr.c | 36 ++++++++++ net/ethtool/cabletest.c | 30 +++------ net/ethtool/channels.c | 22 +++---- net/ethtool/coalesce.c | 22 +++---- net/ethtool/debug.c | 20 ++---- net/ethtool/eee.c | 21 +++--- net/ethtool/features.c | 22 +++---- net/ethtool/linkinfo.c | 22 +++---- net/ethtool/linkmodes.c | 22 +++---- net/ethtool/linkstate.c | 8 +-- net/ethtool/netlink.c | 123 +++++++++++++++++++++++++---------- net/ethtool/netlink.h | 33 +++++++++- net/ethtool/pause.c | 19 ++---- net/ethtool/privflags.c | 22 +++---- net/ethtool/rings.c | 20 ++---- net/ethtool/strset.c | 6 +- net/ethtool/tsinfo.c | 7 +- net/ethtool/tunnels.c | 42 +++++------- net/ethtool/wol.c | 19 ++---- net/netlink/policy.c | 8 +++ 22 files changed, 303 insertions(+), 234 deletions(-) -- 2.26.2