original_kernel/net/bridge
Nikolay Aleksandrov a580c76d53 net: bridge: vlan: add per-vlan state
The first per-vlan option added is state, it is needed for EVPN and for
per-vlan STP. The state allows to control the forwarding on per-vlan
basis. The vlan state is considered only if the port state is forwarding
in order to avoid conflicts and be consistent. br_allowed_egress is
called only when the state is forwarding, but the ingress case is a bit
more complicated due to the fact that we may have the transition between
port:BR_STATE_FORWARDING -> vlan:BR_STATE_LEARNING which should still
allow the bridge to learn from the packet after vlan filtering and it will
be dropped after that. Also to optimize the pvid state check we keep a
copy in the vlan group to avoid one lookup. The state members are
modified with *_ONCE() to annotate the lockless access.

Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-01-24 12:58:14 +01:00
..
netfilter
Kconfig
Makefile net: bridge: vlan: add basic option dumping support 2020-01-24 12:58:14 +01:00
br.c
br_arp_nd_proxy.c
br_device.c net: bridge: vlan: add per-vlan state 2020-01-24 12:58:14 +01:00
br_fdb.c
br_forward.c net: bridge: check port state before br_allowed_egress 2020-01-24 12:58:14 +01:00
br_if.c
br_input.c net: bridge: vlan: add per-vlan state 2020-01-24 12:58:14 +01:00
br_ioctl.c
br_mdb.c
br_multicast.c
br_netfilter_hooks.c
br_netfilter_ipv6.c
br_netlink.c net: bridge: vlan: notify on vlan add/delete/change flags 2020-01-15 13:48:18 +01:00
br_netlink_tunnel.c
br_nf_core.c net: add bool confirm_neigh parameter for dst_ops.update_pmtu 2019-12-24 22:28:54 -08:00
br_private.h net: bridge: vlan: add per-vlan state 2020-01-24 12:58:14 +01:00
br_private_stp.h
br_private_tunnel.h
br_stp.c
br_stp_bpdu.c
br_stp_if.c
br_stp_timer.c
br_switchdev.c
br_sysfs_br.c
br_sysfs_if.c
br_vlan.c net: bridge: vlan: add per-vlan state 2020-01-24 12:58:14 +01:00
br_vlan_options.c net: bridge: vlan: add per-vlan state 2020-01-24 12:58:14 +01:00
br_vlan_tunnel.c