On 5/25/17 9:31 AM, Vladislav Yasevich wrote: > @@ -911,4 +912,14 @@ enum { > > #define IFLA_XDP_MAX (__IFLA_XDP_MAX - 1) > > +enum { > + IFLA_EVENT_UNSPEC, > + IFLA_EVENT_REBOOT, > + IFLA_EVENT_FEAT_CHANGE, > + IFLA_EVENT_BONDING_FAILOVER, > + IFLA_EVENT_NOTIFY_PEERS, > + IFLA_EVENT_RESEND_IGMP, > + IFLA_EVENT_CHANGE_INFO_DATA, > +}; > + > #endif /* _UAPI_LINUX_IF_LINK_H */
I agree these are unique events that userspace might care about. I'd prefer better names for the userspace api for a couple of those along with a description in the header file so userspace knows why the event was generated. How about something like this: enum { IFLA_EVENT_NONE, IFLA_EVENT_REBOOT, /* internal reset / reboot */ IFLA_EVENT_FEATURES, /* change in offload features */ IFLA_EVENT_BONDING_FAILOVER, /* change in active slave */ IFLA_EVENT_NOTIFY_PEERS, /* re-sent grat. arp/ndisc */ IFLA_EVENT_IGMP_RESEND, /* re-sent IGMP JOIN */ IFLA_EVENT_BONDING_OPTIONS, /* change in bonding options */ }; Also, generically the IFLA_EVENT attribute should be considered independent of NETDEV_ events. For example, userspace should be notified if the speed / duplex for a device changes, so we could have another one of these -- e.g., IFLA_EVENT_SPEED -- that does not correlate to NETDEV_SPEED since nothing internal to the network stack cares about speed changes, or perhaps more generically it is IFLA_EVENT_LINK_SETTING. The rest of the patch looks ok to me.