[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201001225933.1373426-1-kuba@kernel.org>
Date: Thu, 1 Oct 2020 15:59:23 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: davem@...emloft.net
Cc: netdev@...r.kernel.org, andrew@...n.ch, johannes@...solutions.net,
jiri@...nulli.us, mkubecek@...e.cz, dsahern@...nel.org,
pablo@...filter.org, Jakub Kicinski <kuba@...nel.org>
Subject: [PATCH net-next v2 00/10] genetlink: support per-command policy dump
Hi!
The objective of this series is to dump ethtool policies
to be able to tell which flags are supported by the kernel.
Current release adds ETHTOOL_FLAG_STATS for dumping extra
stats, but because of strict checking we need to make sure
that the flag is actually supported before setting it in
a request.
Ethtool policies are per command, and so far only dumping
family policies was supported.
The series adds new set of "light" ops to genl families which
don't have all the callbacks, and won't have the policy.
Most of families are then moved to these ops. This gives
us 4096B in savings on an allyesconfig build (not counting
the growth that would have happened when policy is added):
text data bss dec hex
244415581 227958581 78372980 550747142 20d3bc06
244415581 227962677 78372980 550751238 20d3cc06
Next 6 patches deal the dumping per-op policy.
v2:
- remove the stale comment in taskstats
- split patch 8 -> 8, 9
- now the getfamily policy is also in the op
- make cmd u32
v1:
- replace remaining uses of "light" with "small"
- fix dump (ops can't be on the stack there)
- coding changes in patch 4
- new patch 7
- don't echo op in responses - to make dump all easier
Dave - this series will cause a very trivial conflict with
the patch I sent to net. Both sides add some kdoc to struct
genl_ops so we'll need to keep it all. I'm sending this
already because I also need to restructure ethool policies
in time for 5.10 if we want to use it for the stats flag.
Jakub Kicinski (10):
genetlink: reorg struct genl_family
genetlink: add small version of ops
genetlink: move to smaller ops wherever possible
genetlink: add a structure for dump state
genetlink: use .start callback for dumppolicy
genetlink: bring back per op policy
taskstats: move specifying netlink policy back to ops
genetlink: use parsed attrs in dumppolicy
genetlink: switch control commands to per-op policies
genetlink: allow dumping command-specific policy
drivers/block/nbd.c | 6 +-
drivers/net/gtp.c | 6 +-
drivers/net/ieee802154/mac802154_hwsim.c | 6 +-
drivers/net/macsec.c | 6 +-
drivers/net/team/team.c | 6 +-
drivers/net/wireless/mac80211_hwsim.c | 6 +-
drivers/target/target_core_user.c | 6 +-
drivers/thermal/thermal_netlink.c | 8 +-
fs/dlm/netlink.c | 6 +-
include/net/genetlink.h | 67 +++++--
include/net/netlink.h | 9 +-
include/uapi/linux/genetlink.h | 1 +
kernel/taskstats.c | 40 +---
net/batman-adv/netlink.c | 6 +-
net/core/devlink.c | 6 +-
net/core/drop_monitor.c | 6 +-
net/hsr/hsr_netlink.c | 6 +-
net/ieee802154/netlink.c | 6 +-
net/ipv4/fou.c | 6 +-
net/ipv4/tcp_metrics.c | 6 +-
net/l2tp/l2tp_netlink.c | 6 +-
net/mptcp/pm_netlink.c | 6 +-
net/ncsi/ncsi-netlink.c | 6 +-
net/netfilter/ipvs/ip_vs_ctl.c | 6 +-
net/netlabel/netlabel_calipso.c | 6 +-
net/netlabel/netlabel_cipso_v4.c | 6 +-
net/netlabel/netlabel_mgmt.c | 6 +-
net/netlabel/netlabel_unlabeled.c | 6 +-
net/netlink/genetlink.c | 234 ++++++++++++++++-------
net/netlink/policy.c | 29 +--
net/openvswitch/conntrack.c | 6 +-
net/openvswitch/datapath.c | 24 +--
net/openvswitch/meter.c | 6 +-
net/psample/psample.c | 6 +-
net/tipc/netlink_compat.c | 6 +-
net/wimax/stack.c | 6 +-
net/wireless/nl80211.c | 5 +
37 files changed, 346 insertions(+), 239 deletions(-)
--
2.26.2
Powered by blists - more mailing lists