diff options
author | Yevgeny Kliteynik <kliteyn@mellanox.com> | 2019-04-04 03:37:36 +0300 |
---|---|---|
committer | Saeed Mahameed <saeedm@mellanox.com> | 2019-05-31 13:04:26 -0700 |
commit | 9272e3df3023aa53256cc53a9e4e62ee715575a7 (patch) | |
tree | b502ae0fd99d07041a0d97e2ac6d529b72e081b9 /drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c | |
parent | d386939a327d2f1c9e918ee843087124eee0efda (diff) |
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>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c index 6f31b6876316..b099968b2b7a 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun.c @@ -3,12 +3,15 @@ #include <net/vxlan.h> #include <net/gre.h> +#include <net/geneve.h> #include "en/tc_tun.h" struct mlx5e_tc_tunnel *mlx5e_get_tc_tun(struct net_device *tunnel_dev) { if (netif_is_vxlan(tunnel_dev)) return &vxlan_tunnel; + else if (netif_is_geneve(tunnel_dev)) + return &geneve_tunnel; else if (netif_is_gretap(tunnel_dev) || netif_is_ip6gretap(tunnel_dev)) return &gre_tunnel; |