net: hns3: fix for vxlan gpe tx checksum bug
authorHao Chen <chenhao288@hisilicon.com>
Fri, 30 Apr 2021 09:06:19 +0000 (17:06 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 May 2021 08:13:05 +0000 (10:13 +0200)
commit90120c475dd7267541db416ce9490257f0bb15f7
tree6587895348b564f7a2363922766d5a4edb333aed
parent7a476a8a9cb69096ea37c8f71ec3455a4be3c948
net: hns3: fix for vxlan gpe tx checksum bug

[ Upstream commit 905416f18fe74bdd4de91bf94ef5a790a36e4b99 ]

When skb->ip_summed is CHECKSUM_PARTIAL, for non-tunnel udp packet,
which has a dest port as the IANA assigned, the hardware is expected
to do the checksum offload, but the hardware whose version is below
V3 will not do the checksum offload when udp dest port is 4790.

So fixes it by doing the checksum in software for this case.

Fixes: 76ad4f0ee747 ("net: hns3: Add support of HNS3 Ethernet Driver for hip08 SoC")
Signed-off-by: Hao Chen <chenhao288@hisilicon.com>
Signed-off-by: Huazhong Tan <tanhuazhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/hisilicon/hns3/hns3_enet.c