patches for DPDK stable branches
 help / color / mirror / Atom feed
* patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6
@ 2023-12-07 11:20 Kevin Traynor
  2023-12-07 11:20 ` patch 'doc: fix hns3 build option about max queue number' " Kevin Traynor
                   ` (20 more replies)
  0 siblings, 21 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:20 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Luca Boccassi, Jiawen Wu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

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

Thanks.

Kevin

---
From d549330dfcbdfa5c0a5018592188d2737ae9c743 Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@amd.com>
Date: Fri, 17 Nov 2023 10:12:04 +0000
Subject: [PATCH] net/txgbe: fix out of bound access

[ upstream commit 4a2ba73b1d1a76a4c270aa34af22229172a7f387 ]

Reported by SuSe CI [1] by GCC [2], possibly false positive. Error:

 In function 'txgbe_host_interface_command',
     inlined from 'txgbe_host_interface_command'
             at ../drivers/net/txgbe/base/txgbe_mng.c:104:1,
     inlined from 'txgbe_hic_reset'
             at ../drivers/net/txgbe/base/txgbe_mng.c:345:9:
 ../drivers/net/txgbe/base/txgbe_mng.c:145:36:
    error: array subscript 2 is outside array bounds ofr
           'struct txgbe_hic_reset[1]' [-Werror=array-bounds=]
   145 |                     buffer[bi] = rd32a(hw, TXGBE_MNGMBX, bi);
 ../drivers/net/txgbe/base/txgbe_mng.c: In function 'txgbe_hic_reset':
 ../drivers/net/txgbe/base/txgbe_mng.c:331:32:
    note: at offset 8 into object 'reset_cmd' of size 8
   331 |         struct txgbe_hic_reset reset_cmd;
       |                                ^~~~~~~~~

Access to buffer done based on command code, the case complained by
FW_RESET_CMD has short buffer but this code path only taken with command
0x30, so this shouldn't be a problem.

Command 0x30 no more used, removing this exception check that cause
build error.

[1]
https://build.opensuse.org/public/build/home:bluca:dpdk/openSUSE_Factory_ARM/armv7l/dpdk-20.11/_log

[2]
gcc 13.2.1 "cc (SUSE Linux) 13.2.1 20230912

Fixes: 35c90ecccfd4 ("net/txgbe: add EEPROM functions")

Reported-by: Luca Boccassi <luca.boccassi@microsoft.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@amd.com>
Reviewed-by: Jiawen Wu <jiawenwu@trustnetic.com>
---
 drivers/net/txgbe/base/txgbe_mng.c | 16 +---------------
 1 file changed, 1 insertion(+), 15 deletions(-)

diff --git a/drivers/net/txgbe/base/txgbe_mng.c b/drivers/net/txgbe/base/txgbe_mng.c
index 045a2f5de0..6255718ff7 100644
--- a/drivers/net/txgbe/base/txgbe_mng.c
+++ b/drivers/net/txgbe/base/txgbe_mng.c
@@ -137,19 +137,5 @@ txgbe_host_interface_command(struct txgbe_hw *hw, u32 *buffer,
 		buffer[bi] = rd32a(hw, TXGBE_MNGMBX, bi);
 
-	/*
-	 * If there is any thing in data position pull it in
-	 * Read Flash command requires reading buffer length from
-	 * two byes instead of one byte
-	 */
-	if (resp->cmd == 0x30) {
-		for (; bi < dword_len + 2; bi++)
-			buffer[bi] = rd32a(hw, TXGBE_MNGMBX, bi);
-
-		buf_len = (((u16)(resp->cmd_or_resp.ret_status) << 3)
-				  & 0xF00) | resp->buf_len;
-		hdr_size += (2 << 2);
-	} else {
-		buf_len = resp->buf_len;
-	}
+	buf_len = resp->buf_len;
 	if (!buf_len)
 		goto rel_out;
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:18:59.670721969 +0000
+++ 0001-net-txgbe-fix-out-of-bound-access.patch	2023-12-07 11:18:59.606873856 +0000
@@ -1 +1 @@
-From 4a2ba73b1d1a76a4c270aa34af22229172a7f387 Mon Sep 17 00:00:00 2001
+From d549330dfcbdfa5c0a5018592188d2737ae9c743 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4a2ba73b1d1a76a4c270aa34af22229172a7f387 ]
+
@@ -37 +38,0 @@
-Cc: stable@dpdk.org
@@ -47 +48 @@
-index df7145094f..029a0a1fe1 100644
+index 045a2f5de0..6255718ff7 100644
@@ -50 +51 @@
-@@ -142,19 +142,5 @@ txgbe_host_interface_command(struct txgbe_hw *hw, u32 *buffer,
+@@ -137,19 +137,5 @@ txgbe_host_interface_command(struct txgbe_hw *hw, u32 *buffer,


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

* patch 'doc: fix hns3 build option about max queue number' has been queued to stable release 21.11.6
  2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
@ 2023-12-07 11:20 ` Kevin Traynor
  2023-12-07 11:20 ` patch 'doc: update features in hns3 guide' " Kevin Traynor
                   ` (19 subsequent siblings)
  20 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:20 UTC (permalink / raw)
  To: Huisong Li; +Cc: Jie Hai, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

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

Thanks.

Kevin

---
From dded07195d8b01930d6c1f9e8b4fce3df158cd74 Mon Sep 17 00:00:00 2001
From: Huisong Li <lihuisong@huawei.com>
Date: Mon, 20 Nov 2023 19:14:02 +0800
Subject: [PATCH] doc: fix hns3 build option about max queue number

[ upstream commit f64a879dbb1f8b508d9cf25dd4a252597f72864c ]

This patch fixes the description of compilation option about setting max
queue number. The maximum queue number of HIP09 and HIP10 is determined
by the RTE_LIBRTE_HNS3_MAX_TQP_NUM_PER_PF and the value the firmware
report.

Fixes: 21938cf4e43e ("doc: add build config option in hns3 guide")

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Acked-by: Jie Hai <haijie1@huawei.com>
---
 doc/guides/nics/hns3.rst | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/doc/guides/nics/hns3.rst b/doc/guides/nics/hns3.rst
index 6fbd4320ef..64fcc1d30b 100644
--- a/doc/guides/nics/hns3.rst
+++ b/doc/guides/nics/hns3.rst
@@ -59,5 +59,6 @@ The following options can be modified in the ``config/rte_config.h`` file.
 - ``RTE_LIBRTE_HNS3_MAX_TQP_NUM_PER_PF`` (default ``256``)
 
-  Number of MAX queues reserved for PF.
+  Number of MAX queues reserved for PF on HIP09 and HIP10.
+  The MAX queue number is also determined by the value the firmware report.
 
 Runtime Config Options
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:18:59.691259560 +0000
+++ 0002-doc-fix-hns3-build-option-about-max-queue-number.patch	2023-12-07 11:18:59.608873862 +0000
@@ -1 +1 @@
-From f64a879dbb1f8b508d9cf25dd4a252597f72864c Mon Sep 17 00:00:00 2001
+From dded07195d8b01930d6c1f9e8b4fce3df158cd74 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f64a879dbb1f8b508d9cf25dd4a252597f72864c ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index ee774639d3..f1d4084bfa 100644
+index 6fbd4320ef..64fcc1d30b 100644
@@ -24 +25 @@
-@@ -70,5 +70,6 @@ The following options can be modified in the ``config/rte_config.h`` file.
+@@ -59,5 +59,6 @@ The following options can be modified in the ``config/rte_config.h`` file.
@@ -31 +32 @@
- Runtime Configuration
+ Runtime Config Options


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

* patch 'doc: update features in hns3 guide' has been queued to stable release 21.11.6
  2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
  2023-12-07 11:20 ` patch 'doc: fix hns3 build option about max queue number' " Kevin Traynor
@ 2023-12-07 11:20 ` Kevin Traynor
  2023-12-07 11:20 ` patch 'doc: fix RSS flow description " Kevin Traynor
                   ` (18 subsequent siblings)
  20 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:20 UTC (permalink / raw)
  To: Huisong Li; +Cc: Jie Hai, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/326b4f12134f8ee876fc2f7df96a739e260eeff0

Thanks.

Kevin

---
From 326b4f12134f8ee876fc2f7df96a739e260eeff0 Mon Sep 17 00:00:00 2001
From: Huisong Li <lihuisong@huawei.com>
Date: Mon, 20 Nov 2023 19:14:03 +0800
Subject: [PATCH] doc: update features in hns3 guide

[ upstream commit 97d443f751441c71f8307aea9d9ac2752fa1045c ]

Update the features for hns3.

- "Basic stats" and "Extended stats" supported by
Fixes: 8839c5e202f3 ("net/hns3: support device stats")

- "Traffic Management API" supported by
Fixes: c09c7847d892 ("net/hns3: support traffic management")

- "Speed capabilities" supported by
Fixes: 09e0de1f411b ("net/hns3: report speed capability for PF")

- "Link Auto-negotiation" supported by
Fixes: bdaf190f8235 ("net/hns3: support link speed autoneg for PF")

- "Link flow control" supported by
Fixes: 62e3ccc2b94c ("net/hns3: support flow control")

- "Dump private info from device" supported by
Fixes: 1a03c659cb9d ("net/hns3: dump device basic info")

- "FW version" supported by
Fixes: 1f5ca0b460cd ("net/hns3: support some device operations")

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Acked-by: Jie Hai <haijie1@huawei.com>
---
 doc/guides/nics/hns3.rst | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/doc/guides/nics/hns3.rst b/doc/guides/nics/hns3.rst
index 64fcc1d30b..d4ca2b718c 100644
--- a/doc/guides/nics/hns3.rst
+++ b/doc/guides/nics/hns3.rst
@@ -31,5 +31,4 @@ Features of the HNS3 PMD are:
 - Scattered and gather for TX and RX
 - Vector Poll mode driver
-- Dump register
 - SR-IOV VF
 - Multi-process
@@ -39,4 +38,13 @@ Features of the HNS3 PMD are:
 - Generic flow API
 - IEEE1588/802.1AS timestamping
+- Basic stats
+- Extended stats
+- Traffic Management API
+- Speed capabilities
+- Link Auto-negotiation
+- Link flow control
+- Dump register
+- Dump private info from device
+- FW version
 
 Prerequisites
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:18:59.712491472 +0000
+++ 0003-doc-update-features-in-hns3-guide.patch	2023-12-07 11:18:59.609873866 +0000
@@ -1 +1 @@
-From 97d443f751441c71f8307aea9d9ac2752fa1045c Mon Sep 17 00:00:00 2001
+From 326b4f12134f8ee876fc2f7df96a739e260eeff0 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 97d443f751441c71f8307aea9d9ac2752fa1045c ]
+
@@ -29,2 +30,0 @@
-Cc: stable@dpdk.org
-
@@ -38 +38 @@
-index f1d4084bfa..3703987309 100644
+index 64fcc1d30b..d4ca2b718c 100644


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

* patch 'doc: fix RSS flow description in hns3 guide' has been queued to stable release 21.11.6
  2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
  2023-12-07 11:20 ` patch 'doc: fix hns3 build option about max queue number' " Kevin Traynor
  2023-12-07 11:20 ` patch 'doc: update features in hns3 guide' " Kevin Traynor
@ 2023-12-07 11:20 ` Kevin Traynor
  2023-12-07 11:20 ` patch 'doc: update versions recommendations for i40e and ice' " Kevin Traynor
                   ` (17 subsequent siblings)
  20 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:20 UTC (permalink / raw)
  To: Huisong Li; +Cc: Jie Hai, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/384083681747bd3936e81e633a9176e8105ddc31

Thanks.

Kevin

---
From 384083681747bd3936e81e633a9176e8105ddc31 Mon Sep 17 00:00:00 2001
From: Huisong Li <lihuisong@huawei.com>
Date: Mon, 20 Nov 2023 19:14:04 +0800
Subject: [PATCH] doc: fix RSS flow description in hns3 guide

[ upstream commit 9036f9fef8ed7002ba45d78ef1e5c604dfc9948a ]

The hns3 driver supports for creating rule base on input tuple, hash
key, queues and hash algorithm. But hash key, queues and hash algorithm
are the global configuration for hardware which will affect other rules.
The rule just setting input tuple is completely independent.

Fixes: 63a0f65c9572 ("doc: add more description in hns3 guide")

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Acked-by: Jie Hai <haijie1@huawei.com>
---
 doc/guides/nics/hns3.rst | 42 ++++++++++++++++++++++++++--------------
 1 file changed, 28 insertions(+), 14 deletions(-)

diff --git a/doc/guides/nics/hns3.rst b/doc/guides/nics/hns3.rst
index d4ca2b718c..380024600b 100644
--- a/doc/guides/nics/hns3.rst
+++ b/doc/guides/nics/hns3.rst
@@ -213,34 +213,48 @@ Generic flow API
 - ``RSS Flow``
 
-  RSS Flow supports to set hash input set, hash function, enable hash
-  and configure queues.
-  For example:
-  Configure queues as queue 0, 1, 2, 3.
+  RSS Flow supports for creating rule base on input tuple, hash key, queues
+  and hash algorithm. But hash key, queues and hash algorithm are the global
+  configuration for hardware which will affect other rules.
+  The rule just setting input tuple is completely independent.
+
+  Run ``testpmd``:
 
   .. code-block:: console
 
-    testpmd> flow create 0 ingress pattern end actions rss types end \
-      queues 0 1 2 3 end / end
+    dpdk-testpmd -a 0000:7d:00.0 -l 10-18 -- -i --rxq=8 --txq=8
+
+  All IP packets can be distributed to 8 queues.
 
-  Enable hash and set input set for IPv4-TCP.
+  Set IPv4-TCP packet is distributed to 8 queues based on L3/L4 SRC only.
 
   .. code-block:: console
 
-    testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end \
-      actions rss types ipv4-tcp l3-src-only end queues end / end
+    testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions \
+             rss types ipv4-tcp l4-src-only l3-src-only end queues end / end
 
-  Set symmetric hash enable for flow type IPv4-TCP.
+  Disable IPv4 packet RSS hash.
 
   .. code-block:: console
 
-    testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end \
-      actions rss types ipv4-tcp end queues end func symmetric_toeplitz / end
+    testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss \
+             types none end queues end / end
 
-  Set hash function as simple xor.
+  Set hash function as symmetric Toeplitz.
 
   .. code-block:: console
 
     testpmd> flow create 0 ingress pattern end actions rss types end \
-      queues end func simple_xor / end
+             queues end func symmetric_toeplitz / end
+
+  In this case, all packets that enabled RSS are hashed using symmetric
+  Toeplitz algorithm.
+
+  Flush all RSS rules
+
+  .. code-block:: console
+
+    testpmd> flow flush 0
+
+  The RSS configurations of hardwre is back to the one ethdev ops set.
 
 Statistics
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:18:59.732936414 +0000
+++ 0004-doc-fix-RSS-flow-description-in-hns3-guide.patch	2023-12-07 11:18:59.611873873 +0000
@@ -1 +1 @@
-From 9036f9fef8ed7002ba45d78ef1e5c604dfc9948a Mon Sep 17 00:00:00 2001
+From 384083681747bd3936e81e633a9176e8105ddc31 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 9036f9fef8ed7002ba45d78ef1e5c604dfc9948a ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 3703987309..3b0613fc1b 100644
+index d4ca2b718c..380024600b 100644
@@ -24 +25 @@
-@@ -240,34 +240,48 @@ Generic flow API
+@@ -213,34 +213,48 @@ Generic flow API


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

* patch 'doc: update versions recommendations for i40e and ice' has been queued to stable release 21.11.6
  2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
                   ` (2 preceding siblings ...)
  2023-12-07 11:20 ` patch 'doc: fix RSS flow description " Kevin Traynor
@ 2023-12-07 11:20 ` Kevin Traynor
  2023-12-07 11:20 ` patch 'examples/ipsec-secgw: fix partial overflow' " Kevin Traynor
                   ` (16 subsequent siblings)
  20 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:20 UTC (permalink / raw)
  To: Kevin Traynor; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

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

Thanks.

Kevin

---
From 25bd80cff61e08d78b72877a1155dc1df321d352 Mon Sep 17 00:00:00 2001
From: Kevin Traynor <ktraynor@redhat.com>
Date: Fri, 10 Nov 2023 12:14:07 +0000
Subject: [PATCH] doc: update versions recommendations for i40e and ice

[ upstream commit 300d68eb1cf095199b1d2282faceffc5adf59e3d ]

Update documentation to stop recommending that
out-of-tree Linux Kernel drivers are used for
i40e and ice.

Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 doc/guides/nics/i40e.rst | 15 +++++++++------
 doc/guides/nics/ice.rst  | 11 +++++++----
 2 files changed, 16 insertions(+), 10 deletions(-)

diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst
index aedb1afc4b..9629afede7 100644
--- a/doc/guides/nics/i40e.rst
+++ b/doc/guides/nics/i40e.rst
@@ -89,11 +89,14 @@ Windows Prerequisites
   <https://git.dpdk.org/dpdk-kmods/tree/windows/netuio/README.rst>`_.
 
-Recommended Matching List
--------------------------
+Kernel driver and Firmware Matching List
+----------------------------------------
 
-It is highly recommended to upgrade the i40e kernel driver and firmware to
-avoid the compatibility issues with i40e PMD. Here is the suggested matching
-list which has been tested and verified. The detailed information can refer
-to chapter Tested Platforms/Tested NICs in release notes.
+It is highly recommended to upgrade the i40e kernel driver and firmware
+to avoid the compatibility issues with i40e PMD.
+The table below shows a summary of the DPDK versions
+with corresponding out-of-tree Linux kernel drivers and firmware.
+The full list of in-tree and out-of-tree Linux kernel drivers from kernel.org
+and Linux distributions that were tested and verified
+are listed in the Tested Platforms section of the Release Notes for each release.
 
 For X710/XL710/XXV710,
diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst
index 6b903b9bbc..569fd9dadc 100644
--- a/doc/guides/nics/ice.rst
+++ b/doc/guides/nics/ice.rst
@@ -42,11 +42,14 @@ Windows Prerequisites
 
 
-Recommended Matching List
--------------------------
+Kernel driver, DDP and Firmware Matching List
+---------------------------------------------
 
 It is highly recommended to upgrade the ice kernel driver, firmware and DDP package
 to avoid the compatibility issues with ice PMD.
-Here is the suggested matching list which has been tested and verified.
-The detailed information can refer to chapter Tested Platforms/Tested NICs in release notes.
+The table below shows a summary of the DPDK versions
+with corresponding out-of-tree Linux kernel drivers, DDP package and firmware.
+The full list of in-tree and out-of-tree Linux kernel drivers from kernel.org
+and Linux distributions that were tested and verified
+are listed in the Tested Platforms section of the Release Notes for each release.
 
    +-----------+---------------+-----------------+-----------+--------------+-----------+
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:18:59.753681685 +0000
+++ 0005-doc-update-versions-recommendations-for-i40e-and-ice.patch	2023-12-07 11:18:59.614873883 +0000
@@ -1 +1 @@
-From 300d68eb1cf095199b1d2282faceffc5adf59e3d Mon Sep 17 00:00:00 2001
+From 25bd80cff61e08d78b72877a1155dc1df321d352 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 300d68eb1cf095199b1d2282faceffc5adf59e3d ]
+
@@ -10,2 +11,0 @@
-Cc: stable@dpdk.org
-
@@ -20 +20 @@
-index 791e9553bc..6cd1165521 100644
+index aedb1afc4b..9629afede7 100644
@@ -45 +45 @@
-index 6e71aac3c2..820a385b06 100644
+index 6b903b9bbc..569fd9dadc 100644


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

* patch 'examples/ipsec-secgw: fix partial overflow' has been queued to stable release 21.11.6
  2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
                   ` (3 preceding siblings ...)
  2023-12-07 11:20 ` patch 'doc: update versions recommendations for i40e and ice' " Kevin Traynor
@ 2023-12-07 11:20 ` Kevin Traynor
  2023-12-07 11:20 ` patch 'eal/windows: fix build with recent MinGW' " Kevin Traynor
                   ` (15 subsequent siblings)
  20 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:20 UTC (permalink / raw)
  To: Brian Dooley; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

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

Thanks.

Kevin

---
From e39929c86840f6941bd8274a41c2872916cd5ad9 Mon Sep 17 00:00:00 2001
From: Brian Dooley <brian.dooley@intel.com>
Date: Wed, 15 Nov 2023 12:31:01 +0000
Subject: [PATCH] examples/ipsec-secgw: fix partial overflow

[ upstream commit ae9267a67e9030c1b069b0df69924aaca17683bb ]

Case of partial overflow detected with ASan.
Added extra padding to cdev_key structure.

This structure is used for the key in hash table.
Padding is added to force the struct to use 8 bytes,
to ensure memory is notread past this structs boundary
(the hash key calculation reads 8 bytes if this struct is size 5 bytes).
The padding should be zeroed.
If fields are modified in this struct, the padding must be updated to
ensure multiple of 8 bytes size overall.

Fixes: d299106e8e31 ("examples/ipsec-secgw: add IPsec sample application")

Signed-off-by: Brian Dooley <brian.dooley@intel.com>
---
 examples/ipsec-secgw/ipsec.h | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/examples/ipsec-secgw/ipsec.h b/examples/ipsec-secgw/ipsec.h
index bc87b1a51d..080579c51a 100644
--- a/examples/ipsec-secgw/ipsec.h
+++ b/examples/ipsec-secgw/ipsec.h
@@ -233,4 +233,10 @@ struct ipsec_ctx {
 };
 
+/*
+ * This structure is used for the key in hash table.
+ * Padding is to force the struct to use 8 bytes,
+ * to ensure memory is not read past this structs boundary
+ * (hash key calculation reads 8 bytes if this struct is size 5 bytes).
+ */
 struct cdev_key {
 	uint16_t lcore_id;
@@ -238,4 +244,5 @@ struct cdev_key {
 	uint8_t auth_algo;
 	uint8_t aead_algo;
+	uint8_t padding[3]; /* padding to 8-byte size should be zeroed */
 };
 
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:18:59.775295940 +0000
+++ 0006-examples-ipsec-secgw-fix-partial-overflow.patch	2023-12-07 11:18:59.615873886 +0000
@@ -1 +1 @@
-From ae9267a67e9030c1b069b0df69924aaca17683bb Mon Sep 17 00:00:00 2001
+From e39929c86840f6941bd8274a41c2872916cd5ad9 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ae9267a67e9030c1b069b0df69924aaca17683bb ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
@@ -26 +27 @@
-index 5059418456..bdcada1c40 100644
+index bc87b1a51d..080579c51a 100644
@@ -29,2 +30,2 @@
-@@ -250,4 +250,10 @@ struct offloads {
- extern struct offloads tx_offloads;
+@@ -233,4 +233,10 @@ struct ipsec_ctx {
+ };
@@ -40 +41 @@
-@@ -255,4 +261,5 @@ struct cdev_key {
+@@ -238,4 +244,5 @@ struct cdev_key {


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

* patch 'eal/windows: fix build with recent MinGW' has been queued to stable release 21.11.6
  2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
                   ` (4 preceding siblings ...)
  2023-12-07 11:20 ` patch 'examples/ipsec-secgw: fix partial overflow' " Kevin Traynor
@ 2023-12-07 11:20 ` Kevin Traynor
  2023-12-07 11:21 ` patch 'pdump: fix error number on IPC response' " Kevin Traynor
                   ` (14 subsequent siblings)
  20 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:20 UTC (permalink / raw)
  To: Gregory Etelson
  Cc: Tyler Retzlaff, Dmitry Kozlyuk, Thomas Monjalon, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

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

Thanks.

Kevin

---
From b2d5c193dffba21526fe7a2ae0a2c1a0668a0bfe Mon Sep 17 00:00:00 2001
From: Gregory Etelson <getelson@nvidia.com>
Date: Tue, 14 Nov 2023 19:05:29 +0200
Subject: [PATCH] eal/windows: fix build with recent MinGW

[ upstream commit c6221c664e52a94baf259a29ea73645496502af1 ]

Windows compilation with cross-mingw on Fedora 39 failed
because MEM_REPLACE_PLACEHOLDER and MEM_RESERVE_PLACEHOLDER were
already defined in the compiler environment:

eal_memory.c:77: error: "MEM_REPLACE_PLACEHOLDER" redefined
/usr/x86_64-w64-mingw32/sys-root/mingw/include/winnt.h:5710: note:
this is the location of the previous definition

eal_memory.c:78: error: "MEM_RESERVE_PLACEHOLDER" redefined
/usr/x86_64-w64-mingw32/sys-root/mingw/include/winnt.h:5715: note:
this is the location of the previous definition

The patch masks MEM_REPLACE_PLACEHOLDER and MEM_RESERVE_PLACEHOLDER
macros if they were pre-defined by compiler.

The patch also masks MEM_COALESCE_PLACEHOLDERS and
MEM_PRESERVE_PLACEHOLDER to prevent similar errors.

Fixes: 2a5d547a4a9b ("eal/windows: implement basic memory management")

Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
---
 lib/eal/windows/eal_memory.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/lib/eal/windows/eal_memory.c b/lib/eal/windows/eal_memory.c
index 2fd37d9708..643e0e7a16 100644
--- a/lib/eal/windows/eal_memory.c
+++ b/lib/eal/windows/eal_memory.c
@@ -73,8 +73,16 @@ static VirtualAlloc2_type VirtualAlloc2_ptr;
 #ifdef RTE_TOOLCHAIN_GCC
 
+#ifndef MEM_COALESCE_PLACEHOLDERS
 #define MEM_COALESCE_PLACEHOLDERS 0x00000001
+#endif
+#ifndef MEM_PRESERVE_PLACEHOLDER
 #define MEM_PRESERVE_PLACEHOLDER  0x00000002
+#endif
+#ifndef MEM_REPLACE_PLACEHOLDER
 #define MEM_REPLACE_PLACEHOLDER   0x00004000
+#endif
+#ifndef MEM_RESERVE_PLACEHOLDER
 #define MEM_RESERVE_PLACEHOLDER   0x00040000
+#endif
 
 int
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:18:59.796221386 +0000
+++ 0007-eal-windows-fix-build-with-recent-MinGW.patch	2023-12-07 11:18:59.617873893 +0000
@@ -1 +1 @@
-From c6221c664e52a94baf259a29ea73645496502af1 Mon Sep 17 00:00:00 2001
+From b2d5c193dffba21526fe7a2ae0a2c1a0668a0bfe Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c6221c664e52a94baf259a29ea73645496502af1 ]
+
@@ -25 +26,0 @@
-Cc: stable@dpdk.org
@@ -36 +37 @@
-index 215d768e2c..31410a41fd 100644
+index 2fd37d9708..643e0e7a16 100644


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

* patch 'pdump: fix error number on IPC response' has been queued to stable release 21.11.6
  2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
                   ` (5 preceding siblings ...)
  2023-12-07 11:20 ` patch 'eal/windows: fix build with recent MinGW' " Kevin Traynor
@ 2023-12-07 11:21 ` Kevin Traynor
  2023-12-07 11:21 ` patch 'app/dumpcap: allow multiple invocations' " Kevin Traynor
                   ` (13 subsequent siblings)
  20 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:21 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Morten Brørup, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

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

Thanks.

Kevin

---
From c9a8aa95deb8b31cf7744828dd4778840b83a615 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Fri, 17 Nov 2023 08:35:55 -0800
Subject: [PATCH] pdump: fix error number on IPC response
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 5ec9575d8c0abfcefbc353d540f228d6d7036fe6 ]

The response from MP server sets err_value to negative
on error. The convention for rte_errno is to use a positive
value on error. This makes errors like duplicate registration
show up with the correct error value.

Fixes: 660098d61f57 ("pdump: use generic multi-process channel")

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
---
 lib/pdump/rte_pdump.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lib/pdump/rte_pdump.c b/lib/pdump/rte_pdump.c
index 805d12236c..3b3618bc3a 100644
--- a/lib/pdump/rte_pdump.c
+++ b/lib/pdump/rte_pdump.c
@@ -564,7 +564,8 @@ pdump_prepare_client_request(const char *device, uint16_t queue,
 		mp_rep = &mp_reply.msgs[0];
 		resp = (struct pdump_response *)mp_rep->param;
-		rte_errno = resp->err_value;
-		if (!resp->err_value)
+		if (resp->err_value == 0)
 			ret = 0;
+		else
+			rte_errno = -resp->err_value;
 		free(mp_reply.msgs);
 	}
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:18:59.817145456 +0000
+++ 0008-pdump-fix-error-number-on-IPC-response.patch	2023-12-07 11:18:59.618873896 +0000
@@ -1 +1 @@
-From 5ec9575d8c0abfcefbc353d540f228d6d7036fe6 Mon Sep 17 00:00:00 2001
+From c9a8aa95deb8b31cf7744828dd4778840b83a615 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 5ec9575d8c0abfcefbc353d540f228d6d7036fe6 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index 80b90c6f7d..e94f49e212 100644
+index 805d12236c..3b3618bc3a 100644
@@ -27 +28 @@
-@@ -565,7 +565,8 @@ pdump_prepare_client_request(const char *device, uint16_t queue,
+@@ -564,7 +564,8 @@ pdump_prepare_client_request(const char *device, uint16_t queue,


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

* patch 'app/dumpcap: allow multiple invocations' has been queued to stable release 21.11.6
  2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
                   ` (6 preceding siblings ...)
  2023-12-07 11:21 ` patch 'pdump: fix error number on IPC response' " Kevin Traynor
@ 2023-12-07 11:21 ` Kevin Traynor
  2023-12-07 11:21 ` patch 'examples/ethtool: fix pause configuration' " Kevin Traynor
                   ` (12 subsequent siblings)
  20 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:21 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Isaac Boukris, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/952d7028792c77ad14e64bb596fb005c48f274ee

Thanks.

Kevin

---
From 952d7028792c77ad14e64bb596fb005c48f274ee Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Fri, 17 Nov 2023 08:35:56 -0800
Subject: [PATCH] app/dumpcap: allow multiple invocations

[ upstream commit e0235c0e4d40a6d93dfef8b1316e03c32f2f8b43 ]

If dumpcap is run twice with each instance pointing a different
interface, it would fail because of overlap in ring a pool names.
Fix by putting process id in the name.

It is still not allowed to do multiple invocations on the same
interface because only one callback is allowed and only one copy
of mbuf is done. Dumpcap will fail with error in this case:

   pdump_prepare_client_request(): client request for pdump enable/disable failed
   EAL: Error - exiting with code: 1
     Cause: Packet dump enable on 0:net_null0 failed File exists

Fixes: cbb44143be74 ("app/dumpcap: add new packet capture application")

Reported-by: Isaac Boukris <iboukris@gmail.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
 app/dumpcap/main.c | 26 +++++++++++++-------------
 1 file changed, 13 insertions(+), 13 deletions(-)

diff --git a/app/dumpcap/main.c b/app/dumpcap/main.c
index 4a76cc3d05..74dd72b3ac 100644
--- a/app/dumpcap/main.c
+++ b/app/dumpcap/main.c
@@ -45,5 +45,4 @@
 #include <pcap/bpf.h>
 
-#define RING_NAME "capture-ring"
 #define MONITOR_INTERVAL  (500 * 1000)
 #define MBUF_POOL_CACHE_SIZE 32
@@ -540,4 +539,5 @@ static struct rte_ring *create_ring(void)
 {
 	struct rte_ring *ring;
+	char ring_name[RTE_RING_NAMESIZE];
 	size_t size, log2;
 
@@ -553,12 +553,14 @@ static struct rte_ring *create_ring(void)
 	}
 
-	ring = rte_ring_lookup(RING_NAME);
-	if (ring == NULL) {
-		ring = rte_ring_create(RING_NAME, ring_size,
-					rte_socket_id(), 0);
-		if (ring == NULL)
-			rte_exit(EXIT_FAILURE, "Could not create ring :%s\n",
-				 rte_strerror(rte_errno));
-	}
+	/* Want one ring per invocation of program */
+	snprintf(ring_name, sizeof(ring_name),
+		 "dumpcap-%d", getpid());
+
+	ring = rte_ring_create(ring_name, ring_size,
+			       rte_socket_id(), 0);
+	if (ring == NULL)
+		rte_exit(EXIT_FAILURE, "Could not create ring :%s\n",
+			 rte_strerror(rte_errno));
+
 	return ring;
 }
@@ -566,11 +568,9 @@ static struct rte_ring *create_ring(void)
 static struct rte_mempool *create_mempool(void)
 {
-	static const char pool_name[] = "capture_mbufs";
+	char pool_name[RTE_MEMPOOL_NAMESIZE];
 	size_t num_mbufs = 2 * ring_size;
 	struct rte_mempool *mp;
 
-	mp = rte_mempool_lookup(pool_name);
-	if (mp)
-		return mp;
+	snprintf(pool_name, sizeof(pool_name), "capture_%d", getpid());
 
 	mp = rte_pktmbuf_pool_create_by_ops(pool_name, num_mbufs,
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:18:59.837862786 +0000
+++ 0009-app-dumpcap-allow-multiple-invocations.patch	2023-12-07 11:18:59.620873903 +0000
@@ -1 +1 @@
-From e0235c0e4d40a6d93dfef8b1316e03c32f2f8b43 Mon Sep 17 00:00:00 2001
+From 952d7028792c77ad14e64bb596fb005c48f274ee Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e0235c0e4d40a6d93dfef8b1316e03c32f2f8b43 ]
+
@@ -19 +20,0 @@
-Cc: stable@dpdk.org
@@ -24,2 +25,2 @@
- app/dumpcap/main.c | 28 ++++++++++++++--------------
- 1 file changed, 14 insertions(+), 14 deletions(-)
+ app/dumpcap/main.c | 26 +++++++++++++-------------
+ 1 file changed, 13 insertions(+), 13 deletions(-)
@@ -28 +29 @@
-index 4f581bd341..d05dddac00 100644
+index 4a76cc3d05..74dd72b3ac 100644
@@ -37 +38 @@
-@@ -648,4 +647,5 @@ static struct rte_ring *create_ring(void)
+@@ -540,4 +539,5 @@ static struct rte_ring *create_ring(void)
@@ -43 +44 @@
-@@ -661,12 +661,14 @@ static struct rte_ring *create_ring(void)
+@@ -553,12 +553,14 @@ static struct rte_ring *create_ring(void)
@@ -66 +67,2 @@
-@@ -675,12 +677,10 @@ static struct rte_mempool *create_mempool(void)
+@@ -566,11 +568,9 @@ static struct rte_ring *create_ring(void)
+ static struct rte_mempool *create_mempool(void)
@@ -68 +69,0 @@
- 	const struct interface *intf;
@@ -73 +73,0 @@
- 	uint32_t data_size = 128;
@@ -80,8 +80 @@
- 	/* Common pool so size mbuf for biggest snap length */
-@@ -827,5 +827,5 @@ static void enable_pdump(struct rte_ring *r, struct rte_mempool *mp)
- 				"Packet dump enable on %u:%s failed %s\n",
- 				intf->port, intf->name,
--				rte_strerror(-ret));
-+				rte_strerror(rte_errno));
- 		}
- 
+ 	mp = rte_pktmbuf_pool_create_by_ops(pool_name, num_mbufs,


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

* patch 'examples/ethtool: fix pause configuration' has been queued to stable release 21.11.6
  2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
                   ` (7 preceding siblings ...)
  2023-12-07 11:21 ` patch 'app/dumpcap: allow multiple invocations' " Kevin Traynor
@ 2023-12-07 11:21 ` Kevin Traynor
  2023-12-07 11:21 ` patch 'test/hash: fix creation error log' " Kevin Traynor
                   ` (11 subsequent siblings)
  20 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:21 UTC (permalink / raw)
  To: Huisong Li; +Cc: Min Hu, Stephen Hemminger, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/83eafb94412e089831db4793fd0344000b0da42b

Thanks.

Kevin

---
From 83eafb94412e089831db4793fd0344000b0da42b Mon Sep 17 00:00:00 2001
From: Huisong Li <lihuisong@huawei.com>
Date: Fri, 10 Nov 2023 11:30:39 +0800
Subject: [PATCH] examples/ethtool: fix pause configuration

[ upstream commit 29cb7cf999bd5b3cb44ec6937529b2b197e7e25f ]

Currently, the pause command in ethtool to enable Rx/Tx pause has the
following problem. Namely, Assume that the device supports flow control
auto-negotiation to set pause parameters, which will the device that does
not support flow control auto-negotiation fails to run this command.

This patch supports the configuration of flow control auto-negotiation
and fixes the print format and style of the pause cmd to make it more
readable.

Fixes: bda68ab9d1e7 ("examples/ethtool: add user-space ethtool sample application")

Signed-off-by: Huisong Li <lihuisong@huawei.com>
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
 examples/ethtool/ethtool-app/ethapp.c | 63 ++++++++++++++++-----------
 1 file changed, 38 insertions(+), 25 deletions(-)

diff --git a/examples/ethtool/ethtool-app/ethapp.c b/examples/ethtool/ethtool-app/ethapp.c
index 78e86534e8..435d266bbc 100644
--- a/examples/ethtool/ethtool-app/ethapp.c
+++ b/examples/ethtool/ethtool-app/ethapp.c
@@ -50,4 +50,11 @@ struct pcmd_intintint_params {
 };
 
+struct pcmd_pause_params {
+	cmdline_fixed_string_t cmd;
+	uint16_t port;
+	cmdline_fixed_string_t mode;
+	cmdline_fixed_string_t autoneg;
+	cmdline_fixed_string_t an_status;
+};
 
 /* Parameter-less commands */
@@ -117,10 +124,16 @@ cmdline_parse_token_num_t pcmd_intintint_token_rx =
 /* Pause commands */
 cmdline_parse_token_string_t pcmd_pause_token_cmd =
-	TOKEN_STRING_INITIALIZER(struct pcmd_intstr_params, cmd, "pause");
+	TOKEN_STRING_INITIALIZER(struct pcmd_pause_params, cmd, "pause");
 cmdline_parse_token_num_t pcmd_pause_token_port =
-	TOKEN_NUM_INITIALIZER(struct pcmd_intstr_params, port, RTE_UINT16);
-cmdline_parse_token_string_t pcmd_pause_token_opt =
-	TOKEN_STRING_INITIALIZER(struct pcmd_intstr_params,
-		opt, "all#tx#rx#none");
+	TOKEN_NUM_INITIALIZER(struct pcmd_pause_params, port, RTE_UINT16);
+cmdline_parse_token_string_t pcmd_pause_token_mode =
+	TOKEN_STRING_INITIALIZER(struct pcmd_pause_params,
+		mode, "full#tx#rx#none");
+cmdline_parse_token_string_t pcmd_pause_token_autoneg =
+	TOKEN_STRING_INITIALIZER(struct pcmd_pause_params,
+		autoneg, "autoneg");
+cmdline_parse_token_string_t pcmd_pause_token_an_status =
+	TOKEN_STRING_INITIALIZER(struct pcmd_pause_params,
+		an_status, "on#off");
 
 /* VLAN commands */
@@ -349,5 +362,4 @@ pcmd_module_eeprom_callback(void *ptr_params,
 }
 
-
 static void
 pcmd_pause_callback(void *ptr_params,
@@ -355,5 +367,5 @@ pcmd_pause_callback(void *ptr_params,
 	void *ptr_data)
 {
-	struct pcmd_intstr_params *params = ptr_params;
+	struct pcmd_pause_params *params = ptr_params;
 	struct ethtool_pauseparam info;
 	int stat;
@@ -367,11 +379,11 @@ pcmd_pause_callback(void *ptr_params,
 	} else {
 		memset(&info, 0, sizeof(info));
-		if (strcasecmp("all", params->opt) == 0) {
+		if (strcasecmp("full", params->mode) == 0) {
 			info.tx_pause = 1;
 			info.rx_pause = 1;
-		} else if (strcasecmp("tx", params->opt) == 0) {
+		} else if (strcasecmp("tx", params->mode) == 0) {
 			info.tx_pause = 1;
 			info.rx_pause = 0;
-		} else if (strcasecmp("rx", params->opt) == 0) {
+		} else if (strcasecmp("rx", params->mode) == 0) {
 			info.tx_pause = 0;
 			info.rx_pause = 1;
@@ -380,17 +392,17 @@ pcmd_pause_callback(void *ptr_params,
 			info.rx_pause = 0;
 		}
-		/* Assume auto-negotiation wanted */
-		info.autoneg = 1;
-		stat = rte_ethtool_set_pauseparam(params->port, &info);
-	}
-	if (stat == 0) {
-		if (info.rx_pause && info.tx_pause)
-			printf("Port %i: Tx & Rx Paused\n", params->port);
-		else if (info.rx_pause)
-			printf("Port %i: Rx Paused\n", params->port);
-		else if (info.tx_pause)
-			printf("Port %i: Tx Paused\n", params->port);
+
+		if (strcasecmp("on", params->an_status) == 0)
+			info.autoneg = 1;
 		else
-			printf("Port %i: Tx & Rx not paused\n", params->port);
+			info.autoneg = 0;
+
+		stat = rte_ethtool_set_pauseparam(params->port, &info);
+	}
+	if (stat == 0) {
+		printf("Pause parameters for Port %i:\n", params->port);
+		printf("Rx pause: %s\n", info.rx_pause ? "on" : "off");
+		printf("Tx pause: %s\n", info.tx_pause ? "on" : "off");
+		printf("Autoneg: %s\n", info.autoneg ? "on" : "off");
 	} else if (stat == -ENOTSUP)
 		printf("Port %i: Operation not supported\n", params->port);
@@ -399,5 +411,4 @@ pcmd_pause_callback(void *ptr_params,
 }
 
-
 static void
 pcmd_open_callback(__rte_unused void *ptr_params,
@@ -736,9 +747,11 @@ cmdline_parse_inst_t pcmd_pause = {
 	.data = NULL,
 	.help_str =
-		"pause <port_id> <all|tx|rx|none>\n     Pause/unpause port",
+		"pause <port_id> <full|tx|rx|none> autoneg <on|off>\n     Pause/unpause port",
 	.tokens = {
 		(void *)&pcmd_pause_token_cmd,
 		(void *)&pcmd_pause_token_port,
-		(void *)&pcmd_pause_token_opt,
+		(void *)&pcmd_pause_token_mode,
+		(void *)&pcmd_pause_token_autoneg,
+		(void *)&pcmd_pause_token_an_status,
 		NULL
 	},
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:18:59.859122268 +0000
+++ 0010-examples-ethtool-fix-pause-configuration.patch	2023-12-07 11:18:59.621873907 +0000
@@ -1 +1 @@
-From 29cb7cf999bd5b3cb44ec6937529b2b197e7e25f Mon Sep 17 00:00:00 2001
+From 83eafb94412e089831db4793fd0344000b0da42b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 29cb7cf999bd5b3cb44ec6937529b2b197e7e25f ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -26 +27 @@
-index 4ea504ed6a..489cd4f515 100644
+index 78e86534e8..435d266bbc 100644
@@ -29 +30 @@
-@@ -52,4 +52,11 @@ struct pcmd_intintint_params {
+@@ -50,4 +50,11 @@ struct pcmd_intintint_params {
@@ -41 +42 @@
-@@ -119,10 +126,16 @@ cmdline_parse_token_num_t pcmd_intintint_token_rx =
+@@ -117,10 +124,16 @@ cmdline_parse_token_num_t pcmd_intintint_token_rx =
@@ -63 +64 @@
-@@ -351,5 +364,4 @@ pcmd_module_eeprom_callback(void *ptr_params,
+@@ -349,5 +362,4 @@ pcmd_module_eeprom_callback(void *ptr_params,
@@ -69 +70 @@
-@@ -357,5 +369,5 @@ pcmd_pause_callback(void *ptr_params,
+@@ -355,5 +367,5 @@ pcmd_pause_callback(void *ptr_params,
@@ -76 +77 @@
-@@ -369,11 +381,11 @@ pcmd_pause_callback(void *ptr_params,
+@@ -367,11 +379,11 @@ pcmd_pause_callback(void *ptr_params,
@@ -91 +92 @@
-@@ -382,17 +394,17 @@ pcmd_pause_callback(void *ptr_params,
+@@ -380,17 +392,17 @@ pcmd_pause_callback(void *ptr_params,
@@ -121 +122 @@
-@@ -401,5 +413,4 @@ pcmd_pause_callback(void *ptr_params,
+@@ -399,5 +411,4 @@ pcmd_pause_callback(void *ptr_params,
@@ -127 +128 @@
-@@ -738,9 +749,11 @@ cmdline_parse_inst_t pcmd_pause = {
+@@ -736,9 +747,11 @@ cmdline_parse_inst_t pcmd_pause = {


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

* patch 'test/hash: fix creation error log' has been queued to stable release 21.11.6
  2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
                   ` (8 preceding siblings ...)
  2023-12-07 11:21 ` patch 'examples/ethtool: fix pause configuration' " Kevin Traynor
@ 2023-12-07 11:21 ` Kevin Traynor
  2023-12-07 11:21 ` patch 'app/pipeline: add sigint handler' " Kevin Traynor
                   ` (10 subsequent siblings)
  20 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:21 UTC (permalink / raw)
  To: Min Zhou; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

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

Thanks.

Kevin

---
From 25bb8f090e83e29c0ff4cfc3ce6e9ba9996a50d7 Mon Sep 17 00:00:00 2001
From: Min Zhou <zhoumin@loongson.cn>
Date: Tue, 12 Sep 2023 19:52:39 +0800
Subject: [PATCH] test/hash: fix creation error log

[ upstream commit 1afb336d8510cb9e28ca5cc25af3bb95698528c8 ]

Caught while running meson test:
hash creation failedTest Failed

Add missing \n.

Fixes: 0eb3726ebcf1 ("test/hash: add test for read/write concurrency")

Signed-off-by: Min Zhou <zhoumin@loongson.cn>
---
 app/test/test_hash_readwrite.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/test/test_hash_readwrite.c b/app/test/test_hash_readwrite.c
index 9b192f2b5e..1ed615466d 100644
--- a/app/test/test_hash_readwrite.c
+++ b/app/test/test_hash_readwrite.c
@@ -163,5 +163,5 @@ init_params(int use_ext, int use_htm, int rw_lf, int use_jhash)
 	handle = rte_hash_create(&hash_params);
 	if (handle == NULL) {
-		printf("hash creation failed");
+		printf("hash creation failed\n");
 		return -1;
 	}
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:18:59.880058682 +0000
+++ 0011-test-hash-fix-creation-error-log.patch	2023-12-07 11:18:59.622873910 +0000
@@ -1 +1 @@
-From 1afb336d8510cb9e28ca5cc25af3bb95698528c8 Mon Sep 17 00:00:00 2001
+From 25bb8f090e83e29c0ff4cfc3ce6e9ba9996a50d7 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1afb336d8510cb9e28ca5cc25af3bb95698528c8 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 74ca13912f..4997a01249 100644
+index 9b192f2b5e..1ed615466d 100644


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

* patch 'app/pipeline: add sigint handler' has been queued to stable release 21.11.6
  2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
                   ` (9 preceding siblings ...)
  2023-12-07 11:21 ` patch 'test/hash: fix creation error log' " Kevin Traynor
@ 2023-12-07 11:21 ` Kevin Traynor
  2023-12-07 11:21 ` patch 'doc: remove restriction on ixgbe vector support' " Kevin Traynor
                   ` (9 subsequent siblings)
  20 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:21 UTC (permalink / raw)
  To: Feifei Wang; +Cc: Ruifeng Wang, Matthew Dirba, Cristian Dumitrescu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

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

Thanks.

Kevin

---
From fab24e72ab032170f162e7755efe7c00b8dea989 Mon Sep 17 00:00:00 2001
From: Feifei Wang <feifei.wang2@arm.com>
Date: Tue, 12 Sep 2023 14:39:02 +0800
Subject: [PATCH] app/pipeline: add sigint handler

[ upstream commit f6897b23f70b84742129a215ea2be17c8843adb8 ]

For test-pipeline, if the main core receive SIGINT signal, it will kill
all the threads immediately and not wait other threads to finish their
jobs.

To fix this, add 'signal_handler' function.

Fixes: 48f31ca50cc4 ("app/pipeline: packet framework benchmark")

Signed-off-by: Feifei Wang <feifei.wang2@arm.com>
Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Matthew Dirba <matthew.dirba@arm.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
---
 .mailmap                              |   1 +
 app/test-pipeline/main.c              |  14 +++
 app/test-pipeline/main.h              |   2 +
 app/test-pipeline/pipeline_acl.c      |   6 +-
 app/test-pipeline/pipeline_hash.c     | 106 +++++++++++-----------
 app/test-pipeline/pipeline_lpm.c      |   6 +-
 app/test-pipeline/pipeline_lpm_ipv6.c |   6 +-
 app/test-pipeline/pipeline_stub.c     |   6 +-
 app/test-pipeline/runtime.c           | 126 ++++++++++++++------------
 9 files changed, 154 insertions(+), 119 deletions(-)

diff --git a/.mailmap b/.mailmap
index 4178218a40..3b6d7a0069 100644
--- a/.mailmap
+++ b/.mailmap
@@ -867,4 +867,5 @@ Matias Elo <matias.elo@nokia.com>
 Mats Liljegren <mats.liljegren@enea.com>
 Matteo Croce <mcroce@redhat.com>
+Matthew Dirba <matthew.dirba@arm.com>
 Matthew Hall <mhall@mhcomputing.net>
 Matthew Smith <mgsmith@netgate.com>
diff --git a/app/test-pipeline/main.c b/app/test-pipeline/main.c
index 1e16794183..8633933fd9 100644
--- a/app/test-pipeline/main.c
+++ b/app/test-pipeline/main.c
@@ -11,4 +11,5 @@
 #include <sys/queue.h>
 #include <stdarg.h>
+#include <signal.h>
 #include <errno.h>
 #include <getopt.h>
@@ -42,4 +43,13 @@
 #include "main.h"
 
+bool force_quit;
+
+static void
+signal_handler(int signum)
+{
+	if (signum == SIGINT || signum == SIGTERM)
+		force_quit = true;
+}
+
 int
 main(int argc, char **argv)
@@ -55,4 +65,8 @@ main(int argc, char **argv)
 	argv += ret;
 
+	force_quit = false;
+	signal(SIGINT, signal_handler);
+	signal(SIGTERM, signal_handler);
+
 	/* Parse application arguments (after the EAL ones) */
 	ret = app_parse_args(argc, argv);
diff --git a/app/test-pipeline/main.h b/app/test-pipeline/main.h
index 59dcfddbf4..9df157de22 100644
--- a/app/test-pipeline/main.h
+++ b/app/test-pipeline/main.h
@@ -61,4 +61,6 @@ struct app_params {
 extern struct app_params app;
 
+extern bool force_quit;
+
 int app_parse_args(int argc, char **argv);
 void app_print_usage(void);
diff --git a/app/test-pipeline/pipeline_acl.c b/app/test-pipeline/pipeline_acl.c
index 5857bc285f..abde4bf934 100644
--- a/app/test-pipeline/pipeline_acl.c
+++ b/app/test-pipeline/pipeline_acl.c
@@ -237,12 +237,14 @@ app_main_loop_worker_pipeline_acl(void) {
 	/* Run-time */
 #if APP_FLUSH == 0
-	for ( ; ; )
+	while (!force_quit)
 		rte_pipeline_run(p);
 #else
-	for (i = 0; ; i++) {
+	i = 0;
+	while (!force_quit) {
 		rte_pipeline_run(p);
 
 		if ((i & APP_FLUSH) == 0)
 			rte_pipeline_flush(p);
+		i++;
 	}
 #endif
diff --git a/app/test-pipeline/pipeline_hash.c b/app/test-pipeline/pipeline_hash.c
index 2dd8928d43..cab9c20980 100644
--- a/app/test-pipeline/pipeline_hash.c
+++ b/app/test-pipeline/pipeline_hash.c
@@ -367,12 +367,14 @@ app_main_loop_worker_pipeline_hash(void) {
 	/* Run-time */
 #if APP_FLUSH == 0
-	for ( ; ; )
+	while (!force_quit)
 		rte_pipeline_run(p);
 #else
-	for (i = 0; ; i++) {
+	i = 0;
+	while (!force_quit) {
 		rte_pipeline_run(p);
 
 		if ((i & APP_FLUSH) == 0)
 			rte_pipeline_flush(p);
+		i++;
 	}
 #endif
@@ -412,58 +414,60 @@ app_main_loop_rx_metadata(void) {
 		rte_lcore_id());
 
-	for (i = 0; ; i = ((i + 1) & (app.n_ports - 1))) {
-		uint16_t n_mbufs;
+	while (!force_quit) {
+		for (i = 0; i < app.n_ports; i++) {
+			uint16_t n_mbufs;
 
-		n_mbufs = rte_eth_rx_burst(
-			app.ports[i],
-			0,
-			app.mbuf_rx.array,
-			app.burst_size_rx_read);
+			n_mbufs = rte_eth_rx_burst(
+				app.ports[i],
+				0,
+				app.mbuf_rx.array,
+				app.burst_size_rx_read);
 
-		if (n_mbufs == 0)
-			continue;
-
-		for (j = 0; j < n_mbufs; j++) {
-			struct rte_mbuf *m;
-			uint8_t *m_data, *key;
-			struct rte_ipv4_hdr *ip_hdr;
-			struct rte_ipv6_hdr *ipv6_hdr;
-			uint32_t ip_dst;
-			uint8_t *ipv6_dst;
-			uint32_t *signature, *k32;
-
-			m = app.mbuf_rx.array[j];
-			m_data = rte_pktmbuf_mtod(m, uint8_t *);
-			signature = RTE_MBUF_METADATA_UINT32_PTR(m,
-					APP_METADATA_OFFSET(0));
-			key = RTE_MBUF_METADATA_UINT8_PTR(m,
-					APP_METADATA_OFFSET(32));
-
-			if (RTE_ETH_IS_IPV4_HDR(m->packet_type)) {
-				ip_hdr = (struct rte_ipv4_hdr *)
-					&m_data[sizeof(struct rte_ether_hdr)];
-				ip_dst = ip_hdr->dst_addr;
-
-				k32 = (uint32_t *) key;
-				k32[0] = ip_dst & 0xFFFFFF00;
-			} else if (RTE_ETH_IS_IPV6_HDR(m->packet_type)) {
-				ipv6_hdr = (struct rte_ipv6_hdr *)
-					&m_data[sizeof(struct rte_ether_hdr)];
-				ipv6_dst = ipv6_hdr->dst_addr;
-
-				memcpy(key, ipv6_dst, 16);
-			} else
+			if (n_mbufs == 0)
 				continue;
 
-			*signature = test_hash(key, NULL, 0, 0);
+			for (j = 0; j < n_mbufs; j++) {
+				struct rte_mbuf *m;
+				uint8_t *m_data, *key;
+				struct rte_ipv4_hdr *ip_hdr;
+				struct rte_ipv6_hdr *ipv6_hdr;
+				uint32_t ip_dst;
+				uint8_t *ipv6_dst;
+				uint32_t *signature, *k32;
+
+				m = app.mbuf_rx.array[j];
+				m_data = rte_pktmbuf_mtod(m, uint8_t *);
+				signature = RTE_MBUF_METADATA_UINT32_PTR(m,
+						APP_METADATA_OFFSET(0));
+				key = RTE_MBUF_METADATA_UINT8_PTR(m,
+						APP_METADATA_OFFSET(32));
+
+				if (RTE_ETH_IS_IPV4_HDR(m->packet_type)) {
+					ip_hdr = (struct rte_ipv4_hdr *)
+						&m_data[sizeof(struct rte_ether_hdr)];
+					ip_dst = ip_hdr->dst_addr;
+
+					k32 = (uint32_t *) key;
+					k32[0] = ip_dst & 0xFFFFFF00;
+				} else if (RTE_ETH_IS_IPV6_HDR(m->packet_type)) {
+					ipv6_hdr = (struct rte_ipv6_hdr *)
+						&m_data[sizeof(struct rte_ether_hdr)];
+					ipv6_dst = ipv6_hdr->dst_addr;
+
+					memcpy(key, ipv6_dst, 16);
+				} else
+					continue;
+
+				*signature = test_hash(key, NULL, 0, 0);
+			}
+
+			do {
+				ret = rte_ring_sp_enqueue_bulk(
+					app.rings_rx[i],
+					(void **) app.mbuf_rx.array,
+					n_mbufs,
+					NULL);
+			} while (ret == 0 && !force_quit);
 		}
-
-		do {
-			ret = rte_ring_sp_enqueue_bulk(
-				app.rings_rx[i],
-				(void **) app.mbuf_rx.array,
-				n_mbufs,
-				NULL);
-		} while (ret == 0);
 	}
 }
diff --git a/app/test-pipeline/pipeline_lpm.c b/app/test-pipeline/pipeline_lpm.c
index 8add5e71b7..e3d4b3fdc5 100644
--- a/app/test-pipeline/pipeline_lpm.c
+++ b/app/test-pipeline/pipeline_lpm.c
@@ -161,12 +161,14 @@ app_main_loop_worker_pipeline_lpm(void) {
 	/* Run-time */
 #if APP_FLUSH == 0
-	for ( ; ; )
+	while (!force_quit)
 		rte_pipeline_run(p);
 #else
-	for (i = 0; ; i++) {
+	i = 0;
+	while (!force_quit) {
 		rte_pipeline_run(p);
 
 		if ((i & APP_FLUSH) == 0)
 			rte_pipeline_flush(p);
+		i++;
 	}
 #endif
diff --git a/app/test-pipeline/pipeline_lpm_ipv6.c b/app/test-pipeline/pipeline_lpm_ipv6.c
index 26b325180d..f9aca74e4c 100644
--- a/app/test-pipeline/pipeline_lpm_ipv6.c
+++ b/app/test-pipeline/pipeline_lpm_ipv6.c
@@ -159,12 +159,14 @@ app_main_loop_worker_pipeline_lpm_ipv6(void) {
 	/* Run-time */
 #if APP_FLUSH == 0
-	for ( ; ; )
+	while (!force_quit)
 		rte_pipeline_run(p);
 #else
-	for (i = 0; ; i++) {
+	i = 0;
+	while (!force_quit) {
 		rte_pipeline_run(p);
 
 		if ((i & APP_FLUSH) == 0)
 			rte_pipeline_flush(p);
+		i++;
 	}
 #endif
diff --git a/app/test-pipeline/pipeline_stub.c b/app/test-pipeline/pipeline_stub.c
index b6750d51bf..48a638aad7 100644
--- a/app/test-pipeline/pipeline_stub.c
+++ b/app/test-pipeline/pipeline_stub.c
@@ -123,12 +123,14 @@ app_main_loop_worker_pipeline_stub(void) {
 	/* Run-time */
 #if APP_FLUSH == 0
-	for ( ; ; )
+	while (!force_quit)
 		rte_pipeline_run(p);
 #else
-	for (i = 0; ; i++) {
+	i = 0;
+	while (!force_quit) {
 		rte_pipeline_run(p);
 
 		if ((i & APP_FLUSH) == 0)
 			rte_pipeline_flush(p);
+		i++;
 	}
 #endif
diff --git a/app/test-pipeline/runtime.c b/app/test-pipeline/runtime.c
index d939a85d7e..752f783370 100644
--- a/app/test-pipeline/runtime.c
+++ b/app/test-pipeline/runtime.c
@@ -49,22 +49,24 @@ app_main_loop_rx(void) {
 	RTE_LOG(INFO, USER1, "Core %u is doing RX\n", rte_lcore_id());
 
-	for (i = 0; ; i = ((i + 1) & (app.n_ports - 1))) {
-		uint16_t n_mbufs;
+	while (!force_quit) {
+		for (i = 0; i < app.n_ports; i++) {
+			uint16_t n_mbufs;
 
-		n_mbufs = rte_eth_rx_burst(
-			app.ports[i],
-			0,
-			app.mbuf_rx.array,
-			app.burst_size_rx_read);
+			n_mbufs = rte_eth_rx_burst(
+				app.ports[i],
+				0,
+				app.mbuf_rx.array,
+				app.burst_size_rx_read);
 
-		if (n_mbufs == 0)
-			continue;
+			if (n_mbufs == 0)
+				continue;
 
-		do {
-			ret = rte_ring_sp_enqueue_bulk(
-				app.rings_rx[i],
-				(void **) app.mbuf_rx.array,
-				n_mbufs, NULL);
-		} while (ret == 0);
+			do {
+				ret = rte_ring_sp_enqueue_bulk(
+					app.rings_rx[i],
+					(void **) app.mbuf_rx.array,
+					n_mbufs, NULL);
+			} while (ret == 0 && !force_quit);
+		}
 	}
 }
@@ -83,23 +85,25 @@ app_main_loop_worker(void) {
 		rte_panic("Worker thread: cannot allocate buffer space\n");
 
-	for (i = 0; ; i = ((i + 1) & (app.n_ports - 1))) {
-		int ret;
+	while (!force_quit) {
+		for (i = 0; i < app.n_ports; i++) {
+			int ret;
 
-		ret = rte_ring_sc_dequeue_bulk(
-			app.rings_rx[i],
-			(void **) worker_mbuf->array,
-			app.burst_size_worker_read,
-			NULL);
-
-		if (ret == 0)
-			continue;
-
-		do {
-			ret = rte_ring_sp_enqueue_bulk(
-				app.rings_tx[i ^ 1],
+			ret = rte_ring_sc_dequeue_bulk(
+				app.rings_rx[i],
 				(void **) worker_mbuf->array,
-				app.burst_size_worker_write,
+				app.burst_size_worker_read,
 				NULL);
-		} while (ret == 0);
+
+			if (ret == 0)
+				continue;
+
+			do {
+				ret = rte_ring_sp_enqueue_bulk(
+					app.rings_tx[i ^ 1],
+					(void **) worker_mbuf->array,
+					app.burst_size_worker_write,
+					NULL);
+			} while (ret == 0 && !force_quit);
+		}
 	}
 }
@@ -111,44 +115,46 @@ app_main_loop_tx(void) {
 	RTE_LOG(INFO, USER1, "Core %u is doing TX\n", rte_lcore_id());
 
-	for (i = 0; ; i = ((i + 1) & (app.n_ports - 1))) {
-		uint16_t n_mbufs, n_pkts;
-		int ret;
+	while (!force_quit) {
+		for (i = 0; i < app.n_ports; i++) {
+			uint16_t n_mbufs, n_pkts;
+			int ret;
 
-		n_mbufs = app.mbuf_tx[i].n_mbufs;
+			n_mbufs = app.mbuf_tx[i].n_mbufs;
 
-		ret = rte_ring_sc_dequeue_bulk(
-			app.rings_tx[i],
-			(void **) &app.mbuf_tx[i].array[n_mbufs],
-			app.burst_size_tx_read,
-			NULL);
+			ret = rte_ring_sc_dequeue_bulk(
+				app.rings_tx[i],
+				(void **) &app.mbuf_tx[i].array[n_mbufs],
+				app.burst_size_tx_read,
+				NULL);
 
-		if (ret == 0)
-			continue;
+			if (ret == 0)
+				continue;
 
-		n_mbufs += app.burst_size_tx_read;
+			n_mbufs += app.burst_size_tx_read;
 
-		if (n_mbufs < app.burst_size_tx_write) {
-			app.mbuf_tx[i].n_mbufs = n_mbufs;
-			continue;
-		}
+			if (n_mbufs < app.burst_size_tx_write) {
+				app.mbuf_tx[i].n_mbufs = n_mbufs;
+				continue;
+			}
 
-		n_pkts = rte_eth_tx_burst(
-			app.ports[i],
-			0,
-			app.mbuf_tx[i].array,
-			n_mbufs);
+			n_pkts = rte_eth_tx_burst(
+				app.ports[i],
+				0,
+				app.mbuf_tx[i].array,
+				n_mbufs);
 
-		if (n_pkts < n_mbufs) {
-			uint16_t k;
+			if (n_pkts < n_mbufs) {
+				uint16_t k;
 
-			for (k = n_pkts; k < n_mbufs; k++) {
-				struct rte_mbuf *pkt_to_free;
+				for (k = n_pkts; k < n_mbufs; k++) {
+					struct rte_mbuf *pkt_to_free;
 
-				pkt_to_free = app.mbuf_tx[i].array[k];
-				rte_pktmbuf_free(pkt_to_free);
+					pkt_to_free = app.mbuf_tx[i].array[k];
+					rte_pktmbuf_free(pkt_to_free);
+				}
 			}
-		}
 
-		app.mbuf_tx[i].n_mbufs = 0;
+			app.mbuf_tx[i].n_mbufs = 0;
+		}
 	}
 }
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:18:59.901047143 +0000
+++ 0012-app-pipeline-add-sigint-handler.patch	2023-12-07 11:18:59.628873931 +0000
@@ -1 +1 @@
-From f6897b23f70b84742129a215ea2be17c8843adb8 Mon Sep 17 00:00:00 2001
+From fab24e72ab032170f162e7755efe7c00b8dea989 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f6897b23f70b84742129a215ea2be17c8843adb8 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -32 +33 @@
-index 54e3bf7584..49d3616c4c 100644
+index 4178218a40..3b6d7a0069 100644
@@ -35 +36 @@
-@@ -900,4 +900,5 @@ Matias Elo <matias.elo@nokia.com>
+@@ -867,4 +867,5 @@ Matias Elo <matias.elo@nokia.com>
@@ -86 +87 @@
-index 2f04868e3e..9eb4053e23 100644
+index 5857bc285f..abde4bf934 100644
@@ -238 +239 @@
-index 854319174b..8a59bd0042 100644
+index 8add5e71b7..e3d4b3fdc5 100644
@@ -259 +260 @@
-index 18d4f018f1..207ffbeff0 100644
+index 26b325180d..f9aca74e4c 100644


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

* patch 'doc: remove restriction on ixgbe vector support' has been queued to stable release 21.11.6
  2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
                   ` (10 preceding siblings ...)
  2023-12-07 11:21 ` patch 'app/pipeline: add sigint handler' " Kevin Traynor
@ 2023-12-07 11:21 ` Kevin Traynor
  2023-12-07 11:21 ` patch 'doc: fix some ordered lists' " Kevin Traynor
                   ` (8 subsequent siblings)
  20 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:21 UTC (permalink / raw)
  To: David Marchand; +Cc: Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

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

Thanks.

Kevin

---
From f8a3dcb22df30851caee2f76e9c0f1cc32123076 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Fri, 10 Nov 2023 11:54:46 +0100
Subject: [PATCH] doc: remove restriction on ixgbe vector support

[ upstream commit 0e26c9eb6b783aa2914c2a2b7ef0918bd82856be ]

The ixgbe driver has vector support for different architectures for a
while now.

Fixes: b20971b6cca0 ("net/ixgbe: implement vector driver for ARM")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 doc/guides/nics/ixgbe.rst | 2 --
 1 file changed, 2 deletions(-)

diff --git a/doc/guides/nics/ixgbe.rst b/doc/guides/nics/ixgbe.rst
index ad1a3da610..1b7cc17bfb 100644
--- a/doc/guides/nics/ixgbe.rst
+++ b/doc/guides/nics/ixgbe.rst
@@ -17,6 +17,4 @@ There is no change to PMD API. The RX/TX handler are the only two entries for vP
 They are transparently registered at runtime RX/TX execution if all condition checks pass.
 
-1.  To date, only an SSE version of IX GBE vPMD is available.
-
 Some constraints apply as pre-conditions for specific optimizations on bulk packet transfers.
 The following sections explain RX and TX constraints in the vPMD.
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:18:59.924230015 +0000
+++ 0013-doc-remove-restriction-on-ixgbe-vector-support.patch	2023-12-07 11:18:59.629873934 +0000
@@ -1 +1 @@
-From 0e26c9eb6b783aa2914c2a2b7ef0918bd82856be Mon Sep 17 00:00:00 2001
+From f8a3dcb22df30851caee2f76e9c0f1cc32123076 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0e26c9eb6b783aa2914c2a2b7ef0918bd82856be ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index b1d77ab7ab..14573b542e 100644
+index ad1a3da610..1b7cc17bfb 100644
@@ -22 +23 @@
-@@ -48,6 +48,4 @@ There is no change to PMD API. The RX/TX handler are the only two entries for vP
+@@ -17,6 +17,4 @@ There is no change to PMD API. The RX/TX handler are the only two entries for vP


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

* patch 'doc: fix some ordered lists' has been queued to stable release 21.11.6
  2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
                   ` (11 preceding siblings ...)
  2023-12-07 11:21 ` patch 'doc: remove restriction on ixgbe vector support' " Kevin Traynor
@ 2023-12-07 11:21 ` Kevin Traynor
  2023-12-07 11:21 ` patch 'doc: remove number of commands in vDPA guide' " Kevin Traynor
                   ` (7 subsequent siblings)
  20 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:21 UTC (permalink / raw)
  To: David Marchand; +Cc: Bruce Richardson, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/82a6991ac2ddb5b0528155948c7e965da416e018

Thanks.

Kevin

---
From 82a6991ac2ddb5b0528155948c7e965da416e018 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Fri, 10 Nov 2023 11:15:05 +0100
Subject: [PATCH] doc: fix some ordered lists

[ upstream commit fc7428ead4ee6e1239ccd0bd4065edd974549ad6 ]

Ordered lists must start preceded by an empty line.
Entries must be separated by an empty line (as per our coding style).
Incorrectly indented lines are seen as a separator and result in
starting a new list in the rendered doc.

Fix issues in some guides.

Fixes: 26b683b4f7d0 ("net/virtio: setup Rx queue interrupts")
Fixes: 9dcf5d15569b ("doc: clarify path selection in virtio guide")
Fixes: 68a03efeed65 ("doc: add Marvell cnxk platform guide")
Fixes: f6010c7655cc ("doc: add GSO programmer's guide")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 doc/guides/nics/virtio.rst                           | 12 ++++++++++++
 doc/guides/platform/cnxk.rst                         |  3 +++
 .../prog_guide/generic_segmentation_offload_lib.rst  |  2 +-
 3 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/doc/guides/nics/virtio.rst b/doc/guides/nics/virtio.rst
index eef0cc2a5f..0de445c6e0 100644
--- a/doc/guides/nics/virtio.rst
+++ b/doc/guides/nics/virtio.rst
@@ -305,4 +305,5 @@ Prerequisites for Rx interrupts
 
 To support Rx interrupts,
+
 #. Check if guest kernel supports VFIO-NOIOMMU:
 
@@ -467,10 +468,14 @@ according to below configuration:
 #. Split virtqueue mergeable path: If Rx mergeable is negotiated, in-order feature is
    not negotiated, this path will be selected.
+
 #. Split virtqueue non-mergeable path: If Rx mergeable and in-order feature are not
    negotiated, also Rx offload(s) are requested, this path will be selected.
+
 #. Split virtqueue in-order mergeable path: If Rx mergeable and in-order feature are
    both negotiated, this path will be selected.
+
 #. Split virtqueue in-order non-mergeable path: If in-order feature is negotiated and
    Rx mergeable is not negotiated, this path will be selected.
+
 #. Split virtqueue vectorized Rx path: If Rx mergeable is disabled and no Rx offload
    requested, this path will be selected.
@@ -481,14 +486,19 @@ according to below configuration:
 #. Packed virtqueue mergeable path: If Rx mergeable is negotiated, in-order feature
    is not negotiated, this path will be selected.
+
 #. Packed virtqueue non-mergeable path: If Rx mergeable and in-order feature are not
    negotiated, this path will be selected.
+
 #. Packed virtqueue in-order mergeable path: If in-order and Rx mergeable feature are
    both negotiated, this path will be selected.
+
 #. Packed virtqueue in-order non-mergeable path: If in-order feature is negotiated and
    Rx mergeable is not negotiated, this path will be selected.
+
 #. Packed virtqueue vectorized Rx path: If building and running environment support
    (AVX512 || NEON) && in-order feature is negotiated && Rx mergeable
    is not negotiated && TCP_LRO Rx offloading is disabled && vectorized option enabled,
    this path will be selected.
+
 #. Packed virtqueue vectorized Tx path: If building and running environment support
    (AVX512 || NEON)  && in-order feature is negotiated && vectorized option enabled,
@@ -568,4 +578,6 @@ root cause faster.
 
 #. Run vhost/virtio test case;
+
 #. Run "perf top" and check virtio Rx/Tx callback names;
+
 #. Identify which virtio path is selected refer to above table.
diff --git a/doc/guides/platform/cnxk.rst b/doc/guides/platform/cnxk.rst
index a2667acd35..8eff2c4cd9 100644
--- a/doc/guides/platform/cnxk.rst
+++ b/doc/guides/platform/cnxk.rst
@@ -106,5 +106,7 @@ Typical application usage models are,
 
 #. Communication between the Linux kernel and DPDK application.
+
 #. Exception path to Linux kernel from DPDK application as SW ``KNI`` replacement.
+
 #. Communication between two different DPDK applications.
 
@@ -125,4 +127,5 @@ The primary use case for SDP is to enable the smart NIC use case. Typical usage
 
 #. Communication channel between remote host and cnxk SoC over PCIe.
+
 #. Transfer packets received from network interface to remote host over PCIe and
    vice-versa.
diff --git a/doc/guides/prog_guide/generic_segmentation_offload_lib.rst b/doc/guides/prog_guide/generic_segmentation_offload_lib.rst
index e605b86376..30d13bcc61 100644
--- a/doc/guides/prog_guide/generic_segmentation_offload_lib.rst
+++ b/doc/guides/prog_guide/generic_segmentation_offload_lib.rst
@@ -205,5 +205,5 @@ To segment an outgoing packet, an application must:
      contain fixed or incremental ID values.
 
-2. Set the appropriate ol_flags in the mbuf.
+#. Set the appropriate ol_flags in the mbuf.
 
    - The GSO library use the value of an mbuf's ``ol_flags`` attribute to
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:18:59.945290378 +0000
+++ 0014-doc-fix-some-ordered-lists.patch	2023-12-07 11:18:59.631873941 +0000
@@ -1 +1 @@
-From fc7428ead4ee6e1239ccd0bd4065edd974549ad6 Mon Sep 17 00:00:00 2001
+From 82a6991ac2ddb5b0528155948c7e965da416e018 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit fc7428ead4ee6e1239ccd0bd4065edd974549ad6 ]
+
@@ -17 +18,0 @@
-Cc: stable@dpdk.org
@@ -28 +29 @@
-index ba6247170d..c22ce56a02 100644
+index eef0cc2a5f..0de445c6e0 100644
@@ -31 +32 @@
-@@ -218,4 +218,5 @@ Prerequisites for Rx interrupts
+@@ -305,4 +305,5 @@ Prerequisites for Rx interrupts
@@ -37 +38 @@
-@@ -380,10 +381,14 @@ according to below configuration:
+@@ -467,10 +468,14 @@ according to below configuration:
@@ -52 +53 @@
-@@ -394,14 +399,19 @@ according to below configuration:
+@@ -481,14 +486,19 @@ according to below configuration:
@@ -72 +73 @@
-@@ -481,4 +491,6 @@ root cause faster.
+@@ -568,4 +578,6 @@ root cause faster.
@@ -80 +81 @@
-index b3aa4de09d..b901062c93 100644
+index a2667acd35..8eff2c4cd9 100644
@@ -83 +84 @@
-@@ -114,5 +114,7 @@ Typical application usage models are,
+@@ -106,5 +106,7 @@ Typical application usage models are,
@@ -91 +92 @@
-@@ -133,4 +135,5 @@ The primary use case for SDP is to enable the smart NIC use case. Typical usage
+@@ -125,4 +127,5 @@ The primary use case for SDP is to enable the smart NIC use case. Typical usage


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

* patch 'doc: remove number of commands in vDPA guide' has been queued to stable release 21.11.6
  2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
                   ` (12 preceding siblings ...)
  2023-12-07 11:21 ` patch 'doc: fix some ordered lists' " Kevin Traynor
@ 2023-12-07 11:21 ` Kevin Traynor
  2023-12-07 11:21 ` patch 'mempool: fix get function documentation' " Kevin Traynor
                   ` (6 subsequent siblings)
  20 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:21 UTC (permalink / raw)
  To: David Marchand; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/69793a2e87e5f9b7475e335c2aeee5c8e5b91f15

Thanks.

Kevin

---
From 69793a2e87e5f9b7475e335c2aeee5c8e5b91f15 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Thu, 23 Nov 2023 12:15:35 +0100
Subject: [PATCH] doc: remove number of commands in vDPA guide

[ upstream commit 7875e78b00bf1be03327d5dff1a32c0d5d430bec ]

There are now 5 supported commands.

Fixes: 6505865aa8ed ("examples/vdpa: add statistics show command")

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 doc/guides/sample_app_ug/vdpa.rst | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/doc/guides/sample_app_ug/vdpa.rst b/doc/guides/sample_app_ug/vdpa.rst
index cb9c4f2169..51e69fc20d 100644
--- a/doc/guides/sample_app_ug/vdpa.rst
+++ b/doc/guides/sample_app_ug/vdpa.rst
@@ -39,6 +39,5 @@ where
   /tmp/vhost-user-, then the socket files will be named as /tmp/vhost-user-<n>
   (n starts from 0).
-* --interactive means run the vdpa sample in interactive mode, currently 4
-  internal cmds are supported:
+* --interactive means run the vDPA sample in interactive mode:
 
   1. help: show help message
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:18:59.967234493 +0000
+++ 0015-doc-remove-number-of-commands-in-vDPA-guide.patch	2023-12-07 11:18:59.632873944 +0000
@@ -1 +1 @@
-From 7875e78b00bf1be03327d5dff1a32c0d5d430bec Mon Sep 17 00:00:00 2001
+From 69793a2e87e5f9b7475e335c2aeee5c8e5b91f15 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7875e78b00bf1be03327d5dff1a32c0d5d430bec ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org


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

* patch 'mempool: fix get function documentation' has been queued to stable release 21.11.6
  2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
                   ` (13 preceding siblings ...)
  2023-12-07 11:21 ` patch 'doc: remove number of commands in vDPA guide' " Kevin Traynor
@ 2023-12-07 11:21 ` Kevin Traynor
  2023-12-07 11:21 ` patch 'mempool: clarify enqueue/dequeue ops " Kevin Traynor
                   ` (5 subsequent siblings)
  20 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:21 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Mahesh Adulla, Morten Brørup, Huisong Li, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/1699794ad5d64e9fecce4b6d022f2446209b58da

Thanks.

Kevin

---
From 1699794ad5d64e9fecce4b6d022f2446209b58da Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@amd.com>
Date: Mon, 23 Oct 2023 10:38:42 +0100
Subject: [PATCH] mempool: fix get function documentation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 9b3233ab09ea331dcf5fb38d215d91818bef3b47 ]

static function `rte_mempool_do_generic_get()` returns zero on success,
not >=0 as its function comment documents.

Since this function called by public API, the comment causes confusion
on the public API return value.

Fixing the internal function documentation for return value.

Fixes: af75078fece3 ("first public release")

Reported-by: Mahesh Adulla <mahesh.adulla@amd.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@amd.com>
Reviewed-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Huisong Li <lihuisong@huawei.com>
---
 .mailmap                  | 1 +
 lib/mempool/rte_mempool.h | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/.mailmap b/.mailmap
index 3b6d7a0069..fe94cbe1ff 100644
--- a/.mailmap
+++ b/.mailmap
@@ -808,4 +808,5 @@ Maciej Rabeda <maciej.rabeda@intel.com>
 Maciej Szwed <maciej.szwed@intel.com>
 Madhuker Mythri <madhuker.mythri@oracle.com>
+Mahesh Adulla <mahesh.adulla@amd.com>
 Mahipal Challa <mchalla@marvell.com>
 Mah Yock Gen <yock.gen.mah@intel.com>
diff --git a/lib/mempool/rte_mempool.h b/lib/mempool/rte_mempool.h
index 2b2a9dc20d..771a3a1e7f 100644
--- a/lib/mempool/rte_mempool.h
+++ b/lib/mempool/rte_mempool.h
@@ -1452,5 +1452,5 @@ rte_mempool_put(struct rte_mempool *mp, void *obj)
  *   A pointer to a mempool cache structure. May be NULL if not needed.
  * @return
- *   - >=0: Success; number of objects supplied.
+ *   - 0: Success.
  *   - <0: Error; code of ring dequeue function.
  */
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:18:59.987625216 +0000
+++ 0016-mempool-fix-get-function-documentation.patch	2023-12-07 11:18:59.636873958 +0000
@@ -1 +1 @@
-From 9b3233ab09ea331dcf5fb38d215d91818bef3b47 Mon Sep 17 00:00:00 2001
+From 1699794ad5d64e9fecce4b6d022f2446209b58da Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 9b3233ab09ea331dcf5fb38d215d91818bef3b47 ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
@@ -30 +31 @@
-index 49d3616c4c..3630e72f41 100644
+index 3b6d7a0069..fe94cbe1ff 100644
@@ -33,2 +34,2 @@
-@@ -840,4 +840,5 @@ Maciej Szwed <maciej.szwed@intel.com>
- Madhu Chittim <madhu.chittim@intel.com>
+@@ -808,4 +808,5 @@ Maciej Rabeda <maciej.rabeda@intel.com>
+ Maciej Szwed <maciej.szwed@intel.com>
@@ -40 +41 @@
-index df87cd231e..1303eef494 100644
+index 2b2a9dc20d..771a3a1e7f 100644
@@ -43 +44 @@
-@@ -1485,5 +1485,5 @@ rte_mempool_put(struct rte_mempool *mp, void *obj)
+@@ -1452,5 +1452,5 @@ rte_mempool_put(struct rte_mempool *mp, void *obj)
@@ -48 +49 @@
-  *   - <0: Error; code of driver dequeue function.
+  *   - <0: Error; code of ring dequeue function.


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

* patch 'mempool: clarify enqueue/dequeue ops documentation' has been queued to stable release 21.11.6
  2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
                   ` (14 preceding siblings ...)
  2023-12-07 11:21 ` patch 'mempool: fix get function documentation' " Kevin Traynor
@ 2023-12-07 11:21 ` Kevin Traynor
  2023-12-07 11:21 ` patch 'ethdev: fix ESP packet type description' " Kevin Traynor
                   ` (4 subsequent siblings)
  20 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:21 UTC (permalink / raw)
  To: Ferruh Yigit; +Cc: Morten Brørup, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

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

Thanks.

Kevin

---
From 6faf898f552b2796bfc86d888d2c8438f6c7fde0 Mon Sep 17 00:00:00 2001
From: Ferruh Yigit <ferruh.yigit@amd.com>
Date: Mon, 23 Oct 2023 10:38:43 +0100
Subject: [PATCH] mempool: clarify enqueue/dequeue ops documentation
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit 37fc1db98c082d3f423c46bed7357a158abe53e9 ]

API documentations doesn't clarify expected return types for enqueue and
dequeue mempool_ops, clarifying it.

Fixes: 449c49b93a6b ("mempool: support handler operations")

Reported-by: Morten Brørup <mb@smartsharesystems.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@amd.com>
Reviewed-by: Morten Brørup <mb@smartsharesystems.com>
---
 lib/mempool/rte_mempool.h | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/lib/mempool/rte_mempool.h b/lib/mempool/rte_mempool.h
index 771a3a1e7f..9c27820b7a 100644
--- a/lib/mempool/rte_mempool.h
+++ b/lib/mempool/rte_mempool.h
@@ -441,5 +441,8 @@ typedef void (*rte_mempool_free_t)(struct rte_mempool *mp);
 
 /**
- * Enqueue an object into the external pool.
+ * Enqueue 'n' objects into the external pool.
+ * @return
+ *   - 0: Success
+ *   - <0: Error
  */
 typedef int (*rte_mempool_enqueue_t)(struct rte_mempool *mp,
@@ -447,5 +450,8 @@ typedef int (*rte_mempool_enqueue_t)(struct rte_mempool *mp,
 
 /**
- * Dequeue an object from the external pool.
+ * Dequeue 'n' objects from the external pool.
+ * @return
+ *   - 0: Success
+ *   - <0: Error
  */
 typedef int (*rte_mempool_dequeue_t)(struct rte_mempool *mp,
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:19:00.010746366 +0000
+++ 0017-mempool-clarify-enqueue-dequeue-ops-documentation.patch	2023-12-07 11:18:59.637873961 +0000
@@ -1 +1 @@
-From 37fc1db98c082d3f423c46bed7357a158abe53e9 Mon Sep 17 00:00:00 2001
+From 6faf898f552b2796bfc86d888d2c8438f6c7fde0 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 37fc1db98c082d3f423c46bed7357a158abe53e9 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 1303eef494..95deade160 100644
+index 771a3a1e7f..9c27820b7a 100644
@@ -26 +27 @@
-@@ -466,5 +466,8 @@ typedef void (*rte_mempool_free_t)(struct rte_mempool *mp);
+@@ -441,5 +441,8 @@ typedef void (*rte_mempool_free_t)(struct rte_mempool *mp);
@@ -36 +37 @@
-@@ -472,5 +475,8 @@ typedef int (*rte_mempool_enqueue_t)(struct rte_mempool *mp,
+@@ -447,5 +450,8 @@ typedef int (*rte_mempool_enqueue_t)(struct rte_mempool *mp,


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

* patch 'ethdev: fix ESP packet type description' has been queued to stable release 21.11.6
  2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
                   ` (15 preceding siblings ...)
  2023-12-07 11:21 ` patch 'mempool: clarify enqueue/dequeue ops " Kevin Traynor
@ 2023-12-07 11:21 ` Kevin Traynor
  2023-12-07 11:21 ` patch 'net/hns3: fix ignored reset event' " Kevin Traynor
                   ` (3 subsequent siblings)
  20 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:21 UTC (permalink / raw)
  To: Alexander Kozyrev; +Cc: Morten Brørup, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

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

Thanks.

Kevin

---
From f2151f9aa0bf102535a039c4e33504961e60126e Mon Sep 17 00:00:00 2001
From: Alexander Kozyrev <akozyrev@nvidia.com>
Date: Wed, 25 Oct 2023 23:32:15 +0300
Subject: [PATCH] ethdev: fix ESP packet type description
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit f647d53bdebc1a9273c01caad280aadc64d0487e ]

The correct protocol number for ESP (IP Encapsulating Security Payload)
packet type is 50. 51 is IPSec AH (Authentication Header).

Fixes: 1e84afd3906b ("mbuf: add security crypto flags and fields")

Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
Reviewed-by: Morten Brørup <mb@smartsharesystems.com>
---
 lib/mbuf/rte_mbuf_ptype.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lib/mbuf/rte_mbuf_ptype.h b/lib/mbuf/rte_mbuf_ptype.h
index 17a2dd3576..f2276e2909 100644
--- a/lib/mbuf/rte_mbuf_ptype.h
+++ b/lib/mbuf/rte_mbuf_ptype.h
@@ -420,8 +420,8 @@ extern "C" {
  * Packet format:
  * <'ether type'=0x0800
- * | 'version'=4, 'protocol'=51>
+ * | 'version'=4, 'protocol'=50>
  * or,
  * <'ether type'=0x86DD
- * | 'version'=6, 'next header'=51>
+ * | 'version'=6, 'next header'=50>
  */
 #define RTE_PTYPE_TUNNEL_ESP                0x00009000
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:19:00.032789359 +0000
+++ 0018-ethdev-fix-ESP-packet-type-description.patch	2023-12-07 11:18:59.638873965 +0000
@@ -1 +1 @@
-From f647d53bdebc1a9273c01caad280aadc64d0487e Mon Sep 17 00:00:00 2001
+From f2151f9aa0bf102535a039c4e33504961e60126e Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit f647d53bdebc1a9273c01caad280aadc64d0487e ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org


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

* patch 'net/hns3: fix ignored reset event' has been queued to stable release 21.11.6
  2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
                   ` (16 preceding siblings ...)
  2023-12-07 11:21 ` patch 'ethdev: fix ESP packet type description' " Kevin Traynor
@ 2023-12-07 11:21 ` Kevin Traynor
  2023-12-07 11:21 ` patch 'net/hns3: fix reset event status' " Kevin Traynor
                   ` (2 subsequent siblings)
  20 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:21 UTC (permalink / raw)
  To: Dengdui Huang; +Cc: Jie Hai, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

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

Thanks.

Kevin

---
From 0dece2892b8a59d3fd4dbca5f9ea3a96e2b13837 Mon Sep 17 00:00:00 2001
From: Dengdui Huang <huangdengdui@huawei.com>
Date: Mon, 27 Nov 2023 21:39:01 +0800
Subject: [PATCH] net/hns3: fix ignored reset event

[ upstream commit 4c40006c4b6b3c567185c84d60535752c9f7ea3d ]

The code logic that only new reset whose level is higher than old
reset level will be addressed is added in 'hns3_detect_reset_event()',
in fixed commit.

When the new reset is detected and the old reset level is
HNS3_NONE_RESET this reset will be ignored. This patch fix it.

Fixes: 5be38fc6c0fc ("net/hns3: fix multiple reset detected log")

Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
Acked-by: Jie Hai <haijie1@huawei.com>
---
 drivers/net/hns3/hns3_ethdev.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c
index e4d2b06521..a805046d19 100644
--- a/drivers/net/hns3/hns3_ethdev.c
+++ b/drivers/net/hns3/hns3_ethdev.c
@@ -5613,5 +5613,8 @@ hns3_detect_reset_event(struct hns3_hw *hw)
 	}
 
-	if (new_req != HNS3_NONE_RESET && last_req < new_req) {
+	if (new_req == HNS3_NONE_RESET)
+		return HNS3_NONE_RESET;
+
+	if (last_req == HNS3_NONE_RESET || last_req < new_req) {
 		hns3_schedule_delayed_reset(hns);
 		hns3_warn(hw, "High level reset detected, delay do reset");
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:19:00.053206904 +0000
+++ 0019-net-hns3-fix-ignored-reset-event.patch	2023-12-07 11:18:59.644873985 +0000
@@ -1 +1 @@
-From 4c40006c4b6b3c567185c84d60535752c9f7ea3d Mon Sep 17 00:00:00 2001
+From 0dece2892b8a59d3fd4dbca5f9ea3a96e2b13837 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4c40006c4b6b3c567185c84d60535752c9f7ea3d ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 941d047bf1..ae81368f68 100644
+index e4d2b06521..a805046d19 100644
@@ -26 +27 @@
-@@ -5561,5 +5561,8 @@ hns3_detect_reset_event(struct hns3_hw *hw)
+@@ -5613,5 +5613,8 @@ hns3_detect_reset_event(struct hns3_hw *hw)


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

* patch 'net/hns3: fix reset event status' has been queued to stable release 21.11.6
  2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
                   ` (17 preceding siblings ...)
  2023-12-07 11:21 ` patch 'net/hns3: fix ignored reset event' " Kevin Traynor
@ 2023-12-07 11:21 ` Kevin Traynor
  2023-12-07 11:21 ` patch 'net/hns3: fix VF reset handler interruption' " Kevin Traynor
  2023-12-07 11:21 ` patch 'net/af_xdp: make compatible with libbpf 0.8.0' " Kevin Traynor
  20 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:21 UTC (permalink / raw)
  To: Dengdui Huang; +Cc: Jie Hai, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/90236089a26cfd1bd92eda63cb29c6ab05baa670

Thanks.

Kevin

---
From 90236089a26cfd1bd92eda63cb29c6ab05baa670 Mon Sep 17 00:00:00 2001
From: Dengdui Huang <huangdengdui@huawei.com>
Date: Mon, 27 Nov 2023 21:39:02 +0800
Subject: [PATCH] net/hns3: fix reset event status

[ upstream commit b59a0cbec866a8d4f7d1938b6826f7961c75c9fd ]

The function hns3_clear_reset_event is used to clear PF
reset status, The VF shouldn't use it.

This patch fixes it.

Fixes: 1eee1ea75c0e ("net/hns3: fix IMP or global reset")

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

diff --git a/drivers/net/hns3/hns3_intr.c b/drivers/net/hns3/hns3_intr.c
index a2c7a90e41..9c5a4b018c 100644
--- a/drivers/net/hns3/hns3_intr.c
+++ b/drivers/net/hns3/hns3_intr.c
@@ -2731,5 +2731,6 @@ hns3_reset_post(struct hns3_adapter *hns)
 		hns3_notify_reset_ready(hw, false);
 		hns3_clear_reset_level(hw, &hw->reset.pending);
-		hns3_clear_reset_event(hw);
+		if (!hns->is_vf)
+			hns3_clear_reset_event(hw);
 		__atomic_store_n(&hns->hw.reset.resetting, 0, __ATOMIC_RELAXED);
 		hw->reset.attempts = 0;
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:19:00.078032406 +0000
+++ 0020-net-hns3-fix-reset-event-status.patch	2023-12-07 11:18:59.646873992 +0000
@@ -1 +1 @@
-From b59a0cbec866a8d4f7d1938b6826f7961c75c9fd Mon Sep 17 00:00:00 2001
+From 90236089a26cfd1bd92eda63cb29c6ab05baa670 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b59a0cbec866a8d4f7d1938b6826f7961c75c9fd ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -17,2 +18,2 @@
- drivers/net/hns3/hns3_intr.c | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
+ drivers/net/hns3/hns3_intr.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
@@ -21 +22 @@
-index c5a3e3797c..52b5435a23 100644
+index a2c7a90e41..9c5a4b018c 100644
@@ -24 +25 @@
-@@ -2750,5 +2750,6 @@ hns3_reset_post(struct hns3_adapter *hns)
+@@ -2731,5 +2731,6 @@ hns3_reset_post(struct hns3_adapter *hns)
@@ -32,8 +32,0 @@
-@@ -2800,5 +2801,6 @@ hns3_reset_fail_handle(struct hns3_adapter *hns)
- 
- 	hns3_clear_reset_level(hw, &hw->reset.pending);
--	hns3_clear_reset_event(hw);
-+	if (!hns->is_vf)
-+		hns3_clear_reset_event(hw);
- 	if (hns3_reset_err_handle(hns)) {
- 		hw->reset.stage = RESET_STAGE_PREWAIT;


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

* patch 'net/hns3: fix VF reset handler interruption' has been queued to stable release 21.11.6
  2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
                   ` (18 preceding siblings ...)
  2023-12-07 11:21 ` patch 'net/hns3: fix reset event status' " Kevin Traynor
@ 2023-12-07 11:21 ` Kevin Traynor
  2023-12-07 11:21 ` patch 'net/af_xdp: make compatible with libbpf 0.8.0' " Kevin Traynor
  20 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:21 UTC (permalink / raw)
  To: Dengdui Huang; +Cc: Jie Hai, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

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

Thanks.

Kevin

---
From 9bb15a3d0f9e33a6887ce6c0985108a2e4e0b14b Mon Sep 17 00:00:00 2001
From: Dengdui Huang <huangdengdui@huawei.com>
Date: Mon, 27 Nov 2023 21:39:03 +0800
Subject: [PATCH] net/hns3: fix VF reset handler interruption

[ upstream commit 94cf4db1603fe9074b5275cc4b63685fc91fdac5 ]

Currently, the VF reset interrupt is enabled before the reset
process is completed. If the VF reset is triggered by an IMP
reset, the initialization of IMP is may not completed, and the
VF reset interrupt may continue to be reported. In this scenario,
the VF reset being performed by the driver does not need to be
interrupted. Therefore, for VF reset, the driver has to enable
the interrupt after the end of reset.

Fixes: a5475d61fa34 ("net/hns3: support VF")

Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
Acked-by: Jie Hai <haijie1@huawei.com>
---
 drivers/net/hns3/hns3_ethdev.h    | 12 ++++++++++++
 drivers/net/hns3/hns3_ethdev_vf.c | 19 +++++++++++++++++--
 drivers/net/hns3/hns3_intr.c      |  3 +--
 3 files changed, 30 insertions(+), 4 deletions(-)

diff --git a/drivers/net/hns3/hns3_ethdev.h b/drivers/net/hns3/hns3_ethdev.h
index 093d11cd71..5ba9503bf8 100644
--- a/drivers/net/hns3/hns3_ethdev.h
+++ b/drivers/net/hns3/hns3_ethdev.h
@@ -1037,4 +1037,5 @@ void hns3vf_update_link_status(struct hns3_hw *hw, uint8_t link_status,
 void hns3vf_update_push_lsc_cap(struct hns3_hw *hw, bool supported);
 void hns3_clear_reset_event(struct hns3_hw *hw);
+void hns3vf_clear_reset_event(struct hns3_hw *hw);
 
 static inline bool
@@ -1049,3 +1050,14 @@ is_reset_pending(struct hns3_adapter *hns)
 }
 
+static inline void
+hns3_clear_reset_status(struct hns3_hw *hw)
+{
+	struct hns3_adapter *hns = HNS3_DEV_HW_TO_ADAPTER(hw);
+
+	if (hns->is_vf)
+		hns3vf_clear_reset_event(hw);
+	else
+		hns3_clear_reset_event(hw);
+}
+
 #endif /* _HNS3_ETHDEV_H_ */
diff --git a/drivers/net/hns3/hns3_ethdev_vf.c b/drivers/net/hns3/hns3_ethdev_vf.c
index 5b76aad261..0d1d271f37 100644
--- a/drivers/net/hns3/hns3_ethdev_vf.c
+++ b/drivers/net/hns3/hns3_ethdev_vf.c
@@ -612,4 +612,17 @@ hns3vf_enable_irq0(struct hns3_hw *hw)
 }
 
+void
+hns3vf_clear_reset_event(struct hns3_hw *hw)
+{
+	uint32_t clearval;
+	uint32_t cmdq_stat_reg;
+
+	cmdq_stat_reg = hns3_read_dev(hw, HNS3_VECTOR0_CMDQ_STAT_REG);
+	clearval = cmdq_stat_reg & ~BIT(HNS3_VECTOR0_RST_INT_B);
+	hns3_write_dev(hw, HNS3_VECTOR0_CMDQ_SRC_REG, clearval);
+
+	hns3vf_enable_irq0(hw);
+}
+
 static enum hns3vf_evt_cause
 hns3vf_check_event_cause(struct hns3_adapter *hns, uint32_t *clearval)
@@ -686,6 +699,8 @@ hns3vf_interrupt_handler(void *param)
 	}
 
-	/* Enable interrupt */
-	hns3vf_enable_irq0(hw);
+	/* Enable interrupt if it is not caused by reset */
+	if (event_cause == HNS3VF_VECTOR0_EVENT_MBX ||
+	    event_cause == HNS3VF_VECTOR0_EVENT_OTHER)
+		hns3vf_enable_irq0(hw);
 }
 
diff --git a/drivers/net/hns3/hns3_intr.c b/drivers/net/hns3/hns3_intr.c
index 9c5a4b018c..b049774e9a 100644
--- a/drivers/net/hns3/hns3_intr.c
+++ b/drivers/net/hns3/hns3_intr.c
@@ -2731,6 +2731,5 @@ hns3_reset_post(struct hns3_adapter *hns)
 		hns3_notify_reset_ready(hw, false);
 		hns3_clear_reset_level(hw, &hw->reset.pending);
-		if (!hns->is_vf)
-			hns3_clear_reset_event(hw);
+		hns3_clear_reset_status(hw);
 		__atomic_store_n(&hns->hw.reset.resetting, 0, __ATOMIC_RELAXED);
 		hw->reset.attempts = 0;
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:19:00.099501980 +0000
+++ 0021-net-hns3-fix-VF-reset-handler-interruption.patch	2023-12-07 11:18:59.650874005 +0000
@@ -1 +1 @@
-From 94cf4db1603fe9074b5275cc4b63685fc91fdac5 Mon Sep 17 00:00:00 2001
+From 9bb15a3d0f9e33a6887ce6c0985108a2e4e0b14b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 94cf4db1603fe9074b5275cc4b63685fc91fdac5 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -22,2 +23,2 @@
- drivers/net/hns3/hns3_intr.c      |  6 ++----
- 3 files changed, 31 insertions(+), 6 deletions(-)
+ drivers/net/hns3/hns3_intr.c      |  3 +--
+ 3 files changed, 30 insertions(+), 4 deletions(-)
@@ -26 +27 @@
-index 668f141e32..12d8299def 100644
+index 093d11cd71..5ba9503bf8 100644
@@ -29 +30 @@
-@@ -1036,4 +1036,5 @@ void hns3vf_update_link_status(struct hns3_hw *hw, uint8_t link_status,
+@@ -1037,4 +1037,5 @@ void hns3vf_update_link_status(struct hns3_hw *hw, uint8_t link_status,
@@ -34,2 +35,2 @@
- const char *hns3_get_media_type_name(uint8_t media_type);
-@@ -1050,3 +1051,14 @@ is_reset_pending(struct hns3_adapter *hns)
+ static inline bool
+@@ -1049,3 +1050,14 @@ is_reset_pending(struct hns3_adapter *hns)
@@ -49 +50 @@
- #endif /* HNS3_ETHDEV_H */
+ #endif /* _HNS3_ETHDEV_H_ */
@@ -51 +52 @@
-index 156fb905f9..916cc0fb1b 100644
+index 5b76aad261..0d1d271f37 100644
@@ -54 +55 @@
-@@ -532,4 +532,17 @@ hns3vf_enable_irq0(struct hns3_hw *hw)
+@@ -612,4 +612,17 @@ hns3vf_enable_irq0(struct hns3_hw *hw)
@@ -72 +73 @@
-@@ -606,6 +619,8 @@ hns3vf_interrupt_handler(void *param)
+@@ -686,6 +699,8 @@ hns3vf_interrupt_handler(void *param)
@@ -84 +85 @@
-index 52b5435a23..916bf30dcb 100644
+index 9c5a4b018c..b049774e9a 100644
@@ -87 +88 @@
-@@ -2750,6 +2750,5 @@ hns3_reset_post(struct hns3_adapter *hns)
+@@ -2731,6 +2731,5 @@ hns3_reset_post(struct hns3_adapter *hns)
@@ -95,8 +95,0 @@
-@@ -2801,6 +2800,5 @@ hns3_reset_fail_handle(struct hns3_adapter *hns)
- 
- 	hns3_clear_reset_level(hw, &hw->reset.pending);
--	if (!hns->is_vf)
--		hns3_clear_reset_event(hw);
-+	hns3_clear_reset_status(hw);
- 	if (hns3_reset_err_handle(hns)) {
- 		hw->reset.stage = RESET_STAGE_PREWAIT;


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

* patch 'net/af_xdp: make compatible with libbpf 0.8.0' has been queued to stable release 21.11.6
  2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
                   ` (19 preceding siblings ...)
  2023-12-07 11:21 ` patch 'net/hns3: fix VF reset handler interruption' " Kevin Traynor
@ 2023-12-07 11:21 ` Kevin Traynor
  2023-12-07 14:16   ` Kevin Traynor
  20 siblings, 1 reply; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 11:21 UTC (permalink / raw)
  To: Ciara Loftus; +Cc: Andrew Rybchenko, Ferruh Yigit, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.6

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

This queued commit can be viewed at:
https://github.com/kevintraynor/dpdk-stable/commit/770e7c27240d09571a62627c3bc90b8e6e9f6024

Thanks.

Kevin

---
From 770e7c27240d09571a62627c3bc90b8e6e9f6024 Mon Sep 17 00:00:00 2001
From: Ciara Loftus <ciara.loftus@intel.com>
Date: Thu, 6 Oct 2022 09:26:54 +0300
Subject: [PATCH] net/af_xdp: make compatible with libbpf 0.8.0

[ upstream commit 1eb1846b1a2caaf77d0697747d3ecd1272ce0bfc ]

libbpf v0.8.0 deprecates the bpf_get_link_xdp_id() and
bpf_set_link_xdp_fd() functions. Use meson to detect if
bpf_xdp_attach() is available and if so, use the recommended
replacement functions bpf_xdp_query_id(), bpf_xdp_attach()
and bpf_xdp_detach().

Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Reviewed-by: Ferruh Yigit <ferruh.yigit@xilinx.com>
---
 drivers/net/af_xdp/meson.build      |  8 ++++++
 drivers/net/af_xdp/rte_eth_af_xdp.c | 38 ++++++++++++++++++++++++++++-
 2 files changed, 45 insertions(+), 1 deletion(-)

diff --git a/drivers/net/af_xdp/meson.build b/drivers/net/af_xdp/meson.build
index 1e0de23705..2605086d0c 100644
--- a/drivers/net/af_xdp/meson.build
+++ b/drivers/net/af_xdp/meson.build
@@ -56,2 +56,10 @@ else
     reason = 'missing header, "linux/if_xdp.h"'
 endif
+
+if build
+  if cc.has_function('bpf_xdp_attach',
+                     prefix : '#include <bpf/libbpf.h>',
+                     dependencies : bpf_dep)
+      cflags += ['-DRTE_NET_AF_XDP_LIBBPF_XDP_ATTACH']
+  endif
+endif
diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c b/drivers/net/af_xdp/rte_eth_af_xdp.c
index 9918d3c5fd..6bc7178fc5 100644
--- a/drivers/net/af_xdp/rte_eth_af_xdp.c
+++ b/drivers/net/af_xdp/rte_eth_af_xdp.c
@@ -859,7 +859,41 @@ eth_stats_reset(struct rte_eth_dev *dev)
 }
 
+#ifdef RTE_NET_AF_XDP_LIBBPF_XDP_ATTACH
+
+static int link_xdp_prog_with_dev(int ifindex, int fd, __u32 flags)
+{
+	return bpf_xdp_attach(ifindex, fd, flags, NULL);
+}
+
+static int
+remove_xdp_program(struct pmd_internals *internals)
+{
+	uint32_t curr_prog_id = 0;
+	int ret;
+
+	ret = bpf_xdp_query_id(internals->if_index, XDP_FLAGS_UPDATE_IF_NOEXIST,
+			       &curr_prog_id);
+	if (ret != 0) {
+		AF_XDP_LOG(ERR, "bpf_xdp_query_id failed\n");
+		return ret;
+	}
+
+	ret = bpf_xdp_detach(internals->if_index, XDP_FLAGS_UPDATE_IF_NOEXIST,
+			     NULL);
+	if (ret != 0)
+		AF_XDP_LOG(ERR, "bpf_xdp_detach failed\n");
+	return ret;
+}
+
+#else
+
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
 
+static int link_xdp_prog_with_dev(int ifindex, int fd, __u32 flags)
+{
+	return bpf_set_link_xdp_fd(ifindex, fd, flags);
+}
+
 static void
 remove_xdp_program(struct pmd_internals *internals)
@@ -878,4 +912,6 @@ remove_xdp_program(struct pmd_internals *internals)
 #pragma GCC diagnostic pop
 
+#endif
+
 static void
 xdp_umem_destroy(struct xsk_umem_info *umem)
@@ -1190,5 +1226,5 @@ load_custom_xdp_prog(const char *prog_path, int if_index, struct bpf_map **map)
 
 	/* Link the program with the given network device */
-	ret = bpf_set_link_xdp_fd(if_index, prog_fd,
+	ret = link_xdp_prog_with_dev(if_index, prog_fd,
 					XDP_FLAGS_UPDATE_IF_NOEXIST);
 	if (ret) {
-- 
2.43.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-12-07 11:19:00.123229717 +0000
+++ 0022-net-af_xdp-make-compatible-with-libbpf-0.8.0.patch	2023-12-07 11:18:59.651874009 +0000
@@ -1 +1 @@
-From 1eb1846b1a2caaf77d0697747d3ecd1272ce0bfc Mon Sep 17 00:00:00 2001
+From 770e7c27240d09571a62627c3bc90b8e6e9f6024 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1eb1846b1a2caaf77d0697747d3ecd1272ce0bfc ]
+
@@ -16,4 +18,3 @@
- doc/guides/rel_notes/release_22_11.rst |  4 +++
- drivers/net/af_xdp/meson.build         |  5 ++++
- drivers/net/af_xdp/rte_eth_af_xdp.c    | 38 +++++++++++++++++++++++++-
- 3 files changed, 46 insertions(+), 1 deletion(-)
+ drivers/net/af_xdp/meson.build      |  8 ++++++
+ drivers/net/af_xdp/rte_eth_af_xdp.c | 38 ++++++++++++++++++++++++++++-
+ 2 files changed, 45 insertions(+), 1 deletion(-)
@@ -21,13 +21,0 @@
-diff --git a/doc/guides/rel_notes/release_22_11.rst b/doc/guides/rel_notes/release_22_11.rst
-index 5fbac5cfc1..aef2d622dd 100644
---- a/doc/guides/rel_notes/release_22_11.rst
-+++ b/doc/guides/rel_notes/release_22_11.rst
-@@ -101,4 +101,8 @@ New Features
-   directly to the kernel without software involvement.
- 
-+* **Updated AF_XDP driver.**
-+
-+  * Made compatible with libbpf v0.8.0 (when used with libxdp).
-+
- * **Updated Intel iavf driver.**
- 
@@ -35 +23 @@
-index 9d5ffab96b..858047989e 100644
+index 1e0de23705..2605086d0c 100644
@@ -38,3 +26,5 @@
-@@ -65,3 +65,8 @@ if build
-       cflags += ['-DRTE_NET_AF_XDP_LIBBPF_OBJ_OPEN']
-   endif
+@@ -56,2 +56,10 @@ else
+     reason = 'missing header, "linux/if_xdp.h"'
+ endif
++
++if build
@@ -46 +36 @@
- endif
++endif
@@ -48 +38 @@
-index f7c2321a18..b6ec9bf490 100644
+index 9918d3c5fd..6bc7178fc5 100644
@@ -51 +41 @@
-@@ -867,4 +867,38 @@ eth_stats_reset(struct rte_eth_dev *dev)
+@@ -859,7 +859,41 @@ eth_stats_reset(struct rte_eth_dev *dev)
@@ -82,0 +73,3 @@
+ #pragma GCC diagnostic push
+ #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+ 
@@ -88 +81 @@
- static int
+ static void
@@ -90,2 +83,2 @@
-@@ -887,4 +921,6 @@ remove_xdp_program(struct pmd_internals *internals)
- }
+@@ -878,4 +912,6 @@ remove_xdp_program(struct pmd_internals *internals)
+ #pragma GCC diagnostic pop
@@ -97 +90 @@
-@@ -1206,5 +1242,5 @@ load_custom_xdp_prog(const char *prog_path, int if_index, struct bpf_map **map)
+@@ -1190,5 +1226,5 @@ load_custom_xdp_prog(const char *prog_path, int if_index, struct bpf_map **map)


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

* Re: patch 'net/af_xdp: make compatible with libbpf 0.8.0' has been queued to stable release 21.11.6
  2023-12-07 11:21 ` patch 'net/af_xdp: make compatible with libbpf 0.8.0' " Kevin Traynor
@ 2023-12-07 14:16   ` Kevin Traynor
  2023-12-11 12:44     ` Loftus, Ciara
  0 siblings, 1 reply; 25+ messages in thread
From: Kevin Traynor @ 2023-12-07 14:16 UTC (permalink / raw)
  To: Ciara Loftus; +Cc: Andrew Rybchenko, Ferruh Yigit, dpdk stable

Hi Ciara,

On 07/12/2023 11:21, Kevin Traynor wrote:
> Hi,
> 
> FYI, your patch has been queued to stable release 21.11.6
> 
> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
> It will be pushed if I get no objections before 12/12/23. 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/kevintraynor/dpdk-stable
> 
> This queued commit can be viewed at:
> https://github.com/kevintraynor/dpdk-stable/commit/770e7c27240d09571a62627c3bc90b8e6e9f6024
> 
> Thanks.
> 
> Kevin
> 
> ---
>  From 770e7c27240d09571a62627c3bc90b8e6e9f6024 Mon Sep 17 00:00:00 2001
> From: Ciara Loftus <ciara.loftus@intel.com>
> Date: Thu, 6 Oct 2022 09:26:54 +0300
> Subject: [PATCH] net/af_xdp: make compatible with libbpf 0.8.0
> 
> [ upstream commit 1eb1846b1a2caaf77d0697747d3ecd1272ce0bfc ]
> 
> libbpf v0.8.0 deprecates the bpf_get_link_xdp_id() and
> bpf_set_link_xdp_fd() functions. Use meson to detect if
> bpf_xdp_attach() is available and if so, use the recommended
> replacement functions bpf_xdp_query_id(), bpf_xdp_attach()
> and bpf_xdp_detach().
> 
> Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> Reviewed-by: Ferruh Yigit <ferruh.yigit@xilinx.com>
> ---
>   drivers/net/af_xdp/meson.build      |  8 ++++++
>   drivers/net/af_xdp/rte_eth_af_xdp.c | 38 ++++++++++++++++++++++++++++-
>   2 files changed, 45 insertions(+), 1 deletion(-)
> 

I saw that af_xdp driver was not building [0] on F38 with the libbpf and 
libxdp packages [1]. Previously I had squashed the deprecation warnings 
but now with newer package versions it seems that is not enough.

The meson.build file has changed a bit from 21.11 to DPDK main, so I 
tried to take the correct part from the above commit and it builds for 
F38 now.

I'm not sure if I missed some case, or there's some other commits that I 
should backport.

Can you have a look and if it's not right, send a patch or tell me which 
patches should be backported ? (you can see the diff and full file on 
the github link above).

thanks,
Kevin.


[0]
[1126/3148] Compiling C object 
drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o
../drivers/net/af_xdp/rte_eth_af_xdp.c: In function ‘remove_xdp_program’:
../drivers/net/af_xdp/rte_eth_af_xdp.c:869:13: warning: implicit 
declaration of function ‘bpf_get_link_xdp_id’ 
[-Wimplicit-function-declaration]
   869 |         if (bpf_get_link_xdp_id(internals->if_index, &curr_prog_id,
       |             ^~~~~~~~~~~~~~~~~~~
../drivers/net/af_xdp/rte_eth_af_xdp.c:869:13: warning: nested extern 
declaration of ‘bpf_get_link_xdp_id’ [-Wnested-externs]
../drivers/net/af_xdp/rte_eth_af_xdp.c:874:9: warning: implicit 
declaration of function ‘bpf_set_link_xdp_fd’; did you mean 
‘bpf_link__fd’? [-Wimplicit-function-declaration]
   874 |         bpf_set_link_xdp_fd(internals->if_index, -1,
       |         ^~~~~~~~~~~~~~~~~~~
       |         bpf_link__fd
../drivers/net/af_xdp/rte_eth_af_xdp.c:874:9: warning: nested extern 
declaration of ‘bpf_set_link_xdp_fd’ [-Wnested-externs]


[1]
$ rpm -qa | grep -e libbpf -e libxdp
libbpf-1.1.0-2.fc38.x86_64
libbpf-devel-1.1.0-2.fc38.x86_64
libxdp-1.4.1-1.fc38.x86_64
libxdp-devel-1.4.1-1.fc38.x86_64




> diff --git a/drivers/net/af_xdp/meson.build b/drivers/net/af_xdp/meson.build
> index 1e0de23705..2605086d0c 100644
> --- a/drivers/net/af_xdp/meson.build
> +++ b/drivers/net/af_xdp/meson.build
> @@ -56,2 +56,10 @@ else
>       reason = 'missing header, "linux/if_xdp.h"'
>   endif
> +
> +if build
> +  if cc.has_function('bpf_xdp_attach',
> +                     prefix : '#include <bpf/libbpf.h>',
> +                     dependencies : bpf_dep)
> +      cflags += ['-DRTE_NET_AF_XDP_LIBBPF_XDP_ATTACH']
> +  endif
> +endif
> diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c b/drivers/net/af_xdp/rte_eth_af_xdp.c
> index 9918d3c5fd..6bc7178fc5 100644
> --- a/drivers/net/af_xdp/rte_eth_af_xdp.c
> +++ b/drivers/net/af_xdp/rte_eth_af_xdp.c
> @@ -859,7 +859,41 @@ eth_stats_reset(struct rte_eth_dev *dev)
>   }
>   
> +#ifdef RTE_NET_AF_XDP_LIBBPF_XDP_ATTACH
> +
> +static int link_xdp_prog_with_dev(int ifindex, int fd, __u32 flags)
> +{
> +	return bpf_xdp_attach(ifindex, fd, flags, NULL);
> +}
> +
> +static int
> +remove_xdp_program(struct pmd_internals *internals)
> +{
> +	uint32_t curr_prog_id = 0;
> +	int ret;
> +
> +	ret = bpf_xdp_query_id(internals->if_index, XDP_FLAGS_UPDATE_IF_NOEXIST,
> +			       &curr_prog_id);
> +	if (ret != 0) {
> +		AF_XDP_LOG(ERR, "bpf_xdp_query_id failed\n");
> +		return ret;
> +	}
> +
> +	ret = bpf_xdp_detach(internals->if_index, XDP_FLAGS_UPDATE_IF_NOEXIST,
> +			     NULL);
> +	if (ret != 0)
> +		AF_XDP_LOG(ERR, "bpf_xdp_detach failed\n");
> +	return ret;
> +}
> +
> +#else
> +
>   #pragma GCC diagnostic push
>   #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
>   
> +static int link_xdp_prog_with_dev(int ifindex, int fd, __u32 flags)
> +{
> +	return bpf_set_link_xdp_fd(ifindex, fd, flags);
> +}
> +
>   static void
>   remove_xdp_program(struct pmd_internals *internals)
> @@ -878,4 +912,6 @@ remove_xdp_program(struct pmd_internals *internals)
>   #pragma GCC diagnostic pop
>   
> +#endif
> +
>   static void
>   xdp_umem_destroy(struct xsk_umem_info *umem)
> @@ -1190,5 +1226,5 @@ load_custom_xdp_prog(const char *prog_path, int if_index, struct bpf_map **map)
>   
>   	/* Link the program with the given network device */
> -	ret = bpf_set_link_xdp_fd(if_index, prog_fd,
> +	ret = link_xdp_prog_with_dev(if_index, prog_fd,
>   					XDP_FLAGS_UPDATE_IF_NOEXIST);
>   	if (ret) {


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

* RE: patch 'net/af_xdp: make compatible with libbpf 0.8.0' has been queued to stable release 21.11.6
  2023-12-07 14:16   ` Kevin Traynor
@ 2023-12-11 12:44     ` Loftus, Ciara
  2023-12-11 15:27       ` Kevin Traynor
  0 siblings, 1 reply; 25+ messages in thread
From: Loftus, Ciara @ 2023-12-11 12:44 UTC (permalink / raw)
  To: Kevin Traynor; +Cc: Andrew Rybchenko, Ferruh Yigit, dpdk stable

> 
> Hi Ciara,
> 
> On 07/12/2023 11:21, Kevin Traynor wrote:
> > Hi,
> >
> > FYI, your patch has been queued to stable release 21.11.6
> >
> > Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
> > It will be pushed if I get no objections before 12/12/23. 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/kevintraynor/dpdk-stable
> >
> > This queued commit can be viewed at:
> > https://github.com/kevintraynor/dpdk-
> stable/commit/770e7c27240d09571a62627c3bc90b8e6e9f6024
> >
> > Thanks.
> >
> > Kevin
> >
> > ---
> >  From 770e7c27240d09571a62627c3bc90b8e6e9f6024 Mon Sep 17
> 00:00:00 2001
> > From: Ciara Loftus <ciara.loftus@intel.com>
> > Date: Thu, 6 Oct 2022 09:26:54 +0300
> > Subject: [PATCH] net/af_xdp: make compatible with libbpf 0.8.0
> >
> > [ upstream commit 1eb1846b1a2caaf77d0697747d3ecd1272ce0bfc ]
> >
> > libbpf v0.8.0 deprecates the bpf_get_link_xdp_id() and
> > bpf_set_link_xdp_fd() functions. Use meson to detect if
> > bpf_xdp_attach() is available and if so, use the recommended
> > replacement functions bpf_xdp_query_id(), bpf_xdp_attach()
> > and bpf_xdp_detach().
> >
> > Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
> > Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> > Reviewed-by: Ferruh Yigit <ferruh.yigit@xilinx.com>
> > ---
> >   drivers/net/af_xdp/meson.build      |  8 ++++++
> >   drivers/net/af_xdp/rte_eth_af_xdp.c | 38
> ++++++++++++++++++++++++++++-
> >   2 files changed, 45 insertions(+), 1 deletion(-)
> >
> 
> I saw that af_xdp driver was not building [0] on F38 with the libbpf and
> libxdp packages [1]. Previously I had squashed the deprecation warnings
> but now with newer package versions it seems that is not enough.
> 
> The meson.build file has changed a bit from 21.11 to DPDK main, so I
> tried to take the correct part from the above commit and it builds for
> F38 now.
> 
> I'm not sure if I missed some case, or there's some other commits that I
> should backport.
> 
> Can you have a look and if it's not right, send a patch or tell me which
> patches should be backported ? (you can see the diff and full file on
> the github link above).

Hi Kevin,

This patch was the final patch in a set of 6 from Andrew Rybchenko:
https://patches.dpdk.org/project/dpdk/cover/20221006062654.1420349-1-andrew.rybchenko@oktetlabs.ru/

On its own the patch is enough to support libbpf 0.8.0 and no other changes are necessary. The rebase looks good to me.
The rest of the patchset tidies up the meson file and removes version-based checks in favour of checking for the presence of functions in the library. It's not an essential change to backport IMO.

Thanks,
Ciara

> 
> thanks,
> Kevin.
> 
> 
> [0]
> [1126/3148] Compiling C object
> drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o
> ../drivers/net/af_xdp/rte_eth_af_xdp.c: In function ‘remove_xdp_program’:
> ../drivers/net/af_xdp/rte_eth_af_xdp.c:869:13: warning: implicit
> declaration of function ‘bpf_get_link_xdp_id’
> [-Wimplicit-function-declaration]
>    869 |         if (bpf_get_link_xdp_id(internals->if_index, &curr_prog_id,
>        |             ^~~~~~~~~~~~~~~~~~~
> ../drivers/net/af_xdp/rte_eth_af_xdp.c:869:13: warning: nested extern
> declaration of ‘bpf_get_link_xdp_id’ [-Wnested-externs]
> ../drivers/net/af_xdp/rte_eth_af_xdp.c:874:9: warning: implicit
> declaration of function ‘bpf_set_link_xdp_fd’; did you mean
> ‘bpf_link__fd’? [-Wimplicit-function-declaration]
>    874 |         bpf_set_link_xdp_fd(internals->if_index, -1,
>        |         ^~~~~~~~~~~~~~~~~~~
>        |         bpf_link__fd
> ../drivers/net/af_xdp/rte_eth_af_xdp.c:874:9: warning: nested extern
> declaration of ‘bpf_set_link_xdp_fd’ [-Wnested-externs]
> 
> 
> [1]
> $ rpm -qa | grep -e libbpf -e libxdp
> libbpf-1.1.0-2.fc38.x86_64
> libbpf-devel-1.1.0-2.fc38.x86_64
> libxdp-1.4.1-1.fc38.x86_64
> libxdp-devel-1.4.1-1.fc38.x86_64
> 
> 
> 
> 
> > diff --git a/drivers/net/af_xdp/meson.build
> b/drivers/net/af_xdp/meson.build
> > index 1e0de23705..2605086d0c 100644
> > --- a/drivers/net/af_xdp/meson.build
> > +++ b/drivers/net/af_xdp/meson.build
> > @@ -56,2 +56,10 @@ else
> >       reason = 'missing header, "linux/if_xdp.h"'
> >   endif
> > +
> > +if build
> > +  if cc.has_function('bpf_xdp_attach',
> > +                     prefix : '#include <bpf/libbpf.h>',
> > +                     dependencies : bpf_dep)
> > +      cflags += ['-DRTE_NET_AF_XDP_LIBBPF_XDP_ATTACH']
> > +  endif
> > +endif
> > diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c
> b/drivers/net/af_xdp/rte_eth_af_xdp.c
> > index 9918d3c5fd..6bc7178fc5 100644
> > --- a/drivers/net/af_xdp/rte_eth_af_xdp.c
> > +++ b/drivers/net/af_xdp/rte_eth_af_xdp.c
> > @@ -859,7 +859,41 @@ eth_stats_reset(struct rte_eth_dev *dev)
> >   }
> >
> > +#ifdef RTE_NET_AF_XDP_LIBBPF_XDP_ATTACH
> > +
> > +static int link_xdp_prog_with_dev(int ifindex, int fd, __u32 flags)
> > +{
> > +	return bpf_xdp_attach(ifindex, fd, flags, NULL);
> > +}
> > +
> > +static int
> > +remove_xdp_program(struct pmd_internals *internals)
> > +{
> > +	uint32_t curr_prog_id = 0;
> > +	int ret;
> > +
> > +	ret = bpf_xdp_query_id(internals->if_index,
> XDP_FLAGS_UPDATE_IF_NOEXIST,
> > +			       &curr_prog_id);
> > +	if (ret != 0) {
> > +		AF_XDP_LOG(ERR, "bpf_xdp_query_id failed\n");
> > +		return ret;
> > +	}
> > +
> > +	ret = bpf_xdp_detach(internals->if_index,
> XDP_FLAGS_UPDATE_IF_NOEXIST,
> > +			     NULL);
> > +	if (ret != 0)
> > +		AF_XDP_LOG(ERR, "bpf_xdp_detach failed\n");
> > +	return ret;
> > +}
> > +
> > +#else
> > +
> >   #pragma GCC diagnostic push
> >   #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
> >
> > +static int link_xdp_prog_with_dev(int ifindex, int fd, __u32 flags)
> > +{
> > +	return bpf_set_link_xdp_fd(ifindex, fd, flags);
> > +}
> > +
> >   static void
> >   remove_xdp_program(struct pmd_internals *internals)
> > @@ -878,4 +912,6 @@ remove_xdp_program(struct pmd_internals
> *internals)
> >   #pragma GCC diagnostic pop
> >
> > +#endif
> > +
> >   static void
> >   xdp_umem_destroy(struct xsk_umem_info *umem)
> > @@ -1190,5 +1226,5 @@ load_custom_xdp_prog(const char *prog_path,
> int if_index, struct bpf_map **map)
> >
> >   	/* Link the program with the given network device */
> > -	ret = bpf_set_link_xdp_fd(if_index, prog_fd,
> > +	ret = link_xdp_prog_with_dev(if_index, prog_fd,
> >   					XDP_FLAGS_UPDATE_IF_NOEXIST);
> >   	if (ret) {


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

* Re: patch 'net/af_xdp: make compatible with libbpf 0.8.0' has been queued to stable release 21.11.6
  2023-12-11 12:44     ` Loftus, Ciara
@ 2023-12-11 15:27       ` Kevin Traynor
  0 siblings, 0 replies; 25+ messages in thread
From: Kevin Traynor @ 2023-12-11 15:27 UTC (permalink / raw)
  To: Loftus, Ciara; +Cc: Andrew Rybchenko, Ferruh Yigit, dpdk stable

On 11/12/2023 12:44, Loftus, Ciara wrote:
>>
>> Hi Ciara,
>>
>> On 07/12/2023 11:21, Kevin Traynor wrote:
>>> Hi,
>>>
>>> FYI, your patch has been queued to stable release 21.11.6
>>>
>>> Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
>>> It will be pushed if I get no objections before 12/12/23. 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/kevintraynor/dpdk-stable
>>>
>>> This queued commit can be viewed at:
>>> https://github.com/kevintraynor/dpdk-
>> stable/commit/770e7c27240d09571a62627c3bc90b8e6e9f6024
>>>
>>> Thanks.
>>>
>>> Kevin
>>>
>>> ---
>>>   From 770e7c27240d09571a62627c3bc90b8e6e9f6024 Mon Sep 17
>> 00:00:00 2001
>>> From: Ciara Loftus <ciara.loftus@intel.com>
>>> Date: Thu, 6 Oct 2022 09:26:54 +0300
>>> Subject: [PATCH] net/af_xdp: make compatible with libbpf 0.8.0
>>>
>>> [ upstream commit 1eb1846b1a2caaf77d0697747d3ecd1272ce0bfc ]
>>>
>>> libbpf v0.8.0 deprecates the bpf_get_link_xdp_id() and
>>> bpf_set_link_xdp_fd() functions. Use meson to detect if
>>> bpf_xdp_attach() is available and if so, use the recommended
>>> replacement functions bpf_xdp_query_id(), bpf_xdp_attach()
>>> and bpf_xdp_detach().
>>>
>>> Signed-off-by: Ciara Loftus <ciara.loftus@intel.com>
>>> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
>>> Reviewed-by: Ferruh Yigit <ferruh.yigit@xilinx.com>
>>> ---
>>>    drivers/net/af_xdp/meson.build      |  8 ++++++
>>>    drivers/net/af_xdp/rte_eth_af_xdp.c | 38
>> ++++++++++++++++++++++++++++-
>>>    2 files changed, 45 insertions(+), 1 deletion(-)
>>>
>>
>> I saw that af_xdp driver was not building [0] on F38 with the libbpf and
>> libxdp packages [1]. Previously I had squashed the deprecation warnings
>> but now with newer package versions it seems that is not enough.
>>
>> The meson.build file has changed a bit from 21.11 to DPDK main, so I
>> tried to take the correct part from the above commit and it builds for
>> F38 now.
>>
>> I'm not sure if I missed some case, or there's some other commits that I
>> should backport.
>>
>> Can you have a look and if it's not right, send a patch or tell me which
>> patches should be backported ? (you can see the diff and full file on
>> the github link above).
> 
> Hi Kevin,
> 
> This patch was the final patch in a set of 6 from Andrew Rybchenko:
> https://patches.dpdk.org/project/dpdk/cover/20221006062654.1420349-1-andrew.rybchenko@oktetlabs.ru/
> 
> On its own the patch is enough to support libbpf 0.8.0 and no other changes are necessary. The rebase looks good to me.
> The rest of the patchset tidies up the meson file and removes version-based checks in favour of checking for the presence of functions in the library. It's not an essential change to backport IMO.
> 

ok, thanks for confirming Ciara, we can go with just that patch as it 
resolves the build issue.

thanks,
Kevin.

> Thanks,
> Ciara
> 
>>
>> thanks,
>> Kevin.
>>
>>
>> [0]
>> [1126/3148] Compiling C object
>> drivers/libtmp_rte_net_af_xdp.a.p/net_af_xdp_rte_eth_af_xdp.c.o
>> ../drivers/net/af_xdp/rte_eth_af_xdp.c: In function ‘remove_xdp_program’:
>> ../drivers/net/af_xdp/rte_eth_af_xdp.c:869:13: warning: implicit
>> declaration of function ‘bpf_get_link_xdp_id’
>> [-Wimplicit-function-declaration]
>>     869 |         if (bpf_get_link_xdp_id(internals->if_index, &curr_prog_id,
>>         |             ^~~~~~~~~~~~~~~~~~~
>> ../drivers/net/af_xdp/rte_eth_af_xdp.c:869:13: warning: nested extern
>> declaration of ‘bpf_get_link_xdp_id’ [-Wnested-externs]
>> ../drivers/net/af_xdp/rte_eth_af_xdp.c:874:9: warning: implicit
>> declaration of function ‘bpf_set_link_xdp_fd’; did you mean
>> ‘bpf_link__fd’? [-Wimplicit-function-declaration]
>>     874 |         bpf_set_link_xdp_fd(internals->if_index, -1,
>>         |         ^~~~~~~~~~~~~~~~~~~
>>         |         bpf_link__fd
>> ../drivers/net/af_xdp/rte_eth_af_xdp.c:874:9: warning: nested extern
>> declaration of ‘bpf_set_link_xdp_fd’ [-Wnested-externs]
>>
>>
>> [1]
>> $ rpm -qa | grep -e libbpf -e libxdp
>> libbpf-1.1.0-2.fc38.x86_64
>> libbpf-devel-1.1.0-2.fc38.x86_64
>> libxdp-1.4.1-1.fc38.x86_64
>> libxdp-devel-1.4.1-1.fc38.x86_64
>>
>>
>>
>>
>>> diff --git a/drivers/net/af_xdp/meson.build
>> b/drivers/net/af_xdp/meson.build
>>> index 1e0de23705..2605086d0c 100644
>>> --- a/drivers/net/af_xdp/meson.build
>>> +++ b/drivers/net/af_xdp/meson.build
>>> @@ -56,2 +56,10 @@ else
>>>        reason = 'missing header, "linux/if_xdp.h"'
>>>    endif
>>> +
>>> +if build
>>> +  if cc.has_function('bpf_xdp_attach',
>>> +                     prefix : '#include <bpf/libbpf.h>',
>>> +                     dependencies : bpf_dep)
>>> +      cflags += ['-DRTE_NET_AF_XDP_LIBBPF_XDP_ATTACH']
>>> +  endif
>>> +endif
>>> diff --git a/drivers/net/af_xdp/rte_eth_af_xdp.c
>> b/drivers/net/af_xdp/rte_eth_af_xdp.c
>>> index 9918d3c5fd..6bc7178fc5 100644
>>> --- a/drivers/net/af_xdp/rte_eth_af_xdp.c
>>> +++ b/drivers/net/af_xdp/rte_eth_af_xdp.c
>>> @@ -859,7 +859,41 @@ eth_stats_reset(struct rte_eth_dev *dev)
>>>    }
>>>
>>> +#ifdef RTE_NET_AF_XDP_LIBBPF_XDP_ATTACH
>>> +
>>> +static int link_xdp_prog_with_dev(int ifindex, int fd, __u32 flags)
>>> +{
>>> +	return bpf_xdp_attach(ifindex, fd, flags, NULL);
>>> +}
>>> +
>>> +static int
>>> +remove_xdp_program(struct pmd_internals *internals)
>>> +{
>>> +	uint32_t curr_prog_id = 0;
>>> +	int ret;
>>> +
>>> +	ret = bpf_xdp_query_id(internals->if_index,
>> XDP_FLAGS_UPDATE_IF_NOEXIST,
>>> +			       &curr_prog_id);
>>> +	if (ret != 0) {
>>> +		AF_XDP_LOG(ERR, "bpf_xdp_query_id failed\n");
>>> +		return ret;
>>> +	}
>>> +
>>> +	ret = bpf_xdp_detach(internals->if_index,
>> XDP_FLAGS_UPDATE_IF_NOEXIST,
>>> +			     NULL);
>>> +	if (ret != 0)
>>> +		AF_XDP_LOG(ERR, "bpf_xdp_detach failed\n");
>>> +	return ret;
>>> +}
>>> +
>>> +#else
>>> +
>>>    #pragma GCC diagnostic push
>>>    #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
>>>
>>> +static int link_xdp_prog_with_dev(int ifindex, int fd, __u32 flags)
>>> +{
>>> +	return bpf_set_link_xdp_fd(ifindex, fd, flags);
>>> +}
>>> +
>>>    static void
>>>    remove_xdp_program(struct pmd_internals *internals)
>>> @@ -878,4 +912,6 @@ remove_xdp_program(struct pmd_internals
>> *internals)
>>>    #pragma GCC diagnostic pop
>>>
>>> +#endif
>>> +
>>>    static void
>>>    xdp_umem_destroy(struct xsk_umem_info *umem)
>>> @@ -1190,5 +1226,5 @@ load_custom_xdp_prog(const char *prog_path,
>> int if_index, struct bpf_map **map)
>>>
>>>    	/* Link the program with the given network device */
>>> -	ret = bpf_set_link_xdp_fd(if_index, prog_fd,
>>> +	ret = link_xdp_prog_with_dev(if_index, prog_fd,
>>>    					XDP_FLAGS_UPDATE_IF_NOEXIST);
>>>    	if (ret) {
> 


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

end of thread, other threads:[~2023-12-11 15:28 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-07 11:20 patch 'net/txgbe: fix out of bound access' has been queued to stable release 21.11.6 Kevin Traynor
2023-12-07 11:20 ` patch 'doc: fix hns3 build option about max queue number' " Kevin Traynor
2023-12-07 11:20 ` patch 'doc: update features in hns3 guide' " Kevin Traynor
2023-12-07 11:20 ` patch 'doc: fix RSS flow description " Kevin Traynor
2023-12-07 11:20 ` patch 'doc: update versions recommendations for i40e and ice' " Kevin Traynor
2023-12-07 11:20 ` patch 'examples/ipsec-secgw: fix partial overflow' " Kevin Traynor
2023-12-07 11:20 ` patch 'eal/windows: fix build with recent MinGW' " Kevin Traynor
2023-12-07 11:21 ` patch 'pdump: fix error number on IPC response' " Kevin Traynor
2023-12-07 11:21 ` patch 'app/dumpcap: allow multiple invocations' " Kevin Traynor
2023-12-07 11:21 ` patch 'examples/ethtool: fix pause configuration' " Kevin Traynor
2023-12-07 11:21 ` patch 'test/hash: fix creation error log' " Kevin Traynor
2023-12-07 11:21 ` patch 'app/pipeline: add sigint handler' " Kevin Traynor
2023-12-07 11:21 ` patch 'doc: remove restriction on ixgbe vector support' " Kevin Traynor
2023-12-07 11:21 ` patch 'doc: fix some ordered lists' " Kevin Traynor
2023-12-07 11:21 ` patch 'doc: remove number of commands in vDPA guide' " Kevin Traynor
2023-12-07 11:21 ` patch 'mempool: fix get function documentation' " Kevin Traynor
2023-12-07 11:21 ` patch 'mempool: clarify enqueue/dequeue ops " Kevin Traynor
2023-12-07 11:21 ` patch 'ethdev: fix ESP packet type description' " Kevin Traynor
2023-12-07 11:21 ` patch 'net/hns3: fix ignored reset event' " Kevin Traynor
2023-12-07 11:21 ` patch 'net/hns3: fix reset event status' " Kevin Traynor
2023-12-07 11:21 ` patch 'net/hns3: fix VF reset handler interruption' " Kevin Traynor
2023-12-07 11:21 ` patch 'net/af_xdp: make compatible with libbpf 0.8.0' " Kevin Traynor
2023-12-07 14:16   ` Kevin Traynor
2023-12-11 12:44     ` Loftus, Ciara
2023-12-11 15:27       ` Kevin Traynor

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).