bridge: netlink: make setlink/dellink notifications more accurate
authorNikolay Aleksandrov <nikolay@cumulusnetworks.com>
Fri, 27 Oct 2017 10:19:36 +0000 (13:19 +0300)
committerDavid S. Miller <davem@davemloft.net>
Sun, 29 Oct 2017 02:03:43 +0000 (11:03 +0900)
commite19b42a1a0669ed5b8009930c5269a5a87cc363c
tree11cc4d5dbba9a0977773ab624a2a4f0ddb4b9035
parent5b52a4c3acf5f4b4854d1c3ddc8be8770330a79c
bridge: netlink: make setlink/dellink notifications more accurate

Before this patch we had cases that either sent notifications when there
were in fact no changes (e.g. non-existent vlan delete) or didn't send
notifications when there were changes (e.g. vlan add range with an error in
the middle, port flags change + vlan update error). This patch sends down
a boolean to the functions setlink/dellink use and if there is even a
single configuration change (port flag, vlan add/del, port state) then
we always send a notification. This is all done to keep backwards
compatibility with the opportunistic vlan delete, where one could
specify a vlan range that has missing vlans inside and still everything
in that range will be cleared, this is mostly used to clear the whole
vlan config with a single call, i.e. range 1-4094.

Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_netlink.c
net/bridge/br_netlink_tunnel.c
net/bridge/br_private_tunnel.h