]> git.baikalelectronics.ru Git - kernel.git/commit
mlxsw: spectrum_router: Handle encap to demoted tunnels
authorPetr Machata <petrm@mellanox.com>
Tue, 28 Nov 2017 12:17:13 +0000 (13:17 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 28 Nov 2017 14:55:47 +0000 (09:55 -0500)
commite393b4bc06e62388a34aa8fb4bd5a4fb42b4d8a8
tree49a4f04a8da3d07b1592e70b048f44078b0108d1
parentdd225b0b46a5ad02a14b99408db6936cc85d17b4
mlxsw: spectrum_router: Handle encap to demoted tunnels

Some tunnels that are offloadable on their own can nonetheless be
demoted to slow path if their local address is in conflict with that of
another tunnel. When a route is formed for such a tunnel,
mlxsw_sp_nexthop_ipip_init() fails to find the corresponding IPIP entry,
and that triggers a FIB abort.

Resolve the problem by not assuming that a tunnel for which
mlxsw_sp_ipip_ops.can_offload() holds also automatically has an IPIP
entry.

Fixes: 150c105034a2 ("mlxsw: spectrum_router: Onload conflicting tunnels")
Signed-off-by: Petr Machata <petrm@mellanox.com>
Reviewed-by: Ido Schimmel <idosch@mellanox.com>
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c