OSDN Git Service

Revert "net/mlx5e: Block offload of outer header csum for GRE tunnel"
authorAya Levin <ayal@nvidia.com>
Sun, 24 Oct 2021 13:52:23 +0000 (16:52 +0300)
committerSaeed Mahameed <saeedm@nvidia.com>
Fri, 7 Jan 2022 00:55:40 +0000 (16:55 -0800)
This reverts commit 54e1217b90486c94b26f24dcee1ee5ef5372f832.

Although the NIC doesn't support offload of outer header CSUM, using
gso_partial_features allows offloading the tunnel's segmentation. The
driver relies on the stack CSUM calculation of the outer header. For
this, NETIF_F_GSO_GRE_CSUM must be a member of the device's features.

Fixes: 54e1217b9048 ("net/mlx5e: Block offload of outer header csum for GRE tunnel")
Signed-off-by: Aya Levin <ayal@nvidia.com>
Reviewed-by: Gal Pressman <gal@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/en_main.c

index de8acd3..d92b82c 100644 (file)
@@ -4799,9 +4799,12 @@ static void mlx5e_build_nic_netdev(struct net_device *netdev)
        }
 
        if (mlx5e_tunnel_proto_supported_tx(mdev, IPPROTO_GRE)) {
-               netdev->hw_features     |= NETIF_F_GSO_GRE;
-               netdev->hw_enc_features |= NETIF_F_GSO_GRE;
-               netdev->gso_partial_features |= NETIF_F_GSO_GRE;
+               netdev->hw_features     |= NETIF_F_GSO_GRE |
+                                          NETIF_F_GSO_GRE_CSUM;
+               netdev->hw_enc_features |= NETIF_F_GSO_GRE |
+                                          NETIF_F_GSO_GRE_CSUM;
+               netdev->gso_partial_features |= NETIF_F_GSO_GRE |
+                                               NETIF_F_GSO_GRE_CSUM;
        }
 
        if (mlx5e_tunnel_proto_supported_tx(mdev, IPPROTO_IPIP)) {