❦ 21 septembre 2017 08:15 -0700, Stephen Hemminger <step...@networkplumber.org> :
>> Currently, there is a difference in netlink events received when an >> interface is modified through bridge ioctl() or through netlink. This >> patch generates additional events when an interface is added to or >> removed from a bridge via ioctl(). >> >> When adding then removing an interface from a bridge with netlink, we >> get: >> >> 5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue master >> bridge0 state UNKNOWN group default >> link/ether 9e:da:60:ee:cf:c8 brd ff:ff:ff:ff:ff:ff >> 5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 master bridge0 state >> UNKNOWN >> link/ether 9e:da:60:ee:cf:c8 >> 5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 master bridge0 state >> UNKNOWN >> link/ether 9e:da:60:ee:cf:c8 >> 5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 master bridge0 state >> UNKNOWN >> link/ether 9e:da:60:ee:cf:c8 >> 5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 master bridge0 state >> UNKNOWN >> link/ether 9e:da:60:ee:cf:c8 >> 5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue master >> bridge0 state UNKNOWN group default >> link/ether 9e:da:60:ee:cf:c8 brd ff:ff:ff:ff:ff:ff >> >> 5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue master >> bridge0 state UNKNOWN group default >> link/ether 9e:da:60:ee:cf:c8 brd ff:ff:ff:ff:ff:ff >> 5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 master bridge0 state >> UNKNOWN >> link/ether 9e:da:60:ee:cf:c8 >> Deleted 5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 master bridge0 >> state UNKNOWN >> link/ether 9e:da:60:ee:cf:c8 >> 5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state >> UNKNOWN group default >> link/ether 9e:da:60:ee:cf:c8 brd ff:ff:ff:ff:ff:ff >> >> When using ioctl(): >> >> 5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue master >> bridge0 state UNKNOWN group default >> link/ether 9e:da:60:ee:cf:c8 brd ff:ff:ff:ff:ff:ff >> 5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 master bridge0 state >> UNKNOWN >> link/ether 9e:da:60:ee:cf:c8 >> 5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 master bridge0 state >> UNKNOWN >> link/ether 9e:da:60:ee:cf:c8 >> 5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 master bridge0 state >> UNKNOWN >> link/ether 9e:da:60:ee:cf:c8 >> 5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue master >> bridge0 state UNKNOWN group default >> link/ether 9e:da:60:ee:cf:c8 brd ff:ff:ff:ff:ff:ff >> >> 5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue master >> bridge0 state UNKNOWN group default >> link/ether 9e:da:60:ee:cf:c8 brd ff:ff:ff:ff:ff:ff >> 5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 master bridge0 state >> UNKNOWN >> link/ether 9e:da:60:ee:cf:c8 >> Deleted 5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 master bridge0 >> state UNKNOWN >> link/ether 9e:da:60:ee:cf:c8 >> 5: dummy1: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state >> UNKNOWN group default >> link/ether 9e:da:60:ee:cf:c8 brd ff:ff:ff:ff:ff:ff >> >> Without this patch, the last netlink notification is not sent. >> >> Signed-off-by: Vincent Bernat <vinc...@bernat.im> > > This makes sense, you should probably add a Fixes: tag to help maintainers > of long term stable kernels. > > Reviewed-by: Stephen Hemminger <step...@networkplumber.org> I wouldn't know which commit would be fixed since this is not a regression, just a behavior difference. -- Make sure special cases are truly special. - The Elements of Programming Style (Kernighan & Plauger)