Hi Richardson, Thanks for the feedback, will remove it. ________________________________ From: Richardson, Bruce Sent: Wednesday, July 30, 2025 11:03 PM To: Xueming Li Cc: Burakov, Anatoly ; dpdk stable Subject: RE: patch 'net/ice: fix inconsistency in Rx queue VLAN tag placement' has been queued to stable release 23.11.5 I would hold off on this patch for backport, even though it's a fix. I worry that some users may be depending on the old behaviour, especially if they have a single-queue setup. /Bruce > -----Original Message----- > From: Xueming Li > Sent: Wednesday, July 30, 2025 3:56 PM > To: Richardson, Bruce > Cc: Xueming Li ; Burakov, Anatoly > ; dpdk stable > Subject: patch 'net/ice: fix inconsistency in Rx queue VLAN tag placement' has > been queued to stable release 23.11.5 > > Hi, > > FYI, your patch has been queued to stable release 23.11.5 > > Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. > It will be pushed if I get no objections before 08/10/25. So please > shout if anyone has objections. > > Also note that after the patch there's a diff of the upstream commit vs the > patch applied to the branch. This will indicate if there was any rebasing > needed to apply to the stable branch. If there were code changes for rebasing > (ie: not only metadata diffs), please double check that the rebase was > correctly done. > > Queued patches are on a temporary branch at: > https://git.dpdk.org/dpdk-stable/log/?h=23.11-staging > > This queued commit can be viewed at: > https://git.dpdk.org/dpdk-stable/commit/?h=23.11- > staging&id=43fdac7411d9a6d408b2ce61a5c191886c6ff638 > > Thanks. > > Xueming Li > > --- > From 43fdac7411d9a6d408b2ce61a5c191886c6ff638 Mon Sep 17 00:00:00 2001 > From: Bruce Richardson > Date: Fri, 27 Jun 2025 14:52:01 +0100 > Subject: [PATCH] net/ice: fix inconsistency in Rx queue VLAN tag placement > Cc: Xueming Li > > [ upstream commit 4cd8c72f661c005900ddc39cf0cecfca16184f2a ] > > When VLAN or QinQ stripping is enabled in the ice driver, an > inconsistency was observed between the placement of the VLAN tag in the > descriptors of the final Rx queue (irrespective of the number of queues) > vs descriptors of all other queues. This inconsistency was due to the > fact that the driver - when updating l2tsel (L2 tag selection) field - > used the queue id, rather than the register index for the queue. Queue 0 > is normally HW queue 1, etc., meaning the final queue never had its > field updated. > > Fixes: de5da9d16430 ("net/ice: support double VLAN") > Cc: stable@dpdk.org > > Signed-off-by: Bruce Richardson > Acked-by: Anatoly Burakov > --- > drivers/net/ice/ice_ethdev.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c > index be826d3108..3d08e12cba 100644 > --- a/drivers/net/ice/ice_ethdev.c > +++ b/drivers/net/ice/ice_ethdev.c > @@ -4744,11 +4744,11 @@ static void ice_vsi_update_l2tsel(struct ice_vsi *vsi, > enum ice_l2tsel l2tsel) > l2tsel_bit = BIT(ICE_L2TSEL_BIT_OFFSET); > > for (i = 0; i < dev_data->nb_rx_queues; i++) { > + const struct ice_rx_queue *rxq = dev_data->rx_queues[i]; > u32 qrx_context_offset; > u32 regval; > > - qrx_context_offset = > - QRX_CONTEXT(ICE_L2TSEL_QRX_CONTEXT_REG_IDX, > i); > + qrx_context_offset = > QRX_CONTEXT(ICE_L2TSEL_QRX_CONTEXT_REG_IDX, rxq->reg_idx); > > regval = rd32(hw, qrx_context_offset); > regval &= ~BIT(ICE_L2TSEL_BIT_OFFSET); > -- > 2.34.1 > > --- > Diff of the applied patch vs upstream commit (please double-check if non- > empty: > --- > --- - 2025-07-30 22:50:04.230786948 +0800 > +++ 0018-net-ice-fix-inconsistency-in-Rx-queue-VLAN-tag-place.patch 2025- > 07-30 22:50:03.048759617 +0800 > @@ -1 +1 @@ > -From 4cd8c72f661c005900ddc39cf0cecfca16184f2a Mon Sep 17 00:00:00 2001 > +From 43fdac7411d9a6d408b2ce61a5c191886c6ff638 Mon Sep 17 00:00:00 > 2001 > @@ -4,0 +5,3 @@ > +Cc: Xueming Li > + > +[ upstream commit 4cd8c72f661c005900ddc39cf0cecfca16184f2a ] > @@ -21 +24 @@ > - drivers/net/intel/ice/ice_ethdev.c | 4 ++-- > + drivers/net/ice/ice_ethdev.c | 4 ++-- > @@ -24,5 +27,5 @@ > -diff --git a/drivers/net/intel/ice/ice_ethdev.c > b/drivers/net/intel/ice/ice_ethdev.c > -index 680e7724cd..513777e372 100644 > ---- a/drivers/net/intel/ice/ice_ethdev.c > -+++ b/drivers/net/intel/ice/ice_ethdev.c > -@@ -4988,11 +4988,11 @@ static void ice_vsi_update_l2tsel(struct ice_vsi *vsi, > enum ice_l2tsel l2tsel) > +diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c > +index be826d3108..3d08e12cba 100644 > +--- a/drivers/net/ice/ice_ethdev.c > ++++ b/drivers/net/ice/ice_ethdev.c > +@@ -4744,11 +4744,11 @@ static void ice_vsi_update_l2tsel(struct ice_vsi > *vsi, enum ice_l2tsel l2tsel) > @@ -32 +35 @@ > -+ const struct ci_rx_queue *rxq = dev_data->rx_queues[i]; > ++ const struct ice_rx_queue *rxq = dev_data->rx_queues[i];