[Bridge] [PATCH net-next 0/2] bridge: make setlink/dellink notifications more accurate
Nikolay Aleksandrov
nikolay at cumulusnetworks.com
Thu Oct 19 16:10:11 UTC 2017
On 19/10/17 18:54, Nikolay Aleksandrov wrote:
> Hi,
> Before this set the bridge would generate a notification on vlan add or del
> even if they didn't actually do any changes, which confuses listeners and
> is generally not preferred. We could also lose notifications on actual
> changes if one adds a range of vlans and there's an error in the middle.
> The problem with just breaking and returning an error is that we could
> break existing user-space scripts which rely on the vlan delete to clear
> all existing entries in the specified range and ignore the non-existing
> errors (typically used to clear the current vlan config).
> So in order to make the notifications more accurate while keeping backwards
> compatibility we add a boolean that tracks if anything actually changed
> during the config calls.
>
> The vlan add is more difficult to fix because it always returns 0 even if
> nothing changed, so we use EEXIST to signal that and in order not to break
> overlapping vlan range add or script return expectations we clear it on
> return, the functions used by vlan add are not expected to return EEXIST.
>
> Thanks,
> Nik
>
> Nikolay Aleksandrov (2):
> bridge: netlink: make setlink/dellink notifications more accurate
> bridge: vlan: return EEXIST on add if nothing changed
>
> net/bridge/br_netlink.c | 49 ++++++++++++++++++++++++++----------------
> net/bridge/br_netlink_tunnel.c | 14 +++++++-----
> net/bridge/br_private_tunnel.h | 3 ++-
> net/bridge/br_vlan.c | 38 +++++++++++++++++++++-----------
> 4 files changed, 68 insertions(+), 36 deletions(-)
>
Self-NAK
Dave, please ignore this set and apologies for the noise.
I'd actually prefer to send "changed" down to vlan_add and vlan_del
to be set there instead of overloading EEXIST like that. It will be safer.
I'll wait for some comments about the rest of the change and will send
a v2.
Thanks,
Nik
More information about the Bridge
mailing list