linux-stable/net/dsa
Vladimir Oltean 2c4eca3ef7 net: bridge: switchdev: include local flag in FDB notifications
As explained in bugfix commit 6ab4c3117a ("net: bridge: don't notify
switchdev for local FDB addresses") as well as in this discussion:
https://lore.kernel.org/netdev/20210117193009.io3nungdwuzmo5f7@skbuf/

the switchdev notifiers for FDB entries managed to have a zero-day bug,
which was that drivers would not know what to do with local FDB entries,
because they were not told that they are local. The bug fix was to
simply not notify them of those addresses.

Let us now add the 'is_local' bit to bridge FDB entries, and make all
drivers ignore these entries by their own choice.

Co-developed-by: Tobias Waldekranz <tobias@waldekranz.com>
Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-04-16 15:15:45 -07:00
..
dsa.c net: dsa: allow changing the tag protocol via the "tagging" device attribute 2021-01-29 21:24:39 -08:00
dsa2.c of: net: pass the dst buffer to of_get_mac_address() 2021-04-13 14:35:02 -07:00
dsa_priv.h net: dsa: sync up switchdev objects and port attributes when joining the bridge 2021-03-23 14:49:06 -07:00
Kconfig dsa: simplify Kconfig symbols and dependencies 2021-03-22 12:15:37 -07:00
Makefile net: dsa: add a second tagger for Ocelot switches based on tag_8021q 2021-01-29 21:25:27 -08:00
master.c net: dsa: allow changing the tag protocol via the "tagging" device attribute 2021-01-29 21:24:39 -08:00
port.c net: dsa: sync up switchdev objects and port attributes when joining the bridge 2021-03-23 14:49:06 -07:00
slave.c net: bridge: switchdev: include local flag in FDB notifications 2021-04-16 15:15:45 -07:00
switch.c net: dsa: only unset VLAN filtering when last port leaves last VLAN-aware bridge 2021-03-25 16:48:45 -07:00
tag_8021q.c net: dsa: tag_8021q: add helpers to deduce whether a VLAN ID is RX or TX VLAN 2021-01-29 21:24:30 -08:00
tag_ar9331.c net: dsa: tag_ar9331: let DSA core deal with TX reallocation 2020-11-02 17:41:17 -08:00
tag_brcm.c net: dsa: tag_brcm: add support for legacy tags 2021-03-17 12:24:36 -07:00
tag_dsa.c net: dsa: tag_dsa: Support reception of packets from LAG devices 2021-01-14 17:11:56 -08:00
tag_gswip.c net: dsa: tag_gswip: let DSA core deal with TX reallocation 2020-11-02 17:41:16 -08:00
tag_hellcreek.c net: dsa: tag_hellcreek: Cleanup includes 2020-11-23 16:57:21 -08:00
tag_ksz.c net: dsa: tag_ksz: don't allocate additional memory for padding/tagging 2020-11-02 17:41:16 -08:00
tag_lan9303.c net: dsa: tag_lan9303: let DSA core deal with TX reallocation 2020-11-02 17:41:16 -08:00
tag_mtk.c net: dsa: mt7530: support MDB and bridge flag operations 2021-03-16 11:54:41 -07:00
tag_ocelot.c net: ocelot: Remove ocelot_xfh_get_cpuq 2021-03-16 15:49:52 -07:00
tag_ocelot_8021q.c net: dsa: tag_ocelot_8021q: add support for PTP timestamping 2021-02-14 17:31:44 -08:00
tag_qca.c net: dsa: tag_qca: let DSA core deal with TX reallocation 2020-11-02 17:41:16 -08:00
tag_rtl4_a.c net: dsa: Fix a typo in tag_rtl4_a.c 2021-03-25 17:05:08 -07:00
tag_sja1105.c net: dsa: tag_sja1105: use a custom flow dissector procedure 2020-09-26 14:17:59 -07:00
tag_trailer.c net: dsa: trailer: don't allocate additional memory for padding/tagging 2020-11-02 17:41:16 -08:00
tag_xrs700x.c net: dsa: xrs700x: add HSR offloading support 2021-02-11 13:24:45 -08:00