net/mlx5e: Geneve, Add support for encap/decap flows offload
authorYevgeny Kliteynik <kliteyn@mellanox.com>
Thu, 4 Apr 2019 00:37:36 +0000 (03:37 +0300)
committerSaeed Mahameed <saeedm@mellanox.com>
Fri, 31 May 2019 20:04:26 +0000 (13:04 -0700)
commit9272e3df3023aa53256cc53a9e4e62ee715575a7
treeb502ae0fd99d07041a0d97e2ac6d529b72e081b9
parentd386939a327d2f1c9e918ee843087124eee0efda
net/mlx5e: Geneve, Add support for encap/decap flows offload

Add HW offloading support for flows with Geneve encap/decap.

Notes about decap flows with Geneve TLV Options:
  - Support offloading of 32-bit options data only
  - At any given time, only one combination of class/type parameters
    can be offloaded, but the same class/type combination can have
    many different flows offloaded with different 32-bit option data
  - Options with value of 0 can't be offloaded

Reviewed-by: Oz Shlomo <ozsh@mellanox.com>
Signed-off-by: Yevgeny Kliteynik <kliteyn@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/Makefile
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.h
drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_geneve.c [new file with mode: 0644]
drivers/net/ethernet/mellanox/mlx5/core/en_tc.c