From: Bruce Richardson <bruce.richardson@intel.com>
To: "Loftus, Ciara" <ciara.loftus@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>, "stable@dpdk.org" <stable@dpdk.org>
Subject: Re: [PATCH] net/ice: fix VLAN tag reporting on Rx
Date: Thu, 7 Aug 2025 14:33:39 +0100 [thread overview]
Message-ID: <aJSrM60ncRIsDBde@bricha3-mobl1.ger.corp.intel.com> (raw)
In-Reply-To: <DM3PPF7D18F34A101278BEFE9987464A1A58E2CA@DM3PPF7D18F34A1.namprd11.prod.outlook.com>
On Thu, Aug 07, 2025 at 02:12:37PM +0100, Loftus, Ciara wrote:
> >
> > The ice driver expects the first, or outer, VLAN tag in a packet to be
> > written to the L2TAG1 field of the descriptor, as configured by the
> > l2tsel field when configuring the queue context initially for the
> > device. However, when configuring the actual VLAN or QinQ strip
> > behaviour, that l2tsel field was changed, sending the single/outer vlan
> > tag to the L2TAG2 field in the descriptor. This meant that it was not
> > getting picked up correctly by the Rx paths.
> >
> > This issue has been around for a long time, but was previously
> > partially hidden by the issue fixed in [1], since due to that bug,
> > the l2tsel field was not getting overridden in the single-queue case
> > (since the single queue was the final queue).
> >
> > Fix the issue by just removing the code updating the l2tsel field, and
> > leave it as set by default in the initial queue configuration.
> >
> > [1] https://github.com/DPDK/dpdk/commit/4cd8c72f6
> >
> > Fixes: de5da9d16430 ("net/ice: support double VLAN")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > ---
> > drivers/net/intel/ice/ice_ethdev.c | 75 ++----------------------------
> > 1 file changed, 3 insertions(+), 72 deletions(-)
> >
> > diff --git a/drivers/net/intel/ice/ice_ethdev.c
> > b/drivers/net/intel/ice/ice_ethdev.c
> > index 513777e372..4a6e580628 100644
> > --- a/drivers/net/intel/ice/ice_ethdev.c
> > +++ b/drivers/net/intel/ice/ice_ethdev.c
> > @@ -4965,49 +4965,12 @@ ice_vsi_config_vlan_stripping(struct ice_vsi *vsi,
> > bool ena)
> > return ret;
> > }
> >
> > -/**
> > - * ice_vsi_update_l2tsel - update l2tsel field for all Rx rings on this VSI
> > - * @vsi: VSI used to update l2tsel on
> > - * @l2tsel: l2tsel setting requested
> > - *
> > - * Use the l2tsel setting to update all of the Rx queue context bits for l2tsel.
> > - * This will modify which descriptor field the first offloaded VLAN will be
> > - * stripped into.
> > - */
> > -static void ice_vsi_update_l2tsel(struct ice_vsi *vsi, enum ice_l2tsel l2tsel)
> > -{
<snip
> > -
> > - return err;
> > + return on ?
> > + ice_vsi_ena_outer_stripping(vsi, outer_ethertype) :
v> > + ice_vsi_dis_outer_stripping(vsi);
> > }
> >
> > static int
> > --
> > 2.48.1
>
> You can also remove the following #defines and enum related to the code you have removed as they are not used anywhere else as far as I can see.
>
> #define ICE_L2TSEL_QRX_CONTEXT_REG_IDX 3
> #define ICE_L2TSEL_BIT_OFFSET 23
> enum ice_l2tsel {
> ICE_L2TSEL_EXTRACT_FIRST_TAG_L2TAG2_2ND,
> ICE_L2TSEL_EXTRACT_FIRST_TAG_L2TAG1,
> };
>
> Acked-by: Ciara Loftus <ciara.loftus@intel.com>
>
Sure. We can always reintroduce those defines again if it proves necessary
in future, but for now, I'm happy enough to remove all unused code! I'll do
up a new revision.
/Bruce
next prev parent reply other threads:[~2025-08-07 13:33 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-14 16:10 [PATCH] net/ice: fix VLAN tag reporting on Rx Bruce Richardson
2025-08-07 13:12 ` Loftus, Ciara
2025-08-07 13:33 ` Bruce Richardson [this message]
2025-08-07 19:08 ` [PATCH v2] " Bruce Richardson
2025-08-08 9:17 ` Bruce Richardson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aJSrM60ncRIsDBde@bricha3-mobl1.ger.corp.intel.com \
--to=bruce.richardson@intel.com \
--cc=ciara.loftus@intel.com \
--cc=dev@dpdk.org \
--cc=stable@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.