]> git.baikalelectronics.ru Git - kernel.git/commit
net/mlx5e: Update hw flows when encap source mac changed
authorTonghao Zhang <xiangxia.m.yue@gmail.com>
Mon, 28 Jan 2019 23:28:05 +0000 (15:28 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 7 Feb 2019 01:12:13 +0000 (17:12 -0800)
commit0616c258ffd39bad7883c4b23b5a1f4c7eb470b5
tree6b761039cec2fcde0625d59407e86a8c35dbab47
parentbb775099ae3b0c1b5c2ec541124008f3344f6809
net/mlx5e: Update hw flows when encap source mac changed

When we offload tc filters to hardware, hardware flows can
be updated when mac of encap destination ip is changed.
But we ignore one case, that the mac of local encap ip can
be changed too, so we should also update them.

To fix it, add route_dev in mlx5e_encap_entry struct to save
the local encap netdevice, and when mac changed, kernel will
flush all the neighbour on the netdevice and send NETEVENT_NEIGH_UPDATE
event. The mlx5 driver will delete the flows and add them when neighbour
available again.

Fixes: ccf500f6d873 ("net/mlx5e: Add support to neighbour update flow")
Cc: Hadar Hen Zion <hadarh@mellanox.com>
Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Reviewed-by: Or Gerlitz <ogerlitz@mellanox.com>
Acked-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c
drivers/net/ethernet/mellanox/mlx5/core/en_rep.h