Hi, This set adds the first per-vlan option - state, which uses the new vlan infrastructure that was recently added. It gives us forwarding control on per-vlan basis. The first 3 patches prepare the vlan code to support option dumping and modification. We still compress vlan ranges which have equal options, each new option will have to add its own equality check to br_vlan_opts_eq(). The vlans are created in forwarding state by default to be backwards compatible and vlan state is considered only when the port state is forwarding (more info in patch 4). I'll send the selftest for the vlan state with the iproute2 patch-set. Thanks, Nik Nikolay Aleksandrov (4): net: bridge: check port state before br_allowed_egress net: bridge: vlan: add basic option dumping support net: bridge: vlan: add basic option setting support net: bridge: vlan: add per-vlan state include/uapi/linux/if_bridge.h | 2 + net/bridge/Makefile | 2 +- net/bridge/br_device.c | 3 +- net/bridge/br_forward.c | 2 +- net/bridge/br_input.c | 7 +- net/bridge/br_private.h | 58 +++++++++++++- net/bridge/br_vlan.c | 99 ++++++++++++++++++----- net/bridge/br_vlan_options.c | 142 +++++++++++++++++++++++++++++++++ 8 files changed, 287 insertions(+), 28 deletions(-) create mode 100644 net/bridge/br_vlan_options.c -- 2.21.0