]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commit
ethtool: support for netlink notifications
authorMichal Kubecek <mkubecek@suse.cz>
Fri, 27 Dec 2019 14:55:33 +0000 (15:55 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sat, 28 Dec 2019 00:40:01 +0000 (16:40 -0800)
commit6b08d6c146f4c5ed451c45339c10feb06d619db2
tree2f099ccbbdc46d00bd8b462279b410afa9d0b5ae
parent10b518d4e6dd5390e40f7d8de0f08753c1195a7e
ethtool: support for netlink notifications

Add infrastructure for ethtool netlink notifications. There is only one
multicast group "monitor" which is used to notify userspace about changes
and actions performed. Notification messages (types using suffix _NTF)
share the format with replies to GET requests.

Notifications are supposed to be broadcasted on every configuration change,
whether it is done using the netlink interface or ioctl one. Netlink SET
requests only trigger a notification if some data is actually changed.

To trigger an ethtool notification, both ethtool netlink and external code
use ethtool_notify() helper. This helper requires RTNL to be held and may
sleep. Handlers sending messages for specific notification message types
are registered in ethnl_notify_handlers array. As notifications can be
triggered from other code, ethnl_ok flag is used to prevent an attempt to
send notification before genetlink family is registered.

Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/ethtool_netlink.h
include/linux/netdevice.h
include/uapi/linux/ethtool_netlink.h
net/ethtool/netlink.c