mlxsw: spectrum_router: After underlay moves, demote conflicting tunnels
authorPetr Machata <petrm@mellanox.com>
Sun, 24 Nov 2019 07:48:02 +0000 (09:48 +0200)
committerJakub Kicinski <jakub.kicinski@netronome.com>
Mon, 25 Nov 2019 02:34:46 +0000 (18:34 -0800)
commitc5731cc5ebcbfdb0b34c7ce29d488c52d8af957b
tree6adb68c7b05c12186d26c034ad21ffa08ffe2530
parentc392bccf2c1075b5d2cc9022d0116a516acb721d
mlxsw: spectrum_router: After underlay moves, demote conflicting tunnels

When a GRE tunnel is bound to an underlay netdevice and that netdevice is
moved to a different VRF, that could cause two tunnels to have the same
underlay local address in the same VRF. Linux in this situation dispatches
the traffic according to the tunnel key (or lack thereof), but that cannot
be offloaded to Spectrum devices.

Detect this situation and unoffload the two impacted tunnels when it
happens.

Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c