From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4CFF7A0032 for ; Fri, 15 Jul 2022 07:04:56 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2444440696; Fri, 15 Jul 2022 07:04:56 +0200 (CEST) Received: from smtp-relay-internal-1.canonical.com (smtp-relay-internal-1.canonical.com [185.125.188.123]) by mails.dpdk.org (Postfix) with ESMTP id 8013340042 for ; Fri, 15 Jul 2022 07:04:54 +0200 (CEST) Received: from mail-lj1-f199.google.com (mail-lj1-f199.google.com [209.85.208.199]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-1.canonical.com (Postfix) with ESMTPS id 416583F0D2 for ; Fri, 15 Jul 2022 05:04:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1657861494; bh=V8gfhA0JxMLTa2jwL/qUfvBgE4LjDQUQ6iU9o6KMLok=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=kglsQvVzFgvEKj9FIQmRvyd3QZj31dLuFzSJgD7IhueT/MPDNZCpZI15pEbva7fnH u8es4yd3ORtNr+x318uwyRobLSUirPozMLf0ckuh0n7FcdWF2oMr4bG7n6N6WNd/wX +VjF841PY5JEjSYuucQ5erPP5tmZgPRkwafrh0vFq0qP4KsAzUZ8asFGdB821TgQG1 b8VWRdgPadCx/57B+rumGYc5omBTjGsdWqKKI+8AvQ/ks0FH607u0QoW0cjrqePeNI j3LeI++9Dx3gf8sGR/wQqo7n+UVYcDLyg/CA9wFF+MYZnTGGwKmrXhE56KnLoeOBID vs5icmIJGiLnA== Received: by mail-lj1-f199.google.com with SMTP id bg37-20020a05651c0ba500b0025d68341139so833601ljb.10 for ; Thu, 14 Jul 2022 22:04:54 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=V8gfhA0JxMLTa2jwL/qUfvBgE4LjDQUQ6iU9o6KMLok=; b=X4ft01IIxz1w0zDL5prvW9SvWzXl+OkNle5g89tGIErPXB1PBQJnAj9kuQAgJ60oTE 11B4gzbypPzmnXoc6umy10eI/rgPmywaEJ9iI1QoRy/IDVzwZdcO23w61lUGSpgMUz7c JxoNAhsIqKQlRCMdwXQ5HtseP0TxOht80OL2EpKBSwRVpkDI6GKZUikD+g8WtWL8yxbN SKzr8cVlxqpHmjp/RrY/Rr0VKV5AGWT2rdEHtEV6hG1IaVEHG39zi3Tn0ToHp2e3k3Jv hJUCmlnGQCrn3qwgfMVR8OWo/knAdTg7gBjOB46ejAl9dk3r5iFJ6KJ3kIe5Dmu7FNx2 Ritg== X-Gm-Message-State: AJIora/uaeBYgyDn7boFeWmgfU2ZqWUIEeBHsKraGlXPrhEhoXQcRhdc 07df1cAvZWZRdKhv2uFVdFfUea3cVAP9jqemAxatBVknEV9KjYhH7zmiw0Juqv5O+Lq2X/nIUl4 r12NmJFSM6dWP5ADKeBAyjC4ngszW4hnIJdWwL2Eb X-Received: by 2002:a05:6512:12c9:b0:489:fa6e:d371 with SMTP id p9-20020a05651212c900b00489fa6ed371mr7306676lfg.37.1657861493457; Thu, 14 Jul 2022 22:04:53 -0700 (PDT) X-Google-Smtp-Source: AGRyM1tsU2JYNhde3VS6drYlgkqpLfwDfI3LbdqJC9U3twWysI0Espjg95gBcFq8Ape331lAG2P3TJhNDCMXBtUn6U0= X-Received: by 2002:a05:6512:12c9:b0:489:fa6e:d371 with SMTP id p9-20020a05651212c900b00489fa6ed371mr7306665lfg.37.1657861493192; Thu, 14 Jul 2022 22:04:53 -0700 (PDT) MIME-Version: 1.0 References: <1657833368-8212-1-git-send-email-longli@linuxonhyperv.com> In-Reply-To: <1657833368-8212-1-git-send-email-longli@linuxonhyperv.com> From: Christian Ehrhardt Date: Fri, 15 Jul 2022 07:04:27 +0200 Message-ID: Subject: Re: [PATCH 19.11] net/netvsc: fix calculation of checksums based on mbuf flag To: longli@microsoft.com Cc: stable@dpdk.org Content-Type: text/plain; charset="UTF-8" X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org On Thu, Jul 14, 2022 at 11:16 PM wrote: > > From: Long Li > > [ upstream commit 559a1f2eeaaddccc83e1668a8ee375c34699e48b ] Thanks, applied > The netvsc should use RTE_MBUF_F_TX_L4_MASK and check the masked value > to decide the correct way to calculate checksums. > > Not checking for RTE_MBUF_F_TX_L4_MASK results in incorrect RNDIS > packets sent to VSP and incorrect checksums calculated by the VSP. > > Fixes: 4e9c73e96e ("net/netvsc: add Hyper-V network device") > Cc: stable@dpdk.org > > Signed-off-by: Long Li > Acked-by: Stephen Hemminger > Reviewed-by: Ferruh Yigit > --- > drivers/net/netvsc/hn_rxtx.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/drivers/net/netvsc/hn_rxtx.c b/drivers/net/netvsc/hn_rxtx.c > index af702dafe6..ece242f84b 100644 > --- a/drivers/net/netvsc/hn_rxtx.c > +++ b/drivers/net/netvsc/hn_rxtx.c > @@ -1262,8 +1262,11 @@ static void hn_encap(struct rndis_packet_msg *pkt, > *pi_data = NDIS_LSO2_INFO_MAKEIPV4(hlen, > m->tso_segsz); > } > - } else if (m->ol_flags & > - (PKT_TX_TCP_CKSUM | PKT_TX_UDP_CKSUM | PKT_TX_IP_CKSUM)) { > + } else if ((m->ol_flags & PKT_TX_L4_MASK) == > + PKT_TX_TCP_CKSUM || > + (m->ol_flags & PKT_TX_L4_MASK) == > + PKT_TX_UDP_CKSUM || > + (m->ol_flags & PKT_TX_IP_CKSUM)) { > pi_data = hn_rndis_pktinfo_append(pkt, NDIS_TXCSUM_INFO_SIZE, > NDIS_PKTINFO_TYPE_CSUM); > *pi_data = 0; > @@ -1277,9 +1280,11 @@ static void hn_encap(struct rndis_packet_msg *pkt, > *pi_data |= NDIS_TXCSUM_INFO_IPCS; > } > > - if (m->ol_flags & PKT_TX_TCP_CKSUM) > + if ((m->ol_flags & PKT_TX_L4_MASK) == > + PKT_TX_TCP_CKSUM) > *pi_data |= NDIS_TXCSUM_INFO_MKTCPCS(hlen); > - else if (m->ol_flags & PKT_TX_UDP_CKSUM) > + else if ((m->ol_flags & PKT_TX_L4_MASK) == > + PKT_TX_UDP_CKSUM) > *pi_data |= NDIS_TXCSUM_INFO_MKUDPCS(hlen); > } > > -- > 2.17.1 > -- Christian Ehrhardt Senior Staff Engineer, Ubuntu Server Canonical Ltd