From d03ac6626a42264e3b6a0cea3ec19e8c7a83f326 Mon Sep 17 00:00:00 2001 From: Davide Caratti 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 RH-Acked-by: John Linville RH-Acked-by: Paolo Abeni RH-Acked-by: David S. Miller 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 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 Signed-off-by: Saeed Mahameed Signed-off-by: Davide Caratti Signed-off-by: Frantisek Hrbata --- 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