Commit f9f65126 authored by Jie Wang's avatar Jie Wang Committed by Paolo Abeni

net: hns3: fix GRE checksum offload issue

The device_version V3 hardware can't offload the checksum for IP in GRE
packets, but can do it for NvGRE. So default to disable the checksum and
GSO offload for GRE, but keep the ability to enable it when only using
NvGRE.

Fixes: 76ad4f0e ("net: hns3: Add support of HNS3 Ethernet Driver for hip08 SoC")
Signed-off-by: default avatarJie Wang <wangjie125@huawei.com>
Signed-off-by: default avatarJijie Shao <shaojijie@huawei.com>
Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent bd3caddf
...@@ -3353,6 +3353,15 @@ static void hns3_set_default_feature(struct net_device *netdev) ...@@ -3353,6 +3353,15 @@ static void hns3_set_default_feature(struct net_device *netdev)
NETIF_F_HW_TC); NETIF_F_HW_TC);
netdev->hw_enc_features |= netdev->vlan_features | NETIF_F_TSO_MANGLEID; netdev->hw_enc_features |= netdev->vlan_features | NETIF_F_TSO_MANGLEID;
/* The device_version V3 hardware can't offload the checksum for IP in
* GRE packets, but can do it for NvGRE. So default to disable the
* checksum and GSO offload for GRE.
*/
if (ae_dev->dev_version > HNAE3_DEVICE_VERSION_V2) {
netdev->features &= ~NETIF_F_GSO_GRE;
netdev->features &= ~NETIF_F_GSO_GRE_CSUM;
}
} }
static int hns3_alloc_buffer(struct hns3_enet_ring *ring, static int hns3_alloc_buffer(struct hns3_enet_ring *ring,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment