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 3BBA2A0032 for ; Mon, 11 Jul 2022 10:46:08 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 18DD14021F; Mon, 11 Jul 2022 10:46:08 +0200 (CEST) Received: from smtp-relay-internal-0.canonical.com (smtp-relay-internal-0.canonical.com [185.125.188.122]) by mails.dpdk.org (Postfix) with ESMTP id E4FE04021F for ; Mon, 11 Jul 2022 10:46:06 +0200 (CEST) Received: from mail-lf1-f71.google.com (mail-lf1-f71.google.com [209.85.167.71]) (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-0.canonical.com (Postfix) with ESMTPS id 9EA0D3F15F for ; Mon, 11 Jul 2022 08:46:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1657529166; bh=oE9m+oxMr0HLzasSyVv/Cfy2jcNLc1zHl+URIqen7Uk=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=OE5xrBaI6kL0x96GH8M/gTw/+W3NtEJfEceJoFseGGueQnex+jrKVV06nCAEFeMQv iiff1xAqdFKVqvOBaudVWtS0zbAaW6nVXfRWJMcL7b0aeA+IHunL6gmRRLag9CXzw/ 0wo+cV54v5cnN8L8Bg7yeBsJb+FqqvbiE6ojNuf8KyeC2fArioQo+dJuYRK+ltQo5y NZX1bvBuZsP7R7k8E2OAFXfI38lhBtmVh3XQaNyFefe4R7nSkLgaUCGQE5JcCykPwJ o78iLEsbNXq8iDymldfTdjshhFNJWu5/mOY1u3JZ0P0qzSfTytt2bZpfqA4Zzr8bRg 3uctEbPM0tpnw== Received: by mail-lf1-f71.google.com with SMTP id h37-20020a0565123ca500b004889ff5f804so1923970lfv.19 for ; Mon, 11 Jul 2022 01:46:06 -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:content-transfer-encoding; bh=oE9m+oxMr0HLzasSyVv/Cfy2jcNLc1zHl+URIqen7Uk=; b=4CoNRVy53mHot1IIJNx0UG6F//FoTbApjdkoSMrAOlEewCbELZBrfaGAL7NBKy7Ap8 smj6sWMa7GKFd2I5Lr7yCMHvwHKoAyWLvvZvdJoFB6aZbcoQNPIgu9O7pUYDKv3ThLXi L1JH2rEDro7iYhUeIBqD7bT/Fn622v1sIipRsEbscxtqEUMx2ZxDwdiiODMWo8HdcFC7 m1QBu2jeQJbAyEjBe+dLuW9C8geYZ0Hu3YOPtMWDU3/aVg02WzBTqEyZUfXeuhfceBle oxM2/dGJ6POgvedUdhz+7yGiLonDiO7GDVeNBXfOx5b7WQwXibw1F3PGG2yzLV1bQShn +2HQ== X-Gm-Message-State: AJIora++w3fYF4bTHyDt562HdG97DzP5ZBAEFkOZTSCHTH68dhXq9RXF Ig5SDuNExDOPvxH6uyo7V7QdlARgN39iHTcI+fak4jxRmc25o8GyRJSzaizfLtsM8jVaOblHtwp ivprnva91cqeRWYJWlNQFyxgfeDCWN7i2pcXvaz6f X-Received: by 2002:a05:6512:3c9f:b0:47f:7927:3db1 with SMTP id h31-20020a0565123c9f00b0047f79273db1mr10338047lfv.421.1657529166056; Mon, 11 Jul 2022 01:46:06 -0700 (PDT) X-Google-Smtp-Source: AGRyM1uPNLDUp6G7duZkpbUsgKOy0ucww5nJa0wsE5Xjly0HELWWOnnDQV5a0zQDghsB++Riibp9NAoZucI1dKoVm2k= X-Received: by 2002:a05:6512:3c9f:b0:47f:7927:3db1 with SMTP id h31-20020a0565123c9f00b0047f79273db1mr10338041lfv.421.1657529165839; Mon, 11 Jul 2022 01:46:05 -0700 (PDT) MIME-Version: 1.0 References: <20220711082350.2562727-1-niklas.soderlund@corigine.com> In-Reply-To: <20220711082350.2562727-1-niklas.soderlund@corigine.com> From: Christian Ehrhardt Date: Mon, 11 Jul 2022 10:45:40 +0200 Message-ID: Subject: Re: [PATCH 19.11] net/nfp: fix disabling VLAN stripping To: =?UTF-8?Q?Niklas_S=C3=B6derlund?= Cc: stable@dpdk.org, oss-drivers@corigine.com, Peng Zhang , Yong Xu , Chaoyong He Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 Mon, Jul 11, 2022 at 10:27 AM Niklas S=C3=B6derlund wrote: > > From: Peng Zhang > > [ upstream commit 7988cdca98940faa80d3e030c1b9811bcdd4c67d ] Thank you, applied > "vlan set strip off 0" can't work, due to the incorrect usage > of the mask, it just represent that the status is changed or not, > not represent offloaded or not, so that the driver send the > error control message to the nic. > > Now, by first inspect the mask of things that changed, and then > change the requested state if VLAN stripping according the > requested offload status. So this change can fix this bug. > > Fixes: d4a27a3 ("nfp: add basic features") > Cc: stable@dpdk.org > > Signed-off-by: Peng Zhang > Signed-off-by: Yong Xu > Signed-off-by: Chaoyong He > Signed-off-by: Niklas S=C3=B6derlund > --- > drivers/net/nfp/nfp_net.c | 25 ++++++++++++++----------- > 1 file changed, 14 insertions(+), 11 deletions(-) > > diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c > index 46e1872927518ad7..f427fad4875fe4f6 100644 > --- a/drivers/net/nfp/nfp_net.c > +++ b/drivers/net/nfp/nfp_net.c > @@ -2373,22 +2373,25 @@ nfp_net_vlan_offload_set(struct rte_eth_dev *dev,= int mask) > { > uint32_t new_ctrl, update; > struct nfp_net_hw *hw; > + struct rte_eth_conf *dev_conf; > int ret; > > hw =3D NFP_NET_DEV_PRIVATE_TO_HW(dev->data->dev_private); > - new_ctrl =3D 0; > + dev_conf =3D &dev->data->dev_conf; > + new_ctrl =3D hw->ctrl; > > - /* Enable vlan strip if it is not configured yet */ > - if ((mask & ETH_VLAN_STRIP_OFFLOAD) && > - !(hw->ctrl & NFP_NET_CFG_CTRL_RXVLAN)) > - new_ctrl =3D hw->ctrl | NFP_NET_CFG_CTRL_RXVLAN; > + /* > + * Vlan stripping setting > + * Enable or disable VLAN stripping > + */ > + if (mask & ETH_VLAN_STRIP_MASK) { > + if (dev_conf->rxmode.offloads & DEV_RX_OFFLOAD_VLAN_STRIP= ) > + new_ctrl |=3D NFP_NET_CFG_CTRL_RXVLAN; > + else > + new_ctrl &=3D ~NFP_NET_CFG_CTRL_RXVLAN; > + } > > - /* Disable vlan strip just if it is configured */ > - if (!(mask & ETH_VLAN_STRIP_OFFLOAD) && > - (hw->ctrl & NFP_NET_CFG_CTRL_RXVLAN)) > - new_ctrl =3D hw->ctrl & ~NFP_NET_CFG_CTRL_RXVLAN; > - > - if (new_ctrl =3D=3D 0) > + if (new_ctrl =3D=3D hw->ctrl) > return 0; > > update =3D NFP_NET_CFG_UPDATE_GEN; > -- > 2.36.1 > --=20 Christian Ehrhardt Senior Staff Engineer, Ubuntu Server Canonical Ltd