Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp352159pxj; Tue, 18 May 2021 05:01:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzx09R5yQ6tLVO7TOaRRxXLxxRwdImVm/YHNKchP1XwYn8M8ywa6vAh9PNqrX68z7Sr4TRo X-Received: by 2002:a50:fb0a:: with SMTP id d10mr6545862edq.47.1621339318627; Tue, 18 May 2021 05:01:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621339318; cv=none; d=google.com; s=arc-20160816; b=0XPcoLgBeaE9WqPHMtSwvva9MadiDyjaeh2HqQ0fTB6UIsjUEUM0JGAOXzQwlY9IkV ctEb6xDoavpeBKMuXGZXN2N5ririycdi/Tf4Mkz8PFnnoEqjIcS6ItoRhSjvNa0X/So8 s0DzzO9UHJ9Nwhb1h9zyeHa4HUyVDjMkZaPBqrwhSVQJkypxfQa0tZPEDanuMzLDhnT8 I07I85w11qZpt1nKlce9U8qIMnswmszsnwWyewivzeL5ElMkJ/9Tuk8O1mIWTk45INHc TJaNJEAUJvPwJcIKmmpjHkZl+HyOD+8GGBTiFrATdee3/DYTFqhhpdCxf3TVm7cJsOha A6ww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=sBDkiTyggDT5DtXoSW5MxmKEKc5kRSslprDGxDPC1o8=; b=r6ygNJvoC8bEpi+j6ulMvNJL8kOEmrfy7Z1wmyJsYSlSdSCC6MxgC8Yc6hFOvXet8J mYisE0XzE7lJ3uxc8Z2fp1bTezcmcoZ2S8itpregWHhisqVcnZ61l+wBsAgUjy/G6TjR PSE9IM3xeWxsN2l39KiX/f3ov/cX/Z2AIn9GIcvFtXqmZkgiyCC6jR0kcpOs6PIeRnq1 Tsw3Id9duZuhBxPw7jjcKgWCNkvautGiggi1q1VS6aQJzKsPh75kxge9O+WKv2xyxT/g 6cx1M/TmQo2qw/zqoHJj0BrYPUVEoEUze+bGdFlxESdjavKZbWsvp+on8vt46giVucn5 yw0w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=LrcSezPQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id bg21si17566179ejb.58.2021.05.18.05.01.29; Tue, 18 May 2021 05:01:58 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=LrcSezPQ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S243373AbhEQP0H (ORCPT + 99 others); Mon, 17 May 2021 11:26:07 -0400 Received: from mail.kernel.org ([198.145.29.99]:36458 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242760AbhEQPMO (ORCPT ); Mon, 17 May 2021 11:12:14 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 0D79D61C42; Mon, 17 May 2021 14:31:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1621261877; bh=zIyzRjvdEx3CWZg4ydP0GQnP89TN841+SD6kkyPa4AI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LrcSezPQzd/nBOfpLzLw+YVcu0F/XcUaIylBvEE3LX/jVPlkj99Mq2ZJ8gLrnvGrA fyDaE3l1RK/TsbUzPCJTiaw33vPzTBBwxBGaS/FvTNZoYWmaF8LcPbWcfq6GpUsZ/b LNEqZcz9+4LSd+kAL3eXNBQ8dFXJsPwW3KDfFO3c= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Hao Chen , Huazhong Tan , "David S. Miller" , Sasha Levin Subject: [PATCH 5.11 181/329] net: hns3: fix for vxlan gpe tx checksum bug Date: Mon, 17 May 2021 16:01:32 +0200 Message-Id: <20210517140308.249739666@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210517140302.043055203@linuxfoundation.org> References: <20210517140302.043055203@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Hao Chen [ 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 Signed-off-by: Huazhong Tan Signed-off-by: David S. Miller Signed-off-by: Sasha Levin --- drivers/net/ethernet/hisilicon/hns3/hns3_enet.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c index 9c34fd3b65d1..0a7bc0163046 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c @@ -823,7 +823,7 @@ static int hns3_get_l4_protocol(struct sk_buff *skb, u8 *ol4_proto, * and it is udp packet, which has a dest port as the IANA assigned. * the hardware is expected to do the checksum offload, but the * hardware will not do the checksum offload when udp dest port is - * 4789 or 6081. + * 4789, 4790 or 6081. */ static bool hns3_tunnel_csum_bug(struct sk_buff *skb) { @@ -841,7 +841,8 @@ static bool hns3_tunnel_csum_bug(struct sk_buff *skb) if (!(!skb->encapsulation && (l4.udp->dest == htons(IANA_VXLAN_UDP_PORT) || - l4.udp->dest == htons(GENEVE_UDP_PORT)))) + l4.udp->dest == htons(GENEVE_UDP_PORT) || + l4.udp->dest == htons(4790)))) return false; skb_checksum_help(skb); -- 2.30.2