Blob Blame History Raw
From d03ac6626a42264e3b6a0cea3ec19e8c7a83f326 Mon Sep 17 00:00:00 2001
From: Davide Caratti <dcaratti@redhat.com>
Date: Tue, 28 Jan 2020 09:13:33 -0500
Subject: [PATCH 001/312] [netdrv] mlx5e: allow TSO on VXLAN over VLAN
 topologies

Message-id: <92832a2adaee9760b05b903f7b15c4b107dab620.1580148241.git.dcaratti@redhat.com>
Patchwork-id: 294141
Patchwork-instance: patchwork
O-Subject: [RHEL8.3 netdrv] net/mlx5e: allow TSO on VXLAN over VLAN topologies
Bugzilla: 1780643
RH-Acked-by: Jarod Wilson <jarod@redhat.com>
RH-Acked-by: John Linville <linville@redhat.com>
RH-Acked-by: Paolo Abeni <pabeni@redhat.com>
RH-Acked-by: David S. Miller <davem@redhat.com>

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1780643
Upstream Status: net-next.git commit a1718505d7f6
Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=26037831
Tested: using a variant of the script used to verify bz1626213
Conflicts: none

commit a1718505d7f67ee0ab051322f1cbc7ac42b5da82
Author: Davide Caratti <dcaratti@redhat.com>
Date:   Thu Jan 9 12:07:59 2020 +0100

    net/mlx5e: allow TSO on VXLAN over VLAN topologies

    since mlx5 hardware can segment correctly TSO packets on VXLAN over VLAN
    topologies, CPU usage can improve significantly if we enable tunnel
    offloads in dev->vlan_features, like it was done in the past with other
    NIC drivers (e.g. mlx4, be2net and ixgbe).

    Signed-off-by: Davide Caratti <dcaratti@redhat.com>
    Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>

Signed-off-by: Davide Caratti <dcaratti@redhat.com>
Signed-off-by: Frantisek Hrbata <fhrbata@redhat.com>
---
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
index 00ef0cd3ca13..7447b84e2d44 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
@@ -4855,6 +4855,8 @@ static void mlx5e_build_nic_netdev(struct net_device *netdev)
 		netdev->hw_enc_features |= NETIF_F_GSO_UDP_TUNNEL |
 					   NETIF_F_GSO_UDP_TUNNEL_CSUM;
 		netdev->gso_partial_features = NETIF_F_GSO_UDP_TUNNEL_CSUM;
+		netdev->vlan_features |= NETIF_F_GSO_UDP_TUNNEL |
+					 NETIF_F_GSO_UDP_TUNNEL_CSUM;
 	}
 
 	if (MLX5_CAP_ETH(mdev, tunnel_stateless_gre)) {
-- 
2.13.6