[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1508428499-32355-1-git-send-email-nikolay@cumulusnetworks.com>
Date: Thu, 19 Oct 2017 18:54:57 +0300
From: Nikolay Aleksandrov <nikolay@...ulusnetworks.com>
To: netdev@...r.kernel.org
Cc: roopa@...ulusnetworks.com, dsa@...ulusnetworks.com,
mrv@...atatu.com, stephen@...workplumber.org,
bridge@...ts.linux-foundation.org,
Nikolay Aleksandrov <nikolay@...ulusnetworks.com>
Subject: [PATCH net-next 0/2] bridge: make setlink/dellink notifications more accurate
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(-)
--
2.1.4
Powered by blists - more mailing lists