linux-stable/net/bridge
Wolfgang Bumiller a2281d2f76 net: bridge: sync fdb to new unicast-filtering ports
commit a019abd802 upstream.

Since commit 2796d0c648 ("bridge: Automatically manage
port promiscuous mode.")
bridges with `vlan_filtering 1` and only 1 auto-port don't
set IFF_PROMISC for unicast-filtering-capable ports.

Normally on port changes `br_manage_promisc` is called to
update the promisc flags and unicast filters if necessary,
but it cannot distinguish between *new* ports and ones
losing their promisc flag, and new ports end up not
receiving the MAC address list.

Fix this by calling `br_fdb_sync_static` in `br_add_if`
after the port promisc flags are updated and the unicast
filter was supposed to have been filled.

Fixes: 2796d0c648 ("bridge: Automatically manage port promiscuous mode.")
Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
Acked-by: Nikolay Aleksandrov <nikolay@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-07-28 11:13:45 +02:00
..
netfilter netfilter: nft_reject_bridge: enable reject with bridge vlan 2020-06-03 08:19:47 +02:00
br.c net: bridge: Notify about !added_by_user FDB entries 2018-05-03 13:46:47 -04:00
br_arp_nd_proxy.c net: bridge: when suppression is enabled exclude RARP packets 2021-05-22 10:59:40 +02:00
br_device.c net: bridge: add missing counters to ndo_get_stats64 callback 2020-11-24 13:27:17 +01:00
br_fdb.c net: bridge: Mark FDB entries that were added by user as such 2019-02-27 10:08:57 +01:00
br_forward.c net: bridge: Fix ethernet header pointer before check skb forwardable 2019-01-31 08:14:31 +01:00
br_if.c net: bridge: sync fdb to new unicast-filtering ports 2021-07-28 11:13:45 +02:00
br_input.c net: bridge: don't cache ether dest pointer on input 2019-07-28 08:29:27 +02:00
br_ioctl.c net: bridge: add notifications for the bridge dev on vlan change 2017-11-02 15:53:40 +09:00
br_mdb.c bridge/mdb: remove wrong use of NLM_F_MULTI 2019-09-19 09:09:28 +02:00
br_multicast.c net: bridge: multicast: fix PIM hello router port marking race 2021-07-20 16:16:15 +02:00
br_netfilter_hooks.c netfilter: bridge: reset skb->pkt_type after NF_INET_POST_ROUTING traversal 2020-12-08 10:18:53 +01:00
br_netfilter_ipv6.c netfilter: bridge: set skb transport_header before entering NF_INET_PRE_ROUTING 2019-05-04 09:20:12 +02:00
br_netlink.c net: bridge: add support for backup port 2018-07-23 09:32:15 -07:00
br_netlink_tunnel.c bridge: netlink: make setlink/dellink notifications more accurate 2017-10-29 11:03:43 +09:00
br_nf_core.c net: add bool confirm_neigh parameter for dst_ops.update_pmtu 2020-01-04 19:13:37 +01:00
br_private.h net: bridge: fix vlan tunnel dst null pointer dereference 2021-06-30 08:48:25 -04:00
br_private_stp.h
br_private_tunnel.h bridge: netlink: make setlink/dellink notifications more accurate 2017-10-29 11:03:43 +09:00
br_stp.c net: bridge: add notifications for the bridge dev on vlan change 2017-11-02 15:53:40 +09:00
br_stp_bpdu.c net: bridge: stp: don't cache eth dest pointer before skb pull 2019-07-28 08:29:27 +02:00
br_stp_if.c net: bridge: add notifications for the bridge dev on vlan change 2017-11-02 15:53:40 +09:00
br_stp_timer.c net: bridge: Convert timers to use timer_setup() 2017-11-03 15:42:49 +09:00
br_switchdev.c net: bridge: Extract boilerplate around switchdev_port_obj_*() 2018-05-31 14:13:42 -04:00
br_sysfs_br.c net: Use octal not symbolic permissions 2018-03-26 12:07:48 -04:00
br_sysfs_if.c net: bridge: use switchdev for port flags set through sysfs too 2021-03-07 12:18:56 +01:00
br_vlan.c net: bridge: vlan: fix error return code in __vlan_add() 2020-12-30 11:25:41 +01:00
br_vlan_tunnel.c net: bridge: fix vlan tunnel dst refcnt when egressing 2021-06-30 08:48:26 -04:00
Kconfig
Makefile Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2017-11-04 09:26:51 +09:00