]> git.baikalelectronics.ru Git - kernel.git/commit
net: bridge: switchdev: include local flag in FDB notifications
authorVladimir Oltean <vladimir.oltean@nxp.com>
Wed, 14 Apr 2021 16:52:56 +0000 (19:52 +0300)
committerDavid S. Miller <davem@davemloft.net>
Fri, 16 Apr 2021 22:15:45 +0000 (15:15 -0700)
commit951d92bdcf93e8c45a78595de3705d32724b18be
treef6636801ea265aba9f911607688a88be71071289
parent0a0a603df4a001be83238a5137505a9bc750927e
net: bridge: switchdev: include local flag in FDB notifications

As explained in bugfix commit d01b88afdcc4 ("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>
drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c
drivers/net/ethernet/marvell/prestera/prestera_switchdev.c
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c
drivers/net/ethernet/rocker/rocker_main.c
drivers/net/ethernet/ti/am65-cpsw-switchdev.c
drivers/net/ethernet/ti/cpsw_switchdev.c
include/net/switchdev.h
net/bridge/br_switchdev.c
net/dsa/slave.c