net/mlx5e: Fix IPv6 tunnel checksum offload
authorAlexander Duyck <aduyck@mirantis.com>
Mon, 2 May 2016 16:38:49 +0000 (09:38 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 4 May 2016 17:32:28 +0000 (13:32 -0400)
The mlx5 driver exposes support for TSO6 but not IPv6 csum for hardware
encapsulated tunnels.  This leads to issues as it triggers warnings in
skb_checksum_help as it ends up being called as we report supporting the
segmentation but not the checksumming for IPv6 frames.

This patch corrects that and drops 2 features that don't actually need to
be supported in hw_enc_features since they are Rx features and don't
actually impact anything by being present in hw_enc_features.

Signed-off-by: Alexander Duyck <aduyck@mirantis.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx5/core/en_main.c

index 23883be..b435c7b 100644 (file)
@@ -2806,10 +2806,9 @@ static void mlx5e_build_netdev(struct net_device *netdev)
                                           NETIF_F_GSO_UDP_TUNNEL_CSUM |
                                           NETIF_F_GSO_PARTIAL;
                netdev->hw_enc_features |= NETIF_F_IP_CSUM;
-               netdev->hw_enc_features |= NETIF_F_RXCSUM;
+               netdev->hw_enc_features |= NETIF_F_IPV6_CSUM;
                netdev->hw_enc_features |= NETIF_F_TSO;
                netdev->hw_enc_features |= NETIF_F_TSO6;
-               netdev->hw_enc_features |= NETIF_F_RXHASH;
                netdev->hw_enc_features |= NETIF_F_GSO_UDP_TUNNEL;
                netdev->hw_enc_features |= NETIF_F_GSO_UDP_TUNNEL_CSUM |
                                           NETIF_F_GSO_PARTIAL;