Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp274525pxj; Tue, 18 May 2021 03:08:03 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxK059B8wA+ESzaHmuFOpU6XDLQ1eRLUM5Ti7stxhDqtBW/S92jp7ZPohJKyuhUvdx+OKwI X-Received: by 2002:a5e:cb45:: with SMTP id h5mr3451260iok.207.1621332482852; Tue, 18 May 2021 03:08:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621332482; cv=none; d=google.com; s=arc-20160816; b=uGdQBR0jR6RMYed0LjoyzKNcCQy7fH3uvNrZw2A57b9uTVu7HohWTzPGi67P2msVBv QF55yngOEYLJj8bhZcFhGRDaerWoFyKBJnmKsiyoACoqBGPbh9ILO/A6PLx5qLK2bU7O tuSfJ6kGv0asS97040YgfPX+F7Xk0ihokVK6iCucPwdY+9mxOS+sho13SwIx/UpZNQf7 AieekJea13qeuppMcax6eHi6qJyMahLFHOJSnS5t+B1wDj/DuimtYYUVK9JsVb7PyL0q rXY/Gummj5wmRRtlzVr0WWbtb9TF+WIH3TuGIjeM/p2THC9ls61EVQ5mjF8faxWkASW7 y+YQ== 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=YxvXNXE14nIT3OUBBwFV/8NKit+JbAGY7WNkohA5vcE=; b=CzAMhhlBtROlpgA95afxQgmRaUUi3Mow2HMP3dNYxZOY2uZjeGVHdmQp9cBn3SCdkO HuP1EatnXyXEPvBriN3UptdlFiIoyVa6dFxC9bCa8MAaOA3VclbQeApM0vGCseNyLTcc afC2LiIpddHpN1YZ+wL/LTBZVis9xJlcgUWTFUPBGqk28D43cg9V3iU9AOJhqXVIg+aO piwOuBaHOE4pNG9vHDOVuY+O120DCI9LVfSZ/7zX8kHSxxpzQWFWbJcmOutvJWhaJwj6 cdvZg0DxMfy00ws1+daSMnpVxAQmVXkX3ji82f+zFcVQAd38Sftkq28XDkzAiU0/ek/O pYHQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=E5FQmPHU; 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 7si19982598ilz.34.2021.05.18.03.07.50; Tue, 18 May 2021 03:08:02 -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=E5FQmPHU; 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 S243028AbhEQPLW (ORCPT + 99 others); Mon, 17 May 2021 11:11:22 -0400 Received: from mail.kernel.org ([198.145.29.99]:34300 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242179AbhEQPB4 (ORCPT ); Mon, 17 May 2021 11:01:56 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 3821E60FE9; Mon, 17 May 2021 14:27:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1621261638; bh=rSZaz4r9YN81N5jfCrcTwbkMhDQERcc+u3Q9FHKcthU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=E5FQmPHUIogqw2wN8FsNq+zceT2MQQcEkVbG/qjnB2Q++QXEEFmMoav8M5EoOcWY+ S7YTfm5/zJzDAevGDshx241wUHOTBnwEmYc+UoiBOhVLTv9R+VkfPXi78DCNAY+2+x eQItR0L7SYViNfXaiQVJCTQxMvChrCnTkkdUd7j4= 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.4 069/141] net: hns3: fix for vxlan gpe tx checksum bug Date: Mon, 17 May 2021 16:02:01 +0200 Message-Id: <20210517140245.096950394@linuxfoundation.org> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20210517140242.729269392@linuxfoundation.org> References: <20210517140242.729269392@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 6b43cbf4f909..3dd3b8047968 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_enet.c @@ -796,7 +796,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) { @@ -806,7 +806,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