net: bridge: vlan: add basic option setting support
authorNikolay Aleksandrov <nikolay@cumulusnetworks.com>
Fri, 24 Jan 2020 11:40:21 +0000 (13:40 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 24 Jan 2020 11:58:14 +0000 (12:58 +0100)
commita5d29ae226812ae620f58a0726525d8af9b1d751
tree2f5e080c49157bfaefb7686845d2fddd6a9940ae
parent7a53e718c551752924416b33235bf338729b5115
net: bridge: vlan: add basic option setting support

This patch adds support for option modification of single vlans and
ranges. It allows to only modify options, i.e. skip create/delete by
using the BRIDGE_VLAN_INFO_ONLY_OPTS flag. When working with a range
option changes we try to pack the notifications as much as possible.

v2: do full port (all vlans) notification only when creating/deleting
    vlans for compatibility, rework the range detection when changing
    options, add more verbose extack errors and check if a vlan should
    be used (br_vlan_should_use checks)

Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/if_bridge.h
net/bridge/br_private.h
net/bridge/br_vlan.c
net/bridge/br_vlan_options.c