patches for DPDK stable branches
 help / color / mirror / Atom feed
* patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8
@ 2025-02-17 17:03 luca.boccassi
  2025-02-17 17:03 ` patch 'vhost: clear ring addresses when getting vring base' " luca.boccassi
                   ` (77 more replies)
  0 siblings, 78 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Konstantin Ananyev
  Cc: Phanendra Vukkisala, Morten Brørup, Stephen Hemminger, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/e35791f7f0b901998b830b447d5ca4f8c9083a00

Thanks.

Luca Boccassi

---
From e35791f7f0b901998b830b447d5ca4f8c9083a00 Mon Sep 17 00:00:00 2001
From: Konstantin Ananyev <konstantin.ananyev@huawei.com>
Date: Fri, 6 Dec 2024 13:35:54 -0500
Subject: [PATCH] test/ring: fix init with custom number of lcores
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 2cf3a8d35d2db1cee1523e6e9ef5553432fbf56f ]

ring_stress_autotest fails to initialize the ring when RTE_MAX_LCORE value
is not a number of 2.
There is a flaw in calculation required number of elements in the ring.
Fix it by aligning number of elements to next power of 2.

Fixes: bf28df24e915 ("test/ring: add contention stress test")

Reported-by: Phanendra Vukkisala <pvukkisala@marvell.com>
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
 app/test/test_ring_stress_impl.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/test/test_ring_stress_impl.h b/app/test/test_ring_stress_impl.h
index 62f046a91a..373091957b 100644
--- a/app/test/test_ring_stress_impl.h
+++ b/app/test/test_ring_stress_impl.h
@@ -295,7 +295,7 @@ mt1_init(struct rte_ring **rng, void **data, uint32_t num)
 	*data = elm;
 
 	/* alloc ring */
-	nr = 2 * num;
+	nr = rte_align32pow2(2 * num);
 	sz = rte_ring_get_memsize(nr);
 	r = rte_zmalloc(NULL, sz, __alignof__(*r));
 	if (r == NULL) {
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:16.953641107 +0000
+++ 0001-test-ring-fix-init-with-custom-number-of-lcores.patch	2025-02-17 16:13:16.778441593 +0000
@@ -1 +1 @@
-From 2cf3a8d35d2db1cee1523e6e9ef5553432fbf56f Mon Sep 17 00:00:00 2001
+From e35791f7f0b901998b830b447d5ca4f8c9083a00 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 2cf3a8d35d2db1cee1523e6e9ef5553432fbf56f ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -26 +27 @@
-index 8b0bfb11fe..ee5274aeef 100644
+index 62f046a91a..373091957b 100644
@@ -29 +30 @@
-@@ -297,7 +297,7 @@ mt1_init(struct rte_ring **rng, void **data, uint32_t num)
+@@ -295,7 +295,7 @@ mt1_init(struct rte_ring **rng, void **data, uint32_t num)
@@ -36 +37 @@
- 	r = rte_zmalloc(NULL, sz, alignof(typeof(*r)));
+ 	r = rte_zmalloc(NULL, sz, __alignof__(*r));

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'vhost: clear ring addresses when getting vring base' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'vhost: check GSO size validity' " luca.boccassi
                   ` (76 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Jianping Zhao; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/08c98824562edf4282350383ec4f55a2fe85e57f

Thanks.

Luca Boccassi

---
From 08c98824562edf4282350383ec4f55a2fe85e57f Mon Sep 17 00:00:00 2001
From: Jianping Zhao <zhao305149619@gmail.com>
Date: Wed, 27 Nov 2024 10:03:49 +0800
Subject: [PATCH] vhost: clear ring addresses when getting vring base

[ upstream commit 1846fe767f00a9d0dade333e7838f81e6721b694 ]

Clear ring addresses during vring base retrieval to handle guest reboot
scenarios correctly. This is particularly important for vdpa-blk devices
where the following issue occurs:

When a guest OS with vdpa-blk device reboots, during UEFI stage, only
one vring is actually used and configured. However, QEMU still sends
enable messages for all configured queues. The remaining queues retain
their addresses from before reboot, which reference invalid memory
mappings in the rebooted guest.

The issue manifests in vq_is_ready():

static bool
vq_is_ready(struct virtio_net *dev, struct vhost_virtqueue *vq)
{
    /* Only checks pointer validity, not address freshness */
    rings_ok = vq->desc && vq->avail && vq->used;
    ...
}

vq_is_ready() incorrectly considers these queues as ready because it
only checks if desc/avail/used pointers are non-NULL, but cannot
detect that these addresses are stale from the previous boot.

Clear the ring addresses in vhost_user_get_vring_base() to force
the guest driver to reconfigure them before use. This ensures that
vq_is_ready() will return false for queues with stale addresses
until they are properly reconfigured by the guest driver.

Fixes: 3ea7052f4b1b ("vhost: postpone rings addresses translation")

Signed-off-by: Jianping Zhao <zhao305149619@gmail.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 .mailmap               | 1 +
 lib/vhost/vhost_user.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/.mailmap b/.mailmap
index bef76e5fd9..3127a1f91f 100644
--- a/.mailmap
+++ b/.mailmap
@@ -613,6 +613,7 @@ Jia He <justin.he@arm.com> <jia.he@hxt-semitech.com>
 Jianbo Liu <jianbo.liu@arm.com> <jianbo.liu@linaro.org>
 Jianfeng Tan <jianfeng.tan@intel.com>
 Jiangu Zhao <zhaojg@arraynetworks.com.cn>
+Jianping Zhao <zhao305149619@gmail.com>
 Jianwei Ma <jianwei.ma@intel.com>
 Jianwei Mei <jianweix.mei@intel.com>
 Jiaqi Min <jiaqix.min@intel.com>
diff --git a/lib/vhost/vhost_user.c b/lib/vhost/vhost_user.c
index d665d6c7d9..6657355c2a 100644
--- a/lib/vhost/vhost_user.c
+++ b/lib/vhost/vhost_user.c
@@ -2147,6 +2147,7 @@ vhost_user_get_vring_base(struct virtio_net **pdev,
 
 	rte_spinlock_lock(&vq->access_lock);
 	vring_invalidate(dev, vq);
+	memset(&vq->ring_addrs, 0, sizeof(struct vhost_vring_addr));
 	rte_spinlock_unlock(&vq->access_lock);
 
 	return RTE_VHOST_MSG_RESULT_REPLY;
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:16.987365371 +0000
+++ 0002-vhost-clear-ring-addresses-when-getting-vring-base.patch	2025-02-17 16:13:16.782441593 +0000
@@ -1 +1 @@
-From 1846fe767f00a9d0dade333e7838f81e6721b694 Mon Sep 17 00:00:00 2001
+From 08c98824562edf4282350383ec4f55a2fe85e57f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1846fe767f00a9d0dade333e7838f81e6721b694 ]
+
@@ -36 +37,0 @@
-Cc: stable@dpdk.org
@@ -46 +47 @@
-index b90ff0444c..cc1ffe1ad9 100644
+index bef76e5fd9..3127a1f91f 100644
@@ -49 +50,2 @@
-@@ -674,6 +674,7 @@ Jianbo Liu <jianbo.liu@arm.com> <jianbo.liu@linaro.org>
+@@ -613,6 +613,7 @@ Jia He <justin.he@arm.com> <jia.he@hxt-semitech.com>
+ Jianbo Liu <jianbo.liu@arm.com> <jianbo.liu@linaro.org>
@@ -51 +52,0 @@
- Jiang Yu <yux.jiang@intel.com>
@@ -58 +59 @@
-index 6d92ad904e..52d8078d7c 100644
+index d665d6c7d9..6657355c2a 100644
@@ -61 +62 @@
-@@ -2277,6 +2277,7 @@ vhost_user_get_vring_base(struct virtio_net **pdev,
+@@ -2147,6 +2147,7 @@ vhost_user_get_vring_base(struct virtio_net **pdev,
@@ -63 +64 @@
- 	rte_rwlock_write_lock(&vq->access_lock);
+ 	rte_spinlock_lock(&vq->access_lock);
@@ -66 +67 @@
- 	rte_rwlock_write_unlock(&vq->access_lock);
+ 	rte_spinlock_unlock(&vq->access_lock);

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'vhost: check GSO size validity' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
  2025-02-17 17:03 ` patch 'vhost: clear ring addresses when getting vring base' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'crypto/cnxk: fix build with GCC 15' " luca.boccassi
                   ` (75 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Yunjian Wang; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/63bff5d105c47713a59c84753a0af0185cc34759

Thanks.

Luca Boccassi

---
From 63bff5d105c47713a59c84753a0af0185cc34759 Mon Sep 17 00:00:00 2001
From: Yunjian Wang <wangyunjian@huawei.com>
Date: Fri, 20 Dec 2024 11:45:09 +0800
Subject: [PATCH] vhost: check GSO size validity

[ upstream commit 7023f3e532787eec7be674efb7a4aa54f1626b6c ]

The value of tso_segsz cannot be 0, instead check that value of
gso_size was set.

Fixes: d0cf91303d73 ("vhost: add Tx offload capabilities")

Signed-off-by: Yunjian Wang <wangyunjian@huawei.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 lib/vhost/virtio_net.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/vhost/virtio_net.c b/lib/vhost/virtio_net.c
index 9c9d05d4d9..f16b7c45da 100644
--- a/lib/vhost/virtio_net.c
+++ b/lib/vhost/virtio_net.c
@@ -2503,6 +2503,9 @@ vhost_dequeue_offload_legacy(struct virtio_net *dev, struct virtio_net_hdr *hdr,
 	}
 
 	if (hdr->gso_type != VIRTIO_NET_HDR_GSO_NONE) {
+		if (hdr->gso_size == 0)
+			goto error;
+
 		switch (hdr->gso_type & ~VIRTIO_NET_HDR_GSO_ECN) {
 		case VIRTIO_NET_HDR_GSO_TCPV4:
 		case VIRTIO_NET_HDR_GSO_TCPV6:
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.020932861 +0000
+++ 0003-vhost-check-GSO-size-validity.patch	2025-02-17 16:13:16.782441593 +0000
@@ -1 +1 @@
-From 7023f3e532787eec7be674efb7a4aa54f1626b6c Mon Sep 17 00:00:00 2001
+From 63bff5d105c47713a59c84753a0af0185cc34759 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7023f3e532787eec7be674efb7a4aa54f1626b6c ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 69901ab3b5..2ac5bc29a3 100644
+index 9c9d05d4d9..f16b7c45da 100644
@@ -22 +23 @@
-@@ -2733,6 +2733,9 @@ vhost_dequeue_offload_legacy(struct virtio_net *dev, struct virtio_net_hdr *hdr,
+@@ -2503,6 +2503,9 @@ vhost_dequeue_offload_legacy(struct virtio_net *dev, struct virtio_net_hdr *hdr,

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'crypto/cnxk: fix build with GCC 15' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
  2025-02-17 17:03 ` patch 'vhost: clear ring addresses when getting vring base' " luca.boccassi
  2025-02-17 17:03 ` patch 'vhost: check GSO size validity' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'net/thunderx/base: " luca.boccassi
                   ` (74 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/a48eaccd798733531513c03baafd4eb018afded1

Thanks.

Luca Boccassi

---
From a48eaccd798733531513c03baafd4eb018afded1 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Mon, 20 Jan 2025 15:23:38 -0800
Subject: [PATCH] crypto/cnxk: fix build with GCC 15
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 224e37a6a442b6a1f6d179b1756383f1a80cf3ed ]

GCC 15 produces warnings about uninitialized variables.

In file included from ../lib/mbuf/rte_mbuf.h:36,
                 from ../lib/cryptodev/rte_crypto.h:15,
                 from ../lib/cryptodev/rte_cryptodev.h:19,
                 from ../drivers/crypto/cnxk/cn9k_cryptodev_ops.c:5:
In function ‘pdcp_chain_sg1_prep’,
    inlined from ‘cpt_pdcp_chain_alg_prep’ at ../drivers/crypto/cnxk/cnxk_se.h:1621:11,
    inlined from ‘fill_pdcp_chain_params’ at ../drivers/crypto/cnxk/cnxk_se.h:3114:8,
    inlined from ‘cpt_sym_inst_fill’ at ../drivers/crypto/cnxk/cnxk_se.h:3364:9,
    inlined from ‘cn9k_cpt_inst_prep’ at ../drivers/crypto/cnxk/cn9k_cryptodev_ops.c:93:10:
../lib/eal/include/rte_common.h:469:38: warning: ‘fc_params.meta_buf.vaddr’ may be used uninitialized [-Wmaybe-uninitialized]
  469 | #define RTE_PTR_ADD(ptr, x) ((void*)((uintptr_t)(ptr) + (x)))
      |                                      ^~~~~~~~~~~~~~~~
../drivers/common/cnxk/roc_platform.h:47:34: note: in expansion of macro ‘RTE_PTR_ADD’
   47 | #define PLT_PTR_ADD              RTE_PTR_ADD
      |                                  ^~~~~~~~~~~
../drivers/crypto/cnxk/cnxk_se.h:900:19: note: in expansion of macro ‘PLT_PTR_ADD’
  900 |         m_vaddr = PLT_PTR_ADD(m_vaddr, ROC_SE_OFF_CTRL_LEN + PLT_ALIGN_CEIL(hdr_len, 8));
      |                   ^~~~~~~~~~~
In file included from ../drivers/crypto/cnxk/cn9k_cryptodev_ops.c:20:
../drivers/crypto/cnxk/cnxk_se.h: In function ‘cn9k_cpt_inst_prep’:
../drivers/crypto/cnxk/cnxk_se.h:3008:33: note: ‘fc_params.meta_buf.vaddr’ was declared here
 3008 |         struct roc_se_fc_params fc_params;
      |                                 ^~~~~~~~~
In function ‘pdcp_chain_sg1_prep’,
    inlined from ‘cpt_pdcp_chain_alg_prep’ at ../drivers/crypto/cnxk/cnxk_se.h:1621:11,
    inlined from ‘fill_pdcp_chain_params’ at ../drivers/crypto/cnxk/cnxk_se.h:3114:8,
    inlined from ‘cpt_sym_inst_fill’ at ../drivers/crypto/cnxk/cnxk_se.h:3364:9,
    inlined from ‘cn9k_cpt_inst_prep’ at ../drivers/crypto/cnxk/cn9k_cryptodev_ops.c:82:10:
../lib/eal/include/rte_common.h:469:38: warning: ‘fc_params.meta_buf.vaddr’ may be used uninitialized [-Wmaybe-uninitialized]
  469 | #define RTE_PTR_ADD(ptr, x) ((void*)((uintptr_t)(ptr) + (x)))
      |                                      ^~~~~~~~~~~~~~~~
../drivers/common/cnxk/roc_platform.h:47:34: note: in expansion of macro ‘RTE_PTR_ADD’
   47 | #define PLT_PTR_ADD              RTE_PTR_ADD
      |                                  ^~~~~~~~~~~
../drivers/crypto/cnxk/cnxk_se.h:900:19: note: in expansion of macro ‘PLT_PTR_ADD’
  900 |         m_vaddr = PLT_PTR_ADD(m_vaddr, ROC_SE_OFF_CTRL_LEN + PLT_ALIGN_CEIL(hdr_len, 8));
      |                   ^~~~~~~~~~~
../drivers/crypto/cnxk/cnxk_se.h: In function ‘cn9k_cpt_inst_prep’:
../drivers/crypto/cnxk/cnxk_se.h:3008:33: note: ‘fc_params.meta_buf.vaddr’ was declared here
 3008 |         struct roc_se_fc_params fc_params;
      |                                 ^~~~~~~~~

Fixes: d3bff77cc371 ("crypto/cnxk: separate out PDCP chain datapath")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: David Marchand <david.marchand@redhat.com>
---
 drivers/crypto/cnxk/cnxk_se.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/crypto/cnxk/cnxk_se.h b/drivers/crypto/cnxk/cnxk_se.h
index 32e2b2cd64..ea455f41e3 100644
--- a/drivers/crypto/cnxk/cnxk_se.h
+++ b/drivers/crypto/cnxk/cnxk_se.h
@@ -2752,7 +2752,7 @@ fill_pdcp_chain_params(struct rte_crypto_op *cop, struct cnxk_se_sess *sess,
 {
 	uint32_t ci_data_length, ci_data_offset, a_data_length, a_data_offset;
 	struct rte_crypto_sym_op *sym_op = cop->sym;
-	struct roc_se_fc_params fc_params;
+	struct roc_se_fc_params fc_params = { };
 	struct rte_mbuf *m_src, *m_dst;
 	uint8_t cpt_op = sess->cpt_op;
 	uint64_t d_offs, d_lens;
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.053201612 +0000
+++ 0004-crypto-cnxk-fix-build-with-GCC-15.patch	2025-02-17 16:13:16.786441593 +0000
@@ -1 +1 @@
-From 224e37a6a442b6a1f6d179b1756383f1a80cf3ed Mon Sep 17 00:00:00 2001
+From a48eaccd798733531513c03baafd4eb018afded1 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 224e37a6a442b6a1f6d179b1756383f1a80cf3ed ]
+
@@ -54 +55,0 @@
-Cc: stable@dpdk.org
@@ -63 +64 @@
-index 7262a49945..649e38c495 100644
+index 32e2b2cd64..ea455f41e3 100644
@@ -66 +67 @@
-@@ -3005,7 +3005,7 @@ fill_pdcp_chain_params(struct rte_crypto_op *cop, struct cnxk_se_sess *sess,
+@@ -2752,7 +2752,7 @@ fill_pdcp_chain_params(struct rte_crypto_op *cop, struct cnxk_se_sess *sess,

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/thunderx/base: fix build with GCC 15' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (2 preceding siblings ...)
  2025-02-17 17:03 ` patch 'crypto/cnxk: fix build with GCC 15' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'eal/x86: fix some intrinsics header include for Windows' " luca.boccassi
                   ` (73 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/e7efa63569eafa7d129e40cf2e5c645ad35c0a1d

Thanks.

Luca Boccassi

---
From e7efa63569eafa7d129e40cf2e5c645ad35c0a1d Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Mon, 20 Jan 2025 15:23:39 -0800
Subject: [PATCH] net/thunderx/base: fix build with GCC 15
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit e7133f8fb39f506dc1eef02c2927acda949ca000 ]

Gcc 15 now produces warning with the base code of Thunderx driver.
The issue is that Gcc now defaults to C23 mode, and the standards
gods have decided that the result of partial initialization of a union
is not defined for other fields.

The fix is to use an empty initializer which forces full initialization.

[2377/3224] Compiling C object drivers/net/thunderx/base/libnicvf_base.a.p/nicvf_mbox.c.o
In function ‘nicvf_mbox_send_msg_to_pf_raw’,
    inlined from ‘nicvf_mbox_send_async_msg_to_pf’ at ../drivers/net/thunderx/base/nicvf_mbox.c:70:2,
    inlined from ‘nicvf_mbox_cfg_done’ at ../drivers/net/thunderx/base/nicvf_mbox.c:468:2:
../drivers/net/thunderx/base/nicvf_mbox.c:59:17: warning: ‘mbx’ is used uninitialized [-Wuninitialized]
   59 |                 nicvf_reg_write(nic, mbx_addr, *mbx_data);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../drivers/net/thunderx/base/nicvf_mbox.c: In function ‘nicvf_mbox_cfg_done’:
../drivers/net/thunderx/base/nicvf_mbox.c:465:24: note: ‘mbx’ declared here
  465 |         struct nic_mbx mbx = { .msg = { 0 } };
      |                        ^~~
In function ‘nicvf_mbox_send_msg_to_pf_raw’,
    inlined from ‘nicvf_mbox_send_async_msg_to_pf’ at ../drivers/net/thunderx/base/nicvf_mbox.c:70:2,
    inlined from ‘nicvf_mbox_link_change’ at ../drivers/net/thunderx/base/nicvf_mbox.c:477:2:
../drivers/net/thunderx/base/nicvf_mbox.c:59:17: warning: ‘mbx’ is used uninitialized [-Wuninitialized]
   59 |                 nicvf_reg_write(nic, mbx_addr, *mbx_data);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../drivers/net/thunderx/base/nicvf_mbox.c: In function ‘nicvf_mbox_link_change’:
../drivers/net/thunderx/base/nicvf_mbox.c:474:24: note: ‘mbx’ declared here
  474 |         struct nic_mbx mbx = { .msg = { 0 } };

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: David Marchand <david.marchand@redhat.com>
---
 drivers/net/thunderx/base/nicvf_mbox.c | 42 +++++++++++++-------------
 1 file changed, 21 insertions(+), 21 deletions(-)

diff --git a/drivers/net/thunderx/base/nicvf_mbox.c b/drivers/net/thunderx/base/nicvf_mbox.c
index 0e0176974d..29407f75fa 100644
--- a/drivers/net/thunderx/base/nicvf_mbox.c
+++ b/drivers/net/thunderx/base/nicvf_mbox.c
@@ -212,7 +212,7 @@ int
 nicvf_mbox_set_mac_addr(struct nicvf *nic,
 			const uint8_t mac[NICVF_MAC_ADDR_SIZE])
 {
-	struct nic_mbx mbx = { .msg = {0} };
+	struct nic_mbx mbx = { };
 	int i;
 
 	mbx.msg.msg = NIC_MBOX_MSG_SET_MAC;
@@ -226,7 +226,7 @@ nicvf_mbox_set_mac_addr(struct nicvf *nic,
 int
 nicvf_mbox_config_cpi(struct nicvf *nic, uint32_t qcnt)
 {
-	struct nic_mbx mbx = { .msg = { 0 } };
+	struct nic_mbx mbx = { };
 
 	mbx.msg.msg = NIC_MBOX_MSG_CPI_CFG;
 	mbx.cpi_cfg.vf_id = nic->vf_id;
@@ -239,7 +239,7 @@ nicvf_mbox_config_cpi(struct nicvf *nic, uint32_t qcnt)
 int
 nicvf_mbox_get_rss_size(struct nicvf *nic)
 {
-	struct nic_mbx mbx = { .msg = { 0 } };
+	struct nic_mbx mbx = { };
 
 	mbx.msg.msg = NIC_MBOX_MSG_RSS_SIZE;
 	mbx.rss_size.vf_id = nic->vf_id;
@@ -251,7 +251,7 @@ nicvf_mbox_get_rss_size(struct nicvf *nic)
 int
 nicvf_mbox_config_rss(struct nicvf *nic)
 {
-	struct nic_mbx mbx = { .msg = { 0 } };
+	struct nic_mbx mbx = { };
 	struct nicvf_rss_reta_info *rss = &nic->rss_info;
 	size_t tot_len = rss->rss_size;
 	size_t cur_len;
@@ -284,7 +284,7 @@ int
 nicvf_mbox_rq_config(struct nicvf *nic, uint16_t qidx,
 		     struct pf_rq_cfg *pf_rq_cfg)
 {
-	struct nic_mbx mbx = { .msg = { 0 } };
+	struct nic_mbx mbx = { };
 
 	mbx.msg.msg = NIC_MBOX_MSG_RQ_CFG;
 	mbx.rq.qs_num = nic->vf_id;
@@ -296,7 +296,7 @@ nicvf_mbox_rq_config(struct nicvf *nic, uint16_t qidx,
 int
 nicvf_mbox_sq_config(struct nicvf *nic, uint16_t qidx)
 {
-	struct nic_mbx mbx = { .msg = { 0 } };
+	struct nic_mbx mbx = { };
 
 	mbx.msg.msg = NIC_MBOX_MSG_SQ_CFG;
 	mbx.sq.qs_num = nic->vf_id;
@@ -309,7 +309,7 @@ nicvf_mbox_sq_config(struct nicvf *nic, uint16_t qidx)
 int
 nicvf_mbox_qset_config(struct nicvf *nic, struct pf_qs_cfg *qs_cfg)
 {
-	struct nic_mbx mbx = { .msg = { 0 } };
+	struct nic_mbx mbx = { };
 
 #if NICVF_BYTE_ORDER == NICVF_BIG_ENDIAN
 	qs_cfg->be = 1;
@@ -325,7 +325,7 @@ nicvf_mbox_qset_config(struct nicvf *nic, struct pf_qs_cfg *qs_cfg)
 int
 nicvf_mbox_request_sqs(struct nicvf *nic)
 {
-	struct nic_mbx mbx = { .msg = { 0 } };
+	struct nic_mbx mbx = { };
 	size_t i;
 
 	assert_primary(nic);
@@ -346,7 +346,7 @@ nicvf_mbox_request_sqs(struct nicvf *nic)
 int
 nicvf_mbox_rq_drop_config(struct nicvf *nic, uint16_t qidx, bool enable)
 {
-	struct nic_mbx mbx = { .msg = { 0 } };
+	struct nic_mbx mbx = { };
 	struct pf_rq_drop_cfg *drop_cfg;
 
 	/* Enable CQ drop to reserve sufficient CQEs for all tx packets */
@@ -365,7 +365,7 @@ nicvf_mbox_rq_drop_config(struct nicvf *nic, uint16_t qidx, bool enable)
 int
 nicvf_mbox_update_hw_max_frs(struct nicvf *nic, uint16_t mtu)
 {
-	struct nic_mbx mbx = { .msg = { 0 } };
+	struct nic_mbx mbx = { };
 
 	mbx.msg.msg = NIC_MBOX_MSG_SET_MAX_FRS;
 	mbx.frs.max_frs = mtu;
@@ -376,7 +376,7 @@ nicvf_mbox_update_hw_max_frs(struct nicvf *nic, uint16_t mtu)
 int
 nicvf_mbox_rq_sync(struct nicvf *nic)
 {
-	struct nic_mbx mbx = { .msg = { 0 } };
+	struct nic_mbx mbx = { };
 
 	/* Make sure all packets in the pipeline are written back into mem */
 	mbx.msg.msg = NIC_MBOX_MSG_RQ_SW_SYNC;
@@ -387,7 +387,7 @@ nicvf_mbox_rq_sync(struct nicvf *nic)
 int
 nicvf_mbox_rq_bp_config(struct nicvf *nic, uint16_t qidx, bool enable)
 {
-	struct nic_mbx mbx = { .msg = { 0 } };
+	struct nic_mbx mbx = { };
 
 	mbx.msg.msg = NIC_MBOX_MSG_RQ_BP_CFG;
 	mbx.rq.qs_num = nic->vf_id;
@@ -401,7 +401,7 @@ nicvf_mbox_rq_bp_config(struct nicvf *nic, uint16_t qidx, bool enable)
 int
 nicvf_mbox_loopback_config(struct nicvf *nic, bool enable)
 {
-	struct nic_mbx mbx = { .msg = { 0 } };
+	struct nic_mbx mbx = { };
 
 	mbx.lbk.msg = NIC_MBOX_MSG_LOOPBACK;
 	mbx.lbk.vf_id = nic->vf_id;
@@ -414,7 +414,7 @@ nicvf_mbox_reset_stat_counters(struct nicvf *nic, uint16_t rx_stat_mask,
 			       uint8_t tx_stat_mask, uint16_t rq_stat_mask,
 			       uint16_t sq_stat_mask)
 {
-	struct nic_mbx mbx = { .msg = { 0 } };
+	struct nic_mbx mbx = { };
 
 	mbx.reset_stat.msg = NIC_MBOX_MSG_RESET_STAT_COUNTER;
 	mbx.reset_stat.rx_stat_mask = rx_stat_mask;
@@ -427,7 +427,7 @@ nicvf_mbox_reset_stat_counters(struct nicvf *nic, uint16_t rx_stat_mask,
 int
 nicvf_mbox_set_link_up_down(struct nicvf *nic, bool enable)
 {
-	struct nic_mbx mbx = { .msg = { 0 } };
+	struct nic_mbx mbx = { };
 
 	mbx.lbk.msg = NIC_MBOX_MSG_SET_LINK;
 	mbx.lbk.vf_id = nic->vf_id;
@@ -439,7 +439,7 @@ nicvf_mbox_set_link_up_down(struct nicvf *nic, bool enable)
 int
 nicvf_mbox_change_mode(struct nicvf *nic, struct change_link_mode *cfg)
 {
-	struct nic_mbx mbx = { .msg = { 0 } };
+	struct nic_mbx mbx = { };
 
 	mbx.mode.msg = NIC_MBOX_MSG_CHANGE_MODE;
 	mbx.mode.vf_id = nic->vf_id;
@@ -453,7 +453,7 @@ nicvf_mbox_change_mode(struct nicvf *nic, struct change_link_mode *cfg)
 void
 nicvf_mbox_shutdown(struct nicvf *nic)
 {
-	struct nic_mbx mbx = { .msg = { 0 } };
+	struct nic_mbx mbx = { };
 
 	mbx.msg.msg = NIC_MBOX_MSG_SHUTDOWN;
 	nicvf_mbox_send_msg_to_pf(nic, &mbx);
@@ -462,7 +462,7 @@ nicvf_mbox_shutdown(struct nicvf *nic)
 void
 nicvf_mbox_cfg_done(struct nicvf *nic)
 {
-	struct nic_mbx mbx = { .msg = { 0 } };
+	struct nic_mbx mbx = { };
 
 	mbx.msg.msg = NIC_MBOX_MSG_CFG_DONE;
 	nicvf_mbox_send_async_msg_to_pf(nic, &mbx);
@@ -471,7 +471,7 @@ nicvf_mbox_cfg_done(struct nicvf *nic)
 void
 nicvf_mbox_link_change(struct nicvf *nic)
 {
-	struct nic_mbx mbx = { .msg = { 0 } };
+	struct nic_mbx mbx = { };
 
 	mbx.msg.msg = NIC_MBOX_MSG_BGX_LINK_CHANGE;
 	nicvf_mbox_send_async_msg_to_pf(nic, &mbx);
@@ -480,7 +480,7 @@ nicvf_mbox_link_change(struct nicvf *nic)
 void
 nicvf_mbox_reset_xcast(struct nicvf *nic)
 {
-	struct nic_mbx mbx = { .msg = { 0 } };
+	struct nic_mbx mbx = { };
 
 	mbx.msg.msg = NIC_MBOX_MSG_RESET_XCAST;
 	nicvf_mbox_send_msg_to_pf(nic, &mbx);
@@ -489,7 +489,7 @@ nicvf_mbox_reset_xcast(struct nicvf *nic)
 int
 nicvf_mbox_set_xcast(struct nicvf *nic, uint8_t  mode, uint64_t mac)
 {
-	struct nic_mbx mbx = { .msg = { 0 } };
+	struct nic_mbx mbx = { };
 
 	mbx.xcast.msg = NIC_MBOX_MSG_SET_XCAST;
 	mbx.xcast.mode = mode;
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.086302602 +0000
+++ 0005-net-thunderx-base-fix-build-with-GCC-15.patch	2025-02-17 16:13:16.786441593 +0000
@@ -1 +1 @@
-From e7133f8fb39f506dc1eef02c2927acda949ca000 Mon Sep 17 00:00:00 2001
+From e7efa63569eafa7d129e40cf2e5c645ad35c0a1d Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit e7133f8fb39f506dc1eef02c2927acda949ca000 ]
+
@@ -36,2 +37,0 @@
-
-Cc: stable@dpdk.org

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'eal/x86: fix some intrinsics header include for Windows' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (3 preceding siblings ...)
  2025-02-17 17:03 ` patch 'net/thunderx/base: " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'net/bonding: fix dedicated queue setup' " luca.boccassi
                   ` (72 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Andre Muezerie; +Cc: Pier Damouny, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/b260bcc18c7a05fb2edc61cb19a882b01c35c870

Thanks.

Luca Boccassi

---
From b260bcc18c7a05fb2edc61cb19a882b01c35c870 Mon Sep 17 00:00:00 2001
From: Andre Muezerie <andremue@linux.microsoft.com>
Date: Tue, 14 Jan 2025 08:21:13 -0800
Subject: [PATCH] eal/x86: fix some intrinsics header include for Windows

[ upstream commit 5b856206c74bbcf19e12cafa15382a7e15b0a1b5 ]

Error reported:
../lib/net/net_crc_sse.c:49:17: error: call to undeclared function
'_mm_clmulepi64_si128'; ISO C99 and later do not support implicit
function declarations [-Wimplicit-function-declaration]

The fix is to remove the unnecessary ifdef around the inclusion of
header file immintrin.h. This header also contains functions that do
not require AVX instructions, so should not be included only when AVX
is available.

Bugzilla ID: 1595
Fixes: da826b7135a4 ("eal: introduce ymm type for AVX 256-bit")

Reported-by: Pier Damouny <pdamouny@nvidia.com>
Signed-off-by: Andre Muezerie <andremue@linux.microsoft.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 .mailmap                       | 1 +
 lib/eal/x86/include/rte_vect.h | 4 ----
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/.mailmap b/.mailmap
index 3127a1f91f..df8e5c48ab 100644
--- a/.mailmap
+++ b/.mailmap
@@ -1085,6 +1085,7 @@ Petr Houska <t-pehous@microsoft.com>
 Phanendra Vukkisala <pvukkisala@marvell.com>
 Phil Yang <phil.yang@arm.com>
 Philip Prindeville <philipp@redfish-solutions.com>
+Pier Damouny <pdamouny@nvidia.com>
 Pierre Pfister <ppfister@cisco.com>
 Piotr Azarewicz <piotr.azarewicz@intel.com> <piotrx.t.azarewicz@intel.com>
 Piotr Bartosiewicz <piotr.bartosiewicz@atendesoftware.pl>
diff --git a/lib/eal/x86/include/rte_vect.h b/lib/eal/x86/include/rte_vect.h
index 2e40b77da9..ea0bf169fd 100644
--- a/lib/eal/x86/include/rte_vect.h
+++ b/lib/eal/x86/include/rte_vect.h
@@ -21,11 +21,7 @@
 	(__GNUC__ == 4 &&  __GNUC_MINOR__ < 4))
 
 #include <smmintrin.h> /* SSE4 */
-
-#if defined(__AVX__)
 #include <immintrin.h>
-#endif
-
 #else
 
 #include <x86intrin.h>
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.117441232 +0000
+++ 0006-eal-x86-fix-some-intrinsics-header-include-for-Windo.patch	2025-02-17 16:13:16.786441593 +0000
@@ -1 +1 @@
-From 5b856206c74bbcf19e12cafa15382a7e15b0a1b5 Mon Sep 17 00:00:00 2001
+From b260bcc18c7a05fb2edc61cb19a882b01c35c870 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 5b856206c74bbcf19e12cafa15382a7e15b0a1b5 ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
@@ -24,3 +25,3 @@
- .mailmap                       | 2 +-
- lib/eal/x86/include/rte_vect.h | 2 --
- 2 files changed, 1 insertion(+), 3 deletions(-)
+ .mailmap                       | 1 +
+ lib/eal/x86/include/rte_vect.h | 4 ----
+ 2 files changed, 1 insertion(+), 4 deletions(-)
@@ -29 +30 @@
-index cc1ffe1ad9..94e12acbd4 100644
+index 3127a1f91f..df8e5c48ab 100644
@@ -32 +33 @@
-@@ -1192,7 +1192,7 @@ Petr Houska <t-pehous@microsoft.com>
+@@ -1085,6 +1085,7 @@ Petr Houska <t-pehous@microsoft.com>
@@ -36 +36,0 @@
--Pier Damouny  <pdamouny@nvidia.com>
@@ -42 +42 @@
-index 5ac3ccfd82..5fdcd632ac 100644
+index 2e40b77da9..ea0bf169fd 100644
@@ -45 +45,2 @@
-@@ -19,9 +19,7 @@
+@@ -21,11 +21,7 @@
+ 	(__GNUC__ == 4 &&  __GNUC_MINOR__ < 4))
@@ -47 +47,0 @@
- #if defined(__ICC) || defined(_WIN64)
@@ -48,0 +49 @@
+-
@@ -51,0 +53 @@
+-
@@ -52,0 +55 @@
+ 
@@ -54 +56,0 @@
- #endif

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/bonding: fix dedicated queue setup' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (4 preceding siblings ...)
  2025-02-17 17:03 ` patch 'eal/x86: fix some intrinsics header include for Windows' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'net/hns3: fix mbuf freeing in simple Tx path' " luca.boccassi
                   ` (71 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Long Wu; +Cc: Chaoyong He, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/4c7148bc0ebe1a81b38b90cd3be73bb9f817c3b1

Thanks.

Luca Boccassi

---
From 4c7148bc0ebe1a81b38b90cd3be73bb9f817c3b1 Mon Sep 17 00:00:00 2001
From: Long Wu <long.wu@corigine.com>
Date: Thu, 26 Dec 2024 09:26:18 +0800
Subject: [PATCH] net/bonding: fix dedicated queue setup

[ upstream commit 4da0705bf896327af062212b5a1e6cb1f1366aa5 ]

The bonding PMD hardcoded the value of dedicated hardware Rx/Tx
queue size as (128/512). This will cause the bonding port start
fail if some NIC requires more Rx/Tx descriptors than the hardcoded
number.

Therefore, use the minimum hardware queue size of the member port
to initialize dedicated hardware Rx/Tx queue. If obtaining the
minimum queue size failed, use the default queue size.

Fixes: 112891cd27e5 ("net/bonding: add dedicated HW queues for LACP control")

Signed-off-by: Long Wu <long.wu@corigine.com>
Reviewed-by: Chaoyong He <chaoyong.he@corigine.com>
---
 drivers/net/bonding/rte_eth_bond_8023ad.h |  3 +++
 drivers/net/bonding/rte_eth_bond_pmd.c    | 24 +++++++++++++++++++++--
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.h b/drivers/net/bonding/rte_eth_bond_8023ad.h
index 025bd0ec54..d4c1d78d77 100644
--- a/drivers/net/bonding/rte_eth_bond_8023ad.h
+++ b/drivers/net/bonding/rte_eth_bond_8023ad.h
@@ -35,6 +35,9 @@ extern "C" {
 #define MARKER_TLV_TYPE_INFO                0x01
 #define MARKER_TLV_TYPE_RESP                0x02
 
+#define SLOW_TX_QUEUE_HW_DEFAULT_SIZE       512
+#define SLOW_RX_QUEUE_HW_DEFAULT_SIZE       512
+
 typedef void (*rte_eth_bond_8023ad_ext_slowrx_fn)(uint16_t slave_id,
 						  struct rte_mbuf *lacp_pkt);
 
diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
index 8df632fa6e..0e6f3aa42b 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -1681,10 +1681,27 @@ slave_configure_slow_queue(struct rte_eth_dev *bonded_eth_dev,
 	}
 
 	if (internals->mode4.dedicated_queues.enabled == 1) {
+		struct rte_eth_dev_info member_info = {};
+		uint16_t nb_rx_desc = SLOW_RX_QUEUE_HW_DEFAULT_SIZE;
+		uint16_t nb_tx_desc = SLOW_TX_QUEUE_HW_DEFAULT_SIZE;
+
+		errval = rte_eth_dev_info_get(slave_eth_dev->data->port_id,
+				&member_info);
+		if (errval != 0) {
+			RTE_BOND_LOG(ERR,
+					"rte_eth_dev_info_get: port=%d, err (%d)",
+					slave_eth_dev->data->port_id,
+					errval);
+			return errval;
+		}
+
+		if (member_info.rx_desc_lim.nb_min != 0)
+			nb_rx_desc = member_info.rx_desc_lim.nb_min;
+
 		/* Configure slow Rx queue */
 
 		errval = rte_eth_rx_queue_setup(slave_eth_dev->data->port_id,
-				internals->mode4.dedicated_queues.rx_qid, 128,
+				internals->mode4.dedicated_queues.rx_qid, nb_rx_desc,
 				rte_eth_dev_socket_id(slave_eth_dev->data->port_id),
 				NULL, port->slow_pool);
 		if (errval != 0) {
@@ -1696,8 +1713,11 @@ slave_configure_slow_queue(struct rte_eth_dev *bonded_eth_dev,
 			return errval;
 		}
 
+		if (member_info.tx_desc_lim.nb_min != 0)
+			nb_tx_desc = member_info.tx_desc_lim.nb_min;
+
 		errval = rte_eth_tx_queue_setup(slave_eth_dev->data->port_id,
-				internals->mode4.dedicated_queues.tx_qid, 512,
+				internals->mode4.dedicated_queues.tx_qid, nb_tx_desc,
 				rte_eth_dev_socket_id(slave_eth_dev->data->port_id),
 				NULL);
 		if (errval != 0) {
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.149873051 +0000
+++ 0007-net-bonding-fix-dedicated-queue-setup.patch	2025-02-17 16:13:16.786441593 +0000
@@ -1 +1 @@
-From 4da0705bf896327af062212b5a1e6cb1f1366aa5 Mon Sep 17 00:00:00 2001
+From 4c7148bc0ebe1a81b38b90cd3be73bb9f817c3b1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4da0705bf896327af062212b5a1e6cb1f1366aa5 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -22,2 +23,2 @@
- drivers/net/bonding/rte_eth_bond_pmd.c    | 25 ++++++++++++++++++++---
- 2 files changed, 25 insertions(+), 3 deletions(-)
+ drivers/net/bonding/rte_eth_bond_pmd.c    | 24 +++++++++++++++++++++--
+ 2 files changed, 25 insertions(+), 2 deletions(-)
@@ -26 +27 @@
-index 395e41ff95..4c30bd40ee 100644
+index 025bd0ec54..d4c1d78d77 100644
@@ -36 +37 @@
- typedef void (*rte_eth_bond_8023ad_ext_slowrx_fn)(uint16_t member_id,
+ typedef void (*rte_eth_bond_8023ad_ext_slowrx_fn)(uint16_t slave_id,
@@ -40 +41 @@
-index f69496feec..467f7fe7ea 100644
+index 8df632fa6e..0e6f3aa42b 100644
@@ -43 +44 @@
-@@ -1684,10 +1684,26 @@ member_configure_slow_queue(struct rte_eth_dev *bonding_eth_dev,
+@@ -1681,10 +1681,27 @@ slave_configure_slow_queue(struct rte_eth_dev *bonded_eth_dev,
@@ -51 +52 @@
-+		errval = rte_eth_dev_info_get(member_eth_dev->data->port_id,
++		errval = rte_eth_dev_info_get(slave_eth_dev->data->port_id,
@@ -56 +57 @@
-+					member_eth_dev->data->port_id,
++					slave_eth_dev->data->port_id,
@@ -65,2 +66,2 @@
--
- 		errval = rte_eth_rx_queue_setup(member_eth_dev->data->port_id,
+ 
+ 		errval = rte_eth_rx_queue_setup(slave_eth_dev->data->port_id,
@@ -69 +70 @@
- 				rte_eth_dev_socket_id(member_eth_dev->data->port_id),
+ 				rte_eth_dev_socket_id(slave_eth_dev->data->port_id),
@@ -72 +73 @@
-@@ -1699,8 +1715,11 @@ member_configure_slow_queue(struct rte_eth_dev *bonding_eth_dev,
+@@ -1696,8 +1713,11 @@ slave_configure_slow_queue(struct rte_eth_dev *bonded_eth_dev,
@@ -79 +80 @@
- 		errval = rte_eth_tx_queue_setup(member_eth_dev->data->port_id,
+ 		errval = rte_eth_tx_queue_setup(slave_eth_dev->data->port_id,
@@ -82 +83 @@
- 				rte_eth_dev_socket_id(member_eth_dev->data->port_id),
+ 				rte_eth_dev_socket_id(slave_eth_dev->data->port_id),

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/hns3: fix mbuf freeing in simple Tx path' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (5 preceding siblings ...)
  2025-02-17 17:03 ` patch 'net/bonding: fix dedicated queue setup' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'net/hns3: remove PVID info dump for VF' " luca.boccassi
                   ` (70 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Dengdui Huang; +Cc: Jie Hai, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/8d4e433013780c6e50077717809d29b587d02456

Thanks.

Luca Boccassi

---
From 8d4e433013780c6e50077717809d29b587d02456 Mon Sep 17 00:00:00 2001
From: Dengdui Huang <huangdengdui@huawei.com>
Date: Mon, 30 Dec 2024 14:54:03 +0800
Subject: [PATCH] net/hns3: fix mbuf freeing in simple Tx path

[ upstream commit d78c76dbeffbd2994d77236c403281b34612e024 ]

When RTE_ETH_TX_OFFLOAD_MBUF_FAST_FREE offload is not set,
use rte_pktmbuf_free_seg() to free the mbuf.

Fixes: 7ef933908f04 ("net/hns3: add simple Tx path")

Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
Signed-off-by: Jie Hai <haijie1@huawei.com>
---
 drivers/net/hns3/hns3_rxtx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c
index bdc162bc5c..3c866103ef 100644
--- a/drivers/net/hns3/hns3_rxtx.c
+++ b/drivers/net/hns3/hns3_rxtx.c
@@ -4000,7 +4000,7 @@ hns3_tx_free_buffer_simple(struct hns3_tx_queue *txq)
 		for (i = 0; i < txq->tx_rs_thresh; i++)
 			rte_prefetch0((tx_entry + i)->mbuf);
 		for (i = 0; i < txq->tx_rs_thresh; i++, tx_entry++) {
-			rte_mempool_put(tx_entry->mbuf->pool, tx_entry->mbuf);
+			rte_pktmbuf_free_seg(tx_entry->mbuf);
 			tx_entry->mbuf = NULL;
 		}
 
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.184175546 +0000
+++ 0008-net-hns3-fix-mbuf-freeing-in-simple-Tx-path.patch	2025-02-17 16:13:16.790441593 +0000
@@ -1 +1 @@
-From d78c76dbeffbd2994d77236c403281b34612e024 Mon Sep 17 00:00:00 2001
+From 8d4e433013780c6e50077717809d29b587d02456 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d78c76dbeffbd2994d77236c403281b34612e024 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 03bbbc435f..09e39cb673 100644
+index bdc162bc5c..3c866103ef 100644
@@ -22 +23 @@
-@@ -4006,7 +4006,7 @@ hns3_tx_free_buffer_simple(struct hns3_tx_queue *txq)
+@@ -4000,7 +4000,7 @@ hns3_tx_free_buffer_simple(struct hns3_tx_queue *txq)

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/hns3: remove PVID info dump for VF' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (6 preceding siblings ...)
  2025-02-17 17:03 ` patch 'net/hns3: fix mbuf freeing in simple Tx path' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'net/hns3: rename RAS module' " luca.boccassi
                   ` (69 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Jie Hai; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/4e3b40bb8a743cb142582d3c58ff6469c33f46d1

Thanks.

Luca Boccassi

---
From 4e3b40bb8a743cb142582d3c58ff6469c33f46d1 Mon Sep 17 00:00:00 2001
From: Jie Hai <haijie1@huawei.com>
Date: Mon, 30 Dec 2024 14:54:04 +0800
Subject: [PATCH] net/hns3: remove PVID info dump for VF

[ upstream commit 3c805c1ebe02248bb0c2ba944046c2e3354b0c11 ]

Since the PVID status obtained from kernel varies on different
platform, and the PVID of VF can be accessed by 'ip link show'
command, so remove it in case of misunderstanding.

Fixes: 871e5a4f881b ("net/hns3: dump VLAN configuration info")

Signed-off-by: Jie Hai <haijie1@huawei.com>
---
 drivers/net/hns3/hns3_dump.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/net/hns3/hns3_dump.c b/drivers/net/hns3/hns3_dump.c
index bac4427227..22ac3de146 100644
--- a/drivers/net/hns3/hns3_dump.c
+++ b/drivers/net/hns3/hns3_dump.c
@@ -628,6 +628,10 @@ hns3_get_vlan_tx_offload_cfg(FILE *file, struct hns3_hw *hw)
 static void
 hns3_get_port_pvid_info(FILE *file, struct hns3_hw *hw)
 {
+	struct hns3_adapter *hns = HNS3_DEV_HW_TO_ADAPTER(hw);
+	if (hns->is_vf)
+		return;
+
 	fprintf(file, "  - pvid status: %s\n",
 		hw->port_base_vlan_cfg.state ? "On" : "Off");
 }
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.217920359 +0000
+++ 0009-net-hns3-remove-PVID-info-dump-for-VF.patch	2025-02-17 16:13:16.790441593 +0000
@@ -1 +1 @@
-From 3c805c1ebe02248bb0c2ba944046c2e3354b0c11 Mon Sep 17 00:00:00 2001
+From 4e3b40bb8a743cb142582d3c58ff6469c33f46d1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3c805c1ebe02248bb0c2ba944046c2e3354b0c11 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 738dcb0c42..f21d32e6a2 100644
+index bac4427227..22ac3de146 100644
@@ -22 +23 @@
-@@ -693,6 +693,10 @@ hns3_get_vlan_tx_offload_cfg(FILE *file, struct hns3_hw *hw)
+@@ -628,6 +628,10 @@ hns3_get_vlan_tx_offload_cfg(FILE *file, struct hns3_hw *hw)

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/hns3: rename RAS module' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (7 preceding siblings ...)
  2025-02-17 17:03 ` patch 'net/hns3: remove PVID info dump for VF' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'net/sfc: remove unnecessary assignment' " luca.boccassi
                   ` (68 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Jie Hai; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/3c915efd369d17f8868d8933756cb4b7626be8ac

Thanks.

Luca Boccassi

---
From 3c915efd369d17f8868d8933756cb4b7626be8ac Mon Sep 17 00:00:00 2001
From: Jie Hai <haijie1@huawei.com>
Date: Mon, 30 Dec 2024 14:54:05 +0800
Subject: [PATCH] net/hns3: rename RAS module

[ upstream commit 501a40ae8370dcbfe086ef080a60c86a8d428ef6 ]

Rename ROH_MAC module as HIMAC to avoid misunderstandings.

Fixes: 1c1eb759e9d7 ("net/hns3: support RAS process in Kunpeng 930")

Signed-off-by: Jie Hai <haijie1@huawei.com>
---
 drivers/net/hns3/hns3_intr.c | 4 ++--
 drivers/net/hns3/hns3_intr.h | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/hns3/hns3_intr.c b/drivers/net/hns3/hns3_intr.c
index d37c7eba6b..260cfcee7c 100644
--- a/drivers/net/hns3/hns3_intr.c
+++ b/drivers/net/hns3/hns3_intr.c
@@ -1432,8 +1432,8 @@ static const struct hns3_hw_mod_name hns3_hw_module_name[] = {
 		.module_name = MODULE_MASTER,
 		.msg = "MODULE_MASTER"
 	}, {
-		.module_name = MODULE_ROH_MAC,
-		.msg = "MODULE_ROH_MAC"
+		.module_name = MODULE_HIMAC,
+		.msg = "MODULE_HIMAC"
 	}
 };
 
diff --git a/drivers/net/hns3/hns3_intr.h b/drivers/net/hns3/hns3_intr.h
index aca1c0722c..fcfb9004cb 100644
--- a/drivers/net/hns3/hns3_intr.h
+++ b/drivers/net/hns3/hns3_intr.h
@@ -104,7 +104,7 @@ enum hns3_mod_name_list {
 	MODULE_RCB_TX,
 	MODULE_TXDMA,
 	MODULE_MASTER,
-	MODULE_ROH_MAC,
+	MODULE_HIMAC,
 };
 
 enum hns3_err_type_list {
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.250587101 +0000
+++ 0010-net-hns3-rename-RAS-module.patch	2025-02-17 16:13:16.790441593 +0000
@@ -1 +1 @@
-From 501a40ae8370dcbfe086ef080a60c86a8d428ef6 Mon Sep 17 00:00:00 2001
+From 3c915efd369d17f8868d8933756cb4b7626be8ac Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 501a40ae8370dcbfe086ef080a60c86a8d428ef6 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 2de2b86b02..db5c84061c 100644
+index d37c7eba6b..260cfcee7c 100644
@@ -33 +34 @@
-index 1edb07de36..e88b00c9c9 100644
+index aca1c0722c..fcfb9004cb 100644

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/sfc: remove unnecessary assignment' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (8 preceding siblings ...)
  2025-02-17 17:03 ` patch 'net/hns3: rename RAS module' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'net/mlx5: fix polling CQEs' " luca.boccassi
                   ` (67 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Ariel Otilibili; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/ff415bac32c84488567e15997421a7736a271f32

Thanks.

Luca Boccassi

---
From ff415bac32c84488567e15997421a7736a271f32 Mon Sep 17 00:00:00 2001
From: Ariel Otilibili <otilibil@eurecom.fr>
Date: Wed, 15 Jan 2025 13:11:51 +0100
Subject: [PATCH] net/sfc: remove unnecessary assignment

[ upstream commit de87641d5c004ef505d58d542a66d66f6a1cb2be ]

The same field was being set twice.

Coverity issue: 384444
Fixes: a62ec90522a6 ("net/sfc: add port representors infrastructure")

Signed-off-by: Ariel Otilibili <otilibil@eurecom.fr>
---
 drivers/net/sfc/sfc_repr.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/net/sfc/sfc_repr.c b/drivers/net/sfc/sfc_repr.c
index 79025e9052..4234d63144 100644
--- a/drivers/net/sfc/sfc_repr.c
+++ b/drivers/net/sfc/sfc_repr.c
@@ -797,11 +797,7 @@ static void
 sfc_repr_close(struct sfc_repr *sr)
 {
 	SFC_ASSERT(sfc_repr_lock_is_locked(sr));
-
 	SFC_ASSERT(sr->state == SFC_ETHDEV_CONFIGURED);
-	sr->state = SFC_ETHDEV_CLOSING;
-
-	/* Put representor close actions here */
 
 	sr->state = SFC_ETHDEV_INITIALIZED;
 }
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.282207920 +0000
+++ 0011-net-sfc-remove-unnecessary-assignment.patch	2025-02-17 16:13:16.794441593 +0000
@@ -1 +1 @@
-From de87641d5c004ef505d58d542a66d66f6a1cb2be Mon Sep 17 00:00:00 2001
+From ff415bac32c84488567e15997421a7736a271f32 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit de87641d5c004ef505d58d542a66d66f6a1cb2be ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index c2e5d4eb9e..2c1421b959 100644
+index 79025e9052..4234d63144 100644
@@ -21 +22 @@
-@@ -769,11 +769,7 @@ static void
+@@ -797,11 +797,7 @@ static void

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/mlx5: fix polling CQEs' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (9 preceding siblings ...)
  2025-02-17 17:03 ` patch 'net/sfc: remove unnecessary assignment' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'net/iavf: remove reset of Tx prepare function pointer' " luca.boccassi
                   ` (66 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Gavin Hu; +Cc: Changqi Dingluo, Viacheslav Ovsiienko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/afbe03428db62e75c98afe1aa492b5d252fe8e56

Thanks.

Luca Boccassi

---
From afbe03428db62e75c98afe1aa492b5d252fe8e56 Mon Sep 17 00:00:00 2001
From: Gavin Hu <gahu@nvidia.com>
Date: Fri, 6 Dec 2024 02:58:11 +0200
Subject: [PATCH] net/mlx5: fix polling CQEs

[ upstream commit 73f7ae1d721aa5c388123db11827937205985999 ]

In certain situations, the receive queue (rxq) fails to replenish its
internal ring with memory buffers (mbufs) from the pool. This can happen
when the pool has a limited number of mbufs allocated, and the user
application holds incoming packets for an extended period, resulting in a
delayed release of mbufs. Consequently, the pool becomes depleted,
preventing the rxq from replenishing from it.

There was a bug in the behavior of the vectorized rxq_cq_process_v routine,
which handled completion queue entries (CQEs) in batches of four. This
routine consistently accessed four mbufs from the internal queue ring,
regardless of whether they had been replenished. As a result, it could
access mbufs that no longer belonged to the poll mode driver (PMD).

The fix involves checking if there are four replenished mbufs available
before allowing rxq_cq_process_v to handle the batch. Once replenishment
succeeds during the polling process, the routine will resume its operation.

Fixes: 1ded26239aa0 ("net/mlx5: refactor vectorized Rx")

Reported-by: Changqi Dingluo <dingluochangqi.ck@bytedance.com>
Signed-off-by: Gavin Hu <gahu@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
 .mailmap                         | 4 +++-
 drivers/net/mlx5/mlx5_rxtx_vec.c | 3 +++
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/.mailmap b/.mailmap
index df8e5c48ab..51c2bc9df3 100644
--- a/.mailmap
+++ b/.mailmap
@@ -200,6 +200,7 @@ Chaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
 Chandubabu Namburu <chandu@amd.com>
 Changchun Ouyang <changchun.ouyang@intel.com>
 Changpeng Liu <changpeng.liu@intel.com>
+Changqi Dingluo <dingluochangqi.ck@bytedance.com>
 Changqing Wu <changqingx.wu@intel.com>
 Chaoyong He <chaoyong.he@corigine.com>
 Chao Zhu <chaozhu@linux.vnet.ibm.com> <bjzhuc@cn.ibm.com>
@@ -424,7 +425,8 @@ Gargi Sau <gargi.sau@intel.com>
 Gary Mussar <gmussar@ciena.com>
 Gaurav Singh <gaurav1086@gmail.com>
 Gautam Dawar <gdawar@solarflare.com>
-Gavin Hu <gavin.hu@arm.com> <gavin.hu@linaro.org>
+Gavin Hu <gahu@nvidia.com> <gavin.hu@arm.com> <gavin.hu@linaro.org>
+Gavin Li <gavinl@nvidia.com>
 Geoffrey Le Gourriérec <geoffrey.le_gourrierec@6wind.com>
 Geoffrey Lv <geoffrey.lv@gmail.com>
 Geoff Thorpe <geoff.thorpe@nxp.com>
diff --git a/drivers/net/mlx5/mlx5_rxtx_vec.c b/drivers/net/mlx5/mlx5_rxtx_vec.c
index 667475a93e..f37e9e104e 100644
--- a/drivers/net/mlx5/mlx5_rxtx_vec.c
+++ b/drivers/net/mlx5/mlx5_rxtx_vec.c
@@ -324,6 +324,9 @@ rxq_burst_v(struct mlx5_rxq_data *rxq, struct rte_mbuf **pkts,
 	/* Not to cross queue end. */
 	pkts_n = RTE_MIN(pkts_n, q_n - elts_idx);
 	pkts_n = RTE_MIN(pkts_n, q_n - cq_idx);
+	/* Not to move past the allocated mbufs. */
+	pkts_n = RTE_MIN(pkts_n, RTE_ALIGN_FLOOR(rxq->rq_ci - rxq->rq_pi,
+						MLX5_VPMD_DESCS_PER_LOOP));
 	if (!pkts_n) {
 		*no_cq = !rcvd_pkt;
 		return rcvd_pkt;
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.321175369 +0000
+++ 0012-net-mlx5-fix-polling-CQEs.patch	2025-02-17 16:13:16.794441593 +0000
@@ -1 +1 @@
-From 73f7ae1d721aa5c388123db11827937205985999 Mon Sep 17 00:00:00 2001
+From afbe03428db62e75c98afe1aa492b5d252fe8e56 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 73f7ae1d721aa5c388123db11827937205985999 ]
+
@@ -24 +25,0 @@
-Cc: stable@dpdk.org
@@ -30 +31 @@
- .mailmap                         | 3 ++-
+ .mailmap                         | 4 +++-
@@ -32 +33 @@
- 2 files changed, 5 insertions(+), 1 deletion(-)
+ 2 files changed, 6 insertions(+), 1 deletion(-)
@@ -35 +36 @@
-index 38e511a28b..1ed47e1cad 100644
+index df8e5c48ab..51c2bc9df3 100644
@@ -38,2 +39,2 @@
-@@ -225,6 +225,7 @@ Chandubabu Namburu <chandu@amd.com>
- Chang Miao <chang.miao@corigine.com>
+@@ -200,6 +200,7 @@ Chaitanya Babu Talluri <tallurix.chaitanya.babu@intel.com>
+ Chandubabu Namburu <chandu@amd.com>
@@ -46 +47 @@
-@@ -465,7 +466,7 @@ Gargi Sau <gargi.sau@intel.com>
+@@ -424,7 +425,8 @@ Gargi Sau <gargi.sau@intel.com>
@@ -52 +53 @@
- Gavin Li <gavinl@nvidia.com>
++Gavin Li <gavinl@nvidia.com>
@@ -54,0 +56 @@
+ Geoff Thorpe <geoff.thorpe@nxp.com>
@@ -56 +58 @@
-index 1872bf310c..1b701801c5 100644
+index 667475a93e..f37e9e104e 100644
@@ -59 +61 @@
-@@ -325,6 +325,9 @@ rxq_burst_v(struct mlx5_rxq_data *rxq, struct rte_mbuf **pkts,
+@@ -324,6 +324,9 @@ rxq_burst_v(struct mlx5_rxq_data *rxq, struct rte_mbuf **pkts,

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/iavf: remove reset of Tx prepare function pointer' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (10 preceding siblings ...)
  2025-02-17 17:03 ` patch 'net/mlx5: fix polling CQEs' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'net/ice: fix memory leak in scalar Rx' " luca.boccassi
                   ` (65 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Vladimir Medvedkin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/f2da2b7ca501a9a6faed8b239782c9b865f098e9

Thanks.

Luca Boccassi

---
From f2da2b7ca501a9a6faed8b239782c9b865f098e9 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Fri, 13 Dec 2024 14:33:19 +0000
Subject: [PATCH] net/iavf: remove reset of Tx prepare function pointer

[ upstream commit 41be96c907607bc709654f71901913f1534264f8 ]

The iavf driver only contains a single Tx prepare function, so when
selecting the Tx path, there is no need to reset and reassign the
function pointer in the ethdev structure. This fixes an issue where the
pointer was reset to NULL, but never assigned back later on function
selection.

Fixes: 5712bf9d6e14 ("net/iavf: add Tx AVX2 offload path")
Fixes: 08eb6a9cc2e1 ("net/iavf: fix Tx L4 checksum")
Fixes: 4f8259df563a ("net/iavf: enable Tx outer checksum offload on AVX512")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
---
 drivers/net/iavf/iavf_rxtx.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c
index 073f724231..3272553b5c 100644
--- a/drivers/net/iavf/iavf_rxtx.c
+++ b/drivers/net/iavf/iavf_rxtx.c
@@ -3261,7 +3261,6 @@ iavf_set_tx_function(struct rte_eth_dev *dev)
 					    iavf_xmit_pkts_vec_avx2 :
 					    iavf_xmit_pkts_vec;
 		}
-		dev->tx_pkt_prepare = NULL;
 #ifdef CC_AVX512_SUPPORT
 		if (use_avx512) {
 			if (check_ret == IAVF_VECTOR_PATH) {
@@ -3270,7 +3269,6 @@ iavf_set_tx_function(struct rte_eth_dev *dev)
 					    dev->data->port_id);
 			} else {
 				dev->tx_pkt_burst = iavf_xmit_pkts_vec_avx512_offload;
-				dev->tx_pkt_prepare = iavf_prep_pkts;
 				PMD_DRV_LOG(DEBUG, "Using AVX512 OFFLOAD Vector Tx (port %d).",
 					    dev->data->port_id);
 			}
@@ -3299,7 +3297,6 @@ normal:
 	PMD_DRV_LOG(DEBUG, "Using Basic Tx callback (port=%d).",
 		    dev->data->port_id);
 	dev->tx_pkt_burst = iavf_xmit_pkts;
-	dev->tx_pkt_prepare = iavf_prep_pkts;
 }
 
 static int
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.353455422 +0000
+++ 0013-net-iavf-remove-reset-of-Tx-prepare-function-pointer.patch	2025-02-17 16:13:16.794441593 +0000
@@ -1 +1 @@
-From 41be96c907607bc709654f71901913f1534264f8 Mon Sep 17 00:00:00 2001
+From f2da2b7ca501a9a6faed8b239782c9b865f098e9 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 41be96c907607bc709654f71901913f1534264f8 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -20,2 +21,2 @@
- drivers/net/iavf/iavf_rxtx.c | 6 ------
- 1 file changed, 6 deletions(-)
+ drivers/net/iavf/iavf_rxtx.c | 3 ---
+ 1 file changed, 3 deletions(-)
@@ -24 +25 @@
-index f7df5f21f2..457b5a5655 100644
+index 073f724231..3272553b5c 100644
@@ -27,4 +28,4 @@
-@@ -4173,7 +4173,6 @@ iavf_set_tx_function(struct rte_eth_dev *dev)
- 		if (!use_sse && !use_avx2 && !use_avx512)
- 			goto normal;
- 
+@@ -3261,7 +3261,6 @@ iavf_set_tx_function(struct rte_eth_dev *dev)
+ 					    iavf_xmit_pkts_vec_avx2 :
+ 					    iavf_xmit_pkts_vec;
+ 		}
@@ -32,12 +33,4 @@
- 		if (use_sse) {
- 			PMD_DRV_LOG(DEBUG, "Using Vector Tx (port %d).",
- 				    dev->data->port_id);
-@@ -4190,7 +4189,6 @@ iavf_set_tx_function(struct rte_eth_dev *dev)
- 				goto normal;
- 			} else {
- 				tx_burst_type = IAVF_TX_AVX2_OFFLOAD;
--				dev->tx_pkt_prepare = iavf_prep_pkts;
- 				PMD_DRV_LOG(DEBUG, "Using AVX2 OFFLOAD Vector Tx (port %d).",
- 					    dev->data->port_id);
- 			}
-@@ -4203,17 +4201,14 @@ iavf_set_tx_function(struct rte_eth_dev *dev)
+ #ifdef CC_AVX512_SUPPORT
+ 		if (use_avx512) {
+ 			if (check_ret == IAVF_VECTOR_PATH) {
+@@ -3270,7 +3269,6 @@ iavf_set_tx_function(struct rte_eth_dev *dev)
@@ -45,10 +37,0 @@
- 			} else if (check_ret == IAVF_VECTOR_OFFLOAD_PATH) {
- 				tx_burst_type = IAVF_TX_AVX512_OFFLOAD;
--				dev->tx_pkt_prepare = iavf_prep_pkts;
- 				PMD_DRV_LOG(DEBUG, "Using AVX512 OFFLOAD Vector Tx (port %d).",
- 					    dev->data->port_id);
- 			} else if (check_ret == IAVF_VECTOR_CTX_PATH) {
- 				tx_burst_type = IAVF_TX_AVX512_CTX;
--				dev->tx_pkt_prepare = iavf_prep_pkts;
- 				PMD_DRV_LOG(DEBUG, "Using AVX512 CONTEXT Vector Tx (port %d).",
- 						dev->data->port_id);
@@ -56 +39 @@
- 				tx_burst_type = IAVF_TX_AVX512_CTX_OFFLOAD;
+ 				dev->tx_pkt_burst = iavf_xmit_pkts_vec_avx512_offload;
@@ -58 +41 @@
- 				PMD_DRV_LOG(DEBUG, "Using AVX512 CONTEXT OFFLOAD Vector Tx (port %d).",
+ 				PMD_DRV_LOG(DEBUG, "Using AVX512 OFFLOAD Vector Tx (port %d).",
@@ -61 +44 @@
-@@ -4251,7 +4246,6 @@ normal:
+@@ -3299,7 +3297,6 @@ normal:
@@ -64 +47 @@
- 	tx_burst_type = IAVF_TX_DEFAULT;
+ 	dev->tx_pkt_burst = iavf_xmit_pkts;
@@ -65,0 +49 @@
+ }
@@ -67,2 +51 @@
- 	if (no_poll_on_link_down) {
- 		adapter->tx_burst_type = tx_burst_type;
+ static int

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/ice: fix memory leak in scalar Rx' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (11 preceding siblings ...)
  2025-02-17 17:03 ` patch 'net/iavf: remove reset of Tx prepare function pointer' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'common/cnxk: fix atomic load in batch ops' " luca.boccassi
                   ` (64 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Vladimir Medvedkin; +Cc: Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/e2b8339be196c4704b5441d4fc484b9081e27ef4

Thanks.

Luca Boccassi

---
From e2b8339be196c4704b5441d4fc484b9081e27ef4 Mon Sep 17 00:00:00 2001
From: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Date: Fri, 17 Jan 2025 17:52:05 +0000
Subject: [PATCH] net/ice: fix memory leak in scalar Rx

[ upstream commit 07cbd0b43ce4af9d628c8ad751789934d0a8c4a7 ]

If the buffer splitting feature is configured and the payload mbuf
allocation fails, the previously allocated header mbuf may be returned
not fully initialized or a memory leak may occur.  This patch handles
this case correctly by freeing the corresponding header buffer.

Fixes: 629dad3ef325 ("net/ice: support buffer split in scalar Rx")

Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/ice/ice_rxtx.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/net/ice/ice_rxtx.c b/drivers/net/ice/ice_rxtx.c
index 93b284ad87..0814c79bde 100644
--- a/drivers/net/ice/ice_rxtx.c
+++ b/drivers/net/ice/ice_rxtx.c
@@ -483,6 +483,7 @@ ice_alloc_rx_queue_mbufs(struct ice_rx_queue *rxq)
 			struct rte_mbuf *mbuf_pay;
 			mbuf_pay = rte_mbuf_raw_alloc(rxq->rxseg[1].mp);
 			if (unlikely(!mbuf_pay)) {
+				rte_pktmbuf_free(mbuf);
 				PMD_DRV_LOG(ERR, "Failed to allocate payload mbuf for RX");
 				return -ENOMEM;
 			}
@@ -1873,6 +1874,8 @@ ice_rx_alloc_bufs(struct ice_rx_queue *rxq)
 		diag_pay = rte_mempool_get_bulk(rxq->rxseg[1].mp,
 				(void *)mbufs_pay, rxq->rx_free_thresh);
 		if (unlikely(diag_pay != 0)) {
+			rte_mempool_put_bulk(rxq->mp, (void *)rxep,
+				    rxq->rx_free_thresh);
 			PMD_RX_LOG(ERR, "Failed to get payload mbufs in bulk");
 			return -ENOMEM;
 		}
@@ -2579,6 +2582,13 @@ ice_recv_pkts(void *rx_queue,
 			nmb_pay = rte_mbuf_raw_alloc(rxq->rxseg[1].mp);
 			if (unlikely(!nmb_pay)) {
 				rxq->vsi->adapter->pf.dev_data->rx_mbuf_alloc_failed++;
+				rxe->mbuf = NULL;
+				nb_hold--;
+				if (unlikely(rx_id == 0))
+					rx_id = rxq->nb_rx_desc;
+
+				rx_id--;
+				rte_pktmbuf_free(nmb);
 				break;
 			}
 
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.387522423 +0000
+++ 0014-net-ice-fix-memory-leak-in-scalar-Rx.patch	2025-02-17 16:13:16.798441593 +0000
@@ -1 +1 @@
-From 07cbd0b43ce4af9d628c8ad751789934d0a8c4a7 Mon Sep 17 00:00:00 2001
+From e2b8339be196c4704b5441d4fc484b9081e27ef4 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 07cbd0b43ce4af9d628c8ad751789934d0a8c4a7 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 0c7106c7e0..f58df9bdfe 100644
+index 93b284ad87..0814c79bde 100644
@@ -24 +25 @@
-@@ -484,6 +484,7 @@ ice_alloc_rx_queue_mbufs(struct ice_rx_queue *rxq)
+@@ -483,6 +483,7 @@ ice_alloc_rx_queue_mbufs(struct ice_rx_queue *rxq)
@@ -32 +33 @@
-@@ -1900,6 +1901,8 @@ ice_rx_alloc_bufs(struct ice_rx_queue *rxq)
+@@ -1873,6 +1874,8 @@ ice_rx_alloc_bufs(struct ice_rx_queue *rxq)
@@ -41 +42 @@
-@@ -2607,6 +2610,13 @@ ice_recv_pkts(void *rx_queue,
+@@ -2579,6 +2582,13 @@ ice_recv_pkts(void *rx_queue,

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'common/cnxk: fix atomic load in batch ops' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (12 preceding siblings ...)
  2025-02-17 17:03 ` patch 'net/ice: fix memory leak in scalar Rx' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'common/cnxk: fix DPI mailbox structure' " luca.boccassi
                   ` (63 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Nawal Kishor; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/0872aaa1f0c0d4a849f857367ae1c0f59eddaf1f

Thanks.

Luca Boccassi

---
From 0872aaa1f0c0d4a849f857367ae1c0f59eddaf1f Mon Sep 17 00:00:00 2001
From: Nawal Kishor <nkishor@marvell.com>
Date: Mon, 2 Dec 2024 22:27:39 +0530
Subject: [PATCH] common/cnxk: fix atomic load in batch ops

[ upstream commit 73d38682fddd614d95942442c20b3a1de211bb4c ]

In roc batch alloc wait code, __ATOMIC_RELAXED is changed to
__ATOMIC_ACQUIRE in order to avoid potential out of order loads.

Fixes: 50d08d3934ec ("common/cnxk: fix batch alloc completion poll logic")

Signed-off-by: Nawal Kishor <nkishor@marvell.com>
---
 .mailmap                      | 1 +
 drivers/common/cnxk/roc_npa.h | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/.mailmap b/.mailmap
index 51c2bc9df3..8eb97ded9f 100644
--- a/.mailmap
+++ b/.mailmap
@@ -986,6 +986,7 @@ Natalie Samsonov <nsamsono@marvell.com>
 Natanael Copa <ncopa@alpinelinux.org>
 Nathan Law <nlaw@brocade.com>
 Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
+Nawal Kishor <nkishor@marvell.com>
 Neel Patel <neel.patel@amd.com> <neel@pensando.io>
 Neil Horman <nhorman@tuxdriver.com>
 Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
diff --git a/drivers/common/cnxk/roc_npa.h b/drivers/common/cnxk/roc_npa.h
index 46b668a310..3d0821dfe6 100644
--- a/drivers/common/cnxk/roc_npa.h
+++ b/drivers/common/cnxk/roc_npa.h
@@ -261,7 +261,7 @@ roc_npa_batch_alloc_wait(uint64_t *cache_line, unsigned int wait_us)
 	/* Batch alloc status code is updated in bits [5:6] of the first word
 	 * of the 128 byte cache line.
 	 */
-	while (((__atomic_load_n(cache_line, __ATOMIC_RELAXED) >> 5) & 0x3) ==
+	while (((__atomic_load_n(cache_line, __ATOMIC_ACQUIRE) >> 5) & 0x3) ==
 	       ALLOC_CCODE_INVAL)
 		if (wait_us && (plt_tsc_cycles() - start) >= ticks)
 			break;
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.420757215 +0000
+++ 0015-common-cnxk-fix-atomic-load-in-batch-ops.patch	2025-02-17 16:13:16.798441593 +0000
@@ -1 +1 @@
-From 73d38682fddd614d95942442c20b3a1de211bb4c Mon Sep 17 00:00:00 2001
+From 0872aaa1f0c0d4a849f857367ae1c0f59eddaf1f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 73d38682fddd614d95942442c20b3a1de211bb4c ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 1ed47e1cad..8524952d24 100644
+index 51c2bc9df3..8eb97ded9f 100644
@@ -22,2 +23,2 @@
-@@ -1079,6 +1079,7 @@ Natanael Copa <ncopa@alpinelinux.org>
- Nathan Brown <nathan.brown@arm.com>
+@@ -986,6 +986,7 @@ Natalie Samsonov <nsamsono@marvell.com>
+ Natanael Copa <ncopa@alpinelinux.org>
@@ -31 +32 @@
-index f7cb4460e7..8525038810 100644
+index 46b668a310..3d0821dfe6 100644
@@ -34 +35 @@
-@@ -255,7 +255,7 @@ roc_npa_batch_alloc_wait(uint64_t *cache_line, unsigned int wait_us)
+@@ -261,7 +261,7 @@ roc_npa_batch_alloc_wait(uint64_t *cache_line, unsigned int wait_us)

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'common/cnxk: fix DPI mailbox structure' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (13 preceding siblings ...)
  2025-02-17 17:03 ` patch 'common/cnxk: fix atomic load in batch ops' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'crypto/virtio: fix redundant queue free' " luca.boccassi
                   ` (62 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Vamsi Attunuru; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/7c0f448f07b55ddae669e205b593db5dba195bc2

Thanks.

Luca Boccassi

---
From 7c0f448f07b55ddae669e205b593db5dba195bc2 Mon Sep 17 00:00:00 2001
From: Vamsi Attunuru <vattunuru@marvell.com>
Date: Wed, 15 Jan 2025 18:06:54 +0530
Subject: [PATCH] common/cnxk: fix DPI mailbox structure

[ upstream commit b03c474188383c3d3d529b1c9ca86767e5fb6167 ]

In the existing DPI mailbox structure, one of the fields
spans a 64-bit boundary, making it appear unusual and
complicatng extraction using bit operations.

Patch enlarges csize fields to ensure that mailbox fields
are correctly positioned.

Fixes: b6e395692b6d ("common/cnxk: add DPI DMA support")

Signed-off-by: Vamsi Attunuru <vattunuru@marvell.com>
---
 drivers/common/cnxk/roc_dpi_priv.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/common/cnxk/roc_dpi_priv.h b/drivers/common/cnxk/roc_dpi_priv.h
index 1fa1a715d3..a0a868fab9 100644
--- a/drivers/common/cnxk/roc_dpi_priv.h
+++ b/drivers/common/cnxk/roc_dpi_priv.h
@@ -27,7 +27,7 @@ typedef union dpi_mbox_msg_t {
 		/* Command code */
 		uint64_t cmd : 4;
 		/* Command buffer size in 8-byte words */
-		uint64_t csize : 14;
+		uint64_t csize : 16;
 		/* aura of the command buffer */
 		uint64_t aura : 20;
 		/* SSO PF function */
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.453019494 +0000
+++ 0016-common-cnxk-fix-DPI-mailbox-structure.patch	2025-02-17 16:13:16.798441593 +0000
@@ -1 +1 @@
-From b03c474188383c3d3d529b1c9ca86767e5fb6167 Mon Sep 17 00:00:00 2001
+From 7c0f448f07b55ddae669e205b593db5dba195bc2 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b03c474188383c3d3d529b1c9ca86767e5fb6167 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 1f975915f7..05b6751ca6 100644
+index 1fa1a715d3..a0a868fab9 100644

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'crypto/virtio: fix redundant queue free' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (14 preceding siblings ...)
  2025-02-17 17:03 ` patch 'common/cnxk: fix DPI mailbox structure' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'crypto/openssl: fix CMAC auth context update' " luca.boccassi
                   ` (61 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Rajesh Mudimadugula; +Cc: Akhil Goyal, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/8d2f28691561ee61e933df70b750f9b1fad0dc4a

Thanks.

Luca Boccassi

---
From 8d2f28691561ee61e933df70b750f9b1fad0dc4a Mon Sep 17 00:00:00 2001
From: Rajesh Mudimadugula <rmudimadugul@marvell.com>
Date: Wed, 27 Nov 2024 14:12:48 +0000
Subject: [PATCH] crypto/virtio: fix redundant queue free

[ upstream commit 89241aba832c044a9efb99329cfaa9faff8a6c4e ]

Remove multiple invocations of virtio_crypto_queue_release,
and set virtio crypto queue as null upon free to avoid
segfaults.

Fixes: 6f0175ff53e0 ("crypto/virtio: support basic PMD ops")

Signed-off-by: Rajesh Mudimadugula <rmudimadugul@marvell.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>
---
 .mailmap                                 |  1 +
 drivers/crypto/virtio/virtio_cryptodev.c | 11 +++++------
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/.mailmap b/.mailmap
index 8eb97ded9f..9b6f5f770d 100644
--- a/.mailmap
+++ b/.mailmap
@@ -1137,6 +1137,7 @@ Rahul Gupta <rahul.gupta@broadcom.com>
 Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
 Rahul Shah <rahul.r.shah@intel.com>
 Raja Zidane <rzidane@nvidia.com>
+Rajesh Mudimadugula <rmudimadugul@marvell.com>
 Rajesh Ravi <rajesh.ravi@broadcom.com>
 Rakesh Kudurumalla <rkudurumalla@marvell.com> <rkudurumalla@caviumnetworks.com>
 Ralf Hoffmann <ralf.hoffmann@allegro-packets.com>
diff --git a/drivers/crypto/virtio/virtio_cryptodev.c b/drivers/crypto/virtio/virtio_cryptodev.c
index 4854820ba6..b696cedb49 100644
--- a/drivers/crypto/virtio/virtio_cryptodev.c
+++ b/drivers/crypto/virtio/virtio_cryptodev.c
@@ -479,10 +479,13 @@ virtio_crypto_free_queues(struct rte_cryptodev *dev)
 
 	/* control queue release */
 	virtio_crypto_queue_release(hw->cvq);
+	hw->cvq = NULL;
 
 	/* data queue release */
-	for (i = 0; i < hw->max_dataqueues; i++)
+	for (i = 0; i < hw->max_dataqueues; i++) {
 		virtio_crypto_queue_release(dev->data->queue_pairs[i]);
+		dev->data->queue_pairs[i] = NULL;
+	}
 }
 
 static int
@@ -614,6 +617,7 @@ virtio_crypto_qp_release(struct rte_cryptodev *dev, uint16_t queue_pair_id)
 	}
 
 	virtio_crypto_queue_release(vq);
+	dev->data->queue_pairs[queue_pair_id] = NULL;
 	return 0;
 }
 
@@ -761,8 +765,6 @@ crypto_virtio_create(const char *name, struct rte_pci_device *pci_dev,
 static int
 virtio_crypto_dev_uninit(struct rte_cryptodev *cryptodev)
 {
-	struct virtio_crypto_hw *hw = cryptodev->data->dev_private;
-
 	PMD_INIT_FUNC_TRACE();
 
 	if (rte_eal_process_type() == RTE_PROC_SECONDARY)
@@ -777,9 +779,6 @@ virtio_crypto_dev_uninit(struct rte_cryptodev *cryptodev)
 	cryptodev->enqueue_burst = NULL;
 	cryptodev->dequeue_burst = NULL;
 
-	/* release control queue */
-	virtio_crypto_queue_release(hw->cvq);
-
 	rte_free(cryptodev->data);
 	cryptodev->data = NULL;
 
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.491893186 +0000
+++ 0017-crypto-virtio-fix-redundant-queue-free.patch	2025-02-17 16:13:16.798441593 +0000
@@ -1 +1 @@
-From 89241aba832c044a9efb99329cfaa9faff8a6c4e Mon Sep 17 00:00:00 2001
+From 8d2f28691561ee61e933df70b750f9b1fad0dc4a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 89241aba832c044a9efb99329cfaa9faff8a6c4e ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 8524952d24..e428ed3dec 100644
+index 8eb97ded9f..9b6f5f770d 100644
@@ -24 +25 @@
-@@ -1252,6 +1252,7 @@ Rahul Gupta <rahul.gupta@broadcom.com>
+@@ -1137,6 +1137,7 @@ Rahul Gupta <rahul.gupta@broadcom.com>
@@ -33 +34 @@
-index 643921dc02..98415af123 100644
+index 4854820ba6..b696cedb49 100644
@@ -36 +37 @@
-@@ -478,10 +478,13 @@ virtio_crypto_free_queues(struct rte_cryptodev *dev)
+@@ -479,10 +479,13 @@ virtio_crypto_free_queues(struct rte_cryptodev *dev)
@@ -51 +52 @@
-@@ -613,6 +616,7 @@ virtio_crypto_qp_release(struct rte_cryptodev *dev, uint16_t queue_pair_id)
+@@ -614,6 +617,7 @@ virtio_crypto_qp_release(struct rte_cryptodev *dev, uint16_t queue_pair_id)
@@ -59 +60 @@
-@@ -760,8 +764,6 @@ crypto_virtio_create(const char *name, struct rte_pci_device *pci_dev,
+@@ -761,8 +765,6 @@ crypto_virtio_create(const char *name, struct rte_pci_device *pci_dev,
@@ -68 +69 @@
-@@ -776,9 +778,6 @@ virtio_crypto_dev_uninit(struct rte_cryptodev *cryptodev)
+@@ -777,9 +779,6 @@ virtio_crypto_dev_uninit(struct rte_cryptodev *cryptodev)

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'crypto/openssl: fix CMAC auth context update' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (15 preceding siblings ...)
  2025-02-17 17:03 ` patch 'crypto/virtio: fix redundant queue free' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'crypto/virtio: fix data queues iteration' " luca.boccassi
                   ` (60 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Wathsala Vithanage; +Cc: Jack Bond-Preston, Hemant Agrawal, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/fab6dc3fdbe9db3ab64d3f1b670effdf0b7fe492

Thanks.

Luca Boccassi

---
From fab6dc3fdbe9db3ab64d3f1b670effdf0b7fe492 Mon Sep 17 00:00:00 2001
From: Wathsala Vithanage <wathsala.vithanage@arm.com>
Date: Fri, 29 Nov 2024 20:20:22 +0000
Subject: [PATCH] crypto/openssl: fix CMAC auth context update
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 0241aebfa3bdc53fb36972fb116298adbdbd3957 ]

This patch removes an unnecessary cleanup of the shared CMAC context at
the end of the CMAC authentication function, which causes subsequent
calls to it to fail.

Fixes: 17d5bc6135af ("crypto/openssl: make per-QP auth context clones")

Signed-off-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
Reviewed-by: Jack Bond-Preston <jack.bond-preston@foss.arm.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/crypto/openssl/rte_openssl_pmd.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/crypto/openssl/rte_openssl_pmd.c b/drivers/crypto/openssl/rte_openssl_pmd.c
index 7eaa9650b6..679a7bbeb6 100644
--- a/drivers/crypto/openssl/rte_openssl_pmd.c
+++ b/drivers/crypto/openssl/rte_openssl_pmd.c
@@ -1594,9 +1594,6 @@ process_openssl_auth_cmac(struct rte_mbuf *mbuf_src, uint8_t *dst, int offset,
 process_auth_final:
 	if (CMAC_Final(ctx, dst, (size_t *)&dstlen) != 1)
 		goto process_auth_err;
-
-	CMAC_CTX_cleanup(ctx);
-
 	return 0;
 
 process_auth_err:
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.525247203 +0000
+++ 0018-crypto-openssl-fix-CMAC-auth-context-update.patch	2025-02-17 16:13:16.798441593 +0000
@@ -1 +1 @@
-From 0241aebfa3bdc53fb36972fb116298adbdbd3957 Mon Sep 17 00:00:00 2001
+From fab6dc3fdbe9db3ab64d3f1b670effdf0b7fe492 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 0241aebfa3bdc53fb36972fb116298adbdbd3957 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index d2cf20c059..b090611bd0 100644
+index 7eaa9650b6..679a7bbeb6 100644
@@ -27 +28 @@
-@@ -1595,9 +1595,6 @@ process_openssl_auth_cmac(struct rte_mbuf *mbuf_src, uint8_t *dst, int offset,
+@@ -1594,9 +1594,6 @@ process_openssl_auth_cmac(struct rte_mbuf *mbuf_src, uint8_t *dst, int offset,

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'crypto/virtio: fix data queues iteration' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (16 preceding siblings ...)
  2025-02-17 17:03 ` patch 'crypto/openssl: fix CMAC auth context update' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'net/enetfec: remove useless assignment' " luca.boccassi
                   ` (59 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Gowrishankar Muthukrishnan; +Cc: Akhil Goyal, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/0fda42768976db5e1e2324925bb79754e874cac2

Thanks.

Luca Boccassi

---
From 0fda42768976db5e1e2324925bb79754e874cac2 Mon Sep 17 00:00:00 2001
From: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
Date: Tue, 7 Jan 2025 23:06:02 +0530
Subject: [PATCH] crypto/virtio: fix data queues iteration

[ upstream commit e27ff6e63a8d6202149d5b458ad3d78711806dfc ]

Fix dataqueues iteration using nb_queue_pairs info available in
device data instead of max dataqueues as dataqueue count might
have been changed in device configuration.

Fixes: 6f0175ff53e0 ("crypto/virtio: support basic PMD ops")

Signed-off-by: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
Acked-by: Akhil Goyal <gakhil@marvell.com>
---
 drivers/crypto/virtio/virtio_cryptodev.c | 3 +--
 drivers/crypto/virtio/virtio_rxtx.c      | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/crypto/virtio/virtio_cryptodev.c b/drivers/crypto/virtio/virtio_cryptodev.c
index b696cedb49..51e560e045 100644
--- a/drivers/crypto/virtio/virtio_cryptodev.c
+++ b/drivers/crypto/virtio/virtio_cryptodev.c
@@ -849,9 +849,8 @@ static void
 virtio_crypto_dev_free_mbufs(struct rte_cryptodev *dev)
 {
 	uint32_t i;
-	struct virtio_crypto_hw *hw = dev->data->dev_private;
 
-	for (i = 0; i < hw->max_dataqueues; i++) {
+	for (i = 0; i < dev->data->nb_queue_pairs; i++) {
 		VIRTIO_CRYPTO_INIT_LOG_DBG("Before freeing dataq[%d] used "
 			"and unused buf", i);
 		VIRTQUEUE_DUMP((struct virtqueue *)
diff --git a/drivers/crypto/virtio/virtio_rxtx.c b/drivers/crypto/virtio/virtio_rxtx.c
index 48b5f4ebbb..d02486661f 100644
--- a/drivers/crypto/virtio/virtio_rxtx.c
+++ b/drivers/crypto/virtio/virtio_rxtx.c
@@ -419,12 +419,11 @@ virtio_crypto_dataq_start(struct rte_cryptodev *dev)
 	 * -	Setup vring structure for data queues
 	 */
 	uint16_t i;
-	struct virtio_crypto_hw *hw = dev->data->dev_private;
 
 	PMD_INIT_FUNC_TRACE();
 
 	/* Start data vring. */
-	for (i = 0; i < hw->max_dataqueues; i++) {
+	for (i = 0; i < dev->data->nb_queue_pairs; i++) {
 		virtio_crypto_vring_start(dev->data->queue_pairs[i]);
 		VIRTQUEUE_DUMP((struct virtqueue *)dev->data->queue_pairs[i]);
 	}
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.556847303 +0000
+++ 0019-crypto-virtio-fix-data-queues-iteration.patch	2025-02-17 16:13:16.802441593 +0000
@@ -1 +1 @@
-From e27ff6e63a8d6202149d5b458ad3d78711806dfc Mon Sep 17 00:00:00 2001
+From 0fda42768976db5e1e2324925bb79754e874cac2 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e27ff6e63a8d6202149d5b458ad3d78711806dfc ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 98415af123..b4a6fae9e0 100644
+index b696cedb49..51e560e045 100644
@@ -24 +25 @@
-@@ -848,9 +848,8 @@ static void
+@@ -849,9 +849,8 @@ static void

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/enetfec: remove useless assignment' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (17 preceding siblings ...)
  2025-02-17 17:03 ` patch 'crypto/virtio: fix data queues iteration' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'net/cnxk: fix NIX send header L3 type' " luca.boccassi
                   ` (58 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Ariel Otilibili; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/ccd7e6b38b5505bca120c7a1068644c43d6d4a2f

Thanks.

Luca Boccassi

---
From ccd7e6b38b5505bca120c7a1068644c43d6d4a2f Mon Sep 17 00:00:00 2001
From: Ariel Otilibili <otilibil@eurecom.fr>
Date: Wed, 18 Dec 2024 21:00:09 +0100
Subject: [PATCH] net/enetfec: remove useless assignment

[ upstream commit 93fdf2ab302f244076c3894ab4a1a5b86d704eae ]

Coverity issue: 374016
Fixes: bb5b5bf1e5c6 ("net/enetfec: support queue configuration")

Signed-off-by: Ariel Otilibili <otilibil@eurecom.fr>
---
 drivers/net/enetfec/enet_ethdev.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/enetfec/enet_ethdev.c b/drivers/net/enetfec/enet_ethdev.c
index 898aad1c37..d7a1121ff4 100644
--- a/drivers/net/enetfec/enet_ethdev.c
+++ b/drivers/net/enetfec/enet_ethdev.c
@@ -414,7 +414,6 @@ enetfec_tx_queue_setup(struct rte_eth_dev *dev,
 			offset_des_active_txq[queue_idx];
 	bd_base = (struct bufdesc *)(((uintptr_t)bd_base) + size);
 	txq->bd.last = (struct bufdesc *)(((uintptr_t)bd_base) - dsize);
-	bdp = txq->bd.base;
 	bdp = txq->bd.cur;
 
 	for (i = 0; i < txq->bd.ring_size; i++) {
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.586397189 +0000
+++ 0020-net-enetfec-remove-useless-assignment.patch	2025-02-17 16:13:16.802441593 +0000
@@ -1 +1 @@
-From 93fdf2ab302f244076c3894ab4a1a5b86d704eae Mon Sep 17 00:00:00 2001
+From ccd7e6b38b5505bca120c7a1068644c43d6d4a2f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 93fdf2ab302f244076c3894ab4a1a5b86d704eae ]
+
@@ -8 +9,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
-index 91c0f60490..0d27b63953 100644
+index 898aad1c37..d7a1121ff4 100644
@@ -19 +20 @@
-@@ -415,7 +415,6 @@ enetfec_tx_queue_setup(struct rte_eth_dev *dev,
+@@ -414,7 +414,6 @@ enetfec_tx_queue_setup(struct rte_eth_dev *dev,

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/cnxk: fix NIX send header L3 type' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (18 preceding siblings ...)
  2025-02-17 17:03 ` patch 'net/enetfec: remove useless assignment' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'eal/linux: fix memseg length in legacy mem init' " luca.boccassi
                   ` (57 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Rahul Bhansali; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/bf3f2c07d4ed6953ae982869c975f508c5eece40

Thanks.

Luca Boccassi

---
From bf3f2c07d4ed6953ae982869c975f508c5eece40 Mon Sep 17 00:00:00 2001
From: Rahul Bhansali <rbhansali@marvell.com>
Date: Thu, 30 Jan 2025 17:25:26 +0530
Subject: [PATCH] net/cnxk: fix NIX send header L3 type

[ upstream commit 32c18e7364e30a8e43cc7cc6709a7ce606fa285e ]

For small packets less than 55 bytes, SQ error interrupts are
observed.
When checksum offload flag is enabled and mbuf ol_flags are not
set, then default L3 type will be set to IPv6 in vector
processing. Based on this, HW will still validate for minimum
header size and generate send header error if mismatch.

To address this, will set default L3 type to none. Mbuf ol_flags
RTE_MBUF_F_TX_IPV6 will set with offload feature TSO or L4
checksum only, so handled in corresponding routine.

Fixes: f71b7dbbf04b ("net/cnxk: add vector Tx for CN10K")
Fixes: e829e60c6917 ("net/cnxk: support Tx burst vector for CN20K")
Fixes: 862e28128707 ("net/cnxk: add vector Tx for CN9K")

Signed-off-by: Rahul Bhansali <rbhansali@marvell.com>
---
 drivers/net/cnxk/cn10k_tx.h | 7 +++++--
 drivers/net/cnxk/cn9k_tx.h  | 7 +++++--
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/drivers/net/cnxk/cn10k_tx.h b/drivers/net/cnxk/cn10k_tx.h
index cd9b1f225e..97d06ab491 100644
--- a/drivers/net/cnxk/cn10k_tx.h
+++ b/drivers/net/cnxk/cn10k_tx.h
@@ -1340,6 +1340,9 @@ cn10k_nix_prepare_tso(struct rte_mbuf *m, union nix_send_hdr_w1_u *w1,
 	w0->lso_mps = m->tso_segsz;
 	w0->lso_format = NIX_LSO_FORMAT_IDX_TSOV4 + !!(ol_flags & RTE_MBUF_F_TX_IPV6);
 	w1->ol4type = NIX_SENDL4TYPE_TCP_CKSUM;
+	w1->ol3type = ((!!(ol_flags & RTE_MBUF_F_TX_IPV4)) << 1) +
+		      ((!!(ol_flags & RTE_MBUF_F_TX_IPV6)) << 2) +
+		      !!(ol_flags & RTE_MBUF_F_TX_IP_CKSUM);
 
 	/* Handle tunnel tso */
 	if ((flags & NIX_TX_OFFLOAD_OL3_OL4_CSUM_F) &&
@@ -2031,7 +2034,7 @@ again:
 			 */
 			const uint8x16_t tbl = {
 				/* [0-15] = il4type:il3type */
-				0x04, /* none (IPv6 assumed) */
+				0x00, /* none */
 				0x14, /* RTE_MBUF_F_TX_TCP_CKSUM (IPv6 assumed) */
 				0x24, /* RTE_MBUF_F_TX_SCTP_CKSUM (IPv6 assumed) */
 				0x34, /* RTE_MBUF_F_TX_UDP_CKSUM (IPv6 assumed) */
@@ -2235,7 +2238,7 @@ again:
 			const uint8x16x2_t tbl = {{
 				{
 					/* [0-15] = il4type:il3type */
-					0x04, /* none (IPv6) */
+					0x00, /* none */
 					0x14, /* RTE_MBUF_F_TX_TCP_CKSUM (IPv6) */
 					0x24, /* RTE_MBUF_F_TX_SCTP_CKSUM (IPv6) */
 					0x34, /* RTE_MBUF_F_TX_UDP_CKSUM (IPv6) */
diff --git a/drivers/net/cnxk/cn9k_tx.h b/drivers/net/cnxk/cn9k_tx.h
index 33db781abe..a76c071d8a 100644
--- a/drivers/net/cnxk/cn9k_tx.h
+++ b/drivers/net/cnxk/cn9k_tx.h
@@ -659,6 +659,9 @@ cn9k_nix_prepare_tso(struct rte_mbuf *m, union nix_send_hdr_w1_u *w1,
 	w0->lso_mps = m->tso_segsz;
 	w0->lso_format = NIX_LSO_FORMAT_IDX_TSOV4 + !!(ol_flags & RTE_MBUF_F_TX_IPV6);
 	w1->ol4type = NIX_SENDL4TYPE_TCP_CKSUM;
+	w1->ol3type = ((!!(ol_flags & RTE_MBUF_F_TX_IPV4)) << 1) +
+		      ((!!(ol_flags & RTE_MBUF_F_TX_IPV6)) << 2) +
+		      !!(ol_flags & RTE_MBUF_F_TX_IP_CKSUM);
 
 	/* Handle tunnel tso */
 	if ((flags & NIX_TX_OFFLOAD_OL3_OL4_CSUM_F) &&
@@ -1147,7 +1150,7 @@ cn9k_nix_xmit_pkts_vector(void *tx_queue, struct rte_mbuf **tx_pkts,
 			 */
 			const uint8x16_t tbl = {
 				/* [0-15] = il4type:il3type */
-				0x04, /* none (IPv6 assumed) */
+				0x00, /* none */
 				0x14, /* RTE_MBUF_F_TX_TCP_CKSUM (IPv6 assumed) */
 				0x24, /* RTE_MBUF_F_TX_SCTP_CKSUM (IPv6 assumed) */
 				0x34, /* RTE_MBUF_F_TX_UDP_CKSUM (IPv6 assumed) */
@@ -1351,7 +1354,7 @@ cn9k_nix_xmit_pkts_vector(void *tx_queue, struct rte_mbuf **tx_pkts,
 			const uint8x16x2_t tbl = {{
 				{
 					/* [0-15] = il4type:il3type */
-					0x04, /* none (IPv6) */
+					0x00, /* none */
 					0x14, /* RTE_MBUF_F_TX_TCP_CKSUM (IPv6) */
 					0x24, /* RTE_MBUF_F_TX_SCTP_CKSUM (IPv6) */
 					0x34, /* RTE_MBUF_F_TX_UDP_CKSUM (IPv6) */
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.617853929 +0000
+++ 0021-net-cnxk-fix-NIX-send-header-L3-type.patch	2025-02-17 16:13:16.802441593 +0000
@@ -1 +1 @@
-From 32c18e7364e30a8e43cc7cc6709a7ce606fa285e Mon Sep 17 00:00:00 2001
+From bf3f2c07d4ed6953ae982869c975f508c5eece40 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 32c18e7364e30a8e43cc7cc6709a7ce606fa285e ]
+
@@ -20 +21,0 @@
-Cc: stable@dpdk.org
@@ -25 +25,0 @@
- drivers/net/cnxk/cn20k_tx.h | 7 +++++--
@@ -27 +27 @@
- 3 files changed, 15 insertions(+), 6 deletions(-)
+ 2 files changed, 10 insertions(+), 4 deletions(-)
@@ -30 +30 @@
-index 7d9b259a5f..77f4e54cd8 100644
+index cd9b1f225e..97d06ab491 100644
@@ -33 +33 @@
-@@ -1773,6 +1773,9 @@ cn10k_nix_prepare_tso(struct rte_mbuf *m, union nix_send_hdr_w1_u *w1,
+@@ -1340,6 +1340,9 @@ cn10k_nix_prepare_tso(struct rte_mbuf *m, union nix_send_hdr_w1_u *w1,
@@ -43,33 +43 @@
-@@ -2477,7 +2480,7 @@ again:
- 			 */
- 			const uint8x16_t tbl = {
- 				/* [0-15] = il4type:il3type */
--				0x04, /* none (IPv6 assumed) */
-+				0x00, /* none */
- 				0x14, /* RTE_MBUF_F_TX_TCP_CKSUM (IPv6 assumed) */
- 				0x24, /* RTE_MBUF_F_TX_SCTP_CKSUM (IPv6 assumed) */
- 				0x34, /* RTE_MBUF_F_TX_UDP_CKSUM (IPv6 assumed) */
-@@ -2681,7 +2684,7 @@ again:
- 			const uint8x16x2_t tbl = {{
- 				{
- 					/* [0-15] = il4type:il3type */
--					0x04, /* none (IPv6) */
-+					0x00, /* none */
- 					0x14, /* RTE_MBUF_F_TX_TCP_CKSUM (IPv6) */
- 					0x24, /* RTE_MBUF_F_TX_SCTP_CKSUM (IPv6) */
- 					0x34, /* RTE_MBUF_F_TX_UDP_CKSUM (IPv6) */
-diff --git a/drivers/net/cnxk/cn20k_tx.h b/drivers/net/cnxk/cn20k_tx.h
-index c731406529..8c3ba8326d 100644
---- a/drivers/net/cnxk/cn20k_tx.h
-+++ b/drivers/net/cnxk/cn20k_tx.h
-@@ -1733,6 +1733,9 @@ cn20k_nix_prepare_tso(struct rte_mbuf *m, union nix_send_hdr_w1_u *w1, union nix
- 	w0->lso_mps = m->tso_segsz;
- 	w0->lso_format = NIX_LSO_FORMAT_IDX_TSOV4 + !!(ol_flags & RTE_MBUF_F_TX_IPV6);
- 	w1->ol4type = NIX_SENDL4TYPE_TCP_CKSUM;
-+	w1->ol3type = ((!!(ol_flags & RTE_MBUF_F_TX_IPV4)) << 1) +
-+		      ((!!(ol_flags & RTE_MBUF_F_TX_IPV6)) << 2) +
-+		      !!(ol_flags & RTE_MBUF_F_TX_IP_CKSUM);
- 
- 	/* Handle tunnel tso */
- 	if ((flags & NIX_TX_OFFLOAD_OL3_OL4_CSUM_F) && (ol_flags & RTE_MBUF_F_TX_TUNNEL_MASK)) {
-@@ -2395,7 +2398,7 @@ again:
+@@ -2031,7 +2034,7 @@ again:
@@ -84 +52 @@
-@@ -2595,7 +2598,7 @@ again:
+@@ -2235,7 +2238,7 @@ again:
@@ -94 +62 @@
-index 9370985864..902a17860c 100644
+index 33db781abe..a76c071d8a 100644
@@ -97 +65 @@
-@@ -889,6 +889,9 @@ cn9k_nix_prepare_tso(struct rte_mbuf *m, union nix_send_hdr_w1_u *w1,
+@@ -659,6 +659,9 @@ cn9k_nix_prepare_tso(struct rte_mbuf *m, union nix_send_hdr_w1_u *w1,
@@ -107 +75 @@
-@@ -1402,7 +1405,7 @@ cn9k_nix_xmit_pkts_vector(void *tx_queue, struct rte_mbuf **tx_pkts,
+@@ -1147,7 +1150,7 @@ cn9k_nix_xmit_pkts_vector(void *tx_queue, struct rte_mbuf **tx_pkts,
@@ -116 +84 @@
-@@ -1606,7 +1609,7 @@ cn9k_nix_xmit_pkts_vector(void *tx_queue, struct rte_mbuf **tx_pkts,
+@@ -1351,7 +1354,7 @@ cn9k_nix_xmit_pkts_vector(void *tx_queue, struct rte_mbuf **tx_pkts,

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'eal/linux: fix memseg length in legacy mem init' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (19 preceding siblings ...)
  2025-02-17 17:03 ` patch 'net/cnxk: fix NIX send header L3 type' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'use Python raw string notation' " luca.boccassi
                   ` (56 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Yang Ming; +Cc: Dmitry Kozlyuk, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/8d10eae3cd0ec8c0970339a8ae91eac7487f549a

Thanks.

Luca Boccassi

---
From 8d10eae3cd0ec8c0970339a8ae91eac7487f549a Mon Sep 17 00:00:00 2001
From: Yang Ming <ming.1.yang@nokia-sbell.com>
Date: Thu, 2 Jan 2025 16:58:38 +0800
Subject: [PATCH] eal/linux: fix memseg length in legacy mem init
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit b974cbbbef6e1036e7ed7d19fefb7ef8cda0e4a1 ]

Fix the issue where OS memory is mistakenly freed with rte_free
by setting the length (len) of unused memseg to 0.

When `eal_legacy_hugepage_init()` releases the VA space for
unused memseg lists(MSLs), it does not reset MSLs' length to 0.
As a result, `mlx5_mem_is_rte()` may incorrectly identify OS
memory as rte memory.
This can lead to `mlx_free()` calling `rte_free()` on OS memory,
causing an "EAL: Error: Invalid memory" log and failing to free
the OS memory.

This issue is occasional and occurs when the DPDK program’s
memory map places the heap address range between 0 and len(32G).
In such cases, malloc may return an address less than len,
causing `mlx5_mem_is_rte()` to incorrectly treat it as rte
memory.

Also, consider how the MSL with `base_va == NULL` ends up in
`mlx5_mem_is_rte()`. It comes from `rte_mem_virt2memseg_list()`
which iterates MSLs and checks that an address belongs to
[`base_va`; `base_va+len`) without checking whether
`base_va == NULL` i.e. that the MSL is inactive. So this patch
also corrects `rte_mem_virt2memseg_list()` behavior.

Fixes: 66cc45e293ed ("mem: replace memseg with memseg lists")

Signed-off-by: Yang Ming <ming.1.yang@nokia-sbell.com>
Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
---
 .mailmap                   | 1 +
 lib/eal/linux/eal_memory.c | 1 +
 2 files changed, 2 insertions(+)

diff --git a/.mailmap b/.mailmap
index 9b6f5f770d..fdcfe1c30a 100644
--- a/.mailmap
+++ b/.mailmap
@@ -1559,6 +1559,7 @@ Yahui Cao <yahui.cao@intel.com>
 Yajun Wu <yajunw@nvidia.com>
 Yangchao Zhou <zhouyates@gmail.com>
 Yanglong Wu <yanglong.wu@intel.com>
+Yang Ming <ming.1.yang@nokia-sbell.com>
 Yang Zhang <zy107165@alibaba-inc.com>
 Yanjie Xu <yanjie.xu@intel.com>
 Yan Xia <yanx.xia@intel.com>
diff --git a/lib/eal/linux/eal_memory.c b/lib/eal/linux/eal_memory.c
index 9b6f08fba8..077f77d406 100644
--- a/lib/eal/linux/eal_memory.c
+++ b/lib/eal/linux/eal_memory.c
@@ -1472,6 +1472,7 @@ eal_legacy_hugepage_init(void)
 		mem_sz = msl->len;
 		munmap(msl->base_va, mem_sz);
 		msl->base_va = NULL;
+		msl->len = 0;
 		msl->heap = 0;
 
 		/* destroy backing fbarray */
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.653512050 +0000
+++ 0022-eal-linux-fix-memseg-length-in-legacy-mem-init.patch	2025-02-17 16:13:16.806441593 +0000
@@ -1 +1 @@
-From b974cbbbef6e1036e7ed7d19fefb7ef8cda0e4a1 Mon Sep 17 00:00:00 2001
+From 8d10eae3cd0ec8c0970339a8ae91eac7487f549a Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit b974cbbbef6e1036e7ed7d19fefb7ef8cda0e4a1 ]
+
@@ -34 +35,0 @@
-Cc: stable@dpdk.org
@@ -44 +45 @@
-index 9209a716e0..19bbdbc0c8 100644
+index 9b6f5f770d..fdcfe1c30a 100644
@@ -47 +48 @@
-@@ -1722,6 +1722,7 @@ Yahui Cao <yahui.cao@intel.com>
+@@ -1559,6 +1559,7 @@ Yahui Cao <yahui.cao@intel.com>
@@ -56 +57 @@
-index 45879ca743..9dda60c0e1 100644
+index 9b6f08fba8..077f77d406 100644

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'use Python raw string notation' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (20 preceding siblings ...)
  2025-02-17 17:03 ` patch 'eal/linux: fix memseg length in legacy mem init' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'net/af_packet: fix socket close on device stop' " luca.boccassi
                   ` (55 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Ariel Otilibili; +Cc: Robin Jarry, Luca Vizzarro, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/36f4323ab38a21028cb1d41c253f815031ef4915

Thanks.

Luca Boccassi

---
From 36f4323ab38a21028cb1d41c253f815031ef4915 Mon Sep 17 00:00:00 2001
From: Ariel Otilibili <otilibil@eurecom.fr>
Date: Sat, 14 Dec 2024 11:36:35 +0100
Subject: [PATCH] use Python raw string notation

[ upstream commit d3e90e5e37872f1040f37a08b056102c1a302bb3 ]

* follow up of a discussion with Robin Jarry
* since 3.12 invalid escape sequences generate SyntaxWarning
* in the future, these invalid sequences will generate SyntaxError
* therefore changed syntax to raw string notation.

Link: https://inbox.dpdk.org/dev/D6AMQXRSG8E7.33BAORRHRHV9A@redhat.com/
Link: https://docs.python.org/3/whatsnew/3.12.html#other-language-changes
Fixes: 9d4efc5cc6f9 ("buildtools: fix NUMA nodes count")
Fixes: f88b0b892204 ("devtools: forbid indent with tabs in Meson")

Suggested-by: Robin Jarry <rjarry@redhat.com>
Signed-off-by: Ariel Otilibili <otilibil@eurecom.fr>
Reviewed-by: Luca Vizzarro <luca.vizzarro@arm.com>
---
 buildtools/get-numa-count.py | 2 +-
 devtools/check-meson.py      | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/buildtools/get-numa-count.py b/buildtools/get-numa-count.py
index 2f243886cd..f8bea5b58e 100644
--- a/buildtools/get-numa-count.py
+++ b/buildtools/get-numa-count.py
@@ -11,7 +11,7 @@ import re
 if os.name == 'posix':
     if os.path.isdir('/sys/devices/system/node'):
         numa_nodes = glob.glob('/sys/devices/system/node/node*')
-        numa_nodes.sort(key=lambda l: int(re.findall('\d+', l)[0]))
+        numa_nodes.sort(key=lambda l: int(re.findall(r'\d+', l)[0]))
         print(int(os.path.basename(numa_nodes[-1])[4:]) + 1)
     else:
         subprocess.run(['sysctl', '-n', 'vm.ndomains'], check=False)
diff --git a/devtools/check-meson.py b/devtools/check-meson.py
index 4b2338828d..9a33d8b036 100755
--- a/devtools/check-meson.py
+++ b/devtools/check-meson.py
@@ -51,7 +51,7 @@ def check_indentation(filename, contents):
         code, comments = split_code_comments(line)
         if not code.strip():
             continue
-        if re.match('^ *\t', code):
+        if re.match(r'^ *\t', code):
             print(f'Error parsing {filename}:{lineno}, got some tabulation')
         if code.endswith('files('):
             if infiles:
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.684389318 +0000
+++ 0023-use-Python-raw-string-notation.patch	2025-02-17 16:13:16.806441593 +0000
@@ -1 +1 @@
-From d3e90e5e37872f1040f37a08b056102c1a302bb3 Mon Sep 17 00:00:00 2001
+From 36f4323ab38a21028cb1d41c253f815031ef4915 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d3e90e5e37872f1040f37a08b056102c1a302bb3 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -21,5 +22,3 @@
- buildtools/get-numa-count.py                           | 2 +-
- devtools/check-meson.py                                | 2 +-
- dts/framework/testbed_model/traffic_generator/scapy.py | 2 +-
- dts/tests/TestSuite_smoke_tests.py                     | 2 +-
- 4 files changed, 4 insertions(+), 4 deletions(-)
+ buildtools/get-numa-count.py | 2 +-
+ devtools/check-meson.py      | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
@@ -53,25 +51,0 @@
-diff --git a/dts/framework/testbed_model/traffic_generator/scapy.py b/dts/framework/testbed_model/traffic_generator/scapy.py
-index d24efc44e6..a16cdf6758 100644
---- a/dts/framework/testbed_model/traffic_generator/scapy.py
-+++ b/dts/framework/testbed_model/traffic_generator/scapy.py
-@@ -237,6 +237,6 @@ class ScapyTrafficGenerator(PythonShell, CapturingTrafficGenerator):
-         )
-         # In the string of bytes "b'XXXX'", we only want the contents ("XXXX")
-         list_of_packets_base64 = re.findall(
--            f"^b'({REGEX_FOR_BASE64_ENCODING})'", packet_strs, re.MULTILINE
-+            rf"^b'({REGEX_FOR_BASE64_ENCODING})'", packet_strs, re.MULTILINE
-         )
-         return [Ether(base64_bytes(pakt)) for pakt in list_of_packets_base64]
-diff --git a/dts/tests/TestSuite_smoke_tests.py b/dts/tests/TestSuite_smoke_tests.py
-index bc3a2a6bf9..ab5ad44850 100644
---- a/dts/tests/TestSuite_smoke_tests.py
-+++ b/dts/tests/TestSuite_smoke_tests.py
-@@ -136,7 +136,7 @@ class TestSmokeTests(TestSuite):
-             # with the address for the nic we are on in the loop and then captures the
-             # name of the driver in a group
-             devbind_info_for_nic = re.search(
--                f"{nic.pci}[^\\n]*drv=([\\d\\w-]*) [^\\n]*",
-+                rf"{nic.pci}[^\\n]*drv=([\\d\\w-]*) [^\\n]*",
-                 all_nics_in_dpdk_devbind,
-             )
-             self.verify(

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/af_packet: fix socket close on device stop' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (21 preceding siblings ...)
  2025-02-17 17:03 ` patch 'use Python raw string notation' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'ethdev: fix functions available in new device event' " luca.boccassi
                   ` (54 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Tudor Cornea; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/9c3d54e8aa2e8e66bbc5326028e0776631a42411

Thanks.

Luca Boccassi

---
From 9c3d54e8aa2e8e66bbc5326028e0776631a42411 Mon Sep 17 00:00:00 2001
From: Tudor Cornea <tudor.cornea@gmail.com>
Date: Tue, 4 Feb 2025 18:45:08 +0200
Subject: [PATCH] net/af_packet: fix socket close on device stop

[ upstream commit 872e846f6bb31afbdd508903380cf05a3d313a3a ]

Currently, if we call rte_eth_dev_stop(), the sockets are closed.
If we attempt to start the port again, socket related operations
will not work correctly.

This can be alleviated by closing the socket at the same place in
which we currently free the memory, in eth_dev_close().

If an application calls rte_eth_dev_stop() on a port managed
by the af_packet PMD, the port becomes unusable. This is in contrast
with ports managed by other drivers (e.g virtio).

I also managed to reproduce the issue using testpmd.

sudo ip link add test-veth0 type veth peer name test-veth1

sudo ip link set test-veth0 up
sudo ip link set test-veth1 up

AF_PACKET_ARGS=\
"blocksz=4096,framesz=2048,framecnt=512,qpairs=1,qdisc_bypass=0"

sudo ./dpdk-testpmd \
        -l 0-3 \
        -m 1024 \
        --no-huge \
        --no-shconf \
        --no-pci \
        --vdev=net_af_packet0,iface=test-veth0,${AF_PACKET_ARGS} \
        --vdev=net_af_packet1,iface=test-veth1,${AF_PACKET_ARGS} \
        -- \
        -i

testpmd> start tx_first

Forwarding will start, and we will see traffic on the interfaces.

testpmd> stop
testpmd> port stop 0
Stopping ports...
Checking link statuses...
Done
testpmd> port stop 1
Stopping ports...
Checking link statuses...
Done

testpmd> port start 0
AFPACKET: eth_dev_macaddr_set(): receive socket not found
Port 0: CA:65:81:63:81:B2
Checking link statuses...
Done
testpmd> port start 1
AFPACKET: eth_dev_macaddr_set(): receive socket not found
Port 1: CA:12:D0:BE:93:3F
Checking link statuses...
Done

testpmd> start tx_first

When we start forwarding again, we can see that there is no traffic
on the interfaces. This does not happen when testing with other PMD
drivers (e.g virtio).

With the patch, the port should re-initialize correctly.

testpmd> port start 0
Port 0: CA:65:81:63:81:B2
Checking link statuses...
Done

Fixes: 364e08f2bbc0 ("af_packet: add PMD for AF_PACKET-based virtual devices")

Signed-off-by: Tudor Cornea <tudor.cornea@gmail.com>
---
 drivers/net/af_packet/rte_eth_af_packet.c | 30 +++++++++++------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c
index 6b7b16f348..0b059bfd0b 100644
--- a/drivers/net/af_packet/rte_eth_af_packet.c
+++ b/drivers/net/af_packet/rte_eth_af_packet.c
@@ -332,27 +332,12 @@ static int
 eth_dev_stop(struct rte_eth_dev *dev)
 {
 	unsigned i;
-	int sockfd;
 	struct pmd_internals *internals = dev->data->dev_private;
 
 	for (i = 0; i < internals->nb_queues; i++) {
-		sockfd = internals->rx_queue[i].sockfd;
-		if (sockfd != -1)
-			close(sockfd);
-
-		/* Prevent use after free in case tx fd == rx fd */
-		if (sockfd != internals->tx_queue[i].sockfd) {
-			sockfd = internals->tx_queue[i].sockfd;
-			if (sockfd != -1)
-				close(sockfd);
-		}
-
-		internals->rx_queue[i].sockfd = -1;
-		internals->tx_queue[i].sockfd = -1;
 		dev->data->rx_queue_state[i] = RTE_ETH_QUEUE_STATE_STOPPED;
 		dev->data->tx_queue_state[i] = RTE_ETH_QUEUE_STATE_STOPPED;
 	}
-
 	dev->data->dev_link.link_status = RTE_ETH_LINK_DOWN;
 	return 0;
 }
@@ -447,6 +432,7 @@ eth_dev_close(struct rte_eth_dev *dev)
 	struct pmd_internals *internals;
 	struct tpacket_req *req;
 	unsigned int q;
+	int sockfd;
 
 	if (rte_eal_process_type() != RTE_PROC_PRIMARY)
 		return 0;
@@ -457,6 +443,20 @@ eth_dev_close(struct rte_eth_dev *dev)
 	internals = dev->data->dev_private;
 	req = &internals->req;
 	for (q = 0; q < internals->nb_queues; q++) {
+		sockfd = internals->rx_queue[q].sockfd;
+		if (sockfd != -1)
+			close(sockfd);
+
+		/* Prevent use after free in case tx fd == rx fd */
+		if (sockfd != internals->tx_queue[q].sockfd) {
+			sockfd = internals->tx_queue[q].sockfd;
+			if (sockfd != -1)
+				close(sockfd);
+		}
+
+		internals->rx_queue[q].sockfd = -1;
+		internals->tx_queue[q].sockfd = -1;
+
 		munmap(internals->rx_queue[q].map,
 			2 * req->tp_block_size * req->tp_block_nr);
 		rte_free(internals->rx_queue[q].rd);
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.717898277 +0000
+++ 0024-net-af_packet-fix-socket-close-on-device-stop.patch	2025-02-17 16:13:16.806441593 +0000
@@ -1 +1 @@
-From 872e846f6bb31afbdd508903380cf05a3d313a3a Mon Sep 17 00:00:00 2001
+From 9c3d54e8aa2e8e66bbc5326028e0776631a42411 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 872e846f6bb31afbdd508903380cf05a3d313a3a ]
+
@@ -77 +78,0 @@
-Cc: stable@dpdk.org
@@ -85 +86 @@
-index 7fcd27ee0c..ab34285ed9 100644
+index 6b7b16f348..0b059bfd0b 100644
@@ -88 +89 @@
-@@ -363,27 +363,12 @@ static int
+@@ -332,27 +332,12 @@ static int
@@ -116 +117 @@
-@@ -510,6 +495,7 @@ eth_dev_close(struct rte_eth_dev *dev)
+@@ -447,6 +432,7 @@ eth_dev_close(struct rte_eth_dev *dev)
@@ -124 +125 @@
-@@ -520,6 +506,20 @@ eth_dev_close(struct rte_eth_dev *dev)
+@@ -457,6 +443,20 @@ eth_dev_close(struct rte_eth_dev *dev)

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'ethdev: fix functions available in new device event' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (22 preceding siblings ...)
  2025-02-17 17:03 ` patch 'net/af_packet: fix socket close on device stop' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:03 ` patch 'vhost: add null callback checks' " luca.boccassi
                   ` (53 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Huisong Li; +Cc: Thomas Monjalon, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/121d61206b7575fb0d492ad171c05221ecbab4df

Thanks.

Luca Boccassi

---
From 121d61206b7575fb0d492ad171c05221ecbab4df Mon Sep 17 00:00:00 2001
From: Huisong Li <lihuisong@huawei.com>
Date: Fri, 17 Jan 2025 17:12:10 +0800
Subject: [PATCH] ethdev: fix functions available in new device event

[ upstream commit 0b8f35358ceb0178878f72b66a36dc0ab7924377 ]

During probing, before the port becomes generally available, the
rte_eth_dev_socket_id() and rte_eth_dev_owner_*() are available to
the application.

Fixes: 7dcd73e37965 ("drivers/bus: set device NUMA node to unknown by default")
Fixes: 53ef1b34776b ("ethdev: add sanity checks in control APIs")

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
---
 lib/ethdev/rte_ethdev.c | 14 +++++++++++---
 lib/ethdev/rte_ethdev.h |  8 +++++++-
 2 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c
index 99b16e4dcc..f08cf5ccad 100644
--- a/lib/ethdev/rte_ethdev.c
+++ b/lib/ethdev/rte_ethdev.c
@@ -534,9 +534,10 @@ rte_eth_dev_owner_get(const uint16_t port_id, struct rte_eth_dev_owner *owner)
 {
 	struct rte_eth_dev *ethdev;
 
-	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
-	ethdev = &rte_eth_devices[port_id];
+	if (port_id >= RTE_MAX_ETHPORTS)
+		return -ENODEV;
 
+	ethdev = &rte_eth_devices[port_id];
 	if (!eth_dev_is_allocated(ethdev)) {
 		RTE_ETHDEV_LOG(ERR, "Port ID %"PRIu16" is not allocated\n",
 			port_id);
@@ -562,8 +563,15 @@ int
 rte_eth_dev_socket_id(uint16_t port_id)
 {
 	int socket_id = SOCKET_ID_ANY;
+	struct rte_eth_dev *ethdev;
 
-	if (!rte_eth_dev_is_valid_port(port_id)) {
+	if (port_id >= RTE_MAX_ETHPORTS) {
+		rte_errno = EINVAL;
+		return socket_id;
+	}
+
+	ethdev = &rte_eth_devices[port_id];
+	if (!eth_dev_is_allocated(ethdev)) {
 		rte_errno = EINVAL;
 	} else {
 		socket_id = rte_eth_devices[port_id].data->numa_node;
diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
index e73244822a..896be82ee0 100644
--- a/lib/ethdev/rte_ethdev.h
+++ b/lib/ethdev/rte_ethdev.h
@@ -3885,7 +3885,13 @@ enum rte_eth_event_type {
 	RTE_ETH_EVENT_VF_MBOX,  /**< message from the VF received by PF */
 	RTE_ETH_EVENT_MACSEC,   /**< MACsec offload related event */
 	RTE_ETH_EVENT_INTR_RMV, /**< device removal event */
-	RTE_ETH_EVENT_NEW,      /**< port is probed */
+	/**
+	 * The port is being probed, i.e. allocated and not yet available.
+	 * It is too early to check validity, query infos, and configure
+	 * the port. But some functions, like rte_eth_dev_socket_id() and
+	 * rte_eth_dev_owner_*() are available to the application.
+	 */
+	RTE_ETH_EVENT_NEW,
 	RTE_ETH_EVENT_DESTROY,  /**< port is released */
 	RTE_ETH_EVENT_IPSEC,    /**< IPsec offload related event */
 	RTE_ETH_EVENT_FLOW_AGED,/**< New aged-out flows is detected */
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.749951361 +0000
+++ 0025-ethdev-fix-functions-available-in-new-device-event.patch	2025-02-17 16:13:16.810441593 +0000
@@ -1 +1 @@
-From 0b8f35358ceb0178878f72b66a36dc0ab7924377 Mon Sep 17 00:00:00 2001
+From 121d61206b7575fb0d492ad171c05221ecbab4df Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0b8f35358ceb0178878f72b66a36dc0ab7924377 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -18,2 +19,2 @@
- lib/ethdev/rte_ethdev.h |  3 ++-
- 2 files changed, 13 insertions(+), 4 deletions(-)
+ lib/ethdev/rte_ethdev.h |  8 +++++++-
+ 2 files changed, 18 insertions(+), 4 deletions(-)
@@ -22 +23 @@
-index b7cb26f0d3..c4079bb924 100644
+index 99b16e4dcc..f08cf5ccad 100644
@@ -25 +26,2 @@
-@@ -602,9 +602,10 @@ rte_eth_dev_owner_get(const uint16_t port_id, struct rte_eth_dev_owner *owner)
+@@ -534,9 +534,10 @@ rte_eth_dev_owner_get(const uint16_t port_id, struct rte_eth_dev_owner *owner)
+ {
@@ -27 +28,0 @@
- 	int ret;
@@ -36 +37 @@
- 		RTE_ETHDEV_LOG_LINE(ERR, "Port ID %"PRIu16" is not allocated",
+ 		RTE_ETHDEV_LOG(ERR, "Port ID %"PRIu16" is not allocated\n",
@@ -38 +39 @@
-@@ -637,8 +638,15 @@ int
+@@ -562,8 +563,15 @@ int
@@ -56 +57 @@
-index 978104d232..40d97b17d4 100644
+index e73244822a..896be82ee0 100644
@@ -59,5 +60,8 @@
-@@ -4162,7 +4162,8 @@ enum rte_eth_event_type {
- 	/**
- 	 * The port is being probed, i.e. allocated and not yet available.
- 	 * It is too early to check validity, query infos, and configure
--	 * the port.
+@@ -3885,7 +3885,13 @@ enum rte_eth_event_type {
+ 	RTE_ETH_EVENT_VF_MBOX,  /**< message from the VF received by PF */
+ 	RTE_ETH_EVENT_MACSEC,   /**< MACsec offload related event */
+ 	RTE_ETH_EVENT_INTR_RMV, /**< device removal event */
+-	RTE_ETH_EVENT_NEW,      /**< port is probed */
++	/**
++	 * The port is being probed, i.e. allocated and not yet available.
++	 * It is too early to check validity, query infos, and configure
@@ -66,2 +70,2 @@
- 	 */
- 	RTE_ETH_EVENT_NEW,
++	 */
++	RTE_ETH_EVENT_NEW,
@@ -68,0 +73,2 @@
+ 	RTE_ETH_EVENT_IPSEC,    /**< IPsec offload related event */
+ 	RTE_ETH_EVENT_FLOW_AGED,/**< New aged-out flows is detected */

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'vhost: add null callback checks' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (23 preceding siblings ...)
  2025-02-17 17:03 ` patch 'ethdev: fix functions available in new device event' " luca.boccassi
@ 2025-02-17 17:03 ` luca.boccassi
  2025-02-17 17:04 ` patch 'build: force GCC 15 to initialize padding bits' " luca.boccassi
                   ` (52 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:03 UTC (permalink / raw)
  To: Kevin Traynor; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/7a8aeea3366b7366b13d4827a6c57ade4791f2bd

Thanks.

Luca Boccassi

---
From 7a8aeea3366b7366b13d4827a6c57ade4791f2bd Mon Sep 17 00:00:00 2001
From: Kevin Traynor <ktraynor@redhat.com>
Date: Fri, 24 Jan 2025 14:14:07 +0000
Subject: [PATCH] vhost: add null callback checks

[ upstream commit 66be1a05a480a0484b02c1a0194126763f4dbb99 ]

rte_vhost_driver_callback_register() does not specify
any mandatory callbacks in struct rte_vhost_device_ops.

Add some missing NULL checks before calling rte_vhost_device_ops
callbacks.

Fixes: 4796ad63ba1f ("examples/vhost: import userspace vhost application")

Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 lib/vhost/vhost.c      | 5 +++--
 lib/vhost/vhost_user.c | 3 ++-
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/lib/vhost/vhost.c b/lib/vhost/vhost.c
index 9e28198528..662f7f3f11 100644
--- a/lib/vhost/vhost.c
+++ b/lib/vhost/vhost.c
@@ -716,10 +716,11 @@ vhost_destroy_device_notify(struct virtio_net *dev)
 
 	if (dev->flags & VIRTIO_DEV_RUNNING) {
 		vdpa_dev = dev->vdpa_dev;
-		if (vdpa_dev)
+		if (vdpa_dev && vdpa_dev->ops->dev_close)
 			vdpa_dev->ops->dev_close(dev->vid);
 		dev->flags &= ~VIRTIO_DEV_RUNNING;
-		dev->notify_ops->destroy_device(dev->vid);
+		if (dev->notify_ops->destroy_device)
+			dev->notify_ops->destroy_device(dev->vid);
 	}
 }
 
diff --git a/lib/vhost/vhost_user.c b/lib/vhost/vhost_user.c
index 6657355c2a..0c4accfc08 100644
--- a/lib/vhost/vhost_user.c
+++ b/lib/vhost/vhost_user.c
@@ -3190,7 +3190,8 @@ unlock:
 	 */
 
 	if (!(dev->flags & VIRTIO_DEV_RUNNING)) {
-		if (dev->notify_ops->new_device(dev->vid) == 0)
+		if (!dev->notify_ops->new_device ||
+			dev->notify_ops->new_device(dev->vid) == 0)
 			dev->flags |= VIRTIO_DEV_RUNNING;
 	}
 
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.790473321 +0000
+++ 0026-vhost-add-null-callback-checks.patch	2025-02-17 16:13:16.814441593 +0000
@@ -1 +1 @@
-From 66be1a05a480a0484b02c1a0194126763f4dbb99 Mon Sep 17 00:00:00 2001
+From 7a8aeea3366b7366b13d4827a6c57ade4791f2bd Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 66be1a05a480a0484b02c1a0194126763f4dbb99 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -18 +18,0 @@
- lib/vhost/vduse.c      | 3 ++-
@@ -21 +21 @@
- 3 files changed, 7 insertions(+), 4 deletions(-)
+ 2 files changed, 5 insertions(+), 3 deletions(-)
@@ -23,14 +22,0 @@
-diff --git a/lib/vhost/vduse.c b/lib/vhost/vduse.c
-index 8ba58555f9..be548f051e 100644
---- a/lib/vhost/vduse.c
-+++ b/lib/vhost/vduse.c
-@@ -318,7 +318,8 @@ vduse_device_start(struct virtio_net *dev, bool reconnect)
- 
- 	dev->flags |= VIRTIO_DEV_READY;
- 
--	if (dev->notify_ops->new_device(dev->vid) == 0)
-+	if (!dev->notify_ops->new_device ||
-+		dev->notify_ops->new_device(dev->vid) == 0)
- 		dev->flags |= VIRTIO_DEV_RUNNING;
- 
- 	for (i = 0; i < dev->nr_vring; i++) {
@@ -38 +24 @@
-index 2f34d3500e..f01ae6130e 100644
+index 9e28198528..662f7f3f11 100644
@@ -41 +27 @@
-@@ -751,10 +751,11 @@ vhost_destroy_device_notify(struct virtio_net *dev)
+@@ -716,10 +716,11 @@ vhost_destroy_device_notify(struct virtio_net *dev)
@@ -56 +42 @@
-index 52d8078d7c..26dc0bde97 100644
+index 6657355c2a..0c4accfc08 100644
@@ -59 +45 @@
-@@ -3301,7 +3301,8 @@ unlock:
+@@ -3190,7 +3190,8 @@ unlock:

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'build: force GCC 15 to initialize padding bits' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (24 preceding siblings ...)
  2025-02-17 17:03 ` patch 'vhost: add null callback checks' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/bnxt: fix indication of allocation' " luca.boccassi
                   ` (51 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Morten Brørup, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/655a2accb3b6c327b3480b6543db644f8e4abbce

Thanks.

Luca Boccassi

---
From 655a2accb3b6c327b3480b6543db644f8e4abbce Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Fri, 24 Jan 2025 10:26:48 -0800
Subject: [PATCH] build: force GCC 15 to initialize padding bits
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 3c015da37afecbeaa7c9ebf8cf2adcb20ab0e54d ]

With GCC 15, the compiler has changed the default behavior when
initialization is used for aggregate variables. The new default
is to follow the standard (C23) and not initialize everything by
default. This breaks assumptions in some drivers and can be
lead to other bugs. Use the new zero initialization flag to
force of all fields to zero.

Note: other compilers always initialize to zero in these cases.
Only GCC seems to have decided to start initializing less as
a silly attempt at optimization.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 config/meson.build | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/config/meson.build b/config/meson.build
index c755083db0..2f07c187b9 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -262,7 +262,7 @@ add_project_arguments('-include', 'rte_config.h', language: 'c')
 # enable extra warnings and disable any unwanted warnings
 # -Wall is added by default at warning level 1, and -Wextra
 # at warning level 2 (DPDK default)
-warning_flags = [
+global_cflags = [
         # additional warnings in alphabetical order
         '-Wcast-qual',
         '-Wdeprecated',
@@ -283,22 +283,25 @@ warning_flags = [
         '-Wno-address-of-packed-member',
         '-Wno-packed-not-aligned',
         '-Wno-missing-field-initializers',
+
+        # guarantee that all non-initialized parts of structure/union are zero
+        '-fzero-init-padding-bits=all',
 ]
 if cc.get_id() == 'gcc' and cc.version().version_compare('>=10.0')
 # FIXME: Bugzilla 396
-    warning_flags += '-Wno-zero-length-bounds'
+    global_cflags += '-Wno-zero-length-bounds'
 endif
 if not dpdk_conf.get('RTE_ARCH_64')
 # for 32-bit, don't warn about casting a 32-bit pointer to 64-bit int - it's fine!!
-    warning_flags += '-Wno-pointer-to-int-cast'
+    global_cflags += '-Wno-pointer-to-int-cast'
 endif
 if cc.get_id() == 'intel'
     warning_ids = [181, 188, 2203, 2279, 2557, 3179, 3656]
     foreach i:warning_ids
-        warning_flags += '-diag-disable=@0@'.format(i)
+        global_cflags += '-diag-disable=@0@'.format(i)
     endforeach
 endif
-foreach arg: warning_flags
+foreach arg: global_cflags
     if cc.has_argument(arg)
         add_project_arguments(arg, language: 'c')
     endif
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.825189826 +0000
+++ 0027-build-force-GCC-15-to-initialize-padding-bits.patch	2025-02-17 16:13:16.814441593 +0000
@@ -1 +1 @@
-From 3c015da37afecbeaa7c9ebf8cf2adcb20ab0e54d Mon Sep 17 00:00:00 2001
+From 655a2accb3b6c327b3480b6543db644f8e4abbce Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 3c015da37afecbeaa7c9ebf8cf2adcb20ab0e54d ]
+
@@ -20,2 +21,0 @@
-Cc: stable@dpdk.org
-
@@ -26,2 +26,2 @@
- config/meson.build | 11 +++++++----
- 1 file changed, 7 insertions(+), 4 deletions(-)
+ config/meson.build | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
@@ -30 +30 @@
-index 710206095b..f31fef216c 100644
+index c755083db0..2f07c187b9 100644
@@ -33 +33 @@
-@@ -310,7 +310,7 @@ endif
+@@ -262,7 +262,7 @@ add_project_arguments('-include', 'rte_config.h', language: 'c')
@@ -42,2 +42,2 @@
-@@ -330,16 +330,19 @@ warning_flags = [
-         # globally disabled warnings
+@@ -283,22 +283,25 @@ warning_flags = [
+         '-Wno-address-of-packed-member',
@@ -50 +50,5 @@
- 
+ if cc.get_id() == 'gcc' and cc.version().version_compare('>=10.0')
+ # FIXME: Bugzilla 396
+-    warning_flags += '-Wno-zero-length-bounds'
++    global_cflags += '-Wno-zero-length-bounds'
+ endif
@@ -63,5 +66,0 @@
- 
-@@ -351,7 +354,7 @@ if cc.has_argument('-Wvla')
-     endif
- endif
- 

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/bnxt: fix indication of allocation' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (25 preceding siblings ...)
  2025-02-17 17:04 ` patch 'build: force GCC 15 to initialize padding bits' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/bnxt: fix crash when representor is re-attached' " luca.boccassi
                   ` (50 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Andre Muezerie; +Cc: Ajit Khaparde, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/1846a93afdb993010a670fe9ec971ef2215a44b7

Thanks.

Luca Boccassi

---
From 1846a93afdb993010a670fe9ec971ef2215a44b7 Mon Sep 17 00:00:00 2001
From: Andre Muezerie <andremue@linux.microsoft.com>
Date: Fri, 17 Jan 2025 12:51:33 -0800
Subject: [PATCH] net/bnxt: fix indication of allocation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 8531f9ba0062032454121f4959cd3d495cd4147e ]

When experimenting with the -std=c2x compiler option the error below
popped up:

../drivers/net/bnxt/tf_core/tf_sram_mgr.c:952:39: error: incompatible
   types when assigning to type ‘_Bool *’ from type ‘_Bool’

The code indicates that the intention was to assign false to the bool
being pointed to, not to the pointer itself.

Fixes: 37ff91c158a3 ("net/bnxt: add SRAM manager model")

Signed-off-by: Andre Muezerie <andremue@linux.microsoft.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/tf_core/tf_sram_mgr.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/bnxt/tf_core/tf_sram_mgr.c b/drivers/net/bnxt/tf_core/tf_sram_mgr.c
index acb3372486..02c96e0a14 100644
--- a/drivers/net/bnxt/tf_core/tf_sram_mgr.c
+++ b/drivers/net/bnxt/tf_core/tf_sram_mgr.c
@@ -898,7 +898,7 @@ int tf_sram_mgr_is_allocated(void *sram_handle,
 			    tf_sram_slice_2_str(parms->slice_size),
 			    tf_sram_bank_2_str(parms->bank_id));
 
-		parms->is_allocated = false;
+		*parms->is_allocated = false;
 		goto done;
 	}
 
@@ -913,7 +913,7 @@ int tf_sram_mgr_is_allocated(void *sram_handle,
 	if (block == NULL) {
 		TFP_DRV_LOG(ERR, "block not found in list 0x%x\n",
 			    parms->sram_offset);
-		parms->is_allocated = false;
+		*parms->is_allocated = false;
 		goto done;
 	}
 
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.855475869 +0000
+++ 0028-net-bnxt-fix-indication-of-allocation.patch	2025-02-17 16:13:16.814441593 +0000
@@ -1 +1 @@
-From 8531f9ba0062032454121f4959cd3d495cd4147e Mon Sep 17 00:00:00 2001
+From 1846a93afdb993010a670fe9ec971ef2215a44b7 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 8531f9ba0062032454121f4959cd3d495cd4147e ]
+
@@ -19 +20,0 @@
-Cc: stable@dpdk.org
@@ -28 +29 @@
-index 87e8882fed..0dffd74cd5 100644
+index acb3372486..02c96e0a14 100644
@@ -31 +32 @@
-@@ -949,7 +949,7 @@ int tf_sram_mgr_is_allocated(void *sram_handle,
+@@ -898,7 +898,7 @@ int tf_sram_mgr_is_allocated(void *sram_handle,
@@ -40 +41 @@
-@@ -964,7 +964,7 @@ int tf_sram_mgr_is_allocated(void *sram_handle,
+@@ -913,7 +913,7 @@ int tf_sram_mgr_is_allocated(void *sram_handle,

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/bnxt: fix crash when representor is re-attached' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (26 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/bnxt: fix indication of allocation' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/mlx5: fix Netlink socket leak' " luca.boccassi
                   ` (49 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Sangtani Parag Satishbhai
  Cc: Somnath Kotur, Kalesh AP, Ajit Khaparde, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/fc55d68d544f753961b7bcfdab85f2d0ce0e3b9d

Thanks.

Luca Boccassi

---
From fc55d68d544f753961b7bcfdab85f2d0ce0e3b9d Mon Sep 17 00:00:00 2001
From: Sangtani Parag Satishbhai <parag-satishbhai.sangtani@broadcom.com>
Date: Thu, 19 Dec 2024 17:31:13 -0800
Subject: [PATCH] net/bnxt: fix crash when representor is re-attached

[ upstream commit fca6cf68bbcf9b84e4388239031fb168a6624375 ]

When the PCI port is detached using the testpmd command,
as part of cleanup testpmd removes resources of parent
port and all the children's ports and calls the driver specific
pci_remove API with the parent rte ethdev to clean-up ethdevs.
For the bnxt driver, a condition to check type of ethdev is added
in bnxt_pci_remove and based on the condition relevant
ethdev is removed (VF/PF or VFR). As the RTE layer always
calls PCI remove with the parent ethdev, the bnxt_pci_remove
never frees children (VFRs) ethdev. As, these ethdevs were not
freed it gives spurious status in re-allocation check(when pci
port attach command is executed) and when RTE layers tries to
access interrupt specific info from the ethdev due to uninitialized
members it access NULL pointer which results in seg fault. The fix
is made in bnxt_pci_remove to clean ethdev for parent (PF/VF) along
with children (VFRs).

Fixes: 322bd6e70272 ("net/bnxt: add port representor infrastructure")

Signed-off-by: Sangtani Parag Satishbhai <parag-satishbhai.sangtani@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
 drivers/net/bnxt/bnxt_ethdev.c | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index e44fa4405c..93dcfb7e01 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -6340,6 +6340,8 @@ static int bnxt_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
 static int bnxt_pci_remove(struct rte_pci_device *pci_dev)
 {
 	struct rte_eth_dev *eth_dev;
+	uint16_t port_id;
+	int rc = 0;
 
 	eth_dev = rte_eth_dev_allocated(pci_dev->device.name);
 	if (!eth_dev)
@@ -6349,14 +6351,20 @@ static int bnxt_pci_remove(struct rte_pci_device *pci_dev)
 			   * +ve value will at least help in proper cleanup
 			   */
 
-	PMD_DRV_LOG(DEBUG, "BNXT Port:%d pci remove\n", eth_dev->data->port_id);
 	if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
-		if (eth_dev->data->dev_flags & RTE_ETH_DEV_REPRESENTOR)
-			return rte_eth_dev_destroy(eth_dev,
-						   bnxt_representor_uninit);
-		else
-			return rte_eth_dev_destroy(eth_dev,
-						   bnxt_dev_uninit);
+		RTE_ETH_FOREACH_DEV_OF(port_id, &pci_dev->device) {
+			PMD_DRV_LOG(DEBUG, "BNXT Port:%d pci remove\n", port_id);
+			eth_dev = &rte_eth_devices[port_id];
+			if (eth_dev->data->dev_flags & RTE_ETH_DEV_REPRESENTOR)
+				rc = rte_eth_dev_destroy(eth_dev,
+							 bnxt_representor_uninit);
+			else
+				rc = rte_eth_dev_destroy(eth_dev,
+							 bnxt_dev_uninit);
+			if (rc != 0)
+				return rc;
+		}
+		return rc;
 	} else {
 		return rte_eth_dev_pci_generic_remove(pci_dev, NULL);
 	}
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.887818640 +0000
+++ 0029-net-bnxt-fix-crash-when-representor-is-re-attached.patch	2025-02-17 16:13:16.814441593 +0000
@@ -1 +1 @@
-From fca6cf68bbcf9b84e4388239031fb168a6624375 Mon Sep 17 00:00:00 2001
+From fc55d68d544f753961b7bcfdab85f2d0ce0e3b9d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit fca6cf68bbcf9b84e4388239031fb168a6624375 ]
+
@@ -23 +24,0 @@
-Cc: stable@dpdk.org
@@ -34 +35 @@
-index b18247feb2..144d4377bd 100644
+index e44fa4405c..93dcfb7e01 100644
@@ -37 +38 @@
-@@ -6993,6 +6993,8 @@ static int bnxt_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
+@@ -6340,6 +6340,8 @@ static int bnxt_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
@@ -46 +47 @@
-@@ -7002,14 +7004,20 @@ static int bnxt_pci_remove(struct rte_pci_device *pci_dev)
+@@ -6349,14 +6351,20 @@ static int bnxt_pci_remove(struct rte_pci_device *pci_dev)
@@ -50 +51 @@
--	PMD_DRV_LOG_LINE(DEBUG, "BNXT Port:%d pci remove", eth_dev->data->port_id);
+-	PMD_DRV_LOG(DEBUG, "BNXT Port:%d pci remove\n", eth_dev->data->port_id);
@@ -52 +53 @@
--		if (rte_eth_dev_is_repr(eth_dev))
+-		if (eth_dev->data->dev_flags & RTE_ETH_DEV_REPRESENTOR)
@@ -59 +60 @@
-+			PMD_DRV_LOG_LINE(DEBUG, "BNXT Port:%d pci remove", port_id);
++			PMD_DRV_LOG(DEBUG, "BNXT Port:%d pci remove\n", port_id);

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/mlx5: fix Netlink socket leak' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (27 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/bnxt: fix crash when representor is re-attached' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/mlx5: adjust actions per rule limitation' " luca.boccassi
                   ` (48 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Minggang Li (Gavin); +Cc: Viacheslav Ovsiienko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/d0d15d60dab85f80f6bae6528109f9981df9cf49

Thanks.

Luca Boccassi

---
From d0d15d60dab85f80f6bae6528109f9981df9cf49 Mon Sep 17 00:00:00 2001
From: "Minggang Li (Gavin)" <gavinl@nvidia.com>
Date: Mon, 23 Dec 2024 12:10:58 +0200
Subject: [PATCH] net/mlx5: fix Netlink socket leak

[ upstream commit 556a5f4ccd452d9281c3476b120d1306e0093e01 ]

Fixes: 72d7efe464b1 ("common/mlx5: share interrupt management")

Signed-off-by: Minggang Li (Gavin) <gavinl@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
 .mailmap                         | 1 +
 drivers/net/mlx5/linux/mlx5_os.c | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/.mailmap b/.mailmap
index fdcfe1c30a..dc5cb75b71 100644
--- a/.mailmap
+++ b/.mailmap
@@ -944,6 +944,7 @@ Mike Stolarchuk <mike.stolarchuk@bigswitch.com>
 Mike Ximing Chen <mike.ximing.chen@intel.com>
 Milena Olech <milena.olech@intel.com>
 Min Cao <min.cao@intel.com>
+Minggang Li (Gavin) <gavinl@nvidia.com>
 Minghuan Lian <minghuan.lian@nxp.com>
 Mingjin Ye <mingjinx.ye@intel.com>
 Mingshan Zhang <mingshan.zhang@intel.com>
diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
index 183b5e6a84..b59d559c4f 100644
--- a/drivers/net/mlx5/linux/mlx5_os.c
+++ b/drivers/net/mlx5/linux/mlx5_os.c
@@ -2657,10 +2657,15 @@ mlx5_os_dev_shared_handler_install(struct mlx5_dev_ctx_shared *sh)
 void
 mlx5_os_dev_shared_handler_uninstall(struct mlx5_dev_ctx_shared *sh)
 {
+	int fd;
+
 	mlx5_os_interrupt_handler_destroy(sh->intr_handle,
 					  mlx5_dev_interrupt_handler, sh);
+	fd = rte_intr_fd_get(sh->intr_handle_nl);
 	mlx5_os_interrupt_handler_destroy(sh->intr_handle_nl,
 					  mlx5_dev_interrupt_handler_nl, sh);
+	if (fd >= 0)
+		close(fd);
 #ifdef HAVE_IBV_DEVX_ASYNC
 	mlx5_os_interrupt_handler_destroy(sh->intr_handle_devx,
 					  mlx5_dev_interrupt_handler_devx, sh);
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.921035248 +0000
+++ 0030-net-mlx5-fix-Netlink-socket-leak.patch	2025-02-17 16:13:16.818441593 +0000
@@ -1 +1 @@
-From 556a5f4ccd452d9281c3476b120d1306e0093e01 Mon Sep 17 00:00:00 2001
+From d0d15d60dab85f80f6bae6528109f9981df9cf49 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 556a5f4ccd452d9281c3476b120d1306e0093e01 ]
+
@@ -7 +8,0 @@
-Cc: stable@dpdk.org
@@ -17 +18 @@
-index 4bc9721321..dc3dd9e5a2 100644
+index fdcfe1c30a..dc5cb75b71 100644
@@ -20 +21 @@
-@@ -1036,6 +1036,7 @@ Mike Stolarchuk <mike.stolarchuk@bigswitch.com>
+@@ -944,6 +944,7 @@ Mike Stolarchuk <mike.stolarchuk@bigswitch.com>
@@ -29 +30 @@
-index 996c97a6a9..169c229172 100644
+index 183b5e6a84..b59d559c4f 100644
@@ -32 +33 @@
-@@ -3070,10 +3070,15 @@ mlx5_os_dev_shared_handler_install(struct mlx5_dev_ctx_shared *sh)
+@@ -2657,10 +2657,15 @@ mlx5_os_dev_shared_handler_install(struct mlx5_dev_ctx_shared *sh)

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/mlx5: adjust actions per rule limitation' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (28 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/mlx5: fix Netlink socket leak' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/mlx5: fix flush of non-template flow rules' " luca.boccassi
                   ` (47 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Maayan Kashani; +Cc: Dariusz Sosnowski, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/30ea2c29d16d0858e3032746492974494400763a

Thanks.

Luca Boccassi

---
From 30ea2c29d16d0858e3032746492974494400763a Mon Sep 17 00:00:00 2001
From: Maayan Kashani <mkashani@nvidia.com>
Date: Tue, 28 Jan 2025 09:54:03 +0200
Subject: [PATCH] net/mlx5: adjust actions per rule limitation

[ upstream commit ab54e17fe2f5207d7b988d568344570e156551ad ]

HWS implementation added a limitation of 16 actions per rule,
which was incompatible with SWS limitation of 32 actions per rule.

Changing the hard coded limitation in PMD to 32.

Fixes: f13fab23922b ("net/mlx5: add flow jump action")

Signed-off-by: Maayan Kashani <mkashani@nvidia.com>
Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
---
 drivers/net/mlx5/mlx5_flow.h    | 2 +-
 drivers/net/mlx5/mlx5_flow_hw.c | 3 ---
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_flow.h b/drivers/net/mlx5/mlx5_flow.h
index fb2eb05c06..eb7040ee4d 100644
--- a/drivers/net/mlx5/mlx5_flow.h
+++ b/drivers/net/mlx5/mlx5_flow.h
@@ -1282,7 +1282,7 @@ struct mlx5_hw_modify_header_action {
 };
 
 /* The maximum actions support in the flow. */
-#define MLX5_HW_MAX_ACTS 16
+#define MLX5_HW_MAX_ACTS 32
 
 /* DR action set struct. */
 struct mlx5_hw_actions {
diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c
index 047af4a0c9..42d5d6ada6 100644
--- a/drivers/net/mlx5/mlx5_flow_hw.c
+++ b/drivers/net/mlx5/mlx5_flow_hw.c
@@ -12,9 +12,6 @@
 #if defined(HAVE_IBV_FLOW_DV_SUPPORT) || !defined(HAVE_INFINIBAND_VERBS_H)
 #include "mlx5_hws_cnt.h"
 
-/* The maximum actions support in the flow. */
-#define MLX5_HW_MAX_ACTS 16
-
 /*
  * The default ipool threshold value indicates which per_core_cache
  * value to set.
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.955092501 +0000
+++ 0031-net-mlx5-adjust-actions-per-rule-limitation.patch	2025-02-17 16:13:16.822441593 +0000
@@ -1 +1 @@
-From ab54e17fe2f5207d7b988d568344570e156551ad Mon Sep 17 00:00:00 2001
+From 30ea2c29d16d0858e3032746492974494400763a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ab54e17fe2f5207d7b988d568344570e156551ad ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 93c2406abc..445c9cdb4b 100644
+index fb2eb05c06..eb7040ee4d 100644
@@ -25 +26 @@
-@@ -1583,7 +1583,7 @@ struct mlx5_hw_modify_header_action {
+@@ -1282,7 +1282,7 @@ struct mlx5_hw_modify_header_action {
@@ -35 +36 @@
-index 2b62711413..501bf33f94 100644
+index 047af4a0c9..42d5d6ada6 100644
@@ -38,3 +39,3 @@
-@@ -21,9 +21,6 @@
- /** Fast path async flow API functions. */
- static struct rte_flow_fp_ops mlx5_flow_hw_fp_ops;
+@@ -12,9 +12,6 @@
+ #if defined(HAVE_IBV_FLOW_DV_SUPPORT) || !defined(HAVE_INFINIBAND_VERBS_H)
+ #include "mlx5_hws_cnt.h"

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/mlx5: fix flush of non-template flow rules' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (29 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/mlx5: adjust actions per rule limitation' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/mlx5: fix GRE flow match with SWS' " luca.boccassi
                   ` (46 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Maayan Kashani; +Cc: Bing Zhao, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/6ded800ee12f53831b846b31dcad64081c214bfe

Thanks.

Luca Boccassi

---
From 6ded800ee12f53831b846b31dcad64081c214bfe Mon Sep 17 00:00:00 2001
From: Maayan Kashani <mkashani@nvidia.com>
Date: Tue, 28 Jan 2025 09:54:05 +0200
Subject: [PATCH] net/mlx5: fix flush of non-template flow rules

[ upstream commit 716929be9456b78875d0eb20bc54c13acf99efc0 ]

Fix flow flush for non template flows on top of HWS,
in another fix it was added return after releasing template flows.
Need to drop the return in order to release non template list of flows.

Fixes: 1ea333d2de22 ("net/mlx5: fix Rx queue reference count in flushing flows")

Signed-off-by: Maayan Kashani <mkashani@nvidia.com>
Acked-by: Bing Zhao <bingz@nvidia.com>
---
 drivers/net/mlx5/mlx5_flow.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index f66edf1c64..6fe51f70a8 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -7477,7 +7477,6 @@ mlx5_flow_list_flush(struct rte_eth_dev *dev, enum mlx5_flow_type type,
 		priv->hws_rule_flushing = true;
 		flow_hw_q_flow_flush(dev, NULL);
 		priv->hws_rule_flushing = false;
-		return;
 	}
 #endif
 
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:17.994747786 +0000
+++ 0032-net-mlx5-fix-flush-of-non-template-flow-rules.patch	2025-02-17 16:13:16.826441592 +0000
@@ -1 +1 @@
-From 716929be9456b78875d0eb20bc54c13acf99efc0 Mon Sep 17 00:00:00 2001
+From 6ded800ee12f53831b846b31dcad64081c214bfe Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 716929be9456b78875d0eb20bc54c13acf99efc0 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index bfc44f25bf..a2ee237841 100644
+index f66edf1c64..6fe51f70a8 100644
@@ -23 +24 @@
-@@ -8118,7 +8118,6 @@ mlx5_flow_list_flush(struct rte_eth_dev *dev, enum mlx5_flow_type type,
+@@ -7477,7 +7477,6 @@ mlx5_flow_list_flush(struct rte_eth_dev *dev, enum mlx5_flow_type type,
@@ -30 +31 @@
- 	MLX5_IPOOL_FOREACH(priv->flows[type], fidx, flow) {
+ 

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/mlx5: fix GRE flow match with SWS' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (30 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/mlx5: fix flush of non-template flow rules' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/igc/base: fix deadlock when writing i225 register' " luca.boccassi
                   ` (45 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Maayan Kashani; +Cc: Bing Zhao, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/753eeb5b3dd93a0b6bb08c98f739c4143fc72250

Thanks.

Luca Boccassi

---
From 753eeb5b3dd93a0b6bb08c98f739c4143fc72250 Mon Sep 17 00:00:00 2001
From: Maayan Kashani <mkashani@nvidia.com>
Date: Tue, 28 Jan 2025 09:59:30 +0200
Subject: [PATCH] net/mlx5: fix GRE flow match with SWS

[ upstream commit 05db99c117e36c0cd28cda8f558309efd20055da ]

The previous GRE fix was meant to handle HWS behavior
and changed the behavior for SWS causing degradation.

After the previous fix, in case of an empty GRE match,
GRE mask was initialized with protocol full mask,
Instead of the empty mask with protocol mask equals zero.

The current fix handles the SWS case as before the GRE fix,
and HWS according to the latest fix.
Also, combined common logic.

Fixes: 25ab2cbba31d ("net/mlx5: fix GRE flow item translation for root table")

Signed-off-by: Maayan Kashani <mkashani@nvidia.com>
Acked-by: Bing Zhao <bingz@nvidia.com>
---
 drivers/net/mlx5/mlx5_flow_dv.c | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index 4e0ed4415f..7e9c22acb2 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -9108,23 +9108,26 @@ flow_dv_translate_item_gre(void *key, const struct rte_flow_item *item,
 	} gre_crks_rsvd0_ver_m, gre_crks_rsvd0_ver_v;
 	uint16_t protocol_m, protocol_v;
 
-	if (key_type & MLX5_SET_MATCHER_M) {
+	/* Common logic to SWS/HWS */
+	if (key_type & MLX5_SET_MATCHER_M)
 		MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_protocol, 0xff);
-		if (!gre_m)
-			gre_m = &rte_flow_item_gre_mask;
-		gre_v = gre_m;
-	} else {
+	else
 		MLX5_SET(fte_match_set_lyr_2_4, headers_v, ip_protocol,
-			 IPPROTO_GRE);
-		if (!gre_v) {
-			gre_v = &empty_gre;
-			gre_m = &empty_gre;
-		} else if (!gre_m) {
+			IPPROTO_GRE);
+	/* HWS mask logic only */
+	if (key_type & MLX5_SET_MATCHER_HS_M) {
+		if (!gre_m)
 			gre_m = &rte_flow_item_gre_mask;
-		}
-		if (key_type == MLX5_SET_MATCHER_HS_V)
-			gre_m = gre_v;
+		gre_v = gre_m;
+	} else if (!gre_v) {
+		gre_v = &empty_gre;
+		gre_m = &empty_gre;
+	} else if (!gre_m) {
+		gre_m = &rte_flow_item_gre_mask;
 	}
+	/* SWS logic only */
+	if (key_type & MLX5_SET_MATCHER_SW_M)
+		gre_v = gre_m;
 	gre_crks_rsvd0_ver_m.value = rte_be_to_cpu_16(gre_m->c_rsvd0_ver);
 	gre_crks_rsvd0_ver_v.value = rte_be_to_cpu_16(gre_v->c_rsvd0_ver);
 	MLX5_SET(fte_match_set_misc, misc_v, gre_c_present,
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.041329609 +0000
+++ 0033-net-mlx5-fix-GRE-flow-match-with-SWS.patch	2025-02-17 16:13:16.834441592 +0000
@@ -1 +1 @@
-From 05db99c117e36c0cd28cda8f558309efd20055da Mon Sep 17 00:00:00 2001
+From 753eeb5b3dd93a0b6bb08c98f739c4143fc72250 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 05db99c117e36c0cd28cda8f558309efd20055da ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
@@ -27 +28 @@
-index 41ebe0b61a..633c41e358 100644
+index 4e0ed4415f..7e9c22acb2 100644
@@ -30 +31 @@
-@@ -9839,23 +9839,26 @@ flow_dv_translate_item_gre(void *key, const struct rte_flow_item *item,
+@@ -9108,23 +9108,26 @@ flow_dv_translate_item_gre(void *key, const struct rte_flow_item *item,

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/igc/base: fix deadlock when writing i225 register' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (31 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/mlx5: fix GRE flow match with SWS' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/igc/base: fix infinite loop' " luca.boccassi
                   ` (44 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Dima Ruinskiy; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/b185b0deb41d05365fa760a63fa4012eb25ab09c

Thanks.

Luca Boccassi

---
From b185b0deb41d05365fa760a63fa4012eb25ab09c Mon Sep 17 00:00:00 2001
From: Dima Ruinskiy <dima.ruinskiy@intel.com>
Date: Thu, 6 Feb 2025 16:08:24 +0000
Subject: [PATCH] net/igc/base: fix deadlock when writing i225 register

[ upstream commit f05363dceac78694638f86a8af1acd173ca9e3e0 ]

Currently, when writing GPY PHY registers, semaphore is acquired before
writing. However, if writing fails, semaphore is not released, causing a
deadlock down the line. Fix the issue by removing the premature return.

Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")

Signed-off-by: Dima Ruinskiy <dima.ruinskiy@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 .mailmap                       | 1 +
 drivers/net/igc/base/igc_phy.c | 4 ----
 2 files changed, 1 insertion(+), 4 deletions(-)

diff --git a/.mailmap b/.mailmap
index dc5cb75b71..5338abcc05 100644
--- a/.mailmap
+++ b/.mailmap
@@ -323,6 +323,7 @@ Dheemanth Mallikarjun <dheemanthm@vmware.com>
 Diana Wang <na.wang@corigine.com>
 Didier Pallard <didier.pallard@6wind.com>
 Dilshod Urazov <dilshod.urazov@oktetlabs.ru>
+Dima Ruinskiy <dima.ruinskiy@intel.com>
 Ding Zhi <zhi.ding@6wind.com>
 Diogo Behrens <diogo.behrens@huawei.com>
 Dirk-Holger Lenz <dirk.lenz@ng4t.com>
diff --git a/drivers/net/igc/base/igc_phy.c b/drivers/net/igc/base/igc_phy.c
index 2906bae21a..ddc2b6ecc1 100644
--- a/drivers/net/igc/base/igc_phy.c
+++ b/drivers/net/igc/base/igc_phy.c
@@ -4148,8 +4148,6 @@ s32 igc_write_phy_reg_gpy(struct igc_hw *hw, u32 offset, u16 data)
 		if (ret_val)
 			return ret_val;
 		ret_val = igc_write_phy_reg_mdic(hw, offset, data);
-		if (ret_val)
-			return ret_val;
 		hw->phy.ops.release(hw);
 	} else {
 		ret_val = igc_write_xmdio_reg(hw, (u16)offset, dev_addr,
@@ -4182,8 +4180,6 @@ s32 igc_read_phy_reg_gpy(struct igc_hw *hw, u32 offset, u16 *data)
 		if (ret_val)
 			return ret_val;
 		ret_val = igc_read_phy_reg_mdic(hw, offset, data);
-		if (ret_val)
-			return ret_val;
 		hw->phy.ops.release(hw);
 	} else {
 		ret_val = igc_read_xmdio_reg(hw, (u16)offset, dev_addr,
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.084616291 +0000
+++ 0034-net-igc-base-fix-deadlock-when-writing-i225-register.patch	2025-02-17 16:13:16.838441592 +0000
@@ -1 +1 @@
-From f05363dceac78694638f86a8af1acd173ca9e3e0 Mon Sep 17 00:00:00 2001
+From b185b0deb41d05365fa760a63fa4012eb25ab09c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f05363dceac78694638f86a8af1acd173ca9e3e0 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -17,2 +18,2 @@
- .mailmap                             | 1 +
- drivers/net/intel/igc/base/igc_phy.c | 4 ----
+ .mailmap                       | 1 +
+ drivers/net/igc/base/igc_phy.c | 4 ----
@@ -22 +23 @@
-index dc3dd9e5a2..9ea6bd1df3 100644
+index dc5cb75b71..5338abcc05 100644
@@ -25 +26 @@
-@@ -358,6 +358,7 @@ Dhruv Tripathi <dhruv.tripathi@arm.com>
+@@ -323,6 +323,7 @@ Dheemanth Mallikarjun <dheemanthm@vmware.com>
@@ -33 +34 @@
-diff --git a/drivers/net/intel/igc/base/igc_phy.c b/drivers/net/intel/igc/base/igc_phy.c
+diff --git a/drivers/net/igc/base/igc_phy.c b/drivers/net/igc/base/igc_phy.c
@@ -35,2 +36,2 @@
---- a/drivers/net/intel/igc/base/igc_phy.c
-+++ b/drivers/net/intel/igc/base/igc_phy.c
+--- a/drivers/net/igc/base/igc_phy.c
++++ b/drivers/net/igc/base/igc_phy.c

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/igc/base: fix infinite loop' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (32 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/igc/base: fix deadlock when writing i225 register' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/igc/base: fix bitwise operation type' " luca.boccassi
                   ` (43 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Dima Ruinskiy; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/17e21b8056ae9ab66dc5f9e42297aaffb730886a

Thanks.

Luca Boccassi

---
From 17e21b8056ae9ab66dc5f9e42297aaffb730886a Mon Sep 17 00:00:00 2001
From: Dima Ruinskiy <dima.ruinskiy@intel.com>
Date: Thu, 6 Feb 2025 16:08:25 +0000
Subject: [PATCH] net/igc/base: fix infinite loop

[ upstream commit 532e495e4a20cf09e1f42d01bcbe782f7e2bb03f ]

When the driver fails to acquire HW semaphore, there is nothing that can
be done to address it, so just leave to avoid an infinite loop.

Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")

Signed-off-by: Dima Ruinskiy <dima.ruinskiy@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/igc/base/igc_i225.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
index 180d3cf687..c2fae6e797 100644
--- a/drivers/net/igc/base/igc_i225.c
+++ b/drivers/net/igc/base/igc_i225.c
@@ -330,8 +330,15 @@ void igc_release_swfw_sync_i225(struct igc_hw *hw, u16 mask)
 
 	DEBUGFUNC("igc_release_swfw_sync_i225");
 
-	while (igc_get_hw_semaphore_i225(hw) != IGC_SUCCESS)
-		; /* Empty */
+	/* Releasing the resource requires first getting the HW semaphore.
+	 * If we fail to get the semaphore, there is nothing we can do,
+	 * except log an error and quit. We are not allowed to hang here
+	 * indefinitely, as it may cause denial of service or system crash.
+	 */
+	if (igc_get_hw_semaphore_i225(hw) != IGC_SUCCESS) {
+		DEBUGOUT("Failed to release SW_FW_SYNC.\n");
+		return;
+	}
 
 	swfw_sync = IGC_READ_REG(hw, IGC_SW_FW_SYNC);
 	swfw_sync &= ~mask;
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.120543038 +0000
+++ 0035-net-igc-base-fix-infinite-loop.patch	2025-02-17 16:13:16.838441592 +0000
@@ -1 +1 @@
-From 532e495e4a20cf09e1f42d01bcbe782f7e2bb03f Mon Sep 17 00:00:00 2001
+From 17e21b8056ae9ab66dc5f9e42297aaffb730886a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 532e495e4a20cf09e1f42d01bcbe782f7e2bb03f ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/intel/igc/base/igc_i225.c | 11 +++++++++--
+ drivers/net/igc/base/igc_i225.c | 11 +++++++++--
@@ -19,5 +20,5 @@
-diff --git a/drivers/net/intel/igc/base/igc_i225.c b/drivers/net/intel/igc/base/igc_i225.c
-index 17a1573064..8f01f8d918 100644
---- a/drivers/net/intel/igc/base/igc_i225.c
-+++ b/drivers/net/intel/igc/base/igc_i225.c
-@@ -333,8 +333,15 @@ void igc_release_swfw_sync_i225(struct igc_hw *hw, u16 mask)
+diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
+index 180d3cf687..c2fae6e797 100644
+--- a/drivers/net/igc/base/igc_i225.c
++++ b/drivers/net/igc/base/igc_i225.c
+@@ -330,8 +330,15 @@ void igc_release_swfw_sync_i225(struct igc_hw *hw, u16 mask)

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/igc/base: fix bitwise operation type' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (33 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/igc/base: fix infinite loop' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/igc/base: increase PHY power up delay' " luca.boccassi
                   ` (42 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Przemyslaw Ciesielski; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/74b1b8ee6e81a11702cd14363ecd21eddbaddc8d

Thanks.

Luca Boccassi

---
From 74b1b8ee6e81a11702cd14363ecd21eddbaddc8d Mon Sep 17 00:00:00 2001
From: Przemyslaw Ciesielski <przemyslaw.ciesielski@intel.com>
Date: Thu, 6 Feb 2025 16:08:26 +0000
Subject: [PATCH] net/igc/base: fix bitwise operation type

[ upstream commit bf51125b75b18a3a43439edb2c6e1f0b14793d51 ]

Static analysis has found type mismatch between mask and register value.
Fix the bitwise operation type to avoid potential issues.

Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")

Signed-off-by: Przemyslaw Ciesielski <przemyslaw.ciesielski@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/igc/base/igc_i225.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
index c2fae6e797..97dc7f454d 100644
--- a/drivers/net/igc/base/igc_i225.c
+++ b/drivers/net/igc/base/igc_i225.c
@@ -341,7 +341,7 @@ void igc_release_swfw_sync_i225(struct igc_hw *hw, u16 mask)
 	}
 
 	swfw_sync = IGC_READ_REG(hw, IGC_SW_FW_SYNC);
-	swfw_sync &= ~mask;
+	swfw_sync &= ~(u32)mask;
 	IGC_WRITE_REG(hw, IGC_SW_FW_SYNC, swfw_sync);
 
 	igc_put_hw_semaphore_generic(hw);
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.150549594 +0000
+++ 0036-net-igc-base-fix-bitwise-operation-type.patch	2025-02-17 16:13:16.838441592 +0000
@@ -1 +1 @@
-From bf51125b75b18a3a43439edb2c6e1f0b14793d51 Mon Sep 17 00:00:00 2001
+From 74b1b8ee6e81a11702cd14363ecd21eddbaddc8d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit bf51125b75b18a3a43439edb2c6e1f0b14793d51 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/intel/igc/base/igc_i225.c | 2 +-
+ drivers/net/igc/base/igc_i225.c | 2 +-
@@ -19,5 +20,5 @@
-diff --git a/drivers/net/intel/igc/base/igc_i225.c b/drivers/net/intel/igc/base/igc_i225.c
-index 8f01f8d918..1277f59885 100644
---- a/drivers/net/intel/igc/base/igc_i225.c
-+++ b/drivers/net/intel/igc/base/igc_i225.c
-@@ -344,7 +344,7 @@ void igc_release_swfw_sync_i225(struct igc_hw *hw, u16 mask)
+diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
+index c2fae6e797..97dc7f454d 100644
+--- a/drivers/net/igc/base/igc_i225.c
++++ b/drivers/net/igc/base/igc_i225.c
+@@ -341,7 +341,7 @@ void igc_release_swfw_sync_i225(struct igc_hw *hw, u16 mask)

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/igc/base: increase PHY power up delay' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (34 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/igc/base: fix bitwise operation type' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/igc/base: reset loop variable' " luca.boccassi
                   ` (41 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Sasha Neftin; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/04fd449b89969b4d9413e84630411cd0baf5f11b

Thanks.

Luca Boccassi

---
From 04fd449b89969b4d9413e84630411cd0baf5f11b Mon Sep 17 00:00:00 2001
From: Sasha Neftin <sasha.neftin@intel.com>
Date: Thu, 6 Feb 2025 16:08:27 +0000
Subject: [PATCH] net/igc/base: increase PHY power up delay

[ upstream commit a8a4acb46fa6bbe0a669b4eca0f73f112a7646ac ]

PHY specification for i225 requires 300 microsecond delay after power up
sequence, so increase the delay after power up to 300 microseconds.

Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")

Signed-off-by: Sasha Neftin <sasha.neftin@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/igc/base/igc_phy.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/igc/base/igc_phy.c b/drivers/net/igc/base/igc_phy.c
index ddc2b6ecc1..706f037f0e 100644
--- a/drivers/net/igc/base/igc_phy.c
+++ b/drivers/net/igc/base/igc_phy.c
@@ -3523,6 +3523,7 @@ void igc_power_up_phy_copper(struct igc_hw *hw)
 	hw->phy.ops.read_reg(hw, PHY_CONTROL, &mii_reg);
 	mii_reg &= ~MII_CR_POWER_DOWN;
 	hw->phy.ops.write_reg(hw, PHY_CONTROL, mii_reg);
+	usec_delay(300);
 }
 
 /**
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.182969510 +0000
+++ 0037-net-igc-base-increase-PHY-power-up-delay.patch	2025-02-17 16:13:16.838441592 +0000
@@ -1 +1 @@
-From a8a4acb46fa6bbe0a669b4eca0f73f112a7646ac Mon Sep 17 00:00:00 2001
+From 04fd449b89969b4d9413e84630411cd0baf5f11b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a8a4acb46fa6bbe0a669b4eca0f73f112a7646ac ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/intel/igc/base/igc_phy.c | 1 +
+ drivers/net/igc/base/igc_phy.c | 1 +
@@ -19 +20 @@
-diff --git a/drivers/net/intel/igc/base/igc_phy.c b/drivers/net/intel/igc/base/igc_phy.c
+diff --git a/drivers/net/igc/base/igc_phy.c b/drivers/net/igc/base/igc_phy.c
@@ -21,2 +22,2 @@
---- a/drivers/net/intel/igc/base/igc_phy.c
-+++ b/drivers/net/intel/igc/base/igc_phy.c
+--- a/drivers/net/igc/base/igc_phy.c
++++ b/drivers/net/igc/base/igc_phy.c

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/igc/base: reset loop variable' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (35 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/igc/base: increase PHY power up delay' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/igc/base: fix LTR for i225' " luca.boccassi
                   ` (40 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Sasha Neftin; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/322c9ee4c7670df3cde2bdd0fa67b432768c5ac4

Thanks.

Luca Boccassi

---
From 322c9ee4c7670df3cde2bdd0fa67b432768c5ac4 Mon Sep 17 00:00:00 2001
From: Sasha Neftin <sasha.neftin@intel.com>
Date: Thu, 6 Feb 2025 16:08:28 +0000
Subject: [PATCH] net/igc/base: reset loop variable

[ upstream commit 60dca8e0f6b2d8526dc9dc8b54e59b5d68964e8e ]

When writing to Shadow RAM, we set rev_val on success, but since the
value is already set to success initially, it is possible for none of
the writes to be successful, yet ret_val will still be set to success.
Fix it by resetting the ret_val to failure before every loop iteration.

Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")

Signed-off-by: Sasha Neftin <sasha.neftin@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/igc/base/igc_i225.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
index 97dc7f454d..25cd2a8039 100644
--- a/drivers/net/igc/base/igc_i225.c
+++ b/drivers/net/igc/base/igc_i225.c
@@ -562,6 +562,7 @@ static s32 __igc_write_nvm_srwr(struct igc_hw *hw, u16 offset, u16 words,
 	}
 
 	for (i = 0; i < words; i++) {
+		ret_val = -IGC_ERR_NVM;
 		eewr = ((offset + i) << IGC_NVM_RW_ADDR_SHIFT) |
 			(data[i] << IGC_NVM_RW_REG_DATA) |
 			IGC_NVM_RW_REG_START;
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.216628171 +0000
+++ 0038-net-igc-base-reset-loop-variable.patch	2025-02-17 16:13:16.838441592 +0000
@@ -1 +1 @@
-From 60dca8e0f6b2d8526dc9dc8b54e59b5d68964e8e Mon Sep 17 00:00:00 2001
+From 322c9ee4c7670df3cde2bdd0fa67b432768c5ac4 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 60dca8e0f6b2d8526dc9dc8b54e59b5d68964e8e ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
- drivers/net/intel/igc/base/igc_i225.c | 1 +
+ drivers/net/igc/base/igc_i225.c | 1 +
@@ -21,5 +22,5 @@
-diff --git a/drivers/net/intel/igc/base/igc_i225.c b/drivers/net/intel/igc/base/igc_i225.c
-index 1277f59885..003c060215 100644
---- a/drivers/net/intel/igc/base/igc_i225.c
-+++ b/drivers/net/intel/igc/base/igc_i225.c
-@@ -565,6 +565,7 @@ static s32 __igc_write_nvm_srwr(struct igc_hw *hw, u16 offset, u16 words,
+diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
+index 97dc7f454d..25cd2a8039 100644
+--- a/drivers/net/igc/base/igc_i225.c
++++ b/drivers/net/igc/base/igc_i225.c
+@@ -562,6 +562,7 @@ static s32 __igc_write_nvm_srwr(struct igc_hw *hw, u16 offset, u16 words,

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/igc/base: fix LTR for i225' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (36 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/igc/base: reset loop variable' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/igc/base: fix typo in LTR calculation' " luca.boccassi
                   ` (39 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Sasha Neftin; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/f65e7af5701cbb5c25d05269a4f5048d8024220e

Thanks.

Luca Boccassi

---
From f65e7af5701cbb5c25d05269a4f5048d8024220e Mon Sep 17 00:00:00 2001
From: Sasha Neftin <sasha.neftin@intel.com>
Date: Thu, 6 Feb 2025 16:08:29 +0000
Subject: [PATCH] net/igc/base: fix LTR for i225

[ upstream commit 6a304bc65269cfd86193663e9b94c73299b54d00 ]

i225 specification recommends minus 1 microsecond from a value
calculated for a LTR. Fix the calculation to match spec.

Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")

Signed-off-by: Sasha Neftin <sasha.neftin@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/igc/base/igc_i225.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
index 25cd2a8039..a6f0ac0612 100644
--- a/drivers/net/igc/base/igc_i225.c
+++ b/drivers/net/igc/base/igc_i225.c
@@ -1068,7 +1068,9 @@ static s32 igc_set_ltr_i225(struct igc_hw *hw, bool link)
 		scale_max = (ltr_max / 1024) < 1024 ? IGC_LTRMAXV_SCALE_1024 :
 			    IGC_LTRMAXV_SCALE_32768;
 		ltr_min /= scale_min == IGC_LTRMINV_SCALE_1024 ? 1024 : 32768;
+		ltr_min -= 1;
 		ltr_max /= scale_max == IGC_LTRMAXV_SCALE_1024 ? 1024 : 32768;
+		ltr_max -= 1;
 
 		/* Only write the LTR thresholds if they differ from before. */
 		ltrv = IGC_READ_REG(hw, IGC_LTRMINV);
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.246653784 +0000
+++ 0039-net-igc-base-fix-LTR-for-i225.patch	2025-02-17 16:13:16.838441592 +0000
@@ -1 +1 @@
-From 6a304bc65269cfd86193663e9b94c73299b54d00 Mon Sep 17 00:00:00 2001
+From f65e7af5701cbb5c25d05269a4f5048d8024220e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 6a304bc65269cfd86193663e9b94c73299b54d00 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/intel/igc/base/igc_i225.c | 2 ++
+ drivers/net/igc/base/igc_i225.c | 2 ++
@@ -19,5 +20,5 @@
-diff --git a/drivers/net/intel/igc/base/igc_i225.c b/drivers/net/intel/igc/base/igc_i225.c
-index 003c060215..e701d00f80 100644
---- a/drivers/net/intel/igc/base/igc_i225.c
-+++ b/drivers/net/intel/igc/base/igc_i225.c
-@@ -1071,7 +1071,9 @@ static s32 igc_set_ltr_i225(struct igc_hw *hw, bool link)
+diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
+index 25cd2a8039..a6f0ac0612 100644
+--- a/drivers/net/igc/base/igc_i225.c
++++ b/drivers/net/igc/base/igc_i225.c
+@@ -1068,7 +1068,9 @@ static s32 igc_set_ltr_i225(struct igc_hw *hw, bool link)

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/igc/base: fix typo in LTR calculation' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (37 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/igc/base: fix LTR for i225' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/igc/base: fix unused value' " luca.boccassi
                   ` (38 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Dima Ruinskiy; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/ec6a60f0806121520ffd06c87eb3e00f488d76dc

Thanks.

Luca Boccassi

---
From ec6a60f0806121520ffd06c87eb3e00f488d76dc Mon Sep 17 00:00:00 2001
From: Dima Ruinskiy <dima.ruinskiy@intel.com>
Date: Thu, 6 Feb 2025 16:08:30 +0000
Subject: [PATCH] net/igc/base: fix typo in LTR calculation

[ upstream commit ce11274c5c7188322cc141cdce8cd0680e76f79f ]

The LTR maximum value was incorrectly written using the scale from the
LTR minimum value. This would cause incorrect values to be sent, in
cases where the initial calculation leads to different min/max scales.
Fix the typo to correctly calculate the LTR maximum value.

Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")

Signed-off-by: Dima Ruinskiy <dima.ruinskiy@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/igc/base/igc_i225.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
index a6f0ac0612..e627bdd6b5 100644
--- a/drivers/net/igc/base/igc_i225.c
+++ b/drivers/net/igc/base/igc_i225.c
@@ -1083,7 +1083,7 @@ static s32 igc_set_ltr_i225(struct igc_hw *hw, bool link)
 		ltrv = IGC_READ_REG(hw, IGC_LTRMAXV);
 		if (ltr_max != (ltrv & IGC_LTRMAXV_LTRV_MASK)) {
 			ltrv = IGC_LTRMAXV_LSNP_REQ | ltr_max |
-			      (scale_min << IGC_LTRMAXV_SCALE_SHIFT);
+			      (scale_max << IGC_LTRMAXV_SCALE_SHIFT);
 			IGC_WRITE_REG(hw, IGC_LTRMAXV, ltrv);
 		}
 	}
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.280077131 +0000
+++ 0040-net-igc-base-fix-typo-in-LTR-calculation.patch	2025-02-17 16:13:16.838441592 +0000
@@ -1 +1 @@
-From ce11274c5c7188322cc141cdce8cd0680e76f79f Mon Sep 17 00:00:00 2001
+From ec6a60f0806121520ffd06c87eb3e00f488d76dc Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ce11274c5c7188322cc141cdce8cd0680e76f79f ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
- drivers/net/intel/igc/base/igc_i225.c | 2 +-
+ drivers/net/igc/base/igc_i225.c | 2 +-
@@ -21,5 +22,5 @@
-diff --git a/drivers/net/intel/igc/base/igc_i225.c b/drivers/net/intel/igc/base/igc_i225.c
-index e701d00f80..c7c2ec8ffe 100644
---- a/drivers/net/intel/igc/base/igc_i225.c
-+++ b/drivers/net/intel/igc/base/igc_i225.c
-@@ -1086,7 +1086,7 @@ static s32 igc_set_ltr_i225(struct igc_hw *hw, bool link)
+diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
+index a6f0ac0612..e627bdd6b5 100644
+--- a/drivers/net/igc/base/igc_i225.c
++++ b/drivers/net/igc/base/igc_i225.c
+@@ -1083,7 +1083,7 @@ static s32 igc_set_ltr_i225(struct igc_hw *hw, bool link)

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/igc/base: fix unused value' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (38 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/igc/base: fix typo in LTR calculation' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/igc/base: fix semaphore timeout " luca.boccassi
                   ` (37 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Dima Ruinskiy; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/1dad8b6c976b8ab91509785f40fbfb94035d3115

Thanks.

Luca Boccassi

---
From 1dad8b6c976b8ab91509785f40fbfb94035d3115 Mon Sep 17 00:00:00 2001
From: Dima Ruinskiy <dima.ruinskiy@intel.com>
Date: Thu, 6 Feb 2025 16:08:31 +0000
Subject: [PATCH] net/igc/base: fix unused value

[ upstream commit c506cc8305b4ca17bae903a54daaeaf5b7005038 ]

Static analysis has reported that when there is no get link status
callback function, the value set in the if condition is not used and
gets overwritten in the "out" section of the code. Fix by not setting
the variable.

Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")

Signed-off-by: Dima Ruinskiy <dima.ruinskiy@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/igc/base/igc_i225.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
index e627bdd6b5..6c45fa5427 100644
--- a/drivers/net/igc/base/igc_i225.c
+++ b/drivers/net/igc/base/igc_i225.c
@@ -1111,10 +1111,8 @@ s32 igc_check_for_link_i225(struct igc_hw *hw)
 	 * changed.  The get_link_status flag is set upon receiving
 	 * a Link Status Change or Rx Sequence Error interrupt.
 	 */
-	if (!mac->get_link_status) {
-		ret_val = IGC_SUCCESS;
+	if (!mac->get_link_status)
 		goto out;
-	}
 
 	/* First we want to see if the MII Status Register reports
 	 * link.  If so, then we want to get the current speed/duplex
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.312318711 +0000
+++ 0041-net-igc-base-fix-unused-value.patch	2025-02-17 16:13:16.838441592 +0000
@@ -1 +1 @@
-From c506cc8305b4ca17bae903a54daaeaf5b7005038 Mon Sep 17 00:00:00 2001
+From 1dad8b6c976b8ab91509785f40fbfb94035d3115 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c506cc8305b4ca17bae903a54daaeaf5b7005038 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
- drivers/net/intel/igc/base/igc_i225.c | 4 +---
+ drivers/net/igc/base/igc_i225.c | 4 +---
@@ -21,5 +22,5 @@
-diff --git a/drivers/net/intel/igc/base/igc_i225.c b/drivers/net/intel/igc/base/igc_i225.c
-index c7c2ec8ffe..23c68a3948 100644
---- a/drivers/net/intel/igc/base/igc_i225.c
-+++ b/drivers/net/intel/igc/base/igc_i225.c
-@@ -1114,10 +1114,8 @@ s32 igc_check_for_link_i225(struct igc_hw *hw)
+diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
+index e627bdd6b5..6c45fa5427 100644
+--- a/drivers/net/igc/base/igc_i225.c
++++ b/drivers/net/igc/base/igc_i225.c
+@@ -1111,10 +1111,8 @@ s32 igc_check_for_link_i225(struct igc_hw *hw)

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/igc/base: fix semaphore timeout value' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (39 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/igc/base: fix unused value' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/igc/base: fix iterator type' " luca.boccassi
                   ` (36 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Pawel Malinowski; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/572d5ab2cd6b6fd7bf1bc9a9c7783431f5ef769c

Thanks.

Luca Boccassi

---
From 572d5ab2cd6b6fd7bf1bc9a9c7783431f5ef769c Mon Sep 17 00:00:00 2001
From: Pawel Malinowski <pawel.malinowski@intel.com>
Date: Thu, 6 Feb 2025 16:08:32 +0000
Subject: [PATCH] net/igc/base: fix semaphore timeout value

[ upstream commit 7caabb9834bc9596190c03279eae8980b1c24800 ]

According to datasheet, software ownership of SWSM.SWESMBI bit should
not exceed 100ms. Current implementation caused incorrect timeout
counter values, where each iteration equals 50us delay. Because of that,
driver was allowed to wait for semaphore even for 1.5s. This might
trigger DPC timeout.

This implementation hardcodes value to 2000, which multiplied by 50us,
gives 100ms of possible wait time.

Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")

Signed-off-by: Pawel Malinowski <pawel.malinowski@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/igc/base/igc_defines.h | 1 +
 drivers/net/igc/base/igc_i225.c    | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/igc/base/igc_defines.h b/drivers/net/igc/base/igc_defines.h
index 61964bcdd2..ca882ebff1 100644
--- a/drivers/net/igc/base/igc_defines.h
+++ b/drivers/net/igc/base/igc_defines.h
@@ -516,6 +516,7 @@
 /* SW Semaphore Register */
 #define IGC_SWSM_SMBI		0x00000001 /* Driver Semaphore bit */
 #define IGC_SWSM_SWESMBI	0x00000002 /* FW Semaphore bit */
+#define IGC_SWSM_TIMEOUT	2000       /* Driver Semaphore max timeout counter */
 #define IGC_SWSM_DRV_LOAD	0x00000008 /* Driver Loaded Bit */
 
 #define IGC_SWSM2_LOCK	0x00000002 /* Secondary driver semaphore bit */
diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
index 6c45fa5427..5c2c756bad 100644
--- a/drivers/net/igc/base/igc_i225.c
+++ b/drivers/net/igc/base/igc_i225.c
@@ -385,7 +385,7 @@ s32 igc_setup_copper_link_i225(struct igc_hw *hw)
 static s32 igc_get_hw_semaphore_i225(struct igc_hw *hw)
 {
 	u32 swsm;
-	s32 timeout = hw->nvm.word_size + 1;
+	s32 timeout = IGC_SWSM_TIMEOUT;
 	s32 i = 0;
 
 	DEBUGFUNC("igc_get_hw_semaphore_i225");
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.352252382 +0000
+++ 0042-net-igc-base-fix-semaphore-timeout-value.patch	2025-02-17 16:13:16.842441592 +0000
@@ -1 +1 @@
-From 7caabb9834bc9596190c03279eae8980b1c24800 Mon Sep 17 00:00:00 2001
+From 572d5ab2cd6b6fd7bf1bc9a9c7783431f5ef769c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7caabb9834bc9596190c03279eae8980b1c24800 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -22,2 +23,2 @@
- drivers/net/intel/igc/base/igc_defines.h | 1 +
- drivers/net/intel/igc/base/igc_i225.c    | 2 +-
+ drivers/net/igc/base/igc_defines.h | 1 +
+ drivers/net/igc/base/igc_i225.c    | 2 +-
@@ -26,5 +27,5 @@
-diff --git a/drivers/net/intel/igc/base/igc_defines.h b/drivers/net/intel/igc/base/igc_defines.h
-index 280570b157..3cb2f430c5 100644
---- a/drivers/net/intel/igc/base/igc_defines.h
-+++ b/drivers/net/intel/igc/base/igc_defines.h
-@@ -525,6 +525,7 @@
+diff --git a/drivers/net/igc/base/igc_defines.h b/drivers/net/igc/base/igc_defines.h
+index 61964bcdd2..ca882ebff1 100644
+--- a/drivers/net/igc/base/igc_defines.h
++++ b/drivers/net/igc/base/igc_defines.h
+@@ -516,6 +516,7 @@
@@ -38,5 +39,5 @@
-diff --git a/drivers/net/intel/igc/base/igc_i225.c b/drivers/net/intel/igc/base/igc_i225.c
-index 23c68a3948..7352ba240a 100644
---- a/drivers/net/intel/igc/base/igc_i225.c
-+++ b/drivers/net/intel/igc/base/igc_i225.c
-@@ -388,7 +388,7 @@ s32 igc_setup_copper_link_i225(struct igc_hw *hw)
+diff --git a/drivers/net/igc/base/igc_i225.c b/drivers/net/igc/base/igc_i225.c
+index 6c45fa5427..5c2c756bad 100644
+--- a/drivers/net/igc/base/igc_i225.c
++++ b/drivers/net/igc/base/igc_i225.c
+@@ -385,7 +385,7 @@ s32 igc_setup_copper_link_i225(struct igc_hw *hw)

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/igc/base: fix iterator type' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (40 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/igc/base: fix semaphore timeout " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/igc/base: fix MAC address hash bit shift' " luca.boccassi
                   ` (35 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Amir Avivi; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/8b446e9cca96b4915df5e135dfda232e88e1d838

Thanks.

Luca Boccassi

---
From 8b446e9cca96b4915df5e135dfda232e88e1d838 Mon Sep 17 00:00:00 2001
From: Amir Avivi <amir.avivi@intel.com>
Date: Thu, 6 Feb 2025 16:08:33 +0000
Subject: [PATCH] net/igc/base: fix iterator type

[ upstream commit c7da9dab82190564d68f0d928ba3e381dcc74d9f ]

Fix static analysis warning about comparison between types of
incompatible width, which might lead to an infinite loop due to
overflow.

Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")

Signed-off-by: Amir Avivi <amir.avivi@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 .mailmap                       | 1 +
 drivers/net/igc/base/igc_phy.c | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/.mailmap b/.mailmap
index 5338abcc05..20a6cc4c1f 100644
--- a/.mailmap
+++ b/.mailmap
@@ -75,6 +75,7 @@ Amaranath Somalapuram <asomalap@amd.com>
 Amine Kherbouche <amine.kherbouche@6wind.com>
 Amin Tootoonchian <amint@icsi.berkeley.edu>
 Ami Sabo <amis@radware.com>
+Amir Avivi <amir.avivi@intel.com>
 Amit Bernstein <amitbern@amazon.com>
 Amit Gupta <agupta3@marvell.com>
 Amit Prakash Shukla <amitprakashs@marvell.com>
diff --git a/drivers/net/igc/base/igc_phy.c b/drivers/net/igc/base/igc_phy.c
index 706f037f0e..dd56b994af 100644
--- a/drivers/net/igc/base/igc_phy.c
+++ b/drivers/net/igc/base/igc_phy.c
@@ -2366,7 +2366,8 @@ s32 igc_phy_has_link_generic(struct igc_hw *hw, u32 iterations,
 			       u32 usec_interval, bool *success)
 {
 	s32 ret_val = IGC_SUCCESS;
-	u16 i, phy_status;
+	u16 phy_status;
+	u32 i;
 
 	DEBUGFUNC("igc_phy_has_link_generic");
 
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.386086734 +0000
+++ 0043-net-igc-base-fix-iterator-type.patch	2025-02-17 16:13:16.842441592 +0000
@@ -1 +1 @@
-From c7da9dab82190564d68f0d928ba3e381dcc74d9f Mon Sep 17 00:00:00 2001
+From 8b446e9cca96b4915df5e135dfda232e88e1d838 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c7da9dab82190564d68f0d928ba3e381dcc74d9f ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -17,2 +18,2 @@
- .mailmap                             | 1 +
- drivers/net/intel/igc/base/igc_phy.c | 3 ++-
+ .mailmap                       | 1 +
+ drivers/net/igc/base/igc_phy.c | 3 ++-
@@ -22 +23 @@
-index 9ea6bd1df3..ab03985acd 100644
+index 5338abcc05..20a6cc4c1f 100644
@@ -25 +26 @@
-@@ -84,6 +84,7 @@ Amaranath Somalapuram <asomalap@amd.com>
+@@ -75,6 +75,7 @@ Amaranath Somalapuram <asomalap@amd.com>
@@ -33 +34 @@
-diff --git a/drivers/net/intel/igc/base/igc_phy.c b/drivers/net/intel/igc/base/igc_phy.c
+diff --git a/drivers/net/igc/base/igc_phy.c b/drivers/net/igc/base/igc_phy.c
@@ -35,2 +36,2 @@
---- a/drivers/net/intel/igc/base/igc_phy.c
-+++ b/drivers/net/intel/igc/base/igc_phy.c
+--- a/drivers/net/igc/base/igc_phy.c
++++ b/drivers/net/igc/base/igc_phy.c

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/igc/base: fix MAC address hash bit shift' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (41 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/igc/base: fix iterator type' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/igc/base: fix data type in MAC hash' " luca.boccassi
                   ` (34 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Aleksandr Loktionov; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/39bd37c0740887a94a5c8751d94666bd07e12a20

Thanks.

Luca Boccassi

---
From 39bd37c0740887a94a5c8751d94666bd07e12a20 Mon Sep 17 00:00:00 2001
From: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Date: Thu, 6 Feb 2025 16:08:34 +0000
Subject: [PATCH] net/igc/base: fix MAC address hash bit shift

[ upstream commit bccccacfb6f6f2e84a24c6733c7e3d4af05f73b5 ]

In e1000_hash_mc_addr_generic() the expression:

"mc_addr[4] >> 8 - bit_shift", right shifting "mc_addr[4]"

shift by more than 7 bits always yields zero, so hash becomes not so
different. Add initialization with bit_shift = 1, and add a loop
condition to ensure bit_shift will be always in [1..8] range.

Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")

Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/igc/base/igc_mac.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/igc/base/igc_mac.c b/drivers/net/igc/base/igc_mac.c
index 3cd6506e5e..c69f8ac73b 100644
--- a/drivers/net/igc/base/igc_mac.c
+++ b/drivers/net/igc/base/igc_mac.c
@@ -486,7 +486,7 @@ static int igc_rar_set_generic(struct igc_hw *hw, u8 *addr, u32 index)
 u32 igc_hash_mc_addr_generic(struct igc_hw *hw, u8 *mc_addr)
 {
 	u32 hash_value, hash_mask;
-	u8 bit_shift = 0;
+	u8 bit_shift = 1;
 
 	DEBUGFUNC("igc_hash_mc_addr_generic");
 
@@ -496,7 +496,7 @@ u32 igc_hash_mc_addr_generic(struct igc_hw *hw, u8 *mc_addr)
 	/* For a mc_filter_type of 0, bit_shift is the number of left-shifts
 	 * where 0xFF would still fall within the hash mask.
 	 */
-	while (hash_mask >> bit_shift != 0xFF)
+	while (hash_mask >> bit_shift != 0xFF && bit_shift < 4)
 		bit_shift++;
 
 	/* The portion of the address that is used for the hash table
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.419325384 +0000
+++ 0044-net-igc-base-fix-MAC-address-hash-bit-shift.patch	2025-02-17 16:13:16.842441592 +0000
@@ -1 +1 @@
-From bccccacfb6f6f2e84a24c6733c7e3d4af05f73b5 Mon Sep 17 00:00:00 2001
+From 39bd37c0740887a94a5c8751d94666bd07e12a20 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit bccccacfb6f6f2e84a24c6733c7e3d4af05f73b5 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
- drivers/net/intel/igc/base/igc_mac.c | 4 ++--
+ drivers/net/igc/base/igc_mac.c | 4 ++--
@@ -24 +25 @@
-diff --git a/drivers/net/intel/igc/base/igc_mac.c b/drivers/net/intel/igc/base/igc_mac.c
+diff --git a/drivers/net/igc/base/igc_mac.c b/drivers/net/igc/base/igc_mac.c
@@ -26,2 +27,2 @@
---- a/drivers/net/intel/igc/base/igc_mac.c
-+++ b/drivers/net/intel/igc/base/igc_mac.c
+--- a/drivers/net/igc/base/igc_mac.c
++++ b/drivers/net/igc/base/igc_mac.c

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/igc/base: fix data type in MAC hash' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (42 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/igc/base: fix MAC address hash bit shift' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/igc/base: fix NVM data type in bit shift' " luca.boccassi
                   ` (33 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Barbara Skobiej; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/377f2051765cc29b2afe80d6f73bab72a11c925a

Thanks.

Luca Boccassi

---
From 377f2051765cc29b2afe80d6f73bab72a11c925a Mon Sep 17 00:00:00 2001
From: Barbara Skobiej <barbara.skobiej@intel.com>
Date: Thu, 6 Feb 2025 16:08:35 +0000
Subject: [PATCH] net/igc/base: fix data type in MAC hash

[ upstream commit cad5c51ec3a0e965d6d4bb98166890499597f23a ]

One of the bit shifts in MAC hash calculation triggers a static analysis
warning about a potential overflow. Fix the data type to avoid this.

Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")

Signed-off-by: Barbara Skobiej <barbara.skobiej@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/igc/base/igc_mac.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/igc/base/igc_mac.c b/drivers/net/igc/base/igc_mac.c
index c69f8ac73b..cfb74a6443 100644
--- a/drivers/net/igc/base/igc_mac.c
+++ b/drivers/net/igc/base/igc_mac.c
@@ -539,8 +539,10 @@ u32 igc_hash_mc_addr_generic(struct igc_hw *hw, u8 *mc_addr)
 		break;
 	}
 
-	hash_value = hash_mask & (((mc_addr[4] >> (8 - bit_shift)) |
-				  (((u16)mc_addr[5]) << bit_shift)));
+	hash_value = (u32)mc_addr[4];
+	hash_value = hash_value >> (8 - bit_shift);
+	hash_value |= (((u32)mc_addr[5]) << bit_shift);
+	hash_value &= hash_mask;
 
 	return hash_value;
 }
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.451798931 +0000
+++ 0045-net-igc-base-fix-data-type-in-MAC-hash.patch	2025-02-17 16:13:16.842441592 +0000
@@ -1 +1 @@
-From cad5c51ec3a0e965d6d4bb98166890499597f23a Mon Sep 17 00:00:00 2001
+From 377f2051765cc29b2afe80d6f73bab72a11c925a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit cad5c51ec3a0e965d6d4bb98166890499597f23a ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/intel/igc/base/igc_mac.c | 6 ++++--
+ drivers/net/igc/base/igc_mac.c | 6 ++++--
@@ -19 +20 @@
-diff --git a/drivers/net/intel/igc/base/igc_mac.c b/drivers/net/intel/igc/base/igc_mac.c
+diff --git a/drivers/net/igc/base/igc_mac.c b/drivers/net/igc/base/igc_mac.c
@@ -21,2 +22,2 @@
---- a/drivers/net/intel/igc/base/igc_mac.c
-+++ b/drivers/net/intel/igc/base/igc_mac.c
+--- a/drivers/net/igc/base/igc_mac.c
++++ b/drivers/net/igc/base/igc_mac.c

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/igc/base: fix NVM data type in bit shift' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (43 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/igc/base: fix data type in MAC hash' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/e1000/base: fix semaphore timeout value' " luca.boccassi
                   ` (32 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Przemyslaw Ciesielski; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/62be1de4f74e1ca260d3035c80afddcb4f60c567

Thanks.

Luca Boccassi

---
From 62be1de4f74e1ca260d3035c80afddcb4f60c567 Mon Sep 17 00:00:00 2001
From: Przemyslaw Ciesielski <przemyslaw.ciesielski@intel.com>
Date: Thu, 6 Feb 2025 16:08:36 +0000
Subject: [PATCH] net/igc/base: fix NVM data type in bit shift

[ upstream commit d6ad4cdad361558bfb2c04112bd6650debbc9c7f ]

There is a static analysis warning due to wrong data types being used
for NVM read data shifts. Fix it via explicit type cast.

Fixes: 8cb7c57d9b3c ("net/igc: support device initialization")

Signed-off-by: Przemyslaw Ciesielski <przemyslaw.ciesielski@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/igc/base/igc_nvm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/igc/base/igc_nvm.c b/drivers/net/igc/base/igc_nvm.c
index a7c901ab56..d37a3ffb0e 100644
--- a/drivers/net/igc/base/igc_nvm.c
+++ b/drivers/net/igc/base/igc_nvm.c
@@ -926,14 +926,14 @@ s32 igc_read_pba_num_generic(struct igc_hw *hw, u32 *pba_num)
 		DEBUGOUT("NVM Not Supported\n");
 		return -IGC_NOT_IMPLEMENTED;
 	}
-	*pba_num = (u32)(nvm_data << 16);
+	*pba_num = ((u32)nvm_data << 16);
 
 	ret_val = hw->nvm.ops.read(hw, NVM_PBA_OFFSET_1, 1, &nvm_data);
 	if (ret_val) {
 		DEBUGOUT("NVM Read Error\n");
 		return ret_val;
 	}
-	*pba_num |= nvm_data;
+	*pba_num |= (u32)nvm_data;
 
 	return IGC_SUCCESS;
 }
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.483757437 +0000
+++ 0046-net-igc-base-fix-NVM-data-type-in-bit-shift.patch	2025-02-17 16:13:16.842441592 +0000
@@ -1 +1 @@
-From d6ad4cdad361558bfb2c04112bd6650debbc9c7f Mon Sep 17 00:00:00 2001
+From 62be1de4f74e1ca260d3035c80afddcb4f60c567 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d6ad4cdad361558bfb2c04112bd6650debbc9c7f ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/intel/igc/base/igc_nvm.c | 4 ++--
+ drivers/net/igc/base/igc_nvm.c | 4 ++--
@@ -19 +20 @@
-diff --git a/drivers/net/intel/igc/base/igc_nvm.c b/drivers/net/intel/igc/base/igc_nvm.c
+diff --git a/drivers/net/igc/base/igc_nvm.c b/drivers/net/igc/base/igc_nvm.c
@@ -21,2 +22,2 @@
---- a/drivers/net/intel/igc/base/igc_nvm.c
-+++ b/drivers/net/intel/igc/base/igc_nvm.c
+--- a/drivers/net/igc/base/igc_nvm.c
++++ b/drivers/net/igc/base/igc_nvm.c

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/e1000/base: fix semaphore timeout value' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (44 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/igc/base: fix NVM data type in bit shift' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/e1000/base: correct mPHY access logic' " luca.boccassi
                   ` (31 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Pawel Malinowski; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/0fa84eb740cb48d4bacaac01d909fd4786ff8f86

Thanks.

Luca Boccassi

---
From 0fa84eb740cb48d4bacaac01d909fd4786ff8f86 Mon Sep 17 00:00:00 2001
From: Pawel Malinowski <pawel.malinowski@intel.com>
Date: Thu, 6 Feb 2025 16:08:37 +0000
Subject: [PATCH] net/e1000/base: fix semaphore timeout value

[ upstream commit c8bcaf0f2a02995b447c121e860fd550b9c55114 ]

According to datasheet, software ownership of SWSM.SWESMBI bit should
not exceed 100ms. Current implementation caused incorrect timeout
counter values, where each iteration equals 50us delay. Because of that
driver was allowed to wait for semaphore even for 1.5s. This might
trigger DPC timeout.

This implementation hardcodes value to 2000, which multiplied by 50us,
gives 100ms of possible wait time.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Pawel Malinowski <pawel.malinowski@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/e1000/base/e1000_defines.h | 1 +
 drivers/net/e1000/base/e1000_mac.c     | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/e1000/base/e1000_defines.h b/drivers/net/e1000/base/e1000_defines.h
index 3fbb6c8ea4..97cc2797b2 100644
--- a/drivers/net/e1000/base/e1000_defines.h
+++ b/drivers/net/e1000/base/e1000_defines.h
@@ -504,6 +504,7 @@
 /* SW Semaphore Register */
 #define E1000_SWSM_SMBI		0x00000001 /* Driver Semaphore bit */
 #define E1000_SWSM_SWESMBI	0x00000002 /* FW Semaphore bit */
+#define E1000_SWSM_TIMEOUT	2000       /* Driver Semaphore max timeout counter */
 #define E1000_SWSM_DRV_LOAD	0x00000008 /* Driver Loaded Bit */
 
 #define E1000_SWSM2_LOCK	0x00000002 /* Secondary driver semaphore bit */
diff --git a/drivers/net/e1000/base/e1000_mac.c b/drivers/net/e1000/base/e1000_mac.c
index d3b3a6bac9..cf0a9f21e1 100644
--- a/drivers/net/e1000/base/e1000_mac.c
+++ b/drivers/net/e1000/base/e1000_mac.c
@@ -1688,7 +1688,7 @@ s32 e1000_get_speed_and_duplex_fiber_serdes_generic(struct e1000_hw E1000_UNUSED
 s32 e1000_get_hw_semaphore_generic(struct e1000_hw *hw)
 {
 	u32 swsm;
-	s32 timeout = hw->nvm.word_size + 1;
+	s32 timeout = E1000_SWSM_TIMEOUT;
 	s32 i = 0;
 
 	DEBUGFUNC("e1000_get_hw_semaphore_generic");
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.524496095 +0000
+++ 0047-net-e1000-base-fix-semaphore-timeout-value.patch	2025-02-17 16:13:16.846441592 +0000
@@ -1 +1 @@
-From c8bcaf0f2a02995b447c121e860fd550b9c55114 Mon Sep 17 00:00:00 2001
+From 0fa84eb740cb48d4bacaac01d909fd4786ff8f86 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c8bcaf0f2a02995b447c121e860fd550b9c55114 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -22,2 +23,2 @@
- drivers/net/intel/e1000/base/e1000_defines.h | 1 +
- drivers/net/intel/e1000/base/e1000_mac.c     | 2 +-
+ drivers/net/e1000/base/e1000_defines.h | 1 +
+ drivers/net/e1000/base/e1000_mac.c     | 2 +-
@@ -26 +27 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_defines.h b/drivers/net/intel/e1000/base/e1000_defines.h
+diff --git a/drivers/net/e1000/base/e1000_defines.h b/drivers/net/e1000/base/e1000_defines.h
@@ -28,2 +29,2 @@
---- a/drivers/net/intel/e1000/base/e1000_defines.h
-+++ b/drivers/net/intel/e1000/base/e1000_defines.h
+--- a/drivers/net/e1000/base/e1000_defines.h
++++ b/drivers/net/e1000/base/e1000_defines.h
@@ -38 +39 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_mac.c b/drivers/net/intel/e1000/base/e1000_mac.c
+diff --git a/drivers/net/e1000/base/e1000_mac.c b/drivers/net/e1000/base/e1000_mac.c
@@ -40,2 +41,2 @@
---- a/drivers/net/intel/e1000/base/e1000_mac.c
-+++ b/drivers/net/intel/e1000/base/e1000_mac.c
+--- a/drivers/net/e1000/base/e1000_mac.c
++++ b/drivers/net/e1000/base/e1000_mac.c

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/e1000/base: correct mPHY access logic' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (45 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/e1000/base: fix semaphore timeout value' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/e1000/base: fix iterator type' " luca.boccassi
                   ` (30 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Anatoly Burakov; +Cc: Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/7a0f1f4122a5e8c18e5771319e1e9e26473549cd

Thanks.

Luca Boccassi

---
From 7a0f1f4122a5e8c18e5771319e1e9e26473549cd Mon Sep 17 00:00:00 2001
From: Anatoly Burakov <anatoly.burakov@intel.com>
Date: Thu, 6 Feb 2025 16:08:38 +0000
Subject: [PATCH] net/e1000/base: correct mPHY access logic

[ upstream commit 62adddef81d4ddb9789e9f0e5a0899b399bd5d8d ]

The original code had incorrect indentation, and the fix was applied to
follow the indentation, i.e. adding brackets making the indentation
valid.  However, the actual issue was incorrect indentation and not
missing braces, so the fix was incorrect.

This fix restores the original logic and corrects indentation.

Fixes: d5e39d1ca460 ("net/e1000/base: fix build with gcc 6")

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/e1000/base/e1000_phy.c | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/drivers/net/e1000/base/e1000_phy.c b/drivers/net/e1000/base/e1000_phy.c
index 62d0be5080..208fb3f81b 100644
--- a/drivers/net/e1000/base/e1000_phy.c
+++ b/drivers/net/e1000/base/e1000_phy.c
@@ -4134,13 +4134,12 @@ s32 e1000_read_phy_reg_mphy(struct e1000_hw *hw, u32 address, u32 *data)
 	*data = E1000_READ_REG(hw, E1000_MPHY_DATA);
 
 	/* Disable access to mPHY if it was originally disabled */
-	if (locked) {
+	if (locked)
 		ready = e1000_is_mphy_ready(hw);
-		if (!ready)
-			return -E1000_ERR_PHY;
-		E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL,
-				E1000_MPHY_DIS_ACCESS);
-	}
+	if (!ready)
+		return -E1000_ERR_PHY;
+	E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL,
+			E1000_MPHY_DIS_ACCESS);
 
 	return E1000_SUCCESS;
 }
@@ -4200,13 +4199,12 @@ s32 e1000_write_phy_reg_mphy(struct e1000_hw *hw, u32 address, u32 data,
 	E1000_WRITE_REG(hw, E1000_MPHY_DATA, data);
 
 	/* Disable access to mPHY if it was originally disabled */
-	if (locked) {
+	if (locked)
 		ready = e1000_is_mphy_ready(hw);
-		if (!ready)
-			return -E1000_ERR_PHY;
-		E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL,
-				E1000_MPHY_DIS_ACCESS);
-	}
+	if (!ready)
+		return -E1000_ERR_PHY;
+	E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL,
+			E1000_MPHY_DIS_ACCESS);
 
 	return E1000_SUCCESS;
 }
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.557415192 +0000
+++ 0048-net-e1000-base-correct-mPHY-access-logic.patch	2025-02-17 16:13:16.846441592 +0000
@@ -1 +1 @@
-From 62adddef81d4ddb9789e9f0e5a0899b399bd5d8d Mon Sep 17 00:00:00 2001
+From 7a0f1f4122a5e8c18e5771319e1e9e26473549cd Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 62adddef81d4ddb9789e9f0e5a0899b399bd5d8d ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
- drivers/net/intel/e1000/base/e1000_phy.c | 22 ++++++++++------------
+ drivers/net/e1000/base/e1000_phy.c | 22 ++++++++++------------
@@ -22 +23 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_phy.c b/drivers/net/intel/e1000/base/e1000_phy.c
+diff --git a/drivers/net/e1000/base/e1000_phy.c b/drivers/net/e1000/base/e1000_phy.c
@@ -24,2 +25,2 @@
---- a/drivers/net/intel/e1000/base/e1000_phy.c
-+++ b/drivers/net/intel/e1000/base/e1000_phy.c
+--- a/drivers/net/e1000/base/e1000_phy.c
++++ b/drivers/net/e1000/base/e1000_phy.c

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/e1000/base: fix iterator type' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (46 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/e1000/base: correct mPHY access logic' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/e1000/base: fix MAC address hash bit shift' " luca.boccassi
                   ` (29 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Amir Avivi; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/240338d5c97b529af3a8ab4c3cea8d33b9ac7eea

Thanks.

Luca Boccassi

---
From 240338d5c97b529af3a8ab4c3cea8d33b9ac7eea Mon Sep 17 00:00:00 2001
From: Amir Avivi <amir.avivi@intel.com>
Date: Thu, 6 Feb 2025 16:08:39 +0000
Subject: [PATCH] net/e1000/base: fix iterator type

[ upstream commit 3d3605399170d5871ba80448de236f7acbbe8f98 ]

Fix static analysis warning about comparison between types of
incompatible width, which might lead to an infinite loop due to
overflow.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Amir Avivi <amir.avivi@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/e1000/base/e1000_phy.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/e1000/base/e1000_phy.c b/drivers/net/e1000/base/e1000_phy.c
index 208fb3f81b..b4aba9e4e3 100644
--- a/drivers/net/e1000/base/e1000_phy.c
+++ b/drivers/net/e1000/base/e1000_phy.c
@@ -2333,7 +2333,8 @@ s32 e1000_phy_has_link_generic(struct e1000_hw *hw, u32 iterations,
 			       u32 usec_interval, bool *success)
 {
 	s32 ret_val = E1000_SUCCESS;
-	u16 i, phy_status;
+	u16 phy_status;
+	u32 i;
 
 	DEBUGFUNC("e1000_phy_has_link_generic");
 
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.591952830 +0000
+++ 0049-net-e1000-base-fix-iterator-type.patch	2025-02-17 16:13:16.846441592 +0000
@@ -1 +1 @@
-From 3d3605399170d5871ba80448de236f7acbbe8f98 Mon Sep 17 00:00:00 2001
+From 240338d5c97b529af3a8ab4c3cea8d33b9ac7eea Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3d3605399170d5871ba80448de236f7acbbe8f98 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -17 +18 @@
- drivers/net/intel/e1000/base/e1000_phy.c | 3 ++-
+ drivers/net/e1000/base/e1000_phy.c | 3 ++-
@@ -20 +21 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_phy.c b/drivers/net/intel/e1000/base/e1000_phy.c
+diff --git a/drivers/net/e1000/base/e1000_phy.c b/drivers/net/e1000/base/e1000_phy.c
@@ -22,2 +23,2 @@
---- a/drivers/net/intel/e1000/base/e1000_phy.c
-+++ b/drivers/net/intel/e1000/base/e1000_phy.c
+--- a/drivers/net/e1000/base/e1000_phy.c
++++ b/drivers/net/e1000/base/e1000_phy.c

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/e1000/base: fix MAC address hash bit shift' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (47 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/e1000/base: fix iterator type' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/e1000/base: fix data type in MAC hash' " luca.boccassi
                   ` (28 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Aleksandr Loktionov; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/00c8b88d3ccd0a4c0b73a78148b26758ddc5402c

Thanks.

Luca Boccassi

---
From 00c8b88d3ccd0a4c0b73a78148b26758ddc5402c Mon Sep 17 00:00:00 2001
From: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Date: Thu, 6 Feb 2025 16:08:40 +0000
Subject: [PATCH] net/e1000/base: fix MAC address hash bit shift

[ upstream commit 1749e662f68ba6571ed81cd264cffd1107abc307 ]

In e1000_hash_mc_addr_generic() the expression:

"mc_addr[4] >> 8 - bit_shift", right shifting "mc_addr[4]"

shift by more than 7 bits always yields zero, so hash becomes not so
different. Add initialization with bit_shift = 1, and add a loop
condition to ensure bit_shift will be always in [1..8] range.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/e1000/base/e1000_mac.c | 4 ++--
 drivers/net/e1000/base/e1000_vf.c  | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/e1000/base/e1000_mac.c b/drivers/net/e1000/base/e1000_mac.c
index cf0a9f21e1..2b8482e114 100644
--- a/drivers/net/e1000/base/e1000_mac.c
+++ b/drivers/net/e1000/base/e1000_mac.c
@@ -488,7 +488,7 @@ int e1000_rar_set_generic(struct e1000_hw *hw, u8 *addr, u32 index)
 u32 e1000_hash_mc_addr_generic(struct e1000_hw *hw, u8 *mc_addr)
 {
 	u32 hash_value, hash_mask;
-	u8 bit_shift = 0;
+	u8 bit_shift = 1;
 
 	DEBUGFUNC("e1000_hash_mc_addr_generic");
 
@@ -498,7 +498,7 @@ u32 e1000_hash_mc_addr_generic(struct e1000_hw *hw, u8 *mc_addr)
 	/* For a mc_filter_type of 0, bit_shift is the number of left-shifts
 	 * where 0xFF would still fall within the hash mask.
 	 */
-	while (hash_mask >> bit_shift != 0xFF)
+	while (hash_mask >> bit_shift != 0xFF && bit_shift < 4)
 		bit_shift++;
 
 	/* The portion of the address that is used for the hash table
diff --git a/drivers/net/e1000/base/e1000_vf.c b/drivers/net/e1000/base/e1000_vf.c
index 44ebe07ee4..3d0383fcbb 100644
--- a/drivers/net/e1000/base/e1000_vf.c
+++ b/drivers/net/e1000/base/e1000_vf.c
@@ -331,7 +331,7 @@ STATIC int e1000_rar_set_vf(struct e1000_hw *hw, u8 *addr,
 STATIC u32 e1000_hash_mc_addr_vf(struct e1000_hw *hw, u8 *mc_addr)
 {
 	u32 hash_value, hash_mask;
-	u8 bit_shift = 0;
+	u8 bit_shift = 1;
 
 	DEBUGFUNC("e1000_hash_mc_addr_generic");
 
@@ -342,7 +342,7 @@ STATIC u32 e1000_hash_mc_addr_vf(struct e1000_hw *hw, u8 *mc_addr)
 	 * The bit_shift is the number of left-shifts
 	 * where 0xFF would still fall within the hash mask.
 	 */
-	while (hash_mask >> bit_shift != 0xFF)
+	while (hash_mask >> bit_shift != 0xFF && bit_shift < 4)
 		bit_shift++;
 
 	hash_value = hash_mask & (((mc_addr[4] >> (8 - bit_shift)) |
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.626456735 +0000
+++ 0050-net-e1000-base-fix-MAC-address-hash-bit-shift.patch	2025-02-17 16:13:16.846441592 +0000
@@ -1 +1 @@
-From 1749e662f68ba6571ed81cd264cffd1107abc307 Mon Sep 17 00:00:00 2001
+From 00c8b88d3ccd0a4c0b73a78148b26758ddc5402c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1749e662f68ba6571ed81cd264cffd1107abc307 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -21,2 +22,2 @@
- drivers/net/intel/e1000/base/e1000_mac.c | 4 ++--
- drivers/net/intel/e1000/base/e1000_vf.c  | 4 ++--
+ drivers/net/e1000/base/e1000_mac.c | 4 ++--
+ drivers/net/e1000/base/e1000_vf.c  | 4 ++--
@@ -25 +26 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_mac.c b/drivers/net/intel/e1000/base/e1000_mac.c
+diff --git a/drivers/net/e1000/base/e1000_mac.c b/drivers/net/e1000/base/e1000_mac.c
@@ -27,2 +28,2 @@
---- a/drivers/net/intel/e1000/base/e1000_mac.c
-+++ b/drivers/net/intel/e1000/base/e1000_mac.c
+--- a/drivers/net/e1000/base/e1000_mac.c
++++ b/drivers/net/e1000/base/e1000_mac.c
@@ -47 +48 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_vf.c b/drivers/net/intel/e1000/base/e1000_vf.c
+diff --git a/drivers/net/e1000/base/e1000_vf.c b/drivers/net/e1000/base/e1000_vf.c
@@ -49,2 +50,2 @@
---- a/drivers/net/intel/e1000/base/e1000_vf.c
-+++ b/drivers/net/intel/e1000/base/e1000_vf.c
+--- a/drivers/net/e1000/base/e1000_vf.c
++++ b/drivers/net/e1000/base/e1000_vf.c

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/e1000/base: fix data type in MAC hash' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (48 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/e1000/base: fix MAC address hash bit shift' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/e1000/base: fix uninitialized variable' " luca.boccassi
                   ` (27 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Barbara Skobiej; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/40990fddbb7b3a80842cfa132bde384f0375e0df

Thanks.

Luca Boccassi

---
From 40990fddbb7b3a80842cfa132bde384f0375e0df Mon Sep 17 00:00:00 2001
From: Barbara Skobiej <barbara.skobiej@intel.com>
Date: Thu, 6 Feb 2025 16:08:41 +0000
Subject: [PATCH] net/e1000/base: fix data type in MAC hash

[ upstream commit 458734aaac3225d98aeee5f4c45b3d39a7d82949 ]

One of the bit shifts in MAC hash calculation triggers a static analysis
warning about a potential overflow. Fix the data type to avoid this.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Barbara Skobiej <barbara.skobiej@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/e1000/base/e1000_mac.c | 6 ++++--
 drivers/net/e1000/base/e1000_vf.c  | 6 ++++--
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/drivers/net/e1000/base/e1000_mac.c b/drivers/net/e1000/base/e1000_mac.c
index 2b8482e114..5bb77d9e09 100644
--- a/drivers/net/e1000/base/e1000_mac.c
+++ b/drivers/net/e1000/base/e1000_mac.c
@@ -541,8 +541,10 @@ u32 e1000_hash_mc_addr_generic(struct e1000_hw *hw, u8 *mc_addr)
 		break;
 	}
 
-	hash_value = hash_mask & (((mc_addr[4] >> (8 - bit_shift)) |
-				  (((u16) mc_addr[5]) << bit_shift)));
+	hash_value = (u32)mc_addr[4];
+	hash_value = hash_value >> (8 - bit_shift);
+	hash_value |= (((u32)mc_addr[5]) << bit_shift);
+	hash_value &= hash_mask;
 
 	return hash_value;
 }
diff --git a/drivers/net/e1000/base/e1000_vf.c b/drivers/net/e1000/base/e1000_vf.c
index 3d0383fcbb..fc30357c17 100644
--- a/drivers/net/e1000/base/e1000_vf.c
+++ b/drivers/net/e1000/base/e1000_vf.c
@@ -345,8 +345,10 @@ STATIC u32 e1000_hash_mc_addr_vf(struct e1000_hw *hw, u8 *mc_addr)
 	while (hash_mask >> bit_shift != 0xFF && bit_shift < 4)
 		bit_shift++;
 
-	hash_value = hash_mask & (((mc_addr[4] >> (8 - bit_shift)) |
-				  (((u16) mc_addr[5]) << bit_shift)));
+	hash_value = (u32)mc_addr[4];
+	hash_value = hash_value >> (8 - bit_shift);
+	hash_value |= (((u32)mc_addr[5]) << bit_shift);
+	hash_value &= hash_mask;
 
 	return hash_value;
 }
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.659792207 +0000
+++ 0051-net-e1000-base-fix-data-type-in-MAC-hash.patch	2025-02-17 16:13:16.846441592 +0000
@@ -1 +1 @@
-From 458734aaac3225d98aeee5f4c45b3d39a7d82949 Mon Sep 17 00:00:00 2001
+From 40990fddbb7b3a80842cfa132bde384f0375e0df Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 458734aaac3225d98aeee5f4c45b3d39a7d82949 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16,2 +17,2 @@
- drivers/net/intel/e1000/base/e1000_mac.c | 6 ++++--
- drivers/net/intel/e1000/base/e1000_vf.c  | 6 ++++--
+ drivers/net/e1000/base/e1000_mac.c | 6 ++++--
+ drivers/net/e1000/base/e1000_vf.c  | 6 ++++--
@@ -20 +21 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_mac.c b/drivers/net/intel/e1000/base/e1000_mac.c
+diff --git a/drivers/net/e1000/base/e1000_mac.c b/drivers/net/e1000/base/e1000_mac.c
@@ -22,2 +23,2 @@
---- a/drivers/net/intel/e1000/base/e1000_mac.c
-+++ b/drivers/net/intel/e1000/base/e1000_mac.c
+--- a/drivers/net/e1000/base/e1000_mac.c
++++ b/drivers/net/e1000/base/e1000_mac.c
@@ -37 +38 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_vf.c b/drivers/net/intel/e1000/base/e1000_vf.c
+diff --git a/drivers/net/e1000/base/e1000_vf.c b/drivers/net/e1000/base/e1000_vf.c
@@ -39,2 +40,2 @@
---- a/drivers/net/intel/e1000/base/e1000_vf.c
-+++ b/drivers/net/intel/e1000/base/e1000_vf.c
+--- a/drivers/net/e1000/base/e1000_vf.c
++++ b/drivers/net/e1000/base/e1000_vf.c

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/e1000/base: fix uninitialized variable' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (49 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/e1000/base: fix data type in MAC hash' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/e1000/base: fix bitwise operation type' " luca.boccassi
                   ` (26 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Jakub Buchocki; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/f744d2974866a5ffb9b89075d8ec3adc503163f3

Thanks.

Luca Boccassi

---
From f744d2974866a5ffb9b89075d8ec3adc503163f3 Mon Sep 17 00:00:00 2001
From: Jakub Buchocki <jakubx.buchocki@intel.com>
Date: Thu, 6 Feb 2025 16:08:42 +0000
Subject: [PATCH] net/e1000/base: fix uninitialized variable

[ upstream commit 4be9a7008efe063fbd326fea9965f946c8969039 ]

Static analysis has detected potential usage of uninitialized values
inside the array. Fix the warning by initializing array.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Jakub Buchocki <jakubx.buchocki@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 .mailmap                          | 1 +
 drivers/net/e1000/base/e1000_vf.c | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/.mailmap b/.mailmap
index 20a6cc4c1f..dc7a465822 100644
--- a/.mailmap
+++ b/.mailmap
@@ -564,6 +564,7 @@ Jacek Naczyk <jacek.naczyk@intel.com>
 Jacek Piasecki <jacekx.piasecki@intel.com>
 Jacek Siuda <jck@semihalf.com>
 Jacob Keller <jacob.e.keller@intel.com>
+Jakub Buchocki <jakubx.buchocki@intel.com>
 Jakub Chylkowski <jakubx.chylkowski@intel.com>
 Jakub Grajciar <jgrajcia@cisco.com>
 Jakub Neruda <neruda@netcope.com>
diff --git a/drivers/net/e1000/base/e1000_vf.c b/drivers/net/e1000/base/e1000_vf.c
index fc30357c17..472b921b6f 100644
--- a/drivers/net/e1000/base/e1000_vf.c
+++ b/drivers/net/e1000/base/e1000_vf.c
@@ -376,7 +376,7 @@ STATIC void e1000_write_msg_read_ack(struct e1000_hw *hw,
 void e1000_update_mc_addr_list_vf(struct e1000_hw *hw,
 				  u8 *mc_addr_list, u32 mc_addr_count)
 {
-	u32 msgbuf[E1000_VFMAILBOX_SIZE];
+	u32 msgbuf[E1000_VFMAILBOX_SIZE] = {0};
 	u16 *hash_list = (u16 *)&msgbuf[1];
 	u32 hash_value;
 	u32 i;
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.693138669 +0000
+++ 0052-net-e1000-base-fix-uninitialized-variable.patch	2025-02-17 16:13:16.850441592 +0000
@@ -1 +1 @@
-From 4be9a7008efe063fbd326fea9965f946c8969039 Mon Sep 17 00:00:00 2001
+From f744d2974866a5ffb9b89075d8ec3adc503163f3 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4be9a7008efe063fbd326fea9965f946c8969039 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16,2 +17,2 @@
- .mailmap                                | 1 +
- drivers/net/intel/e1000/base/e1000_vf.c | 2 +-
+ .mailmap                          | 1 +
+ drivers/net/e1000/base/e1000_vf.c | 2 +-
@@ -21 +22 @@
-index ab03985acd..af83b4e129 100644
+index 20a6cc4c1f..dc7a465822 100644
@@ -24 +25,2 @@
-@@ -620,6 +620,7 @@ Jacek Piasecki <jacekx.piasecki@intel.com>
+@@ -564,6 +564,7 @@ Jacek Naczyk <jacek.naczyk@intel.com>
+ Jacek Piasecki <jacekx.piasecki@intel.com>
@@ -26 +27,0 @@
- Jack Bond-Preston <jack.bond-preston@foss.arm.com> <jack.bond-preston@arm.com>
@@ -32 +33 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_vf.c b/drivers/net/intel/e1000/base/e1000_vf.c
+diff --git a/drivers/net/e1000/base/e1000_vf.c b/drivers/net/e1000/base/e1000_vf.c
@@ -34,2 +35,2 @@
---- a/drivers/net/intel/e1000/base/e1000_vf.c
-+++ b/drivers/net/intel/e1000/base/e1000_vf.c
+--- a/drivers/net/e1000/base/e1000_vf.c
++++ b/drivers/net/e1000/base/e1000_vf.c

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/e1000/base: fix bitwise operation type' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (50 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/e1000/base: fix uninitialized variable' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/e1000/base: fix NVM data type in bit shift' " luca.boccassi
                   ` (25 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Przemyslaw Ciesielski; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/913d649fcdbd11e86f82a1bdefca026e3a8356c2

Thanks.

Luca Boccassi

---
From 913d649fcdbd11e86f82a1bdefca026e3a8356c2 Mon Sep 17 00:00:00 2001
From: Przemyslaw Ciesielski <przemyslaw.ciesielski@intel.com>
Date: Thu, 6 Feb 2025 16:08:43 +0000
Subject: [PATCH] net/e1000/base: fix bitwise operation type

[ upstream commit c848457b38851f175893488c0be713995cb19bf2 ]

There is a static analysis warning due to wrong data types being used
for SW/FW semaphore masking. Fix it via explicit type cast.

Fixes: 5a32a257f957 ("e1000: more NICs in base driver")

Signed-off-by: Przemyslaw Ciesielski <przemyslaw.ciesielski@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/e1000/base/e1000_80003es2lan.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/e1000/base/e1000_80003es2lan.c b/drivers/net/e1000/base/e1000_80003es2lan.c
index 243bc6fe3e..3516ff2246 100644
--- a/drivers/net/e1000/base/e1000_80003es2lan.c
+++ b/drivers/net/e1000/base/e1000_80003es2lan.c
@@ -426,7 +426,7 @@ STATIC void e1000_release_swfw_sync_80003es2lan(struct e1000_hw *hw, u16 mask)
 		; /* Empty */
 
 	swfw_sync = E1000_READ_REG(hw, E1000_SW_FW_SYNC);
-	swfw_sync &= ~mask;
+	swfw_sync &= ~(u32)mask;
 	E1000_WRITE_REG(hw, E1000_SW_FW_SYNC, swfw_sync);
 
 	e1000_put_hw_semaphore_generic(hw);
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.728563450 +0000
+++ 0053-net-e1000-base-fix-bitwise-operation-type.patch	2025-02-17 16:13:16.850441592 +0000
@@ -1 +1 @@
-From c848457b38851f175893488c0be713995cb19bf2 Mon Sep 17 00:00:00 2001
+From 913d649fcdbd11e86f82a1bdefca026e3a8356c2 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c848457b38851f175893488c0be713995cb19bf2 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/intel/e1000/base/e1000_80003es2lan.c | 2 +-
+ drivers/net/e1000/base/e1000_80003es2lan.c | 2 +-
@@ -19 +20 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_80003es2lan.c b/drivers/net/intel/e1000/base/e1000_80003es2lan.c
+diff --git a/drivers/net/e1000/base/e1000_80003es2lan.c b/drivers/net/e1000/base/e1000_80003es2lan.c
@@ -21,2 +22,2 @@
---- a/drivers/net/intel/e1000/base/e1000_80003es2lan.c
-+++ b/drivers/net/intel/e1000/base/e1000_80003es2lan.c
+--- a/drivers/net/e1000/base/e1000_80003es2lan.c
++++ b/drivers/net/e1000/base/e1000_80003es2lan.c

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/e1000/base: fix NVM data type in bit shift' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (51 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/e1000/base: fix bitwise operation type' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/e1000/base: fix reset for 82580' " luca.boccassi
                   ` (24 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Przemyslaw Ciesielski; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/b7ebb9596fe0268b4bb72c441a0c9b649b98767e

Thanks.

Luca Boccassi

---
From b7ebb9596fe0268b4bb72c441a0c9b649b98767e Mon Sep 17 00:00:00 2001
From: Przemyslaw Ciesielski <przemyslaw.ciesielski@intel.com>
Date: Thu, 6 Feb 2025 16:08:44 +0000
Subject: [PATCH] net/e1000/base: fix NVM data type in bit shift

[ upstream commit b932270c66d0179824118afbfd7cfb347ddf07d2 ]

There is a static analysis warning due to wrong data types being used
for NVM read data shifts. Fix it via explicit type cast.

Fixes: 38db3f7f50bd ("e1000: update base driver")

Signed-off-by: Przemyslaw Ciesielski <przemyslaw.ciesielski@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/e1000/base/e1000_nvm.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/e1000/base/e1000_nvm.c b/drivers/net/e1000/base/e1000_nvm.c
index 430fecaf6d..d171bea649 100644
--- a/drivers/net/e1000/base/e1000_nvm.c
+++ b/drivers/net/e1000/base/e1000_nvm.c
@@ -935,14 +935,14 @@ s32 e1000_read_pba_num_generic(struct e1000_hw *hw, u32 *pba_num)
 		DEBUGOUT("NVM Not Supported\n");
 		return -E1000_NOT_IMPLEMENTED;
 	}
-	*pba_num = (u32)(nvm_data << 16);
+	*pba_num = ((u32)nvm_data << 16);
 
 	ret_val = hw->nvm.ops.read(hw, NVM_PBA_OFFSET_1, 1, &nvm_data);
 	if (ret_val) {
 		DEBUGOUT("NVM Read Error\n");
 		return ret_val;
 	}
-	*pba_num |= nvm_data;
+	*pba_num |= (u32)nvm_data;
 
 	return E1000_SUCCESS;
 }
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.760212633 +0000
+++ 0054-net-e1000-base-fix-NVM-data-type-in-bit-shift.patch	2025-02-17 16:13:16.850441592 +0000
@@ -1 +1 @@
-From b932270c66d0179824118afbfd7cfb347ddf07d2 Mon Sep 17 00:00:00 2001
+From b7ebb9596fe0268b4bb72c441a0c9b649b98767e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b932270c66d0179824118afbfd7cfb347ddf07d2 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/intel/e1000/base/e1000_nvm.c | 4 ++--
+ drivers/net/e1000/base/e1000_nvm.c | 4 ++--
@@ -19 +20 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_nvm.c b/drivers/net/intel/e1000/base/e1000_nvm.c
+diff --git a/drivers/net/e1000/base/e1000_nvm.c b/drivers/net/e1000/base/e1000_nvm.c
@@ -21,2 +22,2 @@
---- a/drivers/net/intel/e1000/base/e1000_nvm.c
-+++ b/drivers/net/intel/e1000/base/e1000_nvm.c
+--- a/drivers/net/e1000/base/e1000_nvm.c
++++ b/drivers/net/e1000/base/e1000_nvm.c

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/e1000/base: fix reset for 82580' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (52 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/e1000/base: fix NVM data type in bit shift' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/e1000/base: fix unchecked return' " luca.boccassi
                   ` (23 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Barbara Skobiej; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/8b374b7900060cba14fd2a4fe79d7fcf380a3ebf

Thanks.

Luca Boccassi

---
From 8b374b7900060cba14fd2a4fe79d7fcf380a3ebf Mon Sep 17 00:00:00 2001
From: Barbara Skobiej <barbara.skobiej@intel.com>
Date: Thu, 6 Feb 2025 16:08:45 +0000
Subject: [PATCH] net/e1000/base: fix reset for 82580

[ upstream commit 88a1eb79ef08d309af58ad4921db7200fa7c5073 ]

Fix setting device reset status bit in e1000_reset_hw_82580() function
for 82580 by first reading the register value, and then setting the
device reset bit.

Fixes: af75078fece3 ("first public release")

Signed-off-by: Barbara Skobiej <barbara.skobiej@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/e1000/base/e1000_82575.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/e1000/base/e1000_82575.c b/drivers/net/e1000/base/e1000_82575.c
index 7c78649393..77c76685d8 100644
--- a/drivers/net/e1000/base/e1000_82575.c
+++ b/drivers/net/e1000/base/e1000_82575.c
@@ -2279,7 +2279,7 @@ STATIC s32 e1000_reset_hw_82580(struct e1000_hw *hw)
 	s32 ret_val = E1000_SUCCESS;
 	/* BH SW mailbox bit in SW_FW_SYNC */
 	u16 swmbsw_mask = E1000_SW_SYNCH_MB;
-	u32 ctrl;
+	u32 ctrl, status;
 	bool global_device_reset = hw->dev_spec._82575.global_device_reset;
 
 	DEBUGFUNC("e1000_reset_hw_82580");
@@ -2344,7 +2344,8 @@ STATIC s32 e1000_reset_hw_82580(struct e1000_hw *hw)
 	}
 
 	/* clear global device reset status bit */
-	E1000_WRITE_REG(hw, E1000_STATUS, E1000_STAT_DEV_RST_SET);
+	status = E1000_READ_REG(hw, E1000_STATUS);
+	E1000_WRITE_REG(hw, E1000_STATUS, status | E1000_STAT_DEV_RST_SET);
 
 	/* Clear any pending interrupt events. */
 	E1000_WRITE_REG(hw, E1000_IMC, 0xffffffff);
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.791290048 +0000
+++ 0055-net-e1000-base-fix-reset-for-82580.patch	2025-02-17 16:13:16.850441592 +0000
@@ -1 +1 @@
-From 88a1eb79ef08d309af58ad4921db7200fa7c5073 Mon Sep 17 00:00:00 2001
+From 8b374b7900060cba14fd2a4fe79d7fcf380a3ebf Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 88a1eb79ef08d309af58ad4921db7200fa7c5073 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -17 +18 @@
- drivers/net/intel/e1000/base/e1000_82575.c | 5 +++--
+ drivers/net/e1000/base/e1000_82575.c | 5 +++--
@@ -20,5 +21,5 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_82575.c b/drivers/net/intel/e1000/base/e1000_82575.c
-index 53900cf8f1..948c80f2fa 100644
---- a/drivers/net/intel/e1000/base/e1000_82575.c
-+++ b/drivers/net/intel/e1000/base/e1000_82575.c
-@@ -2280,7 +2280,7 @@ STATIC s32 e1000_reset_hw_82580(struct e1000_hw *hw)
+diff --git a/drivers/net/e1000/base/e1000_82575.c b/drivers/net/e1000/base/e1000_82575.c
+index 7c78649393..77c76685d8 100644
+--- a/drivers/net/e1000/base/e1000_82575.c
++++ b/drivers/net/e1000/base/e1000_82575.c
+@@ -2279,7 +2279,7 @@ STATIC s32 e1000_reset_hw_82580(struct e1000_hw *hw)
@@ -33 +34 @@
-@@ -2345,7 +2345,8 @@ STATIC s32 e1000_reset_hw_82580(struct e1000_hw *hw)
+@@ -2344,7 +2344,8 @@ STATIC s32 e1000_reset_hw_82580(struct e1000_hw *hw)

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/e1000/base: fix unchecked return' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (53 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/e1000/base: fix reset for 82580' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/e1000/base: skip management check for 82575' " luca.boccassi
                   ` (22 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Dima Ruinskiy; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/756391b7b282849f2b6fef7887399209f5391df9

Thanks.

Luca Boccassi

---
From 756391b7b282849f2b6fef7887399209f5391df9 Mon Sep 17 00:00:00 2001
From: Dima Ruinskiy <dima.ruinskiy@intel.com>
Date: Thu, 6 Feb 2025 16:08:46 +0000
Subject: [PATCH] net/e1000/base: fix unchecked return

[ upstream commit b0b6b50c20b03170c83985194fd9acef9467ded6 ]

Static analysis has detected a write that is not checked for errors,
leading to ignored error return value. Add a check.

Fixes: edcdb3c5f71b ("e1000/base: fix link flap on 82579")

Signed-off-by: Dima Ruinskiy <dima.ruinskiy@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/e1000/base/e1000_ich8lan.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/e1000/base/e1000_ich8lan.c b/drivers/net/e1000/base/e1000_ich8lan.c
index 14f86b7bdc..f5f91a148c 100644
--- a/drivers/net/e1000/base/e1000_ich8lan.c
+++ b/drivers/net/e1000/base/e1000_ich8lan.c
@@ -962,6 +962,8 @@ s32 e1000_set_eee_pchlan(struct e1000_hw *hw)
 		data &= ~I82579_LPI_100_PLL_SHUT;
 		ret_val = e1000_write_emi_reg_locked(hw, I82579_LPI_PLL_SHUT,
 						     data);
+		if (ret_val)
+			goto release;
 	}
 
 	/* R/Clr IEEE MMD 3.1 bits 11:10 - Tx/Rx LPI Received */
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.825721386 +0000
+++ 0056-net-e1000-base-fix-unchecked-return.patch	2025-02-17 16:13:16.854441592 +0000
@@ -1 +1 @@
-From b0b6b50c20b03170c83985194fd9acef9467ded6 Mon Sep 17 00:00:00 2001
+From 756391b7b282849f2b6fef7887399209f5391df9 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b0b6b50c20b03170c83985194fd9acef9467ded6 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/intel/e1000/base/e1000_ich8lan.c | 2 ++
+ drivers/net/e1000/base/e1000_ich8lan.c | 2 ++
@@ -19 +20 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_ich8lan.c b/drivers/net/intel/e1000/base/e1000_ich8lan.c
+diff --git a/drivers/net/e1000/base/e1000_ich8lan.c b/drivers/net/e1000/base/e1000_ich8lan.c
@@ -21,2 +22,2 @@
---- a/drivers/net/intel/e1000/base/e1000_ich8lan.c
-+++ b/drivers/net/intel/e1000/base/e1000_ich8lan.c
+--- a/drivers/net/e1000/base/e1000_ich8lan.c
++++ b/drivers/net/e1000/base/e1000_ich8lan.c

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/e1000/base: skip management check for 82575' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (54 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/e1000/base: fix unchecked return' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'common/idpf: fix void function returning a value' " luca.boccassi
                   ` (21 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Carolyn Wyborny; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/25eabd599b8b3d6712c04847907f17df7fac1e80

Thanks.

Luca Boccassi

---
From 25eabd599b8b3d6712c04847907f17df7fac1e80 Mon Sep 17 00:00:00 2001
From: Carolyn Wyborny <carolyn.wyborny@intel.com>
Date: Thu, 6 Feb 2025 16:08:47 +0000
Subject: [PATCH] net/e1000/base: skip management check for 82575

[ upstream commit d107a23f60c6a8b9543c386ecc48abc4f92f50d3 ]

On 82575, driver is not supposed to check if management control is
enabled, and flush the Rx FIFO unconditionally.

Fixes: 44dddd14059f ("net/e1000/base: remove duplicated codes")

Signed-off-by: Carolyn Wyborny <carolyn.wyborny@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/e1000/base/e1000_base.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/net/e1000/base/e1000_base.c b/drivers/net/e1000/base/e1000_base.c
index 3ec32e7240..e10bc6907a 100644
--- a/drivers/net/e1000/base/e1000_base.c
+++ b/drivers/net/e1000/base/e1000_base.c
@@ -132,7 +132,8 @@ void e1000_rx_fifo_flush_base(struct e1000_hw *hw)
 	rfctl |= E1000_RFCTL_IPV6_EX_DIS;
 	E1000_WRITE_REG(hw, E1000_RFCTL, rfctl);
 
-	if (!(E1000_READ_REG(hw, E1000_MANC) & E1000_MANC_RCV_TCO_EN))
+	if (hw->mac.type != e1000_82575 ||
+	    !(E1000_READ_REG(hw, E1000_MANC) & E1000_MANC_RCV_TCO_EN))
 		return;
 
 	/* Disable all Rx queues */
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.861788017 +0000
+++ 0057-net-e1000-base-skip-management-check-for-82575.patch	2025-02-17 16:13:16.854441592 +0000
@@ -1 +1 @@
-From d107a23f60c6a8b9543c386ecc48abc4f92f50d3 Mon Sep 17 00:00:00 2001
+From 25eabd599b8b3d6712c04847907f17df7fac1e80 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d107a23f60c6a8b9543c386ecc48abc4f92f50d3 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -16 +17 @@
- drivers/net/intel/e1000/base/e1000_base.c | 3 ++-
+ drivers/net/e1000/base/e1000_base.c | 3 ++-
@@ -19 +20 @@
-diff --git a/drivers/net/intel/e1000/base/e1000_base.c b/drivers/net/intel/e1000/base/e1000_base.c
+diff --git a/drivers/net/e1000/base/e1000_base.c b/drivers/net/e1000/base/e1000_base.c
@@ -21,2 +22,2 @@
---- a/drivers/net/intel/e1000/base/e1000_base.c
-+++ b/drivers/net/intel/e1000/base/e1000_base.c
+--- a/drivers/net/e1000/base/e1000_base.c
++++ b/drivers/net/e1000/base/e1000_base.c

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'common/idpf: fix void function returning a value' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (55 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/e1000/base: skip management check for 82575' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/intel: fix void functions " luca.boccassi
                   ` (20 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Andre Muezerie; +Cc: Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/c6c1c3874daa571f12291334b30a65792c96982a

Thanks.

Luca Boccassi

---
From c6c1c3874daa571f12291334b30a65792c96982a Mon Sep 17 00:00:00 2001
From: Andre Muezerie <andremue@linux.microsoft.com>
Date: Wed, 22 Jan 2025 07:20:43 -0800
Subject: [PATCH] common/idpf: fix void function returning a value

[ upstream commit c39e89b467c510923295a73e5b76a6a44c72dd1b ]

This patch avoids warnings like the one below emitted by MSVC:

../drivers/common/idpf/idpf_common_rxtx_avx512.c(139):
    warning C4098: 'idpf_singleq_rearm':
    'void' function returning a value

Fixes: 5bf87b45b2c8 ("net/idpf: add AVX512 data path for single queue model")
Fixes: e528d7c74819 ("common/idpf: add AVX512 data path for split queue model")

Signed-off-by: Andre Muezerie <andremue@linux.microsoft.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/idpf/idpf_rxtx_vec_avx512.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/idpf/idpf_rxtx_vec_avx512.c b/drivers/net/idpf/idpf_rxtx_vec_avx512.c
index 29f9624a9d..82a9f34a06 100644
--- a/drivers/net/idpf/idpf_rxtx_vec_avx512.c
+++ b/drivers/net/idpf/idpf_rxtx_vec_avx512.c
@@ -137,8 +137,10 @@ idpf_singleq_rearm(struct idpf_rx_queue *rxq)
 
 	rxdp += rxq->rxrearm_start;
 
-	if (unlikely(cache == NULL))
-		return idpf_singleq_rearm_common(rxq);
+	if (unlikely(cache == NULL)) {
+		idpf_singleq_rearm_common(rxq);
+		return;
+	}
 
 	/* We need to pull 'n' more MBUFs into the software ring from mempool
 	 * We inline the mempool function here, so we can vectorize the copy
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.892426424 +0000
+++ 0058-common-idpf-fix-void-function-returning-a-value.patch	2025-02-17 16:13:16.854441592 +0000
@@ -1 +1 @@
-From c39e89b467c510923295a73e5b76a6a44c72dd1b Mon Sep 17 00:00:00 2001
+From c6c1c3874daa571f12291334b30a65792c96982a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c39e89b467c510923295a73e5b76a6a44c72dd1b ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -19,2 +20,2 @@
- drivers/common/idpf/idpf_common_rxtx_avx512.c | 12 ++++++++----
- 1 file changed, 8 insertions(+), 4 deletions(-)
+ drivers/net/idpf/idpf_rxtx_vec_avx512.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
@@ -22,5 +23,5 @@
-diff --git a/drivers/common/idpf/idpf_common_rxtx_avx512.c b/drivers/common/idpf/idpf_common_rxtx_avx512.c
-index 6fbfee1b2d..b630d1fcd9 100644
---- a/drivers/common/idpf/idpf_common_rxtx_avx512.c
-+++ b/drivers/common/idpf/idpf_common_rxtx_avx512.c
-@@ -133,8 +133,10 @@ idpf_singleq_rearm(struct idpf_rx_queue *rxq)
+diff --git a/drivers/net/idpf/idpf_rxtx_vec_avx512.c b/drivers/net/idpf/idpf_rxtx_vec_avx512.c
+index 29f9624a9d..82a9f34a06 100644
+--- a/drivers/net/idpf/idpf_rxtx_vec_avx512.c
++++ b/drivers/net/idpf/idpf_rxtx_vec_avx512.c
+@@ -137,8 +137,10 @@ idpf_singleq_rearm(struct idpf_rx_queue *rxq)
@@ -34,13 +34,0 @@
-+		return;
-+	}
- 
- 	/* We need to pull 'n' more MBUFs into the software ring from mempool
- 	 * We inline the mempool function here, so we can vectorize the copy
-@@ -603,8 +605,10 @@ idpf_splitq_rearm(struct idpf_rx_queue *rx_bufq)
- 
- 	rxdp += rx_bufq->rxrearm_start;
- 
--	if (unlikely(!cache))
--		return idpf_splitq_rearm_common(rx_bufq);
-+	if (unlikely(!cache)) {
-+		idpf_splitq_rearm_common(rx_bufq);

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/intel: fix void functions returning a value' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (56 preceding siblings ...)
  2025-02-17 17:04 ` patch 'common/idpf: fix void function returning a value' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/intel: fix build with icx' " luca.boccassi
                   ` (19 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Andre Muezerie; +Cc: Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/1c4c4564bf843a57533a8104009562bc314ac2d0

Thanks.

Luca Boccassi

---
From 1c4c4564bf843a57533a8104009562bc314ac2d0 Mon Sep 17 00:00:00 2001
From: Andre Muezerie <andremue@linux.microsoft.com>
Date: Wed, 22 Jan 2025 07:20:44 -0800
Subject: [PATCH] net/intel: fix void functions returning a value

[ upstream commit bc64580a631ee4ad67d7a2a9ae96a63e8d4a02b1 ]

This patch avoids warnings like the one below emitted by MSVC:

../drivers/common/idpf/idpf_common_rxtx_avx512.c(139):
    warning C4098: 'idpf_singleq_rearm':
    'void' function returning a value

Fixes: 0604b1f2208f ("net/i40e: fix crash in AVX512")
Fixes: 4eb3dcce7c5d ("net/iavf: fix crash in AVX512")
Fixes: 20daa1c978b7 ("net/ice: fix crash in AVX512")

Signed-off-by: Andre Muezerie <andremue@linux.microsoft.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/i40e/i40e_rxtx_vec_avx2.c   | 2 +-
 drivers/net/i40e/i40e_rxtx_vec_avx512.c | 6 ++++--
 drivers/net/iavf/iavf_rxtx_vec_avx2.c   | 2 +-
 drivers/net/ice/ice_rxtx_vec_avx2.c     | 2 +-
 4 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/drivers/net/i40e/i40e_rxtx_vec_avx2.c b/drivers/net/i40e/i40e_rxtx_vec_avx2.c
index 60baff7970..c8d8028748 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_avx2.c
+++ b/drivers/net/i40e/i40e_rxtx_vec_avx2.c
@@ -22,7 +22,7 @@
 static __rte_always_inline void
 i40e_rxq_rearm(struct i40e_rx_queue *rxq)
 {
-	return i40e_rxq_rearm_common(rxq, false);
+	i40e_rxq_rearm_common(rxq, false);
 }
 
 #ifndef RTE_LIBRTE_I40E_16BYTE_RX_DESC
diff --git a/drivers/net/i40e/i40e_rxtx_vec_avx512.c b/drivers/net/i40e/i40e_rxtx_vec_avx512.c
index 3490299a6f..bd84a6bb3c 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_avx512.c
+++ b/drivers/net/i40e/i40e_rxtx_vec_avx512.c
@@ -33,8 +33,10 @@ i40e_rxq_rearm(struct i40e_rx_queue *rxq)
 
 	rxdp = rxq->rx_ring + rxq->rxrearm_start;
 
-	if (unlikely(!cache))
-		return i40e_rxq_rearm_common(rxq, true);
+	if (unlikely(!cache)) {
+		i40e_rxq_rearm_common(rxq, true);
+		return;
+	}
 
 	/* We need to pull 'n' more MBUFs into the software ring from mempool
 	 * We inline the mempool function here, so we can vectorize the copy
diff --git a/drivers/net/iavf/iavf_rxtx_vec_avx2.c b/drivers/net/iavf/iavf_rxtx_vec_avx2.c
index 7bf22d5c0d..d4a17c95f8 100644
--- a/drivers/net/iavf/iavf_rxtx_vec_avx2.c
+++ b/drivers/net/iavf/iavf_rxtx_vec_avx2.c
@@ -13,7 +13,7 @@
 static __rte_always_inline void
 iavf_rxq_rearm(struct iavf_rx_queue *rxq)
 {
-	return iavf_rxq_rearm_common(rxq, false);
+	iavf_rxq_rearm_common(rxq, false);
 }
 
 #define PKTLEN_SHIFT     10
diff --git a/drivers/net/ice/ice_rxtx_vec_avx2.c b/drivers/net/ice/ice_rxtx_vec_avx2.c
index 5d591f9834..b86fdda3b8 100644
--- a/drivers/net/ice/ice_rxtx_vec_avx2.c
+++ b/drivers/net/ice/ice_rxtx_vec_avx2.c
@@ -14,7 +14,7 @@
 static __rte_always_inline void
 ice_rxq_rearm(struct ice_rx_queue *rxq)
 {
-	return ice_rxq_rearm_common(rxq, false);
+	ice_rxq_rearm_common(rxq, false);
 }
 
 static __rte_always_inline __m256i
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.933157047 +0000
+++ 0059-net-intel-fix-void-functions-returning-a-value.patch	2025-02-17 16:13:16.858441592 +0000
@@ -1 +1 @@
-From bc64580a631ee4ad67d7a2a9ae96a63e8d4a02b1 Mon Sep 17 00:00:00 2001
+From 1c4c4564bf843a57533a8104009562bc314ac2d0 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit bc64580a631ee4ad67d7a2a9ae96a63e8d4a02b1 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -20,11 +21,11 @@
- drivers/net/intel/i40e/i40e_rxtx_vec_avx2.c   | 2 +-
- drivers/net/intel/i40e/i40e_rxtx_vec_avx512.c | 2 +-
- drivers/net/intel/iavf/iavf_rxtx_vec_avx2.c   | 2 +-
- drivers/net/intel/ice/ice_rxtx_vec_avx2.c     | 2 +-
- 4 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/net/intel/i40e/i40e_rxtx_vec_avx2.c b/drivers/net/intel/i40e/i40e_rxtx_vec_avx2.c
-index 504015de6e..9c406e7a6f 100644
---- a/drivers/net/intel/i40e/i40e_rxtx_vec_avx2.c
-+++ b/drivers/net/intel/i40e/i40e_rxtx_vec_avx2.c
-@@ -18,7 +18,7 @@
+ drivers/net/i40e/i40e_rxtx_vec_avx2.c   | 2 +-
+ drivers/net/i40e/i40e_rxtx_vec_avx512.c | 6 ++++--
+ drivers/net/iavf/iavf_rxtx_vec_avx2.c   | 2 +-
+ drivers/net/ice/ice_rxtx_vec_avx2.c     | 2 +-
+ 4 files changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/drivers/net/i40e/i40e_rxtx_vec_avx2.c b/drivers/net/i40e/i40e_rxtx_vec_avx2.c
+index 60baff7970..c8d8028748 100644
+--- a/drivers/net/i40e/i40e_rxtx_vec_avx2.c
++++ b/drivers/net/i40e/i40e_rxtx_vec_avx2.c
+@@ -22,7 +22,7 @@
@@ -39,11 +40,5 @@
-diff --git a/drivers/net/intel/i40e/i40e_rxtx_vec_avx512.c b/drivers/net/intel/i40e/i40e_rxtx_vec_avx512.c
-index c10ae050d3..d8244556c0 100644
---- a/drivers/net/intel/i40e/i40e_rxtx_vec_avx512.c
-+++ b/drivers/net/intel/i40e/i40e_rxtx_vec_avx512.c
-@@ -20,7 +20,7 @@
- static __rte_always_inline void
- i40e_rxq_rearm(struct i40e_rx_queue *rxq)
- {
--	return i40e_rxq_rearm_common(rxq, true);
-+	i40e_rxq_rearm_common(rxq, true);
- }
+diff --git a/drivers/net/i40e/i40e_rxtx_vec_avx512.c b/drivers/net/i40e/i40e_rxtx_vec_avx512.c
+index 3490299a6f..bd84a6bb3c 100644
+--- a/drivers/net/i40e/i40e_rxtx_vec_avx512.c
++++ b/drivers/net/i40e/i40e_rxtx_vec_avx512.c
+@@ -33,8 +33,10 @@ i40e_rxq_rearm(struct i40e_rx_queue *rxq)
@@ -51,6 +46,16 @@
- #ifndef RTE_LIBRTE_I40E_16BYTE_RX_DESC
-diff --git a/drivers/net/intel/iavf/iavf_rxtx_vec_avx2.c b/drivers/net/intel/iavf/iavf_rxtx_vec_avx2.c
-index 3571835c5b..88e35dc3e9 100644
---- a/drivers/net/intel/iavf/iavf_rxtx_vec_avx2.c
-+++ b/drivers/net/intel/iavf/iavf_rxtx_vec_avx2.c
-@@ -9,7 +9,7 @@
+ 	rxdp = rxq->rx_ring + rxq->rxrearm_start;
+ 
+-	if (unlikely(!cache))
+-		return i40e_rxq_rearm_common(rxq, true);
++	if (unlikely(!cache)) {
++		i40e_rxq_rearm_common(rxq, true);
++		return;
++	}
+ 
+ 	/* We need to pull 'n' more MBUFs into the software ring from mempool
+ 	 * We inline the mempool function here, so we can vectorize the copy
+diff --git a/drivers/net/iavf/iavf_rxtx_vec_avx2.c b/drivers/net/iavf/iavf_rxtx_vec_avx2.c
+index 7bf22d5c0d..d4a17c95f8 100644
+--- a/drivers/net/iavf/iavf_rxtx_vec_avx2.c
++++ b/drivers/net/iavf/iavf_rxtx_vec_avx2.c
+@@ -13,7 +13,7 @@
@@ -65,5 +70,5 @@
-diff --git a/drivers/net/intel/ice/ice_rxtx_vec_avx2.c b/drivers/net/intel/ice/ice_rxtx_vec_avx2.c
-index 8dc9b51c5c..0c54b325c6 100644
---- a/drivers/net/intel/ice/ice_rxtx_vec_avx2.c
-+++ b/drivers/net/intel/ice/ice_rxtx_vec_avx2.c
-@@ -10,7 +10,7 @@
+diff --git a/drivers/net/ice/ice_rxtx_vec_avx2.c b/drivers/net/ice/ice_rxtx_vec_avx2.c
+index 5d591f9834..b86fdda3b8 100644
+--- a/drivers/net/ice/ice_rxtx_vec_avx2.c
++++ b/drivers/net/ice/ice_rxtx_vec_avx2.c
+@@ -14,7 +14,7 @@

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/intel: fix build with icx' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (57 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/intel: fix void functions " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/hns3: fix copper port initialization' " luca.boccassi
                   ` (18 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Ian Stokes, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/07f9cfb97a534985bba679e80dc8d1297bf3357b

Thanks.

Luca Boccassi

---
From 07f9cfb97a534985bba679e80dc8d1297bf3357b Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Mon, 10 Feb 2025 17:19:57 +0000
Subject: [PATCH] net/intel: fix build with icx

[ upstream commit 2641704664267dd3ebe4ad77784ae28440dfaf60 ]

The Intel oneAPI DPC++/C++ Compiler (icx), issues warnings on build when
the "-march=native", or other configured global "-march" flag, is
overridden to "skylake-avx512", when compiling AVX-512 code.

Allow building with icx with warnings-as-errors flag (werror) enabled by
disabling the warning for the cases where we pass that extra "-march"
flag.

Fixes: e6a6a138919f ("net/i40e: add AVX512 vector path")
Fixes: 31737f2b66fb ("net/iavf: enable AVX512 for legacy Rx")
Fixes: 7f85d5ebcfe1 ("net/ice: add AVX512 vector path")
Fixes: 0fac6a1c44d5 ("common/idpf: add AVX512 for single queue model")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Ian Stokes <ian.stokes@intel.com>
---
 drivers/net/i40e/meson.build | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/i40e/meson.build b/drivers/net/i40e/meson.build
index e00c1a9ef9..144ed592f6 100644
--- a/drivers/net/i40e/meson.build
+++ b/drivers/net/i40e/meson.build
@@ -76,6 +76,9 @@ if arch_subdir == 'x86'
         avx512_args = [cflags, '-mavx512f', '-mavx512bw']
         if cc.has_argument('-march=skylake-avx512')
             avx512_args += '-march=skylake-avx512'
+            if cc.has_argument('-Wno-overriding-option')
+                avx512_args += '-Wno-overriding-option'
+            endif
         endif
         i40e_avx512_lib = static_library('i40e_avx512_lib',
                 'i40e_rxtx_vec_avx512.c',
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.966871293 +0000
+++ 0060-net-intel-fix-build-with-icx.patch	2025-02-17 16:13:16.858441592 +0000
@@ -1 +1 @@
-From 2641704664267dd3ebe4ad77784ae28440dfaf60 Mon Sep 17 00:00:00 2001
+From 07f9cfb97a534985bba679e80dc8d1297bf3357b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 2641704664267dd3ebe4ad77784ae28440dfaf60 ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
@@ -23,12 +24,9 @@
- drivers/net/intel/i40e/meson.build | 3 +++
- drivers/net/intel/iavf/meson.build | 3 +++
- drivers/net/intel/ice/meson.build  | 3 +++
- drivers/net/intel/idpf/meson.build | 3 +++
- 4 files changed, 12 insertions(+)
-
-diff --git a/drivers/net/intel/i40e/meson.build b/drivers/net/intel/i40e/meson.build
-index 5c93493124..ffa40c5d64 100644
---- a/drivers/net/intel/i40e/meson.build
-+++ b/drivers/net/intel/i40e/meson.build
-@@ -57,6 +57,9 @@ if arch_subdir == 'x86'
-         avx512_args = cflags + cc_avx512_flags
+ drivers/net/i40e/meson.build | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/drivers/net/i40e/meson.build b/drivers/net/i40e/meson.build
+index e00c1a9ef9..144ed592f6 100644
+--- a/drivers/net/i40e/meson.build
++++ b/drivers/net/i40e/meson.build
+@@ -76,6 +76,9 @@ if arch_subdir == 'x86'
+         avx512_args = [cflags, '-mavx512f', '-mavx512bw']
@@ -43,42 +40,0 @@
-diff --git a/drivers/net/intel/iavf/meson.build b/drivers/net/intel/iavf/meson.build
-index c823d618e3..19cd1cfbc8 100644
---- a/drivers/net/intel/iavf/meson.build
-+++ b/drivers/net/intel/iavf/meson.build
-@@ -45,6 +45,9 @@ if arch_subdir == 'x86'
-         avx512_args = cflags + cc_avx512_flags
-         if cc.has_argument('-march=skylake-avx512')
-             avx512_args += '-march=skylake-avx512'
-+            if cc.has_argument('-Wno-overriding-option')
-+                avx512_args += '-Wno-overriding-option'
-+            endif
-         endif
-         iavf_avx512_lib = static_library('iavf_avx512_lib',
-                 'iavf_rxtx_vec_avx512.c',
-diff --git a/drivers/net/intel/ice/meson.build b/drivers/net/intel/ice/meson.build
-index ff7f84597a..a34b7c966a 100644
---- a/drivers/net/intel/ice/meson.build
-+++ b/drivers/net/intel/ice/meson.build
-@@ -51,6 +51,9 @@ if arch_subdir == 'x86'
-         avx512_args = cflags + cc_avx512_flags
-         if cc.has_argument('-march=skylake-avx512')
-             avx512_args += '-march=skylake-avx512'
-+            if cc.has_argument('-Wno-overriding-option')
-+                avx512_args += '-Wno-overriding-option'
-+            endif
-         endif
-         ice_avx512_lib = static_library('ice_avx512_lib',
-                 'ice_rxtx_vec_avx512.c',
-diff --git a/drivers/net/intel/idpf/meson.build b/drivers/net/intel/idpf/meson.build
-index f82c16746d..802b13035b 100644
---- a/drivers/net/intel/idpf/meson.build
-+++ b/drivers/net/intel/idpf/meson.build
-@@ -31,6 +31,9 @@ if arch_subdir == 'x86' and dpdk_conf.get('RTE_IOVA_IN_MBUF') == 1
-         avx512_args = cflags + cc_avx512_flags
-         if cc.has_argument('-march=skylake-avx512')
-             avx512_args += '-march=skylake-avx512'
-+            if cc.has_argument('-Wno-overriding-option')
-+                avx512_args += '-Wno-overriding-option'
-+            endif
-         endif
-         idpf_common_avx512_lib = static_library('idpf_common_avx512_lib',
-                 'idpf_common_rxtx_avx512.c',

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/hns3: fix copper port initialization' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (58 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/intel: fix build with icx' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/hns3: fix reset timeout' " luca.boccassi
                   ` (17 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Dengdui Huang; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/ff6eaaf9069675a41c1ce63c5b1190c25aa32bde

Thanks.

Luca Boccassi

---
From ff6eaaf9069675a41c1ce63c5b1190c25aa32bde Mon Sep 17 00:00:00 2001
From: Dengdui Huang <huangdengdui@huawei.com>
Date: Mon, 10 Feb 2025 11:01:12 +0800
Subject: [PATCH] net/hns3: fix copper port initialization

[ upstream commit 763546c33ea9600e76790c470d2921808068eb3d ]

The initialization of copper port contains the following two steps.
1. Configure firmware takeover the PHY. The firmware will start an
   asynchronous task to initialize the PHY chip.
2. Configure work speed and duplex.
In earlier versions of the firmware, when the asynchronous task is not
finished, the firmware will return -ENOTBLK in the second step. And this
will lead to driver failed to initialize. Here add retry for this case.

Fixes: 2e4859f3b362 ("net/hns3: support PF device with copper PHYs")

Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
---
 drivers/net/hns3/hns3_ethdev.c | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c
index 9b0b3776f4..e39d0fdb21 100644
--- a/drivers/net/hns3/hns3_ethdev.c
+++ b/drivers/net/hns3/hns3_ethdev.c
@@ -4864,7 +4864,7 @@ hns3_get_link_duplex(uint32_t link_speeds)
 }
 
 static int
-hns3_set_copper_port_link_speed(struct hns3_hw *hw,
+hns3_copper_port_link_speed_cfg(struct hns3_hw *hw,
 				struct hns3_set_link_speed_cfg *cfg)
 {
 	struct hns3_cmd_desc desc[HNS3_PHY_PARAM_CFG_BD_NUM];
@@ -4898,6 +4898,33 @@ hns3_set_copper_port_link_speed(struct hns3_hw *hw,
 	return hns3_cmd_send(hw, desc, HNS3_PHY_PARAM_CFG_BD_NUM);
 }
 
+static int
+hns3_set_copper_port_link_speed(struct hns3_hw *hw,
+				struct hns3_set_link_speed_cfg *cfg)
+{
+#define HNS3_PHY_PARAM_CFG_RETRY_TIMES		10
+#define HNS3_PHY_PARAM_CFG_RETRY_DELAY_MS	100
+	uint32_t retry_cnt = 0;
+	int ret;
+
+	/*
+	 * The initialization of copper port contains the following two steps.
+	 * 1. Configure firmware takeover the PHY. The firmware will start an
+	 *    asynchronous task to initialize the PHY chip.
+	 * 2. Configure work speed and duplex.
+	 * In earlier versions of the firmware, when the asynchronous task is not
+	 * finished, the firmware will return -ENOTBLK in the second step. And this
+	 * will lead to driver failed to initialize. Here add retry for this case.
+	 */
+	ret = hns3_copper_port_link_speed_cfg(hw, cfg);
+	while (ret == -ENOTBLK && retry_cnt++ < HNS3_PHY_PARAM_CFG_RETRY_TIMES) {
+		rte_delay_ms(HNS3_PHY_PARAM_CFG_RETRY_DELAY_MS);
+		ret = hns3_copper_port_link_speed_cfg(hw, cfg);
+	}
+
+	return ret;
+}
+
 static int
 hns3_set_autoneg(struct hns3_hw *hw, bool enable)
 {
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:18.999573481 +0000
+++ 0061-net-hns3-fix-copper-port-initialization.patch	2025-02-17 16:13:16.858441592 +0000
@@ -1 +1 @@
-From 763546c33ea9600e76790c470d2921808068eb3d Mon Sep 17 00:00:00 2001
+From ff6eaaf9069675a41c1ce63c5b1190c25aa32bde Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 763546c33ea9600e76790c470d2921808068eb3d ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 72d1c30a7b..9f7119b734 100644
+index 9b0b3776f4..e39d0fdb21 100644
@@ -26 +27 @@
-@@ -4852,7 +4852,7 @@ hns3_get_link_duplex(uint32_t link_speeds)
+@@ -4864,7 +4864,7 @@ hns3_get_link_duplex(uint32_t link_speeds)
@@ -35 +36 @@
-@@ -4886,6 +4886,33 @@ hns3_set_copper_port_link_speed(struct hns3_hw *hw,
+@@ -4898,6 +4898,33 @@ hns3_set_copper_port_link_speed(struct hns3_hw *hw,

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/hns3: fix reset timeout' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (59 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/hns3: fix copper port initialization' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'raw/cnxk_gpio: fix file descriptor leak' " luca.boccassi
                   ` (16 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Dengdui Huang; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/123786e4ac5f10646fec5018a74cd32725173b84

Thanks.

Luca Boccassi

---
From 123786e4ac5f10646fec5018a74cd32725173b84 Mon Sep 17 00:00:00 2001
From: Dengdui Huang <huangdengdui@huawei.com>
Date: Mon, 10 Feb 2025 11:01:13 +0800
Subject: [PATCH] net/hns3: fix reset timeout

[ upstream commit 9f7c28c5e98062576dfbf555cd5ede7e33d6624b ]

There is low probability that the driver reset timeout, the root cause is
that the firmware processing take a litter long than normal when process
reset command. This patch fix it by changing the timeout of the reset
command to 100 ms.

Fixes: 737f30e1c3ab ("net/hns3: support command interface with firmware")

Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
---
 drivers/net/hns3/hns3_cmd.c | 18 ++++++++++++------
 drivers/net/hns3/hns3_cmd.h |  4 ++--
 2 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/drivers/net/hns3/hns3_cmd.c b/drivers/net/hns3/hns3_cmd.c
index 7bdf7740c1..50e135b8e3 100644
--- a/drivers/net/hns3/hns3_cmd.c
+++ b/drivers/net/hns3/hns3_cmd.c
@@ -304,8 +304,17 @@ hns3_cmd_get_hardware_reply(struct hns3_hw *hw,
 	return hns3_cmd_convert_err_code(desc_ret);
 }
 
-static int hns3_cmd_poll_reply(struct hns3_hw *hw)
+static uint32_t hns3_get_cmd_tx_timeout(uint16_t opcode)
 {
+	if (opcode == HNS3_OPC_CFG_RST_TRIGGER)
+		return HNS3_COMQ_CFG_RST_TIMEOUT;
+
+	return HNS3_CMDQ_TX_TIMEOUT_DEFAULT;
+}
+
+static int hns3_cmd_poll_reply(struct hns3_hw *hw, uint16_t opcode)
+{
+	uint32_t cmdq_tx_timeout = hns3_get_cmd_tx_timeout(opcode);
 	struct hns3_adapter *hns = HNS3_DEV_HW_TO_ADAPTER(hw);
 	uint32_t timeout = 0;
 
@@ -326,7 +335,7 @@ static int hns3_cmd_poll_reply(struct hns3_hw *hw)
 
 		rte_delay_us(1);
 		timeout++;
-	} while (timeout < hw->cmq.tx_timeout);
+	} while (timeout < cmdq_tx_timeout);
 	hns3_err(hw, "Wait for reply timeout");
 	return -ETIME;
 }
@@ -400,7 +409,7 @@ hns3_cmd_send(struct hns3_hw *hw, struct hns3_cmd_desc *desc, int num)
 	 * if multi descriptors to be sent, use the first one to check.
 	 */
 	if (HNS3_CMD_SEND_SYNC(rte_le_to_cpu_16(desc->flag))) {
-		retval = hns3_cmd_poll_reply(hw);
+		retval = hns3_cmd_poll_reply(hw, desc->opcode);
 		if (!retval)
 			retval = hns3_cmd_get_hardware_reply(hw, desc, num,
 							     ntc);
@@ -605,9 +614,6 @@ hns3_cmd_init_queue(struct hns3_hw *hw)
 	hw->cmq.csq.desc_num = HNS3_NIC_CMQ_DESC_NUM;
 	hw->cmq.crq.desc_num = HNS3_NIC_CMQ_DESC_NUM;
 
-	/* Setup Tx write back timeout */
-	hw->cmq.tx_timeout = HNS3_CMDQ_TX_TIMEOUT;
-
 	/* Setup queue rings */
 	ret = hns3_alloc_cmd_queue(hw, HNS3_TYPE_CSQ);
 	if (ret) {
diff --git a/drivers/net/hns3/hns3_cmd.h b/drivers/net/hns3/hns3_cmd.h
index 0a4d59bd9b..ae797a7692 100644
--- a/drivers/net/hns3/hns3_cmd.h
+++ b/drivers/net/hns3/hns3_cmd.h
@@ -10,7 +10,8 @@
 #include <rte_byteorder.h>
 #include <rte_spinlock.h>
 
-#define HNS3_CMDQ_TX_TIMEOUT		30000
+#define HNS3_CMDQ_TX_TIMEOUT_DEFAULT	30000
+#define HNS3_COMQ_CFG_RST_TIMEOUT	100000
 #define HNS3_CMDQ_CLEAR_WAIT_TIME	200
 #define HNS3_CMDQ_RX_INVLD_B		0
 #define HNS3_CMDQ_RX_OUTVLD_B		1
@@ -62,7 +63,6 @@ enum hns3_cmd_return_status {
 struct hns3_cmq {
 	struct hns3_cmq_ring csq;
 	struct hns3_cmq_ring crq;
-	uint16_t tx_timeout;
 	enum hns3_cmd_return_status last_status;
 };
 
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:19.033936981 +0000
+++ 0062-net-hns3-fix-reset-timeout.patch	2025-02-17 16:13:16.858441592 +0000
@@ -1 +1 @@
-From 9f7c28c5e98062576dfbf555cd5ede7e33d6624b Mon Sep 17 00:00:00 2001
+From 123786e4ac5f10646fec5018a74cd32725173b84 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 9f7c28c5e98062576dfbf555cd5ede7e33d6624b ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 146444e2fa..398b75384e 100644
+index 7bdf7740c1..50e135b8e3 100644
@@ -61 +62 @@
-@@ -611,9 +620,6 @@ hns3_cmd_init_queue(struct hns3_hw *hw)
+@@ -605,9 +614,6 @@ hns3_cmd_init_queue(struct hns3_hw *hw)
@@ -72 +73 @@
-index 79a8c1edad..4d707c13b2 100644
+index 0a4d59bd9b..ae797a7692 100644

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'raw/cnxk_gpio: fix file descriptor leak' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (60 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/hns3: fix reset timeout' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/i40e: remove duplicate code' " luca.boccassi
                   ` (15 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/84163aa605d60776c13e7c1ce056eabedfa122bd

Thanks.

Luca Boccassi

---
From 84163aa605d60776c13e7c1ce056eabedfa122bd Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:04 -0800
Subject: [PATCH] raw/cnxk_gpio: fix file descriptor leak

[ upstream commit 67f0beaf0f5bf2cf239219c737ed8d93aaaaa673 ]

The function would leak file if fscanf failed.
There is a working version in other file, clone that.

Link: https://pvs-studio.com/en/blog/posts/cpp/1183/

Fixes: 0e6557b448fa ("raw/cnxk_gpio: add self test")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/raw/cnxk_gpio/cnxk_gpio_selftest.c | 24 ++++++++++++++--------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/drivers/raw/cnxk_gpio/cnxk_gpio_selftest.c b/drivers/raw/cnxk_gpio/cnxk_gpio_selftest.c
index 10742b5dc4..907535c08e 100644
--- a/drivers/raw/cnxk_gpio/cnxk_gpio_selftest.c
+++ b/drivers/raw/cnxk_gpio/cnxk_gpio_selftest.c
@@ -34,24 +34,30 @@ cnxk_gpio_attr_exists(const char *attr)
 static int
 cnxk_gpio_read_attr(char *attr, char *val)
 {
+	int ret, ret2;
 	FILE *fp;
-	int ret;
 
 	fp = fopen(attr, "r");
 	if (!fp)
 		return -errno;
 
 	ret = fscanf(fp, "%s", val);
-	if (ret < 0)
-		return -errno;
-	if (ret != 1)
-		return -EIO;
+	if (ret < 0) {
+		ret = -errno;
+		goto out;
+	}
+	if (ret != 1) {
+		ret = -EIO;
+		goto out;
+	}
 
-	ret = fclose(fp);
-	if (ret)
-		return -errno;
+	ret = 0;
+out:
+	ret2 = fclose(fp);
+	if (!ret)
+		ret = ret2;
 
-	return 0;
+	return ret;
 }
 
 #define CNXK_GPIO_ERR_STR(err, str, ...) do {                                  \
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:19.066097518 +0000
+++ 0063-raw-cnxk_gpio-fix-file-descriptor-leak.patch	2025-02-17 16:13:16.858441592 +0000
@@ -1 +1 @@
-From 67f0beaf0f5bf2cf239219c737ed8d93aaaaa673 Mon Sep 17 00:00:00 2001
+From 84163aa605d60776c13e7c1ce056eabedfa122bd Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 67f0beaf0f5bf2cf239219c737ed8d93aaaaa673 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 2f3973a7b5..a0d9942f20 100644
+index 10742b5dc4..907535c08e 100644

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/i40e: remove duplicate code' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (61 preceding siblings ...)
  2025-02-17 17:04 ` patch 'raw/cnxk_gpio: fix file descriptor leak' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'eal: fix devargs layers parsing out of bounds' " luca.boccassi
                   ` (14 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/af5c1efdef046a38adadeeb0ce3b72d32e491253

Thanks.

Luca Boccassi

---
From af5c1efdef046a38adadeeb0ce3b72d32e491253 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:06 -0800
Subject: [PATCH] net/i40e: remove duplicate code

[ upstream commit 8c085f702ac3074d20e51ee691b0bc967919c43e ]

There are two branches in the cascading if/else that have same
condition and code; remove one. Update the code to follow DPDK
style where all statements in if should have brackets if any
leg requires them.

Link: https://pvs-studio.com/en/blog/posts/cpp/1183/
Fixes: 2ab5c84605f0 ("net/i40e: fix ESP flow creation")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 drivers/net/i40e/i40e_fdir.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/net/i40e/i40e_fdir.c b/drivers/net/i40e/i40e_fdir.c
index afcaa593eb..1f48a63323 100644
--- a/drivers/net/i40e/i40e_fdir.c
+++ b/drivers/net/i40e/i40e_fdir.c
@@ -599,18 +599,16 @@ i40e_flow_fdir_fill_eth_ip_head(struct i40e_pf *pf,
 		} else if (cus_pctype->index == I40E_CUSTOMIZED_ESP_IPV4_UDP) {
 			len = fill_ip4_head(fdir_input, raw_pkt, IPPROTO_UDP,
 					len, ether_type);
-		} else if (cus_pctype->index == I40E_CUSTOMIZED_ESP_IPV4_UDP) {
-			len = fill_ip4_head(fdir_input, raw_pkt, IPPROTO_UDP,
-					len, ether_type);
-		} else if (cus_pctype->index == I40E_CUSTOMIZED_ESP_IPV6)
+		} else if (cus_pctype->index == I40E_CUSTOMIZED_ESP_IPV6) {
 			len = fill_ip6_head(fdir_input, raw_pkt, IPPROTO_ESP,
 					len, ether_type);
-		else if (cus_pctype->index == I40E_CUSTOMIZED_ESP_IPV6_UDP)
+		} else if (cus_pctype->index == I40E_CUSTOMIZED_ESP_IPV6_UDP) {
 			len = fill_ip6_head(fdir_input, raw_pkt, IPPROTO_UDP,
 					len, ether_type);
-		else if (cus_pctype->index == I40E_CUSTOMIZED_IPV6_L2TPV3)
+		} else if (cus_pctype->index == I40E_CUSTOMIZED_IPV6_L2TPV3) {
 			len = fill_ip6_head(fdir_input, raw_pkt, IPPROTO_L2TP,
 					len, ether_type);
+		}
 	} else {
 		PMD_DRV_LOG(ERR, "unknown pctype %u.", fdir_input->pctype);
 		return -1;
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:19.097732625 +0000
+++ 0064-net-i40e-remove-duplicate-code.patch	2025-02-17 16:13:16.862441592 +0000
@@ -1 +1 @@
-From 8c085f702ac3074d20e51ee691b0bc967919c43e Mon Sep 17 00:00:00 2001
+From af5c1efdef046a38adadeeb0ce3b72d32e491253 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8c085f702ac3074d20e51ee691b0bc967919c43e ]
+
@@ -17 +19 @@
- drivers/net/intel/i40e/i40e_fdir.c | 10 ++++------
+ drivers/net/i40e/i40e_fdir.c | 10 ++++------
@@ -20,4 +22,4 @@
-diff --git a/drivers/net/intel/i40e/i40e_fdir.c b/drivers/net/intel/i40e/i40e_fdir.c
-index 349627a2ed..94e3ab44e3 100644
---- a/drivers/net/intel/i40e/i40e_fdir.c
-+++ b/drivers/net/intel/i40e/i40e_fdir.c
+diff --git a/drivers/net/i40e/i40e_fdir.c b/drivers/net/i40e/i40e_fdir.c
+index afcaa593eb..1f48a63323 100644
+--- a/drivers/net/i40e/i40e_fdir.c
++++ b/drivers/net/i40e/i40e_fdir.c

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'eal: fix devargs layers parsing out of bounds' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (62 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/i40e: remove duplicate code' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/qede: fix debug messages array' " luca.boccassi
                   ` (13 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/db68a74527720938c6288141da9869931b6255f9

Thanks.

Luca Boccassi

---
From db68a74527720938c6288141da9869931b6255f9 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:07 -0800
Subject: [PATCH] eal: fix devargs layers parsing out of bounds

[ upstream commit 42f91490ebc97a816ea11ce9c995f455c169a77a ]

The code for parsing layers in devargs could reference past
the end of layers[] array on stack.

Link: https://pvs-studio.com/en/blog/posts/cpp/1183/

Fixes: 9a1a9e4a2ddd ("devargs: support path value with global device syntax")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 lib/eal/common/eal_common_devargs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/eal/common/eal_common_devargs.c b/lib/eal/common/eal_common_devargs.c
index fb5d0a293b..2f1515d7c9 100644
--- a/lib/eal/common/eal_common_devargs.c
+++ b/lib/eal/common/eal_common_devargs.c
@@ -88,7 +88,7 @@ rte_devargs_layers_parse(struct rte_devargs *devargs,
 	s = devargs->data;
 
 	while (s != NULL) {
-		if (nblayer > RTE_DIM(layers)) {
+		if (nblayer >= RTE_DIM(layers)) {
 			ret = -E2BIG;
 			goto get_out;
 		}
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:19.129918990 +0000
+++ 0065-eal-fix-devargs-layers-parsing-out-of-bounds.patch	2025-02-17 16:13:16.862441592 +0000
@@ -1 +1 @@
-From 42f91490ebc97a816ea11ce9c995f455c169a77a Mon Sep 17 00:00:00 2001
+From db68a74527720938c6288141da9869931b6255f9 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 42f91490ebc97a816ea11ce9c995f455c169a77a ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index a64805b268..dd857fc839 100644
+index fb5d0a293b..2f1515d7c9 100644

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/qede: fix debug messages array' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (63 preceding siblings ...)
  2025-02-17 17:04 ` patch 'eal: fix devargs layers parsing out of bounds' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'examples/ptpclient: fix message parsing' " luca.boccassi
                   ` (12 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/595e23bf8b00621e8a5195b5b78f26be0d3d8128

Thanks.

Luca Boccassi

---
From 595e23bf8b00621e8a5195b5b78f26be0d3d8128 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:08 -0800
Subject: [PATCH] net/qede: fix debug messages array

[ upstream commit 60c68da0392e31ea4c163e0be8f1236a00cd350c ]

The array of debug status strings did not match possible enum
values. Add the missing element and a static assert to make sure
the table has all possible values.

For more complete description see.
Link: https://pvs-studio.com/en/blog/posts/cpp/1176/

Fixes: ec55c118792b ("net/qede: add infrastructure for debug data collection")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/qede/qede_debug.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/qede/qede_debug.c b/drivers/net/qede/qede_debug.c
index 18f2d988fb..1d3147b724 100644
--- a/drivers/net/qede/qede_debug.c
+++ b/drivers/net/qede/qede_debug.c
@@ -4,6 +4,7 @@
  * www.marvell.com
  */
 
+#include <assert.h>
 #include <rte_common.h>
 #include "base/bcm_osal.h"
 #include "base/ecore.h"
@@ -82,6 +83,7 @@ static const char * const s_mem_group_names[] = {
 	"TM_MEM",
 	"TASK_CFC_MEM",
 };
+static_assert(RTE_DIM(s_mem_group_names) == MEM_GROUPS_NUM, "memory group string mismatch");
 
 /* Idle check conditions */
 
@@ -5614,6 +5616,8 @@ static const char * const s_status_str[] = {
 	/* DBG_STATUS_INVALID_FILTER_TRIGGER_DWORDS */
 	"The filter/trigger constraint dword offsets are not enabled for recording",
 
+	/* DBG_STATUS_NO_MATCHING_FRAMING_MODE */
+	"No matching frame mode",
 
 	/* DBG_STATUS_VFC_READ_ERROR */
 	"Error reading from VFC",
@@ -5759,6 +5763,7 @@ static const char * const s_status_str[] = {
 	/* DBG_STATUS_MISSING_TRIGGER_STATE_STORM */
 	"When triggering on Storm data, the Storm to trigger on must be specified"
 };
+static_assert(RTE_DIM(s_status_str) == MAX_DBG_STATUS, "status string table mismatch");
 
 /* Idle check severity names array */
 static const char * const s_idle_chk_severity_str[] = {
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:19.161023377 +0000
+++ 0066-net-qede-fix-debug-messages-array.patch	2025-02-17 16:13:16.862441592 +0000
@@ -1 +1 @@
-From 60c68da0392e31ea4c163e0be8f1236a00cd350c Mon Sep 17 00:00:00 2001
+From 595e23bf8b00621e8a5195b5b78f26be0d3d8128 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 60c68da0392e31ea4c163e0be8f1236a00cd350c ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'examples/ptpclient: fix message parsing' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (64 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/qede: fix debug messages array' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/hinic: fix flow type bitmask overflow' " luca.boccassi
                   ` (11 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/c5437fdd9c14ffc378d6d5b855d3301c79f64500

Thanks.

Luca Boccassi

---
From c5437fdd9c14ffc378d6d5b855d3301c79f64500 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:10 -0800
Subject: [PATCH] examples/ptpclient: fix message parsing

[ upstream commit 19630bd0d735badb06143086d4f1c50d726b7bad ]

Calling memcmp on same structure will always be true.
Replace with same conditional used elsewhere.

Link: https://pvs-studio.com/en/blog/posts/cpp/1183/

Fixes: ab129e9065a5 ("examples/ptpclient: add minimal PTP client")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 examples/ptpclient/ptpclient.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/ptpclient/ptpclient.c b/examples/ptpclient/ptpclient.c
index cdf2da64df..ecc6e09765 100644
--- a/examples/ptpclient/ptpclient.c
+++ b/examples/ptpclient/ptpclient.c
@@ -365,7 +365,7 @@ parse_sync(struct ptpv2_data_slave_ordinary *ptp_data, uint16_t rx_tstamp_idx)
 		ptp_data->ptpset = 1;
 	}
 
-	if (memcmp(&ptp_hdr->source_port_id.clock_id,
+	if (memcmp(&ptp_data->master_clock_id,
 			&ptp_hdr->source_port_id.clock_id,
 			sizeof(struct clock_id)) == 0) {
 
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:19.197297689 +0000
+++ 0067-examples-ptpclient-fix-message-parsing.patch	2025-02-17 16:13:16.866441592 +0000
@@ -1 +1 @@
-From 19630bd0d735badb06143086d4f1c50d726b7bad Mon Sep 17 00:00:00 2001
+From c5437fdd9c14ffc378d6d5b855d3301c79f64500 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 19630bd0d735badb06143086d4f1c50d726b7bad ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 27d06dd91d..c344e7db1e 100644
+index cdf2da64df..ecc6e09765 100644
@@ -23 +24 @@
-@@ -367,7 +367,7 @@ parse_sync(struct ptpv2_time_receiver_ordinary *ptp_data, uint16_t rx_tstamp_idx
+@@ -365,7 +365,7 @@ parse_sync(struct ptpv2_data_slave_ordinary *ptp_data, uint16_t rx_tstamp_idx)
@@ -28 +29 @@
-+	if (memcmp(&ptp_data->transmitter_clock_id,
++	if (memcmp(&ptp_data->master_clock_id,

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/hinic: fix flow type bitmask overflow' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (65 preceding siblings ...)
  2025-02-17 17:04 ` patch 'examples/ptpclient: fix message parsing' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'crypto/dpaa2_sec: fix bitmask truncation' " luca.boccassi
                   ` (10 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/687588d938c783fb9c5130e777af6267861bb184

Thanks.

Luca Boccassi

---
From 687588d938c783fb9c5130e777af6267861bb184 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:12 -0800
Subject: [PATCH] net/hinic: fix flow type bitmask overflow

[ upstream commit a357d5b703253b5920aba808a24877386a22720e ]

The type mask is 64 bit value, doing a shift of literal 1 (32 bit)
will result in int type (32 bit) and cause truncation.

Link: https://pvs-studio.com/en/blog/posts/cpp/1183/
Fixes: f4ca3fd54c4d ("net/hinic: create and destroy flow director filter")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/hinic/hinic_pmd_flow.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/net/hinic/hinic_pmd_flow.c b/drivers/net/hinic/hinic_pmd_flow.c
index 358b372e07..1c4618159b 100644
--- a/drivers/net/hinic/hinic_pmd_flow.c
+++ b/drivers/net/hinic/hinic_pmd_flow.c
@@ -1979,8 +1979,8 @@ static int hinic_lookup_new_filter(struct hinic_5tuple_filter *filter,
 		return -EINVAL;
 	}
 
-	if (!(filter_info->type_mask & (1 << type_id))) {
-		filter_info->type_mask |= 1 << type_id;
+	if (!(filter_info->type_mask & (UINT64_C(1) << type_id))) {
+		filter_info->type_mask |= UINT64_C(1) << type_id;
 		filter->index = type_id;
 		filter_info->pkt_filters[type_id].enable = true;
 		filter_info->pkt_filters[type_id].pkt_proto =
@@ -2138,7 +2138,7 @@ static void hinic_remove_5tuple_filter(struct rte_eth_dev *dev,
 	filter_info->pkt_type = 0;
 	filter_info->qid = 0;
 	filter_info->pkt_filters[filter->index].qid = 0;
-	filter_info->type_mask &= ~(1 <<  (filter->index));
+	filter_info->type_mask &= ~(UINT64_C(1) << filter->index);
 	TAILQ_REMOVE(&filter_info->fivetuple_list, filter, entries);
 
 	rte_free(filter);
@@ -2268,8 +2268,8 @@ hinic_ethertype_filter_insert(struct hinic_filter_info *filter_info,
 	if (id < 0)
 		return -EINVAL;
 
-	if (!(filter_info->type_mask & (1 << id))) {
-		filter_info->type_mask |= 1 << id;
+	if (!(filter_info->type_mask & (UINT64_C(1) << id))) {
+		filter_info->type_mask |= UINT64_C(1) << id;
 		filter_info->pkt_filters[id].pkt_proto =
 			ethertype_filter->pkt_proto;
 		filter_info->pkt_filters[id].enable = ethertype_filter->enable;
@@ -2289,7 +2289,7 @@ hinic_ethertype_filter_remove(struct hinic_filter_info *filter_info,
 		return;
 
 	filter_info->pkt_type = 0;
-	filter_info->type_mask &= ~(1 << idx);
+	filter_info->type_mask &= ~(UINT64_C(1) << idx);
 	filter_info->pkt_filters[idx].pkt_proto = (uint16_t)0;
 	filter_info->pkt_filters[idx].enable = FALSE;
 	filter_info->pkt_filters[idx].qid = 0;
@@ -2355,7 +2355,7 @@ hinic_add_del_ethertype_filter(struct rte_eth_dev *dev,
 		if (i < 0)
 			return -EINVAL;
 
-		if ((filter_info->type_mask & (1 << i))) {
+		if ((filter_info->type_mask & (UINT64_C(1) << i))) {
 			filter_info->pkt_filters[i].enable = FALSE;
 			(void)hinic_set_fdir_filter(nic_dev->hwdev,
 					filter_info->pkt_type,
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:19.237221190 +0000
+++ 0068-net-hinic-fix-flow-type-bitmask-overflow.patch	2025-02-17 16:13:16.866441592 +0000
@@ -1 +1 @@
-From a357d5b703253b5920aba808a24877386a22720e Mon Sep 17 00:00:00 2001
+From 687588d938c783fb9c5130e777af6267861bb184 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a357d5b703253b5920aba808a24877386a22720e ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 8fdd5a35be..6b1ca6ff88 100644
+index 358b372e07..1c4618159b 100644

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'crypto/dpaa2_sec: fix bitmask truncation' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (66 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/hinic: fix flow type bitmask overflow' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'crypto/dpaa_sec: " luca.boccassi
                   ` (9 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Hemant Agrawal, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/10a08b640b25a46f54aa5901cb6bd52feeb516bc

Thanks.

Luca Boccassi

---
From 10a08b640b25a46f54aa5901cb6bd52feeb516bc Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:13 -0800
Subject: [PATCH] crypto/dpaa2_sec: fix bitmask truncation

[ upstream commit 013ddc85bff5fdb85eb6006315ebdaa0c12eeece ]

The dqrr_held mask is 64 bit but updates were getting truncated
because 1 is of type int (32 bit) and the result shift of int is of
type int (32 bit); therefore any value >= 32 would get truncated.

Link: https://pvs-studio.com/en/blog/posts/cpp/1183/
Fixes: a77db24643b7 ("crypto/dpaa2_sec: support atomic queues")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
index a8c99bc4af..b9a82a92ad 100644
--- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
+++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
@@ -1502,8 +1502,8 @@ dpaa2_sec_enqueue_burst(void *qp, struct rte_crypto_op **ops,
 			if (*dpaa2_seqn((*ops)->sym->m_src)) {
 				if (*dpaa2_seqn((*ops)->sym->m_src) & QBMAN_ENQUEUE_FLAG_DCA) {
 					DPAA2_PER_LCORE_DQRR_SIZE--;
-					DPAA2_PER_LCORE_DQRR_HELD &= ~(1 <<
-					*dpaa2_seqn((*ops)->sym->m_src) &
+					DPAA2_PER_LCORE_DQRR_HELD &= ~(UINT64_C(1) <<
+						*dpaa2_seqn((*ops)->sym->m_src) &
 					QBMAN_EQCR_DCA_IDXMASK);
 				}
 				flags[loop] = *dpaa2_seqn((*ops)->sym->m_src);
@@ -1796,7 +1796,7 @@ dpaa2_sec_set_enqueue_descriptor(struct dpaa2_queue *dpaa2_q,
 		dq_idx = *dpaa2_seqn(m) - 1;
 		qbman_eq_desc_set_dca(eqdesc, 1, dq_idx, 0);
 		DPAA2_PER_LCORE_DQRR_SIZE--;
-		DPAA2_PER_LCORE_DQRR_HELD &= ~(1 << dq_idx);
+		DPAA2_PER_LCORE_DQRR_HELD &= ~(UINT64_C(1) << dq_idx);
 	}
 	*dpaa2_seqn(m) = DPAA2_INVALID_MBUF_SEQN;
 }
@@ -4020,7 +4020,7 @@ dpaa2_sec_process_atomic_event(struct qbman_swp *swp __rte_unused,
 	dqrr_index = qbman_get_dqrr_idx(dq);
 	*dpaa2_seqn(crypto_op->sym->m_src) = QBMAN_ENQUEUE_FLAG_DCA | dqrr_index;
 	DPAA2_PER_LCORE_DQRR_SIZE++;
-	DPAA2_PER_LCORE_DQRR_HELD |= 1 << dqrr_index;
+	DPAA2_PER_LCORE_DQRR_HELD |= UINT64_C(1) << dqrr_index;
 	DPAA2_PER_LCORE_DQRR_MBUF(dqrr_index) = crypto_op->sym->m_src;
 	ev->event_ptr = crypto_op;
 }
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:19.270444961 +0000
+++ 0069-crypto-dpaa2_sec-fix-bitmask-truncation.patch	2025-02-17 16:13:16.866441592 +0000
@@ -1 +1 @@
-From 013ddc85bff5fdb85eb6006315ebdaa0c12eeece Mon Sep 17 00:00:00 2001
+From 10a08b640b25a46f54aa5901cb6bd52feeb516bc Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 013ddc85bff5fdb85eb6006315ebdaa0c12eeece ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index ec6577f64c..7ad8fd47dd 100644
+index a8c99bc4af..b9a82a92ad 100644
@@ -24 +25 @@
-@@ -1491,8 +1491,8 @@ dpaa2_sec_enqueue_burst(void *qp, struct rte_crypto_op **ops,
+@@ -1502,8 +1502,8 @@ dpaa2_sec_enqueue_burst(void *qp, struct rte_crypto_op **ops,
@@ -35 +36 @@
-@@ -1772,7 +1772,7 @@ dpaa2_sec_set_enqueue_descriptor(struct dpaa2_queue *dpaa2_q,
+@@ -1796,7 +1796,7 @@ dpaa2_sec_set_enqueue_descriptor(struct dpaa2_queue *dpaa2_q,
@@ -44 +45 @@
-@@ -4055,7 +4055,7 @@ dpaa2_sec_process_atomic_event(struct qbman_swp *swp __rte_unused,
+@@ -4020,7 +4020,7 @@ dpaa2_sec_process_atomic_event(struct qbman_swp *swp __rte_unused,

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'crypto/dpaa_sec: fix bitmask truncation' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (67 preceding siblings ...)
  2025-02-17 17:04 ` patch 'crypto/dpaa2_sec: fix bitmask truncation' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'event/dpaa: " luca.boccassi
                   ` (8 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Hemant Agrawal, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/32a4ef73f2cab1a50dbb503d41cf85359e905316

Thanks.

Luca Boccassi

---
From 32a4ef73f2cab1a50dbb503d41cf85359e905316 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:14 -0800
Subject: [PATCH] crypto/dpaa_sec: fix bitmask truncation

[ upstream commit 7c18f573c1f5368f70e6e956c4ba0c6f97b19cb1 ]

The dqrr_held mask is 64 bit but updates were getting truncated
because 1 is of type int (32 bit) and the result shift of int is of
type int (32 bit); therefore any value >= 32 would get truncated.

Link: https://pvs-studio.com/en/blog/posts/cpp/1183/

Fixes: fe3688ba7950 ("crypto/dpaa_sec: support event crypto adapter")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/crypto/dpaa_sec/dpaa_sec.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/crypto/dpaa_sec/dpaa_sec.c b/drivers/crypto/dpaa_sec/dpaa_sec.c
index 8687e3e75e..05e543f955 100644
--- a/drivers/crypto/dpaa_sec/dpaa_sec.c
+++ b/drivers/crypto/dpaa_sec/dpaa_sec.c
@@ -1910,13 +1910,12 @@ dpaa_sec_enqueue_burst(void *qp, struct rte_crypto_op **ops,
 			op = *(ops++);
 			if (*dpaa_seqn(op->sym->m_src) != 0) {
 				index = *dpaa_seqn(op->sym->m_src) - 1;
-				if (DPAA_PER_LCORE_DQRR_HELD & (1 << index)) {
+				if (DPAA_PER_LCORE_DQRR_HELD & (UINT64_C(1) << index)) {
 					/* QM_EQCR_DCA_IDXMASK = 0x0f */
 					flags[loop] = ((index & 0x0f) << 8);
 					flags[loop] |= QMAN_ENQUEUE_FLAG_DCA;
 					DPAA_PER_LCORE_DQRR_SIZE--;
-					DPAA_PER_LCORE_DQRR_HELD &=
-								~(1 << index);
+					DPAA_PER_LCORE_DQRR_HELD &= ~(UINT64_C(1) << index);
 				}
 			}
 
@@ -3451,7 +3450,7 @@ dpaa_sec_process_atomic_event(void *event,
 	/* Save active dqrr entries */
 	index = ((uintptr_t)dqrr >> 6) & (16/*QM_DQRR_SIZE*/ - 1);
 	DPAA_PER_LCORE_DQRR_SIZE++;
-	DPAA_PER_LCORE_DQRR_HELD |= 1 << index;
+	DPAA_PER_LCORE_DQRR_HELD |= UINT64_C(1) << index;
 	DPAA_PER_LCORE_DQRR_MBUF(index) = ctx->op->sym->m_src;
 	ev->impl_opaque = index + 1;
 	*dpaa_seqn(ctx->op->sym->m_src) = (uint32_t)index + 1;
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:19.304229620 +0000
+++ 0070-crypto-dpaa_sec-fix-bitmask-truncation.patch	2025-02-17 16:13:16.866441592 +0000
@@ -1 +1 @@
-From 7c18f573c1f5368f70e6e956c4ba0c6f97b19cb1 Mon Sep 17 00:00:00 2001
+From 32a4ef73f2cab1a50dbb503d41cf85359e905316 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7c18f573c1f5368f70e6e956c4ba0c6f97b19cb1 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 3fa88ca968..e117cd77a6 100644
+index 8687e3e75e..05e543f955 100644
@@ -25 +26 @@
-@@ -1907,13 +1907,12 @@ dpaa_sec_enqueue_burst(void *qp, struct rte_crypto_op **ops,
+@@ -1910,13 +1910,12 @@ dpaa_sec_enqueue_burst(void *qp, struct rte_crypto_op **ops,
@@ -41 +42 @@
-@@ -3500,7 +3499,7 @@ dpaa_sec_process_atomic_event(void *event,
+@@ -3451,7 +3450,7 @@ dpaa_sec_process_atomic_event(void *event,

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'event/dpaa: fix bitmask truncation' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (68 preceding siblings ...)
  2025-02-17 17:04 ` patch 'crypto/dpaa_sec: " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/dpaa: " luca.boccassi
                   ` (7 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Hemant Agrawal, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/fb6a97ae23a7c71e87463b719e61f85dd88e87b5

Thanks.

Luca Boccassi

---
From fb6a97ae23a7c71e87463b719e61f85dd88e87b5 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:15 -0800
Subject: [PATCH] event/dpaa: fix bitmask truncation

[ upstream commit a82888ed6edc599f82263a1bd067a7edb7cceeee ]

More bitmask truncation from mask computation.

Fixes: 0ee17f79ebd0 ("event/dpaa: add enqueue/dequeue")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/event/dpaa/dpaa_eventdev.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/event/dpaa/dpaa_eventdev.c b/drivers/event/dpaa/dpaa_eventdev.c
index 2532abbe78..12fc11f425 100644
--- a/drivers/event/dpaa/dpaa_eventdev.c
+++ b/drivers/event/dpaa/dpaa_eventdev.c
@@ -101,7 +101,7 @@ dpaa_event_enqueue_burst(void *port, const struct rte_event ev[],
 			qman_dca_index(ev[i].impl_opaque, 0);
 			mbuf = DPAA_PER_LCORE_DQRR_MBUF(i);
 			*dpaa_seqn(mbuf) = DPAA_INVALID_MBUF_SEQN;
-			DPAA_PER_LCORE_DQRR_HELD &= ~(1 << i);
+			DPAA_PER_LCORE_DQRR_HELD &= ~(UINT64_C(1) << i);
 			DPAA_PER_LCORE_DQRR_SIZE--;
 			break;
 		default:
@@ -204,11 +204,11 @@ dpaa_event_dequeue_burst(void *port, struct rte_event ev[],
 	/* Check if there are atomic contexts to be released */
 	i = 0;
 	while (DPAA_PER_LCORE_DQRR_SIZE) {
-		if (DPAA_PER_LCORE_DQRR_HELD & (1 << i)) {
+		if (DPAA_PER_LCORE_DQRR_HELD & (UINT64_C(1) << i)) {
 			qman_dca_index(i, 0);
 			mbuf = DPAA_PER_LCORE_DQRR_MBUF(i);
 			*dpaa_seqn(mbuf) = DPAA_INVALID_MBUF_SEQN;
-			DPAA_PER_LCORE_DQRR_HELD &= ~(1 << i);
+			DPAA_PER_LCORE_DQRR_HELD &= ~(UINT64_C(1) << i);
 			DPAA_PER_LCORE_DQRR_SIZE--;
 		}
 		i++;
@@ -274,11 +274,11 @@ dpaa_event_dequeue_burst_intr(void *port, struct rte_event ev[],
 	/* Check if there are atomic contexts to be released */
 	i = 0;
 	while (DPAA_PER_LCORE_DQRR_SIZE) {
-		if (DPAA_PER_LCORE_DQRR_HELD & (1 << i)) {
+		if (DPAA_PER_LCORE_DQRR_HELD & (UINT64_C(1) << i)) {
 			qman_dca_index(i, 0);
 			mbuf = DPAA_PER_LCORE_DQRR_MBUF(i);
 			*dpaa_seqn(mbuf) = DPAA_INVALID_MBUF_SEQN;
-			DPAA_PER_LCORE_DQRR_HELD &= ~(1 << i);
+			DPAA_PER_LCORE_DQRR_HELD &= ~(UINT64_C(1) << i);
 			DPAA_PER_LCORE_DQRR_SIZE--;
 		}
 		i++;
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:19.337444044 +0000
+++ 0071-event-dpaa-fix-bitmask-truncation.patch	2025-02-17 16:13:16.870441592 +0000
@@ -1 +1 @@
-From a82888ed6edc599f82263a1bd067a7edb7cceeee Mon Sep 17 00:00:00 2001
+From fb6a97ae23a7c71e87463b719e61f85dd88e87b5 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a82888ed6edc599f82263a1bd067a7edb7cceeee ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 853cc1ecf9..400e0ecd1c 100644
+index 2532abbe78..12fc11f425 100644
@@ -21 +22 @@
-@@ -102,7 +102,7 @@ dpaa_event_enqueue_burst(void *port, const struct rte_event ev[],
+@@ -101,7 +101,7 @@ dpaa_event_enqueue_burst(void *port, const struct rte_event ev[],
@@ -30 +31 @@
-@@ -199,11 +199,11 @@ dpaa_event_dequeue_burst(void *port, struct rte_event ev[],
+@@ -204,11 +204,11 @@ dpaa_event_dequeue_burst(void *port, struct rte_event ev[],
@@ -44 +45 @@
-@@ -263,11 +263,11 @@ dpaa_event_dequeue_burst_intr(void *port, struct rte_event ev[],
+@@ -274,11 +274,11 @@ dpaa_event_dequeue_burst_intr(void *port, struct rte_event ev[],

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/dpaa: fix bitmask truncation' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (69 preceding siblings ...)
  2025-02-17 17:04 ` patch 'event/dpaa: " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/dpaa2: " luca.boccassi
                   ` (6 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Hemant Agrawal, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/d79a2588410f792767dad5c82cba8ed4e04c31ed

Thanks.

Luca Boccassi

---
From d79a2588410f792767dad5c82cba8ed4e04c31ed Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:16 -0800
Subject: [PATCH] net/dpaa: fix bitmask truncation

[ upstream commit 8f64c187ad8e4e0b953439b2ce92d8573721eda3 ]

The dqrr_held mask is 64 bit but updates were getting truncated
because 1 is of type int (32 bit) and the result shift of int is of
type int (32 bit); therefore any value >= 32 would get truncated.

Link: https://pvs-studio.com/en/blog/posts/cpp/1183/

Fixes: 5e7455931442 ("net/dpaa: support Rx queue configurations with eventdev")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/net/dpaa/dpaa_rxtx.c | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/net/dpaa/dpaa_rxtx.c b/drivers/net/dpaa/dpaa_rxtx.c
index 018d55bbdc..31412c0715 100644
--- a/drivers/net/dpaa/dpaa_rxtx.c
+++ b/drivers/net/dpaa/dpaa_rxtx.c
@@ -683,7 +683,7 @@ dpaa_rx_cb_atomic(void *event,
 	/* Save active dqrr entries */
 	index = DQRR_PTR2IDX(dqrr);
 	DPAA_PER_LCORE_DQRR_SIZE++;
-	DPAA_PER_LCORE_DQRR_HELD |= 1 << index;
+	DPAA_PER_LCORE_DQRR_HELD |= UINT64_C(1) << index;
 	DPAA_PER_LCORE_DQRR_MBUF(index) = mbuf;
 	ev->impl_opaque = index + 1;
 	*dpaa_seqn(mbuf) = (uint32_t)index + 1;
@@ -1108,13 +1108,12 @@ dpaa_eth_queue_tx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs)
 			seqn = *dpaa_seqn(mbuf);
 			if (seqn != DPAA_INVALID_MBUF_SEQN) {
 				index = seqn - 1;
-				if (DPAA_PER_LCORE_DQRR_HELD & (1 << index)) {
+				if (DPAA_PER_LCORE_DQRR_HELD & (UINT64_C(1) << index)) {
 					flags[loop] =
 					   ((index & QM_EQCR_DCA_IDXMASK) << 8);
 					flags[loop] |= QMAN_ENQUEUE_FLAG_DCA;
 					DPAA_PER_LCORE_DQRR_SIZE--;
-					DPAA_PER_LCORE_DQRR_HELD &=
-								~(1 << index);
+					DPAA_PER_LCORE_DQRR_HELD &= ~(UINT64_C(1) << index);
 				}
 			}
 
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:19.368388428 +0000
+++ 0072-net-dpaa-fix-bitmask-truncation.patch	2025-02-17 16:13:16.870441592 +0000
@@ -1 +1 @@
-From 8f64c187ad8e4e0b953439b2ce92d8573721eda3 Mon Sep 17 00:00:00 2001
+From d79a2588410f792767dad5c82cba8ed4e04c31ed Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8f64c187ad8e4e0b953439b2ce92d8573721eda3 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 247e7b92ba..05bd73becf 100644
+index 018d55bbdc..31412c0715 100644
@@ -25 +26 @@
-@@ -842,7 +842,7 @@ dpaa_rx_cb_atomic(void *event,
+@@ -683,7 +683,7 @@ dpaa_rx_cb_atomic(void *event,
@@ -34 +35 @@
-@@ -1338,13 +1338,12 @@ dpaa_eth_queue_tx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs)
+@@ -1108,13 +1108,12 @@ dpaa_eth_queue_tx(void *q, struct rte_mbuf **bufs, uint16_t nb_bufs)

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/dpaa2: fix bitmask truncation' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (70 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/dpaa: " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'net/qede: fix nested loops' " luca.boccassi
                   ` (5 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Hemant Agrawal, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/ef323a819f075cdd4b679dd683d4399278371f98

Thanks.

Luca Boccassi

---
From ef323a819f075cdd4b679dd683d4399278371f98 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:17 -0800
Subject: [PATCH] net/dpaa2: fix bitmask truncation

[ upstream commit e4591c38b50e23fc6ac6b73803e78d49142ecf57 ]

The dqrr_held mask is 64 bit but updates were getting truncated
because 1 is of type int (32 bit) and the result shift of int is of
type int (32 bit); therefore any value >= 32 would get truncated.

Link: https://pvs-studio.com/en/blog/posts/cpp/1183/

Fixes: 2d3788631862 ("net/dpaa2: support atomic queues")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
 drivers/net/dpaa2/dpaa2_rxtx.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/dpaa2/dpaa2_rxtx.c b/drivers/net/dpaa2/dpaa2_rxtx.c
index 85910bbd8f..a9de1c9f99 100644
--- a/drivers/net/dpaa2/dpaa2_rxtx.c
+++ b/drivers/net/dpaa2/dpaa2_rxtx.c
@@ -924,7 +924,7 @@ dpaa2_dev_process_atomic_event(struct qbman_swp *swp __rte_unused,
 	dqrr_index = qbman_get_dqrr_idx(dq);
 	*dpaa2_seqn(ev->mbuf) = dqrr_index + 1;
 	DPAA2_PER_LCORE_DQRR_SIZE++;
-	DPAA2_PER_LCORE_DQRR_HELD |= 1 << dqrr_index;
+	DPAA2_PER_LCORE_DQRR_HELD |= UINT64_C(1) << dqrr_index;
 	DPAA2_PER_LCORE_DQRR_MBUF(dqrr_index) = ev->mbuf;
 }
 
@@ -1305,7 +1305,7 @@ dpaa2_dev_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
 				flags[loop] = QBMAN_ENQUEUE_FLAG_DCA |
 						dqrr_index;
 				DPAA2_PER_LCORE_DQRR_SIZE--;
-				DPAA2_PER_LCORE_DQRR_HELD &= ~(1 << dqrr_index);
+				DPAA2_PER_LCORE_DQRR_HELD &= ~(UINT64_C(1) << dqrr_index);
 				*dpaa2_seqn(*bufs) = DPAA2_INVALID_MBUF_SEQN;
 			}
 
@@ -1544,7 +1544,7 @@ dpaa2_set_enqueue_descriptor(struct dpaa2_queue *dpaa2_q,
 		dq_idx = *dpaa2_seqn(m) - 1;
 		qbman_eq_desc_set_dca(eqdesc, 1, dq_idx, 0);
 		DPAA2_PER_LCORE_DQRR_SIZE--;
-		DPAA2_PER_LCORE_DQRR_HELD &= ~(1 << dq_idx);
+		DPAA2_PER_LCORE_DQRR_HELD &= ~(UINT64_C(1) << dq_idx);
 	}
 	*dpaa2_seqn(m) = DPAA2_INVALID_MBUF_SEQN;
 }
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:19.400175541 +0000
+++ 0073-net-dpaa2-fix-bitmask-truncation.patch	2025-02-17 16:13:16.870441592 +0000
@@ -1 +1 @@
-From e4591c38b50e23fc6ac6b73803e78d49142ecf57 Mon Sep 17 00:00:00 2001
+From ef323a819f075cdd4b679dd683d4399278371f98 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e4591c38b50e23fc6ac6b73803e78d49142ecf57 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index bfb5542bbc..cad15d8f75 100644
+index 85910bbd8f..a9de1c9f99 100644
@@ -25 +26 @@
-@@ -933,7 +933,7 @@ dpaa2_dev_process_atomic_event(struct qbman_swp *swp __rte_unused,
+@@ -924,7 +924,7 @@ dpaa2_dev_process_atomic_event(struct qbman_swp *swp __rte_unused,
@@ -34 +35 @@
-@@ -1317,7 +1317,7 @@ dpaa2_dev_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
+@@ -1305,7 +1305,7 @@ dpaa2_dev_tx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
@@ -43 +44 @@
-@@ -1575,7 +1575,7 @@ dpaa2_set_enqueue_descriptor(struct dpaa2_queue *dpaa2_q,
+@@ -1544,7 +1544,7 @@ dpaa2_set_enqueue_descriptor(struct dpaa2_queue *dpaa2_q,

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'net/qede: fix nested loops' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (71 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/dpaa2: " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'examples/l3fwd: fix socket ID check' " luca.boccassi
                   ` (4 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/107c0c15493f52e529a139f0f7d0806fb7f439a6

Thanks.

Luca Boccassi

---
From 107c0c15493f52e529a139f0f7d0806fb7f439a6 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:18 -0800
Subject: [PATCH] net/qede: fix nested loops

[ upstream commit c8b3833965dc84914e94776cadfc8fb48c34459b ]

Using variable in outer loop, and inner loop is obvious bug.
This bug is in base code, so likely on other platforms as well.

Link: https://pvs-studio.com/en/blog/posts/cpp/1183/
Fixes: 81dba2b2ff61 ("net/qede/base: add LLDP support")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/net/qede/base/ecore_dcbx.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/qede/base/ecore_dcbx.c b/drivers/net/qede/base/ecore_dcbx.c
index 31234f18cf..72bbedd65a 100644
--- a/drivers/net/qede/base/ecore_dcbx.c
+++ b/drivers/net/qede/base/ecore_dcbx.c
@@ -1363,7 +1363,7 @@ ecore_lldp_mib_update_event(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt)
 	struct ecore_dcbx_mib_meta_data data;
 	enum _ecore_status_t rc = ECORE_SUCCESS;
 	struct lldp_received_tlvs_s tlvs;
-	int i;
+	int i, j;
 
 	for (i = 0; i < LLDP_MAX_LLDP_AGENTS; i++) {
 		OSAL_MEM_ZERO(&data, sizeof(data));
@@ -1381,9 +1381,9 @@ ecore_lldp_mib_update_event(struct ecore_hwfn *p_hwfn, struct ecore_ptt *p_ptt)
 		if (!tlvs.length)
 			continue;
 
-		for (i = 0; i < MAX_TLV_BUFFER; i++)
-			tlvs.tlvs_buffer[i] =
-				OSAL_CPU_TO_BE32(tlvs.tlvs_buffer[i]);
+		for (j = 0; j < MAX_TLV_BUFFER; j++)
+			tlvs.tlvs_buffer[j] =
+				OSAL_CPU_TO_BE32(tlvs.tlvs_buffer[j]);
 
 		OSAL_LLDP_RX_TLVS(p_hwfn, tlvs.tlvs_buffer, tlvs.length);
 	}
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:19.433583861 +0000
+++ 0074-net-qede-fix-nested-loops.patch	2025-02-17 16:13:16.870441592 +0000
@@ -1 +1 @@
-From c8b3833965dc84914e94776cadfc8fb48c34459b Mon Sep 17 00:00:00 2001
+From 107c0c15493f52e529a139f0f7d0806fb7f439a6 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c8b3833965dc84914e94776cadfc8fb48c34459b ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'examples/l3fwd: fix socket ID check' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (72 preceding siblings ...)
  2025-02-17 17:04 ` patch 'net/qede: fix nested loops' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'common/cnxk: fix null " luca.boccassi
                   ` (3 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/883c3357a84ec219cedc9a6ca0e00847b13f20aa

Thanks.

Luca Boccassi

---
From 883c3357a84ec219cedc9a6ca0e00847b13f20aa Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:19 -0800
Subject: [PATCH] examples/l3fwd: fix socket ID check

[ upstream commit a7216f081767c7259dd3fba5eda0ca7b0bcb4595 ]

The expression:

  if ((socketid = rte_lcore_to_socket_id(lcore) != 0) &&

gets evaluated as socketid = (rte_lcore_to_socket_id(lcore) != 0)
which is not what was intended. This is goes all the way back
to first release.

Link: https://pvs-studio.com/en/blog/posts/cpp/1183/
Fixes: af75078fece3 ("first public release")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 examples/l3fwd-power/main.c | 4 ++--
 examples/l3fwd/main.c       | 5 +++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index 1bcc61e777..501e4c47d6 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -1537,8 +1537,8 @@ check_lcore_params(void)
 							"mask\n", lcore);
 			return -1;
 		}
-		if ((socketid = rte_lcore_to_socket_id(lcore) != 0) &&
-							(numa_on == 0)) {
+		socketid = rte_lcore_to_socket_id(lcore);
+		if (socketid != 0 && numa_on == 0) {
 			printf("warning: lcore %u is on socket %d with numa "
 						"off\n", lcore, socketid);
 		}
diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c
index 9201019711..d0067657e9 100644
--- a/examples/l3fwd/main.c
+++ b/examples/l3fwd/main.c
@@ -303,8 +303,9 @@ check_lcore_params(void)
 			printf("error: lcore %u is not enabled in lcore mask\n", lcore);
 			return -1;
 		}
-		if ((socketid = rte_lcore_to_socket_id(lcore) != 0) &&
-			(numa_on == 0)) {
+
+		socketid = rte_lcore_to_socket_id(lcore);
+		if (socketid != 0 && numa_on == 0) {
 			printf("warning: lcore %u is on socket %d with numa off\n",
 				lcore, socketid);
 		}
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:19.464653932 +0000
+++ 0075-examples-l3fwd-fix-socket-ID-check.patch	2025-02-17 16:13:16.870441592 +0000
@@ -1 +1 @@
-From a7216f081767c7259dd3fba5eda0ca7b0bcb4595 Mon Sep 17 00:00:00 2001
+From 883c3357a84ec219cedc9a6ca0e00847b13f20aa Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a7216f081767c7259dd3fba5eda0ca7b0bcb4595 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index d279e664b3..e27b8531b5 100644
+index 1bcc61e777..501e4c47d6 100644
@@ -28 +29 @@
-@@ -1412,8 +1412,8 @@ check_lcore_params(void)
+@@ -1537,8 +1537,8 @@ check_lcore_params(void)
@@ -40 +41 @@
-index 994b7dd8e5..ae3b4f6439 100644
+index 9201019711..d0067657e9 100644
@@ -43 +44 @@
-@@ -311,8 +311,9 @@ check_lcore_params(void)
+@@ -303,8 +303,9 @@ check_lcore_params(void)

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'common/cnxk: fix null check' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (73 preceding siblings ...)
  2025-02-17 17:04 ` patch 'examples/l3fwd: fix socket ID check' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'eal/linux: remove useless assignments' " luca.boccassi
                   ` (2 subsequent siblings)
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/0ac965dafc74a22d160f3183fe7aea7fe4ea2d11

Thanks.

Luca Boccassi

---
From 0ac965dafc74a22d160f3183fe7aea7fe4ea2d11 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Wed, 5 Feb 2025 08:23:20 -0800
Subject: [PATCH] common/cnxk: fix null check

[ upstream commit 1bab0289c6a58c3847ffbde2718b73a9b988deca ]

The pointer mode is used then checked which is a bug reported
by PVS studio.

Fixes: bd2fd34ab86f ("common/cnxk: sync eth mode change command with firmware")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 drivers/common/cnxk/roc_bphy_cgx.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/common/cnxk/roc_bphy_cgx.c b/drivers/common/cnxk/roc_bphy_cgx.c
index e966494e21..3d674dbe84 100644
--- a/drivers/common/cnxk/roc_bphy_cgx.c
+++ b/drivers/common/cnxk/roc_bphy_cgx.c
@@ -364,20 +364,20 @@ roc_bphy_cgx_set_link_mode(struct roc_bphy_cgx *roc_cgx, unsigned int lmac,
 {
 	uint64_t scr1, scr0;
 
+	if (!mode)
+		return -EINVAL;
+
+	if (!roc_cgx)
+		return -EINVAL;
+
 	if (roc_model_is_cn9k() &&
 	    (mode->use_portm_idx || mode->portm_idx || mode->mode_group_idx)) {
 		return -ENOTSUP;
 	}
 
-	if (!roc_cgx)
-		return -EINVAL;
-
 	if (!roc_bphy_cgx_lmac_exists(roc_cgx, lmac))
 		return -ENODEV;
 
-	if (!mode)
-		return -EINVAL;
-
 	scr1 = FIELD_PREP(SCR1_ETH_CMD_ID, ETH_CMD_MODE_CHANGE) |
 	       FIELD_PREP(SCR1_ETH_MODE_CHANGE_ARGS_SPEED, mode->speed) |
 	       FIELD_PREP(SCR1_ETH_MODE_CHANGE_ARGS_DUPLEX, mode->full_duplex) |
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:19.497406114 +0000
+++ 0076-common-cnxk-fix-null-check.patch	2025-02-17 16:13:16.874441592 +0000
@@ -1 +1 @@
-From 1bab0289c6a58c3847ffbde2718b73a9b988deca Mon Sep 17 00:00:00 2001
+From 0ac965dafc74a22d160f3183fe7aea7fe4ea2d11 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1bab0289c6a58c3847ffbde2718b73a9b988deca ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 882cf65474..db70bafd9b 100644
+index e966494e21..3d674dbe84 100644
@@ -21 +22 @@
-@@ -366,20 +366,20 @@ roc_bphy_cgx_set_link_mode(struct roc_bphy_cgx *roc_cgx, unsigned int lmac,
+@@ -364,20 +364,20 @@ roc_bphy_cgx_set_link_mode(struct roc_bphy_cgx *roc_cgx, unsigned int lmac,

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'eal/linux: remove useless assignments' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (74 preceding siblings ...)
  2025-02-17 17:04 ` patch 'common/cnxk: fix null " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'mempool: fix errno in empty create' " luca.boccassi
  2025-02-17 17:04 ` patch 'ethdev: convert string initialization' " luca.boccassi
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Ariel Otilibili; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/c4af10c4c2fd16b7a4f4347e31ea72d70028adfa

Thanks.

Luca Boccassi

---
From c4af10c4c2fd16b7a4f4347e31ea72d70028adfa Mon Sep 17 00:00:00 2001
From: Ariel Otilibili <ariel.otilibili@6wind.com>
Date: Mon, 13 Jan 2025 18:19:20 +0100
Subject: [PATCH] eal/linux: remove useless assignments

[ upstream commit 36128ec5d93591700b72f3fc01bfe6216eaee905 ]

Found by static analysis:

In dev_uev_socket_fd_create(), fd is assigned before a return,
and not used.

The same for the variables buf and i in dev_uev_parse().

Fixes: c2bd9367e18f ("lib: remove direct access to interrupt handle")
Fixes: 0d0f478d0483 ("eal/linux: add uevent parse and process")

Signed-off-by: Ariel Otilibili <ariel.otilibili@6wind.com>
---
 lib/eal/linux/eal_dev.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/lib/eal/linux/eal_dev.c b/lib/eal/linux/eal_dev.c
index c0ba98852b..0d9053b409 100644
--- a/lib/eal/linux/eal_dev.c
+++ b/lib/eal/linux/eal_dev.c
@@ -129,7 +129,6 @@ dev_uev_socket_fd_create(void)
 	return 0;
 err:
 	close(fd);
-	fd = -1;
 	return ret;
 }
 
@@ -165,8 +164,6 @@ dev_uev_parse(const char *buf, struct rte_dev_event *event, int length)
 		 * uevent from udev.
 		 */
 		if (!strncmp(buf, "libudev", 7)) {
-			buf += 7;
-			i += 7;
 			return -1;
 		}
 		if (!strncmp(buf, "ACTION=", 7)) {
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:19.527436646 +0000
+++ 0077-eal-linux-remove-useless-assignments.patch	2025-02-17 16:13:16.874441592 +0000
@@ -1 +1 @@
-From 36128ec5d93591700b72f3fc01bfe6216eaee905 Mon Sep 17 00:00:00 2001
+From c4af10c4c2fd16b7a4f4347e31ea72d70028adfa Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 36128ec5d93591700b72f3fc01bfe6216eaee905 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index e63f24d108..be97f56424 100644
+index c0ba98852b..0d9053b409 100644

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'mempool: fix errno in empty create' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (75 preceding siblings ...)
  2025-02-17 17:04 ` patch 'eal/linux: remove useless assignments' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  2025-02-17 17:04 ` patch 'ethdev: convert string initialization' " luca.boccassi
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Ariel Otilibili; +Cc: Chengwen Feng, Konstantin Ananyev, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/5ed49f4417a6080b711a60ef5209bc5f4b3d9666

Thanks.

Luca Boccassi

---
From 5ed49f4417a6080b711a60ef5209bc5f4b3d9666 Mon Sep 17 00:00:00 2001
From: Ariel Otilibili <ariel.otilibili@6wind.com>
Date: Mon, 20 Jan 2025 13:21:55 +0100
Subject: [PATCH] mempool: fix errno in empty create

[ upstream commit a81d8ceff4e961995c78df6dbc9353dbbfbd8c32 ]

When returning from rte_mempool_set_ops_byname(), rte_errno is not set
for error exits.

The API requires rte_errno to be set in that case.

Bugzilla ID: 1559
Fixes: c2c6b2f41305 ("mempool: fix default ops for an empty mempool")

Signed-off-by: Ariel Otilibili <ariel.otilibili@6wind.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
---
 lib/mempool/rte_mempool.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/mempool/rte_mempool.c b/lib/mempool/rte_mempool.c
index 258754cf67..9d9c91be2a 100644
--- a/lib/mempool/rte_mempool.c
+++ b/lib/mempool/rte_mempool.c
@@ -928,8 +928,10 @@ rte_mempool_create_empty(const char *name, unsigned n, unsigned elt_size,
 	else
 		ret = rte_mempool_set_ops_byname(mp, "ring_mp_mc", NULL);
 
-	if (ret)
+	if (ret) {
+		rte_errno = -ret;
 		goto exit_unlock;
+	}
 
 	/*
 	 * local_cache pointer is set even if cache_size is zero.
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:19.561126997 +0000
+++ 0078-mempool-fix-errno-in-empty-create.patch	2025-02-17 16:13:16.874441592 +0000
@@ -1 +1 @@
-From a81d8ceff4e961995c78df6dbc9353dbbfbd8c32 Mon Sep 17 00:00:00 2001
+From 5ed49f4417a6080b711a60ef5209bc5f4b3d9666 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a81d8ceff4e961995c78df6dbc9353dbbfbd8c32 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index d8e39e5c20..1e4f24783c 100644
+index 258754cf67..9d9c91be2a 100644

^ permalink raw reply	[flat|nested] 79+ messages in thread

* patch 'ethdev: convert string initialization' has been queued to stable release 22.11.8
  2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
                   ` (76 preceding siblings ...)
  2025-02-17 17:04 ` patch 'mempool: fix errno in empty create' " luca.boccassi
@ 2025-02-17 17:04 ` luca.boccassi
  77 siblings, 0 replies; 79+ messages in thread
From: luca.boccassi @ 2025-02-17 17:04 UTC (permalink / raw)
  To: Ferruh Yigit
  Cc: Morten Brørup, Bruce Richardson, Andrew Rybchenko,
	Dariusz Sosnowski, dpdk stable

Hi,

FYI, your patch has been queued to stable release 22.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 02/19/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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/2faec7a700bc720aa7ef419a05a41cd04a336ae3

Thanks.

Luca Boccassi

---
From 2faec7a700bc720aa7ef419a05a41cd04a336ae3 Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@amd.com>
Date: Thu, 3 Oct 2024 21:13:34 -0700
Subject: [PATCH] ethdev: convert string initialization
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit e0d947a1e6c2f80aa039a4f7082a8aa16797d8b9 ]

gcc 15 experimental [1], with -Wextra flag, gives warning in variable
initialization as string [2].

The warning has a point when initialized variable is intended to use as
string, since assignment is missing the required null terminator for
this case. But warning is useless for our usecase.

In this patch only updated a few instance to show the issue, there are
many instances to fix, if we prefer to go this way.
Other option is to disable warning but it can be useful for actual
string usecases, so I prefer to keep it.

Converted string initialization to array initialization.

[1]
gcc (GCC) 15.0.0 20241003 (experimental)

[2]
../lib/ethdev/rte_flow.h:906:36:
  error: initializer-string for array of ‘unsigned char’ is too long
        [-Werror=unterminated-string-initialization]
906 |         .hdr.dst_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
    |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~

../lib/ethdev/rte_flow.h:907:36:
  error: initializer-string for array of ‘unsigned char’ is too long
         [-Werror=unterminated-string-initialization]
907 |         .hdr.src_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
    |                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~

../lib/ethdev/rte_flow.h:1009:25:
  error: initializer-string for array of ‘unsigned char’ is too long
         [-Werror=unterminated-string-initialization]
1009 |                         "\xff\xff\xff\xff\xff\xff\xff\xff"
     |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../lib/ethdev/rte_flow.h:1012:25:
  error: initializer-string for array of ‘unsigned char’ is too long
         [-Werror=unterminated-string-initialization]
1012 |                         "\xff\xff\xff\xff\xff\xff\xff\xff"
     |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../lib/ethdev/rte_flow.h:1135:20:
  error: initializer-string for array of ‘unsigned char’ is too long
         [-Werror=unterminated-string-initialization]
1135 |         .hdr.vni = "\xff\xff\xff",
     |                    ^~~~~~~~~~~~~~

Signed-off-by: Ferruh Yigit <ferruh.yigit@amd.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
---
 app/test-pmd/cmdline_flow.c        | 31 +++++++++--------
 app/test/test_bpf.c                |  2 +-
 app/test/test_pcapng.c             |  2 +-
 doc/guides/prog_guide/rte_flow.rst |  2 +-
 drivers/net/cxgbe/cxgbe_flow.c     | 14 ++++----
 drivers/net/dpaa2/dpaa2_flow.c     | 14 ++++----
 drivers/net/mlx4/mlx4_flow.c       |  6 ++--
 drivers/net/mlx5/mlx5_flow.c       | 18 +++++-----
 drivers/net/mlx5/mlx5_flow_dv.c    | 24 ++++++-------
 drivers/net/mlx5/mlx5_flow_hw.c    | 56 +++++++++++++++---------------
 drivers/net/mlx5/mlx5_trigger.c    | 20 +++++------
 drivers/net/nfp/nfp_flow.c         | 14 ++++----
 drivers/net/tap/tap_flow.c         | 30 +++++++---------
 lib/ethdev/rte_flow.h              | 44 +++++++++++------------
 14 files changed, 131 insertions(+), 146 deletions(-)

diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
index a0a7d3da14..619656363f 100644
--- a/app/test-pmd/cmdline_flow.c
+++ b/app/test-pmd/cmdline_flow.c
@@ -690,20 +690,20 @@ struct vxlan_encap_conf vxlan_encap_conf = {
 	.select_ipv4 = 1,
 	.select_vlan = 0,
 	.select_tos_ttl = 0,
-	.vni = "\x00\x00\x00",
+	.vni = { 0x00, 0x00, 0x00 },
 	.udp_src = 0,
 	.udp_dst = RTE_BE16(RTE_VXLAN_DEFAULT_PORT),
 	.ipv4_src = RTE_IPV4(127, 0, 0, 1),
 	.ipv4_dst = RTE_IPV4(255, 255, 255, 255),
-	.ipv6_src = "\x00\x00\x00\x00\x00\x00\x00\x00"
-		"\x00\x00\x00\x00\x00\x00\x00\x01",
-	.ipv6_dst = "\x00\x00\x00\x00\x00\x00\x00\x00"
-		"\x00\x00\x00\x00\x00\x00\x11\x11",
+	.ipv6_src = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+		      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 },
+	.ipv6_dst = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+		      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11 },
 	.vlan_tci = 0,
 	.ip_tos = 0,
 	.ip_ttl = 255,
-	.eth_src = "\x00\x00\x00\x00\x00\x00",
-	.eth_dst = "\xff\xff\xff\xff\xff\xff",
+	.eth_src = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+	.eth_dst = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 };
 
 /** Maximum number of items in struct rte_flow_action_vxlan_encap. */
@@ -726,16 +726,16 @@ struct action_vxlan_encap_data {
 struct nvgre_encap_conf nvgre_encap_conf = {
 	.select_ipv4 = 1,
 	.select_vlan = 0,
-	.tni = "\x00\x00\x00",
+	.tni = { 0x00, 0x00, 0x00 },
 	.ipv4_src = RTE_IPV4(127, 0, 0, 1),
 	.ipv4_dst = RTE_IPV4(255, 255, 255, 255),
-	.ipv6_src = "\x00\x00\x00\x00\x00\x00\x00\x00"
-		"\x00\x00\x00\x00\x00\x00\x00\x01",
-	.ipv6_dst = "\x00\x00\x00\x00\x00\x00\x00\x00"
-		"\x00\x00\x00\x00\x00\x00\x11\x11",
+	.ipv6_src = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+		      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01 },
+	.ipv6_dst = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+		      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11 },
 	.vlan_tci = 0,
-	.eth_src = "\x00\x00\x00\x00\x00\x00",
-	.eth_dst = "\xff\xff\xff\xff\xff\xff",
+	.eth_src = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+	.eth_dst = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 };
 
 /** Maximum number of items in struct rte_flow_action_nvgre_encap. */
@@ -6519,7 +6519,8 @@ parse_prefix(struct context *ctx, const struct token *token,
 	     void *buf, unsigned int size)
 {
 	const struct arg *arg = pop_args(ctx);
-	static const uint8_t conv[] = "\x00\x80\xc0\xe0\xf0\xf8\xfc\xfe\xff";
+	static const uint8_t conv[] = { 0x00, 0x80, 0xc0, 0xe0, 0xf0,
+					0xf8, 0xfc, 0xfe, 0xff };
 	char *end;
 	uintmax_t u;
 	unsigned int bytes;
diff --git a/app/test/test_bpf.c b/app/test/test_bpf.c
index 51184341c2..3d174d09cb 100644
--- a/app/test/test_bpf.c
+++ b/app/test/test_bpf.c
@@ -3347,7 +3347,7 @@ test_bpf_filter_sanity(pcap_t *pcap)
 
 	hdr = rte_pktmbuf_mtod(m, typeof(hdr));
 	hdr->eth_hdr = (struct rte_ether_hdr) {
-		.dst_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+		.dst_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 		.ether_type = rte_cpu_to_be_16(RTE_ETHER_TYPE_IPV4),
 	};
 	hdr->ip_hdr = (struct rte_ipv4_hdr) {
diff --git a/app/test/test_pcapng.c b/app/test/test_pcapng.c
index e9c85f2e02..3f98a7e40f 100644
--- a/app/test/test_pcapng.c
+++ b/app/test/test_pcapng.c
@@ -63,7 +63,7 @@ mbuf1_prepare(struct dummy_mbuf *dm, uint32_t plen)
 		struct rte_ipv4_hdr ip;
 	} pkt = {
 		.eth = {
-			.dst_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+			.dst_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 			.ether_type = rte_cpu_to_be_16(RTE_ETHER_TYPE_IPV4),
 		},
 		.ip = {
diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst
index d0b7833a2f..28f60eda37 100644
--- a/doc/guides/prog_guide/rte_flow.rst
+++ b/doc/guides/prog_guide/rte_flow.rst
@@ -3499,7 +3499,7 @@ For example, to create a pattern template to match on the destination MAC:
 
    const struct rte_flow_pattern_template_attr attr = {.ingress = 1};
    struct rte_flow_item_eth eth_m = {
-       .dst.addr_bytes = "\xff\xff\xff\xff\xff\xff";
+       .dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
    };
    struct rte_flow_item pattern[] = {
        [0] = {.type = RTE_FLOW_ITEM_TYPE_ETH,
diff --git a/drivers/net/cxgbe/cxgbe_flow.c b/drivers/net/cxgbe/cxgbe_flow.c
index d66672a9e6..468e88a617 100644
--- a/drivers/net/cxgbe/cxgbe_flow.c
+++ b/drivers/net/cxgbe/cxgbe_flow.c
@@ -889,8 +889,8 @@ static struct chrte_fparse parseitem[] = {
 	[RTE_FLOW_ITEM_TYPE_ETH] = {
 		.fptr  = ch_rte_parsetype_eth,
 		.dmask = &(const struct rte_flow_item_eth){
-			.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-			.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+			.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+			.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
 			.type = 0xffff,
 		}
 	},
@@ -918,12 +918,10 @@ static struct chrte_fparse parseitem[] = {
 		.fptr  = ch_rte_parsetype_ipv6,
 		.dmask = &(const struct rte_flow_item_ipv6) {
 			.hdr = {
-				.src_addr =
-					"\xff\xff\xff\xff\xff\xff\xff\xff"
-					"\xff\xff\xff\xff\xff\xff\xff\xff",
-				.dst_addr =
-					"\xff\xff\xff\xff\xff\xff\xff\xff"
-					"\xff\xff\xff\xff\xff\xff\xff\xff",
+				.src_addr = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+					      0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+				.dst_addr = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+					      0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 				.vtc_flow = RTE_BE32(0xff000000),
 			},
 		},
diff --git a/drivers/net/dpaa2/dpaa2_flow.c b/drivers/net/dpaa2/dpaa2_flow.c
index df06c3862e..3aeb318049 100644
--- a/drivers/net/dpaa2/dpaa2_flow.c
+++ b/drivers/net/dpaa2/dpaa2_flow.c
@@ -100,8 +100,8 @@ enum rte_flow_action_type dpaa2_supported_fs_action_type[] = {
 
 #ifndef __cplusplus
 static const struct rte_flow_item_eth dpaa2_flow_item_eth_mask = {
-	.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-	.src.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+	.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+	.src.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 	.type = RTE_BE16(0xffff),
 };
 
@@ -117,12 +117,10 @@ static const struct rte_flow_item_ipv4 dpaa2_flow_item_ipv4_mask = {
 
 static const struct rte_flow_item_ipv6 dpaa2_flow_item_ipv6_mask = {
 	.hdr = {
-		.src_addr =
-			"\xff\xff\xff\xff\xff\xff\xff\xff"
-			"\xff\xff\xff\xff\xff\xff\xff\xff",
-		.dst_addr =
-			"\xff\xff\xff\xff\xff\xff\xff\xff"
-			"\xff\xff\xff\xff\xff\xff\xff\xff",
+		.src_addr = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+			      0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+		.dst_addr = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+			      0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 		.proto = 0xff
 	},
 };
diff --git a/drivers/net/mlx4/mlx4_flow.c b/drivers/net/mlx4/mlx4_flow.c
index 9d7247cf81..f35b0d25f7 100644
--- a/drivers/net/mlx4/mlx4_flow.c
+++ b/drivers/net/mlx4/mlx4_flow.c
@@ -582,7 +582,7 @@ static const struct mlx4_flow_proc_item mlx4_flow_proc_item_list[] = {
 				       RTE_FLOW_ITEM_TYPE_IPV4),
 		.mask_support = &(const struct rte_flow_item_eth){
 			/* Only destination MAC can be matched. */
-			.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+			.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 		},
 		.mask_default = &rte_flow_item_eth_mask,
 		.mask_sz = sizeof(struct rte_flow_item_eth),
@@ -1304,10 +1304,10 @@ mlx4_flow_internal(struct mlx4_priv *priv, struct rte_flow_error *error)
 	};
 	struct rte_flow_item_eth eth_spec;
 	const struct rte_flow_item_eth eth_mask = {
-		.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+		.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 	};
 	const struct rte_flow_item_eth eth_allmulti = {
-		.dst.addr_bytes = "\x01\x00\x00\x00\x00\x00",
+		.dst.addr_bytes = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
 	};
 	struct rte_flow_item_vlan vlan_spec;
 	const struct rte_flow_item_vlan vlan_mask = {
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 6fe51f70a8..ea637ea9b0 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -2444,8 +2444,8 @@ mlx5_flow_validate_item_eth(const struct rte_flow_item *item,
 {
 	const struct rte_flow_item_eth *mask = item->mask;
 	const struct rte_flow_item_eth nic_mask = {
-		.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-		.src.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+		.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+		.src.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 		.type = RTE_BE16(0xffff),
 		.has_vlan = ext_vlan_sup ? 1 : 0,
 	};
@@ -2707,12 +2707,10 @@ mlx5_flow_validate_item_ipv6(const struct rte_flow_item *item,
 	const struct rte_flow_item_ipv6 *spec = item->spec;
 	const struct rte_flow_item_ipv6 nic_mask = {
 		.hdr = {
-			.src_addr =
-				"\xff\xff\xff\xff\xff\xff\xff\xff"
-				"\xff\xff\xff\xff\xff\xff\xff\xff",
-			.dst_addr =
-				"\xff\xff\xff\xff\xff\xff\xff\xff"
-				"\xff\xff\xff\xff\xff\xff\xff\xff",
+			.src_addr = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+				      0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+			.dst_addr = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+				      0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 			.vtc_flow = RTE_BE32(0xffffffff),
 			.proto = 0xff,
 		},
@@ -2932,7 +2930,7 @@ mlx5_flow_validate_item_vxlan(struct rte_eth_dev *dev,
 		uint8_t vni[4];
 	} id = { .vlan_id = 0, };
 	const struct rte_flow_item_vxlan nic_mask = {
-		.vni = "\xff\xff\xff",
+		.vni = { 0xff, 0xff, 0xff },
 		.rsvd1 = 0xff,
 	};
 	const struct rte_flow_item_vxlan *valid_mask;
@@ -3314,7 +3312,7 @@ mlx5_flow_validate_item_geneve(const struct rte_flow_item *item,
 			  MLX5_GENEVE_OPT_LEN_1 : MLX5_GENEVE_OPT_LEN_0;
 	const struct rte_flow_item_geneve nic_mask = {
 		.ver_opt_len_o_c_rsvd0 = RTE_BE16(0x3f80),
-		.vni = "\xff\xff\xff",
+		.vni =  { 0xff, 0xff, 0xff },
 		.protocol = RTE_BE16(UINT16_MAX),
 	};
 
diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index 7e9c22acb2..df437aba38 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -7082,11 +7082,11 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr,
 	const struct rte_flow_item_ipv6 nic_ipv6_mask = {
 		.hdr = {
 			.src_addr =
-			"\xff\xff\xff\xff\xff\xff\xff\xff"
-			"\xff\xff\xff\xff\xff\xff\xff\xff",
+			{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+			  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 			.dst_addr =
-			"\xff\xff\xff\xff\xff\xff\xff\xff"
-			"\xff\xff\xff\xff\xff\xff\xff\xff",
+			{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+			  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 			.vtc_flow = RTE_BE32(0xffffffff),
 			.proto = 0xff,
 			.hop_limits = 0xff,
@@ -8563,8 +8563,8 @@ flow_dv_translate_item_eth(void *key, const struct rte_flow_item *item,
 	const struct rte_flow_item_eth *eth_m;
 	const struct rte_flow_item_eth *eth_v;
 	const struct rte_flow_item_eth nic_mask = {
-		.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-		.src.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+		.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+		.src.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 		.type = RTE_BE16(0xffff),
 		.has_vlan = 0,
 	};
@@ -8821,12 +8821,10 @@ flow_dv_translate_item_ipv6(void *key, const struct rte_flow_item *item,
 	const struct rte_flow_item_ipv6 *ipv6_v;
 	const struct rte_flow_item_ipv6 nic_mask = {
 		.hdr = {
-			.src_addr =
-				"\xff\xff\xff\xff\xff\xff\xff\xff"
-				"\xff\xff\xff\xff\xff\xff\xff\xff",
-			.dst_addr =
-				"\xff\xff\xff\xff\xff\xff\xff\xff"
-				"\xff\xff\xff\xff\xff\xff\xff\xff",
+			.src_addr = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+				      0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+			.dst_addr = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+				      0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 			.vtc_flow = RTE_BE32(0xffffffff),
 			.proto = 0xff,
 			.hop_limits = 0xff,
@@ -9340,7 +9338,7 @@ flow_dv_translate_item_vxlan(struct rte_eth_dev *dev,
 	int i;
 	struct mlx5_priv *priv = dev->data->dev_private;
 	const struct rte_flow_item_vxlan nic_mask = {
-		.vni = "\xff\xff\xff",
+		.vni = { 0xff, 0xff, 0xff },
 		.rsvd1 = 0xff,
 	};
 
diff --git a/drivers/net/mlx5/mlx5_flow_hw.c b/drivers/net/mlx5/mlx5_flow_hw.c
index 42d5d6ada6..a19342a25d 100644
--- a/drivers/net/mlx5/mlx5_flow_hw.c
+++ b/drivers/net/mlx5/mlx5_flow_hw.c
@@ -106,67 +106,67 @@ static uint32_t mlx5_hw_act_flag[MLX5_HW_ACTION_FLAG_MAX]
 
 /* Ethernet item spec for promiscuous mode. */
 static const struct rte_flow_item_eth ctrl_rx_eth_promisc_spec = {
-	.dst.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-	.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+	.dst.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+	.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
 	.type = 0,
 };
 /* Ethernet item mask for promiscuous mode. */
 static const struct rte_flow_item_eth ctrl_rx_eth_promisc_mask = {
-	.dst.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-	.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+	.dst.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+	.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
 	.type = 0,
 };
 
 /* Ethernet item spec for all multicast mode. */
 static const struct rte_flow_item_eth ctrl_rx_eth_mcast_spec = {
-	.dst.addr_bytes = "\x01\x00\x00\x00\x00\x00",
-	.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+	.dst.addr_bytes = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
+	.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
 	.type = 0,
 };
 /* Ethernet item mask for all multicast mode. */
 static const struct rte_flow_item_eth ctrl_rx_eth_mcast_mask = {
-	.dst.addr_bytes = "\x01\x00\x00\x00\x00\x00",
-	.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+	.dst.addr_bytes = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
+	.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
 	.type = 0,
 };
 
 /* Ethernet item spec for IPv4 multicast traffic. */
 static const struct rte_flow_item_eth ctrl_rx_eth_ipv4_mcast_spec = {
-	.dst.addr_bytes = "\x01\x00\x5e\x00\x00\x00",
-	.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+	.dst.addr_bytes = { 0x01, 0x00, 0x5e, 0x00, 0x00, 0x00 },
+	.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
 	.type = 0,
 };
 /* Ethernet item mask for IPv4 multicast traffic. */
 static const struct rte_flow_item_eth ctrl_rx_eth_ipv4_mcast_mask = {
-	.dst.addr_bytes = "\xff\xff\xff\x00\x00\x00",
-	.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+	.dst.addr_bytes = { 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 },
+	.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
 	.type = 0,
 };
 
 /* Ethernet item spec for IPv6 multicast traffic. */
 static const struct rte_flow_item_eth ctrl_rx_eth_ipv6_mcast_spec = {
-	.dst.addr_bytes = "\x33\x33\x00\x00\x00\x00",
-	.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+	.dst.addr_bytes = { 0x33, 0x33, 0x00, 0x00, 0x00, 0x00 },
+	.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
 	.type = 0,
 };
 /* Ethernet item mask for IPv6 multicast traffic. */
 static const struct rte_flow_item_eth ctrl_rx_eth_ipv6_mcast_mask = {
-	.dst.addr_bytes = "\xff\xff\x00\x00\x00\x00",
-	.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+	.dst.addr_bytes = { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 },
+	.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
 	.type = 0,
 };
 
 /* Ethernet item mask for unicast traffic. */
 static const struct rte_flow_item_eth ctrl_rx_eth_dmac_mask = {
-	.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-	.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+	.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+	.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
 	.type = 0,
 };
 
 /* Ethernet item spec for broadcast. */
 static const struct rte_flow_item_eth ctrl_rx_eth_bcast_spec = {
-	.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-	.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+	.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+	.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
 	.type = 0,
 };
 
@@ -5841,8 +5841,8 @@ flow_hw_create_tx_default_mreg_copy_pattern_template(struct rte_eth_dev *dev,
 		.egress = 1,
 	};
 	struct rte_flow_item_eth promisc = {
-		.dst.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-		.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+		.dst.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+		.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
 		.type = 0,
 	};
 	struct rte_flow_item eth_all[] = {
@@ -5879,8 +5879,8 @@ flow_hw_create_lacp_rx_pattern_template(struct rte_eth_dev *dev, struct rte_flow
 		.ingress = 1,
 	};
 	struct rte_flow_item_eth lacp_mask = {
-		.dst.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-		.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+		.dst.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+		.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
 		.type = 0xFFFF,
 	};
 	struct rte_flow_item eth_all[] = {
@@ -9320,8 +9320,8 @@ mlx5_flow_hw_create_tx_default_mreg_copy_flow(struct rte_eth_dev *dev)
 {
 	struct mlx5_priv *priv = dev->data->dev_private;
 	struct rte_flow_item_eth promisc = {
-		.dst.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-		.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+		.dst.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+		.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
 		.type = 0,
 	};
 	struct rte_flow_item eth_all[] = {
@@ -9659,7 +9659,7 @@ __flow_hw_ctrl_flows_unicast(struct rte_eth_dev *dev,
 		.type = MLX5_HW_CTRL_FLOW_TYPE_DEFAULT_RX_RSS,
 	};
 	const struct rte_ether_addr cmp = {
-		.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+		.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
 	};
 	unsigned int i;
 
@@ -9705,7 +9705,7 @@ __flow_hw_ctrl_flows_unicast_vlan(struct rte_eth_dev *dev,
 		.type = MLX5_HW_CTRL_FLOW_TYPE_DEFAULT_RX_RSS,
 	};
 	const struct rte_ether_addr cmp = {
-		.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+		.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
 	};
 	unsigned int i;
 	unsigned int j;
diff --git a/drivers/net/mlx5/mlx5_trigger.c b/drivers/net/mlx5/mlx5_trigger.c
index 1cb0b56ae1..13152d488e 100644
--- a/drivers/net/mlx5/mlx5_trigger.c
+++ b/drivers/net/mlx5/mlx5_trigger.c
@@ -1562,23 +1562,23 @@ mlx5_traffic_enable(struct rte_eth_dev *dev)
 {
 	struct mlx5_priv *priv = dev->data->dev_private;
 	struct rte_flow_item_eth bcast = {
-		.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+		.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 	};
 	struct rte_flow_item_eth ipv6_multi_spec = {
-		.dst.addr_bytes = "\x33\x33\x00\x00\x00\x00",
+		.dst.addr_bytes = { 0x33, 0x33, 0x00, 0x00, 0x00, 0x00 },
 	};
 	struct rte_flow_item_eth ipv6_multi_mask = {
-		.dst.addr_bytes = "\xff\xff\x00\x00\x00\x00",
+		.dst.addr_bytes = { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 },
 	};
 	struct rte_flow_item_eth unicast = {
-		.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+		.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
 	};
 	struct rte_flow_item_eth unicast_mask = {
-		.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+		.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 	};
 	const unsigned int vlan_filter_n = priv->vlan_filter_n;
 	const struct rte_ether_addr cmp = {
-		.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+		.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
 	};
 	unsigned int i;
 	unsigned int j;
@@ -1647,8 +1647,8 @@ mlx5_traffic_enable(struct rte_eth_dev *dev)
 		return 0;
 	if (dev->data->promiscuous) {
 		struct rte_flow_item_eth promisc = {
-			.dst.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-			.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+			.dst.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+			.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
 			.type = 0,
 		};
 
@@ -1658,8 +1658,8 @@ mlx5_traffic_enable(struct rte_eth_dev *dev)
 	}
 	if (dev->data->all_multicast) {
 		struct rte_flow_item_eth multicast = {
-			.dst.addr_bytes = "\x01\x00\x00\x00\x00\x00",
-			.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+			.dst.addr_bytes = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
+			.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
 			.type = 0,
 		};
 
diff --git a/drivers/net/nfp/nfp_flow.c b/drivers/net/nfp/nfp_flow.c
index 3746aa2d0f..d76bb15d91 100644
--- a/drivers/net/nfp/nfp_flow.c
+++ b/drivers/net/nfp/nfp_flow.c
@@ -1679,8 +1679,8 @@ static const struct nfp_flow_item_proc nfp_flow_item_proc_list[] = {
 			RTE_FLOW_ITEM_TYPE_IPV6),
 		.mask_support = &(const struct rte_flow_item_eth){
 			.hdr = {
-				.dst_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-				.src_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+				.dst_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+				.src_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 				.ether_type          = RTE_BE16(0xffff),
 			},
 			.has_vlan = 1,
@@ -1732,10 +1732,10 @@ static const struct nfp_flow_item_proc nfp_flow_item_proc_list[] = {
 				.vtc_flow   = RTE_BE32(0x0ff00000),
 				.proto      = 0xff,
 				.hop_limits = 0xff,
-				.src_addr   = "\xff\xff\xff\xff\xff\xff\xff\xff"
-					"\xff\xff\xff\xff\xff\xff\xff\xff",
-				.dst_addr   = "\xff\xff\xff\xff\xff\xff\xff\xff"
-					"\xff\xff\xff\xff\xff\xff\xff\xff",
+				.src_addr   = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+						0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+				.dst_addr   = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+						0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 			},
 			.has_frag_ext = 1,
 		},
@@ -1793,7 +1793,7 @@ static const struct nfp_flow_item_proc nfp_flow_item_proc_list[] = {
 	[RTE_FLOW_ITEM_TYPE_GENEVE] = {
 		.next_item = NEXT_ITEM(RTE_FLOW_ITEM_TYPE_ETH),
 		.mask_support = &(const struct rte_flow_item_geneve){
-			.vni = "\xff\xff\xff",
+			.vni = { 0xff, 0xff, 0xff },
 		},
 		.mask_default = &rte_flow_item_geneve_mask,
 		.mask_sz = sizeof(struct rte_flow_item_geneve),
diff --git a/drivers/net/tap/tap_flow.c b/drivers/net/tap/tap_flow.c
index 7468c3f0ea..ea23841f60 100644
--- a/drivers/net/tap/tap_flow.c
+++ b/drivers/net/tap/tap_flow.c
@@ -259,8 +259,8 @@ static const struct tap_flow_items tap_flow_items[] = {
 			RTE_FLOW_ITEM_TYPE_IPV4,
 			RTE_FLOW_ITEM_TYPE_IPV6),
 		.mask = &(const struct rte_flow_item_eth){
-			.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-			.src.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+			.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+			.src.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 			.type = -1,
 		},
 		.mask_sz = sizeof(struct rte_flow_item_eth),
@@ -302,14 +302,10 @@ static const struct tap_flow_items tap_flow_items[] = {
 			       RTE_FLOW_ITEM_TYPE_TCP),
 		.mask = &(const struct rte_flow_item_ipv6){
 			.hdr = {
-				.src_addr = {
-					"\xff\xff\xff\xff\xff\xff\xff\xff"
-					"\xff\xff\xff\xff\xff\xff\xff\xff",
-				},
-				.dst_addr = {
-					"\xff\xff\xff\xff\xff\xff\xff\xff"
-					"\xff\xff\xff\xff\xff\xff\xff\xff",
-				},
+				.src_addr = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+					      0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+				.dst_addr = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+					      0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 				.proto = -1,
 			},
 		},
@@ -392,7 +388,7 @@ static struct remote_rule implicit_rte_flows[TAP_REMOTE_MAX_IDX] = {
 		.items[0] = {
 			.type = RTE_FLOW_ITEM_TYPE_ETH,
 			.mask =  &(const struct rte_flow_item_eth){
-				.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+				.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 			},
 		},
 		.items[1] = {
@@ -409,10 +405,10 @@ static struct remote_rule implicit_rte_flows[TAP_REMOTE_MAX_IDX] = {
 		.items[0] = {
 			.type = RTE_FLOW_ITEM_TYPE_ETH,
 			.mask =  &(const struct rte_flow_item_eth){
-				.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+				.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 			},
 			.spec = &(const struct rte_flow_item_eth){
-				.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+				.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 			},
 		},
 		.items[1] = {
@@ -429,10 +425,10 @@ static struct remote_rule implicit_rte_flows[TAP_REMOTE_MAX_IDX] = {
 		.items[0] = {
 			.type = RTE_FLOW_ITEM_TYPE_ETH,
 			.mask =  &(const struct rte_flow_item_eth){
-				.dst.addr_bytes = "\x33\x33\x00\x00\x00\x00",
+				.dst.addr_bytes = { 0x33, 0x33, 0x00, 0x00, 0x00, 0x00 },
 			},
 			.spec = &(const struct rte_flow_item_eth){
-				.dst.addr_bytes = "\x33\x33\x00\x00\x00\x00",
+				.dst.addr_bytes = { 0x33, 0x33, 0x00, 0x00, 0x00, 0x00 },
 			},
 		},
 		.items[1] = {
@@ -463,10 +459,10 @@ static struct remote_rule implicit_rte_flows[TAP_REMOTE_MAX_IDX] = {
 		.items[0] = {
 			.type = RTE_FLOW_ITEM_TYPE_ETH,
 			.mask =  &(const struct rte_flow_item_eth){
-				.dst.addr_bytes = "\x01\x00\x00\x00\x00\x00",
+				.dst.addr_bytes = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
 			},
 			.spec = &(const struct rte_flow_item_eth){
-				.dst.addr_bytes = "\x01\x00\x00\x00\x00\x00",
+				.dst.addr_bytes = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
 			},
 		},
 		.items[1] = {
diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
index 706ffba596..e1aad5a98a 100644
--- a/lib/ethdev/rte_flow.h
+++ b/lib/ethdev/rte_flow.h
@@ -774,8 +774,8 @@ struct rte_flow_item_eth {
 /** Default mask for RTE_FLOW_ITEM_TYPE_ETH. */
 #ifndef __cplusplus
 static const struct rte_flow_item_eth rte_flow_item_eth_mask = {
-	.hdr.dst_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-	.hdr.src_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+	.hdr.dst_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+	.hdr.src_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 	.hdr.ether_type = RTE_BE16(0x0000),
 };
 #endif
@@ -877,12 +877,10 @@ struct rte_flow_item_ipv6 {
 #ifndef __cplusplus
 static const struct rte_flow_item_ipv6 rte_flow_item_ipv6_mask = {
 	.hdr = {
-		.src_addr =
-			"\xff\xff\xff\xff\xff\xff\xff\xff"
-			"\xff\xff\xff\xff\xff\xff\xff\xff",
-		.dst_addr =
-			"\xff\xff\xff\xff\xff\xff\xff\xff"
-			"\xff\xff\xff\xff\xff\xff\xff\xff",
+		.src_addr = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+			      0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+		.dst_addr = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+			      0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 	},
 };
 #endif
@@ -1041,7 +1039,7 @@ struct rte_flow_item_nvgre {
 /** Default mask for RTE_FLOW_ITEM_TYPE_NVGRE. */
 #ifndef __cplusplus
 static const struct rte_flow_item_nvgre rte_flow_item_nvgre_mask = {
-	.tni = "\xff\xff\xff",
+	.tni =  { 0xff, 0xff, 0xff },
 };
 #endif
 
@@ -1061,7 +1059,7 @@ struct rte_flow_item_mpls {
 /** Default mask for RTE_FLOW_ITEM_TYPE_MPLS. */
 #ifndef __cplusplus
 static const struct rte_flow_item_mpls rte_flow_item_mpls_mask = {
-	.label_tc_s = "\xff\xff\xf0",
+	.label_tc_s = { 0xff, 0xff, 0xf0 },
 };
 #endif
 
@@ -1196,7 +1194,7 @@ struct rte_flow_item_geneve {
 /** Default mask for RTE_FLOW_ITEM_TYPE_GENEVE. */
 #ifndef __cplusplus
 static const struct rte_flow_item_geneve rte_flow_item_geneve_mask = {
-	.vni = "\xff\xff\xff",
+	.vni =  { 0xff, 0xff, 0xff },
 };
 #endif
 
@@ -1216,7 +1214,7 @@ struct rte_flow_item_vxlan_gpe {
 /** Default mask for RTE_FLOW_ITEM_TYPE_VXLAN_GPE. */
 #ifndef __cplusplus
 static const struct rte_flow_item_vxlan_gpe rte_flow_item_vxlan_gpe_mask = {
-	.vni = "\xff\xff\xff",
+	.vni =  { 0xff, 0xff, 0xff },
 };
 #endif
 
@@ -1241,10 +1239,10 @@ struct rte_flow_item_arp_eth_ipv4 {
 #ifndef __cplusplus
 static const struct rte_flow_item_arp_eth_ipv4
 rte_flow_item_arp_eth_ipv4_mask = {
-	.sha.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-	.spa = RTE_BE32(0xffffffff),
-	.tha.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-	.tpa = RTE_BE32(0xffffffff),
+	.sha.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+	.spa = RTE_BE32(UINT32_MAX),
+	.tha.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+	.tpa = RTE_BE32(UINT32_MAX),
 };
 #endif
 
@@ -1320,9 +1318,8 @@ struct rte_flow_item_icmp6_nd_ns {
 #ifndef __cplusplus
 static const
 struct rte_flow_item_icmp6_nd_ns rte_flow_item_icmp6_nd_ns_mask = {
-	.target_addr =
-		"\xff\xff\xff\xff\xff\xff\xff\xff"
-		"\xff\xff\xff\xff\xff\xff\xff\xff",
+	.target_addr = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+			 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 };
 #endif
 
@@ -1347,9 +1344,8 @@ struct rte_flow_item_icmp6_nd_na {
 #ifndef __cplusplus
 static const
 struct rte_flow_item_icmp6_nd_na rte_flow_item_icmp6_nd_na_mask = {
-	.target_addr =
-		"\xff\xff\xff\xff\xff\xff\xff\xff"
-		"\xff\xff\xff\xff\xff\xff\xff\xff",
+	.target_addr = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+			 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 };
 #endif
 
@@ -1398,7 +1394,7 @@ struct rte_flow_item_icmp6_nd_opt_sla_eth {
 #ifndef __cplusplus
 static const struct rte_flow_item_icmp6_nd_opt_sla_eth
 rte_flow_item_icmp6_nd_opt_sla_eth_mask = {
-	.sla.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+	.sla.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 };
 #endif
 
@@ -1423,7 +1419,7 @@ struct rte_flow_item_icmp6_nd_opt_tla_eth {
 #ifndef __cplusplus
 static const struct rte_flow_item_icmp6_nd_opt_tla_eth
 rte_flow_item_icmp6_nd_opt_tla_eth_mask = {
-	.tla.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+	.tla.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
 };
 #endif
 
-- 
2.47.2

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2025-02-17 16:13:19.602554183 +0000
+++ 0079-ethdev-convert-string-initialization.patch	2025-02-17 16:13:16.910441591 +0000
@@ -1 +1 @@
-From e0d947a1e6c2f80aa039a4f7082a8aa16797d8b9 Mon Sep 17 00:00:00 2001
+From 2faec7a700bc720aa7ef419a05a41cd04a336ae3 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit e0d947a1e6c2f80aa039a4f7082a8aa16797d8b9 ]
+
@@ -63,18 +65,15 @@
- app/test-pmd/cmdline_flow.c                   | 31 ++++-----
- app/test/test_bpf.c                           |  2 +-
- app/test/test_pcapng.c                        |  2 +-
- app/test/test_security_inline_macsec.c        |  4 +-
- doc/guides/prog_guide/ethdev/flow_offload.rst |  2 +-
- drivers/net/cxgbe/cxgbe_flow.c                | 14 ++--
- drivers/net/dpaa2/dpaa2_flow.c                | 14 ++--
- drivers/net/mlx4/mlx4_flow.c                  |  6 +-
- drivers/net/mlx5/mlx5_flow.c                  | 20 +++---
- drivers/net/mlx5/mlx5_flow_dv.c               | 26 ++++----
- drivers/net/mlx5/mlx5_flow_hw.c               | 66 +++++++++----------
- drivers/net/mlx5/mlx5_trigger.c               | 20 +++---
- drivers/net/nfp/flower/nfp_flower_flow.c      | 14 ++--
- drivers/net/nfp/nfp_net_flow.c                |  8 +--
- drivers/net/tap/tap_flow.c                    | 30 ++++-----
- examples/l2fwd-macsec/main.c                  |  4 +-
- lib/ethdev/rte_flow.h                         | 44 ++++++-------
- 17 files changed, 144 insertions(+), 163 deletions(-)
+ app/test-pmd/cmdline_flow.c        | 31 +++++++++--------
+ app/test/test_bpf.c                |  2 +-
+ app/test/test_pcapng.c             |  2 +-
+ doc/guides/prog_guide/rte_flow.rst |  2 +-
+ drivers/net/cxgbe/cxgbe_flow.c     | 14 ++++----
+ drivers/net/dpaa2/dpaa2_flow.c     | 14 ++++----
+ drivers/net/mlx4/mlx4_flow.c       |  6 ++--
+ drivers/net/mlx5/mlx5_flow.c       | 18 +++++-----
+ drivers/net/mlx5/mlx5_flow_dv.c    | 24 ++++++-------
+ drivers/net/mlx5/mlx5_flow_hw.c    | 56 +++++++++++++++---------------
+ drivers/net/mlx5/mlx5_trigger.c    | 20 +++++------
+ drivers/net/nfp/nfp_flow.c         | 14 ++++----
+ drivers/net/tap/tap_flow.c         | 30 +++++++---------
+ lib/ethdev/rte_flow.h              | 44 +++++++++++------------
+ 14 files changed, 131 insertions(+), 146 deletions(-)
@@ -83 +82 @@
-index b7bcf18311..5451b3a453 100644
+index a0a7d3da14..619656363f 100644
@@ -86 +85 @@
-@@ -898,20 +898,20 @@ struct vxlan_encap_conf vxlan_encap_conf = {
+@@ -690,20 +690,20 @@ struct vxlan_encap_conf vxlan_encap_conf = {
@@ -114 +113 @@
-@@ -934,16 +934,16 @@ struct action_vxlan_encap_data {
+@@ -726,16 +726,16 @@ struct action_vxlan_encap_data {
@@ -138 +137 @@
-@@ -8304,7 +8304,8 @@ parse_prefix(struct context *ctx, const struct token *token,
+@@ -6519,7 +6519,8 @@ parse_prefix(struct context *ctx, const struct token *token,
@@ -149 +148 @@
-index 7819d6aba9..90e10d7d2c 100644
+index 51184341c2..3d174d09cb 100644
@@ -152 +151 @@
-@@ -3361,7 +3361,7 @@ test_bpf_filter_sanity(pcap_t *pcap)
+@@ -3347,7 +3347,7 @@ test_bpf_filter_sanity(pcap_t *pcap)
@@ -162 +161 @@
-index b219873c3a..8f2cff36c3 100644
+index e9c85f2e02..3f98a7e40f 100644
@@ -165,2 +164,2 @@
-@@ -73,7 +73,7 @@ mbuf1_prepare(struct dummy_mbuf *dm, uint32_t plen)
- 		struct rte_udp_hdr udp;
+@@ -63,7 +63,7 @@ mbuf1_prepare(struct dummy_mbuf *dm, uint32_t plen)
+ 		struct rte_ipv4_hdr ip;
@@ -174,20 +173,5 @@
-diff --git a/app/test/test_security_inline_macsec.c b/app/test/test_security_inline_macsec.c
-index f11e9da8c3..c921bf8ebb 100644
---- a/app/test/test_security_inline_macsec.c
-+++ b/app/test/test_security_inline_macsec.c
-@@ -318,8 +318,8 @@ create_default_flow(const struct mcs_test_vector *td, uint16_t portid,
- 	struct rte_flow *flow;
- 	struct rte_flow_item_eth eth = { .hdr.ether_type = 0, };
- 	static const struct rte_flow_item_eth eth_mask = {
--		.hdr.dst_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
--		.hdr.src_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-+		.hdr.dst_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
-+		.hdr.src_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
- 		.hdr.ether_type = RTE_BE16(0x0000),
- 	};
- 
-diff --git a/doc/guides/prog_guide/ethdev/flow_offload.rst b/doc/guides/prog_guide/ethdev/flow_offload.rst
-index 906d6014f5..2d6187ed11 100644
---- a/doc/guides/prog_guide/ethdev/flow_offload.rst
-+++ b/doc/guides/prog_guide/ethdev/flow_offload.rst
-@@ -3865,7 +3865,7 @@ For example, to create a pattern template to match on the destination MAC:
+diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst
+index d0b7833a2f..28f60eda37 100644
+--- a/doc/guides/prog_guide/rte_flow.rst
++++ b/doc/guides/prog_guide/rte_flow.rst
+@@ -3499,7 +3499,7 @@ For example, to create a pattern template to match on the destination MAC:
@@ -203 +187 @@
-index f5787c247f..40d21e6944 100644
+index d66672a9e6..468e88a617 100644
@@ -210,5 +194,5 @@
--			.hdr.dst_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
--			.hdr.src_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-+			.hdr.dst_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
-+			.hdr.src_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
- 			.hdr.ether_type = 0xffff,
+-			.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+-			.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
++			.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
++			.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+ 			.type = 0xffff,
@@ -235 +219 @@
-index 62e350d736..1b55d8dd17 100644
+index df06c3862e..3aeb318049 100644
@@ -242,5 +226,5 @@
--	.hdr.dst_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
--	.hdr.src_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-+	.hdr.dst_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
-+	.hdr.src_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
- 	.hdr.ether_type = RTE_BE16(0xffff),
+-	.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+-	.src.addr_bytes = "\xff\xff\xff\xff\xff\xff",
++	.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
++	.src.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+ 	.type = RTE_BE16(0xffff),
@@ -267 +251 @@
-index 8ef9fd2db4..b520664d95 100644
+index 9d7247cf81..f35b0d25f7 100644
@@ -274,2 +258,2 @@
--			.hdr.dst_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-+			.hdr.dst_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+-			.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
++			.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
@@ -283,2 +267,2 @@
--		.hdr.dst_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-+		.hdr.dst_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+-		.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
++		.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
@@ -287,2 +271,2 @@
--		.hdr.dst_addr.addr_bytes = "\x01\x00\x00\x00\x00\x00",
-+		.hdr.dst_addr.addr_bytes = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
+-		.dst.addr_bytes = "\x01\x00\x00\x00\x00\x00",
++		.dst.addr_bytes = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
@@ -293 +277 @@
-index 72fb3a55ba..031db8176b 100644
+index 6fe51f70a8..ea637ea9b0 100644
@@ -296 +280 @@
-@@ -2668,8 +2668,8 @@ mlx5_flow_validate_item_eth(const struct rte_eth_dev *dev,
+@@ -2444,8 +2444,8 @@ mlx5_flow_validate_item_eth(const struct rte_flow_item *item,
@@ -300,5 +284,5 @@
--		.hdr.dst_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
--		.hdr.src_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-+		.hdr.dst_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
-+		.hdr.src_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
- 		.hdr.ether_type = RTE_BE16(0xffff),
+-		.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+-		.src.addr_bytes = "\xff\xff\xff\xff\xff\xff",
++		.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
++		.src.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+ 		.type = RTE_BE16(0xffff),
@@ -307 +291 @@
-@@ -2933,12 +2933,10 @@ mlx5_flow_validate_item_ipv6(const struct rte_eth_dev *dev,
+@@ -2707,12 +2707,10 @@ mlx5_flow_validate_item_ipv6(const struct rte_flow_item *item,
@@ -324 +308 @@
-@@ -3163,7 +3161,7 @@ mlx5_flow_validate_item_vxlan(struct rte_eth_dev *dev,
+@@ -2932,7 +2930,7 @@ mlx5_flow_validate_item_vxlan(struct rte_eth_dev *dev,
@@ -328,9 +311,0 @@
--		.hdr.vni = "\xff\xff\xff",
-+		.hdr.vni =  { 0xff, 0xff, 0xff },
- 		.hdr.rsvd1 = 0xff,
- 	};
- 	const struct rte_flow_item_vxlan *valid_mask;
-@@ -3249,7 +3247,7 @@ mlx5_flow_validate_item_vxlan_gpe(const struct rte_flow_item *item,
- 	} id = { .vlan_id = 0, };
- 
- 	struct rte_flow_item_vxlan_gpe nic_mask = {
@@ -338,3 +313,2 @@
-+		.vni =  { 0xff, 0xff, 0xff },
- 		.protocol = 0xff,
- 		.flags = 0xff,
++		.vni = { 0xff, 0xff, 0xff },
+ 		.rsvd1 = 0xff,
@@ -342 +316,2 @@
-@@ -3563,7 +3561,7 @@ mlx5_flow_validate_item_geneve(const struct rte_flow_item *item,
+ 	const struct rte_flow_item_vxlan *valid_mask;
+@@ -3314,7 +3312,7 @@ mlx5_flow_validate_item_geneve(const struct rte_flow_item *item,
@@ -352 +327 @@
-index 89057edbcf..8bcdb3f99e 100644
+index 7e9c22acb2..df437aba38 100644
@@ -355,18 +330,17 @@
-@@ -7697,12 +7697,10 @@ const struct rte_flow_item_ipv4 nic_ipv4_mask = {
- 
- const struct rte_flow_item_ipv6 nic_ipv6_mask = {
- 	.hdr = {
--		.src_addr =
--		"\xff\xff\xff\xff\xff\xff\xff\xff"
--		"\xff\xff\xff\xff\xff\xff\xff\xff",
--		.dst_addr =
--		"\xff\xff\xff\xff\xff\xff\xff\xff"
--		"\xff\xff\xff\xff\xff\xff\xff\xff",
-+		.src_addr = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-+			      0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
-+		.dst_addr = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-+			      0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
- 		.vtc_flow = RTE_BE32(0xffffffff),
- 		.proto = 0xff,
- 		.hop_limits = 0xff,
-@@ -9291,8 +9289,8 @@ flow_dv_translate_item_eth(void *key, const struct rte_flow_item *item,
+@@ -7082,11 +7082,11 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr,
+ 	const struct rte_flow_item_ipv6 nic_ipv6_mask = {
+ 		.hdr = {
+ 			.src_addr =
+-			"\xff\xff\xff\xff\xff\xff\xff\xff"
+-			"\xff\xff\xff\xff\xff\xff\xff\xff",
++			{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
++			  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+ 			.dst_addr =
+-			"\xff\xff\xff\xff\xff\xff\xff\xff"
+-			"\xff\xff\xff\xff\xff\xff\xff\xff",
++			{ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
++			  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+ 			.vtc_flow = RTE_BE32(0xffffffff),
+ 			.proto = 0xff,
+ 			.hop_limits = 0xff,
+@@ -8563,8 +8563,8 @@ flow_dv_translate_item_eth(void *key, const struct rte_flow_item *item,
@@ -376,5 +350,5 @@
--		.hdr.dst_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
--		.hdr.src_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-+		.hdr.dst_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
-+		.hdr.src_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
- 		.hdr.ether_type = RTE_BE16(0xffff),
+-		.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+-		.src.addr_bytes = "\xff\xff\xff\xff\xff\xff",
++		.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
++		.src.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+ 		.type = RTE_BE16(0xffff),
@@ -383 +357 @@
-@@ -9549,12 +9547,10 @@ flow_dv_translate_item_ipv6(void *key, const struct rte_flow_item *item,
+@@ -8821,12 +8821,10 @@ flow_dv_translate_item_ipv6(void *key, const struct rte_flow_item *item,
@@ -400 +374 @@
-@@ -10064,7 +10060,7 @@ flow_dv_translate_item_vxlan(struct rte_eth_dev *dev,
+@@ -9340,7 +9338,7 @@ flow_dv_translate_item_vxlan(struct rte_eth_dev *dev,
@@ -404,3 +378,3 @@
--		.hdr.vni = "\xff\xff\xff",
-+		.hdr.vni =  { 0xff, 0xff, 0xff },
- 		.hdr.rsvd1 = 0xff,
+-		.vni = "\xff\xff\xff",
++		.vni = { 0xff, 0xff, 0xff },
+ 		.rsvd1 = 0xff,
@@ -410 +384 @@
-index d243b59b71..96be742b94 100644
+index 42d5d6ada6..a19342a25d 100644
@@ -413 +387 @@
-@@ -377,67 +377,67 @@ static uint32_t mlx5_hw_act_flag[MLX5_HW_ACTION_FLAG_MAX]
+@@ -106,67 +106,67 @@ static uint32_t mlx5_hw_act_flag[MLX5_HW_ACTION_FLAG_MAX]
@@ -417,5 +391,5 @@
--	.hdr.dst_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
--	.hdr.src_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-+	.hdr.dst_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
-+	.hdr.src_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
- 	.hdr.ether_type = 0,
+-	.dst.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+-	.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
++	.dst.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
++	.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+ 	.type = 0,
@@ -425,5 +399,5 @@
--	.hdr.dst_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
--	.hdr.src_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-+	.hdr.dst_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
-+	.hdr.src_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
- 	.hdr.ether_type = 0,
+-	.dst.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+-	.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
++	.dst.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
++	.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+ 	.type = 0,
@@ -434,5 +408,5 @@
--	.hdr.dst_addr.addr_bytes = "\x01\x00\x00\x00\x00\x00",
--	.hdr.src_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-+	.hdr.dst_addr.addr_bytes = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
-+	.hdr.src_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
- 	.hdr.ether_type = 0,
+-	.dst.addr_bytes = "\x01\x00\x00\x00\x00\x00",
+-	.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
++	.dst.addr_bytes = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
++	.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+ 	.type = 0,
@@ -442,5 +416,5 @@
--	.hdr.dst_addr.addr_bytes = "\x01\x00\x00\x00\x00\x00",
--	.hdr.src_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-+	.hdr.dst_addr.addr_bytes = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
-+	.hdr.src_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
- 	.hdr.ether_type = 0,
+-	.dst.addr_bytes = "\x01\x00\x00\x00\x00\x00",
+-	.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
++	.dst.addr_bytes = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
++	.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+ 	.type = 0,
@@ -451,5 +425,5 @@
--	.hdr.dst_addr.addr_bytes = "\x01\x00\x5e\x00\x00\x00",
--	.hdr.src_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-+	.hdr.dst_addr.addr_bytes = { 0x01, 0x00, 0x5e, 0x00, 0x00, 0x00 },
-+	.hdr.src_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
- 	.hdr.ether_type = 0,
+-	.dst.addr_bytes = "\x01\x00\x5e\x00\x00\x00",
+-	.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
++	.dst.addr_bytes = { 0x01, 0x00, 0x5e, 0x00, 0x00, 0x00 },
++	.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+ 	.type = 0,
@@ -459,5 +433,5 @@
--	.hdr.dst_addr.addr_bytes = "\xff\xff\xff\x00\x00\x00",
--	.hdr.src_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-+	.hdr.dst_addr.addr_bytes = { 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 },
-+	.hdr.src_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
- 	.hdr.ether_type = 0,
+-	.dst.addr_bytes = "\xff\xff\xff\x00\x00\x00",
+-	.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
++	.dst.addr_bytes = { 0xff, 0xff, 0xff, 0x00, 0x00, 0x00 },
++	.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+ 	.type = 0,
@@ -468,5 +442,5 @@
--	.hdr.dst_addr.addr_bytes = "\x33\x33\x00\x00\x00\x00",
--	.hdr.src_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-+	.hdr.dst_addr.addr_bytes = { 0x33, 0x33, 0x00, 0x00, 0x00, 0x00 },
-+	.hdr.src_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
- 	.hdr.ether_type = 0,
+-	.dst.addr_bytes = "\x33\x33\x00\x00\x00\x00",
+-	.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
++	.dst.addr_bytes = { 0x33, 0x33, 0x00, 0x00, 0x00, 0x00 },
++	.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+ 	.type = 0,
@@ -476,5 +450,5 @@
--	.hdr.dst_addr.addr_bytes = "\xff\xff\x00\x00\x00\x00",
--	.hdr.src_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-+	.hdr.dst_addr.addr_bytes = { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 },
-+	.hdr.src_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
- 	.hdr.ether_type = 0,
+-	.dst.addr_bytes = "\xff\xff\x00\x00\x00\x00",
+-	.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
++	.dst.addr_bytes = { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 },
++	.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+ 	.type = 0,
@@ -485,5 +459,5 @@
--	.hdr.dst_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
--	.hdr.src_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-+	.hdr.dst_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
-+	.hdr.src_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
- 	.hdr.ether_type = 0,
+-	.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+-	.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
++	.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
++	.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+ 	.type = 0,
@@ -494,5 +468,5 @@
--	.hdr.dst_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
--	.hdr.src_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-+	.hdr.dst_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
-+	.hdr.src_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
- 	.hdr.ether_type = 0,
+-	.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+-	.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
++	.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
++	.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+ 	.type = 0,
@@ -501,18 +475 @@
-@@ -8250,12 +8250,10 @@ const struct rte_flow_item_ipv6 hws_nic_ipv6_mask = {
- 		.payload_len = RTE_BE16(0xffff),
- 		.proto = 0xff,
- 		.hop_limits = 0xff,
--		.src_addr =
--		"\xff\xff\xff\xff\xff\xff\xff\xff"
--		"\xff\xff\xff\xff\xff\xff\xff\xff",
--		.dst_addr =
--		"\xff\xff\xff\xff\xff\xff\xff\xff"
--		"\xff\xff\xff\xff\xff\xff\xff\xff",
-+		.src_addr = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-+			      0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
-+		.dst_addr = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-+			      0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
- 	},
- 	.has_frag_ext = 1,
- };
-@@ -9936,8 +9934,8 @@ flow_hw_create_tx_default_mreg_copy_pattern_template(struct rte_eth_dev *dev,
+@@ -5841,8 +5841,8 @@ flow_hw_create_tx_default_mreg_copy_pattern_template(struct rte_eth_dev *dev,
@@ -522,5 +479,5 @@
--		.hdr.dst_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
--		.hdr.src_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-+		.hdr.dst_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
-+		.hdr.src_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
- 		.hdr.ether_type = 0,
+-		.dst.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+-		.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
++		.dst.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
++		.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+ 		.type = 0,
@@ -529 +486 @@
-@@ -9974,8 +9972,8 @@ flow_hw_create_lacp_rx_pattern_template(struct rte_eth_dev *dev, struct rte_flow
+@@ -5879,8 +5879,8 @@ flow_hw_create_lacp_rx_pattern_template(struct rte_eth_dev *dev, struct rte_flow
@@ -540 +497 @@
-@@ -15476,8 +15474,8 @@ mlx5_flow_hw_create_tx_default_mreg_copy_flow(struct rte_eth_dev *dev)
+@@ -9320,8 +9320,8 @@ mlx5_flow_hw_create_tx_default_mreg_copy_flow(struct rte_eth_dev *dev)
@@ -544,5 +501,5 @@
--		.hdr.dst_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
--		.hdr.src_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-+		.hdr.dst_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
-+		.hdr.src_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
- 		.hdr.ether_type = 0,
+-		.dst.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+-		.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
++		.dst.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
++		.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+ 		.type = 0,
@@ -551 +508 @@
-@@ -15815,7 +15813,7 @@ __flow_hw_ctrl_flows_unicast(struct rte_eth_dev *dev,
+@@ -9659,7 +9659,7 @@ __flow_hw_ctrl_flows_unicast(struct rte_eth_dev *dev,
@@ -560 +517 @@
-@@ -15861,7 +15859,7 @@ __flow_hw_ctrl_flows_unicast_vlan(struct rte_eth_dev *dev,
+@@ -9705,7 +9705,7 @@ __flow_hw_ctrl_flows_unicast_vlan(struct rte_eth_dev *dev,
@@ -570 +527 @@
-index a65a460731..7654f4d2ed 100644
+index 1cb0b56ae1..13152d488e 100644
@@ -573 +530 @@
-@@ -1568,23 +1568,23 @@ mlx5_traffic_enable(struct rte_eth_dev *dev)
+@@ -1562,23 +1562,23 @@ mlx5_traffic_enable(struct rte_eth_dev *dev)
@@ -577,2 +534,2 @@
--		.hdr.dst_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-+		.hdr.dst_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+-		.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
++		.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
@@ -581,2 +538,2 @@
--		.hdr.dst_addr.addr_bytes = "\x33\x33\x00\x00\x00\x00",
-+		.hdr.dst_addr.addr_bytes = { 0x33, 0x33, 0x00, 0x00, 0x00, 0x00 },
+-		.dst.addr_bytes = "\x33\x33\x00\x00\x00\x00",
++		.dst.addr_bytes = { 0x33, 0x33, 0x00, 0x00, 0x00, 0x00 },
@@ -585,2 +542,2 @@
--		.hdr.dst_addr.addr_bytes = "\xff\xff\x00\x00\x00\x00",
-+		.hdr.dst_addr.addr_bytes = { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 },
+-		.dst.addr_bytes = "\xff\xff\x00\x00\x00\x00",
++		.dst.addr_bytes = { 0xff, 0xff, 0x00, 0x00, 0x00, 0x00 },
@@ -589,2 +546,2 @@
--		.hdr.src_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-+		.hdr.src_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+-		.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
++		.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
@@ -593,2 +550,2 @@
--		.hdr.dst_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-+		.hdr.dst_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+-		.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
++		.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
@@ -603 +560 @@
-@@ -1653,8 +1653,8 @@ mlx5_traffic_enable(struct rte_eth_dev *dev)
+@@ -1647,8 +1647,8 @@ mlx5_traffic_enable(struct rte_eth_dev *dev)
@@ -607,5 +564,5 @@
--			.hdr.dst_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
--			.hdr.src_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-+			.hdr.dst_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
-+			.hdr.src_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
- 			.hdr.ether_type = 0,
+-			.dst.addr_bytes = "\x00\x00\x00\x00\x00\x00",
+-			.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
++			.dst.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
++			.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+ 			.type = 0,
@@ -614 +571 @@
-@@ -1664,8 +1664,8 @@ mlx5_traffic_enable(struct rte_eth_dev *dev)
+@@ -1658,8 +1658,8 @@ mlx5_traffic_enable(struct rte_eth_dev *dev)
@@ -618,5 +575,5 @@
--			.hdr.dst_addr.addr_bytes = "\x01\x00\x00\x00\x00\x00",
--			.hdr.src_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-+			.hdr.dst_addr.addr_bytes = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
-+			.hdr.src_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
- 			.hdr.ether_type = 0,
+-			.dst.addr_bytes = "\x01\x00\x00\x00\x00\x00",
+-			.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
++			.dst.addr_bytes = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
++			.src.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
+ 			.type = 0,
@@ -625,5 +582,5 @@
-diff --git a/drivers/net/nfp/flower/nfp_flower_flow.c b/drivers/net/nfp/flower/nfp_flower_flow.c
-index 3023e68ae8..e94c7e22e3 100644
---- a/drivers/net/nfp/flower/nfp_flower_flow.c
-+++ b/drivers/net/nfp/flower/nfp_flower_flow.c
-@@ -2504,8 +2504,8 @@ static const struct nfp_flow_item_proc nfp_flow_item_proc_list[] = {
+diff --git a/drivers/net/nfp/nfp_flow.c b/drivers/net/nfp/nfp_flow.c
+index 3746aa2d0f..d76bb15d91 100644
+--- a/drivers/net/nfp/nfp_flow.c
++++ b/drivers/net/nfp/nfp_flow.c
+@@ -1679,8 +1679,8 @@ static const struct nfp_flow_item_proc nfp_flow_item_proc_list[] = {
@@ -631 +588 @@
- 		.mask_support = &(const struct rte_flow_item_eth) {
+ 		.mask_support = &(const struct rte_flow_item_eth){
@@ -640 +597 @@
-@@ -2557,10 +2557,10 @@ static const struct nfp_flow_item_proc nfp_flow_item_proc_list[] = {
+@@ -1732,10 +1732,10 @@ static const struct nfp_flow_item_proc nfp_flow_item_proc_list[] = {
@@ -655 +612 @@
-@@ -2618,7 +2618,7 @@ static const struct nfp_flow_item_proc nfp_flow_item_proc_list[] = {
+@@ -1793,7 +1793,7 @@ static const struct nfp_flow_item_proc nfp_flow_item_proc_list[] = {
@@ -658 +615 @@
- 		.mask_support = &(const struct rte_flow_item_geneve) {
+ 		.mask_support = &(const struct rte_flow_item_geneve){
@@ -660 +617 @@
-+			.vni =  { 0xff, 0xff, 0xff },
++			.vni = { 0xff, 0xff, 0xff },
@@ -664,19 +620,0 @@
-diff --git a/drivers/net/nfp/nfp_net_flow.c b/drivers/net/nfp/nfp_net_flow.c
-index 5db4712193..e9f0ce3710 100644
---- a/drivers/net/nfp/nfp_net_flow.c
-+++ b/drivers/net/nfp/nfp_net_flow.c
-@@ -406,10 +406,10 @@ static const struct nfp_net_flow_item_proc nfp_net_flow_item_proc_list[] = {
- 		.mask_support = &(const struct rte_flow_item_ipv6){
- 			.hdr = {
- 				.proto    = 0xff,
--				.src_addr = "\xff\xff\xff\xff\xff\xff\xff\xff"
--						"\xff\xff\xff\xff\xff\xff\xff\xff",
--				.dst_addr = "\xff\xff\xff\xff\xff\xff\xff\xff"
--						"\xff\xff\xff\xff\xff\xff\xff\xff",
-+				.src_addr = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-+					      0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
-+				.dst_addr = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
-+					      0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
- 			},
- 		},
- 		.mask_default = &rte_flow_item_ipv6_mask,
@@ -684 +622 @@
-index 0a90c0487b..5ae1faf916 100644
+index 7468c3f0ea..ea23841f60 100644
@@ -687 +625 @@
-@@ -166,8 +166,8 @@ static const struct tap_flow_items tap_flow_items[] = {
+@@ -259,8 +259,8 @@ static const struct tap_flow_items tap_flow_items[] = {
@@ -691,5 +629,5 @@
--			.hdr.dst_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
--			.hdr.src_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-+			.hdr.dst_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
-+			.hdr.src_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
- 			.hdr.ether_type = -1,
+-			.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+-			.src.addr_bytes = "\xff\xff\xff\xff\xff\xff",
++			.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
++			.src.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+ 			.type = -1,
@@ -698 +636 @@
-@@ -209,14 +209,10 @@ static const struct tap_flow_items tap_flow_items[] = {
+@@ -302,14 +302,10 @@ static const struct tap_flow_items tap_flow_items[] = {
@@ -717 +655 @@
-@@ -299,7 +295,7 @@ static struct remote_rule implicit_rte_flows[TAP_REMOTE_MAX_IDX] = {
+@@ -392,7 +388,7 @@ static struct remote_rule implicit_rte_flows[TAP_REMOTE_MAX_IDX] = {
@@ -721,2 +659,2 @@
--				.hdr.dst_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-+				.hdr.dst_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+-				.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
++				.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
@@ -726 +664 @@
-@@ -316,10 +312,10 @@ static struct remote_rule implicit_rte_flows[TAP_REMOTE_MAX_IDX] = {
+@@ -409,10 +405,10 @@ static struct remote_rule implicit_rte_flows[TAP_REMOTE_MAX_IDX] = {
@@ -730,2 +668,2 @@
--				.hdr.dst_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-+				.hdr.dst_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+-				.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
++				.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
@@ -734,2 +672,2 @@
--				.hdr.dst_addr.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-+				.hdr.dst_addr.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
+-				.dst.addr_bytes = "\xff\xff\xff\xff\xff\xff",
++				.dst.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
@@ -739 +677 @@
-@@ -336,10 +332,10 @@ static struct remote_rule implicit_rte_flows[TAP_REMOTE_MAX_IDX] = {
+@@ -429,10 +425,10 @@ static struct remote_rule implicit_rte_flows[TAP_REMOTE_MAX_IDX] = {
@@ -743,2 +681,2 @@
--				.hdr.dst_addr.addr_bytes = "\x33\x33\x00\x00\x00\x00",
-+				.hdr.dst_addr.addr_bytes = { 0x33, 0x33, 0x00, 0x00, 0x00, 0x00 },
+-				.dst.addr_bytes = "\x33\x33\x00\x00\x00\x00",
++				.dst.addr_bytes = { 0x33, 0x33, 0x00, 0x00, 0x00, 0x00 },
@@ -747,2 +685,2 @@
--				.hdr.dst_addr.addr_bytes = "\x33\x33\x00\x00\x00\x00",
-+				.hdr.dst_addr.addr_bytes = { 0x33, 0x33, 0x00, 0x00, 0x00, 0x00 },
+-				.dst.addr_bytes = "\x33\x33\x00\x00\x00\x00",
++				.dst.addr_bytes = { 0x33, 0x33, 0x00, 0x00, 0x00, 0x00 },
@@ -752 +690 @@
-@@ -370,10 +366,10 @@ static struct remote_rule implicit_rte_flows[TAP_REMOTE_MAX_IDX] = {
+@@ -463,10 +459,10 @@ static struct remote_rule implicit_rte_flows[TAP_REMOTE_MAX_IDX] = {
@@ -756,2 +694,2 @@
--				.hdr.dst_addr.addr_bytes = "\x01\x00\x00\x00\x00\x00",
-+				.hdr.dst_addr.addr_bytes = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
+-				.dst.addr_bytes = "\x01\x00\x00\x00\x00\x00",
++				.dst.addr_bytes = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
@@ -760,2 +698,2 @@
--				.hdr.dst_addr.addr_bytes = "\x01\x00\x00\x00\x00\x00",
-+				.hdr.dst_addr.addr_bytes = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
+-				.dst.addr_bytes = "\x01\x00\x00\x00\x00\x00",
++				.dst.addr_bytes = { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 },
@@ -765,15 +702,0 @@
-diff --git a/examples/l2fwd-macsec/main.c b/examples/l2fwd-macsec/main.c
-index b262d3ba0b..73e32fc197 100644
---- a/examples/l2fwd-macsec/main.c
-+++ b/examples/l2fwd-macsec/main.c
-@@ -512,8 +512,8 @@ create_default_flow(uint16_t portid)
- 	struct rte_flow *flow;
- 	struct rte_flow_item_eth eth;
- 	static const struct rte_flow_item_eth eth_mask = {
--		.hdr.dst_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
--		.hdr.src_addr.addr_bytes = "\x00\x00\x00\x00\x00\x00",
-+		.hdr.dst_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
-+		.hdr.src_addr.addr_bytes = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },
- 		.hdr.ether_type = RTE_BE16(0xFFFF),
- 	};
- 	int ret;
@@ -781 +704 @@
-index a2929438bf..22c5c147d0 100644
+index 706ffba596..e1aad5a98a 100644
@@ -784 +707 @@
-@@ -903,8 +903,8 @@ struct rte_flow_item_eth {
+@@ -774,8 +774,8 @@ struct rte_flow_item_eth {
@@ -795 +718 @@
-@@ -1005,12 +1005,10 @@ struct rte_flow_item_ipv6 {
+@@ -877,12 +877,10 @@ struct rte_flow_item_ipv6 {
@@ -812,10 +735 @@
-@@ -1132,7 +1130,7 @@ struct rte_flow_item_vxlan {
- /** Default mask for RTE_FLOW_ITEM_TYPE_VXLAN. */
- #ifndef __cplusplus
- static const struct rte_flow_item_vxlan rte_flow_item_vxlan_mask = {
--	.hdr.vni = "\xff\xff\xff",
-+	.hdr.vni = { 0xff, 0xff, 0xff },
- };
- #endif
- 
-@@ -1185,7 +1183,7 @@ struct rte_flow_item_nvgre {
+@@ -1041,7 +1039,7 @@ struct rte_flow_item_nvgre {
@@ -830 +744 @@
-@@ -1205,7 +1203,7 @@ struct rte_flow_item_mpls {
+@@ -1061,7 +1059,7 @@ struct rte_flow_item_mpls {
@@ -839 +753 @@
-@@ -1349,7 +1347,7 @@ struct rte_flow_item_geneve {
+@@ -1196,7 +1194,7 @@ struct rte_flow_item_geneve {
@@ -848,2 +762,2 @@
-@@ -1386,7 +1384,7 @@ struct rte_flow_item_vxlan_gpe {
-  */
+@@ -1216,7 +1214,7 @@ struct rte_flow_item_vxlan_gpe {
+ /** Default mask for RTE_FLOW_ITEM_TYPE_VXLAN_GPE. */
@@ -852,2 +766,2 @@
--	.hdr.vni = "\xff\xff\xff",
-+	.hdr.vni =  { 0xff, 0xff, 0xff },
+-	.vni = "\xff\xff\xff",
++	.vni =  { 0xff, 0xff, 0xff },
@@ -857 +771 @@
-@@ -1420,9 +1418,9 @@ struct rte_flow_item_arp_eth_ipv4 {
+@@ -1241,10 +1239,10 @@ struct rte_flow_item_arp_eth_ipv4 {
@@ -861,6 +775,8 @@
--	.hdr.arp_data.arp_sha.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-+	.hdr.arp_data.arp_sha.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
- 	.hdr.arp_data.arp_sip = RTE_BE32(UINT32_MAX),
--	.hdr.arp_data.arp_tha.addr_bytes = "\xff\xff\xff\xff\xff\xff",
-+	.hdr.arp_data.arp_tha.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
- 	.hdr.arp_data.arp_tip = RTE_BE32(UINT32_MAX),
+-	.sha.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+-	.spa = RTE_BE32(0xffffffff),
+-	.tha.addr_bytes = "\xff\xff\xff\xff\xff\xff",
+-	.tpa = RTE_BE32(0xffffffff),
++	.sha.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
++	.spa = RTE_BE32(UINT32_MAX),
++	.tha.addr_bytes = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff },
++	.tpa = RTE_BE32(UINT32_MAX),
@@ -869 +785,2 @@
-@@ -1509,9 +1507,8 @@ struct rte_flow_item_icmp6_nd_ns {
+ 
+@@ -1320,9 +1318,8 @@ struct rte_flow_item_icmp6_nd_ns {
@@ -881 +798 @@
-@@ -1536,9 +1533,8 @@ struct rte_flow_item_icmp6_nd_na {
+@@ -1347,9 +1344,8 @@ struct rte_flow_item_icmp6_nd_na {
@@ -893 +810 @@
-@@ -1587,7 +1583,7 @@ struct rte_flow_item_icmp6_nd_opt_sla_eth {
+@@ -1398,7 +1394,7 @@ struct rte_flow_item_icmp6_nd_opt_sla_eth {
@@ -902 +819 @@
-@@ -1612,7 +1608,7 @@ struct rte_flow_item_icmp6_nd_opt_tla_eth {
+@@ -1423,7 +1419,7 @@ struct rte_flow_item_icmp6_nd_opt_tla_eth {
@@ -911,9 +827,0 @@
-@@ -2075,7 +2071,7 @@ struct rte_flow_item_ib_bth {
- static const struct rte_flow_item_ib_bth rte_flow_item_ib_bth_mask = {
- 	.hdr = {
- 		.opcode = 0xff,
--		.dst_qp = "\xff\xff\xff",
-+		.dst_qp =  { 0xff, 0xff, 0xff },
- 	},
- };
- #endif

^ permalink raw reply	[flat|nested] 79+ messages in thread

end of thread, other threads:[~2025-02-17 17:09 UTC | newest]

Thread overview: 79+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-02-17 17:03 patch 'test/ring: fix init with custom number of lcores' has been queued to stable release 22.11.8 luca.boccassi
2025-02-17 17:03 ` patch 'vhost: clear ring addresses when getting vring base' " luca.boccassi
2025-02-17 17:03 ` patch 'vhost: check GSO size validity' " luca.boccassi
2025-02-17 17:03 ` patch 'crypto/cnxk: fix build with GCC 15' " luca.boccassi
2025-02-17 17:03 ` patch 'net/thunderx/base: " luca.boccassi
2025-02-17 17:03 ` patch 'eal/x86: fix some intrinsics header include for Windows' " luca.boccassi
2025-02-17 17:03 ` patch 'net/bonding: fix dedicated queue setup' " luca.boccassi
2025-02-17 17:03 ` patch 'net/hns3: fix mbuf freeing in simple Tx path' " luca.boccassi
2025-02-17 17:03 ` patch 'net/hns3: remove PVID info dump for VF' " luca.boccassi
2025-02-17 17:03 ` patch 'net/hns3: rename RAS module' " luca.boccassi
2025-02-17 17:03 ` patch 'net/sfc: remove unnecessary assignment' " luca.boccassi
2025-02-17 17:03 ` patch 'net/mlx5: fix polling CQEs' " luca.boccassi
2025-02-17 17:03 ` patch 'net/iavf: remove reset of Tx prepare function pointer' " luca.boccassi
2025-02-17 17:03 ` patch 'net/ice: fix memory leak in scalar Rx' " luca.boccassi
2025-02-17 17:03 ` patch 'common/cnxk: fix atomic load in batch ops' " luca.boccassi
2025-02-17 17:03 ` patch 'common/cnxk: fix DPI mailbox structure' " luca.boccassi
2025-02-17 17:03 ` patch 'crypto/virtio: fix redundant queue free' " luca.boccassi
2025-02-17 17:03 ` patch 'crypto/openssl: fix CMAC auth context update' " luca.boccassi
2025-02-17 17:03 ` patch 'crypto/virtio: fix data queues iteration' " luca.boccassi
2025-02-17 17:03 ` patch 'net/enetfec: remove useless assignment' " luca.boccassi
2025-02-17 17:03 ` patch 'net/cnxk: fix NIX send header L3 type' " luca.boccassi
2025-02-17 17:03 ` patch 'eal/linux: fix memseg length in legacy mem init' " luca.boccassi
2025-02-17 17:03 ` patch 'use Python raw string notation' " luca.boccassi
2025-02-17 17:03 ` patch 'net/af_packet: fix socket close on device stop' " luca.boccassi
2025-02-17 17:03 ` patch 'ethdev: fix functions available in new device event' " luca.boccassi
2025-02-17 17:03 ` patch 'vhost: add null callback checks' " luca.boccassi
2025-02-17 17:04 ` patch 'build: force GCC 15 to initialize padding bits' " luca.boccassi
2025-02-17 17:04 ` patch 'net/bnxt: fix indication of allocation' " luca.boccassi
2025-02-17 17:04 ` patch 'net/bnxt: fix crash when representor is re-attached' " luca.boccassi
2025-02-17 17:04 ` patch 'net/mlx5: fix Netlink socket leak' " luca.boccassi
2025-02-17 17:04 ` patch 'net/mlx5: adjust actions per rule limitation' " luca.boccassi
2025-02-17 17:04 ` patch 'net/mlx5: fix flush of non-template flow rules' " luca.boccassi
2025-02-17 17:04 ` patch 'net/mlx5: fix GRE flow match with SWS' " luca.boccassi
2025-02-17 17:04 ` patch 'net/igc/base: fix deadlock when writing i225 register' " luca.boccassi
2025-02-17 17:04 ` patch 'net/igc/base: fix infinite loop' " luca.boccassi
2025-02-17 17:04 ` patch 'net/igc/base: fix bitwise operation type' " luca.boccassi
2025-02-17 17:04 ` patch 'net/igc/base: increase PHY power up delay' " luca.boccassi
2025-02-17 17:04 ` patch 'net/igc/base: reset loop variable' " luca.boccassi
2025-02-17 17:04 ` patch 'net/igc/base: fix LTR for i225' " luca.boccassi
2025-02-17 17:04 ` patch 'net/igc/base: fix typo in LTR calculation' " luca.boccassi
2025-02-17 17:04 ` patch 'net/igc/base: fix unused value' " luca.boccassi
2025-02-17 17:04 ` patch 'net/igc/base: fix semaphore timeout " luca.boccassi
2025-02-17 17:04 ` patch 'net/igc/base: fix iterator type' " luca.boccassi
2025-02-17 17:04 ` patch 'net/igc/base: fix MAC address hash bit shift' " luca.boccassi
2025-02-17 17:04 ` patch 'net/igc/base: fix data type in MAC hash' " luca.boccassi
2025-02-17 17:04 ` patch 'net/igc/base: fix NVM data type in bit shift' " luca.boccassi
2025-02-17 17:04 ` patch 'net/e1000/base: fix semaphore timeout value' " luca.boccassi
2025-02-17 17:04 ` patch 'net/e1000/base: correct mPHY access logic' " luca.boccassi
2025-02-17 17:04 ` patch 'net/e1000/base: fix iterator type' " luca.boccassi
2025-02-17 17:04 ` patch 'net/e1000/base: fix MAC address hash bit shift' " luca.boccassi
2025-02-17 17:04 ` patch 'net/e1000/base: fix data type in MAC hash' " luca.boccassi
2025-02-17 17:04 ` patch 'net/e1000/base: fix uninitialized variable' " luca.boccassi
2025-02-17 17:04 ` patch 'net/e1000/base: fix bitwise operation type' " luca.boccassi
2025-02-17 17:04 ` patch 'net/e1000/base: fix NVM data type in bit shift' " luca.boccassi
2025-02-17 17:04 ` patch 'net/e1000/base: fix reset for 82580' " luca.boccassi
2025-02-17 17:04 ` patch 'net/e1000/base: fix unchecked return' " luca.boccassi
2025-02-17 17:04 ` patch 'net/e1000/base: skip management check for 82575' " luca.boccassi
2025-02-17 17:04 ` patch 'common/idpf: fix void function returning a value' " luca.boccassi
2025-02-17 17:04 ` patch 'net/intel: fix void functions " luca.boccassi
2025-02-17 17:04 ` patch 'net/intel: fix build with icx' " luca.boccassi
2025-02-17 17:04 ` patch 'net/hns3: fix copper port initialization' " luca.boccassi
2025-02-17 17:04 ` patch 'net/hns3: fix reset timeout' " luca.boccassi
2025-02-17 17:04 ` patch 'raw/cnxk_gpio: fix file descriptor leak' " luca.boccassi
2025-02-17 17:04 ` patch 'net/i40e: remove duplicate code' " luca.boccassi
2025-02-17 17:04 ` patch 'eal: fix devargs layers parsing out of bounds' " luca.boccassi
2025-02-17 17:04 ` patch 'net/qede: fix debug messages array' " luca.boccassi
2025-02-17 17:04 ` patch 'examples/ptpclient: fix message parsing' " luca.boccassi
2025-02-17 17:04 ` patch 'net/hinic: fix flow type bitmask overflow' " luca.boccassi
2025-02-17 17:04 ` patch 'crypto/dpaa2_sec: fix bitmask truncation' " luca.boccassi
2025-02-17 17:04 ` patch 'crypto/dpaa_sec: " luca.boccassi
2025-02-17 17:04 ` patch 'event/dpaa: " luca.boccassi
2025-02-17 17:04 ` patch 'net/dpaa: " luca.boccassi
2025-02-17 17:04 ` patch 'net/dpaa2: " luca.boccassi
2025-02-17 17:04 ` patch 'net/qede: fix nested loops' " luca.boccassi
2025-02-17 17:04 ` patch 'examples/l3fwd: fix socket ID check' " luca.boccassi
2025-02-17 17:04 ` patch 'common/cnxk: fix null " luca.boccassi
2025-02-17 17:04 ` patch 'eal/linux: remove useless assignments' " luca.boccassi
2025-02-17 17:04 ` patch 'mempool: fix errno in empty create' " luca.boccassi
2025-02-17 17:04 ` patch 'ethdev: convert string initialization' " luca.boccassi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).