net/mlx5e: Check encap entry state when offloading tunneled flows
authorVlad Buslov <vladbu@mellanox.com>
Tue, 8 Aug 2017 08:45:28 +0000 (11:45 +0300)
committerSaeed Mahameed <saeedm@mellanox.com>
Thu, 28 Sep 2017 04:23:10 +0000 (07:23 +0300)
commitb281208911a549e391d92ee6cb680dcd3d71783b
tree04ebc96b4942a0907f881163837449aec26a455f
parentbdd66ac0aeed971d1cb42b3aa0d11b0ea3842e09
net/mlx5e: Check encap entry state when offloading tunneled flows

Encap entries cached by the driver could be invalidated due to
tunnel destination neighbour state changes.
When attempting to offload a flow that uses a cached encap entry,
we must check the entry validity and defer the offloading
if the entry exists but not valid.

When EAGAIN is returned, the flow offloading to hardware takes place
by the neigh update code when the tunnel destination neighbour
becomes connected.

Fixes: 232c001398ae ("net/mlx5e: Add support to neighbour update flow")
Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Reviewed-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c