* patch 'eal/x86: fix 32-bit write combining store' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'examples/eventdev: fix queue crash with generic pipeline' " Kevin Traynor
` (119 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Bruce Richardson; +Cc: Radu Nicolau, Tyler Retzlaff, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/aa79c7b67c585df83bbe9bacce3882db3165894b
Thanks.
Kevin
---
From aa79c7b67c585df83bbe9bacce3882db3165894b Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Fri, 6 Sep 2024 14:27:57 +0100
Subject: [PATCH] eal/x86: fix 32-bit write combining store
[ upstream commit 41b09d64e35b877e8f29c4e5a8cf944e303695dd ]
The "movdiri" instruction is given as a series of bytes in rte_io.h so
that it works on compilers/assemblers which are unaware of the
instruction.
The REX prefix (0x40) on this instruction is invalid for 32-bit code,
causing issues.
Thankfully, the prefix is unnecessary in 64-bit code, since the data size
used is 32-bits.
Fixes: 8a00dfc738fe ("eal: add write combining store")
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
---
lib/eal/x86/include/rte_io.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/eal/x86/include/rte_io.h b/lib/eal/x86/include/rte_io.h
index 730f958758..9947e5d285 100644
--- a/lib/eal/x86/include/rte_io.h
+++ b/lib/eal/x86/include/rte_io.h
@@ -24,5 +24,5 @@ __rte_x86_movdiri(uint32_t value, volatile void *addr)
asm volatile(
/* MOVDIRI */
- ".byte 0x40, 0x0f, 0x38, 0xf9, 0x02"
+ ".byte 0x0f, 0x38, 0xf9, 0x02"
:
: "a" (value), "d" (addr));
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:38.413073537 +0000
+++ 0002-eal-x86-fix-32-bit-write-combining-store.patch 2024-11-27 17:17:38.147268969 +0000
@@ -1 +1 @@
-From 41b09d64e35b877e8f29c4e5a8cf944e303695dd Mon Sep 17 00:00:00 2001
+From aa79c7b67c585df83bbe9bacce3882db3165894b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 41b09d64e35b877e8f29c4e5a8cf944e303695dd ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index 0e1fefdee1..5366e09c47 100644
+index 730f958758..9947e5d285 100644
@@ -28 +29 @@
-@@ -25,5 +25,5 @@ __rte_x86_movdiri(uint32_t value, volatile void *addr)
+@@ -24,5 +24,5 @@ __rte_x86_movdiri(uint32_t value, volatile void *addr)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'examples/eventdev: fix queue crash with generic pipeline' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
2024-11-27 17:17 ` patch 'eal/x86: fix 32-bit write combining store' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'crypto/dpaa2_sec: fix memory leak' " Kevin Traynor
` (118 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Chengwen Feng; +Cc: Chenxingyu Wang, Pavan Nikhilesh, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/9b958487c786c0990c27114e72160d6af38fa252
Thanks.
Kevin
---
From 9b958487c786c0990c27114e72160d6af38fa252 Mon Sep 17 00:00:00 2001
From: Chengwen Feng <fengchengwen@huawei.com>
Date: Wed, 18 Sep 2024 06:41:42 +0000
Subject: [PATCH] examples/eventdev: fix queue crash with generic pipeline
[ upstream commit f6f2307931c90d924405ea44b0b4be9d3d01bd17 ]
There was a segmentation fault when executing eventdev_pipeline with
command [1] with ConnectX-5 NIC card:
0x000000000079208c in rte_eth_tx_buffer (tx_pkt=0x16f8ed300, buffer=0x100,
queue_id=11, port_id=0) at
../lib/ethdev/rte_ethdev.h:6636
txa_service_tx (txa=0x17b19d080, ev=0xffffffffe500, n=4) at
../lib/eventdev/rte_event_eth_tx_adapter.c:631
0x0000000000792234 in txa_service_func (args=0x17b19d080) at
../lib/eventdev/rte_event_eth_tx_adapter.c:666
0x00000000008b0784 in service_runner_do_callback (s=0x17fffe100,
cs=0x17ffb5f80, service_idx=2) at
../lib/eal/common/rte_service.c:405
0x00000000008b0ad8 in service_run (i=2, cs=0x17ffb5f80,
service_mask=18446744073709551615, s=0x17fffe100,
serialize_mt_unsafe=0) at
../lib/eal/common/rte_service.c:441
0x00000000008b0c68 in rte_service_run_iter_on_app_lcore (id=2,
serialize_mt_unsafe=0) at
../lib/eal/common/rte_service.c:477
0x000000000057bcc4 in schedule_devices (lcore_id=0) at
../examples/eventdev_pipeline/pipeline_common.h:138
0x000000000057ca94 in worker_generic_burst (arg=0x17b131e80) at
../examples/eventdev_pipeline/
pipeline_worker_generic.c:83
0x00000000005794a8 in main (argc=11, argv=0xfffffffff470) at
../examples/eventdev_pipeline/main.c:449
The root cause is that the queue_id (11) is invalid, the queue_id comes
from mbuf.hash.txadapter.txq which may pre-write by NIC driver when
receiving packets (e.g. pre-write mbuf.hash.fdir.hi field).
Because this example only enabled one ethdev queue, so fixes it by reset
txq to zero in the first worker stage.
[1] dpdk-eventdev_pipeline -l 0-48 --vdev event_sw0 -- -r1 -t1 -e1 -w ff0
-s5 -n0 -c32 -W1000 -D
When launch eventdev_pipeline with command [1], event_sw
Fixes: 81fb40f95c82 ("examples/eventdev: add generic worker pipeline")
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
Signed-off-by: Chenxingyu Wang <wangchenxingyu@huawei.com>
Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
.mailmap | 1 +
examples/eventdev_pipeline/pipeline_worker_generic.c | 12 ++++++++----
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/.mailmap b/.mailmap
index 29ff02261c..d1b9f266b5 100644
--- a/.mailmap
+++ b/.mailmap
@@ -214,4 +214,5 @@ Chengwen Feng <fengchengwen@huawei.com>
Chenmin Sun <chenmin.sun@intel.com>
Chenming Chang <ccm@ccm.ink>
+Chenxingyu Wang <wangchenxingyu@huawei.com>
Chenxu Di <chenxux.di@intel.com>
Cheryl Houser <chouser@vmware.com>
diff --git a/examples/eventdev_pipeline/pipeline_worker_generic.c b/examples/eventdev_pipeline/pipeline_worker_generic.c
index ce1e92d59e..ea0337f9c1 100644
--- a/examples/eventdev_pipeline/pipeline_worker_generic.c
+++ b/examples/eventdev_pipeline/pipeline_worker_generic.c
@@ -37,8 +37,10 @@ worker_generic(void *arg)
received++;
- /* The first worker stage does classification */
- if (ev.queue_id == cdata.qid[0])
+ /* The first worker stage does classification and sets txq. */
+ if (ev.queue_id == cdata.qid[0]) {
ev.flow_id = ev.mbuf->hash.rss
% cdata.num_fids;
+ rte_event_eth_tx_adapter_txq_set(ev.mbuf, 0);
+ }
ev.queue_id = cdata.next_qid[ev.queue_id];
@@ -93,8 +95,10 @@ worker_generic_burst(void *arg)
for (i = 0; i < nb_rx; i++) {
- /* The first worker stage does classification */
- if (events[i].queue_id == cdata.qid[0])
+ /* The first worker stage does classification and sets txq. */
+ if (events[i].queue_id == cdata.qid[0]) {
events[i].flow_id = events[i].mbuf->hash.rss
% cdata.num_fids;
+ rte_event_eth_tx_adapter_txq_set(events[i].mbuf, 0);
+ }
events[i].queue_id = cdata.next_qid[events[i].queue_id];
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:38.441583869 +0000
+++ 0003-examples-eventdev-fix-queue-crash-with-generic-pipel.patch 2024-11-27 17:17:38.149268979 +0000
@@ -1 +1 @@
-From f6f2307931c90d924405ea44b0b4be9d3d01bd17 Mon Sep 17 00:00:00 2001
+From 9b958487c786c0990c27114e72160d6af38fa252 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f6f2307931c90d924405ea44b0b4be9d3d01bd17 ]
+
@@ -46 +47,0 @@
-Cc: stable@dpdk.org
@@ -57 +58 @@
-index 94fa73aa36..8a832ba4be 100644
+index 29ff02261c..d1b9f266b5 100644
@@ -60 +61 @@
-@@ -237,4 +237,5 @@ Chengwen Feng <fengchengwen@huawei.com>
+@@ -214,4 +214,5 @@ Chengwen Feng <fengchengwen@huawei.com>
@@ -65 +66 @@
- Chenyu Huang <chenyux.huang@intel.com>
+ Cheryl Houser <chouser@vmware.com>
@@ -67 +68 @@
-index 783f68c91e..831d7fd53d 100644
+index ce1e92d59e..ea0337f9c1 100644
@@ -70 +71 @@
-@@ -39,8 +39,10 @@ worker_generic(void *arg)
+@@ -37,8 +37,10 @@ worker_generic(void *arg)
@@ -83 +84 @@
-@@ -97,8 +99,10 @@ worker_generic_burst(void *arg)
+@@ -93,8 +95,10 @@ worker_generic_burst(void *arg)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'crypto/dpaa2_sec: fix memory leak' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
2024-11-27 17:17 ` patch 'eal/x86: fix 32-bit write combining store' " Kevin Traynor
2024-11-27 17:17 ` patch 'examples/eventdev: fix queue crash with generic pipeline' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'common/dpaax/caamflib: fix PDCP SNOW-ZUC watchdog' " Kevin Traynor
` (117 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Gagandeep Singh; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/62527cb4bb813cf67951fa2e456516eae02e81dc
Thanks.
Kevin
---
From 62527cb4bb813cf67951fa2e456516eae02e81dc Mon Sep 17 00:00:00 2001
From: Gagandeep Singh <g.singh@nxp.com>
Date: Tue, 6 Aug 2024 15:57:26 +0530
Subject: [PATCH] crypto/dpaa2_sec: fix memory leak
[ upstream commit 9c0abd27c3fe7a8b842d6fc254ac1241f4ba8b65 ]
fixing memory leak while creating the PDCP session
with invalid data.
Fixes: bef594ec5cc8 ("crypto/dpaa2_sec: support PDCP offload")
Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
---
drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
index 4e4fe4a54c..90bc9adfdc 100644
--- a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
+++ b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
@@ -3187,4 +3187,5 @@ dpaa2_sec_set_pdcp_session(struct rte_cryptodev *dev,
} else {
DPAA2_SEC_ERR("Invalid crypto type");
+ rte_free(priv);
return -EINVAL;
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:38.473848492 +0000
+++ 0004-crypto-dpaa2_sec-fix-memory-leak.patch 2024-11-27 17:17:38.153269000 +0000
@@ -1 +1 @@
-From 9c0abd27c3fe7a8b842d6fc254ac1241f4ba8b65 Mon Sep 17 00:00:00 2001
+From 62527cb4bb813cf67951fa2e456516eae02e81dc Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 9c0abd27c3fe7a8b842d6fc254ac1241f4ba8b65 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 2cdf9308f8..e4109e8f0a 100644
+index 4e4fe4a54c..90bc9adfdc 100644
@@ -21 +22 @@
-@@ -3423,4 +3423,5 @@ dpaa2_sec_set_pdcp_session(struct rte_cryptodev *dev,
+@@ -3187,4 +3187,5 @@ dpaa2_sec_set_pdcp_session(struct rte_cryptodev *dev,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'common/dpaax/caamflib: fix PDCP SNOW-ZUC watchdog' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (2 preceding siblings ...)
2024-11-27 17:17 ` patch 'crypto/dpaa2_sec: fix memory leak' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'dev: fix callback lookup when unregistering device' " Kevin Traynor
` (116 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Varun Sethi; +Cc: Gagandeep Singh, Hemant Agrawal, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/1ecb687439e02dda013cba5f83849a2aa8454db2
Thanks.
Kevin
---
From 1ecb687439e02dda013cba5f83849a2aa8454db2 Mon Sep 17 00:00:00 2001
From: Varun Sethi <v.sethi@nxp.com>
Date: Tue, 6 Aug 2024 15:57:27 +0530
Subject: [PATCH] common/dpaax/caamflib: fix PDCP SNOW-ZUC watchdog
[ upstream commit 2369bc1343fa5aac2890b2a3e12d65a2f1a2fd31 ]
Adding a Jump instruction with CALM flag to ensure
previous processing has been completed.
Fixes: 8827d94398f1 ("crypto/dpaa2_sec/hw: support AES-AES 18-bit PDCP")
Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
Signed-off-by: Varun Sethi <v.sethi@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/common/dpaax/caamflib/desc/pdcp.h | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/common/dpaax/caamflib/desc/pdcp.h b/drivers/common/dpaax/caamflib/desc/pdcp.h
index 73af1141b6..fc2db208ac 100644
--- a/drivers/common/dpaax/caamflib/desc/pdcp.h
+++ b/drivers/common/dpaax/caamflib/desc/pdcp.h
@@ -1575,4 +1575,9 @@ pdcp_insert_cplane_snow_aes_op(struct program *p,
CLRW, 0, 4, IMMED);
+ /* conditional jump with calm added to ensure that the
+ * previous processing has been completed
+ */
+ JUMP(p, 1, LOCAL_JUMP, ALL_TRUE, CALM);
+
if (rta_sec_era <= RTA_SEC_ERA_3)
LOAD(p, CCTRL_RESET_CHA_ALL, CCTRL, 0, 4, IMMED);
@@ -2420,4 +2425,9 @@ pdcp_insert_cplane_zuc_aes_op(struct program *p,
MOVEB(p, OFIFO, 0, MATH3, 0, 4, IMMED);
+ /* conditional jump with calm added to ensure that the
+ * previous processing has been completed
+ */
+ JUMP(p, 1, LOCAL_JUMP, ALL_TRUE, CALM);
+
LOAD(p, CLRW_RESET_CLS1_CHA |
CLRW_CLR_C1KEY |
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:38.505180782 +0000
+++ 0005-common-dpaax-caamflib-fix-PDCP-SNOW-ZUC-watchdog.patch 2024-11-27 17:17:38.156269015 +0000
@@ -1 +1 @@
-From 2369bc1343fa5aac2890b2a3e12d65a2f1a2fd31 Mon Sep 17 00:00:00 2001
+From 1ecb687439e02dda013cba5f83849a2aa8454db2 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 2369bc1343fa5aac2890b2a3e12d65a2f1a2fd31 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index bc35114cf4..9ada3905c5 100644
+index 73af1141b6..fc2db208ac 100644
@@ -23,2 +24,2 @@
-@@ -1221,4 +1221,9 @@ pdcp_insert_cplane_snow_aes_op(struct program *p,
- MOVEB(p, CONTEXT1, 0, MATH3, 0, 4, WAITCOMP | IMMED);
+@@ -1575,4 +1575,9 @@ pdcp_insert_cplane_snow_aes_op(struct program *p,
+ CLRW, 0, 4, IMMED);
@@ -31,3 +32,3 @@
- LOAD(p, CLRW_RESET_CLS1_CHA |
- CLRW_CLR_C1KEY |
-@@ -1922,4 +1927,9 @@ pdcp_insert_cplane_zuc_aes_op(struct program *p,
+ if (rta_sec_era <= RTA_SEC_ERA_3)
+ LOAD(p, CCTRL_RESET_CHA_ALL, CCTRL, 0, 4, IMMED);
+@@ -2420,4 +2425,9 @@ pdcp_insert_cplane_zuc_aes_op(struct program *p,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'dev: fix callback lookup when unregistering device' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (3 preceding siblings ...)
2024-11-27 17:17 ` patch 'common/dpaax/caamflib: fix PDCP SNOW-ZUC watchdog' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'bpf: fix free function mismatch if convert fails' " Kevin Traynor
` (115 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Malcolm Bumgardner; +Cc: Long Li, Stephen Hemminger, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/525bfcf6b4664eb6f7bee6935f679ec57d9ec804
Thanks.
Kevin
---
From 525bfcf6b4664eb6f7bee6935f679ec57d9ec804 Mon Sep 17 00:00:00 2001
From: Malcolm Bumgardner <mbumgard@cisco.com>
Date: Thu, 18 Jul 2024 12:37:28 -0700
Subject: [PATCH] dev: fix callback lookup when unregistering device
[ upstream commit 66fd2cc2e47c69ee57f0fe32558e55b085c2e32d ]
In the device event unregister code, it unconditionally removes all
callbacks which are registered with device_name set to NULL.
This results in many callbacks incorrectly removed.
Fix this by only removing callbacks with matching cb_fn and cb_arg.
Fixes: a753e53d517b ("eal: add device event monitor framework")
Signed-off-by: Malcolm Bumgardner <mbumgard@cisco.com>
Signed-off-by: Long Li <longli@microsoft.com>
Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
---
.mailmap | 1 +
lib/eal/common/eal_common_dev.c | 13 +++++++------
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/.mailmap b/.mailmap
index d1b9f266b5..39f81c0e7d 100644
--- a/.mailmap
+++ b/.mailmap
@@ -823,4 +823,5 @@ Mahipal Challa <mchalla@marvell.com>
Mah Yock Gen <yock.gen.mah@intel.com>
Mairtin o Loingsigh <mairtin.oloingsigh@intel.com>
+Malcolm Bumgardner <mbumgard@cisco.com>
Mallesham Jatharakonda <mjatharakonda@oneconvergence.com>
Mallesh Koujalagi <malleshx.koujalagi@intel.com>
diff --git a/lib/eal/common/eal_common_dev.c b/lib/eal/common/eal_common_dev.c
index 07f285f862..80d6396462 100644
--- a/lib/eal/common/eal_common_dev.c
+++ b/lib/eal/common/eal_common_dev.c
@@ -513,14 +513,15 @@ rte_dev_event_callback_unregister(const char *device_name,
if (device_name != NULL && event_cb->dev_name != NULL) {
- if (!strcmp(event_cb->dev_name, device_name)) {
- if (event_cb->cb_fn != cb_fn ||
- (cb_arg != (void *)-1 &&
- event_cb->cb_arg != cb_arg))
- continue;
- }
+ if (strcmp(event_cb->dev_name, device_name))
+ continue;
} else if (device_name != NULL) {
continue;
}
+ /* Remove only matching callback with arg */
+ if (event_cb->cb_fn != cb_fn ||
+ (cb_arg != (void *)-1 && event_cb->cb_arg != cb_arg))
+ continue;
+
/*
* if this callback is not executing right now,
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:38.534977001 +0000
+++ 0006-dev-fix-callback-lookup-when-unregistering-device.patch 2024-11-27 17:17:38.158269026 +0000
@@ -1 +1 @@
-From 66fd2cc2e47c69ee57f0fe32558e55b085c2e32d Mon Sep 17 00:00:00 2001
+From 525bfcf6b4664eb6f7bee6935f679ec57d9ec804 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 66fd2cc2e47c69ee57f0fe32558e55b085c2e32d ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index a66da3c8cb..8004772125 100644
+index d1b9f266b5..39f81c0e7d 100644
@@ -27 +28 @@
-@@ -887,4 +887,5 @@ Mahmoud Maatuq <mahmoudmatook.mm@gmail.com>
+@@ -823,4 +823,5 @@ Mahipal Challa <mchalla@marvell.com>
@@ -34 +35 @@
-index a99252b02f..70aa04dcd9 100644
+index 07f285f862..80d6396462 100644
@@ -37 +38 @@
-@@ -551,14 +551,15 @@ rte_dev_event_callback_unregister(const char *device_name,
+@@ -513,14 +513,15 @@ rte_dev_event_callback_unregister(const char *device_name,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'bpf: fix free function mismatch if convert fails' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (4 preceding siblings ...)
2024-11-27 17:17 ` patch 'dev: fix callback lookup when unregistering device' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'baseband/la12xx: fix use after free in modem config' " Kevin Traynor
` (114 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Stephen Hemminger
Cc: Morten Brørup, Konstantin Ananyev, Wathsala Vithanage, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/330a28828fb5056e22b66a3adc91120e3eaff9dd
Thanks.
Kevin
---
From 330a28828fb5056e22b66a3adc91120e3eaff9dd Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 8 Oct 2024 09:47:11 -0700
Subject: [PATCH] bpf: fix free function mismatch if convert fails
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit a3923d6bd5c0b9838d8f4678233093ffad036193 ]
If conversion of cBF to eBPF fails then an object allocated with
rte_malloc() would be passed to free().
[908/3201] Compiling C object lib/librte_bpf.a.p/bpf_bpf_convert.c.o
../lib/bpf/bpf_convert.c: In function ‘rte_bpf_convert’:
../lib/bpf/bpf_convert.c:559:17:
warning: ‘free’ called on pointer returned from a mismatched
allocation function [-Wmismatched-dealloc]
559 | free(prm);
| ^~~~~~~~~
../lib/bpf/bpf_convert.c:545:15: note: returned from ‘rte_zmalloc’
545 | prm = rte_zmalloc("bpf_filter",
| ^~~~~~~~~~~~~~~~~~~~~~~~~
546 | sizeof(*prm) + ebpf_len * sizeof(*ebpf), 0);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Fixes: 2eccf6afbea9 ("bpf: add function to convert classic BPF to DPDK BPF")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
Acked-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
---
lib/bpf/bpf_convert.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/bpf/bpf_convert.c b/lib/bpf/bpf_convert.c
index 9563274c9c..024c9edc9e 100644
--- a/lib/bpf/bpf_convert.c
+++ b/lib/bpf/bpf_convert.c
@@ -560,5 +560,5 @@ rte_bpf_convert(const struct bpf_program *prog)
if (ret < 0) {
RTE_BPF_LOG(ERR, "%s: cannot convert cBPF to eBPF\n", __func__);
- free(prm);
+ rte_free(prm);
rte_errno = -ret;
return NULL;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:38.565666502 +0000
+++ 0007-bpf-fix-free-function-mismatch-if-convert-fails.patch 2024-11-27 17:17:38.159269031 +0000
@@ -1 +1 @@
-From a3923d6bd5c0b9838d8f4678233093ffad036193 Mon Sep 17 00:00:00 2001
+From 330a28828fb5056e22b66a3adc91120e3eaff9dd Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit a3923d6bd5c0b9838d8f4678233093ffad036193 ]
+
@@ -26 +27,0 @@
-Cc: stable@dpdk.org
@@ -37 +38 @@
-index d7ff2b4325..e7e298c9cb 100644
+index 9563274c9c..024c9edc9e 100644
@@ -40 +41 @@
-@@ -557,5 +557,5 @@ rte_bpf_convert(const struct bpf_program *prog)
+@@ -560,5 +560,5 @@ rte_bpf_convert(const struct bpf_program *prog)
@@ -42 +43 @@
- RTE_BPF_LOG_LINE(ERR, "%s: cannot convert cBPF to eBPF", __func__);
+ RTE_BPF_LOG(ERR, "%s: cannot convert cBPF to eBPF\n", __func__);
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'baseband/la12xx: fix use after free in modem config' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (5 preceding siblings ...)
2024-11-27 17:17 ` patch 'bpf: fix free function mismatch if convert fails' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'crypto/bcmfs: fix free function mismatch' " Kevin Traynor
` (113 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Stephen Hemminger
Cc: Hemant Agrawal, Morten Brørup, Konstantin Ananyev,
Wathsala Vithanage, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/ef8926d21470416ee47ee2b0a96ca9da82bc362d
Thanks.
Kevin
---
From ef8926d21470416ee47ee2b0a96ca9da82bc362d Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 8 Oct 2024 09:47:19 -0700
Subject: [PATCH] baseband/la12xx: fix use after free in modem config
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit 6ffb34498913f84713e98d6a2a21d2a86028a604 ]
The info pointer (hp) could get freed twice.
Fix by nulling after free.
In function 'setup_la12xx_dev',
inlined from 'la12xx_bbdev_create' at
../drivers/baseband/la12xx/bbdev_la12xx.c:1029:8,
inlined from 'la12xx_bbdev_probe' at
../drivers/baseband/la12xx/bbdev_la12xx.c:1075:9:
../drivers/baseband/la12xx/bbdev_la12xx.c:901:9:
error: pointer 'hp_info' may be used after 'rte_free'
[-Werror=use-after-free]
901 | rte_free(hp);
| ^~~~~~~~~~~~
../drivers/baseband/la12xx/bbdev_la12xx.c:791:17:
note: call to 'rte_free' here
791 | rte_free(hp);
| ^~~~~~~~~~~~
Fixes: 24d0ba22546e ("baseband/la12xx: add queue and modem config")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
Acked-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
---
drivers/baseband/la12xx/bbdev_la12xx.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/baseband/la12xx/bbdev_la12xx.c b/drivers/baseband/la12xx/bbdev_la12xx.c
index dfebcd5c81..0ac088810d 100644
--- a/drivers/baseband/la12xx/bbdev_la12xx.c
+++ b/drivers/baseband/la12xx/bbdev_la12xx.c
@@ -781,4 +781,5 @@ setup_la12xx_dev(struct rte_bbdev *dev)
rte_free(hp);
+ hp = NULL;
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:38.594404010 +0000
+++ 0008-baseband-la12xx-fix-use-after-free-in-modem-config.patch 2024-11-27 17:17:38.160269036 +0000
@@ -1 +1 @@
-From 6ffb34498913f84713e98d6a2a21d2a86028a604 Mon Sep 17 00:00:00 2001
+From ef8926d21470416ee47ee2b0a96ca9da82bc362d Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 6ffb34498913f84713e98d6a2a21d2a86028a604 ]
+
@@ -28 +29,0 @@
-Cc: stable@dpdk.org
@@ -40 +41 @@
-index af4b4f1e9a..2432cdf884 100644
+index dfebcd5c81..0ac088810d 100644
@@ -43 +44 @@
-@@ -790,4 +790,5 @@ setup_la12xx_dev(struct rte_bbdev *dev)
+@@ -781,4 +781,5 @@ setup_la12xx_dev(struct rte_bbdev *dev)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'crypto/bcmfs: fix free function mismatch' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (6 preceding siblings ...)
2024-11-27 17:17 ` patch 'baseband/la12xx: fix use after free in modem config' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'dma/idxd: fix free function mismatch in device probe' " Kevin Traynor
` (112 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Stephen Hemminger
Cc: Ajit Khaparde, Morten Brørup, Konstantin Ananyev,
Wathsala Vithanage, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/17d0a3e5438d1bff2d17266ff4f1111008c138cb
Thanks.
Kevin
---
From 17d0a3e5438d1bff2d17266ff4f1111008c138cb Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 8 Oct 2024 09:47:06 -0700
Subject: [PATCH] crypto/bcmfs: fix free function mismatch
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit b1703af8e77d9e872e2ead92ab2dbcf290686f78 ]
The device structure is allocated with rte_malloc() and
then incorrectly freed with free().
This will lead to corrupt malloc pool.
Bugzilla ID: 1552
Fixes: c8e79da7c676 ("crypto/bcmfs: introduce BCMFS driver")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
Acked-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
---
drivers/crypto/bcmfs/bcmfs_device.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/crypto/bcmfs/bcmfs_device.c b/drivers/crypto/bcmfs/bcmfs_device.c
index 27720e4eb8..0d43a9bad0 100644
--- a/drivers/crypto/bcmfs/bcmfs_device.c
+++ b/drivers/crypto/bcmfs/bcmfs_device.c
@@ -139,5 +139,5 @@ fsdev_allocate_one_dev(struct rte_vdev_device *vdev,
cleanup:
- free(fsdev);
+ rte_free(fsdev);
return NULL;
@@ -163,5 +163,5 @@ fsdev_release(struct bcmfs_device *fsdev)
TAILQ_REMOVE(&fsdev_list, fsdev, next);
- free(fsdev);
+ rte_free(fsdev);
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:38.623181519 +0000
+++ 0009-crypto-bcmfs-fix-free-function-mismatch.patch 2024-11-27 17:17:38.160269036 +0000
@@ -1 +1 @@
-From b1703af8e77d9e872e2ead92ab2dbcf290686f78 Mon Sep 17 00:00:00 2001
+From 17d0a3e5438d1bff2d17266ff4f1111008c138cb Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit b1703af8e77d9e872e2ead92ab2dbcf290686f78 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -27 +28 @@
-index ada7ba342c..46522970d5 100644
+index 27720e4eb8..0d43a9bad0 100644
@@ -30 +31 @@
-@@ -140,5 +140,5 @@ fsdev_allocate_one_dev(struct rte_vdev_device *vdev,
+@@ -139,5 +139,5 @@ fsdev_allocate_one_dev(struct rte_vdev_device *vdev,
@@ -37 +38 @@
-@@ -164,5 +164,5 @@ fsdev_release(struct bcmfs_device *fsdev)
+@@ -163,5 +163,5 @@ fsdev_release(struct bcmfs_device *fsdev)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'dma/idxd: fix free function mismatch in device probe' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (7 preceding siblings ...)
2024-11-27 17:17 ` patch 'crypto/bcmfs: fix free function mismatch' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'event/cnxk: fix free function mismatch in port config' " Kevin Traynor
` (111 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Stephen Hemminger
Cc: Bruce Richardson, Morten Brørup, Konstantin Ananyev,
Wathsala Vithanage, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/7872b67b772c5298b18e49b3e08ba33c18a3a667
Thanks.
Kevin
---
From 7872b67b772c5298b18e49b3e08ba33c18a3a667 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 8 Oct 2024 09:47:07 -0700
Subject: [PATCH] dma/idxd: fix free function mismatch in device probe
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit 91b026fb46d987e68c1152b0bb5f0bc8f1f274db ]
The data structure is allocated with rte_malloc and incorrectly
freed in cleanup logic using free.
Bugzilla ID: 1549
Fixes: 9449330a8458 ("dma/idxd: create dmadev instances on PCI probe")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
Acked-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
---
drivers/dma/idxd/idxd_pci.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/dma/idxd/idxd_pci.c b/drivers/dma/idxd/idxd_pci.c
index 2f8ec06d9e..3dd25bf0b1 100644
--- a/drivers/dma/idxd/idxd_pci.c
+++ b/drivers/dma/idxd/idxd_pci.c
@@ -293,5 +293,5 @@ init_pci_device(struct rte_pci_device *dev, struct idxd_dmadev *idxd,
err:
- free(pci);
+ rte_free(pci);
return err_code;
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:38.651659014 +0000
+++ 0010-dma-idxd-fix-free-function-mismatch-in-device-probe.patch 2024-11-27 17:17:38.161269041 +0000
@@ -1 +1 @@
-From 91b026fb46d987e68c1152b0bb5f0bc8f1f274db Mon Sep 17 00:00:00 2001
+From 7872b67b772c5298b18e49b3e08ba33c18a3a667 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 91b026fb46d987e68c1152b0bb5f0bc8f1f274db ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -26 +27 @@
-index 60ac219559..6ed03e96da 100644
+index 2f8ec06d9e..3dd25bf0b1 100644
@@ -29 +30 @@
-@@ -302,5 +302,5 @@ init_pci_device(struct rte_pci_device *dev, struct idxd_dmadev *idxd,
+@@ -293,5 +293,5 @@ init_pci_device(struct rte_pci_device *dev, struct idxd_dmadev *idxd,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'event/cnxk: fix free function mismatch in port config' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (8 preceding siblings ...)
2024-11-27 17:17 ` patch 'dma/idxd: fix free function mismatch in device probe' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/e1000: fix use after free in filter flush' " Kevin Traynor
` (110 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Stephen Hemminger
Cc: Pavan Nikhilesh, Morten Brørup, Konstantin Ananyev,
Wathsala Vithanage, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/33d08e63989ddd9ec8ca44fa71aaebdd6eb5aae7
Thanks.
Kevin
---
From 33d08e63989ddd9ec8ca44fa71aaebdd6eb5aae7 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 8 Oct 2024 09:47:08 -0700
Subject: [PATCH] event/cnxk: fix free function mismatch in port config
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit db92f4e2ce491bb96605621cdd6f6251ea3bde85 ]
The code to cleanup in case of error would dereference null pointer
then pass that result to rte_free.
Fixes: 97a05c1fe634 ("event/cnxk: add port config")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
Acked-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
---
drivers/event/cnxk/cnxk_eventdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/event/cnxk/cnxk_eventdev.c b/drivers/event/cnxk/cnxk_eventdev.c
index 2d422aea07..4ad16d22a3 100644
--- a/drivers/event/cnxk/cnxk_eventdev.c
+++ b/drivers/event/cnxk/cnxk_eventdev.c
@@ -203,6 +203,6 @@ cnxk_setup_event_ports(const struct rte_eventdev *event_dev,
hws_fini:
for (i = i - 1; i >= 0; i--) {
- event_dev->data->ports[i] = NULL;
rte_free(cnxk_sso_hws_get_cookie(event_dev->data->ports[i]));
+ event_dev->data->ports[i] = NULL;
}
return -ENOMEM;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:38.680009619 +0000
+++ 0011-event-cnxk-fix-free-function-mismatch-in-port-config.patch 2024-11-27 17:17:38.161269041 +0000
@@ -1 +1 @@
-From db92f4e2ce491bb96605621cdd6f6251ea3bde85 Mon Sep 17 00:00:00 2001
+From 33d08e63989ddd9ec8ca44fa71aaebdd6eb5aae7 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit db92f4e2ce491bb96605621cdd6f6251ea3bde85 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index c1df481827..84a55511a3 100644
+index 2d422aea07..4ad16d22a3 100644
@@ -28 +29 @@
-@@ -122,6 +122,6 @@ cnxk_setup_event_ports(const struct rte_eventdev *event_dev,
+@@ -203,6 +203,6 @@ cnxk_setup_event_ports(const struct rte_eventdev *event_dev,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/e1000: fix use after free in filter flush' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (9 preceding siblings ...)
2024-11-27 17:17 ` patch 'event/cnxk: fix free function mismatch in port config' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/sfc: fix use after free in debug logs' " Kevin Traynor
` (109 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Stephen Hemminger
Cc: Morten Brørup, Konstantin Ananyev, Wathsala Vithanage, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/a955b9a41d114384cf30aac7d916a33e85371163
Thanks.
Kevin
---
From a955b9a41d114384cf30aac7d916a33e85371163 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 8 Oct 2024 09:47:12 -0700
Subject: [PATCH] net/e1000: fix use after free in filter flush
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit 58196dc411576925a1d66b0da1d11b06072a7ac2 ]
The driver cleanup code was freeing the filter object then
dereferencing it.
Bugzilla ID: 1550
Fixes: 6a4d050e2855 ("net/igb: flush all the filter")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
Acked-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
---
drivers/net/e1000/igb_ethdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/e1000/igb_ethdev.c b/drivers/net/e1000/igb_ethdev.c
index a9c18b27e8..6b936a604a 100644
--- a/drivers/net/e1000/igb_ethdev.c
+++ b/drivers/net/e1000/igb_ethdev.c
@@ -3856,9 +3856,9 @@ igb_delete_2tuple_filter(struct rte_eth_dev *dev,
filter_info->twotuple_mask &= ~(1 << filter->index);
TAILQ_REMOVE(&filter_info->twotuple_list, filter, entries);
- rte_free(filter);
E1000_WRITE_REG(hw, E1000_TTQF(filter->index), E1000_TTQF_DISABLE_MASK);
E1000_WRITE_REG(hw, E1000_IMIR(filter->index), 0);
E1000_WRITE_REG(hw, E1000_IMIREXT(filter->index), 0);
+ rte_free(filter);
return 0;
}
@@ -4297,5 +4297,4 @@ igb_delete_5tuple_filter_82576(struct rte_eth_dev *dev,
filter_info->fivetuple_mask &= ~(1 << filter->index);
TAILQ_REMOVE(&filter_info->fivetuple_list, filter, entries);
- rte_free(filter);
E1000_WRITE_REG(hw, E1000_FTQF(filter->index),
@@ -4306,4 +4305,5 @@ igb_delete_5tuple_filter_82576(struct rte_eth_dev *dev,
E1000_WRITE_REG(hw, E1000_IMIR(filter->index), 0);
E1000_WRITE_REG(hw, E1000_IMIREXT(filter->index), 0);
+ rte_free(filter);
return 0;
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:38.708850504 +0000
+++ 0012-net-e1000-fix-use-after-free-in-filter-flush.patch 2024-11-27 17:17:38.166269067 +0000
@@ -1 +1 @@
-From 58196dc411576925a1d66b0da1d11b06072a7ac2 Mon Sep 17 00:00:00 2001
+From a955b9a41d114384cf30aac7d916a33e85371163 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 58196dc411576925a1d66b0da1d11b06072a7ac2 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index 1e0a483d4a..d3a9181874 100644
+index a9c18b27e8..6b936a604a 100644
@@ -28 +29 @@
-@@ -3908,9 +3908,9 @@ igb_delete_2tuple_filter(struct rte_eth_dev *dev,
+@@ -3856,9 +3856,9 @@ igb_delete_2tuple_filter(struct rte_eth_dev *dev,
@@ -39 +40 @@
-@@ -4349,5 +4349,4 @@ igb_delete_5tuple_filter_82576(struct rte_eth_dev *dev,
+@@ -4297,5 +4297,4 @@ igb_delete_5tuple_filter_82576(struct rte_eth_dev *dev,
@@ -45 +46 @@
-@@ -4358,4 +4357,5 @@ igb_delete_5tuple_filter_82576(struct rte_eth_dev *dev,
+@@ -4306,4 +4305,5 @@ igb_delete_5tuple_filter_82576(struct rte_eth_dev *dev,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/sfc: fix use after free in debug logs' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (10 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/e1000: fix use after free in filter flush' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'raw/ifpga/base: fix use after free' " Kevin Traynor
` (108 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Stephen Hemminger
Cc: Ivan Malov, Andrew Rybchenko, Morten Brørup,
Konstantin Ananyev, Wathsala Vithanage, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/c9e55a5817d6b66954476defc0e945169be059e8
Thanks.
Kevin
---
From c9e55a5817d6b66954476defc0e945169be059e8 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 8 Oct 2024 09:47:13 -0700
Subject: [PATCH] net/sfc: fix use after free in debug logs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit 757b0b6f207c072a550f43836856235aa41553ad ]
If compiler detection of use-after-free is enabled then this drivers
debug messages will cause warnings. Change to move debug message
before the object is freed.
Bugzilla ID: 1551
Fixes: 55c1238246d5 ("net/sfc: add more debug messages to transfer flows")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Ivan Malov <ivan.malov@arknetworks.am>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
Acked-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
---
drivers/net/sfc/sfc_mae.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/drivers/net/sfc/sfc_mae.c b/drivers/net/sfc/sfc_mae.c
index eb97524dc3..3d98d4dba8 100644
--- a/drivers/net/sfc/sfc_mae.c
+++ b/drivers/net/sfc/sfc_mae.c
@@ -422,7 +422,6 @@ sfc_mae_outer_rule_del(struct sfc_adapter *sa,
TAILQ_REMOVE(&mae->outer_rules, rule, entries);
- rte_free(rule);
-
sfc_dbg(sa, "deleted outer_rule=%p", rule);
+ rte_free(rule);
}
@@ -583,7 +582,6 @@ sfc_mae_mac_addr_del(struct sfc_adapter *sa, struct sfc_mae_mac_addr *mac_addr)
TAILQ_REMOVE(&mae->mac_addrs, mac_addr, entries);
- rte_free(mac_addr);
-
sfc_dbg(sa, "deleted mac_addr=%p", mac_addr);
+ rte_free(mac_addr);
}
@@ -780,8 +778,8 @@ sfc_mae_encap_header_del(struct sfc_adapter *sa,
TAILQ_REMOVE(&mae->encap_headers, encap_header, entries);
+ sfc_dbg(sa, "deleted encap_header=%p", encap_header);
+
rte_free(encap_header->buf);
rte_free(encap_header);
-
- sfc_dbg(sa, "deleted encap_header=%p", encap_header);
}
@@ -1086,7 +1084,6 @@ sfc_mae_action_set_del(struct sfc_adapter *sa,
}
TAILQ_REMOVE(&mae->action_sets, action_set, entries);
- rte_free(action_set);
-
sfc_dbg(sa, "deleted action_set=%p", action_set);
+ rte_free(action_set);
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:38.739827222 +0000
+++ 0013-net-sfc-fix-use-after-free-in-debug-logs.patch 2024-11-27 17:17:38.170269088 +0000
@@ -1 +1 @@
-From 757b0b6f207c072a550f43836856235aa41553ad Mon Sep 17 00:00:00 2001
+From c9e55a5817d6b66954476defc0e945169be059e8 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 757b0b6f207c072a550f43836856235aa41553ad ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -24,3 +25,2 @@
- drivers/net/sfc/sfc_flow_rss.c | 4 ++--
- drivers/net/sfc/sfc_mae.c | 25 ++++++++++---------------
- 2 files changed, 12 insertions(+), 17 deletions(-)
+ drivers/net/sfc/sfc_mae.c | 13 +++++--------
+ 1 file changed, 5 insertions(+), 8 deletions(-)
@@ -28,14 +27,0 @@
-diff --git a/drivers/net/sfc/sfc_flow_rss.c b/drivers/net/sfc/sfc_flow_rss.c
-index e28c943335..8e2749833b 100644
---- a/drivers/net/sfc/sfc_flow_rss.c
-+++ b/drivers/net/sfc/sfc_flow_rss.c
-@@ -304,7 +304,7 @@ sfc_flow_rss_ctx_del(struct sfc_adapter *sa, struct sfc_flow_rss_ctx *ctx)
- TAILQ_REMOVE(&flow_rss->ctx_list, ctx, entries);
- rte_free(ctx->qid_offsets);
-- rte_free(ctx);
--
- sfc_dbg(sa, "flow-rss: deleted ctx=%p", ctx);
-+
-+ rte_free(ctx);
- }
-
@@ -43 +29 @@
-index 60ff6d2181..8f74f10390 100644
+index eb97524dc3..3d98d4dba8 100644
@@ -46 +32 @@
-@@ -401,7 +401,6 @@ sfc_mae_outer_rule_del(struct sfc_adapter *sa,
+@@ -422,7 +422,6 @@ sfc_mae_outer_rule_del(struct sfc_adapter *sa,
@@ -55 +41 @@
-@@ -586,7 +585,6 @@ sfc_mae_mac_addr_del(struct sfc_adapter *sa, struct sfc_mae_mac_addr *mac_addr)
+@@ -583,7 +582,6 @@ sfc_mae_mac_addr_del(struct sfc_adapter *sa, struct sfc_mae_mac_addr *mac_addr)
@@ -64 +50 @@
-@@ -786,8 +784,8 @@ sfc_mae_encap_header_del(struct sfc_adapter *sa,
+@@ -780,8 +778,8 @@ sfc_mae_encap_header_del(struct sfc_adapter *sa,
@@ -67,4 +53 @@
-- rte_free(encap_header->buf);
-- rte_free(encap_header);
--
- sfc_dbg(sa, "deleted encap_header=%p", encap_header);
++ sfc_dbg(sa, "deleted encap_header=%p", encap_header);
@@ -72,8 +55,2 @@
-+ rte_free(encap_header->buf);
-+ rte_free(encap_header);
- }
-
-@@ -984,7 +982,6 @@ sfc_mae_counter_del(struct sfc_adapter *sa, struct sfc_mae_counter *counter)
-
- TAILQ_REMOVE(&mae->counters, counter, entries);
-- rte_free(counter);
+ rte_free(encap_header->buf);
+ rte_free(encap_header);
@@ -81,2 +58 @@
- sfc_dbg(sa, "deleted counter=%p", counter);
-+ rte_free(counter);
+- sfc_dbg(sa, "deleted encap_header=%p", encap_header);
@@ -85,2 +61,2 @@
-@@ -1166,7 +1163,6 @@ sfc_mae_action_set_del(struct sfc_adapter *sa,
- sfc_mae_counter_del(sa, action_set->counter);
+@@ -1086,7 +1084,6 @@ sfc_mae_action_set_del(struct sfc_adapter *sa,
+ }
@@ -92,20 +67,0 @@
- }
-
-@@ -1402,8 +1398,8 @@ sfc_mae_action_set_list_del(struct sfc_adapter *sa,
-
- TAILQ_REMOVE(&mae->action_set_lists, action_set_list, entries);
-+ sfc_dbg(sa, "deleted action_set_list=%p", action_set_list);
-+
- rte_free(action_set_list->action_sets);
- rte_free(action_set_list);
--
-- sfc_dbg(sa, "deleted action_set_list=%p", action_set_list);
- }
-
-@@ -1668,7 +1664,6 @@ sfc_mae_action_rule_del(struct sfc_adapter *sa,
-
- TAILQ_REMOVE(&mae->action_rules, rule, entries);
-- rte_free(rule);
--
- sfc_dbg(sa, "deleted action_rule=%p", rule);
-+ rte_free(rule);
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'raw/ifpga/base: fix use after free' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (11 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/sfc: fix use after free in debug logs' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'raw/ifpga: fix free function mismatch in interrupt config' " Kevin Traynor
` (107 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Stephen Hemminger
Cc: Morten Brørup, Konstantin Ananyev, Wathsala Vithanage, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/eb6697444c50ec59bd6f7479b3c7e1cb78380444
Thanks.
Kevin
---
From eb6697444c50ec59bd6f7479b3c7e1cb78380444 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 8 Oct 2024 09:47:16 -0700
Subject: [PATCH] raw/ifpga/base: fix use after free
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit 11986223b54d981300e9de2d365c494eb274645c ]
The TAILQ_FOREACH() macro would refer to info after it
had been freed. Fix by introducing TAILQ_FOREACH_SAFE here.
Fixes: 4a19f89104f8 ("raw/ifpga/base: support multiple cards")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
Acked-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
---
drivers/raw/ifpga/base/opae_intel_max10.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/drivers/raw/ifpga/base/opae_intel_max10.c b/drivers/raw/ifpga/base/opae_intel_max10.c
index 9d82fb0982..c3bc59842a 100644
--- a/drivers/raw/ifpga/base/opae_intel_max10.c
+++ b/drivers/raw/ifpga/base/opae_intel_max10.c
@@ -6,4 +6,11 @@
#include <libfdt.h>
+#ifndef TAILQ_FOREACH_SAFE
+#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \
+ for ((var) = TAILQ_FIRST((head)); \
+ (var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
+ (var) = (tvar))
+#endif
+
int max10_reg_read(struct intel_max10_device *dev,
unsigned int reg, unsigned int *val)
@@ -354,7 +361,7 @@ static int fdt_get_named_reg(const void *fdt, int node, const char *name,
static void max10_sensor_uinit(struct intel_max10_device *dev)
{
- struct opae_sensor_info *info;
+ struct opae_sensor_info *info, *next;
- TAILQ_FOREACH(info, &dev->opae_sensor_list, node) {
+ TAILQ_FOREACH_SAFE(info, &dev->opae_sensor_list, node, next) {
TAILQ_REMOVE(&dev->opae_sensor_list, info, node);
opae_free(info);
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:38.771438250 +0000
+++ 0014-raw-ifpga-base-fix-use-after-free.patch 2024-11-27 17:17:38.170269088 +0000
@@ -1 +1 @@
-From 11986223b54d981300e9de2d365c494eb274645c Mon Sep 17 00:00:00 2001
+From eb6697444c50ec59bd6f7479b3c7e1cb78380444 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 11986223b54d981300e9de2d365c494eb274645c ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index dd97a5f9fd..d5a9ceb6e3 100644
+index 9d82fb0982..c3bc59842a 100644
@@ -27,2 +28,2 @@
-@@ -7,4 +7,11 @@
- #include "opae_osdep.h"
+@@ -6,4 +6,11 @@
+ #include <libfdt.h>
@@ -37,3 +38,3 @@
- int max10_sys_read(struct intel_max10_device *dev,
- unsigned int offset, unsigned int *val)
-@@ -747,7 +754,7 @@ static int fdt_get_named_reg(const void *fdt, int node, const char *name,
+ int max10_reg_read(struct intel_max10_device *dev,
+ unsigned int reg, unsigned int *val)
+@@ -354,7 +361,7 @@ static int fdt_get_named_reg(const void *fdt, int node, const char *name,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'raw/ifpga: fix free function mismatch in interrupt config' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (12 preceding siblings ...)
2024-11-27 17:17 ` patch 'raw/ifpga/base: fix use after free' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'examples/vhost: fix free function mismatch' " Kevin Traynor
` (106 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Stephen Hemminger
Cc: Morten Brørup, Konstantin Ananyev, Wathsala Vithanage, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/de0b999d7b60f5c2d91ece77778eb76cc9962448
Thanks.
Kevin
---
From de0b999d7b60f5c2d91ece77778eb76cc9962448 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 8 Oct 2024 09:47:18 -0700
Subject: [PATCH] raw/ifpga: fix free function mismatch in interrupt config
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit d891a597895bb65db42404440660f82092780750 ]
The raw ifpga driver redefines malloc to be opae_malloc
and free to be opae_free; which is a bad idea.
This leads to case where interrupt efd array is allocated with calloc()
and then passed to rte_free.
The workaround is to allocate the array with rte_calloc() instead.
Fixes: d61138d4f0e2 ("drivers: remove direct access to interrupt handle")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
Acked-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
---
drivers/raw/ifpga/ifpga_rawdev.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/raw/ifpga/ifpga_rawdev.c b/drivers/raw/ifpga/ifpga_rawdev.c
index cb0427157a..8df09e0cde 100644
--- a/drivers/raw/ifpga/ifpga_rawdev.c
+++ b/drivers/raw/ifpga/ifpga_rawdev.c
@@ -1496,5 +1496,5 @@ ifpga_register_msix_irq(struct ifpga_rawdev *dev, int port_id,
nb_intr = rte_intr_nb_intr_get(*intr_handle);
- intr_efds = calloc(nb_intr, sizeof(int));
+ intr_efds = rte_calloc("ifpga_efds", nb_intr, sizeof(int), 0);
if (!intr_efds)
return -ENOMEM;
@@ -1505,5 +1505,5 @@ ifpga_register_msix_irq(struct ifpga_rawdev *dev, int port_id,
ret = opae_acc_set_irq(acc, vec_start, count, intr_efds);
if (ret) {
- free(intr_efds);
+ rte_free(intr_efds);
return -EINVAL;
}
@@ -1514,5 +1514,5 @@ ifpga_register_msix_irq(struct ifpga_rawdev *dev, int port_id,
handler, (void *)arg);
if (ret) {
- free(intr_efds);
+ rte_free(intr_efds);
return -EINVAL;
}
@@ -1520,5 +1520,5 @@ ifpga_register_msix_irq(struct ifpga_rawdev *dev, int port_id,
IFPGA_RAWDEV_PMD_INFO("success register %s interrupt\n", name);
- free(intr_efds);
+ rte_free(intr_efds);
return 0;
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:38.800743910 +0000
+++ 0015-raw-ifpga-fix-free-function-mismatch-in-interrupt-co.patch 2024-11-27 17:17:38.171269093 +0000
@@ -1 +1 @@
-From d891a597895bb65db42404440660f82092780750 Mon Sep 17 00:00:00 2001
+From de0b999d7b60f5c2d91ece77778eb76cc9962448 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit d891a597895bb65db42404440660f82092780750 ]
+
@@ -17 +18,0 @@
-Cc: stable@dpdk.org
@@ -28 +29 @@
-index 113a22b0a7..5b9b596435 100644
+index cb0427157a..8df09e0cde 100644
@@ -31 +32 @@
-@@ -1500,5 +1500,5 @@ ifpga_register_msix_irq(struct ifpga_rawdev *dev, int port_id,
+@@ -1496,5 +1496,5 @@ ifpga_register_msix_irq(struct ifpga_rawdev *dev, int port_id,
@@ -38 +39 @@
-@@ -1509,5 +1509,5 @@ ifpga_register_msix_irq(struct ifpga_rawdev *dev, int port_id,
+@@ -1505,5 +1505,5 @@ ifpga_register_msix_irq(struct ifpga_rawdev *dev, int port_id,
@@ -45 +46 @@
-@@ -1518,5 +1518,5 @@ ifpga_register_msix_irq(struct ifpga_rawdev *dev, int port_id,
+@@ -1514,5 +1514,5 @@ ifpga_register_msix_irq(struct ifpga_rawdev *dev, int port_id,
@@ -52,2 +53,2 @@
-@@ -1524,5 +1524,5 @@ ifpga_register_msix_irq(struct ifpga_rawdev *dev, int port_id,
- IFPGA_RAWDEV_PMD_INFO("success register %s interrupt", name);
+@@ -1520,5 +1520,5 @@ ifpga_register_msix_irq(struct ifpga_rawdev *dev, int port_id,
+ IFPGA_RAWDEV_PMD_INFO("success register %s interrupt\n", name);
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'examples/vhost: fix free function mismatch' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (13 preceding siblings ...)
2024-11-27 17:17 ` patch 'raw/ifpga: fix free function mismatch in interrupt config' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/nfb: fix use after free' " Kevin Traynor
` (105 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Stephen Hemminger
Cc: Chengwen Feng, Chenbo Xia, Morten Brørup,
Konstantin Ananyev, Wathsala Vithanage, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/1568469c2a6cc1f1693e832f539a1725f07d3e05
Thanks.
Kevin
---
From 1568469c2a6cc1f1693e832f539a1725f07d3e05 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 8 Oct 2024 09:47:09 -0700
Subject: [PATCH] examples/vhost: fix free function mismatch
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit ae67f7d0256687fdfb24d27ee94b20d88c65108e ]
The pointer bdev is allocated with rte_zmalloc() and then
incorrectly freed with free() which will lead to pool corruption.
Bugzilla ID: 1553
Fixes: c19beb3f38cd ("examples/vhost_blk: introduce vhost storage sample")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
Reviewed-by: Chenbo Xia <chenbox@nvidia.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
Acked-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
---
examples/vhost_blk/vhost_blk.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/examples/vhost_blk/vhost_blk.c b/examples/vhost_blk/vhost_blk.c
index feadacc62e..3dd6053290 100644
--- a/examples/vhost_blk/vhost_blk.c
+++ b/examples/vhost_blk/vhost_blk.c
@@ -785,5 +785,5 @@ vhost_blk_bdev_construct(const char *bdev_name,
if (!bdev->data) {
fprintf(stderr, "No enough reserved huge memory for disk\n");
- free(bdev);
+ rte_free(bdev);
return NULL;
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:38.830147309 +0000
+++ 0016-examples-vhost-fix-free-function-mismatch.patch 2024-11-27 17:17:38.172269098 +0000
@@ -1 +1 @@
-From ae67f7d0256687fdfb24d27ee94b20d88c65108e Mon Sep 17 00:00:00 2001
+From 1568469c2a6cc1f1693e832f539a1725f07d3e05 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit ae67f7d0256687fdfb24d27ee94b20d88c65108e ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -27 +28 @@
-index 03f1ac9c3f..9c9e326949 100644
+index feadacc62e..3dd6053290 100644
@@ -30 +31 @@
-@@ -777,5 +777,5 @@ vhost_blk_bdev_construct(const char *bdev_name,
+@@ -785,5 +785,5 @@ vhost_blk_bdev_construct(const char *bdev_name,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/nfb: fix use after free' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (14 preceding siblings ...)
2024-11-27 17:17 ` patch 'examples/vhost: fix free function mismatch' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'power: enable CPPC' " Kevin Traynor
` (104 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Thomas Monjalon; +Cc: David Marchand, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/61697c515ccbf60c11ca2ea65f0b980a2105fcaf
Thanks.
Kevin
---
From 61697c515ccbf60c11ca2ea65f0b980a2105fcaf Mon Sep 17 00:00:00 2001
From: Thomas Monjalon <thomas@monjalon.net>
Date: Thu, 10 Oct 2024 19:11:07 +0200
Subject: [PATCH] net/nfb: fix use after free
[ upstream commit 76da9834ebb6e43e005bd5895ff4568d0e7be78f ]
With the annotations added to the allocation functions
in commit 80da7efbb4c4 ("eal: annotate allocation functions"),
more issues are detected at compilation time:
nfb_rx.c:133:28: error: pointer 'rxq' used after 'rte_free'
It is fixed by moving the assignment before freeing the parent pointer.
Fixes: 6435f9a0ac22 ("net/nfb: add new netcope driver")
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Reviewed-by: David Marchand <david.marchand@redhat.com>
---
drivers/net/nfb/nfb_rx.c | 2 +-
drivers/net/nfb/nfb_tx.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/nfb/nfb_rx.c b/drivers/net/nfb/nfb_rx.c
index f76e2ba646..f260baed36 100644
--- a/drivers/net/nfb/nfb_rx.c
+++ b/drivers/net/nfb/nfb_rx.c
@@ -183,6 +183,6 @@ nfb_eth_rx_queue_release(struct rte_eth_dev *dev, uint16_t qid)
if (rxq->queue != NULL) {
ndp_close_rx_queue(rxq->queue);
- rte_free(rxq);
rxq->queue = NULL;
+ rte_free(rxq);
}
}
diff --git a/drivers/net/nfb/nfb_tx.c b/drivers/net/nfb/nfb_tx.c
index d49fc324e7..5c38d69934 100644
--- a/drivers/net/nfb/nfb_tx.c
+++ b/drivers/net/nfb/nfb_tx.c
@@ -109,6 +109,6 @@ nfb_eth_tx_queue_release(struct rte_eth_dev *dev, uint16_t qid)
if (txq->queue != NULL) {
ndp_close_tx_queue(txq->queue);
- rte_free(txq);
txq->queue = NULL;
+ rte_free(txq);
}
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:38.858762671 +0000
+++ 0017-net-nfb-fix-use-after-free.patch 2024-11-27 17:17:38.172269098 +0000
@@ -1 +1 @@
-From 76da9834ebb6e43e005bd5895ff4568d0e7be78f Mon Sep 17 00:00:00 2001
+From 61697c515ccbf60c11ca2ea65f0b980a2105fcaf Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 76da9834ebb6e43e005bd5895ff4568d0e7be78f ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index f72afafe8f..462bc3b50d 100644
+index f76e2ba646..f260baed36 100644
@@ -28 +29 @@
-@@ -130,6 +130,6 @@ nfb_eth_rx_queue_release(struct rte_eth_dev *dev, uint16_t qid)
+@@ -183,6 +183,6 @@ nfb_eth_rx_queue_release(struct rte_eth_dev *dev, uint16_t qid)
@@ -37 +38 @@
-index a1318a4205..cf99268c43 100644
+index d49fc324e7..5c38d69934 100644
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'power: enable CPPC' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (15 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/nfb: fix use after free' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'fib6: add runtime checks in AVX512 lookup' " Kevin Traynor
` (103 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Wathsala Vithanage; +Cc: Dhruv Tripathi, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/26bb6c9f32361f1ae5a8bfad766ead7cdf036d85
Thanks.
Kevin
---
From 26bb6c9f32361f1ae5a8bfad766ead7cdf036d85 Mon Sep 17 00:00:00 2001
From: Wathsala Vithanage <wathsala.vithanage@arm.com>
Date: Thu, 10 Oct 2024 14:17:36 +0000
Subject: [PATCH] power: enable CPPC
[ upstream commit 35220c7cb3aff022b3a41919139496326ef6eecc ]
Power library already supports Linux CPPC driver,
but initialization was failing.
Enable its use in the drivers check,
and fix the name of the CPPC driver name.
Fixes: ef1cc88f1837 ("power: support cppc_cpufreq driver")
Signed-off-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
Reviewed-by: Dhruv Tripathi <dhruv.tripathi@arm.com>
---
lib/power/power_cppc_cpufreq.c | 2 +-
lib/power/rte_power_pmd_mgmt.c | 12 +++++++-----
2 files changed, 8 insertions(+), 6 deletions(-)
diff --git a/lib/power/power_cppc_cpufreq.c b/lib/power/power_cppc_cpufreq.c
index 25185a791c..3223a6a445 100644
--- a/lib/power/power_cppc_cpufreq.c
+++ b/lib/power/power_cppc_cpufreq.c
@@ -35,5 +35,5 @@
"/sys/devices/system/cpu/cpu%u/cpufreq/cpuinfo_max_freq"
-#define POWER_CPPC_DRIVER "cppc-cpufreq"
+#define POWER_CPPC_DRIVER "cppc_cpufreq"
#define BUS_FREQ 100000
diff --git a/lib/power/rte_power_pmd_mgmt.c b/lib/power/rte_power_pmd_mgmt.c
index 39a2b4cd23..d73f450538 100644
--- a/lib/power/rte_power_pmd_mgmt.c
+++ b/lib/power/rte_power_pmd_mgmt.c
@@ -413,8 +413,9 @@ check_scale(unsigned int lcore)
enum power_management_env env;
- /* only PSTATE and ACPI modes are supported */
+ /* only PSTATE, ACPI and CPPC modes are supported */
if (!rte_power_check_env_supported(PM_ENV_ACPI_CPUFREQ) &&
- !rte_power_check_env_supported(PM_ENV_PSTATE_CPUFREQ)) {
- RTE_LOG(DEBUG, POWER, "Neither ACPI nor PSTATE modes are supported\n");
+ !rte_power_check_env_supported(PM_ENV_PSTATE_CPUFREQ) &&
+ !rte_power_check_env_supported(PM_ENV_CPPC_CPUFREQ)) {
+ POWER_LOG(DEBUG, "Only ACPI, PSTATE, or CPPC modes are supported");
return -ENOTSUP;
}
@@ -425,6 +426,7 @@ check_scale(unsigned int lcore)
/* ensure we initialized the correct env */
env = rte_power_get_env();
- if (env != PM_ENV_ACPI_CPUFREQ && env != PM_ENV_PSTATE_CPUFREQ) {
- RTE_LOG(DEBUG, POWER, "Neither ACPI nor PSTATE modes were initialized\n");
+ if (env != PM_ENV_ACPI_CPUFREQ && env != PM_ENV_PSTATE_CPUFREQ &&
+ env != PM_ENV_CPPC_CPUFREQ) {
+ POWER_LOG(DEBUG, "Unable to initialize ACPI, PSTATE, or CPPC modes");
return -ENOTSUP;
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:38.886704070 +0000
+++ 0018-power-enable-CPPC.patch 2024-11-27 17:17:38.173269103 +0000
@@ -1 +1 @@
-From 35220c7cb3aff022b3a41919139496326ef6eecc Mon Sep 17 00:00:00 2001
+From 26bb6c9f32361f1ae5a8bfad766ead7cdf036d85 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 35220c7cb3aff022b3a41919139496326ef6eecc ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -18,2 +19,2 @@
- lib/power/rte_power_pmd_mgmt.c | 11 ++++++-----
- 2 files changed, 7 insertions(+), 6 deletions(-)
+ lib/power/rte_power_pmd_mgmt.c | 12 +++++++-----
+ 2 files changed, 8 insertions(+), 6 deletions(-)
@@ -22 +23 @@
-index 32aaacb948..e68b39b424 100644
+index 25185a791c..3223a6a445 100644
@@ -25 +26 @@
-@@ -37,5 +37,5 @@
+@@ -35,5 +35,5 @@
@@ -33 +34 @@
-index b1c18a5f56..830a6c7a97 100644
+index 39a2b4cd23..d73f450538 100644
@@ -36 +37 @@
-@@ -420,9 +420,10 @@ check_scale(unsigned int lcore)
+@@ -413,8 +413,9 @@ check_scale(unsigned int lcore)
@@ -40 +41 @@
-+ /* only PSTATE, AMD-PSTATE, ACPI and CPPC modes are supported */
++ /* only PSTATE, ACPI and CPPC modes are supported */
@@ -42,4 +43,3 @@
- !rte_power_check_env_supported(PM_ENV_PSTATE_CPUFREQ) &&
-- !rte_power_check_env_supported(PM_ENV_AMD_PSTATE_CPUFREQ)) {
-- POWER_LOG(DEBUG, "Neither ACPI nor PSTATE modes are supported");
-+ !rte_power_check_env_supported(PM_ENV_AMD_PSTATE_CPUFREQ) &&
+- !rte_power_check_env_supported(PM_ENV_PSTATE_CPUFREQ)) {
+- RTE_LOG(DEBUG, POWER, "Neither ACPI nor PSTATE modes are supported\n");
++ !rte_power_check_env_supported(PM_ENV_PSTATE_CPUFREQ) &&
@@ -47 +47 @@
-+ POWER_LOG(DEBUG, "Only ACPI, PSTATE, AMD-PSTATE, or CPPC modes are supported");
++ POWER_LOG(DEBUG, "Only ACPI, PSTATE, or CPPC modes are supported");
@@ -50 +50,2 @@
-@@ -434,6 +435,6 @@ check_scale(unsigned int lcore)
+@@ -425,6 +426,7 @@ check_scale(unsigned int lcore)
+ /* ensure we initialized the correct env */
@@ -52,5 +53,5 @@
- if (env != PM_ENV_ACPI_CPUFREQ && env != PM_ENV_PSTATE_CPUFREQ &&
-- env != PM_ENV_AMD_PSTATE_CPUFREQ) {
-- POWER_LOG(DEBUG, "Neither ACPI nor PSTATE modes were initialized");
-+ env != PM_ENV_AMD_PSTATE_CPUFREQ && env != PM_ENV_CPPC_CPUFREQ) {
-+ POWER_LOG(DEBUG, "Unable to initialize ACPI, PSTATE, AMD-PSTATE, or CPPC modes");
+- if (env != PM_ENV_ACPI_CPUFREQ && env != PM_ENV_PSTATE_CPUFREQ) {
+- RTE_LOG(DEBUG, POWER, "Neither ACPI nor PSTATE modes were initialized\n");
++ if (env != PM_ENV_ACPI_CPUFREQ && env != PM_ENV_PSTATE_CPUFREQ &&
++ env != PM_ENV_CPPC_CPUFREQ) {
++ POWER_LOG(DEBUG, "Unable to initialize ACPI, PSTATE, or CPPC modes");
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'fib6: add runtime checks in AVX512 lookup' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (16 preceding siblings ...)
2024-11-27 17:17 ` patch 'power: enable CPPC' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/cnxk: fix Rx timestamp handling for VF' " Kevin Traynor
` (102 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Vladimir Medvedkin; +Cc: David Marchand, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/757dde39189e5f7b4aa7db06cdf6adc0794f9557
Thanks.
Kevin
---
From 757dde39189e5f7b4aa7db06cdf6adc0794f9557 Mon Sep 17 00:00:00 2001
From: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Date: Tue, 8 Oct 2024 17:31:36 +0000
Subject: [PATCH] fib6: add runtime checks in AVX512 lookup
[ upstream commit 45ddc5660f9830f3b7b39ddaf57af02e80d589a4 ]
AVX512 lookup function requires CPU to support RTE_CPUFLAG_AVX512DQ and
RTE_CPUFLAG_AVX512BW. Add runtime checks of these two flags when deciding
if vector function can be used.
Fixes: 1e5630e40d95 ("fib6: add AVX512 lookup")
Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
---
lib/fib/trie.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/lib/fib/trie.c b/lib/fib/trie.c
index b096743086..e7ea4f2be2 100644
--- a/lib/fib/trie.c
+++ b/lib/fib/trie.c
@@ -52,6 +52,8 @@ get_vector_fn(enum rte_fib_trie_nh_sz nh_sz)
{
#ifdef CC_TRIE_AVX512_SUPPORT
- if ((rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX512F) <= 0) ||
- (rte_vect_get_max_simd_bitwidth() < RTE_VECT_SIMD_512))
+ if (rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX512F) <= 0 ||
+ rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX512DQ) <= 0 ||
+ rte_cpu_get_flag_enabled(RTE_CPUFLAG_AVX512BW) <= 0 ||
+ rte_vect_get_max_simd_bitwidth() < RTE_VECT_SIMD_512)
return NULL;
switch (nh_sz) {
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:38.915344568 +0000
+++ 0019-fib6-add-runtime-checks-in-AVX512-lookup.patch 2024-11-27 17:17:38.174269109 +0000
@@ -1 +1 @@
-From 45ddc5660f9830f3b7b39ddaf57af02e80d589a4 Mon Sep 17 00:00:00 2001
+From 757dde39189e5f7b4aa7db06cdf6adc0794f9557 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 45ddc5660f9830f3b7b39ddaf57af02e80d589a4 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 09470e7287..7b33cdaa7b 100644
+index b096743086..e7ea4f2be2 100644
@@ -23 +24 @@
-@@ -47,6 +47,8 @@ get_vector_fn(enum rte_fib_trie_nh_sz nh_sz)
+@@ -52,6 +52,8 @@ get_vector_fn(enum rte_fib_trie_nh_sz nh_sz)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/cnxk: fix Rx timestamp handling for VF' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (17 preceding siblings ...)
2024-11-27 17:17 ` patch 'fib6: add runtime checks in AVX512 lookup' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/cnxk: fix Rx offloads to handle timestamp' " Kevin Traynor
` (101 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Rakesh Kudurumalla; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/afcc1f14556788bb10fc10d99fea99e36f254e74
Thanks.
Kevin
---
From afcc1f14556788bb10fc10d99fea99e36f254e74 Mon Sep 17 00:00:00 2001
From: Rakesh Kudurumalla <rkudurumalla@marvell.com>
Date: Tue, 1 Oct 2024 11:30:40 +0530
Subject: [PATCH] net/cnxk: fix Rx timestamp handling for VF
[ upstream commit 0efd93a2740d1ab13fc55656ce9e55f79e09c4f3 ]
When timestamp is enabled on PF in kernel and respective
VF is attached to application in DPDK then mbuf_addr is getting
corrupted in cnxk_nix_timestamp_dynfield() as
"tstamp_dynfield_offset" is zero for PTP enabled PF
This patch fixes the same.
Fixes: 76dff63874e3 ("net/cnxk: support base PTP timesync")
Signed-off-by: Rakesh Kudurumalla <rkudurumalla@marvell.com>
---
drivers/net/cnxk/cn10k_ethdev.c | 12 +++++++++++-
drivers/net/cnxk/cn9k_ethdev.c | 12 +++++++++++-
drivers/net/cnxk/cnxk_ethdev.c | 2 +-
3 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/drivers/net/cnxk/cn10k_ethdev.c b/drivers/net/cnxk/cn10k_ethdev.c
index c36b858110..fed447c874 100644
--- a/drivers/net/cnxk/cn10k_ethdev.c
+++ b/drivers/net/cnxk/cn10k_ethdev.c
@@ -370,5 +370,5 @@ cn10k_nix_ptp_info_update_cb(struct roc_nix *nix, bool ptp_en)
struct rte_eth_dev *eth_dev;
struct cn10k_eth_rxq *rxq;
- int i;
+ int i, rc;
if (!dev)
@@ -393,5 +393,15 @@ cn10k_nix_ptp_info_update_cb(struct roc_nix *nix, bool ptp_en)
* sent(VF->PF)
*/
+ if (dev->ptp_en) {
+ rc = rte_mbuf_dyn_rx_timestamp_register
+ (&dev->tstamp.tstamp_dynfield_offset,
+ &dev->tstamp.rx_tstamp_dynflag);
+ if (rc != 0) {
+ plt_err("Failed to register Rx timestamp field/flag");
+ return -EINVAL;
+ }
+ }
eth_dev->rx_pkt_burst = nix_ptp_vf_burst;
+ rte_eth_fp_ops[eth_dev->data->port_id].rx_pkt_burst = eth_dev->rx_pkt_burst;
rte_mb();
}
diff --git a/drivers/net/cnxk/cn9k_ethdev.c b/drivers/net/cnxk/cn9k_ethdev.c
index f8f3d3895e..9ec5d7fe89 100644
--- a/drivers/net/cnxk/cn9k_ethdev.c
+++ b/drivers/net/cnxk/cn9k_ethdev.c
@@ -361,5 +361,5 @@ cn9k_nix_ptp_info_update_cb(struct roc_nix *nix, bool ptp_en)
struct rte_eth_dev *eth_dev;
struct cn9k_eth_rxq *rxq;
- int i;
+ int i, rc;
if (!dev)
@@ -384,5 +384,15 @@ cn9k_nix_ptp_info_update_cb(struct roc_nix *nix, bool ptp_en)
* sent(VF->PF)
*/
+ if (dev->ptp_en) {
+ rc = rte_mbuf_dyn_rx_timestamp_register
+ (&dev->tstamp.tstamp_dynfield_offset,
+ &dev->tstamp.rx_tstamp_dynflag);
+ if (rc != 0) {
+ plt_err("Failed to register Rx timestamp field/flag");
+ return -EINVAL;
+ }
+ }
eth_dev->rx_pkt_burst = nix_ptp_vf_burst;
+ rte_eth_fp_ops[eth_dev->data->port_id].rx_pkt_burst = eth_dev->rx_pkt_burst;
rte_mb();
}
diff --git a/drivers/net/cnxk/cnxk_ethdev.c b/drivers/net/cnxk/cnxk_ethdev.c
index e4c22e7297..86f86c6c7a 100644
--- a/drivers/net/cnxk/cnxk_ethdev.c
+++ b/drivers/net/cnxk/cnxk_ethdev.c
@@ -1544,5 +1544,5 @@ cnxk_nix_dev_start(struct rte_eth_dev *eth_dev)
cnxk_eth_dev_ops.timesync_disable(eth_dev);
- if (dev->rx_offloads & RTE_ETH_RX_OFFLOAD_TIMESTAMP) {
+ if (dev->rx_offloads & RTE_ETH_RX_OFFLOAD_TIMESTAMP || dev->ptp_en) {
rc = rte_mbuf_dyn_rx_timestamp_register
(&dev->tstamp.tstamp_dynfield_offset,
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:38.943580775 +0000
+++ 0020-net-cnxk-fix-Rx-timestamp-handling-for-VF.patch 2024-11-27 17:17:38.176269119 +0000
@@ -1 +1 @@
-From 0efd93a2740d1ab13fc55656ce9e55f79e09c4f3 Mon Sep 17 00:00:00 2001
+From afcc1f14556788bb10fc10d99fea99e36f254e74 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0efd93a2740d1ab13fc55656ce9e55f79e09c4f3 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index ad6bc1ec21..46476e386a 100644
+index c36b858110..fed447c874 100644
@@ -26 +27 @@
-@@ -474,5 +474,5 @@ cn10k_nix_ptp_info_update_cb(struct roc_nix *nix, bool ptp_en)
+@@ -370,5 +370,5 @@ cn10k_nix_ptp_info_update_cb(struct roc_nix *nix, bool ptp_en)
@@ -33 +34 @@
-@@ -497,5 +497,15 @@ cn10k_nix_ptp_info_update_cb(struct roc_nix *nix, bool ptp_en)
+@@ -393,5 +393,15 @@ cn10k_nix_ptp_info_update_cb(struct roc_nix *nix, bool ptp_en)
@@ -50 +51 @@
-index 84c88655f8..5417628368 100644
+index f8f3d3895e..9ec5d7fe89 100644
@@ -53 +54 @@
-@@ -433,5 +433,5 @@ cn9k_nix_ptp_info_update_cb(struct roc_nix *nix, bool ptp_en)
+@@ -361,5 +361,5 @@ cn9k_nix_ptp_info_update_cb(struct roc_nix *nix, bool ptp_en)
@@ -60 +61 @@
-@@ -456,5 +456,15 @@ cn9k_nix_ptp_info_update_cb(struct roc_nix *nix, bool ptp_en)
+@@ -384,5 +384,15 @@ cn9k_nix_ptp_info_update_cb(struct roc_nix *nix, bool ptp_en)
@@ -77 +78 @@
-index 33bac55704..74b266ad58 100644
+index e4c22e7297..86f86c6c7a 100644
@@ -80 +81 @@
-@@ -1752,5 +1752,5 @@ cnxk_nix_dev_start(struct rte_eth_dev *eth_dev)
+@@ -1544,5 +1544,5 @@ cnxk_nix_dev_start(struct rte_eth_dev *eth_dev)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/cnxk: fix Rx offloads to handle timestamp' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (18 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/cnxk: fix Rx timestamp handling for VF' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'common/cnxk: fix base log level' " Kevin Traynor
` (100 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Rakesh Kudurumalla; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/b65e408f0d05dd46ea8f183ca1092fd3da23c32e
Thanks.
Kevin
---
From b65e408f0d05dd46ea8f183ca1092fd3da23c32e Mon Sep 17 00:00:00 2001
From: Rakesh Kudurumalla <rkudurumalla@marvell.com>
Date: Tue, 1 Oct 2024 11:30:41 +0530
Subject: [PATCH] net/cnxk: fix Rx offloads to handle timestamp
[ upstream commit f12dab814f0898c661d32f6cdaaae6a11bbacb6e ]
RX offloads flags are updated to handle timestamp
in VF when PTP is enabled in respective PF in kernel.
Fixes: c7c7c8ed7d47 ("net/cnxk: get PTP status")
Signed-off-by: Rakesh Kudurumalla <rkudurumalla@marvell.com>
---
drivers/net/cnxk/cn10k_ethdev.c | 6 +++++-
drivers/net/cnxk/cn9k_ethdev.c | 5 ++++-
drivers/net/cnxk/cnxk_ethdev.h | 7 +++++++
3 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/drivers/net/cnxk/cn10k_ethdev.c b/drivers/net/cnxk/cn10k_ethdev.c
index fed447c874..c06af766db 100644
--- a/drivers/net/cnxk/cn10k_ethdev.c
+++ b/drivers/net/cnxk/cn10k_ethdev.c
@@ -31,5 +31,5 @@ nix_rx_offload_flags(struct rte_eth_dev *eth_dev)
flags |= NIX_RX_MULTI_SEG_F;
- if ((dev->rx_offloads & RTE_ETH_RX_OFFLOAD_TIMESTAMP))
+ if ((dev->rx_offloads & RTE_ETH_RX_OFFLOAD_TIMESTAMP) || dev->ptp_en)
flags |= NIX_RX_OFFLOAD_TSTAMP_F;
@@ -405,4 +405,8 @@ cn10k_nix_ptp_info_update_cb(struct roc_nix *nix, bool ptp_en)
rte_eth_fp_ops[eth_dev->data->port_id].rx_pkt_burst = eth_dev->rx_pkt_burst;
rte_mb();
+ if (dev->cnxk_sso_ptp_tstamp_cb)
+ dev->cnxk_sso_ptp_tstamp_cb(eth_dev->data->port_id,
+ NIX_RX_OFFLOAD_TSTAMP_F, dev->ptp_en);
+
}
diff --git a/drivers/net/cnxk/cn9k_ethdev.c b/drivers/net/cnxk/cn9k_ethdev.c
index 9ec5d7fe89..c45e5d4f6d 100644
--- a/drivers/net/cnxk/cn9k_ethdev.c
+++ b/drivers/net/cnxk/cn9k_ethdev.c
@@ -31,5 +31,5 @@ nix_rx_offload_flags(struct rte_eth_dev *eth_dev)
flags |= NIX_RX_MULTI_SEG_F;
- if ((dev->rx_offloads & RTE_ETH_RX_OFFLOAD_TIMESTAMP))
+ if ((dev->rx_offloads & RTE_ETH_RX_OFFLOAD_TIMESTAMP) || dev->ptp_en)
flags |= NIX_RX_OFFLOAD_TSTAMP_F;
@@ -396,4 +396,7 @@ cn9k_nix_ptp_info_update_cb(struct roc_nix *nix, bool ptp_en)
rte_eth_fp_ops[eth_dev->data->port_id].rx_pkt_burst = eth_dev->rx_pkt_burst;
rte_mb();
+ if (dev->cnxk_sso_ptp_tstamp_cb)
+ dev->cnxk_sso_ptp_tstamp_cb(eth_dev->data->port_id,
+ NIX_RX_OFFLOAD_TSTAMP_F, dev->ptp_en);
}
diff --git a/drivers/net/cnxk/cnxk_ethdev.h b/drivers/net/cnxk/cnxk_ethdev.h
index ccdc5f04ee..4f65462b78 100644
--- a/drivers/net/cnxk/cnxk_ethdev.h
+++ b/drivers/net/cnxk/cnxk_ethdev.h
@@ -399,4 +399,11 @@ struct cnxk_eth_dev {
struct cnxk_eth_dev_sec_inb inb;
struct cnxk_eth_dev_sec_outb outb;
+
+ /* SSO event dev */
+ void *evdev_priv;
+
+ /* SSO event dev ptp */
+ void (*cnxk_sso_ptp_tstamp_cb)
+ (uint16_t port_id, uint16_t flags, bool ptp_en);
};
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:38.975009289 +0000
+++ 0021-net-cnxk-fix-Rx-offloads-to-handle-timestamp.patch 2024-11-27 17:17:38.177269124 +0000
@@ -1 +1 @@
-From f12dab814f0898c661d32f6cdaaae6a11bbacb6e Mon Sep 17 00:00:00 2001
+From b65e408f0d05dd46ea8f183ca1092fd3da23c32e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f12dab814f0898c661d32f6cdaaae6a11bbacb6e ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 46476e386a..f5b485650e 100644
+index fed447c874..c06af766db 100644
@@ -30 +31 @@
-@@ -509,4 +509,8 @@ cn10k_nix_ptp_info_update_cb(struct roc_nix *nix, bool ptp_en)
+@@ -405,4 +405,8 @@ cn10k_nix_ptp_info_update_cb(struct roc_nix *nix, bool ptp_en)
@@ -40 +41 @@
-index 5417628368..c419593a23 100644
+index 9ec5d7fe89..c45e5d4f6d 100644
@@ -50 +51 @@
-@@ -468,4 +468,7 @@ cn9k_nix_ptp_info_update_cb(struct roc_nix *nix, bool ptp_en)
+@@ -396,4 +396,7 @@ cn9k_nix_ptp_info_update_cb(struct roc_nix *nix, bool ptp_en)
@@ -59 +60 @@
-index 687c60c27d..5920488e1a 100644
+index ccdc5f04ee..4f65462b78 100644
@@ -62,3 +63,3 @@
-@@ -434,4 +434,11 @@ struct cnxk_eth_dev {
- /* Eswitch domain ID */
- uint16_t switch_domain_id;
+@@ -399,4 +399,11 @@ struct cnxk_eth_dev {
+ struct cnxk_eth_dev_sec_inb inb;
+ struct cnxk_eth_dev_sec_outb outb;
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'common/cnxk: fix base log level' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (19 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/cnxk: fix Rx offloads to handle timestamp' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'vhost: fix offset while mapping log base address' " Kevin Traynor
` (99 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Rakesh Kudurumalla; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/5065e8aeb5f0f9005ae3014a298ea9a3fb48f380
Thanks.
Kevin
---
From 5065e8aeb5f0f9005ae3014a298ea9a3fb48f380 Mon Sep 17 00:00:00 2001
From: Rakesh Kudurumalla <rkudurumalla@marvell.com>
Date: Tue, 1 Oct 2024 14:17:10 +0530
Subject: [PATCH] common/cnxk: fix base log level
[ upstream commit adc561fc5352bd1f1c8e736a33bb9b03bbb95b3f ]
In a247fcd94598 changeset, the PMD log type is removed and
driver specific log type is added for CNXK.
This patch changes loglevel of CNXK from NOTICE to INFO
to display logs while running applications
Fixes: a247fcd94598 ("drivers: use dedicated log macros instead of PMD logtype")
Signed-off-by: Rakesh Kudurumalla <rkudurumalla@marvell.com>
---
drivers/common/cnxk/roc_platform.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/common/cnxk/roc_platform.c b/drivers/common/cnxk/roc_platform.c
index 6cf0c4113e..e5fab69731 100644
--- a/drivers/common/cnxk/roc_platform.c
+++ b/drivers/common/cnxk/roc_platform.c
@@ -61,5 +61,5 @@ roc_plt_init(void)
}
-RTE_LOG_REGISTER(cnxk_logtype_base, pmd.cnxk.base, NOTICE);
+RTE_LOG_REGISTER(cnxk_logtype_base, pmd.cnxk.base, INFO);
RTE_LOG_REGISTER(cnxk_logtype_mbox, pmd.cnxk.mbox, NOTICE);
RTE_LOG_REGISTER(cnxk_logtype_cpt, pmd.crypto.cnxk, NOTICE);
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.004961016 +0000
+++ 0022-common-cnxk-fix-base-log-level.patch 2024-11-27 17:17:38.177269124 +0000
@@ -1 +1 @@
-From adc561fc5352bd1f1c8e736a33bb9b03bbb95b3f Mon Sep 17 00:00:00 2001
+From 5065e8aeb5f0f9005ae3014a298ea9a3fb48f380 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit adc561fc5352bd1f1c8e736a33bb9b03bbb95b3f ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 30379c7e5e..f1e0a93d97 100644
+index 6cf0c4113e..e5fab69731 100644
@@ -23 +24 @@
-@@ -86,5 +86,5 @@ roc_plt_init(void)
+@@ -61,5 +61,5 @@ roc_plt_init(void)
@@ -26,4 +27,4 @@
--RTE_LOG_REGISTER_SUFFIX(cnxk_logtype_base, base, NOTICE);
-+RTE_LOG_REGISTER_SUFFIX(cnxk_logtype_base, base, INFO);
- RTE_LOG_REGISTER_SUFFIX(cnxk_logtype_mbox, mbox, NOTICE);
- RTE_LOG_REGISTER_SUFFIX(cnxk_logtype_cpt, crypto, NOTICE);
+-RTE_LOG_REGISTER(cnxk_logtype_base, pmd.cnxk.base, NOTICE);
++RTE_LOG_REGISTER(cnxk_logtype_base, pmd.cnxk.base, INFO);
+ RTE_LOG_REGISTER(cnxk_logtype_mbox, pmd.cnxk.mbox, NOTICE);
+ RTE_LOG_REGISTER(cnxk_logtype_cpt, pmd.crypto.cnxk, NOTICE);
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'vhost: fix offset while mapping log base address' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (20 preceding siblings ...)
2024-11-27 17:17 ` patch 'common/cnxk: fix base log level' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'vdpa: update used flags in used ring relay' " Kevin Traynor
` (98 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Bill Xiang; +Cc: Chenbo Xia, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/53079bcb2e65ac74ed7ffb04a2e80d74fc3376cb
Thanks.
Kevin
---
From 53079bcb2e65ac74ed7ffb04a2e80d74fc3376cb Mon Sep 17 00:00:00 2001
From: Bill Xiang <xiangwencheng@dayudpu.com>
Date: Mon, 8 Jul 2024 14:57:49 +0800
Subject: [PATCH] vhost: fix offset while mapping log base address
[ upstream commit bdd96d8ac76ca412165b2d1bbd3701e978246d8e ]
For sanity the offset should be the last parameter of mmap.
Fixes: fbc4d248b198 ("vhost: fix offset while mmaping log base address")
Signed-off-by: Bill Xiang <xiangwencheng@dayudpu.com>
Reviewed-by: Chenbo Xia <chenbox@nvidia.com>
---
.mailmap | 1 +
lib/vhost/vhost_user.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/.mailmap b/.mailmap
index 39f81c0e7d..5d6a7701d7 100644
--- a/.mailmap
+++ b/.mailmap
@@ -165,4 +165,5 @@ Bhagyada Modali <bhagyada.modali@amd.com>
Bharat Mota <bmota@vmware.com>
Bill Hong <bhong@brocade.com>
+Bill Xiang <xiangwencheng@dayudpu.com>
Billy McFall <bmcfall@redhat.com>
Billy O'Mahony <billy.o.mahony@intel.com>
diff --git a/lib/vhost/vhost_user.c b/lib/vhost/vhost_user.c
index ca0618f627..8416aa25b7 100644
--- a/lib/vhost/vhost_user.c
+++ b/lib/vhost/vhost_user.c
@@ -2325,5 +2325,5 @@ vhost_user_set_log_base(struct virtio_net **pdev, struct VhostUserMsg *msg,
* fail when offset is not page size aligned.
*/
- addr = mmap(0, size + off, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
+ addr = mmap(0, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, off);
close(fd);
if (addr == MAP_FAILED) {
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.033594415 +0000
+++ 0023-vhost-fix-offset-while-mapping-log-base-address.patch 2024-11-27 17:17:38.180269140 +0000
@@ -1 +1 @@
-From bdd96d8ac76ca412165b2d1bbd3701e978246d8e Mon Sep 17 00:00:00 2001
+From 53079bcb2e65ac74ed7ffb04a2e80d74fc3376cb Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit bdd96d8ac76ca412165b2d1bbd3701e978246d8e ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index ed4ea17c4c..544e62df7d 100644
+index 39f81c0e7d..5d6a7701d7 100644
@@ -22,2 +23,2 @@
-@@ -184,4 +184,5 @@ Bharat Mota <bharat.mota@broadcom.com> <bmota@vmware.com>
- Bhuvan Mital <bhuvan.mital@amd.com>
+@@ -165,4 +165,5 @@ Bhagyada Modali <bhagyada.modali@amd.com>
+ Bharat Mota <bmota@vmware.com>
@@ -29 +30 @@
-index 5f470da38a..0893ae80bb 100644
+index ca0618f627..8416aa25b7 100644
@@ -32 +33 @@
-@@ -2400,5 +2400,5 @@ vhost_user_set_log_base(struct virtio_net **pdev,
+@@ -2325,5 +2325,5 @@ vhost_user_set_log_base(struct virtio_net **pdev, struct VhostUserMsg *msg,
@@ -37 +37,0 @@
- alignment = get_blk_size(fd);
@@ -38,0 +39 @@
+ if (addr == MAP_FAILED) {
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'vdpa: update used flags in used ring relay' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (21 preceding siblings ...)
2024-11-27 17:17 ` patch 'vhost: fix offset while mapping log base address' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/virtio-user: reset used index counter' " Kevin Traynor
` (97 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Bill Xiang; +Cc: Maxime Coquelin, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/af442bc128ae99b1d9011ee7da0cc752bcfbf98b
Thanks.
Kevin
---
From af442bc128ae99b1d9011ee7da0cc752bcfbf98b Mon Sep 17 00:00:00 2001
From: Bill Xiang <xiangwencheng@dayudpu.com>
Date: Wed, 17 Jul 2024 11:24:47 +0800
Subject: [PATCH] vdpa: update used flags in used ring relay
[ upstream commit b3f923fe1710e448c073f03aad2c087ffb6c7a5c ]
The vDPA device will work incorrectly if flags such as
VRING_USED_F_NO_NOTIFY are not updated correctly.
Fixes: b13ad2decc83 ("vhost: provide helpers for virtio ring relay")
Signed-off-by: Bill Xiang <xiangwencheng@dayudpu.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
lib/vhost/vdpa.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/vhost/vdpa.c b/lib/vhost/vdpa.c
index bd00c9d2c2..75f594b930 100644
--- a/lib/vhost/vdpa.c
+++ b/lib/vhost/vdpa.c
@@ -159,4 +159,5 @@ rte_vdpa_relay_vring_used(int vid, uint16_t qid, void *vring_m)
idx_m = s_vring->used->idx;
ret = (uint16_t)(idx_m - idx);
+ vq->used->flags = s_vring->used->flags;
while (idx != idx_m) {
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.065722347 +0000
+++ 0024-vdpa-update-used-flags-in-used-ring-relay.patch 2024-11-27 17:17:38.180269140 +0000
@@ -1 +1 @@
-From b3f923fe1710e448c073f03aad2c087ffb6c7a5c Mon Sep 17 00:00:00 2001
+From af442bc128ae99b1d9011ee7da0cc752bcfbf98b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b3f923fe1710e448c073f03aad2c087ffb6c7a5c ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index a1dd5a753b..8abb073675 100644
+index bd00c9d2c2..75f594b930 100644
@@ -22 +23 @@
-@@ -175,4 +175,5 @@ rte_vdpa_relay_vring_used(int vid, uint16_t qid, void *vring_m)
+@@ -159,4 +159,5 @@ rte_vdpa_relay_vring_used(int vid, uint16_t qid, void *vring_m)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/virtio-user: reset used index counter' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (22 preceding siblings ...)
2024-11-27 17:17 ` patch 'vdpa: update used flags in used ring relay' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'fib: fix AVX512 lookup' " Kevin Traynor
` (96 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Kommula Shiva Shankar; +Cc: Maxime Coquelin, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/4f7d560e1ec9a8bd66a944c53e70cad6a181fe44
Thanks.
Kevin
---
From 4f7d560e1ec9a8bd66a944c53e70cad6a181fe44 Mon Sep 17 00:00:00 2001
From: Kommula Shiva Shankar <kshankar@marvell.com>
Date: Mon, 5 Aug 2024 10:08:41 +0000
Subject: [PATCH] net/virtio-user: reset used index counter
[ upstream commit ff11fc60c5d8d9ae5a0f0114db4c3bc834090548 ]
When the virtio device is reinitialized during ethdev reconfiguration,
all the virtio rings are recreated and repopulated on the device.
Accordingly, reset the used index counter value back to zero.
Fixes: 48a4464029a7 ("net/virtio-user: support control VQ for packed")
Signed-off-by: Kommula Shiva Shankar <kshankar@marvell.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
drivers/net/virtio/virtio_user_ethdev.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/virtio/virtio_user_ethdev.c b/drivers/net/virtio/virtio_user_ethdev.c
index 9ba4ea3b33..07e4feca0c 100644
--- a/drivers/net/virtio/virtio_user_ethdev.c
+++ b/drivers/net/virtio/virtio_user_ethdev.c
@@ -199,4 +199,5 @@ virtio_user_setup_queue_packed(struct virtqueue *vq,
dev->packed_queues[queue_idx].avail_wrap_counter = true;
dev->packed_queues[queue_idx].used_wrap_counter = true;
+ dev->packed_queues[queue_idx].used_idx = 0;
for (i = 0; i < vring->num; i++)
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.094319265 +0000
+++ 0025-net-virtio-user-reset-used-index-counter.patch 2024-11-27 17:17:38.180269140 +0000
@@ -1 +1 @@
-From ff11fc60c5d8d9ae5a0f0114db4c3bc834090548 Mon Sep 17 00:00:00 2001
+From 4f7d560e1ec9a8bd66a944c53e70cad6a181fe44 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ff11fc60c5d8d9ae5a0f0114db4c3bc834090548 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index bf29f0dacd..747dddeb2e 100644
+index 9ba4ea3b33..07e4feca0c 100644
@@ -23 +24 @@
-@@ -205,4 +205,5 @@ virtio_user_setup_queue_packed(struct virtqueue *vq,
+@@ -199,4 +199,5 @@ virtio_user_setup_queue_packed(struct virtqueue *vq,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'fib: fix AVX512 lookup' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (23 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/virtio-user: reset used index counter' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/e1000: fix link status crash in secondary process' " Kevin Traynor
` (95 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Vladimir Medvedkin; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/e364af95ac7aec6843623702a6c2c4dd46c756cf
Thanks.
Kevin
---
From e364af95ac7aec6843623702a6c2c4dd46c756cf Mon Sep 17 00:00:00 2001
From: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Date: Fri, 6 Sep 2024 17:04:36 +0000
Subject: [PATCH] fib: fix AVX512 lookup
[ upstream commit 66ed1786ad067198814e9b2ab54f0cad68a58f1e ]
Vector lookup uses gather instructions which loads data in 4byte chunks.
This could lead to out of bounds access at the end of the tbl24 in case
of 1 or 2 byte entries if e.g. lookup is attempted for 255.255.255.255
in IPv4 case.
This patch fixes potential out of bound access by gather instruction
allocating an extra 4 byte in the end of the tbl24.
Fixes: b3509fa3653e ("fib: add AVX512 lookup")
Fixes: 1e5630e40d95 ("fib6: add AVX512 lookup")
Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
---
lib/fib/dir24_8.c | 4 ++--
lib/fib/trie.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/lib/fib/dir24_8.c b/lib/fib/dir24_8.c
index 49407ba638..ecd24dc258 100644
--- a/lib/fib/dir24_8.c
+++ b/lib/fib/dir24_8.c
@@ -531,6 +531,6 @@ dir24_8_create(const char *name, int socket_id, struct rte_fib_conf *fib_conf)
snprintf(mem_name, sizeof(mem_name), "DP_%s", name);
dp = rte_zmalloc_socket(name, sizeof(struct dir24_8_tbl) +
- DIR24_8_TBL24_NUM_ENT * (1 << nh_sz), RTE_CACHE_LINE_SIZE,
- socket_id);
+ DIR24_8_TBL24_NUM_ENT * (1 << nh_sz) + sizeof(uint32_t),
+ RTE_CACHE_LINE_SIZE, socket_id);
if (dp == NULL) {
rte_errno = ENOMEM;
diff --git a/lib/fib/trie.c b/lib/fib/trie.c
index e7ea4f2be2..f9f2dda517 100644
--- a/lib/fib/trie.c
+++ b/lib/fib/trie.c
@@ -653,6 +653,6 @@ trie_create(const char *name, int socket_id,
snprintf(mem_name, sizeof(mem_name), "DP_%s", name);
dp = rte_zmalloc_socket(name, sizeof(struct rte_trie_tbl) +
- TRIE_TBL24_NUM_ENT * (1 << nh_sz), RTE_CACHE_LINE_SIZE,
- socket_id);
+ TRIE_TBL24_NUM_ENT * (1 << nh_sz) + sizeof(uint32_t),
+ RTE_CACHE_LINE_SIZE, socket_id);
if (dp == NULL) {
rte_errno = ENOMEM;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.122651295 +0000
+++ 0026-fib-fix-AVX512-lookup.patch 2024-11-27 17:17:38.181269145 +0000
@@ -1 +1 @@
-From 66ed1786ad067198814e9b2ab54f0cad68a58f1e Mon Sep 17 00:00:00 2001
+From e364af95ac7aec6843623702a6c2c4dd46c756cf Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 66ed1786ad067198814e9b2ab54f0cad68a58f1e ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index c739e92304..07c324743b 100644
+index 49407ba638..ecd24dc258 100644
@@ -27 +28 @@
-@@ -527,6 +527,6 @@ dir24_8_create(const char *name, int socket_id, struct rte_fib_conf *fib_conf)
+@@ -531,6 +531,6 @@ dir24_8_create(const char *name, int socket_id, struct rte_fib_conf *fib_conf)
@@ -37 +38 @@
-index 7b33cdaa7b..ca1c2fe3bc 100644
+index e7ea4f2be2..f9f2dda517 100644
@@ -40 +41 @@
-@@ -648,6 +648,6 @@ trie_create(const char *name, int socket_id,
+@@ -653,6 +653,6 @@ trie_create(const char *name, int socket_id,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/e1000: fix link status crash in secondary process' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (24 preceding siblings ...)
2024-11-27 17:17 ` patch 'fib: fix AVX512 lookup' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/iavf: fix crash when link is unstable' " Kevin Traynor
` (94 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Jun Wang; +Cc: Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/0fd960684c3b972884001672d3018a781cb45d07
Thanks.
Kevin
---
From 0fd960684c3b972884001672d3018a781cb45d07 Mon Sep 17 00:00:00 2001
From: Jun Wang <junwang01@cestc.cn>
Date: Fri, 12 Jul 2024 19:30:47 +0800
Subject: [PATCH] net/e1000: fix link status crash in secondary process
[ upstream commit 84506cfe07326fd6ddb158f3fa57bd678751561a ]
The code to update link status is not safe in secondary process.
If called from secondary it will crash, example from dumpcap:
/dpdk/app/dpdk-dumpcap -i 0000:00:04.0
File: /tmp/dpdk-dumpcap_0_0000:00:04.0_20240723020203.pcapng
Segmentation fault (core dumped)
Fixes: 805803445a02 ("e1000: support EM devices (also known as e1000/e1000e)")
Signed-off-by: Jun Wang <junwang01@cestc.cn>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/e1000/em_ethdev.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c
index e983d5682a..619e1d4e2e 100644
--- a/drivers/net/e1000/em_ethdev.c
+++ b/drivers/net/e1000/em_ethdev.c
@@ -1122,4 +1122,7 @@ eth_em_link_update(struct rte_eth_dev *dev, int wait_to_complete)
int link_up, count;
+ if (rte_eal_process_type() != RTE_PROC_PRIMARY)
+ return -1;
+
link_up = 0;
hw->mac.get_link_status = 1;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.151369233 +0000
+++ 0027-net-e1000-fix-link-status-crash-in-secondary-process.patch 2024-11-27 17:17:38.182269150 +0000
@@ -1 +1 @@
-From 84506cfe07326fd6ddb158f3fa57bd678751561a Mon Sep 17 00:00:00 2001
+From 0fd960684c3b972884001672d3018a781cb45d07 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 84506cfe07326fd6ddb158f3fa57bd678751561a ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index c5a4dec693..f6875b0762 100644
+index e983d5682a..619e1d4e2e 100644
@@ -26 +27 @@
-@@ -1137,4 +1137,7 @@ eth_em_link_update(struct rte_eth_dev *dev, int wait_to_complete)
+@@ -1122,4 +1122,7 @@ eth_em_link_update(struct rte_eth_dev *dev, int wait_to_complete)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/iavf: fix crash when link is unstable' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (25 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/e1000: fix link status crash in secondary process' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/ice/base: fix link speed for 200G' " Kevin Traynor
` (93 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Kaiwen Deng; +Cc: Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/8dff953d81fc875730c7450606a012a0e97b63da
Thanks.
Kevin
---
From 8dff953d81fc875730c7450606a012a0e97b63da Mon Sep 17 00:00:00 2001
From: Kaiwen Deng <kaiwenx.deng@intel.com>
Date: Tue, 6 Aug 2024 08:35:27 +0800
Subject: [PATCH] net/iavf: fix crash when link is unstable
[ upstream commit 57ed9ca61f44ffc3801f55c749347bd717834008 ]
Physical link instability may cause a core dump because unstable
physical links can result in a large number of link change events. Some
of these events may be captured by vf before vf resources are allocated,
and that will result in a core dump.
This commit will check if vf_res is invalid before dereferencing it.
Fixes: 5e03e316c753 ("net/iavf: handle virtchnl event message without interrupt")
Signed-off-by: Kaiwen Deng <kaiwenx.deng@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/iavf/iavf_vchnl.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c
index 930a67f517..d685358ed3 100644
--- a/drivers/net/iavf/iavf_vchnl.c
+++ b/drivers/net/iavf/iavf_vchnl.c
@@ -105,6 +105,6 @@ iavf_read_msg_from_pf(struct iavf_adapter *adapter, uint16_t buf_len,
vf->link_up =
vpe->event_data.link_event.link_status;
- if (vf->vf_res->vf_cap_flags &
- VIRTCHNL_VF_CAP_ADV_LINK_SPEED) {
+ if (vf->vf_res != NULL &&
+ vf->vf_res->vf_cap_flags & VIRTCHNL_VF_CAP_ADV_LINK_SPEED) {
vf->link_speed =
vpe->event_data.link_event_adv.link_speed;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.180575479 +0000
+++ 0028-net-iavf-fix-crash-when-link-is-unstable.patch 2024-11-27 17:17:38.183269155 +0000
@@ -1 +1 @@
-From 57ed9ca61f44ffc3801f55c749347bd717834008 Mon Sep 17 00:00:00 2001
+From 8dff953d81fc875730c7450606a012a0e97b63da Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 57ed9ca61f44ffc3801f55c749347bd717834008 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 6d5969f084..69420bc9b6 100644
+index 930a67f517..d685358ed3 100644
@@ -26 +27 @@
-@@ -256,6 +256,6 @@ iavf_read_msg_from_pf(struct iavf_adapter *adapter, uint16_t buf_len,
+@@ -105,6 +105,6 @@ iavf_read_msg_from_pf(struct iavf_adapter *adapter, uint16_t buf_len,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/ice/base: fix link speed for 200G' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (26 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/iavf: fix crash when link is unstable' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/ice/base: fix iteration of TLVs in Preserved Fields Area' " Kevin Traynor
` (92 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Paul Greenwalt; +Cc: Soumyadeep Hore, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/eca65c3d3f4dc4879e04676e1d5a3ce654884e43
Thanks.
Kevin
---
From eca65c3d3f4dc4879e04676e1d5a3ce654884e43 Mon Sep 17 00:00:00 2001
From: Paul Greenwalt <paul.greenwalt@intel.com>
Date: Fri, 23 Aug 2024 09:56:45 +0000
Subject: [PATCH] net/ice/base: fix link speed for 200G
[ upstream commit e3992ab377d2879d6c5bfb220865638404b85dba ]
When setting PHY configuration during driver initialization, 200G link
speed is not being advertised even when the PHY is capable. This is
because the get PHY capabilities link speed response is being masked by
ICE_AQ_LINK_SPEED_M, which does not include 200G link speed bit.
Fixes: d13ad9cf1721 ("net/ice/base: add helper functions for PHY caching")
Signed-off-by: Paul Greenwalt <paul.greenwalt@intel.com>
Signed-off-by: Soumyadeep Hore <soumyadeep.hore@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/ice/base/ice_adminq_cmd.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ice/base/ice_adminq_cmd.h b/drivers/net/ice/base/ice_adminq_cmd.h
index 2bf322610b..910665f26c 100644
--- a/drivers/net/ice/base/ice_adminq_cmd.h
+++ b/drivers/net/ice/base/ice_adminq_cmd.h
@@ -1575,5 +1575,5 @@ struct ice_aqc_get_link_status_data {
#define ICE_AQ_LINK_PWR_QSFP_CLASS_4 3
__le16 link_speed;
-#define ICE_AQ_LINK_SPEED_M 0x7FF
+#define ICE_AQ_LINK_SPEED_M 0xFFF
#define ICE_AQ_LINK_SPEED_10MB BIT(0)
#define ICE_AQ_LINK_SPEED_100MB BIT(1)
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.210576044 +0000
+++ 0029-net-ice-base-fix-link-speed-for-200G.patch 2024-11-27 17:17:38.186269171 +0000
@@ -1 +1 @@
-From e3992ab377d2879d6c5bfb220865638404b85dba Mon Sep 17 00:00:00 2001
+From eca65c3d3f4dc4879e04676e1d5a3ce654884e43 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e3992ab377d2879d6c5bfb220865638404b85dba ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 6a89e1614a..3ec207927b 100644
+index 2bf322610b..910665f26c 100644
@@ -25 +26 @@
-@@ -1625,5 +1625,5 @@ struct ice_aqc_get_link_status_data {
+@@ -1575,5 +1575,5 @@ struct ice_aqc_get_link_status_data {
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/ice/base: fix iteration of TLVs in Preserved Fields Area' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (27 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/ice/base: fix link speed for 200G' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/ixgbe/base: fix unchecked return value' " Kevin Traynor
` (91 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Fabio Pricoco
Cc: Jacob Keller, Soumyadeep Hore, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/ebbecb19ccdb0df88227e69b2a83ae2ee79a2d19
Thanks.
Kevin
---
From ebbecb19ccdb0df88227e69b2a83ae2ee79a2d19 Mon Sep 17 00:00:00 2001
From: Fabio Pricoco <fabio.pricoco@intel.com>
Date: Fri, 23 Aug 2024 09:56:42 +0000
Subject: [PATCH] net/ice/base: fix iteration of TLVs in Preserved Fields Area
[ upstream commit dcb760bf0f951b404bce33a1dd14906154b58c75 ]
The ice_get_pfa_module_tlv() function iterates over the Preserved Fields
Area to read data from the Shadow RAM, including the Part Board Assembly
data, among others.
If the specific TLV being requested is not found in the current NVM, the
code will read past the end of the PFA, misinterpreting the last word of
the PFA and the word just after the PFA as another TLV. This typically
results in one extra iteration before the length check of the while loop
is triggered.
Correct the logic for determining the maximum PFA offset to include the
extra last word. Additionally, make the driver robust against overflows
by using check_add_overflow. This ensures that even if the NVM provides
bogus data, the driver will not overflow, and will instead log a useful
warning message. The check for whether the TLV length exceeds the PFA
length is also removed, in favor of relying on the overflow warning
instead.
Fixes: 5d0b7b5fc491 ("net/ice/base: add read PBA module function")
Signed-off-by: Fabio Pricoco <fabio.pricoco@intel.com>
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Soumyadeep Hore <soumyadeep.hore@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/ice/base/ice_nvm.c | 36 ++++++++++++++++++++++------------
1 file changed, 24 insertions(+), 12 deletions(-)
diff --git a/drivers/net/ice/base/ice_nvm.c b/drivers/net/ice/base/ice_nvm.c
index 48e0d418e2..c5a3eddebf 100644
--- a/drivers/net/ice/base/ice_nvm.c
+++ b/drivers/net/ice/base/ice_nvm.c
@@ -427,4 +427,6 @@ enum ice_status ice_read_sr_word(struct ice_hw *hw, u16 offset, u16 *data)
}
+#define check_add_overflow __builtin_add_overflow
+
/**
* ice_get_pfa_module_tlv - Reads sub module TLV from NVM PFA
@@ -443,6 +445,5 @@ ice_get_pfa_module_tlv(struct ice_hw *hw, u16 *module_tlv, u16 *module_tlv_len,
{
enum ice_status status;
- u16 pfa_len, pfa_ptr;
- u32 next_tlv;
+ u16 pfa_len, pfa_ptr, next_tlv, max_tlv;
status = ice_read_sr_word(hw, ICE_SR_PFA_PTR, &pfa_ptr);
@@ -456,9 +457,21 @@ ice_get_pfa_module_tlv(struct ice_hw *hw, u16 *module_tlv, u16 *module_tlv_len,
return status;
}
- /* Starting with first TLV after PFA length, iterate through the list
+
+ if (check_add_overflow(pfa_ptr, (u16)(pfa_len - 1), &max_tlv)) {
+ ice_debug(hw, ICE_DBG_INIT, "PFA starts at offset %u. PFA length of %u caused 16-bit arithmetic overflow.\n",
+ pfa_ptr, pfa_len);
+ return ICE_ERR_INVAL_SIZE;
+ }
+
+ /* The Preserved Fields Area contains a sequence of TLVs which define
+ * its contents. The PFA length includes all of the TLVs, plus its
+ * initial length word itself, *and* one final word at the end of all
+ * of the TLVs.
+ *
+ * Starting with first TLV after PFA length, iterate through the list
* of TLVs to find the requested one.
*/
next_tlv = pfa_ptr + 1;
- while (next_tlv < ((u32)pfa_ptr + pfa_len)) {
+ while (next_tlv < max_tlv) {
u16 tlv_sub_module_type;
u16 tlv_len;
@@ -477,8 +490,4 @@ ice_get_pfa_module_tlv(struct ice_hw *hw, u16 *module_tlv, u16 *module_tlv_len,
break;
}
- if (tlv_len > pfa_len) {
- ice_debug(hw, ICE_DBG_INIT, "Invalid TLV length.\n");
- return ICE_ERR_INVAL_SIZE;
- }
if (tlv_sub_module_type == module_type) {
if (tlv_len) {
@@ -489,8 +498,11 @@ ice_get_pfa_module_tlv(struct ice_hw *hw, u16 *module_tlv, u16 *module_tlv_len,
return ICE_ERR_INVAL_SIZE;
}
- /* Check next TLV, i.e. current TLV pointer + length + 2 words
- * (for current TLV's type and length)
- */
- next_tlv = next_tlv + tlv_len + 2;
+
+ if (check_add_overflow(next_tlv, (u16)2, &next_tlv) ||
+ check_add_overflow(next_tlv, tlv_len, &next_tlv)) {
+ ice_debug(hw, ICE_DBG_INIT, "TLV of type %u and length 0x%04x caused 16-bit arithmetic overflow. The PFA starts at 0x%04x and has length of 0x%04x\n",
+ tlv_sub_module_type, tlv_len, pfa_ptr, pfa_len);
+ return ICE_ERR_INVAL_SIZE;
+ }
}
/* Module does not exist */
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.241595793 +0000
+++ 0030-net-ice-base-fix-iteration-of-TLVs-in-Preserved-Fiel.patch 2024-11-27 17:17:38.186269171 +0000
@@ -1 +1 @@
-From dcb760bf0f951b404bce33a1dd14906154b58c75 Mon Sep 17 00:00:00 2001
+From ebbecb19ccdb0df88227e69b2a83ae2ee79a2d19 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit dcb760bf0f951b404bce33a1dd14906154b58c75 ]
+
@@ -25 +26,0 @@
-Cc: stable@dpdk.org
@@ -36 +37 @@
-index 5e982de4b5..56c6c96a95 100644
+index 48e0d418e2..c5a3eddebf 100644
@@ -39 +40 @@
-@@ -470,4 +470,6 @@ int ice_read_sr_word(struct ice_hw *hw, u16 offset, u16 *data)
+@@ -427,4 +427,6 @@ enum ice_status ice_read_sr_word(struct ice_hw *hw, u16 offset, u16 *data)
@@ -46,2 +47 @@
-@@ -485,6 +487,5 @@ ice_get_pfa_module_tlv(struct ice_hw *hw, u16 *module_tlv, u16 *module_tlv_len,
- u16 module_type)
+@@ -443,6 +445,5 @@ ice_get_pfa_module_tlv(struct ice_hw *hw, u16 *module_tlv, u16 *module_tlv_len,
@@ -48,0 +49 @@
+ enum ice_status status;
@@ -52 +52,0 @@
- int status;
@@ -54 +54,2 @@
-@@ -499,9 +500,21 @@ ice_get_pfa_module_tlv(struct ice_hw *hw, u16 *module_tlv, u16 *module_tlv_len,
+ status = ice_read_sr_word(hw, ICE_SR_PFA_PTR, &pfa_ptr);
+@@ -456,9 +457,21 @@ ice_get_pfa_module_tlv(struct ice_hw *hw, u16 *module_tlv, u16 *module_tlv_len,
@@ -78 +79 @@
-@@ -520,8 +533,4 @@ ice_get_pfa_module_tlv(struct ice_hw *hw, u16 *module_tlv, u16 *module_tlv_len,
+@@ -477,8 +490,4 @@ ice_get_pfa_module_tlv(struct ice_hw *hw, u16 *module_tlv, u16 *module_tlv_len,
@@ -87 +88 @@
-@@ -532,8 +541,11 @@ ice_get_pfa_module_tlv(struct ice_hw *hw, u16 *module_tlv, u16 *module_tlv_len,
+@@ -489,8 +498,11 @@ ice_get_pfa_module_tlv(struct ice_hw *hw, u16 *module_tlv, u16 *module_tlv_len,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/ixgbe/base: fix unchecked return value' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (28 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/ice/base: fix iteration of TLVs in Preserved Fields Area' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/i40e/base: fix setting flags in init function' " Kevin Traynor
` (90 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Barbara Skobiej; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/64022eb0b9f9b78a0b44634e98818aa7b695b8b6
Thanks.
Kevin
---
From 64022eb0b9f9b78a0b44634e98818aa7b695b8b6 Mon Sep 17 00:00:00 2001
From: Barbara Skobiej <barbara.skobiej@intel.com>
Date: Thu, 29 Aug 2024 10:00:11 +0100
Subject: [PATCH] net/ixgbe/base: fix unchecked return value
[ upstream commit eb3684b191928ebb5d263e3f8ab1e309bfec099e ]
There was unchecked return value in the ixgbe_stop_mac_link_on_d3_82599
function. Added checking of return value from the called function
ixgbe_read_eeprom.
Fixes: b7ad3713b958 ("ixgbe/base: allow to disable link on D3")
Signed-off-by: Barbara Skobiej <barbara.skobiej@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/ixgbe/base/ixgbe_82599.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ixgbe/base/ixgbe_82599.c b/drivers/net/ixgbe/base/ixgbe_82599.c
index 69fd4cd3fb..b39dd70da0 100644
--- a/drivers/net/ixgbe/base/ixgbe_82599.c
+++ b/drivers/net/ixgbe/base/ixgbe_82599.c
@@ -552,11 +552,13 @@ out:
void ixgbe_stop_mac_link_on_d3_82599(struct ixgbe_hw *hw)
{
- u32 autoc2_reg;
u16 ee_ctrl_2 = 0;
+ u32 autoc2_reg;
+ u32 status;
DEBUGFUNC("ixgbe_stop_mac_link_on_d3_82599");
- ixgbe_read_eeprom(hw, IXGBE_EEPROM_CTRL_2, &ee_ctrl_2);
+ status = ixgbe_read_eeprom(hw, IXGBE_EEPROM_CTRL_2, &ee_ctrl_2);
- if (!ixgbe_mng_present(hw) && !hw->wol_enabled &&
+ if (status == IXGBE_SUCCESS &&
+ !ixgbe_mng_present(hw) && !hw->wol_enabled &&
ee_ctrl_2 & IXGBE_EEPROM_CCD_BIT) {
autoc2_reg = IXGBE_READ_REG(hw, IXGBE_AUTOC2);
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.270813918 +0000
+++ 0031-net-ixgbe-base-fix-unchecked-return-value.patch 2024-11-27 17:17:38.188269181 +0000
@@ -1 +1 @@
-From eb3684b191928ebb5d263e3f8ab1e309bfec099e Mon Sep 17 00:00:00 2001
+From 64022eb0b9f9b78a0b44634e98818aa7b695b8b6 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit eb3684b191928ebb5d263e3f8ab1e309bfec099e ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index c4ad906f0f..3110477700 100644
+index 69fd4cd3fb..b39dd70da0 100644
@@ -24 +25 @@
-@@ -557,11 +557,13 @@ out:
+@@ -552,11 +552,13 @@ out:
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/i40e/base: fix setting flags in init function' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (29 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/ixgbe/base: fix unchecked return value' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/i40e/base: fix misleading debug logs and comments' " Kevin Traynor
` (89 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Anatoly Burakov; +Cc: Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/5d43f78a121204b2385324659c05938159ace5b3
Thanks.
Kevin
---
From 5d43f78a121204b2385324659c05938159ace5b3 Mon Sep 17 00:00:00 2001
From: Anatoly Burakov <anatoly.burakov@intel.com>
Date: Mon, 2 Sep 2024 10:54:17 +0100
Subject: [PATCH] net/i40e/base: fix setting flags in init function
[ upstream commit deb7c447d088903d06a76e2c719a8207c94a576e ]
The functionality to set i40e_hw's flags was moved to its own function
in AQ a while ago. However, the setting of hw->flags for X722 was not
removed, even though it has become unnecessary.
Fixes: 37b091c75b13 ("net/i40e/base: extend PHY access AQ command")
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/i40e/base/i40e_common.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index 9eee104063..4d8167692d 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -1018,7 +1018,4 @@ enum i40e_status_code i40e_init_shared_code(struct i40e_hw *hw)
hw->pf_id = (u8)(func_rid & 0x7);
- if (hw->mac.type == I40E_MAC_X722)
- hw->flags |= I40E_HW_FLAG_AQ_SRCTL_ACCESS_ENABLE |
- I40E_HW_FLAG_NVM_READ_REQUIRES_LOCK;
/* NVMUpdate features structure initialization */
hw->nvmupd_features.major = I40E_NVMUPD_FEATURES_API_VER_MAJOR;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.300827656 +0000
+++ 0032-net-i40e-base-fix-setting-flags-in-init-function.patch 2024-11-27 17:17:38.193269207 +0000
@@ -1 +1 @@
-From deb7c447d088903d06a76e2c719a8207c94a576e Mon Sep 17 00:00:00 2001
+From 5d43f78a121204b2385324659c05938159ace5b3 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit deb7c447d088903d06a76e2c719a8207c94a576e ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index e4de508aea..451cc2c1c7 100644
+index 9eee104063..4d8167692d 100644
@@ -23 +24 @@
-@@ -981,7 +981,4 @@ enum i40e_status_code i40e_init_shared_code(struct i40e_hw *hw)
+@@ -1018,7 +1018,4 @@ enum i40e_status_code i40e_init_shared_code(struct i40e_hw *hw)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/i40e/base: fix misleading debug logs and comments' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (30 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/i40e/base: fix setting flags in init function' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/i40e/base: fix blinking X722 with X557 PHY' " Kevin Traynor
` (88 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Aleksandr Loktionov; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/97bc6241520121b58309100a16ec6f31402ffe27
Thanks.
Kevin
---
From 97bc6241520121b58309100a16ec6f31402ffe27 Mon Sep 17 00:00:00 2001
From: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Date: Mon, 2 Sep 2024 10:54:18 +0100
Subject: [PATCH] net/i40e/base: fix misleading debug logs and comments
[ upstream commit 719ec1bfebde956b661d403ef73ecb1e7483d50f ]
Both comments and debug logs for i40e_read_nvm_aq refer to writing, when
in actuality it's a read function. Fix both comments and debug logs.
Fixes: a8ac0bae54ae ("i40e/base: update shadow RAM read/write")
Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/i40e/base/i40e_nvm.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/net/i40e/base/i40e_nvm.c b/drivers/net/i40e/base/i40e_nvm.c
index f385042601..05816a4b79 100644
--- a/drivers/net/i40e/base/i40e_nvm.c
+++ b/drivers/net/i40e/base/i40e_nvm.c
@@ -224,9 +224,9 @@ read_nvm_exit:
* @module_pointer: module pointer location in words from the NVM beginning
* @offset: offset in words from module start
- * @words: number of words to write
- * @data: buffer with words to write to the Shadow RAM
+ * @words: number of words to read
+ * @data: buffer with words to read from the Shadow RAM
* @last_command: tells the AdminQ that this is the last command
*
- * Writes a 16 bit words buffer to the Shadow RAM using the admin command.
+ * Reads a 16 bit words buffer to the Shadow RAM using the admin command.
**/
STATIC enum i40e_status_code i40e_read_nvm_aq(struct i40e_hw *hw,
@@ -250,16 +250,16 @@ STATIC enum i40e_status_code i40e_read_nvm_aq(struct i40e_hw *hw,
if ((offset + words) > hw->nvm.sr_size)
i40e_debug(hw, I40E_DEBUG_NVM,
- "NVM write error: offset %d beyond Shadow RAM limit %d\n",
+ "NVM read error: offset %d beyond Shadow RAM limit %d\n",
(offset + words), hw->nvm.sr_size);
else if (words > I40E_SR_SECTOR_SIZE_IN_WORDS)
- /* We can write only up to 4KB (one sector), in one AQ write */
+ /* We can read only up to 4KB (one sector), in one AQ read */
i40e_debug(hw, I40E_DEBUG_NVM,
- "NVM write fail error: tried to write %d words, limit is %d.\n",
+ "NVM read fail error: tried to read %d words, limit is %d.\n",
words, I40E_SR_SECTOR_SIZE_IN_WORDS);
else if (((offset + (words - 1)) / I40E_SR_SECTOR_SIZE_IN_WORDS)
!= (offset / I40E_SR_SECTOR_SIZE_IN_WORDS))
- /* A single write cannot spread over two sectors */
+ /* A single read cannot spread over two sectors */
i40e_debug(hw, I40E_DEBUG_NVM,
- "NVM write error: cannot spread over two sectors in a single write offset=%d words=%d\n",
+ "NVM read error: cannot spread over two sectors in a single read offset=%d words=%d\n",
offset, words);
else
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.333723004 +0000
+++ 0033-net-i40e-base-fix-misleading-debug-logs-and-comments.patch 2024-11-27 17:17:38.194269212 +0000
@@ -1 +1 @@
-From 719ec1bfebde956b661d403ef73ecb1e7483d50f Mon Sep 17 00:00:00 2001
+From 97bc6241520121b58309100a16ec6f31402ffe27 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 719ec1bfebde956b661d403ef73ecb1e7483d50f ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/i40e/base: fix blinking X722 with X557 PHY' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (31 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/i40e/base: fix misleading debug logs and comments' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/i40e/base: fix DDP loading with reserved track ID' " Kevin Traynor
` (87 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Eryk Rybak; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/2e22461f86d824443724cb8cfcbbae2f5f6e7c71
Thanks.
Kevin
---
From 2e22461f86d824443724cb8cfcbbae2f5f6e7c71 Mon Sep 17 00:00:00 2001
From: Eryk Rybak <eryk.roch.rybak@intel.com>
Date: Mon, 2 Sep 2024 10:54:23 +0100
Subject: [PATCH] net/i40e/base: fix blinking X722 with X557 PHY
[ upstream commit bf0183e9ab98c946e0c7e178149e4b685465b9b1 ]
On x722 with x557 PHY LEDs do not blink under certain circumstances,
because the function was attempting to avoid triggering LED activity when
it detected that LED was already active. Fix it to just always trigger
LED blinking regardless of the LED state.
Fixes: 8db9e2a1b232 ("i40e: base driver")
Signed-off-by: Eryk Rybak <eryk.roch.rybak@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/i40e/base/i40e_common.c | 32 -----------------------------
1 file changed, 32 deletions(-)
diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index 4d8167692d..d444c4a78e 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -1586,5 +1586,4 @@ static u32 i40e_led_is_mine(struct i40e_hw *hw, int idx)
u32 i40e_led_get(struct i40e_hw *hw)
{
- u32 current_mode = 0;
u32 mode = 0;
int i;
@@ -1599,19 +1598,4 @@ u32 i40e_led_get(struct i40e_hw *hw)
continue;
- /* ignore gpio LED src mode entries related to the activity
- * LEDs
- */
- current_mode = ((gpio_val & I40E_GLGEN_GPIO_CTL_LED_MODE_MASK)
- >> I40E_GLGEN_GPIO_CTL_LED_MODE_SHIFT);
- switch (current_mode) {
- case I40E_COMBINED_ACTIVITY:
- case I40E_FILTER_ACTIVITY:
- case I40E_MAC_ACTIVITY:
- case I40E_LINK_ACTIVITY:
- continue;
- default:
- break;
- }
-
mode = (gpio_val & I40E_GLGEN_GPIO_CTL_LED_MODE_MASK) >>
I40E_GLGEN_GPIO_CTL_LED_MODE_SHIFT;
@@ -1633,5 +1617,4 @@ u32 i40e_led_get(struct i40e_hw *hw)
void i40e_led_set(struct i40e_hw *hw, u32 mode, bool blink)
{
- u32 current_mode = 0;
int i;
@@ -1650,19 +1633,4 @@ void i40e_led_set(struct i40e_hw *hw, u32 mode, bool blink)
continue;
- /* ignore gpio LED src mode entries related to the activity
- * LEDs
- */
- current_mode = ((gpio_val & I40E_GLGEN_GPIO_CTL_LED_MODE_MASK)
- >> I40E_GLGEN_GPIO_CTL_LED_MODE_SHIFT);
- switch (current_mode) {
- case I40E_COMBINED_ACTIVITY:
- case I40E_FILTER_ACTIVITY:
- case I40E_MAC_ACTIVITY:
- case I40E_LINK_ACTIVITY:
- continue;
- default:
- break;
- }
-
if (I40E_IS_X710TL_DEVICE(hw->device_id)) {
u32 pin_func = 0;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.363363194 +0000
+++ 0034-net-i40e-base-fix-blinking-X722-with-X557-PHY.patch 2024-11-27 17:17:38.197269228 +0000
@@ -1 +1 @@
-From bf0183e9ab98c946e0c7e178149e4b685465b9b1 Mon Sep 17 00:00:00 2001
+From 2e22461f86d824443724cb8cfcbbae2f5f6e7c71 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit bf0183e9ab98c946e0c7e178149e4b685465b9b1 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index be27cc9d0b..80500697ed 100644
+index 4d8167692d..d444c4a78e 100644
@@ -25 +26 @@
-@@ -1549,5 +1549,4 @@ static u32 i40e_led_is_mine(struct i40e_hw *hw, int idx)
+@@ -1586,5 +1586,4 @@ static u32 i40e_led_is_mine(struct i40e_hw *hw, int idx)
@@ -31 +32 @@
-@@ -1562,19 +1561,4 @@ u32 i40e_led_get(struct i40e_hw *hw)
+@@ -1599,19 +1598,4 @@ u32 i40e_led_get(struct i40e_hw *hw)
@@ -51 +52 @@
-@@ -1596,5 +1580,4 @@ u32 i40e_led_get(struct i40e_hw *hw)
+@@ -1633,5 +1617,4 @@ u32 i40e_led_get(struct i40e_hw *hw)
@@ -57 +58 @@
-@@ -1613,19 +1596,4 @@ void i40e_led_set(struct i40e_hw *hw, u32 mode, bool blink)
+@@ -1650,19 +1633,4 @@ void i40e_led_set(struct i40e_hw *hw, u32 mode, bool blink)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/i40e/base: fix DDP loading with reserved track ID' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (32 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/i40e/base: fix blinking X722 with X557 PHY' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/i40e/base: fix repeated register dumps' " Kevin Traynor
` (86 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Artur Tyminski; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/6cea768a13b117db232ad169fdbd4e2dd34cd57e
Thanks.
Kevin
---
From 6cea768a13b117db232ad169fdbd4e2dd34cd57e Mon Sep 17 00:00:00 2001
From: Artur Tyminski <arturx.tyminski@intel.com>
Date: Mon, 2 Sep 2024 10:54:26 +0100
Subject: [PATCH] net/i40e/base: fix DDP loading with reserved track ID
[ upstream commit f646061cd9328f1265d8b9996c9b734ab2ce3707 ]
Packages with reserved track IDs should not be loaded, yet currently,
the driver will only check one of the reserved ID's, but not the other.
Fix the DDP package loading to also check for the other reserved track
ID.
Fixes: 496a357f1118 ("net/i40e/base: extend processing of DDP")
Signed-off-by: Artur Tyminski <arturx.tyminski@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/i40e/base/i40e_common.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index d444c4a78e..3acb48e20b 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -8164,5 +8164,6 @@ i40e_validate_profile(struct i40e_hw *hw, struct i40e_profile_segment *profile,
u32 i;
- if (track_id == I40E_DDP_TRACKID_INVALID) {
+ if (track_id == I40E_DDP_TRACKID_INVALID ||
+ track_id == I40E_DDP_TRACKID_RDONLY) {
i40e_debug(hw, I40E_DEBUG_PACKAGE, "Invalid track_id\n");
return I40E_NOT_SUPPORTED;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.396759188 +0000
+++ 0035-net-i40e-base-fix-DDP-loading-with-reserved-track-ID.patch 2024-11-27 17:17:38.200269243 +0000
@@ -1 +1 @@
-From f646061cd9328f1265d8b9996c9b734ab2ce3707 Mon Sep 17 00:00:00 2001
+From 6cea768a13b117db232ad169fdbd4e2dd34cd57e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f646061cd9328f1265d8b9996c9b734ab2ce3707 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index a43b89aaeb..693608ac99 100644
+index d444c4a78e..3acb48e20b 100644
@@ -25 +26 @@
-@@ -8049,5 +8049,6 @@ i40e_validate_profile(struct i40e_hw *hw, struct i40e_profile_segment *profile,
+@@ -8164,5 +8164,6 @@ i40e_validate_profile(struct i40e_hw *hw, struct i40e_profile_segment *profile,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/i40e/base: fix repeated register dumps' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (33 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/i40e/base: fix DDP loading with reserved track ID' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/i40e/base: fix unchecked return value' " Kevin Traynor
` (85 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Radoslaw Tyl; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/c4abb2d3fd9f1a383bf237fea5711f9629dbe789
Thanks.
Kevin
---
From c4abb2d3fd9f1a383bf237fea5711f9629dbe789 Mon Sep 17 00:00:00 2001
From: Radoslaw Tyl <radoslawx.tyl@intel.com>
Date: Mon, 2 Sep 2024 10:54:33 +0100
Subject: [PATCH] net/i40e/base: fix repeated register dumps
[ upstream commit efc6a6b1facfa160e5e72f55893a301a6b27c628 ]
Currently, when registers are dumped, the data inside them is changed,
so repeated dumps lead to unexpected results. Fix this by making
register list read-only.
Fixes: 8db9e2a1b232 ("i40e: base driver")
Signed-off-by: Radoslaw Tyl <radoslawx.tyl@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/i40e/base/i40e_diag.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/net/i40e/base/i40e_diag.c b/drivers/net/i40e/base/i40e_diag.c
index b3c4cfd3aa..4ca102cdd5 100644
--- a/drivers/net/i40e/base/i40e_diag.c
+++ b/drivers/net/i40e/base/i40e_diag.c
@@ -56,5 +56,5 @@ static enum i40e_status_code i40e_diag_reg_pattern_test(struct i40e_hw *hw,
}
-static struct i40e_diag_reg_test_info i40e_reg_list[] = {
+static const struct i40e_diag_reg_test_info i40e_reg_list[] = {
/* offset mask elements stride */
{I40E_QTX_CTL(0), 0x0000FFBF, 1, I40E_QTX_CTL(1) - I40E_QTX_CTL(0)},
@@ -82,4 +82,5 @@ enum i40e_status_code i40e_diag_reg_test(struct i40e_hw *hw)
enum i40e_status_code ret_code = I40E_SUCCESS;
u32 reg, mask;
+ u32 elements;
u32 i, j;
@@ -87,8 +88,9 @@ enum i40e_status_code i40e_diag_reg_test(struct i40e_hw *hw)
ret_code == I40E_SUCCESS; i++) {
+ elements = i40e_reg_list[i].elements;
/* set actual reg range for dynamically allocated resources */
if (i40e_reg_list[i].offset == I40E_QTX_CTL(0) &&
hw->func_caps.num_tx_qp != 0)
- i40e_reg_list[i].elements = hw->func_caps.num_tx_qp;
+ elements = hw->func_caps.num_tx_qp;
if ((i40e_reg_list[i].offset == I40E_PFINT_ITRN(0, 0) ||
i40e_reg_list[i].offset == I40E_PFINT_ITRN(1, 0) ||
@@ -97,11 +99,9 @@ enum i40e_status_code i40e_diag_reg_test(struct i40e_hw *hw)
i40e_reg_list[i].offset == I40E_QINT_RQCTL(0)) &&
hw->func_caps.num_msix_vectors != 0)
- i40e_reg_list[i].elements =
- hw->func_caps.num_msix_vectors - 1;
+ elements = hw->func_caps.num_msix_vectors - 1;
/* test register access */
mask = i40e_reg_list[i].mask;
- for (j = 0; j < i40e_reg_list[i].elements &&
- ret_code == I40E_SUCCESS; j++) {
+ for (j = 0; j < elements && ret_code == I40E_SUCCESS; j++) {
reg = i40e_reg_list[i].offset
+ (j * i40e_reg_list[i].stride);
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.429319239 +0000
+++ 0036-net-i40e-base-fix-repeated-register-dumps.patch 2024-11-27 17:17:38.201269248 +0000
@@ -1 +1 @@
-From efc6a6b1facfa160e5e72f55893a301a6b27c628 Mon Sep 17 00:00:00 2001
+From c4abb2d3fd9f1a383bf237fea5711f9629dbe789 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit efc6a6b1facfa160e5e72f55893a301a6b27c628 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/i40e/base: fix unchecked return value' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (34 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/i40e/base: fix repeated register dumps' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/i40e/base: fix loop bounds' " Kevin Traynor
` (84 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Barbara Skobiej; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/d290ddac724d9e275eedc555b93317468f23d65e
Thanks.
Kevin
---
From d290ddac724d9e275eedc555b93317468f23d65e Mon Sep 17 00:00:00 2001
From: Barbara Skobiej <barbara.skobiej@intel.com>
Date: Mon, 2 Sep 2024 10:54:34 +0100
Subject: [PATCH] net/i40e/base: fix unchecked return value
[ upstream commit 7fb34b9141aab299c2b84656ec5b12bf41f1c21d ]
Static analysis tools have reported an unchecked return value warning.
Address the warning by checking return value.
Fixes: 2450cc2dc871 ("i40e/base: find partition id in NPAR mode and disable FCoE")
Signed-off-by: Barbara Skobiej <barbara.skobiej@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/i40e/base/i40e_common.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c
index 3acb48e20b..e5651ad80b 100644
--- a/drivers/net/i40e/base/i40e_common.c
+++ b/drivers/net/i40e/base/i40e_common.c
@@ -4227,6 +4227,6 @@ STATIC void i40e_parse_discover_capabilities(struct i40e_hw *hw, void *buff,
* of the port relative offset
*/
- i40e_aq_debug_read_register(hw, port_cfg_reg, &port_cfg, NULL);
- if (!(port_cfg & I40E_PRTGEN_CNF_PORT_DIS_MASK))
+ status = i40e_aq_debug_read_register(hw, port_cfg_reg, &port_cfg, NULL);
+ if ((status == I40E_SUCCESS) && (!(port_cfg & I40E_PRTGEN_CNF_PORT_DIS_MASK)))
hw->num_ports++;
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.457989869 +0000
+++ 0037-net-i40e-base-fix-unchecked-return-value.patch 2024-11-27 17:17:38.204269264 +0000
@@ -1 +1 @@
-From 7fb34b9141aab299c2b84656ec5b12bf41f1c21d Mon Sep 17 00:00:00 2001
+From d290ddac724d9e275eedc555b93317468f23d65e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7fb34b9141aab299c2b84656ec5b12bf41f1c21d ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 416f31dcc3..07e18deaea 100644
+index 3acb48e20b..e5651ad80b 100644
@@ -23 +24 @@
-@@ -4216,6 +4216,6 @@ STATIC void i40e_parse_discover_capabilities(struct i40e_hw *hw, void *buff,
+@@ -4227,6 +4227,6 @@ STATIC void i40e_parse_discover_capabilities(struct i40e_hw *hw, void *buff,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/i40e/base: fix loop bounds' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (35 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/i40e/base: fix unchecked return value' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/i40e: fix AVX-512 pointer copy on 32-bit' " Kevin Traynor
` (83 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Barbara Skobiej; +Cc: Anatoly Burakov, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/1a38fc74c173a730b557cd4bad8691f3387573db
Thanks.
Kevin
---
From 1a38fc74c173a730b557cd4bad8691f3387573db Mon Sep 17 00:00:00 2001
From: Barbara Skobiej <barbara.skobiej@intel.com>
Date: Mon, 2 Sep 2024 10:54:35 +0100
Subject: [PATCH] net/i40e/base: fix loop bounds
[ upstream commit 3e61fe48412f46daa66f7ccc8f03b1e7620d0b64 ]
An unchecked value used as a loop bound. Add verification if value of
'next_to_clean' variable is greater than 2^10 (next_to_clean is 10 bits).
Also, refactored loop so that it reads the head value only once, and also
checks if head is invalid.
Fixes: 8db9e2a1b232 ("i40e: base driver")
Signed-off-by: Barbara Skobiej <barbara.skobiej@intel.com>
Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/i40e/base/i40e_adminq.c | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/drivers/net/i40e/base/i40e_adminq.c b/drivers/net/i40e/base/i40e_adminq.c
index 27c82d9b44..cd3b0f2e45 100644
--- a/drivers/net/i40e/base/i40e_adminq.c
+++ b/drivers/net/i40e/base/i40e_adminq.c
@@ -792,10 +792,24 @@ u16 i40e_clean_asq(struct i40e_hw *hw)
struct i40e_aq_desc desc_cb;
struct i40e_aq_desc *desc;
+ u32 head = 0;
+
+ if (ntc >= (1 << 10))
+ goto clean_asq_exit;
desc = I40E_ADMINQ_DESC(*asq, ntc);
details = I40E_ADMINQ_DETAILS(*asq, ntc);
- while (rd32(hw, hw->aq.asq.head) != ntc) {
+ while (true) {
+ head = rd32(hw, hw->aq.asq.head);
+
+ if (head >= asq->count) {
+ i40e_debug(hw, I40E_DEBUG_AQ_COMMAND, "Read head value is improper\n");
+ return 0;
+ }
+
+ if (head == ntc)
+ break;
+
i40e_debug(hw, I40E_DEBUG_AQ_COMMAND,
- "ntc %d head %d.\n", ntc, rd32(hw, hw->aq.asq.head));
+ "ntc %d head %d.\n", ntc, head);
if (details->callback) {
@@ -817,4 +831,5 @@ u16 i40e_clean_asq(struct i40e_hw *hw)
asq->next_to_clean = ntc;
+clean_asq_exit:
return I40E_DESC_UNUSED(asq);
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.490647542 +0000
+++ 0038-net-i40e-base-fix-loop-bounds.patch 2024-11-27 17:17:38.204269264 +0000
@@ -1 +1 @@
-From 3e61fe48412f46daa66f7ccc8f03b1e7620d0b64 Mon Sep 17 00:00:00 2001
+From 1a38fc74c173a730b557cd4bad8691f3387573db Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3e61fe48412f46daa66f7ccc8f03b1e7620d0b64 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index b670250180..350288269b 100644
+index 27c82d9b44..cd3b0f2e45 100644
@@ -26 +27 @@
-@@ -746,10 +746,24 @@ u16 i40e_clean_asq(struct i40e_hw *hw)
+@@ -792,10 +792,24 @@ u16 i40e_clean_asq(struct i40e_hw *hw)
@@ -53 +54 @@
-@@ -771,4 +785,5 @@ u16 i40e_clean_asq(struct i40e_hw *hw)
+@@ -817,4 +831,5 @@ u16 i40e_clean_asq(struct i40e_hw *hw)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/i40e: fix AVX-512 pointer copy on 32-bit' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (36 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/i40e/base: fix loop bounds' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/ice: " Kevin Traynor
` (82 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Bruce Richardson; +Cc: Ian Stokes, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/d46c34fda73d6134acbbe66c38ead2cd5ff2f4b6
Thanks.
Kevin
---
From d46c34fda73d6134acbbe66c38ead2cd5ff2f4b6 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Fri, 6 Sep 2024 15:11:24 +0100
Subject: [PATCH] net/i40e: fix AVX-512 pointer copy on 32-bit
[ upstream commit 2d040df2437a025ef6d2ecf72de96d5c9fe97439 ]
The size of a pointer on 32-bit is only 4 rather than 8 bytes, so
copying 32 pointers only requires half the number of AVX-512 load store
operations.
Fixes: 5171b4ee6b6b ("net/i40e: optimize Tx by using AVX512")
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Ian Stokes <ian.stokes@intel.com>
---
drivers/net/i40e/i40e_rxtx_vec_avx512.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/net/i40e/i40e_rxtx_vec_avx512.c b/drivers/net/i40e/i40e_rxtx_vec_avx512.c
index 2ad9a920a1..93ad8965cb 100644
--- a/drivers/net/i40e/i40e_rxtx_vec_avx512.c
+++ b/drivers/net/i40e/i40e_rxtx_vec_avx512.c
@@ -923,4 +923,5 @@ i40e_tx_free_bufs_avx512(struct i40e_tx_queue *txq)
/* n is multiple of 32 */
while (copied < n) {
+#ifdef RTE_ARCH_64
const __m512i a = _mm512_load_si512(&txep[copied]);
const __m512i b = _mm512_load_si512(&txep[copied + 8]);
@@ -932,4 +933,10 @@ i40e_tx_free_bufs_avx512(struct i40e_tx_queue *txq)
_mm512_storeu_si512(&cache_objs[copied + 16], c);
_mm512_storeu_si512(&cache_objs[copied + 24], d);
+#else
+ const __m512i a = _mm512_load_si512(&txep[copied]);
+ const __m512i b = _mm512_load_si512(&txep[copied + 16]);
+ _mm512_storeu_si512(&cache_objs[copied], a);
+ _mm512_storeu_si512(&cache_objs[copied + 16], b);
+#endif
copied += 32;
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.519392215 +0000
+++ 0039-net-i40e-fix-AVX-512-pointer-copy-on-32-bit.patch 2024-11-27 17:17:38.205269269 +0000
@@ -1 +1 @@
-From 2d040df2437a025ef6d2ecf72de96d5c9fe97439 Mon Sep 17 00:00:00 2001
+From d46c34fda73d6134acbbe66c38ead2cd5ff2f4b6 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 2d040df2437a025ef6d2ecf72de96d5c9fe97439 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 0238b03f8a..3b2750221b 100644
+index 2ad9a920a1..93ad8965cb 100644
@@ -23 +24 @@
-@@ -800,4 +800,5 @@ i40e_tx_free_bufs_avx512(struct i40e_tx_queue *txq)
+@@ -923,4 +923,5 @@ i40e_tx_free_bufs_avx512(struct i40e_tx_queue *txq)
@@ -29 +30 @@
-@@ -809,4 +810,10 @@ i40e_tx_free_bufs_avx512(struct i40e_tx_queue *txq)
+@@ -932,4 +933,10 @@ i40e_tx_free_bufs_avx512(struct i40e_tx_queue *txq)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/ice: fix AVX-512 pointer copy on 32-bit' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (37 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/i40e: fix AVX-512 pointer copy on 32-bit' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/iavf: " Kevin Traynor
` (81 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Bruce Richardson; +Cc: Ian Stokes, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/8ff01ed38a37c7e2f981065e8ab021f6f8503f85
Thanks.
Kevin
---
From 8ff01ed38a37c7e2f981065e8ab021f6f8503f85 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Fri, 6 Sep 2024 15:11:25 +0100
Subject: [PATCH] net/ice: fix AVX-512 pointer copy on 32-bit
[ upstream commit da97aeafca4cdd40892ffb7e628bb15dcf9c0f25 ]
The size of a pointer on 32-bit is only 4 rather than 8 bytes, so
copying 32 pointers only requires half the number of AVX-512 load store
operations.
Fixes: a4e480de268e ("net/ice: optimize Tx by using AVX512")
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Ian Stokes <ian.stokes@intel.com>
---
drivers/net/ice/ice_rxtx_vec_avx512.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/net/ice/ice_rxtx_vec_avx512.c b/drivers/net/ice/ice_rxtx_vec_avx512.c
index 5bfd5152df..5f91ee4839 100644
--- a/drivers/net/ice/ice_rxtx_vec_avx512.c
+++ b/drivers/net/ice/ice_rxtx_vec_avx512.c
@@ -1021,4 +1021,5 @@ ice_tx_free_bufs_avx512(struct ice_tx_queue *txq)
/* n is multiple of 32 */
while (copied < n) {
+#ifdef RTE_ARCH_64
const __m512i a = _mm512_loadu_si512(&txep[copied]);
const __m512i b = _mm512_loadu_si512(&txep[copied + 8]);
@@ -1030,4 +1031,10 @@ ice_tx_free_bufs_avx512(struct ice_tx_queue *txq)
_mm512_storeu_si512(&cache_objs[copied + 16], c);
_mm512_storeu_si512(&cache_objs[copied + 24], d);
+#else
+ const __m512i a = _mm512_loadu_si512(&txep[copied]);
+ const __m512i b = _mm512_loadu_si512(&txep[copied + 16]);
+ _mm512_storeu_si512(&cache_objs[copied], a);
+ _mm512_storeu_si512(&cache_objs[copied + 16], b);
+#endif
copied += 32;
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.548372597 +0000
+++ 0040-net-ice-fix-AVX-512-pointer-copy-on-32-bit.patch 2024-11-27 17:17:38.206269274 +0000
@@ -1 +1 @@
-From da97aeafca4cdd40892ffb7e628bb15dcf9c0f25 Mon Sep 17 00:00:00 2001
+From 8ff01ed38a37c7e2f981065e8ab021f6f8503f85 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit da97aeafca4cdd40892ffb7e628bb15dcf9c0f25 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 04148e8ea2..add095ef06 100644
+index 5bfd5152df..5f91ee4839 100644
@@ -23 +24 @@
-@@ -908,4 +908,5 @@ ice_tx_free_bufs_avx512(struct ice_tx_queue *txq)
+@@ -1021,4 +1021,5 @@ ice_tx_free_bufs_avx512(struct ice_tx_queue *txq)
@@ -29 +30 @@
-@@ -917,4 +918,10 @@ ice_tx_free_bufs_avx512(struct ice_tx_queue *txq)
+@@ -1030,4 +1031,10 @@ ice_tx_free_bufs_avx512(struct ice_tx_queue *txq)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/iavf: fix AVX-512 pointer copy on 32-bit' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (38 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/ice: " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/tap: avoid memcpy with null argument' " Kevin Traynor
` (80 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Bruce Richardson; +Cc: Ian Stokes, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/4d613e1278426faa2bac791b0ef756daf37f231d
Thanks.
Kevin
---
From 4d613e1278426faa2bac791b0ef756daf37f231d Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Fri, 6 Sep 2024 15:11:26 +0100
Subject: [PATCH] net/iavf: fix AVX-512 pointer copy on 32-bit
[ upstream commit 77608b24bdd840d323ebd9cb6ffffaf5c760983e ]
The size of a pointer on 32-bit is only 4 rather than 8 bytes, so
copying 32 pointers only requires half the number of AVX-512 load store
operations.
Fixes: 9ab9514c150e ("net/iavf: enable AVX512 for Tx")
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Ian Stokes <ian.stokes@intel.com>
---
drivers/net/iavf/iavf_rxtx_vec_avx512.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/net/iavf/iavf_rxtx_vec_avx512.c b/drivers/net/iavf/iavf_rxtx_vec_avx512.c
index 9876c715e5..874ae55676 100644
--- a/drivers/net/iavf/iavf_rxtx_vec_avx512.c
+++ b/drivers/net/iavf/iavf_rxtx_vec_avx512.c
@@ -1819,4 +1819,5 @@ iavf_tx_free_bufs_avx512(struct iavf_tx_queue *txq)
/* n is multiple of 32 */
while (copied < n) {
+#ifdef RTE_ARCH_64
const __m512i a = _mm512_loadu_si512(&txep[copied]);
const __m512i b = _mm512_loadu_si512(&txep[copied + 8]);
@@ -1828,4 +1829,10 @@ iavf_tx_free_bufs_avx512(struct iavf_tx_queue *txq)
_mm512_storeu_si512(&cache_objs[copied + 16], c);
_mm512_storeu_si512(&cache_objs[copied + 24], d);
+#else
+ const __m512i a = _mm512_loadu_si512(&txep[copied]);
+ const __m512i b = _mm512_loadu_si512(&txep[copied + 16]);
+ _mm512_storeu_si512(&cache_objs[copied], a);
+ _mm512_storeu_si512(&cache_objs[copied + 16], b);
+#endif
copied += 32;
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.578254385 +0000
+++ 0041-net-iavf-fix-AVX-512-pointer-copy-on-32-bit.patch 2024-11-27 17:17:38.207269280 +0000
@@ -1 +1 @@
-From 77608b24bdd840d323ebd9cb6ffffaf5c760983e Mon Sep 17 00:00:00 2001
+From 4d613e1278426faa2bac791b0ef756daf37f231d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 77608b24bdd840d323ebd9cb6ffffaf5c760983e ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 3bb6f305df..d6a861bf80 100644
+index 9876c715e5..874ae55676 100644
@@ -23 +24 @@
-@@ -1893,4 +1893,5 @@ iavf_tx_free_bufs_avx512(struct iavf_tx_queue *txq)
+@@ -1819,4 +1819,5 @@ iavf_tx_free_bufs_avx512(struct iavf_tx_queue *txq)
@@ -29 +30 @@
-@@ -1902,4 +1903,10 @@ iavf_tx_free_bufs_avx512(struct iavf_tx_queue *txq)
+@@ -1828,4 +1829,10 @@ iavf_tx_free_bufs_avx512(struct iavf_tx_queue *txq)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/tap: avoid memcpy with null argument' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (39 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/iavf: " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'app/testpmd: remove unnecessary cast' " Kevin Traynor
` (79 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Ferruh Yigit, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/8e3c135d81b7c4a61ada7dfe51f4b169b067a7f8
Thanks.
Kevin
---
From 8e3c135d81b7c4a61ada7dfe51f4b169b067a7f8 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 13 Aug 2024 19:34:16 -0700
Subject: [PATCH] net/tap: avoid memcpy with null argument
[ upstream commit 3975d85fb8606308ccdb6439b35f70e8733a78e8 ]
Calling memcpy with a null pointer even if zero length is
undefined, so check if data_length is zero.
Problem reported by Gcc analyzer.
Fixes: 7c25284e30c2 ("net/tap: add netlink back-end for flow API")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
---
drivers/net/tap/tap_netlink.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/tap/tap_netlink.c b/drivers/net/tap/tap_netlink.c
index 75af3404b0..c1f7ff56da 100644
--- a/drivers/net/tap/tap_netlink.c
+++ b/drivers/net/tap/tap_netlink.c
@@ -302,5 +302,6 @@ tap_nlattr_add(struct nlmsghdr *nh, unsigned short type,
rta->rta_len = RTA_LENGTH(data_len);
rta->rta_type = type;
- memcpy(RTA_DATA(rta), data, data_len);
+ if (data_len > 0)
+ memcpy(RTA_DATA(rta), data, data_len);
nh->nlmsg_len = NLMSG_ALIGN(nh->nlmsg_len) + RTA_ALIGN(rta->rta_len);
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.608212889 +0000
+++ 0042-net-tap-avoid-memcpy-with-null-argument.patch 2024-11-27 17:17:38.208269285 +0000
@@ -1 +1 @@
-From 3975d85fb8606308ccdb6439b35f70e8733a78e8 Mon Sep 17 00:00:00 2001
+From 8e3c135d81b7c4a61ada7dfe51f4b169b067a7f8 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3975d85fb8606308ccdb6439b35f70e8733a78e8 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index d9c260127d..35c491ac37 100644
+index 75af3404b0..c1f7ff56da 100644
@@ -23 +24 @@
-@@ -303,5 +303,6 @@ tap_nlattr_add(struct nlmsghdr *nh, unsigned short type,
+@@ -302,5 +302,6 @@ tap_nlattr_add(struct nlmsghdr *nh, unsigned short type,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'app/testpmd: remove unnecessary cast' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (40 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/tap: avoid memcpy with null argument' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/pcap: set live interface as non-blocking' " Kevin Traynor
` (78 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Ferruh Yigit, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/3040238e3559462e81ab6c6ef6d25cf0a5b20fa8
Thanks.
Kevin
---
From 3040238e3559462e81ab6c6ef6d25cf0a5b20fa8 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Fri, 23 Aug 2024 09:26:01 -0700
Subject: [PATCH] app/testpmd: remove unnecessary cast
[ upstream commit 0a3901aa624a690faa49ca081c468320d4edcb7a ]
The list of builtin cmdline commands has unnecessary cast which
blocks compiler type checking.
Fixes: af75078fece3 ("first public release")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
---
app/test-pmd/cmdline.c | 544 ++++++++++++++++++++---------------------
1 file changed, 272 insertions(+), 272 deletions(-)
diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 781b7ce0db..aa4acdcab5 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -17734,287 +17734,287 @@ cmdline_parse_inst_t cmd_show_port_flow_transfer_proxy = {
/* list of instructions */
cmdline_parse_ctx_t main_ctx[] = {
- (cmdline_parse_inst_t *)&cmd_help_brief,
- (cmdline_parse_inst_t *)&cmd_help_long,
- (cmdline_parse_inst_t *)&cmd_quit,
- (cmdline_parse_inst_t *)&cmd_load_from_file,
- (cmdline_parse_inst_t *)&cmd_showport,
- (cmdline_parse_inst_t *)&cmd_showqueue,
- (cmdline_parse_inst_t *)&cmd_showeeprom,
- (cmdline_parse_inst_t *)&cmd_showportall,
- (cmdline_parse_inst_t *)&cmd_representor_info,
- (cmdline_parse_inst_t *)&cmd_showdevice,
- (cmdline_parse_inst_t *)&cmd_showcfg,
- (cmdline_parse_inst_t *)&cmd_showfwdall,
- (cmdline_parse_inst_t *)&cmd_start,
- (cmdline_parse_inst_t *)&cmd_start_tx_first,
- (cmdline_parse_inst_t *)&cmd_start_tx_first_n,
- (cmdline_parse_inst_t *)&cmd_set_link_up,
- (cmdline_parse_inst_t *)&cmd_set_link_down,
- (cmdline_parse_inst_t *)&cmd_reset,
- (cmdline_parse_inst_t *)&cmd_set_numbers,
- (cmdline_parse_inst_t *)&cmd_set_log,
- (cmdline_parse_inst_t *)&cmd_set_rxoffs,
- (cmdline_parse_inst_t *)&cmd_set_rxpkts,
- (cmdline_parse_inst_t *)&cmd_set_txpkts,
- (cmdline_parse_inst_t *)&cmd_set_txsplit,
- (cmdline_parse_inst_t *)&cmd_set_txtimes,
- (cmdline_parse_inst_t *)&cmd_set_fwd_list,
- (cmdline_parse_inst_t *)&cmd_set_fwd_mask,
- (cmdline_parse_inst_t *)&cmd_set_fwd_mode,
- (cmdline_parse_inst_t *)&cmd_set_fwd_retry_mode,
- (cmdline_parse_inst_t *)&cmd_set_burst_tx_retry,
- (cmdline_parse_inst_t *)&cmd_set_promisc_mode_one,
- (cmdline_parse_inst_t *)&cmd_set_promisc_mode_all,
- (cmdline_parse_inst_t *)&cmd_set_allmulti_mode_one,
- (cmdline_parse_inst_t *)&cmd_set_allmulti_mode_all,
- (cmdline_parse_inst_t *)&cmd_set_flush_rx,
- (cmdline_parse_inst_t *)&cmd_set_link_check,
- (cmdline_parse_inst_t *)&cmd_set_bypass_mode,
- (cmdline_parse_inst_t *)&cmd_set_bypass_event,
- (cmdline_parse_inst_t *)&cmd_set_bypass_timeout,
- (cmdline_parse_inst_t *)&cmd_show_bypass_config,
+ &cmd_help_brief,
+ &cmd_help_long,
+ &cmd_quit,
+ &cmd_load_from_file,
+ &cmd_showport,
+ &cmd_showqueue,
+ &cmd_showeeprom,
+ &cmd_showportall,
+ &cmd_representor_info,
+ &cmd_showdevice,
+ &cmd_showcfg,
+ &cmd_showfwdall,
+ &cmd_start,
+ &cmd_start_tx_first,
+ &cmd_start_tx_first_n,
+ &cmd_set_link_up,
+ &cmd_set_link_down,
+ &cmd_reset,
+ &cmd_set_numbers,
+ &cmd_set_log,
+ &cmd_set_rxoffs,
+ &cmd_set_rxpkts,
+ &cmd_set_txpkts,
+ &cmd_set_txsplit,
+ &cmd_set_txtimes,
+ &cmd_set_fwd_list,
+ &cmd_set_fwd_mask,
+ &cmd_set_fwd_mode,
+ &cmd_set_fwd_retry_mode,
+ &cmd_set_burst_tx_retry,
+ &cmd_set_promisc_mode_one,
+ &cmd_set_promisc_mode_all,
+ &cmd_set_allmulti_mode_one,
+ &cmd_set_allmulti_mode_all,
+ &cmd_set_flush_rx,
+ &cmd_set_link_check,
+ &cmd_set_bypass_mode,
+ &cmd_set_bypass_event,
+ &cmd_set_bypass_timeout,
+ &cmd_show_bypass_config,
#ifdef RTE_NET_BOND
- (cmdline_parse_inst_t *) &cmd_set_bonding_mode,
- (cmdline_parse_inst_t *) &cmd_show_bonding_config,
- (cmdline_parse_inst_t *) &cmd_show_bonding_lacp_info,
- (cmdline_parse_inst_t *) &cmd_set_bonding_primary,
- (cmdline_parse_inst_t *) &cmd_add_bonding_slave,
- (cmdline_parse_inst_t *) &cmd_remove_bonding_slave,
- (cmdline_parse_inst_t *) &cmd_create_bonded_device,
- (cmdline_parse_inst_t *) &cmd_set_bond_mac_addr,
- (cmdline_parse_inst_t *) &cmd_set_balance_xmit_policy,
- (cmdline_parse_inst_t *) &cmd_set_bond_mon_period,
- (cmdline_parse_inst_t *) &cmd_set_lacp_dedicated_queues,
- (cmdline_parse_inst_t *) &cmd_set_bonding_agg_mode_policy,
+ &cmd_set_bonding_mode,
+ &cmd_show_bonding_config,
+ &cmd_show_bonding_lacp_info,
+ &cmd_set_bonding_primary,
+ &cmd_add_bonding_slave,
+ &cmd_remove_bonding_slave,
+ &cmd_create_bonded_device,
+ &cmd_set_bond_mac_addr,
+ &cmd_set_balance_xmit_policy,
+ &cmd_set_bond_mon_period,
+ &cmd_set_lacp_dedicated_queues,
+ &cmd_set_bonding_agg_mode_policy,
#endif
- (cmdline_parse_inst_t *)&cmd_vlan_offload,
- (cmdline_parse_inst_t *)&cmd_vlan_tpid,
- (cmdline_parse_inst_t *)&cmd_rx_vlan_filter_all,
- (cmdline_parse_inst_t *)&cmd_rx_vlan_filter,
- (cmdline_parse_inst_t *)&cmd_tx_vlan_set,
- (cmdline_parse_inst_t *)&cmd_tx_vlan_set_qinq,
- (cmdline_parse_inst_t *)&cmd_tx_vlan_reset,
- (cmdline_parse_inst_t *)&cmd_tx_vlan_set_pvid,
- (cmdline_parse_inst_t *)&cmd_csum_set,
- (cmdline_parse_inst_t *)&cmd_csum_show,
- (cmdline_parse_inst_t *)&cmd_csum_tunnel,
- (cmdline_parse_inst_t *)&cmd_csum_mac_swap,
- (cmdline_parse_inst_t *)&cmd_tso_set,
- (cmdline_parse_inst_t *)&cmd_tso_show,
- (cmdline_parse_inst_t *)&cmd_tunnel_tso_set,
- (cmdline_parse_inst_t *)&cmd_tunnel_tso_show,
+ &cmd_vlan_offload,
+ &cmd_vlan_tpid,
+ &cmd_rx_vlan_filter_all,
+ &cmd_rx_vlan_filter,
+ &cmd_tx_vlan_set,
+ &cmd_tx_vlan_set_qinq,
+ &cmd_tx_vlan_reset,
+ &cmd_tx_vlan_set_pvid,
+ &cmd_csum_set,
+ &cmd_csum_show,
+ &cmd_csum_tunnel,
+ &cmd_csum_mac_swap,
+ &cmd_tso_set,
+ &cmd_tso_show,
+ &cmd_tunnel_tso_set,
+ &cmd_tunnel_tso_show,
#ifdef RTE_LIB_GRO
- (cmdline_parse_inst_t *)&cmd_gro_enable,
- (cmdline_parse_inst_t *)&cmd_gro_flush,
- (cmdline_parse_inst_t *)&cmd_gro_show,
+ &cmd_gro_enable,
+ &cmd_gro_flush,
+ &cmd_gro_show,
#endif
#ifdef RTE_LIB_GSO
- (cmdline_parse_inst_t *)&cmd_gso_enable,
- (cmdline_parse_inst_t *)&cmd_gso_size,
- (cmdline_parse_inst_t *)&cmd_gso_show,
+ &cmd_gso_enable,
+ &cmd_gso_size,
+ &cmd_gso_show,
#endif
- (cmdline_parse_inst_t *)&cmd_link_flow_control_set,
- (cmdline_parse_inst_t *)&cmd_link_flow_control_set_rx,
- (cmdline_parse_inst_t *)&cmd_link_flow_control_set_tx,
- (cmdline_parse_inst_t *)&cmd_link_flow_control_set_hw,
- (cmdline_parse_inst_t *)&cmd_link_flow_control_set_lw,
- (cmdline_parse_inst_t *)&cmd_link_flow_control_set_pt,
- (cmdline_parse_inst_t *)&cmd_link_flow_control_set_xon,
- (cmdline_parse_inst_t *)&cmd_link_flow_control_set_macfwd,
- (cmdline_parse_inst_t *)&cmd_link_flow_control_set_autoneg,
- (cmdline_parse_inst_t *)&cmd_link_flow_control_show,
- (cmdline_parse_inst_t *)&cmd_priority_flow_control_set,
- (cmdline_parse_inst_t *)&cmd_config_dcb,
- (cmdline_parse_inst_t *)&cmd_read_reg,
- (cmdline_parse_inst_t *)&cmd_read_reg_bit_field,
- (cmdline_parse_inst_t *)&cmd_read_reg_bit,
- (cmdline_parse_inst_t *)&cmd_write_reg,
- (cmdline_parse_inst_t *)&cmd_write_reg_bit_field,
- (cmdline_parse_inst_t *)&cmd_write_reg_bit,
- (cmdline_parse_inst_t *)&cmd_read_rxd_txd,
- (cmdline_parse_inst_t *)&cmd_stop,
- (cmdline_parse_inst_t *)&cmd_mac_addr,
- (cmdline_parse_inst_t *)&cmd_set_fwd_eth_peer,
- (cmdline_parse_inst_t *)&cmd_set_qmap,
- (cmdline_parse_inst_t *)&cmd_set_xstats_hide_zero,
- (cmdline_parse_inst_t *)&cmd_set_record_core_cycles,
- (cmdline_parse_inst_t *)&cmd_set_record_burst_stats,
- (cmdline_parse_inst_t *)&cmd_operate_port,
- (cmdline_parse_inst_t *)&cmd_operate_specific_port,
- (cmdline_parse_inst_t *)&cmd_operate_attach_port,
- (cmdline_parse_inst_t *)&cmd_operate_detach_port,
- (cmdline_parse_inst_t *)&cmd_operate_detach_device,
- (cmdline_parse_inst_t *)&cmd_set_port_setup_on,
- (cmdline_parse_inst_t *)&cmd_config_speed_all,
- (cmdline_parse_inst_t *)&cmd_config_speed_specific,
- (cmdline_parse_inst_t *)&cmd_config_loopback_all,
- (cmdline_parse_inst_t *)&cmd_config_loopback_specific,
- (cmdline_parse_inst_t *)&cmd_config_rx_tx,
- (cmdline_parse_inst_t *)&cmd_config_mtu,
- (cmdline_parse_inst_t *)&cmd_config_max_pkt_len,
- (cmdline_parse_inst_t *)&cmd_config_max_lro_pkt_size,
- (cmdline_parse_inst_t *)&cmd_config_rx_mode_flag,
- (cmdline_parse_inst_t *)&cmd_config_rss,
- (cmdline_parse_inst_t *)&cmd_config_rxtx_ring_size,
- (cmdline_parse_inst_t *)&cmd_config_rxtx_queue,
- (cmdline_parse_inst_t *)&cmd_config_deferred_start_rxtx_queue,
- (cmdline_parse_inst_t *)&cmd_setup_rxtx_queue,
- (cmdline_parse_inst_t *)&cmd_config_rss_reta,
- (cmdline_parse_inst_t *)&cmd_showport_reta,
- (cmdline_parse_inst_t *)&cmd_showport_macs,
- (cmdline_parse_inst_t *)&cmd_show_port_flow_transfer_proxy,
- (cmdline_parse_inst_t *)&cmd_config_burst,
- (cmdline_parse_inst_t *)&cmd_config_thresh,
- (cmdline_parse_inst_t *)&cmd_config_threshold,
- (cmdline_parse_inst_t *)&cmd_set_uc_hash_filter,
- (cmdline_parse_inst_t *)&cmd_set_uc_all_hash_filter,
- (cmdline_parse_inst_t *)&cmd_vf_mac_addr_filter,
- (cmdline_parse_inst_t *)&cmd_queue_rate_limit,
- (cmdline_parse_inst_t *)&cmd_tunnel_udp_config,
- (cmdline_parse_inst_t *)&cmd_showport_rss_hash,
- (cmdline_parse_inst_t *)&cmd_showport_rss_hash_key,
- (cmdline_parse_inst_t *)&cmd_config_rss_hash_key,
- (cmdline_parse_inst_t *)&cmd_cleanup_txq_mbufs,
- (cmdline_parse_inst_t *)&cmd_dump,
- (cmdline_parse_inst_t *)&cmd_dump_one,
+ &cmd_link_flow_control_set,
+ &cmd_link_flow_control_set_rx,
+ &cmd_link_flow_control_set_tx,
+ &cmd_link_flow_control_set_hw,
+ &cmd_link_flow_control_set_lw,
+ &cmd_link_flow_control_set_pt,
+ &cmd_link_flow_control_set_xon,
+ &cmd_link_flow_control_set_macfwd,
+ &cmd_link_flow_control_set_autoneg,
+ &cmd_link_flow_control_show,
+ &cmd_priority_flow_control_set,
+ &cmd_config_dcb,
+ &cmd_read_reg,
+ &cmd_read_reg_bit_field,
+ &cmd_read_reg_bit,
+ &cmd_write_reg,
+ &cmd_write_reg_bit_field,
+ &cmd_write_reg_bit,
+ &cmd_read_rxd_txd,
+ &cmd_stop,
+ &cmd_mac_addr,
+ &cmd_set_fwd_eth_peer,
+ &cmd_set_qmap,
+ &cmd_set_xstats_hide_zero,
+ &cmd_set_record_core_cycles,
+ &cmd_set_record_burst_stats,
+ &cmd_operate_port,
+ &cmd_operate_specific_port,
+ &cmd_operate_attach_port,
+ &cmd_operate_detach_port,
+ &cmd_operate_detach_device,
+ &cmd_set_port_setup_on,
+ &cmd_config_speed_all,
+ &cmd_config_speed_specific,
+ &cmd_config_loopback_all,
+ &cmd_config_loopback_specific,
+ &cmd_config_rx_tx,
+ &cmd_config_mtu,
+ &cmd_config_max_pkt_len,
+ &cmd_config_max_lro_pkt_size,
+ &cmd_config_rx_mode_flag,
+ &cmd_config_rss,
+ &cmd_config_rxtx_ring_size,
+ &cmd_config_rxtx_queue,
+ &cmd_config_deferred_start_rxtx_queue,
+ &cmd_setup_rxtx_queue,
+ &cmd_config_rss_reta,
+ &cmd_showport_reta,
+ &cmd_showport_macs,
+ &cmd_show_port_flow_transfer_proxy,
+ &cmd_config_burst,
+ &cmd_config_thresh,
+ &cmd_config_threshold,
+ &cmd_set_uc_hash_filter,
+ &cmd_set_uc_all_hash_filter,
+ &cmd_vf_mac_addr_filter,
+ &cmd_queue_rate_limit,
+ &cmd_tunnel_udp_config,
+ &cmd_showport_rss_hash,
+ &cmd_showport_rss_hash_key,
+ &cmd_config_rss_hash_key,
+ &cmd_cleanup_txq_mbufs,
+ &cmd_dump,
+ &cmd_dump_one,
#ifdef RTE_NET_I40E
- (cmdline_parse_inst_t *)&cmd_add_del_raw_flow_director,
+ &cmd_add_del_raw_flow_director,
#endif
- (cmdline_parse_inst_t *)&cmd_set_flow_director_ip_mask,
- (cmdline_parse_inst_t *)&cmd_set_flow_director_mac_vlan_mask,
- (cmdline_parse_inst_t *)&cmd_set_flow_director_tunnel_mask,
- (cmdline_parse_inst_t *)&cmd_set_flow_director_flex_payload,
- (cmdline_parse_inst_t *)&cmd_flow,
- (cmdline_parse_inst_t *)&cmd_show_port_meter_cap,
- (cmdline_parse_inst_t *)&cmd_add_port_meter_profile_srtcm,
- (cmdline_parse_inst_t *)&cmd_add_port_meter_profile_trtcm,
- (cmdline_parse_inst_t *)&cmd_add_port_meter_profile_trtcm_rfc4115,
- (cmdline_parse_inst_t *)&cmd_del_port_meter_profile,
- (cmdline_parse_inst_t *)&cmd_create_port_meter,
- (cmdline_parse_inst_t *)&cmd_enable_port_meter,
- (cmdline_parse_inst_t *)&cmd_disable_port_meter,
- (cmdline_parse_inst_t *)&cmd_del_port_meter,
- (cmdline_parse_inst_t *)&cmd_del_port_meter_policy,
- (cmdline_parse_inst_t *)&cmd_set_port_meter_profile,
- (cmdline_parse_inst_t *)&cmd_set_port_meter_dscp_table,
- (cmdline_parse_inst_t *)&cmd_set_port_meter_stats_mask,
- (cmdline_parse_inst_t *)&cmd_show_port_meter_stats,
- (cmdline_parse_inst_t *)&cmd_mcast_addr,
- (cmdline_parse_inst_t *)&cmd_set_vf_vlan_anti_spoof,
- (cmdline_parse_inst_t *)&cmd_set_vf_mac_anti_spoof,
- (cmdline_parse_inst_t *)&cmd_set_vf_vlan_stripq,
- (cmdline_parse_inst_t *)&cmd_set_vf_vlan_insert,
- (cmdline_parse_inst_t *)&cmd_set_tx_loopback,
- (cmdline_parse_inst_t *)&cmd_set_all_queues_drop_en,
- (cmdline_parse_inst_t *)&cmd_set_vf_split_drop_en,
- (cmdline_parse_inst_t *)&cmd_set_macsec_offload_on,
- (cmdline_parse_inst_t *)&cmd_set_macsec_offload_off,
- (cmdline_parse_inst_t *)&cmd_set_macsec_sc,
- (cmdline_parse_inst_t *)&cmd_set_macsec_sa,
- (cmdline_parse_inst_t *)&cmd_set_vf_traffic,
- (cmdline_parse_inst_t *)&cmd_set_vf_rxmode,
- (cmdline_parse_inst_t *)&cmd_vf_rate_limit,
- (cmdline_parse_inst_t *)&cmd_vf_rxvlan_filter,
- (cmdline_parse_inst_t *)&cmd_set_vf_mac_addr,
- (cmdline_parse_inst_t *)&cmd_set_vf_promisc,
- (cmdline_parse_inst_t *)&cmd_set_vf_allmulti,
- (cmdline_parse_inst_t *)&cmd_set_vf_broadcast,
- (cmdline_parse_inst_t *)&cmd_set_vf_vlan_tag,
- (cmdline_parse_inst_t *)&cmd_vf_max_bw,
- (cmdline_parse_inst_t *)&cmd_vf_tc_min_bw,
- (cmdline_parse_inst_t *)&cmd_vf_tc_max_bw,
- (cmdline_parse_inst_t *)&cmd_strict_link_prio,
- (cmdline_parse_inst_t *)&cmd_tc_min_bw,
- (cmdline_parse_inst_t *)&cmd_set_vxlan,
- (cmdline_parse_inst_t *)&cmd_set_vxlan_tos_ttl,
- (cmdline_parse_inst_t *)&cmd_set_vxlan_with_vlan,
- (cmdline_parse_inst_t *)&cmd_set_nvgre,
- (cmdline_parse_inst_t *)&cmd_set_nvgre_with_vlan,
- (cmdline_parse_inst_t *)&cmd_set_l2_encap,
- (cmdline_parse_inst_t *)&cmd_set_l2_encap_with_vlan,
- (cmdline_parse_inst_t *)&cmd_set_l2_decap,
- (cmdline_parse_inst_t *)&cmd_set_l2_decap_with_vlan,
- (cmdline_parse_inst_t *)&cmd_set_mplsogre_encap,
- (cmdline_parse_inst_t *)&cmd_set_mplsogre_encap_with_vlan,
- (cmdline_parse_inst_t *)&cmd_set_mplsogre_decap,
- (cmdline_parse_inst_t *)&cmd_set_mplsogre_decap_with_vlan,
- (cmdline_parse_inst_t *)&cmd_set_mplsoudp_encap,
- (cmdline_parse_inst_t *)&cmd_set_mplsoudp_encap_with_vlan,
- (cmdline_parse_inst_t *)&cmd_set_mplsoudp_decap,
- (cmdline_parse_inst_t *)&cmd_set_mplsoudp_decap_with_vlan,
- (cmdline_parse_inst_t *)&cmd_set_conntrack_common,
- (cmdline_parse_inst_t *)&cmd_set_conntrack_dir,
- (cmdline_parse_inst_t *)&cmd_ddp_add,
- (cmdline_parse_inst_t *)&cmd_ddp_del,
- (cmdline_parse_inst_t *)&cmd_ddp_get_list,
- (cmdline_parse_inst_t *)&cmd_ddp_get_info,
- (cmdline_parse_inst_t *)&cmd_cfg_input_set,
- (cmdline_parse_inst_t *)&cmd_clear_input_set,
- (cmdline_parse_inst_t *)&cmd_show_vf_stats,
- (cmdline_parse_inst_t *)&cmd_clear_vf_stats,
- (cmdline_parse_inst_t *)&cmd_show_port_supported_ptypes,
- (cmdline_parse_inst_t *)&cmd_set_port_ptypes,
- (cmdline_parse_inst_t *)&cmd_ptype_mapping_get,
- (cmdline_parse_inst_t *)&cmd_ptype_mapping_replace,
- (cmdline_parse_inst_t *)&cmd_ptype_mapping_reset,
- (cmdline_parse_inst_t *)&cmd_ptype_mapping_update,
+ &cmd_set_flow_director_ip_mask,
+ &cmd_set_flow_director_mac_vlan_mask,
+ &cmd_set_flow_director_tunnel_mask,
+ &cmd_set_flow_director_flex_payload,
+ &cmd_flow,
+ &cmd_show_port_meter_cap,
+ &cmd_add_port_meter_profile_srtcm,
+ &cmd_add_port_meter_profile_trtcm,
+ &cmd_add_port_meter_profile_trtcm_rfc4115,
+ &cmd_del_port_meter_profile,
+ &cmd_create_port_meter,
+ &cmd_enable_port_meter,
+ &cmd_disable_port_meter,
+ &cmd_del_port_meter,
+ &cmd_del_port_meter_policy,
+ &cmd_set_port_meter_profile,
+ &cmd_set_port_meter_dscp_table,
+ &cmd_set_port_meter_stats_mask,
+ &cmd_show_port_meter_stats,
+ &cmd_mcast_addr,
+ &cmd_set_vf_vlan_anti_spoof,
+ &cmd_set_vf_mac_anti_spoof,
+ &cmd_set_vf_vlan_stripq,
+ &cmd_set_vf_vlan_insert,
+ &cmd_set_tx_loopback,
+ &cmd_set_all_queues_drop_en,
+ &cmd_set_vf_split_drop_en,
+ &cmd_set_macsec_offload_on,
+ &cmd_set_macsec_offload_off,
+ &cmd_set_macsec_sc,
+ &cmd_set_macsec_sa,
+ &cmd_set_vf_traffic,
+ &cmd_set_vf_rxmode,
+ &cmd_vf_rate_limit,
+ &cmd_vf_rxvlan_filter,
+ &cmd_set_vf_mac_addr,
+ &cmd_set_vf_promisc,
+ &cmd_set_vf_allmulti,
+ &cmd_set_vf_broadcast,
+ &cmd_set_vf_vlan_tag,
+ &cmd_vf_max_bw,
+ &cmd_vf_tc_min_bw,
+ &cmd_vf_tc_max_bw,
+ &cmd_strict_link_prio,
+ &cmd_tc_min_bw,
+ &cmd_set_vxlan,
+ &cmd_set_vxlan_tos_ttl,
+ &cmd_set_vxlan_with_vlan,
+ &cmd_set_nvgre,
+ &cmd_set_nvgre_with_vlan,
+ &cmd_set_l2_encap,
+ &cmd_set_l2_encap_with_vlan,
+ &cmd_set_l2_decap,
+ &cmd_set_l2_decap_with_vlan,
+ &cmd_set_mplsogre_encap,
+ &cmd_set_mplsogre_encap_with_vlan,
+ &cmd_set_mplsogre_decap,
+ &cmd_set_mplsogre_decap_with_vlan,
+ &cmd_set_mplsoudp_encap,
+ &cmd_set_mplsoudp_encap_with_vlan,
+ &cmd_set_mplsoudp_decap,
+ &cmd_set_mplsoudp_decap_with_vlan,
+ &cmd_set_conntrack_common,
+ &cmd_set_conntrack_dir,
+ &cmd_ddp_add,
+ &cmd_ddp_del,
+ &cmd_ddp_get_list,
+ &cmd_ddp_get_info,
+ &cmd_cfg_input_set,
+ &cmd_clear_input_set,
+ &cmd_show_vf_stats,
+ &cmd_clear_vf_stats,
+ &cmd_show_port_supported_ptypes,
+ &cmd_set_port_ptypes,
+ &cmd_ptype_mapping_get,
+ &cmd_ptype_mapping_replace,
+ &cmd_ptype_mapping_reset,
+ &cmd_ptype_mapping_update,
- (cmdline_parse_inst_t *)&cmd_pctype_mapping_get,
- (cmdline_parse_inst_t *)&cmd_pctype_mapping_reset,
- (cmdline_parse_inst_t *)&cmd_pctype_mapping_update,
- (cmdline_parse_inst_t *)&cmd_queue_region,
- (cmdline_parse_inst_t *)&cmd_region_flowtype,
- (cmdline_parse_inst_t *)&cmd_user_priority_region,
- (cmdline_parse_inst_t *)&cmd_flush_queue_region,
- (cmdline_parse_inst_t *)&cmd_show_queue_region_info_all,
- (cmdline_parse_inst_t *)&cmd_show_port_tm_cap,
- (cmdline_parse_inst_t *)&cmd_show_port_tm_level_cap,
- (cmdline_parse_inst_t *)&cmd_show_port_tm_node_cap,
- (cmdline_parse_inst_t *)&cmd_show_port_tm_node_type,
- (cmdline_parse_inst_t *)&cmd_show_port_tm_node_stats,
- (cmdline_parse_inst_t *)&cmd_add_port_tm_node_shaper_profile,
- (cmdline_parse_inst_t *)&cmd_del_port_tm_node_shaper_profile,
- (cmdline_parse_inst_t *)&cmd_add_port_tm_node_shared_shaper,
- (cmdline_parse_inst_t *)&cmd_del_port_tm_node_shared_shaper,
- (cmdline_parse_inst_t *)&cmd_add_port_tm_node_wred_profile,
- (cmdline_parse_inst_t *)&cmd_del_port_tm_node_wred_profile,
- (cmdline_parse_inst_t *)&cmd_set_port_tm_node_shaper_profile,
- (cmdline_parse_inst_t *)&cmd_add_port_tm_nonleaf_node,
- (cmdline_parse_inst_t *)&cmd_add_port_tm_nonleaf_node_pmode,
- (cmdline_parse_inst_t *)&cmd_add_port_tm_leaf_node,
- (cmdline_parse_inst_t *)&cmd_del_port_tm_node,
- (cmdline_parse_inst_t *)&cmd_set_port_tm_node_parent,
- (cmdline_parse_inst_t *)&cmd_suspend_port_tm_node,
- (cmdline_parse_inst_t *)&cmd_resume_port_tm_node,
- (cmdline_parse_inst_t *)&cmd_port_tm_hierarchy_commit,
- (cmdline_parse_inst_t *)&cmd_port_tm_mark_ip_ecn,
- (cmdline_parse_inst_t *)&cmd_port_tm_mark_ip_dscp,
- (cmdline_parse_inst_t *)&cmd_port_tm_mark_vlan_dei,
- (cmdline_parse_inst_t *)&cmd_cfg_tunnel_udp_port,
- (cmdline_parse_inst_t *)&cmd_rx_offload_get_capa,
- (cmdline_parse_inst_t *)&cmd_rx_offload_get_configuration,
- (cmdline_parse_inst_t *)&cmd_config_per_port_rx_offload,
- (cmdline_parse_inst_t *)&cmd_config_per_queue_rx_offload,
- (cmdline_parse_inst_t *)&cmd_tx_offload_get_capa,
- (cmdline_parse_inst_t *)&cmd_tx_offload_get_configuration,
- (cmdline_parse_inst_t *)&cmd_config_per_port_tx_offload,
- (cmdline_parse_inst_t *)&cmd_config_per_queue_tx_offload,
+ &cmd_pctype_mapping_get,
+ &cmd_pctype_mapping_reset,
+ &cmd_pctype_mapping_update,
+ &cmd_queue_region,
+ &cmd_region_flowtype,
+ &cmd_user_priority_region,
+ &cmd_flush_queue_region,
+ &cmd_show_queue_region_info_all,
+ &cmd_show_port_tm_cap,
+ &cmd_show_port_tm_level_cap,
+ &cmd_show_port_tm_node_cap,
+ &cmd_show_port_tm_node_type,
+ &cmd_show_port_tm_node_stats,
+ &cmd_add_port_tm_node_shaper_profile,
+ &cmd_del_port_tm_node_shaper_profile,
+ &cmd_add_port_tm_node_shared_shaper,
+ &cmd_del_port_tm_node_shared_shaper,
+ &cmd_add_port_tm_node_wred_profile,
+ &cmd_del_port_tm_node_wred_profile,
+ &cmd_set_port_tm_node_shaper_profile,
+ &cmd_add_port_tm_nonleaf_node,
+ &cmd_add_port_tm_nonleaf_node_pmode,
+ &cmd_add_port_tm_leaf_node,
+ &cmd_del_port_tm_node,
+ &cmd_set_port_tm_node_parent,
+ &cmd_suspend_port_tm_node,
+ &cmd_resume_port_tm_node,
+ &cmd_port_tm_hierarchy_commit,
+ &cmd_port_tm_mark_ip_ecn,
+ &cmd_port_tm_mark_ip_dscp,
+ &cmd_port_tm_mark_vlan_dei,
+ &cmd_cfg_tunnel_udp_port,
+ &cmd_rx_offload_get_capa,
+ &cmd_rx_offload_get_configuration,
+ &cmd_config_per_port_rx_offload,
+ &cmd_config_per_queue_rx_offload,
+ &cmd_tx_offload_get_capa,
+ &cmd_tx_offload_get_configuration,
+ &cmd_config_per_port_tx_offload,
+ &cmd_config_per_queue_tx_offload,
#ifdef RTE_LIB_BPF
- (cmdline_parse_inst_t *)&cmd_operate_bpf_ld_parse,
- (cmdline_parse_inst_t *)&cmd_operate_bpf_unld_parse,
+ &cmd_operate_bpf_ld_parse,
+ &cmd_operate_bpf_unld_parse,
#endif
- (cmdline_parse_inst_t *)&cmd_config_tx_metadata_specific,
- (cmdline_parse_inst_t *)&cmd_show_tx_metadata,
- (cmdline_parse_inst_t *)&cmd_show_rx_tx_desc_status,
- (cmdline_parse_inst_t *)&cmd_show_rx_queue_desc_used_count,
- (cmdline_parse_inst_t *)&cmd_set_raw,
- (cmdline_parse_inst_t *)&cmd_show_set_raw,
- (cmdline_parse_inst_t *)&cmd_show_set_raw_all,
- (cmdline_parse_inst_t *)&cmd_config_tx_dynf_specific,
- (cmdline_parse_inst_t *)&cmd_show_fec_mode,
- (cmdline_parse_inst_t *)&cmd_set_fec_mode,
- (cmdline_parse_inst_t *)&cmd_show_capability,
- (cmdline_parse_inst_t *)&cmd_set_flex_is_pattern,
- (cmdline_parse_inst_t *)&cmd_set_flex_spec_pattern,
+ &cmd_config_tx_metadata_specific,
+ &cmd_show_tx_metadata,
+ &cmd_show_rx_tx_desc_status,
+ &cmd_show_rx_queue_desc_used_count,
+ &cmd_set_raw,
+ &cmd_show_set_raw,
+ &cmd_show_set_raw_all,
+ &cmd_config_tx_dynf_specific,
+ &cmd_show_fec_mode,
+ &cmd_set_fec_mode,
+ &cmd_show_capability,
+ &cmd_set_flex_is_pattern,
+ &cmd_set_flex_spec_pattern,
NULL,
};
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.636511388 +0000
+++ 0043-app-testpmd-remove-unnecessary-cast.patch 2024-11-27 17:17:38.217269331 +0000
@@ -1 +1 @@
-From 0a3901aa624a690faa49ca081c468320d4edcb7a Mon Sep 17 00:00:00 2001
+From 3040238e3559462e81ab6c6ef6d25cf0a5b20fa8 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0a3901aa624a690faa49ca081c468320d4edcb7a ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -15,2 +16,2 @@
- app/test-pmd/cmdline.c | 458 ++++++++++++++++++++---------------------
- 1 file changed, 229 insertions(+), 229 deletions(-)
+ app/test-pmd/cmdline.c | 544 ++++++++++++++++++++---------------------
+ 1 file changed, 272 insertions(+), 272 deletions(-)
@@ -19 +20 @@
-index b7759e38a8..358319c20a 100644
+index 781b7ce0db..aa4acdcab5 100644
@@ -22 +23 @@
-@@ -13147,239 +13147,239 @@ static cmdline_parse_inst_t cmd_config_tx_affinity_map = {
+@@ -17734,287 +17734,287 @@ cmdline_parse_inst_t cmd_show_port_flow_transfer_proxy = {
@@ -24 +25 @@
- static cmdline_parse_ctx_t builtin_ctx[] = {
+ cmdline_parse_ctx_t main_ctx[] = {
@@ -47 +47,0 @@
-- (cmdline_parse_inst_t *)&cmd_set_rxhdrs,
@@ -62,16 +62,4 @@
-- (cmdline_parse_inst_t *)&cmd_vlan_offload,
-- (cmdline_parse_inst_t *)&cmd_vlan_tpid,
-- (cmdline_parse_inst_t *)&cmd_rx_vlan_filter_all,
-- (cmdline_parse_inst_t *)&cmd_rx_vlan_filter,
-- (cmdline_parse_inst_t *)&cmd_tx_vlan_set,
-- (cmdline_parse_inst_t *)&cmd_tx_vlan_set_qinq,
-- (cmdline_parse_inst_t *)&cmd_tx_vlan_reset,
-- (cmdline_parse_inst_t *)&cmd_tx_vlan_set_pvid,
-- (cmdline_parse_inst_t *)&cmd_csum_set,
-- (cmdline_parse_inst_t *)&cmd_csum_show,
-- (cmdline_parse_inst_t *)&cmd_csum_tunnel,
-- (cmdline_parse_inst_t *)&cmd_csum_mac_swap,
-- (cmdline_parse_inst_t *)&cmd_tso_set,
-- (cmdline_parse_inst_t *)&cmd_tso_show,
-- (cmdline_parse_inst_t *)&cmd_tunnel_tso_set,
-- (cmdline_parse_inst_t *)&cmd_tunnel_tso_show,
+- (cmdline_parse_inst_t *)&cmd_set_bypass_mode,
+- (cmdline_parse_inst_t *)&cmd_set_bypass_event,
+- (cmdline_parse_inst_t *)&cmd_set_bypass_timeout,
+- (cmdline_parse_inst_t *)&cmd_show_bypass_config,
@@ -100 +87,0 @@
-+ &cmd_set_rxhdrs,
@@ -114,0 +102,46 @@
++ &cmd_set_bypass_mode,
++ &cmd_set_bypass_event,
++ &cmd_set_bypass_timeout,
++ &cmd_show_bypass_config,
+ #ifdef RTE_NET_BOND
+- (cmdline_parse_inst_t *) &cmd_set_bonding_mode,
+- (cmdline_parse_inst_t *) &cmd_show_bonding_config,
+- (cmdline_parse_inst_t *) &cmd_show_bonding_lacp_info,
+- (cmdline_parse_inst_t *) &cmd_set_bonding_primary,
+- (cmdline_parse_inst_t *) &cmd_add_bonding_slave,
+- (cmdline_parse_inst_t *) &cmd_remove_bonding_slave,
+- (cmdline_parse_inst_t *) &cmd_create_bonded_device,
+- (cmdline_parse_inst_t *) &cmd_set_bond_mac_addr,
+- (cmdline_parse_inst_t *) &cmd_set_balance_xmit_policy,
+- (cmdline_parse_inst_t *) &cmd_set_bond_mon_period,
+- (cmdline_parse_inst_t *) &cmd_set_lacp_dedicated_queues,
+- (cmdline_parse_inst_t *) &cmd_set_bonding_agg_mode_policy,
++ &cmd_set_bonding_mode,
++ &cmd_show_bonding_config,
++ &cmd_show_bonding_lacp_info,
++ &cmd_set_bonding_primary,
++ &cmd_add_bonding_slave,
++ &cmd_remove_bonding_slave,
++ &cmd_create_bonded_device,
++ &cmd_set_bond_mac_addr,
++ &cmd_set_balance_xmit_policy,
++ &cmd_set_bond_mon_period,
++ &cmd_set_lacp_dedicated_queues,
++ &cmd_set_bonding_agg_mode_policy,
+ #endif
+- (cmdline_parse_inst_t *)&cmd_vlan_offload,
+- (cmdline_parse_inst_t *)&cmd_vlan_tpid,
+- (cmdline_parse_inst_t *)&cmd_rx_vlan_filter_all,
+- (cmdline_parse_inst_t *)&cmd_rx_vlan_filter,
+- (cmdline_parse_inst_t *)&cmd_tx_vlan_set,
+- (cmdline_parse_inst_t *)&cmd_tx_vlan_set_qinq,
+- (cmdline_parse_inst_t *)&cmd_tx_vlan_reset,
+- (cmdline_parse_inst_t *)&cmd_tx_vlan_set_pvid,
+- (cmdline_parse_inst_t *)&cmd_csum_set,
+- (cmdline_parse_inst_t *)&cmd_csum_show,
+- (cmdline_parse_inst_t *)&cmd_csum_tunnel,
+- (cmdline_parse_inst_t *)&cmd_csum_mac_swap,
+- (cmdline_parse_inst_t *)&cmd_tso_set,
+- (cmdline_parse_inst_t *)&cmd_tso_show,
+- (cmdline_parse_inst_t *)&cmd_tunnel_tso_set,
+- (cmdline_parse_inst_t *)&cmd_tunnel_tso_show,
@@ -158 +190,0 @@
-- (cmdline_parse_inst_t *)&cmd_queue_priority_flow_control_set,
@@ -159,0 +192,6 @@
+- (cmdline_parse_inst_t *)&cmd_read_reg,
+- (cmdline_parse_inst_t *)&cmd_read_reg_bit_field,
+- (cmdline_parse_inst_t *)&cmd_read_reg_bit,
+- (cmdline_parse_inst_t *)&cmd_write_reg,
+- (cmdline_parse_inst_t *)&cmd_write_reg_bit_field,
+- (cmdline_parse_inst_t *)&cmd_write_reg_bit,
@@ -202 +239,0 @@
-- (cmdline_parse_inst_t *)&cmd_showport_rss_hash_algo,
@@ -204 +240,0 @@
-- (cmdline_parse_inst_t *)&cmd_config_rss_hash_algo,
@@ -208,89 +243,0 @@
-- (cmdline_parse_inst_t *)&cmd_flow,
-- (cmdline_parse_inst_t *)&cmd_show_port_meter_cap,
-- (cmdline_parse_inst_t *)&cmd_add_port_meter_profile_srtcm,
-- (cmdline_parse_inst_t *)&cmd_add_port_meter_profile_trtcm,
-- (cmdline_parse_inst_t *)&cmd_add_port_meter_profile_trtcm_rfc4115,
-- (cmdline_parse_inst_t *)&cmd_del_port_meter_profile,
-- (cmdline_parse_inst_t *)&cmd_create_port_meter,
-- (cmdline_parse_inst_t *)&cmd_enable_port_meter,
-- (cmdline_parse_inst_t *)&cmd_disable_port_meter,
-- (cmdline_parse_inst_t *)&cmd_del_port_meter,
-- (cmdline_parse_inst_t *)&cmd_del_port_meter_policy,
-- (cmdline_parse_inst_t *)&cmd_set_port_meter_profile,
-- (cmdline_parse_inst_t *)&cmd_set_port_meter_dscp_table,
-- (cmdline_parse_inst_t *)&cmd_set_port_meter_vlan_table,
-- (cmdline_parse_inst_t *)&cmd_set_port_meter_in_proto,
-- (cmdline_parse_inst_t *)&cmd_get_port_meter_in_proto,
-- (cmdline_parse_inst_t *)&cmd_get_port_meter_in_proto_prio,
-- (cmdline_parse_inst_t *)&cmd_set_port_meter_stats_mask,
-- (cmdline_parse_inst_t *)&cmd_show_port_meter_stats,
-- (cmdline_parse_inst_t *)&cmd_mcast_addr,
-- (cmdline_parse_inst_t *)&cmd_mcast_addr_flush,
-- (cmdline_parse_inst_t *)&cmd_set_vf_vlan_anti_spoof,
-- (cmdline_parse_inst_t *)&cmd_set_vf_mac_anti_spoof,
-- (cmdline_parse_inst_t *)&cmd_set_vf_vlan_stripq,
-- (cmdline_parse_inst_t *)&cmd_set_vf_vlan_insert,
-- (cmdline_parse_inst_t *)&cmd_set_tx_loopback,
-- (cmdline_parse_inst_t *)&cmd_set_all_queues_drop_en,
-- (cmdline_parse_inst_t *)&cmd_set_vf_traffic,
-- (cmdline_parse_inst_t *)&cmd_set_vf_rxmode,
-- (cmdline_parse_inst_t *)&cmd_vf_rate_limit,
-- (cmdline_parse_inst_t *)&cmd_vf_rxvlan_filter,
-- (cmdline_parse_inst_t *)&cmd_set_vf_mac_addr,
-- (cmdline_parse_inst_t *)&cmd_set_vxlan,
-- (cmdline_parse_inst_t *)&cmd_set_vxlan_tos_ttl,
-- (cmdline_parse_inst_t *)&cmd_set_vxlan_with_vlan,
-- (cmdline_parse_inst_t *)&cmd_set_nvgre,
-- (cmdline_parse_inst_t *)&cmd_set_nvgre_with_vlan,
-- (cmdline_parse_inst_t *)&cmd_set_l2_encap,
-- (cmdline_parse_inst_t *)&cmd_set_l2_encap_with_vlan,
-- (cmdline_parse_inst_t *)&cmd_set_l2_decap,
-- (cmdline_parse_inst_t *)&cmd_set_l2_decap_with_vlan,
-- (cmdline_parse_inst_t *)&cmd_set_mplsogre_encap,
-- (cmdline_parse_inst_t *)&cmd_set_mplsogre_encap_with_vlan,
-- (cmdline_parse_inst_t *)&cmd_set_mplsogre_decap,
-- (cmdline_parse_inst_t *)&cmd_set_mplsogre_decap_with_vlan,
-- (cmdline_parse_inst_t *)&cmd_set_mplsoudp_encap,
-- (cmdline_parse_inst_t *)&cmd_set_mplsoudp_encap_with_vlan,
-- (cmdline_parse_inst_t *)&cmd_set_mplsoudp_decap,
-- (cmdline_parse_inst_t *)&cmd_set_mplsoudp_decap_with_vlan,
-- (cmdline_parse_inst_t *)&cmd_set_conntrack_common,
-- (cmdline_parse_inst_t *)&cmd_set_conntrack_dir,
-- (cmdline_parse_inst_t *)&cmd_show_vf_stats,
-- (cmdline_parse_inst_t *)&cmd_clear_vf_stats,
-- (cmdline_parse_inst_t *)&cmd_show_port_supported_ptypes,
-- (cmdline_parse_inst_t *)&cmd_set_port_ptypes,
-- (cmdline_parse_inst_t *)&cmd_show_port_tm_cap,
-- (cmdline_parse_inst_t *)&cmd_show_port_tm_level_cap,
-- (cmdline_parse_inst_t *)&cmd_show_port_tm_node_cap,
-- (cmdline_parse_inst_t *)&cmd_show_port_tm_node_type,
-- (cmdline_parse_inst_t *)&cmd_show_port_tm_node_stats,
-- (cmdline_parse_inst_t *)&cmd_add_port_tm_node_shaper_profile,
-- (cmdline_parse_inst_t *)&cmd_del_port_tm_node_shaper_profile,
-- (cmdline_parse_inst_t *)&cmd_add_port_tm_node_shared_shaper,
-- (cmdline_parse_inst_t *)&cmd_del_port_tm_node_shared_shaper,
-- (cmdline_parse_inst_t *)&cmd_add_port_tm_node_wred_profile,
-- (cmdline_parse_inst_t *)&cmd_del_port_tm_node_wred_profile,
-- (cmdline_parse_inst_t *)&cmd_set_port_tm_node_shaper_profile,
-- (cmdline_parse_inst_t *)&cmd_add_port_tm_nonleaf_node,
-- (cmdline_parse_inst_t *)&cmd_add_port_tm_nonleaf_node_pmode,
-- (cmdline_parse_inst_t *)&cmd_add_port_tm_leaf_node,
-- (cmdline_parse_inst_t *)&cmd_del_port_tm_node,
-- (cmdline_parse_inst_t *)&cmd_set_port_tm_node_parent,
-- (cmdline_parse_inst_t *)&cmd_suspend_port_tm_node,
-- (cmdline_parse_inst_t *)&cmd_resume_port_tm_node,
-- (cmdline_parse_inst_t *)&cmd_port_tm_hierarchy_commit,
-- (cmdline_parse_inst_t *)&cmd_port_tm_mark_ip_ecn,
-- (cmdline_parse_inst_t *)&cmd_port_tm_mark_ip_dscp,
-- (cmdline_parse_inst_t *)&cmd_port_tm_mark_vlan_dei,
-- (cmdline_parse_inst_t *)&cmd_cfg_tunnel_udp_port,
-- (cmdline_parse_inst_t *)&cmd_rx_offload_get_capa,
-- (cmdline_parse_inst_t *)&cmd_rx_offload_get_configuration,
-- (cmdline_parse_inst_t *)&cmd_config_per_port_rx_offload,
-- (cmdline_parse_inst_t *)&cmd_config_all_port_rx_offload,
-- (cmdline_parse_inst_t *)&cmd_config_per_queue_rx_offload,
-- (cmdline_parse_inst_t *)&cmd_tx_offload_get_capa,
-- (cmdline_parse_inst_t *)&cmd_tx_offload_get_configuration,
-- (cmdline_parse_inst_t *)&cmd_config_per_port_tx_offload,
-- (cmdline_parse_inst_t *)&cmd_config_all_port_tx_offload,
-- (cmdline_parse_inst_t *)&cmd_config_per_queue_tx_offload,
@@ -308 +254,0 @@
-+ &cmd_queue_priority_flow_control_set,
@@ -309,0 +256,6 @@
++ &cmd_read_reg,
++ &cmd_read_reg_bit_field,
++ &cmd_read_reg_bit,
++ &cmd_write_reg,
++ &cmd_write_reg_bit_field,
++ &cmd_write_reg_bit,
@@ -352 +303,0 @@
-+ &cmd_showport_rss_hash_algo,
@@ -354 +304,0 @@
-+ &cmd_config_rss_hash_algo,
@@ -357,0 +308,86 @@
+ #ifdef RTE_NET_I40E
+- (cmdline_parse_inst_t *)&cmd_add_del_raw_flow_director,
++ &cmd_add_del_raw_flow_director,
+ #endif
+- (cmdline_parse_inst_t *)&cmd_set_flow_director_ip_mask,
+- (cmdline_parse_inst_t *)&cmd_set_flow_director_mac_vlan_mask,
+- (cmdline_parse_inst_t *)&cmd_set_flow_director_tunnel_mask,
+- (cmdline_parse_inst_t *)&cmd_set_flow_director_flex_payload,
+- (cmdline_parse_inst_t *)&cmd_flow,
+- (cmdline_parse_inst_t *)&cmd_show_port_meter_cap,
+- (cmdline_parse_inst_t *)&cmd_add_port_meter_profile_srtcm,
+- (cmdline_parse_inst_t *)&cmd_add_port_meter_profile_trtcm,
+- (cmdline_parse_inst_t *)&cmd_add_port_meter_profile_trtcm_rfc4115,
+- (cmdline_parse_inst_t *)&cmd_del_port_meter_profile,
+- (cmdline_parse_inst_t *)&cmd_create_port_meter,
+- (cmdline_parse_inst_t *)&cmd_enable_port_meter,
+- (cmdline_parse_inst_t *)&cmd_disable_port_meter,
+- (cmdline_parse_inst_t *)&cmd_del_port_meter,
+- (cmdline_parse_inst_t *)&cmd_del_port_meter_policy,
+- (cmdline_parse_inst_t *)&cmd_set_port_meter_profile,
+- (cmdline_parse_inst_t *)&cmd_set_port_meter_dscp_table,
+- (cmdline_parse_inst_t *)&cmd_set_port_meter_stats_mask,
+- (cmdline_parse_inst_t *)&cmd_show_port_meter_stats,
+- (cmdline_parse_inst_t *)&cmd_mcast_addr,
+- (cmdline_parse_inst_t *)&cmd_set_vf_vlan_anti_spoof,
+- (cmdline_parse_inst_t *)&cmd_set_vf_mac_anti_spoof,
+- (cmdline_parse_inst_t *)&cmd_set_vf_vlan_stripq,
+- (cmdline_parse_inst_t *)&cmd_set_vf_vlan_insert,
+- (cmdline_parse_inst_t *)&cmd_set_tx_loopback,
+- (cmdline_parse_inst_t *)&cmd_set_all_queues_drop_en,
+- (cmdline_parse_inst_t *)&cmd_set_vf_split_drop_en,
+- (cmdline_parse_inst_t *)&cmd_set_macsec_offload_on,
+- (cmdline_parse_inst_t *)&cmd_set_macsec_offload_off,
+- (cmdline_parse_inst_t *)&cmd_set_macsec_sc,
+- (cmdline_parse_inst_t *)&cmd_set_macsec_sa,
+- (cmdline_parse_inst_t *)&cmd_set_vf_traffic,
+- (cmdline_parse_inst_t *)&cmd_set_vf_rxmode,
+- (cmdline_parse_inst_t *)&cmd_vf_rate_limit,
+- (cmdline_parse_inst_t *)&cmd_vf_rxvlan_filter,
+- (cmdline_parse_inst_t *)&cmd_set_vf_mac_addr,
+- (cmdline_parse_inst_t *)&cmd_set_vf_promisc,
+- (cmdline_parse_inst_t *)&cmd_set_vf_allmulti,
+- (cmdline_parse_inst_t *)&cmd_set_vf_broadcast,
+- (cmdline_parse_inst_t *)&cmd_set_vf_vlan_tag,
+- (cmdline_parse_inst_t *)&cmd_vf_max_bw,
+- (cmdline_parse_inst_t *)&cmd_vf_tc_min_bw,
+- (cmdline_parse_inst_t *)&cmd_vf_tc_max_bw,
+- (cmdline_parse_inst_t *)&cmd_strict_link_prio,
+- (cmdline_parse_inst_t *)&cmd_tc_min_bw,
+- (cmdline_parse_inst_t *)&cmd_set_vxlan,
+- (cmdline_parse_inst_t *)&cmd_set_vxlan_tos_ttl,
+- (cmdline_parse_inst_t *)&cmd_set_vxlan_with_vlan,
+- (cmdline_parse_inst_t *)&cmd_set_nvgre,
+- (cmdline_parse_inst_t *)&cmd_set_nvgre_with_vlan,
+- (cmdline_parse_inst_t *)&cmd_set_l2_encap,
+- (cmdline_parse_inst_t *)&cmd_set_l2_encap_with_vlan,
+- (cmdline_parse_inst_t *)&cmd_set_l2_decap,
+- (cmdline_parse_inst_t *)&cmd_set_l2_decap_with_vlan,
+- (cmdline_parse_inst_t *)&cmd_set_mplsogre_encap,
+- (cmdline_parse_inst_t *)&cmd_set_mplsogre_encap_with_vlan,
+- (cmdline_parse_inst_t *)&cmd_set_mplsogre_decap,
+- (cmdline_parse_inst_t *)&cmd_set_mplsogre_decap_with_vlan,
+- (cmdline_parse_inst_t *)&cmd_set_mplsoudp_encap,
+- (cmdline_parse_inst_t *)&cmd_set_mplsoudp_encap_with_vlan,
+- (cmdline_parse_inst_t *)&cmd_set_mplsoudp_decap,
+- (cmdline_parse_inst_t *)&cmd_set_mplsoudp_decap_with_vlan,
+- (cmdline_parse_inst_t *)&cmd_set_conntrack_common,
+- (cmdline_parse_inst_t *)&cmd_set_conntrack_dir,
+- (cmdline_parse_inst_t *)&cmd_ddp_add,
+- (cmdline_parse_inst_t *)&cmd_ddp_del,
+- (cmdline_parse_inst_t *)&cmd_ddp_get_list,
+- (cmdline_parse_inst_t *)&cmd_ddp_get_info,
+- (cmdline_parse_inst_t *)&cmd_cfg_input_set,
+- (cmdline_parse_inst_t *)&cmd_clear_input_set,
+- (cmdline_parse_inst_t *)&cmd_show_vf_stats,
+- (cmdline_parse_inst_t *)&cmd_clear_vf_stats,
+- (cmdline_parse_inst_t *)&cmd_show_port_supported_ptypes,
+- (cmdline_parse_inst_t *)&cmd_set_port_ptypes,
+- (cmdline_parse_inst_t *)&cmd_ptype_mapping_get,
+- (cmdline_parse_inst_t *)&cmd_ptype_mapping_replace,
+- (cmdline_parse_inst_t *)&cmd_ptype_mapping_reset,
+- (cmdline_parse_inst_t *)&cmd_ptype_mapping_update,
++ &cmd_set_flow_director_ip_mask,
++ &cmd_set_flow_director_mac_vlan_mask,
++ &cmd_set_flow_director_tunnel_mask,
++ &cmd_set_flow_director_flex_payload,
@@ -371,4 +406,0 @@
-+ &cmd_set_port_meter_vlan_table,
-+ &cmd_set_port_meter_in_proto,
-+ &cmd_get_port_meter_in_proto,
-+ &cmd_get_port_meter_in_proto_prio,
@@ -378 +409,0 @@
-+ &cmd_mcast_addr_flush,
@@ -384,0 +416,5 @@
++ &cmd_set_vf_split_drop_en,
++ &cmd_set_macsec_offload_on,
++ &cmd_set_macsec_offload_off,
++ &cmd_set_macsec_sc,
++ &cmd_set_macsec_sa,
@@ -389,0 +426,9 @@
++ &cmd_set_vf_promisc,
++ &cmd_set_vf_allmulti,
++ &cmd_set_vf_broadcast,
++ &cmd_set_vf_vlan_tag,
++ &cmd_vf_max_bw,
++ &cmd_vf_tc_min_bw,
++ &cmd_vf_tc_max_bw,
++ &cmd_strict_link_prio,
++ &cmd_tc_min_bw,
@@ -408,0 +454,6 @@
++ &cmd_ddp_add,
++ &cmd_ddp_del,
++ &cmd_ddp_get_list,
++ &cmd_ddp_get_info,
++ &cmd_cfg_input_set,
++ &cmd_clear_input_set,
@@ -412,0 +464,53 @@
++ &cmd_ptype_mapping_get,
++ &cmd_ptype_mapping_replace,
++ &cmd_ptype_mapping_reset,
++ &cmd_ptype_mapping_update,
+
+- (cmdline_parse_inst_t *)&cmd_pctype_mapping_get,
+- (cmdline_parse_inst_t *)&cmd_pctype_mapping_reset,
+- (cmdline_parse_inst_t *)&cmd_pctype_mapping_update,
+- (cmdline_parse_inst_t *)&cmd_queue_region,
+- (cmdline_parse_inst_t *)&cmd_region_flowtype,
+- (cmdline_parse_inst_t *)&cmd_user_priority_region,
+- (cmdline_parse_inst_t *)&cmd_flush_queue_region,
+- (cmdline_parse_inst_t *)&cmd_show_queue_region_info_all,
+- (cmdline_parse_inst_t *)&cmd_show_port_tm_cap,
+- (cmdline_parse_inst_t *)&cmd_show_port_tm_level_cap,
+- (cmdline_parse_inst_t *)&cmd_show_port_tm_node_cap,
+- (cmdline_parse_inst_t *)&cmd_show_port_tm_node_type,
+- (cmdline_parse_inst_t *)&cmd_show_port_tm_node_stats,
+- (cmdline_parse_inst_t *)&cmd_add_port_tm_node_shaper_profile,
+- (cmdline_parse_inst_t *)&cmd_del_port_tm_node_shaper_profile,
+- (cmdline_parse_inst_t *)&cmd_add_port_tm_node_shared_shaper,
+- (cmdline_parse_inst_t *)&cmd_del_port_tm_node_shared_shaper,
+- (cmdline_parse_inst_t *)&cmd_add_port_tm_node_wred_profile,
+- (cmdline_parse_inst_t *)&cmd_del_port_tm_node_wred_profile,
+- (cmdline_parse_inst_t *)&cmd_set_port_tm_node_shaper_profile,
+- (cmdline_parse_inst_t *)&cmd_add_port_tm_nonleaf_node,
+- (cmdline_parse_inst_t *)&cmd_add_port_tm_nonleaf_node_pmode,
+- (cmdline_parse_inst_t *)&cmd_add_port_tm_leaf_node,
+- (cmdline_parse_inst_t *)&cmd_del_port_tm_node,
+- (cmdline_parse_inst_t *)&cmd_set_port_tm_node_parent,
+- (cmdline_parse_inst_t *)&cmd_suspend_port_tm_node,
+- (cmdline_parse_inst_t *)&cmd_resume_port_tm_node,
+- (cmdline_parse_inst_t *)&cmd_port_tm_hierarchy_commit,
+- (cmdline_parse_inst_t *)&cmd_port_tm_mark_ip_ecn,
+- (cmdline_parse_inst_t *)&cmd_port_tm_mark_ip_dscp,
+- (cmdline_parse_inst_t *)&cmd_port_tm_mark_vlan_dei,
+- (cmdline_parse_inst_t *)&cmd_cfg_tunnel_udp_port,
+- (cmdline_parse_inst_t *)&cmd_rx_offload_get_capa,
+- (cmdline_parse_inst_t *)&cmd_rx_offload_get_configuration,
+- (cmdline_parse_inst_t *)&cmd_config_per_port_rx_offload,
+- (cmdline_parse_inst_t *)&cmd_config_per_queue_rx_offload,
+- (cmdline_parse_inst_t *)&cmd_tx_offload_get_capa,
+- (cmdline_parse_inst_t *)&cmd_tx_offload_get_configuration,
+- (cmdline_parse_inst_t *)&cmd_config_per_port_tx_offload,
+- (cmdline_parse_inst_t *)&cmd_config_per_queue_tx_offload,
++ &cmd_pctype_mapping_get,
++ &cmd_pctype_mapping_reset,
++ &cmd_pctype_mapping_update,
++ &cmd_queue_region,
++ &cmd_region_flowtype,
++ &cmd_user_priority_region,
++ &cmd_flush_queue_region,
++ &cmd_show_queue_region_info_all,
@@ -440 +543,0 @@
-+ &cmd_config_all_port_rx_offload,
@@ -445 +547,0 @@
-+ &cmd_config_all_port_tx_offload,
@@ -456 +558 @@
-- (cmdline_parse_inst_t *)&cmd_show_rx_tx_queue_desc_used_count,
+- (cmdline_parse_inst_t *)&cmd_show_rx_queue_desc_used_count,
@@ -463 +564,0 @@
-- (cmdline_parse_inst_t *)&cmd_set_rxq_avail_thresh,
@@ -467,4 +567,0 @@
-- (cmdline_parse_inst_t *)&cmd_show_port_cman_capa,
-- (cmdline_parse_inst_t *)&cmd_show_port_cman_config,
-- (cmdline_parse_inst_t *)&cmd_set_port_cman_config,
-- (cmdline_parse_inst_t *)&cmd_config_tx_affinity_map,
@@ -474 +571 @@
-+ &cmd_show_rx_tx_queue_desc_used_count,
++ &cmd_show_rx_queue_desc_used_count,
@@ -481 +577,0 @@
-+ &cmd_set_rxq_avail_thresh,
@@ -485,4 +580,0 @@
-+ &cmd_show_port_cman_capa,
-+ &cmd_show_port_cman_config,
-+ &cmd_set_port_cman_config,
-+ &cmd_config_tx_affinity_map,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/pcap: set live interface as non-blocking' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (41 preceding siblings ...)
2024-11-27 17:17 ` patch 'app/testpmd: remove unnecessary cast' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/ena: revert redefining memcpy' " Kevin Traynor
` (77 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Ofer Dagan, Ferruh Yigit, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/e0e6edfb2e139ca981527837a218d2c7a3968751
Thanks.
Kevin
---
From e0e6edfb2e139ca981527837a218d2c7a3968751 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Sat, 24 Aug 2024 11:07:10 -0700
Subject: [PATCH] net/pcap: set live interface as non-blocking
[ upstream commit 60dd5a70035f447104d457aa338557fb58d5cb06 ]
The DPDK PMD's are supposed to be non-blocking and poll for packets.
Configure PCAP to do this on live interface.
Bugzilla ID: 1526
Fixes: 4c173302c307 ("pcap: add new driver")
Reported-by: Ofer Dagan <ofer.d@claroty.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
---
drivers/net/pcap/pcap_ethdev.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/net/pcap/pcap_ethdev.c b/drivers/net/pcap/pcap_ethdev.c
index ec29fd6bc5..4d79565460 100644
--- a/drivers/net/pcap/pcap_ethdev.c
+++ b/drivers/net/pcap/pcap_ethdev.c
@@ -522,4 +522,10 @@ open_iface_live(const char *iface, pcap_t **pcap) {
}
+ if (pcap_setnonblock(*pcap, 1, errbuf)) {
+ PMD_LOG(ERR, "Couldn't set non-blocking on %s: %s", iface, errbuf);
+ pcap_close(*pcap);
+ return -1;
+ }
+
return 0;
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.674011234 +0000
+++ 0044-net-pcap-set-live-interface-as-non-blocking.patch 2024-11-27 17:17:38.218269337 +0000
@@ -1 +1 @@
-From 60dd5a70035f447104d457aa338557fb58d5cb06 Mon Sep 17 00:00:00 2001
+From e0e6edfb2e139ca981527837a218d2c7a3968751 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 60dd5a70035f447104d457aa338557fb58d5cb06 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 9626c343dc..1fb98e3d2b 100644
+index ec29fd6bc5..4d79565460 100644
@@ -24 +25 @@
-@@ -523,4 +523,10 @@ open_iface_live(const char *iface, pcap_t **pcap) {
+@@ -522,4 +522,10 @@ open_iface_live(const char *iface, pcap_t **pcap) {
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/ena: revert redefining memcpy' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (42 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/pcap: set live interface as non-blocking' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/hns3: remove some basic address dump' " Kevin Traynor
` (76 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Stephen Hemminger
Cc: Wathsala Vithanage, Morten Brørup, Tyler Retzlaff,
Shai Brandes, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/98dee27f649801afedf0c4a695093a9adc26c55a
Thanks.
Kevin
---
From 98dee27f649801afedf0c4a695093a9adc26c55a Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Mon, 12 Aug 2024 08:34:17 -0700
Subject: [PATCH] net/ena: revert redefining memcpy
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit 966764d003554b38e892cf18df9e9af44483036d ]
Redefining memcpy as rte_memcpy has no performance gain on
current compilers, and introduced bugs like this one where
rte_memcpy() will be detected as referencing past the destination.
Bugzilla ID: 1510
Fixes: 142778b3702a ("net/ena: switch memcpy to optimized version")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
Acked-by: Shai Brandes <shaibran@amazon.com>
---
drivers/net/ena/base/ena_plat_dpdk.h | 6 ------
1 file changed, 6 deletions(-)
diff --git a/drivers/net/ena/base/ena_plat_dpdk.h b/drivers/net/ena/base/ena_plat_dpdk.h
index 4e7f52881a..47b137a401 100644
--- a/drivers/net/ena/base/ena_plat_dpdk.h
+++ b/drivers/net/ena/base/ena_plat_dpdk.h
@@ -26,5 +26,4 @@
#include <sys/time.h>
-#include <rte_memcpy.h>
typedef uint64_t u64;
@@ -67,9 +66,4 @@ typedef uint64_t dma_addr_t;
#define ENA_TOUCH(x) ((void)(x))
-/* Avoid nested declaration on arm64, as it may define rte_memcpy as memcpy. */
-#if defined(RTE_ARCH_X86)
-#undef memcpy
-#define memcpy rte_memcpy
-#endif
#define wmb rte_wmb
#define rmb rte_rmb
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.703186636 +0000
+++ 0045-net-ena-revert-redefining-memcpy.patch 2024-11-27 17:17:38.218269337 +0000
@@ -1 +1 @@
-From 966764d003554b38e892cf18df9e9af44483036d Mon Sep 17 00:00:00 2001
+From 98dee27f649801afedf0c4a695093a9adc26c55a Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 966764d003554b38e892cf18df9e9af44483036d ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -23,2 +24,2 @@
- drivers/net/ena/base/ena_plat_dpdk.h | 9 +--------
- 1 file changed, 1 insertion(+), 8 deletions(-)
+ drivers/net/ena/base/ena_plat_dpdk.h | 6 ------
+ 1 file changed, 6 deletions(-)
@@ -27 +28 @@
-index a41a4e4506..1121460470 100644
+index 4e7f52881a..47b137a401 100644
@@ -30 +31 @@
-@@ -27,5 +27,4 @@
+@@ -26,5 +26,4 @@
@@ -36 +37 @@
-@@ -69,11 +68,5 @@ typedef uint64_t dma_addr_t;
+@@ -67,9 +66,4 @@ typedef uint64_t dma_addr_t;
@@ -39,4 +40,2 @@
--/* Redefine memcpy with caution: rte_memcpy can be simply aliased to memcpy, so
-- * make the redefinition only if it's safe (and beneficial) to do so.
-- */
--#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64_MEMCPY) || defined(RTE_ARCH_ARM_NEON_MEMCPY)
+-/* Avoid nested declaration on arm64, as it may define rte_memcpy as memcpy. */
+-#if defined(RTE_ARCH_X86)
@@ -46 +44,0 @@
-+
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/hns3: remove some basic address dump' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (43 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/ena: revert redefining memcpy' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/hns3: fix dump counter of registers' " Kevin Traynor
` (75 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Jie Hai; +Cc: Huisong Li, Chengwen Feng, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/c7bb98a03f15636e5d67fbe1e8266037f48efbba
Thanks.
Kevin
---
From c7bb98a03f15636e5d67fbe1e8266037f48efbba Mon Sep 17 00:00:00 2001
From: Jie Hai <haijie1@huawei.com>
Date: Thu, 26 Sep 2024 20:42:44 +0800
Subject: [PATCH] net/hns3: remove some basic address dump
[ upstream commit c8b7bec0ef23f53303c9cf03cfea44f1eb208738 ]
For security reasons, some address registers are not suitable
to be exposed, remove them.
Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Huisong Li <lihuisong@huawei.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
---
drivers/net/hns3/hns3_regs.c | 12 ++----------
1 file changed, 2 insertions(+), 10 deletions(-)
diff --git a/drivers/net/hns3/hns3_regs.c b/drivers/net/hns3/hns3_regs.c
index 95b93af733..994a675196 100644
--- a/drivers/net/hns3/hns3_regs.c
+++ b/drivers/net/hns3/hns3_regs.c
@@ -18,11 +18,7 @@
static int hns3_get_dfx_reg_line(struct hns3_hw *hw, uint32_t *length);
-static const uint32_t cmdq_reg_addrs[] = {HNS3_CMDQ_TX_ADDR_L_REG,
- HNS3_CMDQ_TX_ADDR_H_REG,
- HNS3_CMDQ_TX_DEPTH_REG,
+static const uint32_t cmdq_reg_addrs[] = {HNS3_CMDQ_TX_DEPTH_REG,
HNS3_CMDQ_TX_TAIL_REG,
HNS3_CMDQ_TX_HEAD_REG,
- HNS3_CMDQ_RX_ADDR_L_REG,
- HNS3_CMDQ_RX_ADDR_H_REG,
HNS3_CMDQ_RX_DEPTH_REG,
HNS3_CMDQ_RX_TAIL_REG,
@@ -45,7 +41,5 @@ static const uint32_t common_vf_reg_addrs[] = {HNS3_MISC_VECTOR_REG_BASE,
HNS3_GRO_EN_REG};
-static const uint32_t ring_reg_addrs[] = {HNS3_RING_RX_BASEADDR_L_REG,
- HNS3_RING_RX_BASEADDR_H_REG,
- HNS3_RING_RX_BD_NUM_REG,
+static const uint32_t ring_reg_addrs[] = {HNS3_RING_RX_BD_NUM_REG,
HNS3_RING_RX_BD_LEN_REG,
HNS3_RING_RX_EN_REG,
@@ -58,6 +52,4 @@ static const uint32_t ring_reg_addrs[] = {HNS3_RING_RX_BASEADDR_L_REG,
HNS3_RING_RX_STASH_REG,
HNS3_RING_RX_BD_ERR_REG,
- HNS3_RING_TX_BASEADDR_L_REG,
- HNS3_RING_TX_BASEADDR_H_REG,
HNS3_RING_TX_BD_NUM_REG,
HNS3_RING_TX_EN_REG,
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.731318642 +0000
+++ 0046-net-hns3-remove-some-basic-address-dump.patch 2024-11-27 17:17:38.219269342 +0000
@@ -1 +1 @@
-From c8b7bec0ef23f53303c9cf03cfea44f1eb208738 Mon Sep 17 00:00:00 2001
+From c7bb98a03f15636e5d67fbe1e8266037f48efbba Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c8b7bec0ef23f53303c9cf03cfea44f1eb208738 ]
+
@@ -9,2 +10,0 @@
-Cc: stable@dpdk.org
-
@@ -19 +19 @@
-index 955bc7e3af..8793f61153 100644
+index 95b93af733..994a675196 100644
@@ -23 +23 @@
- static int hns3_get_dfx_reg_line(struct hns3_hw *hw, uint32_t *lines);
+ static int hns3_get_dfx_reg_line(struct hns3_hw *hw, uint32_t *length);
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/hns3: fix dump counter of registers' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (44 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/hns3: remove some basic address dump' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'ethdev: fix overflow in descriptor count' " Kevin Traynor
` (74 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Jie Hai; +Cc: Huisong Li, Chengwen Feng, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/1854720f63a7c2868dfe367c57d8916082a33579
Thanks.
Kevin
---
From 1854720f63a7c2868dfe367c57d8916082a33579 Mon Sep 17 00:00:00 2001
From: Jie Hai <haijie1@huawei.com>
Date: Thu, 26 Sep 2024 20:42:45 +0800
Subject: [PATCH] net/hns3: fix dump counter of registers
[ upstream commit e9b82b4d54c019973ffcb5f404ba920494f70513 ]
Since the driver dumps the queue interrupt registers according
to the intr_tqps_num, the counter should be the same.
Fixes: acb3260fac5c ("net/hns3: fix dump register out of range")
Fixes: 936eda25e8da ("net/hns3: support dump register")
Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Huisong Li <lihuisong@huawei.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
---
drivers/net/hns3/hns3_regs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/hns3/hns3_regs.c b/drivers/net/hns3/hns3_regs.c
index 994a675196..dd4d98bfb5 100644
--- a/drivers/net/hns3/hns3_regs.c
+++ b/drivers/net/hns3/hns3_regs.c
@@ -128,5 +128,5 @@ hns3_get_regs_length(struct hns3_hw *hw, uint32_t *length)
len = (cmdq_lines + common_lines + ring_lines * hw->tqps_num +
- tqp_intr_lines * hw->num_msi) * REG_NUM_PER_LINE;
+ tqp_intr_lines * hw->intr_tqps_num) * REG_NUM_PER_LINE;
if (!hns->is_vf) {
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.759418183 +0000
+++ 0047-net-hns3-fix-dump-counter-of-registers.patch 2024-11-27 17:17:38.219269342 +0000
@@ -1 +1 @@
-From e9b82b4d54c019973ffcb5f404ba920494f70513 Mon Sep 17 00:00:00 2001
+From 1854720f63a7c2868dfe367c57d8916082a33579 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e9b82b4d54c019973ffcb5f404ba920494f70513 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 8793f61153..8c0c0a3027 100644
+index 994a675196..dd4d98bfb5 100644
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'ethdev: fix overflow in descriptor count' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (45 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/hns3: fix dump counter of registers' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'bus/dpaa: fix PFDRs leaks due to FQRNIs' " Kevin Traynor
` (73 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Niall Meade; +Cc: Ferruh Yigit, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/9064f0c3785e1915461a732e9b3c907939ba6254
Thanks.
Kevin
---
From 9064f0c3785e1915461a732e9b3c907939ba6254 Mon Sep 17 00:00:00 2001
From: Niall Meade <niall.meade@intel.com>
Date: Mon, 30 Sep 2024 13:40:02 +0000
Subject: [PATCH] ethdev: fix overflow in descriptor count
[ upstream commit 30efe60d3a37896567b660229ef6a04c5526f6db ]
Addressed a specific overflow issue in the eth_dev_adjust_nb_desc()
function where the uint16_t variable nb_desc would overflow when its
value was greater than (2^16 - nb_align). This overflow caused nb_desc
to incorrectly wrap around between 0 and nb_align-1, leading to the
function setting nb_desc to nb_min instead of the expected nb_max.
To give an example, let nb_desc=UINT16_MAX, nb_align=32, nb_max=4096 and
nb_min=64. RTE_ALIGN_CEIL(nb_desc, nb_align) calls
RTE_ALIGN_FLOOR(nb_desc + nb_align - 1, nb_align). This results in an
overflow of nb_desc, leading to nb_desc being set to 30 and then 0 when
the macros return. As a result of this, nb_desc is then set to nb_min
later on.
The resolution involves upcasting nb_desc to a uint32_t before the
RTE_ALIGN_CEIL macro is applied. This change ensures that the subsequent
call to RTE_ALIGN_FLOOR(nb_desc + (nb_align - 1), nb_align) does not
result in an overflow, as it would when nb_desc is a uint16_t. By using
a uint32_t for these operations, the correct behavior is maintained
without the risk of overflow.
Fixes: 0f67fc3baeb9 ("ethdev: add function to adjust number of descriptors")
Signed-off-by: Niall Meade <niall.meade@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
---
.mailmap | 1 +
lib/ethdev/rte_ethdev.c | 12 +++++++++---
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/.mailmap b/.mailmap
index 5d6a7701d7..296e6528b6 100644
--- a/.mailmap
+++ b/.mailmap
@@ -989,4 +989,5 @@ Nemanja Marjanovic <nemanja.marjanovic@intel.com>
Netanel Belgazal <netanel@amazon.com>
Netanel Gonen <netanelg@mellanox.com>
+Niall Meade <niall.meade@intel.com>
Niall Power <niall.power@intel.com>
Nick Connolly <nick.connolly@arm.com> <nick.connolly@mayadata.io>
diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c
index b246f7836a..1b2e1750c9 100644
--- a/lib/ethdev/rte_ethdev.c
+++ b/lib/ethdev/rte_ethdev.c
@@ -5858,11 +5858,17 @@ eth_dev_adjust_nb_desc(uint16_t *nb_desc,
const struct rte_eth_desc_lim *desc_lim)
{
+ /* Upcast to uint32 to avoid potential overflow with RTE_ALIGN_CEIL(). */
+ uint32_t nb_desc_32 = (uint32_t)*nb_desc;
+
if (desc_lim->nb_align != 0)
- *nb_desc = RTE_ALIGN_CEIL(*nb_desc, desc_lim->nb_align);
+ nb_desc_32 = RTE_ALIGN_CEIL(nb_desc_32, desc_lim->nb_align);
if (desc_lim->nb_max != 0)
- *nb_desc = RTE_MIN(*nb_desc, desc_lim->nb_max);
+ nb_desc_32 = RTE_MIN(nb_desc_32, desc_lim->nb_max);
- *nb_desc = RTE_MAX(*nb_desc, desc_lim->nb_min);
+ nb_desc_32 = RTE_MAX(nb_desc_32, desc_lim->nb_min);
+
+ /* Assign clipped u32 back to u16. */
+ *nb_desc = (uint16_t)nb_desc_32;
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.788159964 +0000
+++ 0048-ethdev-fix-overflow-in-descriptor-count.patch 2024-11-27 17:17:38.222269357 +0000
@@ -1 +1 @@
-From 30efe60d3a37896567b660229ef6a04c5526f6db Mon Sep 17 00:00:00 2001
+From 9064f0c3785e1915461a732e9b3c907939ba6254 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 30efe60d3a37896567b660229ef6a04c5526f6db ]
+
@@ -27 +28,0 @@
-Cc: stable@dpdk.org
@@ -37 +38 @@
-index d49838320e..6e72362ebc 100644
+index 5d6a7701d7..296e6528b6 100644
@@ -40 +41 @@
-@@ -1071,4 +1071,5 @@ Nemanja Marjanovic <nemanja.marjanovic@intel.com>
+@@ -989,4 +989,5 @@ Nemanja Marjanovic <nemanja.marjanovic@intel.com>
@@ -45 +46 @@
- Nicholas Pratte <npratte@iol.unh.edu>
+ Nick Connolly <nick.connolly@arm.com> <nick.connolly@mayadata.io>
@@ -47 +48 @@
-index a1f7efa913..84ee7588fc 100644
+index b246f7836a..1b2e1750c9 100644
@@ -50 +51 @@
-@@ -6668,11 +6668,17 @@ eth_dev_adjust_nb_desc(uint16_t *nb_desc,
+@@ -5858,11 +5858,17 @@ eth_dev_adjust_nb_desc(uint16_t *nb_desc,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'bus/dpaa: fix PFDRs leaks due to FQRNIs' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (46 preceding siblings ...)
2024-11-27 17:17 ` patch 'ethdev: fix overflow in descriptor count' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'net/dpaa: fix typecasting channel ID' " Kevin Traynor
` (72 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Gagandeep Singh; +Cc: Hemant Agrawal, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/b3787113fa8815a9c46c24ee7c5589e3031fc008
Thanks.
Kevin
---
From b3787113fa8815a9c46c24ee7c5589e3031fc008 Mon Sep 17 00:00:00 2001
From: Gagandeep Singh <g.singh@nxp.com>
Date: Tue, 1 Oct 2024 16:33:08 +0530
Subject: [PATCH] bus/dpaa: fix PFDRs leaks due to FQRNIs
[ upstream commit b292acc3c4a8fd5104cfdfa5c6d3d0df95b6543b ]
When a Retire FQ command is executed on a FQ in the
Tentatively Scheduled or Parked states, in that case FQ
is retired immediately and a FQRNI (Frame Queue Retirement
Notification Immediate) message is generated. Software
must read this message from MR and consume it to free
the memory used by it.
Although it is not mentioned about which memory to be used
by FQRNIs in the RM but through experiments it is proven
that it can use PFDRs. So if these messages are allowed to
build up indefinitely then PFDR resources can become exhausted
and cause enqueues to stall. Therefore software must consume
these MR messages on a regular basis to avoid depleting
the available PFDR resources.
This is the PFDRs leak issue which user can experience while
using the DPDK crypto driver and creating and destroying the
sessions multiple times. On a session destroy, DPDK calls the
qman_retire_fq() for each FQ used by the session, but it does
not handle the FQRNIs generated and allowed them to build up
indefinitely in MR.
This patch fixes this issue by consuming the FQRNIs received
from MR immediately after FQ retire by calling drain_mr_fqrni().
Please note that this drain_mr_fqrni() only look for
FQRNI type messages to consume. If there are other type of messages
like FQRN, FQRL, FQPN, ERN etc. also coming on MR then those
messages need to be handled separately.
Fixes: c47ff048b99a ("bus/dpaa: add QMAN driver core routines")
Signed-off-by: Gagandeep Singh <g.singh@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/bus/dpaa/base/qbman/qman.c | 46 ++++++++++++++++--------------
1 file changed, 25 insertions(+), 21 deletions(-)
diff --git a/drivers/bus/dpaa/base/qbman/qman.c b/drivers/bus/dpaa/base/qbman/qman.c
index aa8da96627..c5e66d4325 100644
--- a/drivers/bus/dpaa/base/qbman/qman.c
+++ b/drivers/bus/dpaa/base/qbman/qman.c
@@ -295,8 +295,30 @@ static inline void qman_stop_dequeues_ex(struct qman_portal *p)
}
+static inline void qm_mr_pvb_update(struct qm_portal *portal)
+{
+ register struct qm_mr *mr = &portal->mr;
+ const struct qm_mr_entry *res = qm_cl(mr->ring, mr->pi);
+
+#ifdef RTE_LIBRTE_DPAA_HWDEBUG
+ DPAA_ASSERT(mr->pmode == qm_mr_pvb);
+#endif
+ /* when accessing 'verb', use __raw_readb() to ensure that compiler
+ * inlining doesn't try to optimise out "excess reads".
+ */
+ if ((__raw_readb(&res->ern.verb) & QM_MR_VERB_VBIT) == mr->vbit) {
+ mr->pi = (mr->pi + 1) & (QM_MR_SIZE - 1);
+ if (!mr->pi)
+ mr->vbit ^= QM_MR_VERB_VBIT;
+ mr->fill++;
+ res = MR_INC(res);
+ }
+ dcbit_ro(res);
+}
+
static int drain_mr_fqrni(struct qm_portal *p)
{
const struct qm_mr_entry *msg;
loop:
+ qm_mr_pvb_update(p);
msg = qm_mr_current(p);
if (!msg) {
@@ -320,4 +342,5 @@ loop:
now = mfatb();
} while ((then + 10000) > now);
+ qm_mr_pvb_update(p);
msg = qm_mr_current(p);
if (!msg)
@@ -482,25 +505,4 @@ static inline int qm_mr_init(struct qm_portal *portal,
}
-static inline void qm_mr_pvb_update(struct qm_portal *portal)
-{
- register struct qm_mr *mr = &portal->mr;
- const struct qm_mr_entry *res = qm_cl(mr->ring, mr->pi);
-
-#ifdef RTE_LIBRTE_DPAA_HWDEBUG
- DPAA_ASSERT(mr->pmode == qm_mr_pvb);
-#endif
- /* when accessing 'verb', use __raw_readb() to ensure that compiler
- * inlining doesn't try to optimise out "excess reads".
- */
- if ((__raw_readb(&res->ern.verb) & QM_MR_VERB_VBIT) == mr->vbit) {
- mr->pi = (mr->pi + 1) & (QM_MR_SIZE - 1);
- if (!mr->pi)
- mr->vbit ^= QM_MR_VERB_VBIT;
- mr->fill++;
- res = MR_INC(res);
- }
- dcbit_ro(res);
-}
-
struct qman_portal *
qman_init_portal(struct qman_portal *portal,
@@ -1826,4 +1828,6 @@ int qman_retire_fq(struct qman_fq *fq, u32 *flags)
out:
FQUNLOCK(fq);
+ /* Draining FQRNIs, if any */
+ drain_mr_fqrni(&p->p);
return rval;
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.821021435 +0000
+++ 0049-bus-dpaa-fix-PFDRs-leaks-due-to-FQRNIs.patch 2024-11-27 17:17:38.223269363 +0000
@@ -1 +1 @@
-From b292acc3c4a8fd5104cfdfa5c6d3d0df95b6543b Mon Sep 17 00:00:00 2001
+From b3787113fa8815a9c46c24ee7c5589e3031fc008 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b292acc3c4a8fd5104cfdfa5c6d3d0df95b6543b ]
+
@@ -37 +38,0 @@
-Cc: stable@dpdk.org
@@ -46 +47 @@
-index 301057723e..9c90ee25a6 100644
+index aa8da96627..c5e66d4325 100644
@@ -49 +50 @@
-@@ -293,8 +293,30 @@ static inline void qman_stop_dequeues_ex(struct qman_portal *p)
+@@ -295,8 +295,30 @@ static inline void qman_stop_dequeues_ex(struct qman_portal *p)
@@ -80 +81 @@
-@@ -318,4 +340,5 @@ loop:
+@@ -320,4 +342,5 @@ loop:
@@ -86 +87 @@
-@@ -480,25 +503,4 @@ static inline int qm_mr_init(struct qm_portal *portal,
+@@ -482,25 +505,4 @@ static inline int qm_mr_init(struct qm_portal *portal,
@@ -112 +113 @@
-@@ -1795,4 +1797,6 @@ int qman_retire_fq(struct qman_fq *fq, u32 *flags)
+@@ -1826,4 +1828,6 @@ int qman_retire_fq(struct qman_fq *fq, u32 *flags)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/dpaa: fix typecasting channel ID' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (47 preceding siblings ...)
2024-11-27 17:17 ` patch 'bus/dpaa: fix PFDRs leaks due to FQRNIs' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'bus/dpaa: fix VSP for 1G fm1-mac9 and 10' " Kevin Traynor
` (71 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Rohit Raj; +Cc: Hemant Agrawal, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/32c48497454620f5cb1367b6507cfbf604a10c9b
Thanks.
Kevin
---
From 32c48497454620f5cb1367b6507cfbf604a10c9b Mon Sep 17 00:00:00 2001
From: Rohit Raj <rohit.raj@nxp.com>
Date: Tue, 1 Oct 2024 16:33:09 +0530
Subject: [PATCH] net/dpaa: fix typecasting channel ID
[ upstream commit 5edc61ee9a2c1e1d9c8b75faac4b61de7111c34e ]
Avoid typecasting ch_id to u32 and passing it to another API since it
can corrupt other data. Instead, create new u32 variable and typecast
it back to u16 after it gets updated by the API.
Fixes: 0c504f6950b6 ("net/dpaa: support push mode")
Signed-off-by: Rohit Raj <rohit.raj@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/net/dpaa/dpaa_ethdev.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index 3bf356fa2c..f6f7996425 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -932,5 +932,5 @@ int dpaa_eth_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
struct qman_fq *rxq = &dpaa_intf->rx_queues[queue_idx];
struct qm_mcc_initfq opts = {0};
- u32 flags = 0;
+ u32 ch_id, flags = 0;
int ret;
u32 buffsz = rte_pktmbuf_data_room_size(mp) - RTE_PKTMBUF_HEADROOM;
@@ -1056,5 +1056,7 @@ int dpaa_eth_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
/*Create a channel and associate given queue with the channel*/
- qman_alloc_pool_range((u32 *)&rxq->ch_id, 1, 1, 0);
+ qman_alloc_pool_range(&ch_id, 1, 1, 0);
+ rxq->ch_id = (u16)ch_id;
+
opts.we_mask = opts.we_mask | QM_INITFQ_WE_DESTWQ;
opts.fqd.dest.channel = rxq->ch_id;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.850583085 +0000
+++ 0050-net-dpaa-fix-typecasting-channel-ID.patch 2024-11-27 17:17:38.225269373 +0000
@@ -1 +1 @@
-From 5edc61ee9a2c1e1d9c8b75faac4b61de7111c34e Mon Sep 17 00:00:00 2001
+From 32c48497454620f5cb1367b6507cfbf604a10c9b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 5edc61ee9a2c1e1d9c8b75faac4b61de7111c34e ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 51f5422e0c..afeca4307e 100644
+index 3bf356fa2c..f6f7996425 100644
@@ -23 +24 @@
-@@ -973,5 +973,5 @@ int dpaa_eth_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
+@@ -932,5 +932,5 @@ int dpaa_eth_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
@@ -30 +31 @@
-@@ -1097,5 +1097,7 @@ int dpaa_eth_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
+@@ -1056,5 +1056,7 @@ int dpaa_eth_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'bus/dpaa: fix VSP for 1G fm1-mac9 and 10' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (48 preceding siblings ...)
2024-11-27 17:17 ` patch 'net/dpaa: fix typecasting channel ID' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:17 ` patch 'bus/dpaa: fix the fman details status' " Kevin Traynor
` (70 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Hemant Agrawal; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/f6dbc295bc9f56a59616841d3e99dcfd0163c409
Thanks.
Kevin
---
From f6dbc295bc9f56a59616841d3e99dcfd0163c409 Mon Sep 17 00:00:00 2001
From: Hemant Agrawal <hemant.agrawal@nxp.com>
Date: Tue, 1 Oct 2024 16:33:10 +0530
Subject: [PATCH] bus/dpaa: fix VSP for 1G fm1-mac9 and 10
[ upstream commit 25434831ca958583fb79e1e8b06e83274c68fc93 ]
No need to classify interface separately for 1G and 10G
Note that VSP or Virtual storage profile are DPAA equivalent for SRIOV
config to logically divide a physical ports in virtual ports.
Fixes: e0718bb2ca95 ("bus/dpaa: add virtual storage profile port init")
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/bus/dpaa/base/fman/fman.c | 29 +++++++++++++++++++++++++++--
1 file changed, 27 insertions(+), 2 deletions(-)
diff --git a/drivers/bus/dpaa/base/fman/fman.c b/drivers/bus/dpaa/base/fman/fman.c
index 1814372a40..8263d42bed 100644
--- a/drivers/bus/dpaa/base/fman/fman.c
+++ b/drivers/bus/dpaa/base/fman/fman.c
@@ -154,5 +154,5 @@ static void fman_if_vsp_init(struct __fman_if *__if)
const uint8_t mac_idx[] = {-1, 0, 1, 2, 3, 4, 5, 6, 7, 0, 1};
- if (__if->__if.mac_type == fman_mac_1g) {
+ if (__if->__if.mac_idx <= 8) {
for_each_compatible_node(dev, NULL,
"fsl,fman-port-1g-rx-extended-args") {
@@ -177,5 +177,30 @@ static void fman_if_vsp_init(struct __fman_if *__if)
}
}
- } else if (__if->__if.mac_type == fman_mac_10g) {
+
+ for_each_compatible_node(dev, NULL,
+ "fsl,fman-port-op-extended-args") {
+ prop = of_get_property(dev, "cell-index", &lenp);
+
+ if (prop) {
+ cell_index = of_read_number(&prop[0],
+ lenp / sizeof(phandle));
+
+ if (cell_index == __if->__if.mac_idx) {
+ prop = of_get_property(dev,
+ "vsp-window",
+ &lenp);
+
+ if (prop) {
+ __if->__if.num_profiles =
+ of_read_number(&prop[0],
+ 1);
+ __if->__if.base_profile_id =
+ of_read_number(&prop[1],
+ 1);
+ }
+ }
+ }
+ }
+ } else {
for_each_compatible_node(dev, NULL,
"fsl,fman-port-10g-rx-extended-args") {
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.880087901 +0000
+++ 0051-bus-dpaa-fix-VSP-for-1G-fm1-mac9-and-10.patch 2024-11-27 17:17:38.225269373 +0000
@@ -1 +1 @@
-From 25434831ca958583fb79e1e8b06e83274c68fc93 Mon Sep 17 00:00:00 2001
+From f6dbc295bc9f56a59616841d3e99dcfd0163c409 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 25434831ca958583fb79e1e8b06e83274c68fc93 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 41195eb0a7..beeb03dbf2 100644
+index 1814372a40..8263d42bed 100644
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'bus/dpaa: fix the fman details status' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (49 preceding siblings ...)
2024-11-27 17:17 ` patch 'bus/dpaa: fix VSP for 1G fm1-mac9 and 10' " Kevin Traynor
@ 2024-11-27 17:17 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/dpaa: fix reallocate mbuf handling' " Kevin Traynor
` (69 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:17 UTC (permalink / raw)
To: Hemant Agrawal; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/e1428e750e8cdc9401ce4c2cdac5c9e52d73ee9b
Thanks.
Kevin
---
From e1428e750e8cdc9401ce4c2cdac5c9e52d73ee9b Mon Sep 17 00:00:00 2001
From: Hemant Agrawal <hemant.agrawal@nxp.com>
Date: Tue, 1 Oct 2024 16:33:11 +0530
Subject: [PATCH] bus/dpaa: fix the fman details status
[ upstream commit a87a1d0f4e7667fa3d6b818f30aa5c062e567597 ]
Fix the incorrect placing of brackets to calculate stats.
This corrects the "(a | b) << 32" to "a | (b << 32)"
Fixes: e62a3f4183f1 ("bus/dpaa: fix statistics reading")
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/bus/dpaa/base/fman/fman_hw.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/bus/dpaa/base/fman/fman_hw.c b/drivers/bus/dpaa/base/fman/fman_hw.c
index af9bac76c2..1559d3c4a2 100644
--- a/drivers/bus/dpaa/base/fman/fman_hw.c
+++ b/drivers/bus/dpaa/base/fman/fman_hw.c
@@ -244,8 +244,9 @@ fman_if_stats_get_all(struct fman_if *p, uint64_t *value, int n)
uint64_t base_offset = offsetof(struct memac_regs, reoct_l);
- for (i = 0; i < n; i++)
- value[i] = (((u64)in_be32((char *)regs + base_offset + 8 * i) |
- (u64)in_be32((char *)regs + base_offset +
- 8 * i + 4)) << 32);
+ for (i = 0; i < n; i++) {
+ uint64_t a = in_be32((char *)regs + base_offset + 8 * i);
+ uint64_t b = in_be32((char *)regs + base_offset + 8 * i + 4);
+ value[i] = a | b << 32;
+ }
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.909127518 +0000
+++ 0052-bus-dpaa-fix-the-fman-details-status.patch 2024-11-27 17:17:38.226269378 +0000
@@ -1 +1 @@
-From a87a1d0f4e7667fa3d6b818f30aa5c062e567597 Mon Sep 17 00:00:00 2001
+From e1428e750e8cdc9401ce4c2cdac5c9e52d73ee9b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a87a1d0f4e7667fa3d6b818f30aa5c062e567597 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 24a99f7235..97e792806f 100644
+index af9bac76c2..1559d3c4a2 100644
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/dpaa: fix reallocate mbuf handling' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (50 preceding siblings ...)
2024-11-27 17:17 ` patch 'bus/dpaa: fix the fman details status' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/memif: fix buffer overflow in zero copy Rx' " Kevin Traynor
` (68 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Vanshika Shukla; +Cc: Hemant Agrawal, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/52daecc142f39198eb4c57402e29ee1e566f4529
Thanks.
Kevin
---
From 52daecc142f39198eb4c57402e29ee1e566f4529 Mon Sep 17 00:00:00 2001
From: Vanshika Shukla <vanshika.shukla@nxp.com>
Date: Tue, 1 Oct 2024 16:33:25 +0530
Subject: [PATCH] net/dpaa: fix reallocate mbuf handling
[ upstream commit 7594cafa92189fd5bad87a5caa6b7a92bbab0979 ]
This patch fixes the bug in the reallocate_mbuf code
handling. The source location is corrected when copying
the data in the new mbuf.
Fixes: f8c7a17a48c9 ("net/dpaa: support Tx scatter gather for non-DPAA buffer")
Signed-off-by: Vanshika Shukla <vanshika.shukla@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/net/dpaa/dpaa_rxtx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/dpaa/dpaa_rxtx.c b/drivers/net/dpaa/dpaa_rxtx.c
index 463a5f4df5..60a03624f6 100644
--- a/drivers/net/dpaa/dpaa_rxtx.c
+++ b/drivers/net/dpaa/dpaa_rxtx.c
@@ -1025,5 +1025,5 @@ reallocate_mbuf(struct qman_fq *txq, struct rte_mbuf *mbuf)
data = rte_pktmbuf_append(new_mbufs[0], bytes_to_copy);
- rte_memcpy((uint8_t *)data, rte_pktmbuf_mtod_offset(mbuf,
+ rte_memcpy((uint8_t *)data, rte_pktmbuf_mtod_offset(temp_mbuf,
void *, offset1), bytes_to_copy);
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.937168709 +0000
+++ 0053-net-dpaa-fix-reallocate-mbuf-handling.patch 2024-11-27 17:17:38.226269378 +0000
@@ -1 +1 @@
-From 7594cafa92189fd5bad87a5caa6b7a92bbab0979 Mon Sep 17 00:00:00 2001
+From 52daecc142f39198eb4c57402e29ee1e566f4529 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7594cafa92189fd5bad87a5caa6b7a92bbab0979 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 1d7efdef88..247e7b92ba 100644
+index 463a5f4df5..60a03624f6 100644
@@ -23 +24 @@
-@@ -1224,5 +1224,5 @@ reallocate_mbuf(struct qman_fq *txq, struct rte_mbuf *mbuf)
+@@ -1025,5 +1025,5 @@ reallocate_mbuf(struct qman_fq *txq, struct rte_mbuf *mbuf)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/memif: fix buffer overflow in zero copy Rx' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (51 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/dpaa: fix reallocate mbuf handling' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/tap: restrict maximum number of MP FDs' " Kevin Traynor
` (67 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Mihai Brodschi; +Cc: Ferruh Yigit, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/bf824c00c996be87956b82754b1b865dd48819de
Thanks.
Kevin
---
From bf824c00c996be87956b82754b1b865dd48819de Mon Sep 17 00:00:00 2001
From: Mihai Brodschi <mihai.brodschi@broadcom.com>
Date: Sat, 29 Jun 2024 00:01:29 +0300
Subject: [PATCH] net/memif: fix buffer overflow in zero copy Rx
[ upstream commit b92b18b76858ed58ebe9c5dea9dedf9a99e7e0e2 ]
rte_pktmbuf_alloc_bulk is called by the zero-copy receiver to allocate
new mbufs to be provided to the sender. The allocated mbuf pointers
are stored in a ring, but the alloc function doesn't implement index
wrap-around, so it writes past the end of the array. This results in
memory corruption and duplicate mbufs being received.
Allocate 2x the space for the mbuf ring, so that the alloc function
has a contiguous array to write to, then copy the excess entries
to the start of the array.
Fixes: 43b815d88188 ("net/memif: support zero-copy slave")
Signed-off-by: Mihai Brodschi <mihai.brodschi@broadcom.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
---
.mailmap | 1 +
drivers/net/memif/rte_eth_memif.c | 10 +++++++++-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/.mailmap b/.mailmap
index 296e6528b6..13eacdbc33 100644
--- a/.mailmap
+++ b/.mailmap
@@ -932,4 +932,5 @@ Michal Wilczynski <michal.wilczynski@intel.com>
Michel Machado <michel@digirati.com.br>
Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com>
+Mihai Brodschi <mihai.brodschi@broadcom.com>
Mihai Pogonaru <pogonarumihai@gmail.com>
Mike Baucom <michael.baucom@broadcom.com>
diff --git a/drivers/net/memif/rte_eth_memif.c b/drivers/net/memif/rte_eth_memif.c
index 88908a42a5..fbef44cdb8 100644
--- a/drivers/net/memif/rte_eth_memif.c
+++ b/drivers/net/memif/rte_eth_memif.c
@@ -535,4 +535,8 @@ refill:
if (unlikely(ret < 0))
goto no_free_mbufs;
+ if (unlikely(n_slots > ring_size - (head & mask))) {
+ rte_memcpy(mq->buffers, &mq->buffers[ring_size],
+ (n_slots + (head & mask) - ring_size) * sizeof(struct rte_mbuf *));
+ }
while (n_slots--) {
@@ -1131,6 +1135,10 @@ memif_init_queues(struct rte_eth_dev *dev)
mq->buffers = NULL;
if (pmd->flags & ETH_MEMIF_FLAG_ZERO_COPY) {
+ /*
+ * Allocate 2x ring_size to reserve a contiguous array for
+ * rte_pktmbuf_alloc_bulk (to store allocated mbufs).
+ */
mq->buffers = rte_zmalloc("bufs", sizeof(struct rte_mbuf *) *
- (1 << mq->log2_ring_size), 0);
+ (1 << (mq->log2_ring_size + 1)), 0);
if (mq->buffers == NULL)
return -ENOMEM;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.965604386 +0000
+++ 0054-net-memif-fix-buffer-overflow-in-zero-copy-Rx.patch 2024-11-27 17:17:38.228269389 +0000
@@ -1 +1 @@
-From b92b18b76858ed58ebe9c5dea9dedf9a99e7e0e2 Mon Sep 17 00:00:00 2001
+From bf824c00c996be87956b82754b1b865dd48819de Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b92b18b76858ed58ebe9c5dea9dedf9a99e7e0e2 ]
+
@@ -17 +18,0 @@
-Cc: stable@dpdk.org
@@ -27 +28 @@
-index 7b3a20af68..2e909c48a8 100644
+index 296e6528b6..13eacdbc33 100644
@@ -30,2 +31,2 @@
-@@ -1012,4 +1012,5 @@ Michel Machado <michel@digirati.com.br>
- Midde Ajijur Rehaman <ajijurx.rehaman.midde@intel.com>
+@@ -932,4 +932,5 @@ Michal Wilczynski <michal.wilczynski@intel.com>
+ Michel Machado <michel@digirati.com.br>
@@ -37 +38 @@
-index e220ffaf92..cd722f254f 100644
+index 88908a42a5..fbef44cdb8 100644
@@ -40 +41 @@
-@@ -601,4 +601,8 @@ refill:
+@@ -535,4 +535,8 @@ refill:
@@ -49 +50 @@
-@@ -1246,6 +1250,10 @@ memif_init_queues(struct rte_eth_dev *dev)
+@@ -1131,6 +1135,10 @@ memif_init_queues(struct rte_eth_dev *dev)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/tap: restrict maximum number of MP FDs' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (52 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/memif: fix buffer overflow in zero copy Rx' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'ethdev: verify queue ID in Tx done cleanup' " Kevin Traynor
` (66 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Ferruh Yigit, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/624a4d290aed0d1a794b52bce488cab2705dc901
Thanks.
Kevin
---
From 624a4d290aed0d1a794b52bce488cab2705dc901 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Fri, 11 Oct 2024 10:29:23 -0700
Subject: [PATCH] net/tap: restrict maximum number of MP FDs
[ upstream commit 288649a11a8a332727f2a988c676ff7dfd1bc4c5 ]
Now that max MP fds has increased to 253 it is possible that
the number of queues the TAP device can handle is less than that.
Therefore the code to handle MP message should only allow the
number of queues it can handle.
Coverity issue: 445386
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
---
drivers/net/tap/rte_eth_tap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index 3a11f36e6f..1389cad9a8 100644
--- a/drivers/net/tap/rte_eth_tap.c
+++ b/drivers/net/tap/rte_eth_tap.c
@@ -2429,5 +2429,5 @@ tap_mp_sync_queues(const struct rte_mp_msg *request, const void *peer)
reply_param->rxq_count = 0;
if (dev->data->nb_rx_queues + dev->data->nb_tx_queues >
- RTE_MP_MAX_FD_NUM){
+ RTE_PMD_TAP_MAX_QUEUES){
TAP_LOG(ERR, "Number of rx/tx queues exceeds max number of fds");
return -1;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:39.996086138 +0000
+++ 0055-net-tap-restrict-maximum-number-of-MP-FDs.patch 2024-11-27 17:17:38.229269394 +0000
@@ -1 +1 @@
-From 288649a11a8a332727f2a988c676ff7dfd1bc4c5 Mon Sep 17 00:00:00 2001
+From 624a4d290aed0d1a794b52bce488cab2705dc901 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 288649a11a8a332727f2a988c676ff7dfd1bc4c5 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -17,2 +18,2 @@
- drivers/net/tap/rte_eth_tap.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
+ drivers/net/tap/rte_eth_tap.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
@@ -21 +22 @@
-index 5ad3bbadd1..c486c6f073 100644
+index 3a11f36e6f..1389cad9a8 100644
@@ -24,9 +25,6 @@
-@@ -2392,7 +2392,8 @@ tap_mp_sync_queues(const struct rte_mp_msg *request, const void *peer)
-
- RTE_ASSERT(dev->data->nb_rx_queues == dev->data->nb_tx_queues);
-- if (dev->data->nb_rx_queues > RTE_MP_MAX_FD_NUM) {
-+
-+ if (dev->data->nb_rx_queues > RTE_PMD_TAP_MAX_QUEUES) {
- TAP_LOG(ERR, "Number of rx/tx queues %u exceeds max number of fds %u",
-- dev->data->nb_rx_queues, RTE_MP_MAX_FD_NUM);
-+ dev->data->nb_rx_queues, RTE_PMD_TAP_MAX_QUEUES);
+@@ -2429,5 +2429,5 @@ tap_mp_sync_queues(const struct rte_mp_msg *request, const void *peer)
+ reply_param->rxq_count = 0;
+ if (dev->data->nb_rx_queues + dev->data->nb_tx_queues >
+- RTE_MP_MAX_FD_NUM){
++ RTE_PMD_TAP_MAX_QUEUES){
+ TAP_LOG(ERR, "Number of rx/tx queues exceeds max number of fds");
@@ -34 +31,0 @@
- }
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'ethdev: verify queue ID in Tx done cleanup' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (53 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/tap: restrict maximum number of MP FDs' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/hns3: verify reset type from firmware' " Kevin Traynor
` (65 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Chengwen Feng; +Cc: Ferruh Yigit, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/b0983ba4bb70241ca127bc482a961bbee3905c4a
Thanks.
Kevin
---
From b0983ba4bb70241ca127bc482a961bbee3905c4a Mon Sep 17 00:00:00 2001
From: Chengwen Feng <fengchengwen@huawei.com>
Date: Sat, 12 Oct 2024 17:14:37 +0800
Subject: [PATCH] ethdev: verify queue ID in Tx done cleanup
[ upstream commit 707f50cef003a89f8fc5170c2ca5aea808cf4297 ]
Verify queue_id for rte_eth_tx_done_cleanup API.
Fixes: 44a718c457b5 ("ethdev: add API to free consumed buffers in Tx ring")
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com>
---
lib/ethdev/rte_ethdev.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c
index 1b2e1750c9..a2b2792a6a 100644
--- a/lib/ethdev/rte_ethdev.c
+++ b/lib/ethdev/rte_ethdev.c
@@ -2650,4 +2650,10 @@ rte_eth_tx_done_cleanup(uint16_t port_id, uint16_t queue_id, uint32_t free_cnt)
dev = &rte_eth_devices[port_id];
+#ifdef RTE_ETHDEV_DEBUG_TX
+ ret = eth_dev_validate_tx_queue(dev, queue_id);
+ if (ret != 0)
+ return ret;
+#endif
+
RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->tx_done_cleanup, -ENOTSUP);
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.025271740 +0000
+++ 0056-ethdev-verify-queue-ID-in-Tx-done-cleanup.patch 2024-11-27 17:17:38.231269404 +0000
@@ -1 +1 @@
-From 707f50cef003a89f8fc5170c2ca5aea808cf4297 Mon Sep 17 00:00:00 2001
+From b0983ba4bb70241ca127bc482a961bbee3905c4a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 707f50cef003a89f8fc5170c2ca5aea808cf4297 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 12f42f1d68..6413c54e3b 100644
+index 1b2e1750c9..a2b2792a6a 100644
@@ -21 +22 @@
-@@ -2911,4 +2911,10 @@ rte_eth_tx_done_cleanup(uint16_t port_id, uint16_t queue_id, uint32_t free_cnt)
+@@ -2650,4 +2650,10 @@ rte_eth_tx_done_cleanup(uint16_t port_id, uint16_t queue_id, uint32_t free_cnt)
@@ -30,2 +31,2 @@
- if (*dev->dev_ops->tx_done_cleanup == NULL)
- return -ENOTSUP;
+ RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->tx_done_cleanup, -ENOTSUP);
+
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/hns3: verify reset type from firmware' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (54 preceding siblings ...)
2024-11-27 17:18 ` patch 'ethdev: verify queue ID in Tx done cleanup' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/pcap: fix blocking Rx' " Kevin Traynor
` (64 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Chengwen Feng; +Cc: Jie Hai, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/7a104c2d871aa14caf66d745d2feba1d8ce44ded
Thanks.
Kevin
---
From 7a104c2d871aa14caf66d745d2feba1d8ce44ded Mon Sep 17 00:00:00 2001
From: Chengwen Feng <fengchengwen@huawei.com>
Date: Sat, 12 Oct 2024 17:14:57 +0800
Subject: [PATCH] net/hns3: verify reset type from firmware
[ upstream commit 3db846003734d38d59950ebe024ad6d61afe08f0 ]
Verify reset-type which get from firmware.
Fixes: 1c1eb759e9d7 ("net/hns3: support RAS process in Kunpeng 930")
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
Acked-by: Jie Hai <haijie1@huawei.com>
---
drivers/net/hns3/hns3_intr.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/net/hns3/hns3_intr.c b/drivers/net/hns3/hns3_intr.c
index b049774e9a..c379001fcc 100644
--- a/drivers/net/hns3/hns3_intr.c
+++ b/drivers/net/hns3/hns3_intr.c
@@ -2238,4 +2238,10 @@ hns3_handle_module_error_data(struct hns3_hw *hw, uint32_t *buf,
mod_num = sum_err_info->mod_num;
reset_type = sum_err_info->reset_type;
+
+ if (reset_type >= HNS3_MAX_RESET) {
+ hns3_err(hw, "invalid reset type = %u", reset_type);
+ return;
+ }
+
if (reset_type && reset_type != HNS3_NONE_RESET)
hns3_atomic_set_bit(reset_type, &hw->reset.request);
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.056684788 +0000
+++ 0057-net-hns3-verify-reset-type-from-firmware.patch 2024-11-27 17:17:38.232269409 +0000
@@ -1 +1 @@
-From 3db846003734d38d59950ebe024ad6d61afe08f0 Mon Sep 17 00:00:00 2001
+From 7a104c2d871aa14caf66d745d2feba1d8ce44ded Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3db846003734d38d59950ebe024ad6d61afe08f0 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index f7162ee7bc..2de2b86b02 100644
+index b049774e9a..c379001fcc 100644
@@ -21 +22 @@
-@@ -2253,4 +2253,10 @@ hns3_handle_module_error_data(struct hns3_hw *hw, uint32_t *buf,
+@@ -2238,4 +2238,10 @@ hns3_handle_module_error_data(struct hns3_hw *hw, uint32_t *buf,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/pcap: fix blocking Rx' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (55 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/hns3: verify reset type from firmware' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/ice/base: add bounds check' " Kevin Traynor
` (63 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Ofer Dagan, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/614cecd1fde8a6546360cdb557c6c4da237ba857
Thanks.
Kevin
---
From 614cecd1fde8a6546360cdb557c6c4da237ba857 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Thu, 5 Sep 2024 09:10:40 -0700
Subject: [PATCH] net/pcap: fix blocking Rx
[ upstream commit f5ead8f84f205babb320a1d805fb436ba31a5532 ]
Use pcap_next_ex rather than just pcap_next because pcap_next
always blocks if there is no packets to receive.
Bugzilla ID: 1526
Fixes: 4c173302c307 ("pcap: add new driver")
Reported-by: Ofer Dagan <ofer.d@claroty.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Tested-by: Ofer Dagan <ofer.d@claroty.com>
---
.mailmap | 1 +
drivers/net/pcap/pcap_ethdev.c | 33 +++++++++++++++++----------------
2 files changed, 18 insertions(+), 16 deletions(-)
diff --git a/.mailmap b/.mailmap
index 13eacdbc33..5e0de73ae0 100644
--- a/.mailmap
+++ b/.mailmap
@@ -1017,4 +1017,5 @@ Nobuhiro Miki <nmiki@yahoo-corp.jp>
Norbert Ciosek <norbertx.ciosek@intel.com>
Odi Assli <odia@nvidia.com>
+Ofer Dagan <ofer.d@claroty.com>
Ognjen Joldzic <ognjen.joldzic@gmail.com>
Ola Liljedahl <ola.liljedahl@arm.com>
diff --git a/drivers/net/pcap/pcap_ethdev.c b/drivers/net/pcap/pcap_ethdev.c
index 4d79565460..0d837835d1 100644
--- a/drivers/net/pcap/pcap_ethdev.c
+++ b/drivers/net/pcap/pcap_ethdev.c
@@ -274,5 +274,5 @@ eth_pcap_rx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
{
unsigned int i;
- struct pcap_pkthdr header;
+ struct pcap_pkthdr *header;
struct pmd_process_private *pp;
const u_char *packet;
@@ -294,7 +294,11 @@ eth_pcap_rx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
for (i = 0; i < nb_pkts; i++) {
/* Get the next PCAP packet */
- packet = pcap_next(pcap, &header);
- if (unlikely(packet == NULL))
+ int ret = pcap_next_ex(pcap, &header, &packet);
+ if (ret != 1) {
+ if (ret == PCAP_ERROR)
+ pcap_q->rx_stat.err_pkts++;
+
break;
+ }
mbuf = rte_pktmbuf_alloc(pcap_q->mb_pool);
@@ -304,15 +308,13 @@ eth_pcap_rx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
}
- if (header.caplen <= rte_pktmbuf_tailroom(mbuf)) {
+ uint32_t len = header->caplen;
+ if (len <= rte_pktmbuf_tailroom(mbuf)) {
/* pcap packet will fit in the mbuf, can copy it */
- rte_memcpy(rte_pktmbuf_mtod(mbuf, void *), packet,
- header.caplen);
- mbuf->data_len = (uint16_t)header.caplen;
+ rte_memcpy(rte_pktmbuf_mtod(mbuf, void *), packet, len);
+ mbuf->data_len = len;
} else {
/* Try read jumbo frame into multi mbufs. */
if (unlikely(eth_pcap_rx_jumbo(pcap_q->mb_pool,
- mbuf,
- packet,
- header.caplen) == -1)) {
+ mbuf, packet, len) == -1)) {
pcap_q->rx_stat.err_pkts++;
rte_pktmbuf_free(mbuf);
@@ -321,14 +323,13 @@ eth_pcap_rx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
}
- mbuf->pkt_len = (uint16_t)header.caplen;
- *RTE_MBUF_DYNFIELD(mbuf, timestamp_dynfield_offset,
- rte_mbuf_timestamp_t *) =
- (uint64_t)header.ts.tv_sec * 1000000 +
- header.ts.tv_usec;
+ mbuf->pkt_len = len;
+ uint64_t us = (uint64_t)header->ts.tv_sec * US_PER_S + header->ts.tv_usec;
+
+ *RTE_MBUF_DYNFIELD(mbuf, timestamp_dynfield_offset, rte_mbuf_timestamp_t *) = us;
mbuf->ol_flags |= timestamp_rx_dynflag;
mbuf->port = pcap_q->port_id;
bufs[num_rx] = mbuf;
num_rx++;
- rx_bytes += header.caplen;
+ rx_bytes += len;
}
pcap_q->rx_stat.pkts += num_rx;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.086325511 +0000
+++ 0058-net-pcap-fix-blocking-Rx.patch 2024-11-27 17:17:38.233269414 +0000
@@ -1 +1 @@
-From f5ead8f84f205babb320a1d805fb436ba31a5532 Mon Sep 17 00:00:00 2001
+From 614cecd1fde8a6546360cdb557c6c4da237ba857 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f5ead8f84f205babb320a1d805fb436ba31a5532 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 3e9e8b416e..bd7958652a 100644
+index 13eacdbc33..5e0de73ae0 100644
@@ -25,2 +26,2 @@
-@@ -1104,4 +1104,5 @@ Norbert Ciosek <norbertx.ciosek@intel.com>
- Norbert Zulinski <norbertx.zulinski@intel.com>
+@@ -1017,4 +1017,5 @@ Nobuhiro Miki <nmiki@yahoo-corp.jp>
+ Norbert Ciosek <norbertx.ciosek@intel.com>
@@ -32 +33 @@
-index 1fb98e3d2b..728ef85d53 100644
+index 4d79565460..0d837835d1 100644
@@ -35 +36 @@
-@@ -275,5 +275,5 @@ eth_pcap_rx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
+@@ -274,5 +274,5 @@ eth_pcap_rx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
@@ -42 +43 @@
-@@ -295,7 +295,11 @@ eth_pcap_rx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
+@@ -294,7 +294,11 @@ eth_pcap_rx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
@@ -56 +57 @@
-@@ -305,15 +309,13 @@ eth_pcap_rx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
+@@ -304,15 +308,13 @@ eth_pcap_rx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
@@ -77 +78 @@
-@@ -322,14 +324,13 @@ eth_pcap_rx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
+@@ -321,14 +323,13 @@ eth_pcap_rx(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/ice/base: add bounds check' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (56 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/pcap: fix blocking Rx' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/ice/base: fix VLAN replay after reset' " Kevin Traynor
` (62 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Fabio Pricoco; +Cc: Bruce Richardson, Vladimir Medvedkin, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/42985910c50f05f0e47c50fe84cfe3d2ff43a32e
Thanks.
Kevin
---
From 42985910c50f05f0e47c50fe84cfe3d2ff43a32e Mon Sep 17 00:00:00 2001
From: Fabio Pricoco <fabio.pricoco@intel.com>
Date: Mon, 14 Oct 2024 12:02:06 +0100
Subject: [PATCH] net/ice/base: add bounds check
[ upstream commit 9378aa47f45fa5cd5be219c8eb770f096e8a4c27 ]
Refactor while loop to add a check that the values read are in the
correct range.
Fixes: 6c1f26be50a2 ("net/ice/base: add control queue information")
Signed-off-by: Fabio Pricoco <fabio.pricoco@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
---
drivers/net/ice/base/ice_controlq.c | 23 +++++++++++++++++++++--
1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ice/base/ice_controlq.c b/drivers/net/ice/base/ice_controlq.c
index cdd067ce7f..541f05eb41 100644
--- a/drivers/net/ice/base/ice_controlq.c
+++ b/drivers/net/ice/base/ice_controlq.c
@@ -838,10 +838,21 @@ static u16 ice_clean_sq(struct ice_hw *hw, struct ice_ctl_q_info *cq)
struct ice_sq_cd *details;
struct ice_aq_desc *desc;
+ u32 head;
desc = ICE_CTL_Q_DESC(*sq, ntc);
details = ICE_CTL_Q_DETAILS(*sq, ntc);
- while (rd32(hw, cq->sq.head) != ntc) {
- ice_debug(hw, ICE_DBG_AQ_MSG, "ntc %d head %d.\n", ntc, rd32(hw, cq->sq.head));
+ head = rd32(hw, sq->head);
+ if (head >= sq->count) {
+ ice_debug(hw, ICE_DBG_AQ_MSG,
+ "Read head value (%d) exceeds allowed range.\n",
+ head);
+ return 0;
+ }
+
+ while (head != ntc) {
+ ice_debug(hw, ICE_DBG_AQ_MSG,
+ "ntc %d head %d.\n",
+ ntc, head);
ice_memset(desc, 0, sizeof(*desc), ICE_DMA_MEM);
ice_memset(details, 0, sizeof(*details), ICE_NONDMA_MEM);
@@ -851,4 +862,12 @@ static u16 ice_clean_sq(struct ice_hw *hw, struct ice_ctl_q_info *cq)
desc = ICE_CTL_Q_DESC(*sq, ntc);
details = ICE_CTL_Q_DETAILS(*sq, ntc);
+
+ head = rd32(hw, sq->head);
+ if (head >= sq->count) {
+ ice_debug(hw, ICE_DBG_AQ_MSG,
+ "Read head value (%d) exceeds allowed range.\n",
+ head);
+ return 0;
+ }
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.116768082 +0000
+++ 0059-net-ice-base-add-bounds-check.patch 2024-11-27 17:17:38.234269420 +0000
@@ -1 +1 @@
-From 9378aa47f45fa5cd5be219c8eb770f096e8a4c27 Mon Sep 17 00:00:00 2001
+From 42985910c50f05f0e47c50fe84cfe3d2ff43a32e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 9378aa47f45fa5cd5be219c8eb770f096e8a4c27 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index af27dc8542..b210495827 100644
+index cdd067ce7f..541f05eb41 100644
@@ -23,2 +24,2 @@
-@@ -840,9 +840,20 @@ static u16 ice_clean_sq(struct ice_hw *hw, struct ice_ctl_q_info *cq)
- u16 ntc = sq->next_to_clean;
+@@ -838,10 +838,21 @@ static u16 ice_clean_sq(struct ice_hw *hw, struct ice_ctl_q_info *cq)
+ struct ice_sq_cd *details;
@@ -28,0 +30 @@
+ details = ICE_CTL_Q_DETAILS(*sq, ntc);
@@ -45,3 +47,2 @@
- ntc++;
-@@ -850,4 +861,12 @@ static u16 ice_clean_sq(struct ice_hw *hw, struct ice_ctl_q_info *cq)
- ntc = 0;
+ ice_memset(details, 0, sizeof(*details), ICE_NONDMA_MEM);
+@@ -851,4 +862,12 @@ static u16 ice_clean_sq(struct ice_hw *hw, struct ice_ctl_q_info *cq)
@@ -48,0 +50 @@
+ details = ICE_CTL_Q_DETAILS(*sq, ntc);
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/ice/base: fix VLAN replay after reset' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (57 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/ice/base: add bounds check' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/iavf: preserve MAC address with i40e PF Linux driver' " Kevin Traynor
` (61 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Dave Ertman
Cc: Jacob Keller, Bruce Richardson, Vladimir Medvedkin, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/54dc2ed67c546cf7b0a8378dcbcd40e451095026
Thanks.
Kevin
---
From 54dc2ed67c546cf7b0a8378dcbcd40e451095026 Mon Sep 17 00:00:00 2001
From: Dave Ertman <david.m.ertman@intel.com>
Date: Mon, 14 Oct 2024 12:02:07 +0100
Subject: [PATCH] net/ice/base: fix VLAN replay after reset
[ upstream commit 8e191a67df2d217c2cbd96325b38bf2f5f028f03 ]
If there is more than one VLAN defined when any reset that affects the
PF is initiated, after the reset rebuild, no traffic will pass on any
VLAN but the last one created.
This is caused by the iteration though the VLANs during replay each
clearing the vsi_map bitmap of the VSI that is being replayed. The
problem is that during the replay, the pointer to the vsi_map bitmap is
used by each successive vlan to determine if it should be replayed on
this VSI.
The logic was that the replay of the VLAN would replace the bit in the
map before the next VLAN would iterate through. But, since the replay
copies the old bitmap pointer to filt_replay_rules and creates a new one
for the recreated VLANS, it does not do this, and leaves the old bitmap
broken to be used to replay the remaining VLANs.
Since the old bitmap will be cleaned up in post replay cleanup, there is
no need to alter it and break following VLAN replay, so don't clear the
bit.
Fixes: c7dd15931183 ("net/ice/base: add virtual switch code")
Signed-off-by: Dave Ertman <david.m.ertman@intel.com>
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
---
drivers/net/ice/base/ice_switch.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/net/ice/base/ice_switch.c b/drivers/net/ice/base/ice_switch.c
index dd21ef4bd1..ab12a0b103 100644
--- a/drivers/net/ice/base/ice_switch.c
+++ b/drivers/net/ice/base/ice_switch.c
@@ -9489,6 +9489,4 @@ ice_replay_vsi_fltr(struct ice_hw *hw, struct ice_port_info *pi,
!ice_is_bit_set(itr->vsi_list_info->vsi_map, vsi_handle))
continue;
- /* Clearing it so that the logic can add it back */
- ice_clear_bit(vsi_handle, itr->vsi_list_info->vsi_map);
f_entry.fltr_info.vsi_handle = vsi_handle;
f_entry.fltr_info.fltr_act = ICE_FWD_TO_VSI;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.146128732 +0000
+++ 0060-net-ice-base-fix-VLAN-replay-after-reset.patch 2024-11-27 17:17:38.238269440 +0000
@@ -1 +1 @@
-From 8e191a67df2d217c2cbd96325b38bf2f5f028f03 Mon Sep 17 00:00:00 2001
+From 54dc2ed67c546cf7b0a8378dcbcd40e451095026 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8e191a67df2d217c2cbd96325b38bf2f5f028f03 ]
+
@@ -27 +28,0 @@
-Cc: stable@dpdk.org
@@ -38 +39 @@
-index 96ef26d535..a3786961e6 100644
+index dd21ef4bd1..ab12a0b103 100644
@@ -41 +42 @@
-@@ -10111,6 +10111,4 @@ ice_replay_vsi_fltr(struct ice_hw *hw, struct ice_port_info *pi,
+@@ -9489,6 +9489,4 @@ ice_replay_vsi_fltr(struct ice_hw *hw, struct ice_port_info *pi,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/iavf: preserve MAC address with i40e PF Linux driver' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (58 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/ice/base: fix VLAN replay after reset' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/mlx5: workaround list management of Rx queue control' " Kevin Traynor
` (60 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: David Marchand; +Cc: Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/5b7e9e15eea01bff24716066f966bf5f542dfcd9
Thanks.
Kevin
---
From 5b7e9e15eea01bff24716066f966bf5f542dfcd9 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Tue, 1 Oct 2024 11:12:54 +0200
Subject: [PATCH] net/iavf: preserve MAC address with i40e PF Linux driver
[ upstream commit 3d42086def307be853d1e2e5b9d1e76725c3661f ]
Following two upstream Linux kernel changes (see links), the mac address
of a iavf port, serviced by a i40e PF driver, is lost when the DPDK iavf
driver probes the port again (which may be triggered at any point of a
DPDK application life, like when a reset event is triggered by the PF).
A first change results in the mac address of the VF port being reset to 0
during the VIRTCHNL_OP_GET_VF_RESOURCES query.
The i40e PF driver change is pretty obscure but the iavf Linux driver does
set VIRTCHNL_VF_OFFLOAD_USO.
Announcing such a capability in the DPDK driver does not seem to be an
issue, so do the same in DPDK to keep the legacy behavior of a fixed mac.
Then a second change in the kernel results in the VF mac address being
cleared when the VF driver remove its default mac address.
Removing (unicast or multicast) mac addresses is not done by the kernel VF
driver in general.
The reason why the DPDK driver behaves like this is undocumented
(and lost because the authors are not active anymore).
Aligning DPDK behavior to the upstream kernel driver is safer in any
case.
Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fed0d9f13266
Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ceb29474bbbc
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/iavf/iavf_ethdev.c | 19 +++++--------------
drivers/net/iavf/iavf_vchnl.c | 1 +
2 files changed, 6 insertions(+), 14 deletions(-)
diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index 4885a86ad3..d32cb3c3a5 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -984,5 +984,5 @@ iavf_dev_start(struct rte_eth_dev *dev)
IAVF_CFG_Q_NUM_PER_BUF, index) != 0) {
PMD_DRV_LOG(ERR, "configure queues failed");
- goto err_queue;
+ goto error;
}
num_queue_pairs -= IAVF_CFG_Q_NUM_PER_BUF;
@@ -992,10 +992,10 @@ iavf_dev_start(struct rte_eth_dev *dev)
if (iavf_configure_queues(adapter, num_queue_pairs, index) != 0) {
PMD_DRV_LOG(ERR, "configure queues failed");
- goto err_queue;
+ goto error;
}
if (iavf_config_rx_queues_irqs(dev, intr_handle) != 0) {
PMD_DRV_LOG(ERR, "configure irq failed");
- goto err_queue;
+ goto error;
}
/* re-enable intr again, because efd assign may change */
@@ -1015,12 +1015,10 @@ iavf_dev_start(struct rte_eth_dev *dev)
if (iavf_start_queues(dev) != 0) {
PMD_DRV_LOG(ERR, "enable queues failed");
- goto err_mac;
+ goto error;
}
return 0;
-err_mac:
- iavf_add_del_all_mac_addr(adapter, false);
-err_queue:
+error:
return -1;
}
@@ -1054,11 +1052,4 @@ iavf_dev_stop(struct rte_eth_dev *dev)
rte_intr_vec_list_free(intr_handle);
- /* remove all mac addrs */
- iavf_add_del_all_mac_addr(adapter, false);
-
- /* remove all multicast addresses */
- iavf_add_del_mc_addr_list(adapter, vf->mc_addrs, vf->mc_addrs_num,
- false);
-
iavf_stop_queues(dev);
diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c
index d685358ed3..ec36624ce7 100644
--- a/drivers/net/iavf/iavf_vchnl.c
+++ b/drivers/net/iavf/iavf_vchnl.c
@@ -518,4 +518,5 @@ iavf_get_vf_resource(struct iavf_adapter *adapter)
VIRTCHNL_VF_OFFLOAD_ADV_RSS_PF |
VIRTCHNL_VF_OFFLOAD_REQ_QUEUES |
+ VIRTCHNL_VF_OFFLOAD_USO |
VIRTCHNL_VF_OFFLOAD_CRC |
VIRTCHNL_VF_OFFLOAD_VLAN_V2 |
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.180337547 +0000
+++ 0061-net-iavf-preserve-MAC-address-with-i40e-PF-Linux-dri.patch 2024-11-27 17:17:38.240269451 +0000
@@ -1 +1 @@
-From 3d42086def307be853d1e2e5b9d1e76725c3661f Mon Sep 17 00:00:00 2001
+From 5b7e9e15eea01bff24716066f966bf5f542dfcd9 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3d42086def307be853d1e2e5b9d1e76725c3661f ]
+
@@ -27,2 +28,0 @@
-Cc: stable@dpdk.org
-
@@ -35 +35 @@
- drivers/net/iavf/iavf_ethdev.c | 22 +++++-----------------
+ drivers/net/iavf/iavf_ethdev.c | 19 +++++--------------
@@ -37 +37 @@
- 2 files changed, 6 insertions(+), 17 deletions(-)
+ 2 files changed, 6 insertions(+), 14 deletions(-)
@@ -40 +40 @@
-index c200f63b4f..7f80cd6258 100644
+index 4885a86ad3..d32cb3c3a5 100644
@@ -43 +43 @@
-@@ -1045,5 +1045,5 @@ iavf_dev_start(struct rte_eth_dev *dev)
+@@ -984,5 +984,5 @@ iavf_dev_start(struct rte_eth_dev *dev)
@@ -50 +50 @@
-@@ -1053,10 +1053,10 @@ iavf_dev_start(struct rte_eth_dev *dev)
+@@ -992,10 +992,10 @@ iavf_dev_start(struct rte_eth_dev *dev)
@@ -63 +63 @@
-@@ -1078,12 +1078,10 @@ iavf_dev_start(struct rte_eth_dev *dev)
+@@ -1015,12 +1015,10 @@ iavf_dev_start(struct rte_eth_dev *dev)
@@ -78 +78 @@
-@@ -1114,14 +1112,4 @@ iavf_dev_stop(struct rte_eth_dev *dev)
+@@ -1054,11 +1052,4 @@ iavf_dev_stop(struct rte_eth_dev *dev)
@@ -81,4 +81,2 @@
-- /* adminq will be disabled when vf is resetting. */
-- if (!vf->in_reset_recovery) {
-- /* remove all mac addrs */
-- iavf_add_del_all_mac_addr(adapter, false);
+- /* remove all mac addrs */
+- iavf_add_del_all_mac_addr(adapter, false);
@@ -86,2 +84,2 @@
-- /* remove all multicast addresses */
-- iavf_add_del_mc_addr_list(adapter, vf->mc_addrs, vf->mc_addrs_num,
+- /* remove all multicast addresses */
+- iavf_add_del_mc_addr_list(adapter, vf->mc_addrs, vf->mc_addrs_num,
@@ -89 +86,0 @@
-- }
@@ -94 +91 @@
-index 69420bc9b6..065ab3594c 100644
+index d685358ed3..ec36624ce7 100644
@@ -97,2 +94,2 @@
-@@ -711,4 +711,5 @@ iavf_get_vf_resource(struct iavf_adapter *adapter)
- VIRTCHNL_VF_OFFLOAD_FSUB_PF |
+@@ -518,4 +518,5 @@ iavf_get_vf_resource(struct iavf_adapter *adapter)
+ VIRTCHNL_VF_OFFLOAD_ADV_RSS_PF |
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/mlx5: workaround list management of Rx queue control' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (59 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/iavf: preserve MAC address with i40e PF Linux driver' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/mlx5: fix number of supported flex parsers' " Kevin Traynor
` (59 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Bing Zhao; +Cc: Viacheslav Ovsiienko, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/c360d3ce339bfbe9cb6abf5bd04e8c5a2b769246
Thanks.
Kevin
---
From c360d3ce339bfbe9cb6abf5bd04e8c5a2b769246 Mon Sep 17 00:00:00 2001
From: Bing Zhao <bingz@nvidia.com>
Date: Tue, 23 Jul 2024 14:14:11 +0300
Subject: [PATCH] net/mlx5: workaround list management of Rx queue control
[ upstream commit f957ac99643535fd218753f4f956fc9c5aadd23c ]
The LIST_REMOVE macro only removes the entry from the list and
updates list itself. The pointers of this entry are not reset to
NULL to prevent the accessing for the 2nd time.
In the previous fix for the memory accessing, the "rxq_ctrl" was
removed from the list in a device private data when the "refcnt" was
decreased to 0. Under only shared or non-shared queues scenarios,
this was safe since all the "rxq_ctrl" entries were freed or kept.
There is one case that shared and non-shared Rx queues are configured
simultaneously, for example, a hairpin Rx queue cannot be shared.
When closing the port that allocated the shared Rx queues'
"rxq_ctrl", if the next entry is hairpin "rxq_ctrl", the hairpin
"rxq_ctrl" will be freed directly with other resources. When trying
to close the another port sharing the "rxq_ctrl", the LIST_REMOVE
will be called again and cause some UFA issue. If the memory is no
longer mapped, there will be a SIGSEGV.
Adding a flag in the Rx queue private structure to remove the
"rxq_ctrl" from the list only on the port/queue that allocated it.
Fixes: bcc220cb57d7 ("net/mlx5: fix shared Rx queue list management")
Signed-off-by: Bing Zhao <bingz@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
drivers/net/mlx5/mlx5_rx.h | 1 +
drivers/net/mlx5/mlx5_rxq.c | 5 ++++-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/net/mlx5/mlx5_rx.h b/drivers/net/mlx5/mlx5_rx.h
index 5bcb6cb03a..62f6323cdc 100644
--- a/drivers/net/mlx5/mlx5_rx.h
+++ b/drivers/net/mlx5/mlx5_rx.h
@@ -175,4 +175,5 @@ struct mlx5_rxq_ctrl {
struct mlx5_rxq_priv {
uint16_t idx; /* Queue index. */
+ bool possessor; /* Shared rxq_ctrl allocated for the 1st time. */
uint32_t refcnt; /* Reference counter. */
struct mlx5_rxq_ctrl *ctrl; /* Shared Rx Queue. */
diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index da1b1f8bb9..4e958d2005 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -941,4 +941,5 @@ mlx5_rx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
return -rte_errno;
}
+ rxq->possessor = true;
}
mlx5_rxq_ref(dev, idx);
@@ -2013,4 +2014,5 @@ mlx5_rxq_hairpin_new(struct rte_eth_dev *dev, struct mlx5_rxq_priv *rxq,
tmpl->rxq.idx = idx;
rxq->hairpin_conf = *hairpin_conf;
+ rxq->possessor = true;
mlx5_rxq_ref(dev, idx);
LIST_INSERT_HEAD(&priv->rxqsctrl, tmpl, next);
@@ -2162,5 +2164,6 @@ mlx5_rxq_release(struct rte_eth_dev *dev, uint16_t idx)
}
} else { /* Refcnt zero, closing device. */
- LIST_REMOVE(rxq_ctrl, next);
+ if (rxq->possessor)
+ LIST_REMOVE(rxq_ctrl, next);
LIST_REMOVE(rxq, owner_entry);
if (LIST_EMPTY(&rxq_ctrl->owners)) {
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.212579628 +0000
+++ 0062-net-mlx5-workaround-list-management-of-Rx-queue-cont.patch 2024-11-27 17:17:38.242269461 +0000
@@ -1 +1 @@
-From f957ac99643535fd218753f4f956fc9c5aadd23c Mon Sep 17 00:00:00 2001
+From c360d3ce339bfbe9cb6abf5bd04e8c5a2b769246 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f957ac99643535fd218753f4f956fc9c5aadd23c ]
+
@@ -28 +29,0 @@
-Cc: stable@dpdk.org
@@ -38 +39 @@
-index 7d144921ab..9bcb43b007 100644
+index 5bcb6cb03a..62f6323cdc 100644
@@ -41 +42 @@
-@@ -174,4 +174,5 @@ struct mlx5_rxq_ctrl {
+@@ -175,4 +175,5 @@ struct mlx5_rxq_ctrl {
@@ -45 +46 @@
- RTE_ATOMIC(uint32_t) refcnt; /* Reference counter. */
+ uint32_t refcnt; /* Reference counter. */
@@ -48 +49 @@
-index f13fc3b353..c6655b7db4 100644
+index da1b1f8bb9..4e958d2005 100644
@@ -51 +52 @@
-@@ -939,4 +939,5 @@ mlx5_rx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
+@@ -941,4 +941,5 @@ mlx5_rx_queue_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t desc,
@@ -56,2 +57,2 @@
- rxq->priv = priv;
-@@ -2016,4 +2017,5 @@ mlx5_rxq_hairpin_new(struct rte_eth_dev *dev, struct mlx5_rxq_priv *rxq,
+ mlx5_rxq_ref(dev, idx);
+@@ -2013,4 +2014,5 @@ mlx5_rxq_hairpin_new(struct rte_eth_dev *dev, struct mlx5_rxq_priv *rxq,
@@ -63 +64 @@
-@@ -2283,5 +2285,6 @@ mlx5_rxq_release(struct rte_eth_dev *dev, uint16_t idx)
+@@ -2162,5 +2164,6 @@ mlx5_rxq_release(struct rte_eth_dev *dev, uint16_t idx)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/mlx5: fix number of supported flex parsers' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (60 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/mlx5: workaround list management of Rx queue control' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'app/testpmd: remove flex item init command leftover' " Kevin Traynor
` (58 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Viacheslav Ovsiienko; +Cc: Dariusz Sosnowski, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/d7965234b1ade7ed3ae5f06f2af56d419ebbfe43
Thanks.
Kevin
---
From d7965234b1ade7ed3ae5f06f2af56d419ebbfe43 Mon Sep 17 00:00:00 2001
From: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Date: Wed, 18 Sep 2024 16:46:19 +0300
Subject: [PATCH] net/mlx5: fix number of supported flex parsers
[ upstream commit 16d8f37b4ebb59a2b2d48dbd9c0f3b8302d4ab1f ]
The hardware supports up to 8 flex parser configurations.
Some of them can be utilized internally by firmware, depending on
the configured profile ("FLEX_PARSER_PROFILE_ENABLE" in NV-setting).
The firmware does not report in capabilities how many flex parser
configuration is remaining available (this is device-wide resource
and can be allocated runtime by other agents - kernel, DPDK
applications, etc.), and once there is no more available parsers
on the parse object creation moment firmware just returns an error.
Fixes: db25cadc0887 ("net/mlx5: add flex item operations")
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
---
drivers/net/mlx5/mlx5.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h
index 80c1c0b7b1..95e06916bf 100644
--- a/drivers/net/mlx5/mlx5.h
+++ b/drivers/net/mlx5/mlx5.h
@@ -52,5 +52,5 @@
/* Maximal number of flex items created on the port.*/
-#define MLX5_PORT_FLEX_ITEM_NUM 4
+#define MLX5_PORT_FLEX_ITEM_NUM 8
/* Maximal number of field/field parts to map into sample registers .*/
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.244414434 +0000
+++ 0063-net-mlx5-fix-number-of-supported-flex-parsers.patch 2024-11-27 17:17:38.243269466 +0000
@@ -1 +1 @@
-From 16d8f37b4ebb59a2b2d48dbd9c0f3b8302d4ab1f Mon Sep 17 00:00:00 2001
+From d7965234b1ade7ed3ae5f06f2af56d419ebbfe43 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 16d8f37b4ebb59a2b2d48dbd9c0f3b8302d4ab1f ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index 5f7bfcd613..399923b443 100644
+index 80c1c0b7b1..95e06916bf 100644
@@ -28 +29 @@
-@@ -70,5 +70,5 @@
+@@ -52,5 +52,5 @@
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'app/testpmd: remove flex item init command leftover' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (61 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/mlx5: fix number of supported flex parsers' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/mlx5: fix next protocol validation after flex item' " Kevin Traynor
` (57 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Viacheslav Ovsiienko; +Cc: Dariusz Sosnowski, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/7dfb709dce29536f6119571b5a5b32c6181d9860
Thanks.
Kevin
---
From 7dfb709dce29536f6119571b5a5b32c6181d9860 Mon Sep 17 00:00:00 2001
From: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Date: Wed, 18 Sep 2024 16:46:20 +0300
Subject: [PATCH] app/testpmd: remove flex item init command leftover
[ upstream commit d5c50397a1cc06419970afbea9cd1c37e3c08a5b ]
There was a leftover of "flow flex init" command used
for debug purposes and had no useful functionality in
the production code.
Fixes: 59f3a8acbcdb ("app/testpmd: add flex item commands")
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
---
app/test-pmd/cmdline_flow.c | 12 ------------
1 file changed, 12 deletions(-)
diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c
index 3e2ef95a54..cf12463f86 100644
--- a/app/test-pmd/cmdline_flow.c
+++ b/app/test-pmd/cmdline_flow.c
@@ -87,5 +87,4 @@ enum index {
/* Flex arguments */
- FLEX_ITEM_INIT,
FLEX_ITEM_CREATE,
FLEX_ITEM_DESTROY,
@@ -922,5 +921,4 @@ struct parse_action_priv {
static const enum index next_flex_item[] = {
- FLEX_ITEM_INIT,
FLEX_ITEM_CREATE,
FLEX_ITEM_DESTROY,
@@ -2317,13 +2315,4 @@ static const struct token token_list[] = {
.call = parse_flex,
},
- [FLEX_ITEM_INIT] = {
- .name = "init",
- .help = "flex item init",
- .args = ARGS(ARGS_ENTRY(struct buffer, args.flex.token),
- ARGS_ENTRY(struct buffer, port)),
- .next = NEXT(NEXT_ENTRY(COMMON_FLEX_TOKEN),
- NEXT_ENTRY(COMMON_PORT_ID)),
- .call = parse_flex
- },
[FLEX_ITEM_CREATE] = {
.name = "create",
@@ -7495,5 +7484,4 @@ parse_flex(struct context *ctx, const struct token *token,
default:
break;
- case FLEX_ITEM_INIT:
case FLEX_ITEM_CREATE:
case FLEX_ITEM_DESTROY:
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.275244629 +0000
+++ 0064-app-testpmd-remove-flex-item-init-command-leftover.patch 2024-11-27 17:17:38.248269492 +0000
@@ -1 +1 @@
-From d5c50397a1cc06419970afbea9cd1c37e3c08a5b Mon Sep 17 00:00:00 2001
+From 7dfb709dce29536f6119571b5a5b32c6181d9860 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d5c50397a1cc06419970afbea9cd1c37e3c08a5b ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 5451b3a453..5f71e5ba44 100644
+index 3e2ef95a54..cf12463f86 100644
@@ -23 +24 @@
-@@ -107,5 +107,4 @@ enum index {
+@@ -87,5 +87,4 @@ enum index {
@@ -29 +30 @@
-@@ -1321,5 +1320,4 @@ struct parse_action_priv {
+@@ -922,5 +921,4 @@ struct parse_action_priv {
@@ -35 +36 @@
-@@ -4189,13 +4187,4 @@ static const struct token token_list[] = {
+@@ -2317,13 +2315,4 @@ static const struct token token_list[] = {
@@ -49 +50 @@
-@@ -11473,5 +11462,4 @@ parse_flex(struct context *ctx, const struct token *token,
+@@ -7495,5 +7484,4 @@ parse_flex(struct context *ctx, const struct token *token,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/mlx5: fix next protocol validation after flex item' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (62 preceding siblings ...)
2024-11-27 17:18 ` patch 'app/testpmd: remove flex item init command leftover' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'build: remove version check on compiler links function' " Kevin Traynor
` (56 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Viacheslav Ovsiienko; +Cc: Dariusz Sosnowski, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/3fa30c119ed3d8edbe4b6227b701516ff9a8ee3b
Thanks.
Kevin
---
From 3fa30c119ed3d8edbe4b6227b701516ff9a8ee3b Mon Sep 17 00:00:00 2001
From: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Date: Wed, 18 Sep 2024 16:46:21 +0300
Subject: [PATCH] net/mlx5: fix next protocol validation after flex item
[ upstream commit 3847a3b192315491118eab9830e695eb2c9946e2 ]
On the flow validation some items may check the preceding protocols.
In case of flex item the next protocol is opaque (or can be multiple
ones) we should set neutral value and allow successful validation,
for example, for the combination of flex and following ESP items.
Fixes: a23e9b6e3ee9 ("net/mlx5: handle flex item in flows")
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
---
drivers/net/mlx5/mlx5_flow_dv.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index b54b4793cc..c83f4dc6ef 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -7250,4 +7250,6 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr,
if (ret < 0)
return ret;
+ /* Reset for next proto, it is unknown. */
+ next_protocol = 0xff;
break;
default:
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.310003441 +0000
+++ 0065-net-mlx5-fix-next-protocol-validation-after-flex-ite.patch 2024-11-27 17:17:38.259269549 +0000
@@ -1 +1 @@
-From 3847a3b192315491118eab9830e695eb2c9946e2 Mon Sep 17 00:00:00 2001
+From 3fa30c119ed3d8edbe4b6227b701516ff9a8ee3b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3847a3b192315491118eab9830e695eb2c9946e2 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index e8ca2b3ed6..4451b114ae 100644
+index b54b4793cc..c83f4dc6ef 100644
@@ -24 +25 @@
-@@ -8195,4 +8195,6 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr,
+@@ -7250,4 +7250,6 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr,
@@ -30 +31 @@
- case RTE_FLOW_ITEM_TYPE_METER_COLOR:
+ default:
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'build: remove version check on compiler links function' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (63 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/mlx5: fix next protocol validation after flex item' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'hash: fix thash LFSR initialization' " Kevin Traynor
` (55 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Bruce Richardson; +Cc: Robin Jarry, Ferruh Yigit, Chengwen Feng, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/9808e7550b47f902227559193c5f6b4a89f2e68d
Thanks.
Kevin
---
From 9808e7550b47f902227559193c5f6b4a89f2e68d Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Fri, 20 Sep 2024 13:57:34 +0100
Subject: [PATCH] build: remove version check on compiler links function
[ upstream commit 2909f9afbfd1b54ace204d40d57b68e6058aca28 ]
The "compiler.links()" function meson documentation [1] is a little
unclear, in a casual reading implies that the function was new in 0.60
meson release. In fact, it is only enhanced as described in that
release, but is present earlier.
As such, we can remove the version checks preceding the calls to links
function in our code.
[1] https://mesonbuild.com/Reference-manual_returned_compiler.html#compilerlinks
Fixes: fd809737cf8c ("common/qat: fix build with incompatible IPsec library")
Fixes: fb94d8243894 ("crypto/ipsec_mb: add dependency check for cross build")
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Robin Jarry <rjarry@redhat.com>
Tested-by: Ferruh Yigit <ferruh.yigit@amd.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
---
drivers/crypto/ipsec_mb/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/crypto/ipsec_mb/meson.build b/drivers/crypto/ipsec_mb/meson.build
index e6448532bd..a017ebd25b 100644
--- a/drivers/crypto/ipsec_mb/meson.build
+++ b/drivers/crypto/ipsec_mb/meson.build
@@ -14,5 +14,5 @@ if not lib.found()
reason = 'missing dependency, "libIPSec_MB"'
# if the lib is found, check it's the right format
-elif meson.version().version_compare('>=0.60') and not cc.links(
+elif not cc.links(
'int main(void) {return 0;}', dependencies: lib)
build = false
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.349084770 +0000
+++ 0066-build-remove-version-check-on-compiler-links-functio.patch 2024-11-27 17:17:38.259269549 +0000
@@ -1 +1 @@
-From 2909f9afbfd1b54ace204d40d57b68e6058aca28 Mon Sep 17 00:00:00 2001
+From 9808e7550b47f902227559193c5f6b4a89f2e68d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 2909f9afbfd1b54ace204d40d57b68e6058aca28 ]
+
@@ -17 +18,0 @@
-Cc: stable@dpdk.org
@@ -24 +24,0 @@
- drivers/common/qat/meson.build | 2 +-
@@ -26 +26 @@
- 2 files changed, 2 insertions(+), 2 deletions(-)
+ 1 file changed, 1 insertion(+), 1 deletion(-)
@@ -28,11 +27,0 @@
-diff --git a/drivers/common/qat/meson.build b/drivers/common/qat/meson.build
-index 3893b127dd..5a8de16fe0 100644
---- a/drivers/common/qat/meson.build
-+++ b/drivers/common/qat/meson.build
-@@ -44,5 +44,5 @@ else
- IMB_header = '#include<intel-ipsec-mb.h>'
- libipsecmb = cc.find_library('IPSec_MB', required: false)
-- if libipsecmb.found() and meson.version().version_compare('>=0.60') and cc.links(
-+ if libipsecmb.found() and cc.links(
- 'int main(void) {return 0;}', dependencies: libipsecmb)
- # version comes with quotes, so we split based on " and take the middle
@@ -40 +29 @@
-index 87bf965554..81631d3050 100644
+index e6448532bd..a017ebd25b 100644
@@ -43 +32 @@
-@@ -18,5 +18,5 @@ if not lib.found()
+@@ -14,5 +14,5 @@ if not lib.found()
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'hash: fix thash LFSR initialization' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (64 preceding siblings ...)
2024-11-27 17:18 ` patch 'build: remove version check on compiler links function' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'dmadev: fix potential null pointer access' " Kevin Traynor
` (54 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Vladimir Medvedkin; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/23128ef43fd91441d18b8a4651964c4a75e7b4d4
Thanks.
Kevin
---
From 23128ef43fd91441d18b8a4651964c4a75e7b4d4 Mon Sep 17 00:00:00 2001
From: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Date: Fri, 6 Sep 2024 17:01:41 +0000
Subject: [PATCH] hash: fix thash LFSR initialization
[ upstream commit ebf7f1188ea83d6154746e90d535392113ecb1e8 ]
Reverse polynomial for an LFSR was initialized improperly which
could generate improper bit sequence in some situations.
This patch implements proper polynomial reversing function.
Fixes: 28ebff11c2dc ("hash: add predictable RSS")
Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
---
lib/hash/rte_thash.c | 26 +++++++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/lib/hash/rte_thash.c b/lib/hash/rte_thash.c
index 2b97482cfb..c14e594914 100644
--- a/lib/hash/rte_thash.c
+++ b/lib/hash/rte_thash.c
@@ -162,4 +162,28 @@ thash_get_rand_poly(uint32_t poly_degree)
}
+static inline uint32_t
+get_rev_poly(uint32_t poly, int degree)
+{
+ int i;
+ /*
+ * The implicit highest coefficient of the polynomial
+ * becomes the lowest after reversal.
+ */
+ uint32_t rev_poly = 1;
+ uint32_t mask = (1 << degree) - 1;
+
+ /*
+ * Here we assume "poly" argument is an irreducible polynomial,
+ * thus the lowest coefficient of the "poly" must always be equal to "1".
+ * After the reversal, this the lowest coefficient becomes the highest and
+ * it is omitted since the highest coefficient is implicitly determined by
+ * degree of the polynomial.
+ */
+ for (i = 1; i < degree; i++)
+ rev_poly |= ((poly >> i) & 0x1) << (degree - i);
+
+ return rev_poly & mask;
+}
+
static struct thash_lfsr *
alloc_lfsr(struct rte_thash_ctx *ctx)
@@ -181,5 +205,5 @@ alloc_lfsr(struct rte_thash_ctx *ctx)
} while (lfsr->state == 0);
/* init reverse order polynomial */
- lfsr->rev_poly = (lfsr->poly >> 1) | (1 << (lfsr->deg - 1));
+ lfsr->rev_poly = get_rev_poly(lfsr->poly, lfsr->deg);
/* init proper rev_state*/
lfsr->rev_state = lfsr->state;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.378398637 +0000
+++ 0067-hash-fix-thash-LFSR-initialization.patch 2024-11-27 17:17:38.260269554 +0000
@@ -1 +1 @@
-From ebf7f1188ea83d6154746e90d535392113ecb1e8 Mon Sep 17 00:00:00 2001
+From 23128ef43fd91441d18b8a4651964c4a75e7b4d4 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ebf7f1188ea83d6154746e90d535392113ecb1e8 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 10721effe6..99a685f0c8 100644
+index 2b97482cfb..c14e594914 100644
@@ -22 +23 @@
-@@ -167,4 +167,28 @@ thash_get_rand_poly(uint32_t poly_degree)
+@@ -162,4 +162,28 @@ thash_get_rand_poly(uint32_t poly_degree)
@@ -51 +52 @@
-@@ -186,5 +210,5 @@ alloc_lfsr(struct rte_thash_ctx *ctx)
+@@ -181,5 +205,5 @@ alloc_lfsr(struct rte_thash_ctx *ctx)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'dmadev: fix potential null pointer access' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (65 preceding siblings ...)
2024-11-27 17:18 ` patch 'hash: fix thash LFSR initialization' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'power: fix mapped lcore ID' " Kevin Traynor
` (53 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Chengwen Feng; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/da78f529525d1432c5a2e7dc77d86b64a94bab1e
Thanks.
Kevin
---
From da78f529525d1432c5a2e7dc77d86b64a94bab1e Mon Sep 17 00:00:00 2001
From: Chengwen Feng <fengchengwen@huawei.com>
Date: Sat, 12 Oct 2024 17:17:34 +0800
Subject: [PATCH] dmadev: fix potential null pointer access
[ upstream commit e5389d427ec43ab805d0a1caed89b63656fd7fde ]
When rte_dma_vchan_status(dev_id, vchan, NULL) is called, a null pointer
access is triggered.
This patch adds the null pointer checker.
Fixes: 5e0f85912754 ("dmadev: add channel status check for testing use")
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
---
lib/dmadev/rte_dmadev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/dmadev/rte_dmadev.c b/lib/dmadev/rte_dmadev.c
index 4e2057d301..8b5c3934d4 100644
--- a/lib/dmadev/rte_dmadev.c
+++ b/lib/dmadev/rte_dmadev.c
@@ -707,5 +707,5 @@ rte_dma_vchan_status(int16_t dev_id, uint16_t vchan, enum rte_dma_vchan_status *
struct rte_dma_dev *dev = &rte_dma_devices[dev_id];
- if (!rte_dma_is_valid(dev_id))
+ if (!rte_dma_is_valid(dev_id) || status == NULL)
return -EINVAL;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.407178737 +0000
+++ 0068-dmadev-fix-potential-null-pointer-access.patch 2024-11-27 17:17:38.261269560 +0000
@@ -1 +1 @@
-From e5389d427ec43ab805d0a1caed89b63656fd7fde Mon Sep 17 00:00:00 2001
+From da78f529525d1432c5a2e7dc77d86b64a94bab1e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e5389d427ec43ab805d0a1caed89b63656fd7fde ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 845727210f..60c3d8ebf6 100644
+index 4e2057d301..8b5c3934d4 100644
@@ -22 +23 @@
-@@ -742,5 +742,5 @@ rte_dma_vchan_status(int16_t dev_id, uint16_t vchan, enum rte_dma_vchan_status *
+@@ -707,5 +707,5 @@ rte_dma_vchan_status(int16_t dev_id, uint16_t vchan, enum rte_dma_vchan_status *
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'power: fix mapped lcore ID' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (66 preceding siblings ...)
2024-11-27 17:18 ` patch 'dmadev: fix potential null pointer access' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/netvsc: fix using Tx queue higher than Rx queues' " Kevin Traynor
` (52 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Sivaprasad Tummala; +Cc: Konstantin Ananyev, Huisong Li, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/939535ca3bed8f1c9013baba9691ca356cca6d3b
Thanks.
Kevin
---
From 939535ca3bed8f1c9013baba9691ca356cca6d3b Mon Sep 17 00:00:00 2001
From: Sivaprasad Tummala <sivaprasad.tummala@amd.com>
Date: Fri, 18 Oct 2024 03:34:34 +0000
Subject: [PATCH] power: fix mapped lcore ID
[ upstream commit 5c9b07eeba55d527025f1f4945e2dbb366f21215 ]
This commit fixes an issue in the power library
related to using lcores mapped to different
physical cores (--lcores option in EAL).
Previously, the power library incorrectly accessed
CPU sysfs attributes for power management, treating
lcore IDs as CPU IDs.
e.g. with --lcores '1@128', lcore_id '1' was interpreted
as CPU_id instead of '128'.
This patch corrects the cpu_id based on lcore and CPU
mappings. It also constraints power management support
for lcores mapped to multiple physical cores/threads.
When multiple lcores are mapped to the same physical core,
invoking frequency scaling APIs on any lcore will apply the
changes effectively.
Fixes: 53e54bf81700 ("eal: new option --lcores for cpu assignment")
Signed-off-by: Sivaprasad Tummala <sivaprasad.tummala@amd.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@huawei.com>
Acked-by: Huisong Li <lihuisong@huawei.com>
---
app/test/test_power_cpufreq.c | 21 ++++++++++++++++++---
lib/power/power_acpi_cpufreq.c | 6 +++++-
lib/power/power_common.c | 23 +++++++++++++++++++++++
lib/power/power_common.h | 1 +
lib/power/power_cppc_cpufreq.c | 6 +++++-
lib/power/power_pstate_cpufreq.c | 6 +++++-
lib/power/rte_power_pmd_mgmt.c | 4 ++--
7 files changed, 59 insertions(+), 8 deletions(-)
diff --git a/app/test/test_power_cpufreq.c b/app/test/test_power_cpufreq.c
index 4d013cd7bb..051b9036dc 100644
--- a/app/test/test_power_cpufreq.c
+++ b/app/test/test_power_cpufreq.c
@@ -10,4 +10,5 @@
#include <inttypes.h>
#include <rte_cycles.h>
+#include <rte_lcore.h>
#include "test.h"
@@ -47,7 +48,8 @@ test_power_caps(void)
static uint32_t total_freq_num;
static uint32_t freqs[TEST_POWER_FREQS_NUM_MAX];
+static uint32_t cpu_id;
static int
-check_cur_freq(unsigned int lcore_id, uint32_t idx, bool turbo)
+check_cur_freq(__rte_unused unsigned int lcore_id, uint32_t idx, bool turbo)
{
#define TEST_POWER_CONVERT_TO_DECIMAL 10
@@ -63,5 +65,5 @@ check_cur_freq(unsigned int lcore_id, uint32_t idx, bool turbo)
if (snprintf(fullpath, sizeof(fullpath),
- TEST_POWER_SYSFILE_CPUINFO_FREQ, lcore_id) < 0) {
+ TEST_POWER_SYSFILE_CPUINFO_FREQ, cpu_id) < 0) {
return 0;
}
@@ -69,5 +71,5 @@ check_cur_freq(unsigned int lcore_id, uint32_t idx, bool turbo)
if (f == NULL) {
if (snprintf(fullpath, sizeof(fullpath),
- TEST_POWER_SYSFILE_SCALING_FREQ, lcore_id) < 0) {
+ TEST_POWER_SYSFILE_SCALING_FREQ, cpu_id) < 0) {
return 0;
}
@@ -487,4 +489,17 @@ test_power_cpufreq(void)
int ret = -1;
enum power_management_env env;
+ rte_cpuset_t lcore_cpus;
+
+ lcore_cpus = rte_lcore_cpuset(TEST_POWER_LCORE_ID);
+ if (CPU_COUNT(&lcore_cpus) != 1) {
+ printf("Power management doesn't support lcore %u mapping to %u CPUs\n",
+ TEST_POWER_LCORE_ID,
+ CPU_COUNT(&lcore_cpus));
+ return TEST_SKIPPED;
+ }
+ for (cpu_id = 0; cpu_id < CPU_SETSIZE; cpu_id++) {
+ if (CPU_ISSET(cpu_id, &lcore_cpus))
+ break;
+ }
/* Test initialisation of a valid lcore */
diff --git a/lib/power/power_acpi_cpufreq.c b/lib/power/power_acpi_cpufreq.c
index 402ed8c99b..1bb74bdca6 100644
--- a/lib/power/power_acpi_cpufreq.c
+++ b/lib/power/power_acpi_cpufreq.c
@@ -265,5 +265,9 @@ power_acpi_cpufreq_init(unsigned int lcore_id)
}
- pi->lcore_id = lcore_id;
+ if (power_get_lcore_mapped_cpu_id(lcore_id, &pi->lcore_id) < 0) {
+ RTE_LOG(ERR, POWER, "Cannot get CPU ID mapped for lcore %u", lcore_id);
+ return -1;
+ }
+
/* Check and set the governor */
if (power_set_governor_userspace(pi) < 0) {
diff --git a/lib/power/power_common.c b/lib/power/power_common.c
index 1e09facb86..e2a8c33604 100644
--- a/lib/power/power_common.c
+++ b/lib/power/power_common.c
@@ -10,4 +10,5 @@
#include <rte_log.h>
#include <rte_string_fns.h>
+#include <rte_lcore.h>
#include "power_common.h"
@@ -203,2 +204,24 @@ out:
return ret;
}
+
+int power_get_lcore_mapped_cpu_id(uint32_t lcore_id, uint32_t *cpu_id)
+{
+ rte_cpuset_t lcore_cpus;
+ uint32_t cpu;
+
+ lcore_cpus = rte_lcore_cpuset(lcore_id);
+ if (CPU_COUNT(&lcore_cpus) != 1) {
+ RTE_LOG(ERR, POWER,
+ "Power library does not support lcore %u mapping to %u CPUs",
+ lcore_id, CPU_COUNT(&lcore_cpus));
+ return -1;
+ }
+
+ for (cpu = 0; cpu < CPU_SETSIZE; cpu++) {
+ if (CPU_ISSET(cpu, &lcore_cpus))
+ break;
+ }
+ *cpu_id = cpu;
+
+ return 0;
+}
diff --git a/lib/power/power_common.h b/lib/power/power_common.h
index 0b264edfa5..5b1ac877e6 100644
--- a/lib/power/power_common.h
+++ b/lib/power/power_common.h
@@ -29,4 +29,5 @@ int read_core_sysfs_u32(FILE *f, uint32_t *val);
int read_core_sysfs_s(FILE *f, char *buf, unsigned int len);
int write_core_sysfs_s(FILE *f, const char *str);
+int power_get_lcore_mapped_cpu_id(uint32_t lcore_id, uint32_t *cpu_id);
#endif /* _POWER_COMMON_H_ */
diff --git a/lib/power/power_cppc_cpufreq.c b/lib/power/power_cppc_cpufreq.c
index 3223a6a445..e03de99be8 100644
--- a/lib/power/power_cppc_cpufreq.c
+++ b/lib/power/power_cppc_cpufreq.c
@@ -361,5 +361,9 @@ power_cppc_cpufreq_init(unsigned int lcore_id)
}
- pi->lcore_id = lcore_id;
+ if (power_get_lcore_mapped_cpu_id(lcore_id, &pi->lcore_id) < 0) {
+ RTE_LOG(ERR, POWER, "Cannot get CPU ID mapped for lcore %u", lcore_id);
+ return -1;
+ }
+
/* Check and set the governor */
if (power_set_governor_userspace(pi) < 0) {
diff --git a/lib/power/power_pstate_cpufreq.c b/lib/power/power_pstate_cpufreq.c
index 86f8a76e46..c249f92e5a 100644
--- a/lib/power/power_pstate_cpufreq.c
+++ b/lib/power/power_pstate_cpufreq.c
@@ -535,5 +535,9 @@ power_pstate_cpufreq_init(unsigned int lcore_id)
}
- pi->lcore_id = lcore_id;
+ if (power_get_lcore_mapped_cpu_id(lcore_id, &pi->lcore_id) < 0) {
+ RTE_LOG(ERR, POWER, "Cannot get CPU ID mapped for lcore %u", lcore_id);
+ return -1;
+ }
+
/* Check and set the governor */
if (power_set_governor_performance(pi) < 0) {
diff --git a/lib/power/rte_power_pmd_mgmt.c b/lib/power/rte_power_pmd_mgmt.c
index d73f450538..ea86ec01c3 100644
--- a/lib/power/rte_power_pmd_mgmt.c
+++ b/lib/power/rte_power_pmd_mgmt.c
@@ -417,5 +417,5 @@ check_scale(unsigned int lcore)
!rte_power_check_env_supported(PM_ENV_PSTATE_CPUFREQ) &&
!rte_power_check_env_supported(PM_ENV_CPPC_CPUFREQ)) {
- POWER_LOG(DEBUG, "Only ACPI, PSTATE, or CPPC modes are supported");
+ RTE_LOG(DEBUG, POWER, "Only ACPI, PSTATE, or CPPC modes are supported");
return -ENOTSUP;
}
@@ -428,5 +428,5 @@ check_scale(unsigned int lcore)
if (env != PM_ENV_ACPI_CPUFREQ && env != PM_ENV_PSTATE_CPUFREQ &&
env != PM_ENV_CPPC_CPUFREQ) {
- POWER_LOG(DEBUG, "Unable to initialize ACPI, PSTATE, or CPPC modes");
+ RTE_LOG(DEBUG, POWER, "Unable to initialize ACPI, PSTATE, or CPPC modes");
return -ENOTSUP;
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.435934249 +0000
+++ 0069-power-fix-mapped-lcore-ID.patch 2024-11-27 17:17:38.262269565 +0000
@@ -1 +1 @@
-From 5c9b07eeba55d527025f1f4945e2dbb366f21215 Mon Sep 17 00:00:00 2001
+From 939535ca3bed8f1c9013baba9691ca356cca6d3b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 5c9b07eeba55d527025f1f4945e2dbb366f21215 ]
+
@@ -25 +26,0 @@
-Cc: stable@dpdk.org
@@ -31,8 +32,8 @@
- app/test/test_power_cpufreq.c | 21 ++++++++++++++++++---
- lib/power/power_acpi_cpufreq.c | 6 +++++-
- lib/power/power_amd_pstate_cpufreq.c | 6 +++++-
- lib/power/power_common.c | 23 +++++++++++++++++++++++
- lib/power/power_common.h | 1 +
- lib/power/power_cppc_cpufreq.c | 6 +++++-
- lib/power/power_pstate_cpufreq.c | 6 +++++-
- 7 files changed, 62 insertions(+), 7 deletions(-)
+ app/test/test_power_cpufreq.c | 21 ++++++++++++++++++---
+ lib/power/power_acpi_cpufreq.c | 6 +++++-
+ lib/power/power_common.c | 23 +++++++++++++++++++++++
+ lib/power/power_common.h | 1 +
+ lib/power/power_cppc_cpufreq.c | 6 +++++-
+ lib/power/power_pstate_cpufreq.c | 6 +++++-
+ lib/power/rte_power_pmd_mgmt.c | 4 ++--
+ 7 files changed, 59 insertions(+), 8 deletions(-)
@@ -41 +42 @@
-index 619b2811c6..edbd34424e 100644
+index 4d013cd7bb..051b9036dc 100644
@@ -74 +75 @@
-@@ -498,4 +500,17 @@ test_power_cpufreq(void)
+@@ -487,4 +489,17 @@ test_power_cpufreq(void)
@@ -93 +94 @@
-index abad53bef1..ae809fbb60 100644
+index 402ed8c99b..1bb74bdca6 100644
@@ -101,16 +102 @@
-+ POWER_LOG(ERR, "Cannot get CPU ID mapped for lcore %u", lcore_id);
-+ return -1;
-+ }
-+
- /* Check and set the governor */
- if (power_set_governor_userspace(pi) < 0) {
-diff --git a/lib/power/power_amd_pstate_cpufreq.c b/lib/power/power_amd_pstate_cpufreq.c
-index 4809d45a22..2b728eca18 100644
---- a/lib/power/power_amd_pstate_cpufreq.c
-+++ b/lib/power/power_amd_pstate_cpufreq.c
-@@ -383,5 +383,9 @@ power_amd_pstate_cpufreq_init(unsigned int lcore_id)
- }
-
-- pi->lcore_id = lcore_id;
-+ if (power_get_lcore_mapped_cpu_id(lcore_id, &pi->lcore_id) < 0) {
-+ POWER_LOG(ERR, "Cannot get CPU ID mapped for lcore %u", lcore_id);
++ RTE_LOG(ERR, POWER, "Cannot get CPU ID mapped for lcore %u", lcore_id);
@@ -123 +109 @@
-index 590986d5ef..b47c63a5f1 100644
+index 1e09facb86..e2a8c33604 100644
@@ -132 +118 @@
-@@ -205,2 +206,24 @@ out:
+@@ -203,2 +204,24 @@ out:
@@ -143 +129 @@
-+ POWER_LOG(ERR,
++ RTE_LOG(ERR, POWER,
@@ -158 +144 @@
-index 83f742f42a..82fb94d0c0 100644
+index 0b264edfa5..5b1ac877e6 100644
@@ -161 +147 @@
-@@ -32,4 +32,5 @@ int read_core_sysfs_u32(FILE *f, uint32_t *val);
+@@ -29,4 +29,5 @@ int read_core_sysfs_u32(FILE *f, uint32_t *val);
@@ -168 +154 @@
-index e73f4520d0..cc9305bdfe 100644
+index 3223a6a445..e03de99be8 100644
@@ -171 +157 @@
-@@ -369,5 +369,9 @@ power_cppc_cpufreq_init(unsigned int lcore_id)
+@@ -361,5 +361,9 @@ power_cppc_cpufreq_init(unsigned int lcore_id)
@@ -176 +162 @@
-+ POWER_LOG(ERR, "Cannot get CPU ID mapped for lcore %u", lcore_id);
++ RTE_LOG(ERR, POWER, "Cannot get CPU ID mapped for lcore %u", lcore_id);
@@ -183 +169 @@
-index 1c2a91a178..4755909466 100644
+index 86f8a76e46..c249f92e5a 100644
@@ -186 +172 @@
-@@ -571,5 +571,9 @@ power_pstate_cpufreq_init(unsigned int lcore_id)
+@@ -535,5 +535,9 @@ power_pstate_cpufreq_init(unsigned int lcore_id)
@@ -191 +177 @@
-+ POWER_LOG(ERR, "Cannot get CPU ID mapped for lcore %u", lcore_id);
++ RTE_LOG(ERR, POWER, "Cannot get CPU ID mapped for lcore %u", lcore_id);
@@ -196,0 +183,18 @@
+diff --git a/lib/power/rte_power_pmd_mgmt.c b/lib/power/rte_power_pmd_mgmt.c
+index d73f450538..ea86ec01c3 100644
+--- a/lib/power/rte_power_pmd_mgmt.c
++++ b/lib/power/rte_power_pmd_mgmt.c
+@@ -417,5 +417,5 @@ check_scale(unsigned int lcore)
+ !rte_power_check_env_supported(PM_ENV_PSTATE_CPUFREQ) &&
+ !rte_power_check_env_supported(PM_ENV_CPPC_CPUFREQ)) {
+- POWER_LOG(DEBUG, "Only ACPI, PSTATE, or CPPC modes are supported");
++ RTE_LOG(DEBUG, POWER, "Only ACPI, PSTATE, or CPPC modes are supported");
+ return -ENOTSUP;
+ }
+@@ -428,5 +428,5 @@ check_scale(unsigned int lcore)
+ if (env != PM_ENV_ACPI_CPUFREQ && env != PM_ENV_PSTATE_CPUFREQ &&
+ env != PM_ENV_CPPC_CPUFREQ) {
+- POWER_LOG(DEBUG, "Unable to initialize ACPI, PSTATE, or CPPC modes");
++ RTE_LOG(DEBUG, POWER, "Unable to initialize ACPI, PSTATE, or CPPC modes");
+ return -ENOTSUP;
+ }
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/netvsc: fix using Tx queue higher than Rx queues' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (67 preceding siblings ...)
2024-11-27 17:18 ` patch 'power: fix mapped lcore ID' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/hns3: restrict tunnel flow rule to one header' " Kevin Traynor
` (51 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Alan Elder; +Cc: Long Li, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/b140a98cc6532d9f37470b2b19c1a4be4b9845e8
Thanks.
Kevin
---
From b140a98cc6532d9f37470b2b19c1a4be4b9845e8 Mon Sep 17 00:00:00 2001
From: Alan Elder <alan.elder@microsoft.com>
Date: Thu, 17 Oct 2024 12:20:29 -0700
Subject: [PATCH] net/netvsc: fix using Tx queue higher than Rx queues
[ upstream commit e90020535c03cf9e60448ba623cac3301f111dae ]
The previous code allowed the number of Tx queues to be set higher than
the number of Rx queues. If a packet was sent on a Tx queue with index
>= number Rx queues there was a segfault due to accessing beyond the end
of the dev->data->rx_queues[] array.
This commit fixes the issue by creating an Rx queue for every Tx queue
meaning that an event buffer is allocated to handle receiving Tx
completion messages.
mbuf pool and Rx ring are not allocated for these additional Rx queues
and RSS configuration ensures that no packets are received on them.
Fixes: 4e9c73e96e83 ("net/netvsc: add Hyper-V network device")
Signed-off-by: Alan Elder <alan.elder@microsoft.com>
Signed-off-by: Long Li <longli@microsoft.com>
---
drivers/net/netvsc/hn_ethdev.c | 9 +++++
drivers/net/netvsc/hn_rxtx.c | 69 +++++++++++++++++++++++++++++-----
2 files changed, 69 insertions(+), 9 deletions(-)
diff --git a/drivers/net/netvsc/hn_ethdev.c b/drivers/net/netvsc/hn_ethdev.c
index 787139c0b2..39110f0176 100644
--- a/drivers/net/netvsc/hn_ethdev.c
+++ b/drivers/net/netvsc/hn_ethdev.c
@@ -313,4 +313,13 @@ static int hn_rss_reta_update(struct rte_eth_dev *dev,
if (reta_conf[idx].mask & mask)
hv->rss_ind[i] = reta_conf[idx].reta[shift];
+
+ /*
+ * Ensure we don't allow config that directs traffic to an Rx
+ * queue that we aren't going to poll
+ */
+ if (hv->rss_ind[i] >= dev->data->nb_rx_queues) {
+ PMD_DRV_LOG(ERR, "RSS distributing traffic to invalid Rx queue");
+ return -EINVAL;
+ }
}
diff --git a/drivers/net/netvsc/hn_rxtx.c b/drivers/net/netvsc/hn_rxtx.c
index aba206565d..69588bc264 100644
--- a/drivers/net/netvsc/hn_rxtx.c
+++ b/drivers/net/netvsc/hn_rxtx.c
@@ -235,4 +235,15 @@ static void hn_reset_txagg(struct hn_tx_queue *txq)
}
+static void
+hn_rx_queue_free_common(struct hn_rx_queue *rxq)
+{
+ if (!rxq)
+ return;
+
+ rte_free(rxq->rxbuf_info);
+ rte_free(rxq->event_buf);
+ rte_free(rxq);
+}
+
int
hn_dev_tx_queue_setup(struct rte_eth_dev *dev,
@@ -244,4 +255,5 @@ hn_dev_tx_queue_setup(struct rte_eth_dev *dev,
struct hn_data *hv = dev->data->dev_private;
struct hn_tx_queue *txq;
+ struct hn_rx_queue *rxq = NULL;
char name[RTE_MEMPOOL_NAMESIZE];
uint32_t tx_free_thresh;
@@ -302,4 +314,25 @@ hn_dev_tx_queue_setup(struct rte_eth_dev *dev,
}
+ /*
+ * If there are more Tx queues than Rx queues, allocate rx_queues
+ * with event buffer so that Tx completion messages can still be
+ * received
+ */
+ if (queue_idx >= dev->data->nb_rx_queues) {
+ rxq = hn_rx_queue_alloc(hv, queue_idx, socket_id);
+
+ if (!rxq) {
+ err = -ENOMEM;
+ goto error;
+ }
+
+ /*
+ * Don't allocate mbuf pool or rx ring. RSS is always configured
+ * to ensure packets aren't received by this Rx queue.
+ */
+ rxq->mb_pool = NULL;
+ rxq->rx_ring = NULL;
+ }
+
txq->agg_szmax = RTE_MIN(hv->chim_szmax, hv->rndis_agg_size);
txq->agg_pktmax = hv->rndis_agg_pkts;
@@ -312,4 +345,6 @@ hn_dev_tx_queue_setup(struct rte_eth_dev *dev,
if (err == 0) {
dev->data->tx_queues[queue_idx] = txq;
+ if (rxq != NULL)
+ dev->data->rx_queues[queue_idx] = rxq;
return 0;
}
@@ -319,4 +354,5 @@ error:
rte_mempool_free(txq->txdesc_pool);
rte_memzone_free(txq->tx_rndis_mz);
+ hn_rx_queue_free_common(rxq);
rte_free(txq);
return err;
@@ -365,4 +401,10 @@ hn_dev_tx_queue_release(struct rte_eth_dev *dev, uint16_t qid)
if (!txq)
return;
+ /*
+ * Free any Rx queues allocated for a Tx queue without a corresponding
+ * Rx queue
+ */
+ if (qid >= dev->data->nb_rx_queues)
+ hn_rx_queue_free_common(dev->data->rx_queues[qid]);
if (txq->txdesc_pool)
@@ -555,8 +597,10 @@ static void hn_rxpkt(struct hn_rx_queue *rxq, struct hn_rx_bufinfo *rxb,
{
struct hn_data *hv = rxq->hv;
- struct rte_mbuf *m;
+ struct rte_mbuf *m = NULL;
bool use_extbuf = false;
- m = rte_pktmbuf_alloc(rxq->mb_pool);
+ if (likely(rxq->mb_pool != NULL))
+ m = rte_pktmbuf_alloc(rxq->mb_pool);
+
if (unlikely(!m)) {
struct rte_eth_dev *dev =
@@ -945,5 +989,13 @@ hn_dev_rx_queue_setup(struct rte_eth_dev *dev,
rxq = hv->primary;
} else {
- rxq = hn_rx_queue_alloc(hv, queue_idx, socket_id);
+ /*
+ * If the number of Tx queues was previously greater than the
+ * number of Rx queues, we may already have allocated an rxq.
+ */
+ if (!dev->data->rx_queues[queue_idx])
+ rxq = hn_rx_queue_alloc(hv, queue_idx, socket_id);
+ else
+ rxq = dev->data->rx_queues[queue_idx];
+
if (!rxq)
return -ENOMEM;
@@ -978,7 +1030,8 @@ hn_dev_rx_queue_setup(struct rte_eth_dev *dev,
fail:
rte_ring_free(rxq->rx_ring);
- rte_free(rxq->rxbuf_info);
- rte_free(rxq->event_buf);
- rte_free(rxq);
+ /* Only free rxq if it was created in this function. */
+ if (!dev->data->rx_queues[queue_idx])
+ hn_rx_queue_free_common(rxq);
+
return error;
}
@@ -1001,7 +1054,5 @@ hn_rx_queue_free(struct hn_rx_queue *rxq, bool keep_primary)
return;
- rte_free(rxq->rxbuf_info);
- rte_free(rxq->event_buf);
- rte_free(rxq);
+ hn_rx_queue_free_common(rxq);
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.466360543 +0000
+++ 0070-net-netvsc-fix-using-Tx-queue-higher-than-Rx-queues.patch 2024-11-27 17:17:38.264269575 +0000
@@ -1 +1 @@
-From e90020535c03cf9e60448ba623cac3301f111dae Mon Sep 17 00:00:00 2001
+From b140a98cc6532d9f37470b2b19c1a4be4b9845e8 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e90020535c03cf9e60448ba623cac3301f111dae ]
+
@@ -19 +20,0 @@
-Cc: stable@dpdk.org
@@ -29 +30 @@
-index f8cb05a118..1736cb5d07 100644
+index 787139c0b2..39110f0176 100644
@@ -32 +33 @@
-@@ -314,4 +314,13 @@ static int hn_rss_reta_update(struct rte_eth_dev *dev,
+@@ -313,4 +313,13 @@ static int hn_rss_reta_update(struct rte_eth_dev *dev,
@@ -47 +48 @@
-index 870f62e5fa..52aedb001f 100644
+index aba206565d..69588bc264 100644
@@ -50 +51 @@
-@@ -223,4 +223,15 @@ static void hn_reset_txagg(struct hn_tx_queue *txq)
+@@ -235,4 +235,15 @@ static void hn_reset_txagg(struct hn_tx_queue *txq)
@@ -66 +67 @@
-@@ -232,4 +243,5 @@ hn_dev_tx_queue_setup(struct rte_eth_dev *dev,
+@@ -244,4 +255,5 @@ hn_dev_tx_queue_setup(struct rte_eth_dev *dev,
@@ -72 +73 @@
-@@ -290,4 +302,25 @@ hn_dev_tx_queue_setup(struct rte_eth_dev *dev,
+@@ -302,4 +314,25 @@ hn_dev_tx_queue_setup(struct rte_eth_dev *dev,
@@ -98 +99 @@
-@@ -300,4 +333,6 @@ hn_dev_tx_queue_setup(struct rte_eth_dev *dev,
+@@ -312,4 +345,6 @@ hn_dev_tx_queue_setup(struct rte_eth_dev *dev,
@@ -105,2 +106,2 @@
-@@ -306,4 +341,5 @@ error:
- rte_mempool_free(txq->txdesc_pool);
+@@ -319,4 +354,5 @@ error:
+ rte_mempool_free(txq->txdesc_pool);
@@ -111 +112 @@
-@@ -352,4 +388,10 @@ hn_dev_tx_queue_release(struct rte_eth_dev *dev, uint16_t qid)
+@@ -365,4 +401,10 @@ hn_dev_tx_queue_release(struct rte_eth_dev *dev, uint16_t qid)
@@ -121,2 +122,2 @@
- rte_mempool_free(txq->txdesc_pool);
-@@ -541,8 +583,10 @@ static void hn_rxpkt(struct hn_rx_queue *rxq, struct hn_rx_bufinfo *rxb,
+ if (txq->txdesc_pool)
+@@ -555,8 +597,10 @@ static void hn_rxpkt(struct hn_rx_queue *rxq, struct hn_rx_bufinfo *rxb,
@@ -135 +136 @@
-@@ -931,5 +975,13 @@ hn_dev_rx_queue_setup(struct rte_eth_dev *dev,
+@@ -945,5 +989,13 @@ hn_dev_rx_queue_setup(struct rte_eth_dev *dev,
@@ -150 +151 @@
-@@ -964,7 +1016,8 @@ hn_dev_rx_queue_setup(struct rte_eth_dev *dev,
+@@ -978,7 +1030,8 @@ hn_dev_rx_queue_setup(struct rte_eth_dev *dev,
@@ -162 +163 @@
-@@ -987,7 +1040,5 @@ hn_rx_queue_free(struct hn_rx_queue *rxq, bool keep_primary)
+@@ -1001,7 +1054,5 @@ hn_rx_queue_free(struct hn_rx_queue *rxq, bool keep_primary)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/hns3: restrict tunnel flow rule to one header' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (68 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/netvsc: fix using Tx queue higher than Rx queues' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/ice: detect stopping a flow director queue twice' " Kevin Traynor
` (50 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Chengwen Feng; +Cc: Jie Hai, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/f5cfbef2f053f1cf33fa2fd0112724660c9efa0e
Thanks.
Kevin
---
From f5cfbef2f053f1cf33fa2fd0112724660c9efa0e Mon Sep 17 00:00:00 2001
From: Chengwen Feng <fengchengwen@huawei.com>
Date: Fri, 18 Oct 2024 14:19:38 +0800
Subject: [PATCH] net/hns3: restrict tunnel flow rule to one header
[ upstream commit 8887c207b9373a1875031c5346706f698322d66d ]
The device's flow director supports a maximum of one tunnel header, if
passed more than one tunnel header from rte-flow API, the driver should
return error.
Fixes: fcba820d9b9e ("net/hns3: support flow director")
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
Signed-off-by: Jie Hai <haijie1@huawei.com>
---
drivers/net/hns3/hns3_flow.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/hns3/hns3_flow.c b/drivers/net/hns3/hns3_flow.c
index 74b08451e1..4d0d17f991 100644
--- a/drivers/net/hns3/hns3_flow.c
+++ b/drivers/net/hns3/hns3_flow.c
@@ -1136,4 +1136,9 @@ hns3_parse_tunnel(const struct rte_flow_item *item, struct hns3_fdir_rule *rule,
"with mask");
+ if (rule->key_conf.spec.tunnel_type != 0)
+ return rte_flow_error_set(error, EINVAL,
+ RTE_FLOW_ERROR_TYPE_ITEM,
+ item, "Too many tunnel headers!");
+
switch (item->type) {
case RTE_FLOW_ITEM_TYPE_VXLAN:
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.496179625 +0000
+++ 0071-net-hns3-restrict-tunnel-flow-rule-to-one-header.patch 2024-11-27 17:17:38.265269580 +0000
@@ -1 +1 @@
-From 8887c207b9373a1875031c5346706f698322d66d Mon Sep 17 00:00:00 2001
+From f5cfbef2f053f1cf33fa2fd0112724660c9efa0e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8887c207b9373a1875031c5346706f698322d66d ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index bf1eee506d..5586708a5d 100644
+index 74b08451e1..4d0d17f991 100644
@@ -23 +24 @@
-@@ -1222,4 +1222,9 @@ hns3_parse_tunnel(const struct rte_flow_item *item, struct hns3_fdir_rule *rule,
+@@ -1136,4 +1136,9 @@ hns3_parse_tunnel(const struct rte_flow_item *item, struct hns3_fdir_rule *rule,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/ice: detect stopping a flow director queue twice' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (69 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/hns3: restrict tunnel flow rule to one header' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/ixgbe: fix link status delay on FreeBSD' " Kevin Traynor
` (49 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Bruce Richardson; +Cc: Stephen Hemminger, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/02273028682b7badad7fd837926f284a04cc7d7a
Thanks.
Kevin
---
From 02273028682b7badad7fd837926f284a04cc7d7a Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Tue, 22 Oct 2024 17:39:41 +0100
Subject: [PATCH] net/ice: detect stopping a flow director queue twice
[ upstream commit 7b230d43e8061bdaba02a41f601bb8e0b5dbff03 ]
If the flow-director queue is stopped at some point during the running
of an application, the shutdown procedure for the port issues an error
as it tries to stop the queue a second time, and fails to do so. We can
eliminate this error by setting the tail-register pointer to NULL on
stop, and checking for that condition in subsequent stop calls. Since
the register pointer is set on start, any restarting of the queue will
allow a stop call to progress as normal.
Fixes: 84dc7a95a2d3 ("net/ice: enable flow director engine")
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/net/ice/ice_rxtx.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/ice/ice_rxtx.c b/drivers/net/ice/ice_rxtx.c
index 9995561fe3..5e08ff0ca0 100644
--- a/drivers/net/ice/ice_rxtx.c
+++ b/drivers/net/ice/ice_rxtx.c
@@ -1045,4 +1045,8 @@ ice_fdir_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)
return -EINVAL;
}
+ if (txq->qtx_tail == NULL) {
+ PMD_DRV_LOG(INFO, "TX queue %u not started", tx_queue_id);
+ return 0;
+ }
vsi = txq->vsi;
@@ -1059,4 +1063,5 @@ ice_fdir_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)
txq->tx_rel_mbufs(txq);
+ txq->qtx_tail = NULL;
return 0;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.525781307 +0000
+++ 0072-net-ice-detect-stopping-a-flow-director-queue-twice.patch 2024-11-27 17:17:38.268269596 +0000
@@ -1 +1 @@
-From 7b230d43e8061bdaba02a41f601bb8e0b5dbff03 Mon Sep 17 00:00:00 2001
+From 02273028682b7badad7fd837926f284a04cc7d7a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7b230d43e8061bdaba02a41f601bb8e0b5dbff03 ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index d2f9edc221..024d97cb46 100644
+index 9995561fe3..5e08ff0ca0 100644
@@ -27 +28 @@
-@@ -1140,4 +1140,8 @@ ice_fdir_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)
+@@ -1045,4 +1045,8 @@ ice_fdir_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)
@@ -36 +37 @@
-@@ -1154,4 +1158,5 @@ ice_fdir_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)
+@@ -1059,4 +1063,5 @@ ice_fdir_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/ixgbe: fix link status delay on FreeBSD' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (70 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/ice: detect stopping a flow director queue twice' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/mvneta: fix possible out-of-bounds write' " Kevin Traynor
` (48 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Lewis Donzis; +Cc: Stephen Hemminger, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/67314fb203bae34cbfd018d0782845c618c39067
Thanks.
Kevin
---
From 67314fb203bae34cbfd018d0782845c618c39067 Mon Sep 17 00:00:00 2001
From: Lewis Donzis <lew@perftech.com>
Date: Tue, 22 Oct 2024 09:42:05 -0500
Subject: [PATCH] net/ixgbe: fix link status delay on FreeBSD
[ upstream commit f775386d92d68e534600fcff3fc4bcaa30d3e68c ]
Forcing wait true prevents checking link status without delay, because
the function will wait more than 10 seconds for link status to be true,
even if the API caller requested no waiting.
Fixes: 0012111a3d87 ("net/ixgbe: fix link status synchronization on BSD")
Signed-off-by: Lewis Donzis <lew@perftech.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/net/ixgbe/ixgbe_ethdev.c | 5 -----
1 file changed, 5 deletions(-)
diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 4ba25435fd..df3baa6483 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -4305,9 +4305,4 @@ ixgbe_dev_link_update_share(struct rte_eth_dev *dev,
wait = 0;
-/* BSD has no interrupt mechanism, so force NIC status synchronization. */
-#ifdef RTE_EXEC_ENV_FREEBSD
- wait = 1;
-#endif
-
if (vf)
diag = ixgbevf_check_link(hw, &link_speed, &link_up, wait);
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.556323004 +0000
+++ 0073-net-ixgbe-fix-link-status-delay-on-FreeBSD.patch 2024-11-27 17:17:38.272269617 +0000
@@ -1 +1 @@
-From f775386d92d68e534600fcff3fc4bcaa30d3e68c Mon Sep 17 00:00:00 2001
+From 67314fb203bae34cbfd018d0782845c618c39067 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f775386d92d68e534600fcff3fc4bcaa30d3e68c ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index ab37c37469..008760e315 100644
+index 4ba25435fd..df3baa6483 100644
@@ -23 +24 @@
-@@ -4315,9 +4315,4 @@ ixgbe_dev_link_update_share(struct rte_eth_dev *dev,
+@@ -4305,9 +4305,4 @@ ixgbe_dev_link_update_share(struct rte_eth_dev *dev,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/mvneta: fix possible out-of-bounds write' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (71 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/ixgbe: fix link status delay on FreeBSD' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'crypto/openssl: fix 3DES-CTR with big endian CPUs' " Kevin Traynor
` (47 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Chengwen Feng; +Cc: Ferruh Yigit, Stephen Hemminger, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/45d6cd5440c63da87a2e8a2573b43a778194e50f
Thanks.
Kevin
---
From 45d6cd5440c63da87a2e8a2573b43a778194e50f Mon Sep 17 00:00:00 2001
From: Chengwen Feng <fengchengwen@huawei.com>
Date: Thu, 10 Oct 2024 00:53:26 +0000
Subject: [PATCH] net/mvneta: fix possible out-of-bounds write
[ upstream commit c705c67d304b9450824a169b652520c2358c6aee ]
The mvneta_ifnames_get() function will save 'iface' value to ifnames,
it will out-of-bounds write if passed many iface pairs (e.g.
'iface=xxx,iface=xxx,...').
Fixes: 4ccc8d770d3b ("net/mvneta: add PMD skeleton")
Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/net/mvneta/mvneta_ethdev.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/net/mvneta/mvneta_ethdev.c b/drivers/net/mvneta/mvneta_ethdev.c
index 309336eec3..3163f7a0c3 100644
--- a/drivers/net/mvneta/mvneta_ethdev.c
+++ b/drivers/net/mvneta/mvneta_ethdev.c
@@ -92,4 +92,10 @@ mvneta_ifnames_get(const char *key __rte_unused, const char *value,
struct mvneta_ifnames *ifnames = extra_args;
+ if (ifnames->idx >= NETA_NUM_ETH_PPIO) {
+ MVNETA_LOG(ERR, "Too many ifnames specified (max %u)",
+ NETA_NUM_ETH_PPIO);
+ return -EINVAL;
+ }
+
ifnames->names[ifnames->idx++] = value;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.588598324 +0000
+++ 0074-net-mvneta-fix-possible-out-of-bounds-write.patch 2024-11-27 17:17:38.272269617 +0000
@@ -1 +1 @@
-From c705c67d304b9450824a169b652520c2358c6aee Mon Sep 17 00:00:00 2001
+From 45d6cd5440c63da87a2e8a2573b43a778194e50f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c705c67d304b9450824a169b652520c2358c6aee ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 3841c1ebe9..f99f9e6289 100644
+index 309336eec3..3163f7a0c3 100644
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'crypto/openssl: fix 3DES-CTR with big endian CPUs' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (72 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/mvneta: fix possible out-of-bounds write' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/mlx5: fix memory leak in metering' " Kevin Traynor
` (46 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: David Marchand; +Cc: Morten Brørup, Hemant Agrawal, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/9f3dc338f2f4e357e422431bc778992d94d60ace
Thanks.
Kevin
---
From 9f3dc338f2f4e357e422431bc778992d94d60ace Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Fri, 25 Oct 2024 09:04:21 +0200
Subject: [PATCH] crypto/openssl: fix 3DES-CTR with big endian CPUs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit 97afd07ca79c7270480a65febd7f616a4c0b07ca ]
Caught by code review.
Don't byte swap unconditionally (assuming that CPU is little endian is
wrong). Instead, convert from big endian to cpu and vice versa.
Besides, avoid unaligned accesses and remove the ctr_inc helper that is
not used anywhere else.
Fixes: d61f70b4c918 ("crypto/libcrypto: add driver for OpenSSL library")
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/crypto/openssl/rte_openssl_pmd.c | 28 ++++++++----------------
1 file changed, 9 insertions(+), 19 deletions(-)
diff --git a/drivers/crypto/openssl/rte_openssl_pmd.c b/drivers/crypto/openssl/rte_openssl_pmd.c
index a321258980..a75fb094ee 100644
--- a/drivers/crypto/openssl/rte_openssl_pmd.c
+++ b/drivers/crypto/openssl/rte_openssl_pmd.c
@@ -5,4 +5,5 @@
#define OPENSSL_API_COMPAT 0x10100000L
+#include <rte_byteorder.h>
#include <rte_common.h>
#include <rte_hexdump.h>
@@ -44,20 +45,4 @@ static void HMAC_CTX_free(HMAC_CTX *ctx)
static int cryptodev_openssl_remove(struct rte_vdev_device *vdev);
-/*----------------------------------------------------------------------------*/
-
-/**
- * Increment counter by 1
- * Counter is 64 bit array, big-endian
- */
-static void
-ctr_inc(uint8_t *ctr)
-{
- uint64_t *ctr64 = (uint64_t *)ctr;
-
- *ctr64 = __builtin_bswap64(*ctr64);
- (*ctr64)++;
- *ctr64 = __builtin_bswap64(*ctr64);
-}
-
/*
*------------------------------------------------------------------------------
@@ -1013,5 +998,6 @@ process_openssl_cipher_des3ctr(struct rte_mbuf *mbuf_src, uint8_t *dst,
int offset, uint8_t *iv, int srclen, EVP_CIPHER_CTX *ctx)
{
- uint8_t ebuf[8], ctr[8];
+ uint8_t ebuf[8];
+ uint64_t ctr;
int unused, n;
struct rte_mbuf *m;
@@ -1029,13 +1015,17 @@ process_openssl_cipher_des3ctr(struct rte_mbuf *mbuf_src, uint8_t *dst,
l = rte_pktmbuf_data_len(m) - offset;
- memcpy(ctr, iv, 8);
+ memcpy(&ctr, iv, 8);
for (n = 0; n < srclen; n++) {
if (n % 8 == 0) {
+ uint64_t cpu_ctr;
+
if (EVP_EncryptUpdate(ctx,
(unsigned char *)&ebuf, &unused,
(const unsigned char *)&ctr, 8) <= 0)
goto process_cipher_des3ctr_err;
- ctr_inc(ctr);
+ cpu_ctr = rte_be_to_cpu_64(ctr);
+ cpu_ctr++;
+ ctr = rte_cpu_to_be_64(cpu_ctr);
}
dst[n] = *(src++) ^ ebuf[n % 8];
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.617307151 +0000
+++ 0075-crypto-openssl-fix-3DES-CTR-with-big-endian-CPUs.patch 2024-11-27 17:17:38.273269622 +0000
@@ -1 +1 @@
-From 97afd07ca79c7270480a65febd7f616a4c0b07ca Mon Sep 17 00:00:00 2001
+From 9f3dc338f2f4e357e422431bc778992d94d60ace Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 97afd07ca79c7270480a65febd7f616a4c0b07ca ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
@@ -28 +29 @@
-index 9657b70c7a..0616383921 100644
+index a321258980..a75fb094ee 100644
@@ -31,2 +32,2 @@
-@@ -3,4 +3,5 @@
- */
+@@ -5,4 +5,5 @@
+ #define OPENSSL_API_COMPAT 0x10100000L
@@ -37 +38 @@
-@@ -100,20 +101,4 @@ digest_name_get(enum rte_crypto_auth_algorithm algo)
+@@ -44,20 +45,4 @@ static void HMAC_CTX_free(HMAC_CTX *ctx)
@@ -58 +59 @@
-@@ -1193,5 +1178,6 @@ process_openssl_cipher_des3ctr(struct rte_mbuf *mbuf_src, uint8_t *dst,
+@@ -1013,5 +998,6 @@ process_openssl_cipher_des3ctr(struct rte_mbuf *mbuf_src, uint8_t *dst,
@@ -66 +67 @@
-@@ -1209,13 +1195,17 @@ process_openssl_cipher_des3ctr(struct rte_mbuf *mbuf_src, uint8_t *dst,
+@@ -1029,13 +1015,17 @@ process_openssl_cipher_des3ctr(struct rte_mbuf *mbuf_src, uint8_t *dst,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/mlx5: fix memory leak in metering' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (73 preceding siblings ...)
2024-11-27 17:18 ` patch 'crypto/openssl: fix 3DES-CTR with big endian CPUs' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/mlx5: fix reported Rx/Tx descriptor limits' " Kevin Traynor
` (45 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Shun Hao; +Cc: Bing Zhao, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/65c3055305aa57088ed84e05aa79edcf8dc6714a
Thanks.
Kevin
---
From 65c3055305aa57088ed84e05aa79edcf8dc6714a Mon Sep 17 00:00:00 2001
From: Shun Hao <shunh@nvidia.com>
Date: Wed, 23 Oct 2024 09:22:15 +0300
Subject: [PATCH] net/mlx5: fix memory leak in metering
[ upstream commit 4dd46d38820e0bf5e74f99b84f4b098d1b7220dd ]
Avoid allocating memory for meter profile table when meter is not
enabled. This memory was not being freed in the close process when
meter was disabled, potentially causing a leak.
Fixes: a295c69a8b24 ("net/mlx5: optimize meter profile lookup")
Signed-off-by: Shun Hao <shunh@nvidia.com>
Acked-by: Bing Zhao <bingz@nvidia.com>
---
drivers/net/mlx5/linux/mlx5_os.c | 8 +++++---
drivers/net/mlx5/mlx5_flow_meter.c | 4 ++--
drivers/net/mlx5/windows/mlx5_os.c | 8 +++++---
3 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
index 841512faa3..f5a61f38e8 100644
--- a/drivers/net/mlx5/linux/mlx5_os.c
+++ b/drivers/net/mlx5/linux/mlx5_os.c
@@ -1663,7 +1663,9 @@ err_secondary:
rte_spinlock_init(&priv->flow_list_lock);
TAILQ_INIT(&priv->flow_meters);
- priv->mtr_profile_tbl = mlx5_l3t_create(MLX5_L3T_TYPE_PTR);
- if (!priv->mtr_profile_tbl)
- goto error;
+ if (priv->mtr_en) {
+ priv->mtr_profile_tbl = mlx5_l3t_create(MLX5_L3T_TYPE_PTR);
+ if (!priv->mtr_profile_tbl)
+ goto error;
+ }
/* Bring Ethernet device up. */
DRV_LOG(DEBUG, "port %u forcing Ethernet interface up",
diff --git a/drivers/net/mlx5/mlx5_flow_meter.c b/drivers/net/mlx5/mlx5_flow_meter.c
index fd3f993892..3623147bcd 100644
--- a/drivers/net/mlx5/mlx5_flow_meter.c
+++ b/drivers/net/mlx5/mlx5_flow_meter.c
@@ -99,6 +99,6 @@ mlx5_flow_meter_profile_find(struct mlx5_priv *priv, uint32_t meter_profile_id)
int32_t ret;
- if (mlx5_l3t_get_entry(priv->mtr_profile_tbl,
- meter_profile_id, &data) || !data.ptr)
+ if (!priv->mtr_profile_tbl ||
+ mlx5_l3t_get_entry(priv->mtr_profile_tbl, meter_profile_id, &data) || !data.ptr)
return NULL;
fmp = data.ptr;
diff --git a/drivers/net/mlx5/windows/mlx5_os.c b/drivers/net/mlx5/windows/mlx5_os.c
index ba99901c5c..2f11bd1d23 100644
--- a/drivers/net/mlx5/windows/mlx5_os.c
+++ b/drivers/net/mlx5/windows/mlx5_os.c
@@ -584,7 +584,9 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
priv->ctrl_flows = 0;
TAILQ_INIT(&priv->flow_meters);
- priv->mtr_profile_tbl = mlx5_l3t_create(MLX5_L3T_TYPE_PTR);
- if (!priv->mtr_profile_tbl)
- goto error;
+ if (priv->mtr_en) {
+ priv->mtr_profile_tbl = mlx5_l3t_create(MLX5_L3T_TYPE_PTR);
+ if (!priv->mtr_profile_tbl)
+ goto error;
+ }
/* Bring Ethernet device up. */
DRV_LOG(DEBUG, "port %u forcing Ethernet interface up.",
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.648771905 +0000
+++ 0076-net-mlx5-fix-memory-leak-in-metering.patch 2024-11-27 17:17:38.277269643 +0000
@@ -1 +1 @@
-From 4dd46d38820e0bf5e74f99b84f4b098d1b7220dd Mon Sep 17 00:00:00 2001
+From 65c3055305aa57088ed84e05aa79edcf8dc6714a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4dd46d38820e0bf5e74f99b84f4b098d1b7220dd ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 7d0d4bf23b..69a80b9ddc 100644
+index 841512faa3..f5a61f38e8 100644
@@ -25 +26 @@
-@@ -1613,7 +1613,9 @@ err_secondary:
+@@ -1663,7 +1663,9 @@ err_secondary:
@@ -39 +40 @@
-index 19d8607070..98a61cbdd4 100644
+index fd3f993892..3623147bcd 100644
@@ -42,3 +43,3 @@
-@@ -379,6 +379,6 @@ mlx5_flow_meter_profile_find(struct mlx5_priv *priv, uint32_t meter_profile_id)
- if (priv->mtr_profile_arr)
- return &priv->mtr_profile_arr[meter_profile_id];
+@@ -99,6 +99,6 @@ mlx5_flow_meter_profile_find(struct mlx5_priv *priv, uint32_t meter_profile_id)
+ int32_t ret;
+
@@ -52 +53 @@
-index 80f1679388..268598f209 100644
+index ba99901c5c..2f11bd1d23 100644
@@ -55 +56 @@
-@@ -522,7 +522,9 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
+@@ -584,7 +584,9 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/mlx5: fix reported Rx/Tx descriptor limits' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (74 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/mlx5: fix memory leak in metering' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'app/dumpcap: remove unused struct array' " Kevin Traynor
` (44 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Igor Gutorov; +Cc: Viacheslav Ovsiienko, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/27514445e7f32ba9e095c03b6508006535c05e24
Thanks.
Kevin
---
From 27514445e7f32ba9e095c03b6508006535c05e24 Mon Sep 17 00:00:00 2001
From: Igor Gutorov <igootorov@gmail.com>
Date: Wed, 7 Aug 2024 23:44:05 +0300
Subject: [PATCH] net/mlx5: fix reported Rx/Tx descriptor limits
[ upstream commit 4c3d7961d9002bb715a8ee76bcf464d633316d4c ]
Currently, `rte_eth_dev_info.rx_desc_lim.nb_max` as well as
`rte_eth_dev_info.tx_desc_lim.nb_max` shows 65535 as the limit,
which results in a few problems:
* It is not the actual Rx/Tx queue limit
* Allocating an Rx queue and passing `rx_desc_lim.nb_max` results in an
integer overflow and 0 ring size:
```
rte_eth_rx_queue_setup(0, 0, rx_desc_lim.nb_max, 0, NULL, mb_pool);
```
Which overflows ring size and generates the following log:
```
mlx5_net: port 0 increased number of descriptors in Rx queue 0 to the
next power of two (0)
```
The same holds for allocating a Tx queue.
Fixes: e60fbd5b24fc ("mlx5: add device configure/start/stop")
Signed-off-by: Igor Gutorov <igootorov@gmail.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
drivers/common/mlx5/mlx5_devx_cmds.c | 1 +
drivers/common/mlx5/mlx5_devx_cmds.h | 1 +
drivers/net/mlx5/mlx5_ethdev.c | 4 ++++
drivers/net/mlx5/mlx5_rxq.c | 8 ++++++++
drivers/net/mlx5/mlx5_txq.c | 8 ++++++++
5 files changed, 22 insertions(+)
diff --git a/drivers/common/mlx5/mlx5_devx_cmds.c b/drivers/common/mlx5/mlx5_devx_cmds.c
index aa55d577f2..9684e374c0 100644
--- a/drivers/common/mlx5/mlx5_devx_cmds.c
+++ b/drivers/common/mlx5/mlx5_devx_cmds.c
@@ -920,4 +920,5 @@ mlx5_devx_cmd_query_hca_attr(void *ctx,
attr->log_max_cq_sz = MLX5_GET(cmd_hca_cap, hcattr, log_max_cq_sz);
attr->log_max_qp_sz = MLX5_GET(cmd_hca_cap, hcattr, log_max_qp_sz);
+ attr->log_max_wq_sz = MLX5_GET(cmd_hca_cap, hcattr, log_max_wq_sz);
attr->log_max_mrw_sz = MLX5_GET(cmd_hca_cap, hcattr, log_max_mrw_sz);
attr->log_max_pd = MLX5_GET(cmd_hca_cap, hcattr, log_max_pd);
diff --git a/drivers/common/mlx5/mlx5_devx_cmds.h b/drivers/common/mlx5/mlx5_devx_cmds.h
index 4373761c29..6e76528acc 100644
--- a/drivers/common/mlx5/mlx5_devx_cmds.h
+++ b/drivers/common/mlx5/mlx5_devx_cmds.h
@@ -229,4 +229,5 @@ struct mlx5_hca_attr {
struct mlx5_hca_flow_attr flow;
struct mlx5_hca_flex_attr flex;
+ uint8_t log_max_wq_sz;
int log_max_qp_sz;
int log_max_cq_sz;
diff --git a/drivers/net/mlx5/mlx5_ethdev.c b/drivers/net/mlx5/mlx5_ethdev.c
index c6ec156493..cc2e1ae8f9 100644
--- a/drivers/net/mlx5/mlx5_ethdev.c
+++ b/drivers/net/mlx5/mlx5_ethdev.c
@@ -344,4 +344,8 @@ mlx5_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *info)
mlx5_set_default_params(dev, info);
mlx5_set_txlimit_params(dev, info);
+ info->rx_desc_lim.nb_max =
+ 1 << priv->sh->cdev->config.hca_attr.log_max_wq_sz;
+ info->tx_desc_lim.nb_max =
+ 1 << priv->sh->cdev->config.hca_attr.log_max_wq_sz;
if (priv->config.hca_attr.mem_rq_rmp &&
priv->obj_ops.rxq_obj_new == devx_obj_ops.rxq_obj_new)
diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index 4e958d2005..ab0e51dc88 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -653,4 +653,12 @@ mlx5_rx_queue_pre_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t *desc,
bool empty;
+ if (*desc > 1 << priv->sh->cdev->config.hca_attr.log_max_wq_sz) {
+ DRV_LOG(ERR,
+ "port %u number of descriptors requested for Rx queue"
+ " %u is more than supported",
+ dev->data->port_id, idx);
+ rte_errno = EINVAL;
+ return -EINVAL;
+ }
if (!rte_is_power_of_2(*desc)) {
*desc = 1 << log2above(*desc);
diff --git a/drivers/net/mlx5/mlx5_txq.c b/drivers/net/mlx5/mlx5_txq.c
index 4e0bf7af9c..b34e35a180 100644
--- a/drivers/net/mlx5/mlx5_txq.c
+++ b/drivers/net/mlx5/mlx5_txq.c
@@ -329,4 +329,12 @@ mlx5_tx_queue_pre_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t *desc)
struct mlx5_priv *priv = dev->data->dev_private;
+ if (*desc > 1 << priv->sh->cdev->config.hca_attr.log_max_wq_sz) {
+ DRV_LOG(ERR,
+ "port %u number of descriptors requested for Tx queue"
+ " %u is more than supported",
+ dev->data->port_id, idx);
+ rte_errno = EINVAL;
+ return -EINVAL;
+ }
if (*desc <= MLX5_TX_COMP_THRESH) {
DRV_LOG(WARNING,
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.682942646 +0000
+++ 0077-net-mlx5-fix-reported-Rx-Tx-descriptor-limits.patch 2024-11-27 17:17:38.281269663 +0000
@@ -1 +1 @@
-From 4c3d7961d9002bb715a8ee76bcf464d633316d4c Mon Sep 17 00:00:00 2001
+From 27514445e7f32ba9e095c03b6508006535c05e24 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4c3d7961d9002bb715a8ee76bcf464d633316d4c ]
+
@@ -26 +27,0 @@
-Cc: stable@dpdk.org
@@ -39 +40 @@
-index 9710dcedd3..a75f011750 100644
+index aa55d577f2..9684e374c0 100644
@@ -42 +43 @@
-@@ -1028,4 +1028,5 @@ mlx5_devx_cmd_query_hca_attr(void *ctx,
+@@ -920,4 +920,5 @@ mlx5_devx_cmd_query_hca_attr(void *ctx,
@@ -49 +50 @@
-index 6cf7999c46..2ad9e5414f 100644
+index 4373761c29..6e76528acc 100644
@@ -52 +53,2 @@
-@@ -268,4 +268,5 @@ struct mlx5_hca_attr {
+@@ -229,4 +229,5 @@ struct mlx5_hca_attr {
+ struct mlx5_hca_flow_attr flow;
@@ -54 +55,0 @@
- struct mlx5_hca_crypto_mmo_attr crypto_mmo;
@@ -59 +60 @@
-index 6f24d649e0..7708a0b808 100644
+index c6ec156493..cc2e1ae8f9 100644
@@ -62 +63 @@
-@@ -360,4 +360,8 @@ mlx5_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *info)
+@@ -344,4 +344,8 @@ mlx5_dev_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *info)
@@ -69 +70 @@
- if (priv->sh->cdev->config.hca_attr.mem_rq_rmp &&
+ if (priv->config.hca_attr.mem_rq_rmp &&
@@ -72 +73 @@
-index c6655b7db4..5eac224b76 100644
+index 4e958d2005..ab0e51dc88 100644
@@ -75 +76 @@
-@@ -656,4 +656,12 @@ mlx5_rx_queue_pre_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t *desc,
+@@ -653,4 +653,12 @@ mlx5_rx_queue_pre_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t *desc,
@@ -89 +90 @@
-index f05534e168..3e93517323 100644
+index 4e0bf7af9c..b34e35a180 100644
@@ -92 +93 @@
-@@ -334,4 +334,12 @@ mlx5_tx_queue_pre_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t *desc)
+@@ -329,4 +329,12 @@ mlx5_tx_queue_pre_setup(struct rte_eth_dev *dev, uint16_t idx, uint16_t *desc)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'app/dumpcap: remove unused struct array' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (75 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/mlx5: fix reported Rx/Tx descriptor limits' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/nfp: fix link change return value' " Kevin Traynor
` (43 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Bruce Richardson; +Cc: Stephen Hemminger, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/5c3cc79f4baca247938b7f9a3627cefdb7d62396
Thanks.
Kevin
---
From 5c3cc79f4baca247938b7f9a3627cefdb7d62396 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Tue, 5 Nov 2024 11:27:21 +0000
Subject: [PATCH] app/dumpcap: remove unused struct array
[ upstream commit 9bbd44d63846cf0771ec0f1c7e1b5a63ec5e9603 ]
The callbacks(rx_cb) member of struct interface was unused inside
dumpcap, but was taking up a lot of memory space, since it was scaled
according to RTE_MAX_QUEUES_PER_PORT, which is 1k by default. Save
memory by removing the whole array.
Fixes: cbb44143be74 ("app/dumpcap: add new packet capture application")
Suggested-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
app/dumpcap/main.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/app/dumpcap/main.c b/app/dumpcap/main.c
index 1025598b6d..76db2337cb 100644
--- a/app/dumpcap/main.c
+++ b/app/dumpcap/main.c
@@ -79,6 +79,4 @@ struct interface {
uint16_t port;
char name[RTE_ETH_NAME_MAX_LEN];
-
- struct rte_rxtx_callback *rx_cb[RTE_MAX_QUEUES_PER_PORT];
};
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.719076573 +0000
+++ 0078-app-dumpcap-remove-unused-struct-array.patch 2024-11-27 17:17:38.281269663 +0000
@@ -1 +1 @@
-From 9bbd44d63846cf0771ec0f1c7e1b5a63ec5e9603 Mon Sep 17 00:00:00 2001
+From 5c3cc79f4baca247938b7f9a3627cefdb7d62396 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 9bbd44d63846cf0771ec0f1c7e1b5a63ec5e9603 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -18,2 +19,2 @@
- app/dumpcap/main.c | 1 -
- 1 file changed, 1 deletion(-)
+ app/dumpcap/main.c | 2 --
+ 1 file changed, 2 deletions(-)
@@ -22 +23 @@
-index 4031f48441..3d3c0dbc66 100644
+index 1025598b6d..76db2337cb 100644
@@ -25 +26,2 @@
-@@ -97,5 +97,4 @@ struct interface {
+@@ -79,6 +79,4 @@ struct interface {
+ uint16_t port;
@@ -27 +29 @@
-
+-
@@ -29,2 +31,2 @@
- const char *ifname;
- const char *ifdescr;
+ };
+
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/nfp: fix link change return value' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (76 preceding siblings ...)
2024-11-27 17:18 ` patch 'app/dumpcap: remove unused struct array' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/mlx5: fix non full word sample fields in flex item' " Kevin Traynor
` (42 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Chaoyong He; +Cc: Long Wu, Peng Zhang, Stephen Hemminger, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/f39ddff0693559f5d339ae9737e83b706842eb34
Thanks.
Kevin
---
From f39ddff0693559f5d339ae9737e83b706842eb34 Mon Sep 17 00:00:00 2001
From: Chaoyong He <chaoyong.he@corigine.com>
Date: Sat, 12 Oct 2024 10:41:02 +0800
Subject: [PATCH] net/nfp: fix link change return value
[ upstream commit 0ca4f216b89162ce8142d665a98924bdf4a23a6e ]
The return value of 'nfp_eth_set_configured()' is three ways, the
original logic considered it as two ways wrongly.
Fixes: 61d4008fe6bb ("net/nfp: support setting link up/down")
Signed-off-by: Chaoyong He <chaoyong.he@corigine.com>
Reviewed-by: Long Wu <long.wu@corigine.com>
Reviewed-by: Peng Zhang <peng.zhang@corigine.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/net/nfp/nfp_ethdev.c | 25 +++++++++++++++++++------
1 file changed, 19 insertions(+), 6 deletions(-)
diff --git a/drivers/net/nfp/nfp_ethdev.c b/drivers/net/nfp/nfp_ethdev.c
index 84562d92fd..dfe629cdda 100644
--- a/drivers/net/nfp/nfp_ethdev.c
+++ b/drivers/net/nfp/nfp_ethdev.c
@@ -217,4 +217,5 @@ static int
nfp_net_stop(struct rte_eth_dev *dev)
{
+ int ret;
int i;
struct nfp_net_hw *hw;
@@ -241,8 +242,10 @@ nfp_net_stop(struct rte_eth_dev *dev)
if (rte_eal_process_type() == RTE_PROC_PRIMARY)
/* Configure the physical port down */
- nfp_eth_set_configured(hw->cpp, hw->nfp_idx, 0);
+ ret = nfp_eth_set_configured(hw->cpp, hw->nfp_idx, 0);
else
- nfp_eth_set_configured(dev->process_private,
+ ret = nfp_eth_set_configured(dev->process_private,
hw->nfp_idx, 0);
+ if (ret < 0)
+ return ret;
return 0;
@@ -253,4 +256,5 @@ static int
nfp_net_set_link_up(struct rte_eth_dev *dev)
{
+ int ret;
struct nfp_net_hw *hw;
@@ -261,8 +265,12 @@ nfp_net_set_link_up(struct rte_eth_dev *dev)
if (rte_eal_process_type() == RTE_PROC_PRIMARY)
/* Configure the physical port down */
- return nfp_eth_set_configured(hw->cpp, hw->nfp_idx, 1);
+ ret = nfp_eth_set_configured(hw->cpp, hw->nfp_idx, 1);
else
- return nfp_eth_set_configured(dev->process_private,
+ ret = nfp_eth_set_configured(dev->process_private,
hw->nfp_idx, 1);
+ if (ret < 0)
+ return ret;
+
+ return 0;
}
@@ -271,4 +279,5 @@ static int
nfp_net_set_link_down(struct rte_eth_dev *dev)
{
+ int ret;
struct nfp_net_hw *hw;
@@ -279,8 +288,12 @@ nfp_net_set_link_down(struct rte_eth_dev *dev)
if (rte_eal_process_type() == RTE_PROC_PRIMARY)
/* Configure the physical port down */
- return nfp_eth_set_configured(hw->cpp, hw->nfp_idx, 0);
+ ret = nfp_eth_set_configured(hw->cpp, hw->nfp_idx, 0);
else
- return nfp_eth_set_configured(dev->process_private,
+ ret = nfp_eth_set_configured(dev->process_private,
hw->nfp_idx, 0);
+ if (ret < 0)
+ return ret;
+
+ return 0;
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.749683796 +0000
+++ 0079-net-nfp-fix-link-change-return-value.patch 2024-11-27 17:17:38.282269668 +0000
@@ -1 +1 @@
-From 0ca4f216b89162ce8142d665a98924bdf4a23a6e Mon Sep 17 00:00:00 2001
+From f39ddff0693559f5d339ae9737e83b706842eb34 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0ca4f216b89162ce8142d665a98924bdf4a23a6e ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -17,2 +18,2 @@
- drivers/net/nfp/nfp_ethdev.c | 14 ++++++++++++--
- 1 file changed, 12 insertions(+), 2 deletions(-)
+ drivers/net/nfp/nfp_ethdev.c | 25 +++++++++++++++++++------
+ 1 file changed, 19 insertions(+), 6 deletions(-)
@@ -21 +22 @@
-index 4b31785b9f..ef1c2a94b7 100644
+index 84562d92fd..dfe629cdda 100644
@@ -24 +25,20 @@
-@@ -528,4 +528,5 @@ static int
+@@ -217,4 +217,5 @@ static int
+ nfp_net_stop(struct rte_eth_dev *dev)
+ {
++ int ret;
+ int i;
+ struct nfp_net_hw *hw;
+@@ -241,8 +242,10 @@ nfp_net_stop(struct rte_eth_dev *dev)
+ if (rte_eal_process_type() == RTE_PROC_PRIMARY)
+ /* Configure the physical port down */
+- nfp_eth_set_configured(hw->cpp, hw->nfp_idx, 0);
++ ret = nfp_eth_set_configured(hw->cpp, hw->nfp_idx, 0);
+ else
+- nfp_eth_set_configured(dev->process_private,
++ ret = nfp_eth_set_configured(dev->process_private,
+ hw->nfp_idx, 0);
++ if (ret < 0)
++ return ret;
+
+ return 0;
+@@ -253,4 +256,5 @@ static int
@@ -29,3 +48,0 @@
- struct nfp_net_hw_priv *hw_priv;
-@@ -534,5 +535,9 @@ nfp_net_set_link_up(struct rte_eth_dev *dev)
- hw_priv = dev->process_private;
@@ -33,2 +50,9 @@
-- return nfp_eth_set_configured(hw_priv->pf_dev->cpp, hw->nfp_idx, 1);
-+ ret = nfp_eth_set_configured(hw_priv->pf_dev->cpp, hw->nfp_idx, 1);
+@@ -261,8 +265,12 @@ nfp_net_set_link_up(struct rte_eth_dev *dev)
+ if (rte_eal_process_type() == RTE_PROC_PRIMARY)
+ /* Configure the physical port down */
+- return nfp_eth_set_configured(hw->cpp, hw->nfp_idx, 1);
++ ret = nfp_eth_set_configured(hw->cpp, hw->nfp_idx, 1);
+ else
+- return nfp_eth_set_configured(dev->process_private,
++ ret = nfp_eth_set_configured(dev->process_private,
+ hw->nfp_idx, 1);
@@ -41 +65 @@
-@@ -541,4 +546,5 @@ static int
+@@ -271,4 +279,5 @@ static int
@@ -46,3 +69,0 @@
- struct nfp_net_hw_priv *hw_priv;
-@@ -547,5 +553,9 @@ nfp_net_set_link_down(struct rte_eth_dev *dev)
- hw_priv = dev->process_private;
@@ -50,2 +71,9 @@
-- return nfp_eth_set_configured(hw_priv->pf_dev->cpp, hw->nfp_idx, 0);
-+ ret = nfp_eth_set_configured(hw_priv->pf_dev->cpp, hw->nfp_idx, 0);
+@@ -279,8 +288,12 @@ nfp_net_set_link_down(struct rte_eth_dev *dev)
+ if (rte_eal_process_type() == RTE_PROC_PRIMARY)
+ /* Configure the physical port down */
+- return nfp_eth_set_configured(hw->cpp, hw->nfp_idx, 0);
++ ret = nfp_eth_set_configured(hw->cpp, hw->nfp_idx, 0);
+ else
+- return nfp_eth_set_configured(dev->process_private,
++ ret = nfp_eth_set_configured(dev->process_private,
+ hw->nfp_idx, 0);
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/mlx5: fix non full word sample fields in flex item' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (77 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/nfp: fix link change return value' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'bus/fslmc: fix Coverity warnings in QBMAN' " Kevin Traynor
` (41 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Viacheslav Ovsiienko; +Cc: Dariusz Sosnowski, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/f07214079b7d6e07f9fbc40a5550599c1495263f
Thanks.
Kevin
---
From f07214079b7d6e07f9fbc40a5550599c1495263f Mon Sep 17 00:00:00 2001
From: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Date: Thu, 31 Oct 2024 14:44:33 +0200
Subject: [PATCH] net/mlx5: fix non full word sample fields in flex item
[ upstream commit 97e19f0762e5235d6914845a59823d4ea36925bb ]
If the sample field in flex item did not cover the entire
32-bit word (width was not verified 32 bits) or was not aligned
on the byte boundary the match on this sample in flows
happened to be ignored or wrongly missed. The field mask
"def" was build in wrong endianness, and non-byte aligned
shifts were wrongly performed for the pattern masks and values.
Fixes: 6dac7d7ff2bf ("net/mlx5: translate flex item pattern into matcher")
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
---
drivers/net/mlx5/mlx5_flow_flex.c | 32 ++++++++++++++++++-------------
1 file changed, 19 insertions(+), 13 deletions(-)
diff --git a/drivers/net/mlx5/mlx5_flow_flex.c b/drivers/net/mlx5/mlx5_flow_flex.c
index 3ef46db1f6..e696c0cd7b 100644
--- a/drivers/net/mlx5/mlx5_flow_flex.c
+++ b/drivers/net/mlx5/mlx5_flow_flex.c
@@ -119,5 +119,5 @@ mlx5_flex_get_bitfield(const struct rte_flow_item_flex *item,
{
const uint8_t *ptr = item->pattern + pos / CHAR_BIT;
- uint32_t val, vbits;
+ uint32_t val, vbits, skip = pos % CHAR_BIT;
/* Proceed the bitfield start byte. */
@@ -126,19 +126,23 @@ mlx5_flex_get_bitfield(const struct rte_flow_item_flex *item,
if (item->length <= pos / CHAR_BIT)
return 0;
- val = *ptr++ >> (pos % CHAR_BIT);
+ /* Bits are enumerated in byte in network order: 01234567 */
+ val = *ptr++;
vbits = CHAR_BIT - pos % CHAR_BIT;
- pos = (pos + vbits) / CHAR_BIT;
+ pos = RTE_ALIGN_CEIL(pos, CHAR_BIT) / CHAR_BIT;
vbits = RTE_MIN(vbits, width);
- val &= RTE_BIT32(vbits) - 1;
+ /* Load bytes to cover the field width, checking pattern boundary */
while (vbits < width && pos < item->length) {
uint32_t part = RTE_MIN(width - vbits, (uint32_t)CHAR_BIT);
uint32_t tmp = *ptr++;
- pos++;
- tmp &= RTE_BIT32(part) - 1;
- val |= tmp << vbits;
+ val |= tmp << RTE_ALIGN_CEIL(vbits, CHAR_BIT);
vbits += part;
+ pos++;
}
- return rte_bswap32(val <<= shift);
+ val = rte_cpu_to_be_32(val);
+ val <<= skip;
+ val >>= shift;
+ val &= (RTE_BIT64(width) - 1) << (sizeof(uint32_t) * CHAR_BIT - shift - width);
+ return val;
}
@@ -236,9 +240,8 @@ mlx5_flex_flow_translate_item(struct rte_eth_dev *dev,
tp = (struct mlx5_flex_item *)spec->handle;
MLX5_ASSERT(mlx5_flex_index(dev->data->dev_private, tp) >= 0);
- for (i = 0; i < tp->mapnum; i++) {
+ for (i = 0; i < tp->mapnum && pos < (spec->length * CHAR_BIT); i++) {
struct mlx5_flex_pattern_field *map = tp->map + i;
uint32_t id = map->reg_id;
- uint32_t def = (RTE_BIT64(map->width) - 1) << map->shift;
- uint32_t val, msk;
+ uint32_t val, msk, def;
/* Skip placeholders for DUMMY fields. */
@@ -247,6 +250,9 @@ mlx5_flex_flow_translate_item(struct rte_eth_dev *dev,
continue;
}
+ def = (uint32_t)(RTE_BIT64(map->width) - 1);
+ def <<= (sizeof(uint32_t) * CHAR_BIT - map->shift - map->width);
val = mlx5_flex_get_bitfield(spec, pos, map->width, map->shift);
- msk = mlx5_flex_get_bitfield(mask, pos, map->width, map->shift);
+ msk = pos < (mask->length * CHAR_BIT) ?
+ mlx5_flex_get_bitfield(mask, pos, map->width, map->shift) : def;
MLX5_ASSERT(map->width);
MLX5_ASSERT(id < tp->devx_fp->num_samples);
@@ -259,5 +265,5 @@ mlx5_flex_flow_translate_item(struct rte_eth_dev *dev,
}
mlx5_flex_set_match_sample(misc4_m, misc4_v,
- def, msk & def, val & msk & def,
+ def, msk, val & msk,
tp->devx_fp->sample_ids[id], id);
pos += map->width;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.781662155 +0000
+++ 0080-net-mlx5-fix-non-full-word-sample-fields-in-flex-ite.patch 2024-11-27 17:17:38.283269674 +0000
@@ -1 +1 @@
-From 97e19f0762e5235d6914845a59823d4ea36925bb Mon Sep 17 00:00:00 2001
+From f07214079b7d6e07f9fbc40a5550599c1495263f Mon Sep 17 00:00:00 2001
@@ -3 +3 @@
-Date: Wed, 18 Sep 2024 16:46:22 +0300
+Date: Thu, 31 Oct 2024 14:44:33 +0200
@@ -5,0 +6,2 @@
+[ upstream commit 97e19f0762e5235d6914845a59823d4ea36925bb ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -19,5 +20,2 @@
- drivers/net/mlx5/hws/mlx5dr_definer.c | 4 +--
- drivers/net/mlx5/mlx5.h | 5 ++-
- drivers/net/mlx5/mlx5_flow_dv.c | 5 ++-
- drivers/net/mlx5/mlx5_flow_flex.c | 47 +++++++++++++--------------
- 4 files changed, 29 insertions(+), 32 deletions(-)
+ drivers/net/mlx5/mlx5_flow_flex.c | 32 ++++++++++++++++++-------------
+ 1 file changed, 19 insertions(+), 13 deletions(-)
@@ -25,58 +22,0 @@
-diff --git a/drivers/net/mlx5/hws/mlx5dr_definer.c b/drivers/net/mlx5/hws/mlx5dr_definer.c
-index 2dfcc5eba6..10b986d66b 100644
---- a/drivers/net/mlx5/hws/mlx5dr_definer.c
-+++ b/drivers/net/mlx5/hws/mlx5dr_definer.c
-@@ -575,5 +575,5 @@ mlx5dr_definer_flex_parser_set(struct mlx5dr_definer_fc *fc,
- byte_off -= idx * sizeof(uint32_t);
- ret = mlx5_flex_get_parser_value_per_byte_off(flex, flex->handle, byte_off,
-- false, is_inner, &val);
-+ is_inner, &val);
- if (ret == -1 || !val)
- return;
-@@ -2826,5 +2826,5 @@ mlx5dr_definer_conv_item_flex_parser(struct mlx5dr_definer_conv_data *cd,
- byte_off = base_off - i * sizeof(uint32_t);
- ret = mlx5_flex_get_parser_value_per_byte_off(m, v->handle, byte_off,
-- true, is_inner, &mask);
-+ is_inner, &mask);
- if (ret == -1) {
- rte_errno = EINVAL;
-diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h
-index 399923b443..18b4c15a26 100644
---- a/drivers/net/mlx5/mlx5.h
-+++ b/drivers/net/mlx5/mlx5.h
-@@ -2603,9 +2603,8 @@ void mlx5_flex_flow_translate_item(struct rte_eth_dev *dev, void *matcher,
- bool is_inner);
- int mlx5_flex_get_sample_id(const struct mlx5_flex_item *tp,
-- uint32_t idx, uint32_t *pos,
-- bool is_inner, uint32_t *def);
-+ uint32_t idx, uint32_t *pos, bool is_inner);
- int mlx5_flex_get_parser_value_per_byte_off(const struct rte_flow_item_flex *item,
- void *flex, uint32_t byte_off,
-- bool is_mask, bool tunnel, uint32_t *value);
-+ bool tunnel, uint32_t *value);
- int mlx5_flex_get_tunnel_mode(const struct rte_flow_item *item,
- enum rte_flow_item_flex_tunnel_mode *tunnel_mode);
-diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
-index 4451b114ae..5f71573a86 100644
---- a/drivers/net/mlx5/mlx5_flow_dv.c
-+++ b/drivers/net/mlx5/mlx5_flow_dv.c
-@@ -1527,5 +1527,4 @@ mlx5_modify_flex_item(const struct rte_eth_dev *dev,
- uint32_t offset = data->offset;
- uint32_t width_left = width;
-- uint32_t def;
- uint32_t cur_width = 0;
- uint32_t tmp_ofs;
-@@ -1552,5 +1551,5 @@ mlx5_modify_flex_item(const struct rte_eth_dev *dev,
- for (j = i; i < flex->mapnum && width_left > 0; ) {
- map = flex->map + i;
-- id = mlx5_flex_get_sample_id(flex, i, &pos, false, &def);
-+ id = mlx5_flex_get_sample_id(flex, i, &pos, false);
- if (id == -1) {
- i++;
-@@ -1571,5 +1570,5 @@ mlx5_modify_flex_item(const struct rte_eth_dev *dev,
- */
- for (j = i + 1; j < flex->mapnum; j++) {
-- tmp_id = mlx5_flex_get_sample_id(flex, j, &pos, false, &def);
-+ tmp_id = mlx5_flex_get_sample_id(flex, j, &pos, false);
- if (tmp_id == -1) {
- i = j;
@@ -84 +24 @@
-index 0c41b956b0..bf38643a23 100644
+index 3ef46db1f6..e696c0cd7b 100644
@@ -125,55 +65 @@
-@@ -212,6 +216,4 @@ mlx5_flex_set_match_sample(void *misc4_m, void *misc4_v,
- * @param[in] is_inner
- * For inner matching or not.
-- * @param[in, def] def
-- * Mask generated by mapping shift and width.
- *
- * @return
-@@ -220,11 +222,9 @@ mlx5_flex_set_match_sample(void *misc4_m, void *misc4_v,
- int
- mlx5_flex_get_sample_id(const struct mlx5_flex_item *tp,
-- uint32_t idx, uint32_t *pos,
-- bool is_inner, uint32_t *def)
-+ uint32_t idx, uint32_t *pos, bool is_inner)
- {
- const struct mlx5_flex_pattern_field *map = tp->map + idx;
- uint32_t id = map->reg_id;
-
-- *def = (RTE_BIT64(map->width) - 1) << map->shift;
- /* Skip placeholders for DUMMY fields. */
- if (id == MLX5_INVALID_SAMPLE_REG_ID) {
-@@ -253,6 +253,4 @@ mlx5_flex_get_sample_id(const struct mlx5_flex_item *tp,
- * @param[in] byte_off
- * Mlx5 flex item format_select_dw.
-- * @param[in] is_mask
-- * Spec or mask.
- * @param[in] tunnel
- * Tunnel mode or not.
-@@ -266,9 +264,9 @@ int
- mlx5_flex_get_parser_value_per_byte_off(const struct rte_flow_item_flex *item,
- void *flex, uint32_t byte_off,
-- bool is_mask, bool tunnel, uint32_t *value)
-+ bool tunnel, uint32_t *value)
- {
- struct mlx5_flex_pattern_field *map;
- struct mlx5_flex_item *tp = flex;
-- uint32_t def, i, pos, val;
-+ uint32_t i, pos, val;
- int id;
-
-@@ -276,5 +274,5 @@ mlx5_flex_get_parser_value_per_byte_off(const struct rte_flow_item_flex *item,
- for (i = 0, pos = 0; i < tp->mapnum && pos < item->length * CHAR_BIT; i++) {
- map = tp->map + i;
-- id = mlx5_flex_get_sample_id(tp, i, &pos, tunnel, &def);
-+ id = mlx5_flex_get_sample_id(tp, i, &pos, tunnel);
- if (id == -1)
- continue;
-@@ -283,6 +281,4 @@ mlx5_flex_get_parser_value_per_byte_off(const struct rte_flow_item_flex *item,
- if (byte_off == tp->devx_fp->sample_info[id].sample_dw_data * sizeof(uint32_t)) {
- val = mlx5_flex_get_bitfield(item, pos, map->width, map->shift);
-- if (is_mask)
-- val &= RTE_BE32(def);
- *value |= val;
- }
-@@ -356,8 +352,8 @@ mlx5_flex_flow_translate_item(struct rte_eth_dev *dev,
- mask = item->mask;
+@@ -236,9 +240,8 @@ mlx5_flex_flow_translate_item(struct rte_eth_dev *dev,
@@ -180,0 +67 @@
+ MLX5_ASSERT(mlx5_flex_index(dev->data->dev_private, tp) >= 0);
@@ -184,3 +71,4 @@
- uint32_t val, msk, def;
-- int id = mlx5_flex_get_sample_id(tp, i, &pos, is_inner, &def);
-+ int id = mlx5_flex_get_sample_id(tp, i, &pos, is_inner);
+ uint32_t id = map->reg_id;
+- uint32_t def = (RTE_BIT64(map->width) - 1) << map->shift;
+- uint32_t val, msk;
++ uint32_t val, msk, def;
@@ -188,4 +76,4 @@
- if (id == -1)
-@@ -367,9 +363,12 @@ mlx5_flex_flow_translate_item(struct rte_eth_dev *dev,
- id >= MLX5_GRAPH_NODE_SAMPLE_NUM)
- return;
+ /* Skip placeholders for DUMMY fields. */
+@@ -247,6 +250,9 @@ mlx5_flex_flow_translate_item(struct rte_eth_dev *dev,
+ continue;
+ }
@@ -198 +86,4 @@
- sample_id = tp->devx_fp->sample_ids[id];
+ MLX5_ASSERT(map->width);
+ MLX5_ASSERT(id < tp->devx_fp->num_samples);
+@@ -259,5 +265,5 @@ mlx5_flex_flow_translate_item(struct rte_eth_dev *dev,
+ }
@@ -202 +93 @@
- sample_id, id);
+ tp->devx_fp->sample_ids[id], id);
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'bus/fslmc: fix Coverity warnings in QBMAN' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (78 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/mlx5: fix non full word sample fields in flex item' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'test/bonding: remove redundant info query' " Kevin Traynor
` (40 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Rohit Raj; +Cc: Hemant Agrawal, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/e00b805528a35aeaa44dab06b793facfb8fca7d3
Thanks.
Kevin
---
From e00b805528a35aeaa44dab06b793facfb8fca7d3 Mon Sep 17 00:00:00 2001
From: Rohit Raj <rohit.raj@nxp.com>
Date: Wed, 23 Oct 2024 17:29:32 +0530
Subject: [PATCH] bus/fslmc: fix Coverity warnings in QBMAN
[ upstream commit 051f4185f98faa964b6a965b2e8e7b2da68969de ]
Fix Issues reported by NXP Internal Coverity.
Fixes: 64f131a82fbe ("bus/fslmc: add qbman debug")
Signed-off-by: Rohit Raj <rohit.raj@nxp.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/bus/fslmc/qbman/qbman_debug.c | 49 +++++++++++++++++----------
1 file changed, 32 insertions(+), 17 deletions(-)
diff --git a/drivers/bus/fslmc/qbman/qbman_debug.c b/drivers/bus/fslmc/qbman/qbman_debug.c
index eea06988ff..0e471ec3fd 100644
--- a/drivers/bus/fslmc/qbman/qbman_debug.c
+++ b/drivers/bus/fslmc/qbman/qbman_debug.c
@@ -1,5 +1,5 @@
/* SPDX-License-Identifier: BSD-3-Clause
* Copyright (C) 2015 Freescale Semiconductor, Inc.
- * Copyright 2018-2020 NXP
+ * Copyright 2018-2020,2022 NXP
*/
@@ -38,4 +38,5 @@ int qbman_bp_query(struct qbman_swp *s, uint32_t bpid,
{
struct qbman_bp_query_desc *p;
+ struct qbman_bp_query_rslt *bp_query_rslt;
/* Start the management command */
@@ -48,7 +49,7 @@ int qbman_bp_query(struct qbman_swp *s, uint32_t bpid,
/* Complete the management command */
- *r = *(struct qbman_bp_query_rslt *)qbman_swp_mc_complete(s, p,
- QBMAN_BP_QUERY);
- if (!r) {
+ bp_query_rslt = (struct qbman_bp_query_rslt *)qbman_swp_mc_complete(s,
+ p, QBMAN_BP_QUERY);
+ if (!bp_query_rslt) {
pr_err("qbman: Query BPID %d failed, no response\n",
bpid);
@@ -56,4 +57,6 @@ int qbman_bp_query(struct qbman_swp *s, uint32_t bpid,
}
+ *r = *bp_query_rslt;
+
/* Decode the outcome */
QBMAN_BUG_ON((r->verb & QBMAN_RESPONSE_VERB_MASK) != QBMAN_BP_QUERY);
@@ -203,4 +206,5 @@ int qbman_fq_query(struct qbman_swp *s, uint32_t fqid,
{
struct qbman_fq_query_desc *p;
+ struct qbman_fq_query_rslt *fq_query_rslt;
p = (struct qbman_fq_query_desc *)qbman_swp_mc_start(s);
@@ -209,7 +213,7 @@ int qbman_fq_query(struct qbman_swp *s, uint32_t fqid,
p->fqid = fqid;
- *r = *(struct qbman_fq_query_rslt *)qbman_swp_mc_complete(s, p,
- QBMAN_FQ_QUERY);
- if (!r) {
+ fq_query_rslt = (struct qbman_fq_query_rslt *)qbman_swp_mc_complete(s,
+ p, QBMAN_FQ_QUERY);
+ if (!fq_query_rslt) {
pr_err("qbman: Query FQID %d failed, no response\n",
fqid);
@@ -217,4 +221,6 @@ int qbman_fq_query(struct qbman_swp *s, uint32_t fqid,
}
+ *r = *fq_query_rslt;
+
/* Decode the outcome */
QBMAN_BUG_ON((r->verb & QBMAN_RESPONSE_VERB_MASK) != QBMAN_FQ_QUERY);
@@ -399,4 +405,5 @@ int qbman_cgr_query(struct qbman_swp *s, uint32_t cgid,
{
struct qbman_cgr_query_desc *p;
+ struct qbman_cgr_query_rslt *cgr_query_rslt;
p = (struct qbman_cgr_query_desc *)qbman_swp_mc_start(s);
@@ -405,7 +412,7 @@ int qbman_cgr_query(struct qbman_swp *s, uint32_t cgid,
p->cgid = cgid;
- *r = *(struct qbman_cgr_query_rslt *)qbman_swp_mc_complete(s, p,
- QBMAN_CGR_QUERY);
- if (!r) {
+ cgr_query_rslt = (struct qbman_cgr_query_rslt *)qbman_swp_mc_complete(s,
+ p, QBMAN_CGR_QUERY);
+ if (!cgr_query_rslt) {
pr_err("qbman: Query CGID %d failed, no response\n",
cgid);
@@ -413,4 +420,6 @@ int qbman_cgr_query(struct qbman_swp *s, uint32_t cgid,
}
+ *r = *cgr_query_rslt;
+
/* Decode the outcome */
QBMAN_BUG_ON((r->verb & QBMAN_RESPONSE_VERB_MASK) != QBMAN_CGR_QUERY);
@@ -474,4 +483,5 @@ int qbman_cgr_wred_query(struct qbman_swp *s, uint32_t cgid,
{
struct qbman_cgr_query_desc *p;
+ struct qbman_wred_query_rslt *wred_query_rslt;
p = (struct qbman_cgr_query_desc *)qbman_swp_mc_start(s);
@@ -480,7 +490,7 @@ int qbman_cgr_wred_query(struct qbman_swp *s, uint32_t cgid,
p->cgid = cgid;
- *r = *(struct qbman_wred_query_rslt *)qbman_swp_mc_complete(s, p,
- QBMAN_WRED_QUERY);
- if (!r) {
+ wred_query_rslt = (struct qbman_wred_query_rslt *)qbman_swp_mc_complete(
+ s, p, QBMAN_WRED_QUERY);
+ if (!wred_query_rslt) {
pr_err("qbman: Query CGID WRED %d failed, no response\n",
cgid);
@@ -488,4 +498,6 @@ int qbman_cgr_wred_query(struct qbman_swp *s, uint32_t cgid,
}
+ *r = *wred_query_rslt;
+
/* Decode the outcome */
QBMAN_BUG_ON((r->verb & QBMAN_RESPONSE_VERB_MASK) != QBMAN_WRED_QUERY);
@@ -528,5 +540,5 @@ void qbman_cgr_attr_wred_dp_decompose(uint32_t dp, uint64_t *minth,
*maxth = ma;
else
- *maxth = ((ma+256) * (1<<(mn-1)));
+ *maxth = ((uint64_t)(ma+256) * (1<<(mn-1)));
if (step_s == 0)
@@ -631,4 +643,5 @@ int qbman_wqchan_query(struct qbman_swp *s, uint16_t chanid,
{
struct qbman_wqchan_query_desc *p;
+ struct qbman_wqchan_query_rslt *wqchan_query_rslt;
/* Start the management command */
@@ -641,7 +654,7 @@ int qbman_wqchan_query(struct qbman_swp *s, uint16_t chanid,
/* Complete the management command */
- *r = *(struct qbman_wqchan_query_rslt *)qbman_swp_mc_complete(s, p,
- QBMAN_WQ_QUERY);
- if (!r) {
+ wqchan_query_rslt = (struct qbman_wqchan_query_rslt *)qbman_swp_mc_complete(
+ s, p, QBMAN_WQ_QUERY);
+ if (!wqchan_query_rslt) {
pr_err("qbman: Query WQ Channel %d failed, no response\n",
chanid);
@@ -649,4 +662,6 @@ int qbman_wqchan_query(struct qbman_swp *s, uint16_t chanid,
}
+ *r = *wqchan_query_rslt;
+
/* Decode the outcome */
QBMAN_BUG_ON((r->verb & QBMAN_RESPONSE_VERB_MASK) != QBMAN_WQ_QUERY);
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.826716172 +0000
+++ 0081-bus-fslmc-fix-Coverity-warnings-in-QBMAN.patch 2024-11-27 17:17:38.283269674 +0000
@@ -1 +1 @@
-From 051f4185f98faa964b6a965b2e8e7b2da68969de Mon Sep 17 00:00:00 2001
+From e00b805528a35aeaa44dab06b793facfb8fca7d3 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 051f4185f98faa964b6a965b2e8e7b2da68969de ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'test/bonding: remove redundant info query' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (79 preceding siblings ...)
2024-11-27 17:18 ` patch 'bus/fslmc: fix Coverity warnings in QBMAN' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'examples/ntb: check info query return' " Kevin Traynor
` (39 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Morten Brørup, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/f361e6662516a4a14503cc6190af5ada1cdd8375
Thanks.
Kevin
---
From f361e6662516a4a14503cc6190af5ada1cdd8375 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Fri, 4 Oct 2024 09:21:48 -0700
Subject: [PATCH] test/bonding: remove redundant info query
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit 419daaa2794ca380db2b1267c62c2d5de516b1b3 ]
The patch to check return value of rte_eth_dev_info_get
added a duplicate call in one spot.
Fixes: 773392553bed ("app: check status of getting ethdev info")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
---
| 1 -
1 file changed, 1 deletion(-)
--git a/app/test/test_link_bonding_rssconf.c b/app/test/test_link_bonding_rssconf.c
index 6eb473bb21..9f11804042 100644
--- a/app/test/test_link_bonding_rssconf.c
+++ b/app/test/test_link_bonding_rssconf.c
@@ -619,5 +619,4 @@ test_setup(void)
rte_eth_dev_default_mac_addr_set(port->port_id, &mac_addr);
- rte_eth_dev_info_get(port->port_id, &port->dev_info);
retval = rte_eth_dev_info_get(port->port_id, &port->dev_info);
TEST_ASSERT((retval == 0),
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.855103128 +0000
+++ 0082-test-bonding-remove-redundant-info-query.patch 2024-11-27 17:17:38.284269679 +0000
@@ -1 +1 @@
-From 419daaa2794ca380db2b1267c62c2d5de516b1b3 Mon Sep 17 00:00:00 2001
+From f361e6662516a4a14503cc6190af5ada1cdd8375 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 419daaa2794ca380db2b1267c62c2d5de516b1b3 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 3c9c824335..2cb689b1de 100644
+index 6eb473bb21..9f11804042 100644
@@ -25 +26 @@
-@@ -617,5 +617,4 @@ test_setup(void)
+@@ -619,5 +619,4 @@ test_setup(void)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'examples/ntb: check info query return' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (80 preceding siblings ...)
2024-11-27 17:18 ` patch 'test/bonding: remove redundant info query' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/netvsc: force Tx VLAN offload on 801.2Q packet' " Kevin Traynor
` (38 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Morten Brørup, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/aa15e16eee6f1d8ce9fce5112deeefd3018f8526
Thanks.
Kevin
---
From aa15e16eee6f1d8ce9fce5112deeefd3018f8526 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Fri, 4 Oct 2024 09:21:53 -0700
Subject: [PATCH] examples/ntb: check info query return
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit 07e4dc04d99a99699d71a0a39dd2a7034049e663 ]
The ethdev_info is only valid if rte_eth_dev_info_get returns success.
Fixes: 5194299d6ef5 ("examples/ntb: support more functions")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
---
examples/ntb/ntb_fwd.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/examples/ntb/ntb_fwd.c b/examples/ntb/ntb_fwd.c
index 41bb536141..05826dc493 100644
--- a/examples/ntb/ntb_fwd.c
+++ b/examples/ntb/ntb_fwd.c
@@ -1444,5 +1444,8 @@ main(int argc, char **argv)
if (eth_port_id < RTE_MAX_ETHPORTS) {
- rte_eth_dev_info_get(eth_port_id, ðdev_info);
+ ret = rte_eth_dev_info_get(eth_port_id, ðdev_info);
+ if (ret)
+ rte_exit(EXIT_FAILURE, "Can't get info for port %u\n", eth_port_id);
+
eth_pconf.rx_adv_conf.rss_conf.rss_hf &=
ethdev_info.flow_type_rss_offloads;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.883147668 +0000
+++ 0083-examples-ntb-check-info-query-return.patch 2024-11-27 17:17:38.285269684 +0000
@@ -1 +1 @@
-From 07e4dc04d99a99699d71a0a39dd2a7034049e663 Mon Sep 17 00:00:00 2001
+From aa15e16eee6f1d8ce9fce5112deeefd3018f8526 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 07e4dc04d99a99699d71a0a39dd2a7034049e663 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 56c7672392..37d60208e3 100644
+index 41bb536141..05826dc493 100644
@@ -24 +25 @@
-@@ -1286,5 +1286,8 @@ main(int argc, char **argv)
+@@ -1444,5 +1444,8 @@ main(int argc, char **argv)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/netvsc: force Tx VLAN offload on 801.2Q packet' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (81 preceding siblings ...)
2024-11-27 17:18 ` patch 'examples/ntb: check info query return' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/vmxnet3: fix crash after configuration failure' " Kevin Traynor
` (37 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Long Li; +Cc: Stephen Hemminger, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/1958baf3103cb81b8f3f814b23f3e82d009d8b7b
Thanks.
Kevin
---
From 1958baf3103cb81b8f3f814b23f3e82d009d8b7b Mon Sep 17 00:00:00 2001
From: Long Li <longli@microsoft.com>
Date: Fri, 18 Oct 2024 11:13:50 -0700
Subject: [PATCH] net/netvsc: force Tx VLAN offload on 801.2Q packet
[ upstream commit 06c968f9ba8afeaf03b60871a453652a5828ff3f ]
The VSP assumes the packet doesn't have VLAN tags. When VLAN tag is
present in a TX packet, always strip it and use PPI to send VLAN info
through VSP packet.
Fixes: 4e9c73e96e83 ("net/netvsc: add Hyper-V network device")
Signed-off-by: Long Li <longli@microsoft.com>
Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/net/netvsc/hn_rxtx.c | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/drivers/net/netvsc/hn_rxtx.c b/drivers/net/netvsc/hn_rxtx.c
index 69588bc264..13dede941d 100644
--- a/drivers/net/netvsc/hn_rxtx.c
+++ b/drivers/net/netvsc/hn_rxtx.c
@@ -1572,7 +1572,7 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
for (nb_tx = 0; nb_tx < nb_pkts; nb_tx++) {
struct rte_mbuf *m = tx_pkts[nb_tx];
- uint32_t pkt_size = m->pkt_len + HN_RNDIS_PKT_LEN;
struct rndis_packet_msg *pkt;
struct hn_txdesc *txd;
+ uint32_t pkt_size;
txd = hn_txd_get(txq);
@@ -1580,4 +1580,22 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
break;
+ if (!(m->ol_flags & RTE_MBUF_F_TX_VLAN)) {
+ struct rte_ether_hdr *eh =
+ rte_pktmbuf_mtod(m, struct rte_ether_hdr *);
+ struct rte_vlan_hdr *vh;
+
+ /* Force TX vlan offloading for 801.2Q packet */
+ if (eh->ether_type == rte_cpu_to_be_16(RTE_ETHER_TYPE_VLAN)) {
+ vh = (struct rte_vlan_hdr *)(eh + 1);
+ m->ol_flags |= RTE_MBUF_F_TX_VLAN;
+ m->vlan_tci = rte_be_to_cpu_16(vh->vlan_tci);
+
+ /* Copy ether header over */
+ memmove(rte_pktmbuf_adj(m, sizeof(struct rte_vlan_hdr)),
+ eh, 2 * RTE_ETHER_ADDR_LEN);
+ }
+ }
+ pkt_size = m->pkt_len + HN_RNDIS_PKT_LEN;
+
/* For small packets aggregate them in chimney buffer */
if (m->pkt_len <= hv->tx_copybreak &&
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.911626432 +0000
+++ 0084-net-netvsc-force-Tx-VLAN-offload-on-801.2Q-packet.patch 2024-11-27 17:17:38.285269684 +0000
@@ -1 +1 @@
-From 06c968f9ba8afeaf03b60871a453652a5828ff3f Mon Sep 17 00:00:00 2001
+From 1958baf3103cb81b8f3f814b23f3e82d009d8b7b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 06c968f9ba8afeaf03b60871a453652a5828ff3f ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 52aedb001f..9d3948e03d 100644
+index 69588bc264..13dede941d 100644
@@ -23 +24 @@
-@@ -1558,7 +1558,7 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
+@@ -1572,7 +1572,7 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
@@ -32 +33 @@
-@@ -1566,4 +1566,22 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
+@@ -1580,4 +1580,22 @@ hn_xmit_pkts(void *ptxq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/vmxnet3: fix crash after configuration failure' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (82 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/netvsc: force Tx VLAN offload on 801.2Q packet' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/txgbe: fix SWFW mbox' " Kevin Traynor
` (36 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Roger Melton; +Cc: Morten Brørup, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/3a8ff580f5f6107af56b593c77f0e0d128dae47d
Thanks.
Kevin
---
From 3a8ff580f5f6107af56b593c77f0e0d128dae47d Mon Sep 17 00:00:00 2001
From: Roger Melton <rmelton@cisco.com>
Date: Sat, 26 Oct 2024 10:33:36 -0400
Subject: [PATCH] net/vmxnet3: fix crash after configuration failure
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
[ upstream commit 439847c154ccf05e1a8bbb955c552921514d31e2 ]
Problem:
If vxmnet3_dev_configure() fails, applications may call
vmxnet3_dev_close(). If the failure occurs before the vmxnet3
hw->shared structure is allocated the close will lead to a segv.
Root Cause:
This crash is due to incorrect adapter_stopped state in the
vmxnet3 dev_private structure. When dev_private is allocated,
adapter_stopped will be 0 (FALSE). eth_vmxnet3_dev_init() does not
set it to TRUE, so it will remain FALSE until a successful
vmxnet3_dev_start() followed by a vmxnet3_dev_stop(). When
vmxnet3_dev_close() is called, it will invoke vmxnet3_dev_stop().
vmxnet3_dev_stop() will check the adapter_stopped state in the
vmxnet3 shared data, find it is FALSE and will proceed to stop the
device, calling vmxnet3_disable_all_intrs().
vmxnet3_disable_all_intrs() attempts to access the vmxnet3 shared data
resulting in the segv.
Solution:
Set adapter_stopped to TRUE in eth_vmxnet3_dev_init(), to prevent stop
processing.
Fixes: dfaff37fc46d ("vmxnet3: import new vmxnet3 poll mode driver implementation")
Signed-off-by: Roger Melton <rmelton@cisco.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
---
drivers/net/vmxnet3/vmxnet3_ethdev.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
index 32d1036c4f..8b3d4184d1 100644
--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
@@ -310,4 +310,5 @@ eth_vmxnet3_dev_init(struct rte_eth_dev *eth_dev)
hw->device_id = pci_dev->id.device_id;
hw->vendor_id = pci_dev->id.vendor_id;
+ hw->adapter_stopped = TRUE;
hw->hw_addr0 = (void *)pci_dev->mem_resource[0].addr;
hw->hw_addr1 = (void *)pci_dev->mem_resource[1].addr;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.940961156 +0000
+++ 0085-net-vmxnet3-fix-crash-after-configuration-failure.patch 2024-11-27 17:17:38.286269689 +0000
@@ -1 +1 @@
-From 439847c154ccf05e1a8bbb955c552921514d31e2 Mon Sep 17 00:00:00 2001
+From 3a8ff580f5f6107af56b593c77f0e0d128dae47d Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 439847c154ccf05e1a8bbb955c552921514d31e2 ]
+
@@ -35 +36,0 @@
-Cc: stable@dpdk.org
@@ -44 +45 @@
-index 78fac63ab6..79ab167421 100644
+index 32d1036c4f..8b3d4184d1 100644
@@ -47 +48 @@
-@@ -404,4 +404,5 @@ eth_vmxnet3_dev_init(struct rte_eth_dev *eth_dev)
+@@ -310,4 +310,5 @@ eth_vmxnet3_dev_init(struct rte_eth_dev *eth_dev)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/txgbe: fix SWFW mbox' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (83 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/vmxnet3: fix crash after configuration failure' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/txgbe: fix VF-PF mbox interrupt' " Kevin Traynor
` (35 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Jiawen Wu; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/12926f1e78129014060f5738cd5341ef5f3156a9
Thanks.
Kevin
---
From 12926f1e78129014060f5738cd5341ef5f3156a9 Mon Sep 17 00:00:00 2001
From: Jiawen Wu <jiawenwu@trustnetic.com>
Date: Mon, 4 Nov 2024 10:29:55 +0800
Subject: [PATCH] net/txgbe: fix SWFW mbox
[ upstream commit e389504ed46d84c6a5a6a32b09d6750a182f8725 ]
There is a unknown bug that the register TXGBE_MNGMBX cannot be written
in the loop, when DPDK is built with GCC high version.
Access any register before write TXGBE_MNGMBX can fix it.
Bugzilla ID: 1531
Fixes: 35c90ecccfd4 ("net/txgbe: add EEPROM functions")
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
---
drivers/net/txgbe/base/txgbe_mng.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/txgbe/base/txgbe_mng.c b/drivers/net/txgbe/base/txgbe_mng.c
index 6255718ff7..5dc446736f 100644
--- a/drivers/net/txgbe/base/txgbe_mng.c
+++ b/drivers/net/txgbe/base/txgbe_mng.c
@@ -59,4 +59,5 @@ txgbe_hic_unlocked(struct txgbe_hw *hw, u32 *buffer, u32 length, u32 timeout)
dword_len = length >> 2;
+ txgbe_flush(hw);
/* The device driver writes the relevant command block
* into the ram area.
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.970481834 +0000
+++ 0086-net-txgbe-fix-SWFW-mbox.patch 2024-11-27 17:17:38.287269695 +0000
@@ -1 +1 @@
-From e389504ed46d84c6a5a6a32b09d6750a182f8725 Mon Sep 17 00:00:00 2001
+From 12926f1e78129014060f5738cd5341ef5f3156a9 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e389504ed46d84c6a5a6a32b09d6750a182f8725 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 20db982891..7dc8f21183 100644
+index 6255718ff7..5dc446736f 100644
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/txgbe: fix VF-PF mbox interrupt' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (84 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/txgbe: fix SWFW mbox' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/txgbe: remove outer UDP checksum capability' " Kevin Traynor
` (34 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Jiawen Wu; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/3581c3f0a6372f2625439f5f1713190253efd38b
Thanks.
Kevin
---
From 3581c3f0a6372f2625439f5f1713190253efd38b Mon Sep 17 00:00:00 2001
From: Jiawen Wu <jiawenwu@trustnetic.com>
Date: Mon, 4 Nov 2024 10:29:56 +0800
Subject: [PATCH] net/txgbe: fix VF-PF mbox interrupt
[ upstream commit 5a4ce69701fc01f23a2769c8afff055d87eff864 ]
There was a incorrect bit to define TXGBE_ICRMISC_VFMBX that prevents
the interrupt from being handled correctly.
Fixes: a6712cd029a4 ("net/txgbe: add PF module init and uninit for SRIOV")
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
---
drivers/net/txgbe/base/txgbe_regs.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/txgbe/base/txgbe_regs.h b/drivers/net/txgbe/base/txgbe_regs.h
index d151123882..0013493a8a 100644
--- a/drivers/net/txgbe/base/txgbe_regs.h
+++ b/drivers/net/txgbe/base/txgbe_regs.h
@@ -1196,5 +1196,5 @@ enum txgbe_5tuple_protocol {
#define TXGBE_ICRMISC_ERRIG MS(20, 0x1) /* integrity error */
#define TXGBE_ICRMISC_SPI MS(21, 0x1) /* SPI interface */
-#define TXGBE_ICRMISC_VFMBX MS(22, 0x1) /* VF-PF message box */
+#define TXGBE_ICRMISC_VFMBX MS(23, 0x1) /* VF-PF message box */
#define TXGBE_ICRMISC_GPIO MS(26, 0x1) /* GPIO interrupt */
#define TXGBE_ICRMISC_ERRPCI MS(27, 0x1) /* pcie request error */
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:40.999225757 +0000
+++ 0087-net-txgbe-fix-VF-PF-mbox-interrupt.patch 2024-11-27 17:17:38.288269700 +0000
@@ -1 +1 @@
-From 5a4ce69701fc01f23a2769c8afff055d87eff864 Mon Sep 17 00:00:00 2001
+From 3581c3f0a6372f2625439f5f1713190253efd38b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 5a4ce69701fc01f23a2769c8afff055d87eff864 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 4ea4a2e3d8..b46d65331e 100644
+index d151123882..0013493a8a 100644
@@ -21 +22 @@
-@@ -1198,5 +1198,5 @@ enum txgbe_5tuple_protocol {
+@@ -1196,5 +1196,5 @@ enum txgbe_5tuple_protocol {
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/txgbe: remove outer UDP checksum capability' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (85 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/txgbe: fix VF-PF mbox interrupt' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/txgbe: fix driver load bit to inform firmware' " Kevin Traynor
` (33 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Jiawen Wu; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/69778317c93897358162c2ed797c840053420d98
Thanks.
Kevin
---
From 69778317c93897358162c2ed797c840053420d98 Mon Sep 17 00:00:00 2001
From: Jiawen Wu <jiawenwu@trustnetic.com>
Date: Mon, 4 Nov 2024 10:29:57 +0800
Subject: [PATCH] net/txgbe: remove outer UDP checksum capability
[ upstream commit 25fe1c780d39ea3637ba8407f6e9a9800135becd ]
The hardware does not support outer UDP checksum for tunnel packets.
It's wrong to claim this Tx offload capability, so fix it.
Bugzilla ID: 1529
Fixes: b950203be7f1 ("net/txgbe: support VXLAN-GPE")
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
---
drivers/net/txgbe/txgbe_rxtx.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/net/txgbe/txgbe_rxtx.c b/drivers/net/txgbe/txgbe_rxtx.c
index 6971c775ef..9d82609b3d 100644
--- a/drivers/net/txgbe/txgbe_rxtx.c
+++ b/drivers/net/txgbe/txgbe_rxtx.c
@@ -2260,6 +2260,5 @@ txgbe_get_tx_port_offloads(struct rte_eth_dev *dev)
tx_offload_capa |= RTE_ETH_TX_OFFLOAD_MACSEC_INSERT;
- tx_offload_capa |= RTE_ETH_TX_OFFLOAD_OUTER_IPV4_CKSUM |
- RTE_ETH_TX_OFFLOAD_OUTER_UDP_CKSUM;
+ tx_offload_capa |= RTE_ETH_TX_OFFLOAD_OUTER_IPV4_CKSUM;
#ifdef RTE_LIB_SECURITY
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.029168728 +0000
+++ 0088-net-txgbe-remove-outer-UDP-checksum-capability.patch 2024-11-27 17:17:38.290269710 +0000
@@ -1 +1 @@
-From 25fe1c780d39ea3637ba8407f6e9a9800135becd Mon Sep 17 00:00:00 2001
+From 69778317c93897358162c2ed797c840053420d98 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 25fe1c780d39ea3637ba8407f6e9a9800135becd ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 5bc0f8772f..c12726553c 100644
+index 6971c775ef..9d82609b3d 100644
@@ -22 +23 @@
-@@ -2285,6 +2285,5 @@ txgbe_get_tx_port_offloads(struct rte_eth_dev *dev)
+@@ -2260,6 +2260,5 @@ txgbe_get_tx_port_offloads(struct rte_eth_dev *dev)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/txgbe: fix driver load bit to inform firmware' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (86 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/txgbe: remove outer UDP checksum capability' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/ngbe: " Kevin Traynor
` (32 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Jiawen Wu; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/aae3e72718580b90f4fc377d5e5c0ce4d71f1e2f
Thanks.
Kevin
---
From aae3e72718580b90f4fc377d5e5c0ce4d71f1e2f Mon Sep 17 00:00:00 2001
From: Jiawen Wu <jiawenwu@trustnetic.com>
Date: Mon, 4 Nov 2024 10:29:58 +0800
Subject: [PATCH] net/txgbe: fix driver load bit to inform firmware
[ upstream commit 0a8f064bbc2cf4978857eae84e86c6b2c9e65feb ]
Drv_load bit will be reset to default 0 after hardware LAN reset,
reconfigure it to inform firmware that driver is loaded. And set it to 0
when device is closed.
Fixes: b1f596677d8e ("net/txgbe: support device start")
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
---
drivers/net/txgbe/txgbe_ethdev.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/txgbe/txgbe_ethdev.c b/drivers/net/txgbe/txgbe_ethdev.c
index 1dbf7c554e..9fc3d1df4d 100644
--- a/drivers/net/txgbe/txgbe_ethdev.c
+++ b/drivers/net/txgbe/txgbe_ethdev.c
@@ -331,4 +331,6 @@ txgbe_pf_reset_hw(struct txgbe_hw *hw)
ctrl_ext = rd32(hw, TXGBE_PORTCTL);
+ /* let hardware know driver is loaded */
+ ctrl_ext |= TXGBE_PORTCTL_DRVLOAD;
/* Set PF Reset Done bit so PF/VF Mail Ops can work */
ctrl_ext |= TXGBE_PORTCTL_RSTDONE;
@@ -2008,4 +2010,7 @@ txgbe_dev_close(struct rte_eth_dev *dev)
ret = txgbe_dev_stop(dev);
+ /* Let firmware take over control of hardware */
+ wr32m(hw, TXGBE_PORTCTL, TXGBE_PORTCTL_DRVLOAD, 0);
+
txgbe_dev_free_queues(dev);
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.061123632 +0000
+++ 0089-net-txgbe-fix-driver-load-bit-to-inform-firmware.patch 2024-11-27 17:17:38.292269720 +0000
@@ -1 +1 @@
-From 0a8f064bbc2cf4978857eae84e86c6b2c9e65feb Mon Sep 17 00:00:00 2001
+From aae3e72718580b90f4fc377d5e5c0ce4d71f1e2f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 0a8f064bbc2cf4978857eae84e86c6b2c9e65feb ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 2834468764..4aa3bfd0bc 100644
+index 1dbf7c554e..9fc3d1df4d 100644
@@ -22 +23 @@
-@@ -332,4 +332,6 @@ txgbe_pf_reset_hw(struct txgbe_hw *hw)
+@@ -331,4 +331,6 @@ txgbe_pf_reset_hw(struct txgbe_hw *hw)
@@ -29 +30 @@
-@@ -2062,4 +2064,7 @@ txgbe_dev_close(struct rte_eth_dev *dev)
+@@ -2008,4 +2010,7 @@ txgbe_dev_close(struct rte_eth_dev *dev)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/ngbe: fix driver load bit to inform firmware' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (87 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/txgbe: fix driver load bit to inform firmware' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/ngbe: reconfigure more MAC Rx registers' " Kevin Traynor
` (31 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Jiawen Wu; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/777fff1f9f38b148f74984a2744442b3baf08d41
Thanks.
Kevin
---
From 777fff1f9f38b148f74984a2744442b3baf08d41 Mon Sep 17 00:00:00 2001
From: Jiawen Wu <jiawenwu@trustnetic.com>
Date: Mon, 4 Nov 2024 10:30:04 +0800
Subject: [PATCH] net/ngbe: fix driver load bit to inform firmware
[ upstream commit cb7be5b510ef0995fa171832f0e0994f667e2161 ]
Drv_load bit will be reset to default 0 after hardware LAN reset,
reconfigure it to inform firmware that driver is loaded. And set it to 0
when device is closed.
Fixes: 3518df5774c7 ("net/ngbe: support device start/stop")
Fixes: cc63194e89cb ("net/ngbe: support close and reset device")
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
---
drivers/net/ngbe/ngbe_ethdev.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/ngbe/ngbe_ethdev.c b/drivers/net/ngbe/ngbe_ethdev.c
index 7866f05571..2ad0f9d92f 100644
--- a/drivers/net/ngbe/ngbe_ethdev.c
+++ b/drivers/net/ngbe/ngbe_ethdev.c
@@ -264,4 +264,6 @@ ngbe_pf_reset_hw(struct ngbe_hw *hw)
ctrl_ext = rd32(hw, NGBE_PORTCTL);
+ /* let hardware know driver is loaded */
+ ctrl_ext |= NGBE_PORTCTL_DRVLOAD;
/* Set PF Reset Done bit so PF/VF Mail Ops can work */
ctrl_ext |= NGBE_PORTCTL_RSTDONE;
@@ -1225,4 +1227,7 @@ ngbe_dev_close(struct rte_eth_dev *dev)
ngbe_dev_stop(dev);
+ /* Let firmware take over control of hardware */
+ wr32m(hw, NGBE_PORTCTL, NGBE_PORTCTL_DRVLOAD, 0);
+
ngbe_dev_free_queues(dev);
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.094089255 +0000
+++ 0090-net-ngbe-fix-driver-load-bit-to-inform-firmware.patch 2024-11-27 17:17:38.294269731 +0000
@@ -1 +1 @@
-From cb7be5b510ef0995fa171832f0e0994f667e2161 Mon Sep 17 00:00:00 2001
+From 777fff1f9f38b148f74984a2744442b3baf08d41 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit cb7be5b510ef0995fa171832f0e0994f667e2161 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 353d17acc8..238533f2b8 100644
+index 7866f05571..2ad0f9d92f 100644
@@ -30 +31 @@
-@@ -1278,4 +1280,7 @@ ngbe_dev_close(struct rte_eth_dev *dev)
+@@ -1225,4 +1227,7 @@ ngbe_dev_close(struct rte_eth_dev *dev)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/ngbe: reconfigure more MAC Rx registers' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (88 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/ngbe: " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/ngbe: fix interrupt lost in legacy or MSI mode' " Kevin Traynor
` (30 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Jiawen Wu; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/a30b9b2f583fc4824e21357652d2fef7034ff660
Thanks.
Kevin
---
From a30b9b2f583fc4824e21357652d2fef7034ff660 Mon Sep 17 00:00:00 2001
From: Jiawen Wu <jiawenwu@trustnetic.com>
Date: Mon, 4 Nov 2024 10:30:05 +0800
Subject: [PATCH] net/ngbe: reconfigure more MAC Rx registers
[ upstream commit b8d52e1084a17c7ef83624f3bbd11a090e7b2267 ]
When link status changes, there is a probability that no more packets
can be received on the port, due to hardware defects. These MAC Rx
registers should be reconfigured to fix this problem.
Fixes: b9246b8fa280 ("net/ngbe: support link update")
Fixes: a7c5f95ed9c2 ("net/ngbe: reconfigure MAC Rx when link update")
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
---
drivers/net/ngbe/base/ngbe_regs.h | 2 ++
drivers/net/ngbe/ngbe_ethdev.c | 6 ++++++
2 files changed, 8 insertions(+)
diff --git a/drivers/net/ngbe/base/ngbe_regs.h b/drivers/net/ngbe/base/ngbe_regs.h
index c0e79a2ba7..0d820f4079 100644
--- a/drivers/net/ngbe/base/ngbe_regs.h
+++ b/drivers/net/ngbe/base/ngbe_regs.h
@@ -713,4 +713,6 @@ enum ngbe_5tuple_protocol {
#define NGBE_MACRXFLT_RXALL MS(31, 0x1)
+#define NGBE_MAC_WDG_TIMEOUT 0x01100C
+
/******************************************************************************
* Statistic Registers
diff --git a/drivers/net/ngbe/ngbe_ethdev.c b/drivers/net/ngbe/ngbe_ethdev.c
index 2ad0f9d92f..e95a315c7c 100644
--- a/drivers/net/ngbe/ngbe_ethdev.c
+++ b/drivers/net/ngbe/ngbe_ethdev.c
@@ -1869,4 +1869,5 @@ ngbe_dev_link_update_share(struct rte_eth_dev *dev,
int err;
int wait = 1;
+ u32 reg;
memset(&link, 0, sizeof(link));
@@ -1938,6 +1939,11 @@ ngbe_dev_link_update_share(struct rte_eth_dev *dev,
NGBE_MACTXCFG_SPEED_1G | NGBE_MACTXCFG_TE);
}
+ /* Re configure MAC RX */
+ reg = rd32(hw, NGBE_MACRXCFG);
+ wr32(hw, NGBE_MACRXCFG, reg);
wr32m(hw, NGBE_MACRXFLT, NGBE_MACRXFLT_PROMISC,
NGBE_MACRXFLT_PROMISC);
+ reg = rd32(hw, NGBE_MAC_WDG_TIMEOUT);
+ wr32(hw, NGBE_MAC_WDG_TIMEOUT, reg);
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.124951944 +0000
+++ 0091-net-ngbe-reconfigure-more-MAC-Rx-registers.patch 2024-11-27 17:17:38.298269751 +0000
@@ -1 +1 @@
-From b8d52e1084a17c7ef83624f3bbd11a090e7b2267 Mon Sep 17 00:00:00 2001
+From a30b9b2f583fc4824e21357652d2fef7034ff660 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b8d52e1084a17c7ef83624f3bbd11a090e7b2267 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 8a6776b0e6..b1295280a7 100644
+index c0e79a2ba7..0d820f4079 100644
@@ -32 +33 @@
-index 238533f2b8..c372fd928c 100644
+index 2ad0f9d92f..e95a315c7c 100644
@@ -35 +36 @@
-@@ -1942,4 +1942,5 @@ ngbe_dev_link_update_share(struct rte_eth_dev *dev,
+@@ -1869,4 +1869,5 @@ ngbe_dev_link_update_share(struct rte_eth_dev *dev,
@@ -41 +42 @@
-@@ -1999,6 +2000,11 @@ ngbe_dev_link_update_share(struct rte_eth_dev *dev,
+@@ -1938,6 +1939,11 @@ ngbe_dev_link_update_share(struct rte_eth_dev *dev,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/ngbe: fix interrupt lost in legacy or MSI mode' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (89 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/ngbe: reconfigure more MAC Rx registers' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/ngbe: restrict configuration of VLAN strip offload' " Kevin Traynor
` (29 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Jiawen Wu; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/aa65a44cbd5eb95e09f50e4abb7aadabe7d0411e
Thanks.
Kevin
---
From aa65a44cbd5eb95e09f50e4abb7aadabe7d0411e Mon Sep 17 00:00:00 2001
From: Jiawen Wu <jiawenwu@trustnetic.com>
Date: Mon, 4 Nov 2024 10:30:06 +0800
Subject: [PATCH] net/ngbe: fix interrupt lost in legacy or MSI mode
[ upstream commit 68f04c0aa79316de333441e7efdadd2876412ffa ]
When interrupt is legacy or MSI mode, shared interrupt may cause the
interrupt cannot be re-enabled. So fix to read the shared interrupt.
Fixes: b9246b8fa280 ("net/ngbe: support link update")
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
---
drivers/net/ngbe/ngbe_ethdev.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/net/ngbe/ngbe_ethdev.c b/drivers/net/ngbe/ngbe_ethdev.c
index e95a315c7c..a5854235dd 100644
--- a/drivers/net/ngbe/ngbe_ethdev.c
+++ b/drivers/net/ngbe/ngbe_ethdev.c
@@ -2133,4 +2133,17 @@ ngbe_dev_interrupt_get_status(struct rte_eth_dev *dev)
struct ngbe_interrupt *intr = ngbe_dev_intr(dev);
+ eicr = ((u32 *)hw->isb_mem)[NGBE_ISB_VEC0];
+ if (!eicr) {
+ /*
+ * shared interrupt alert!
+ * make sure interrupts are enabled because the read will
+ * have disabled interrupts.
+ */
+ if (!hw->adapter_stopped)
+ ngbe_enable_intr(dev);
+ return 0;
+ }
+ ((u32 *)hw->isb_mem)[NGBE_ISB_VEC0] = 0;
+
/* read-on-clear nic registers here */
eicr = ((u32 *)hw->isb_mem)[NGBE_ISB_MISC];
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.156963193 +0000
+++ 0092-net-ngbe-fix-interrupt-lost-in-legacy-or-MSI-mode.patch 2024-11-27 17:17:38.300269762 +0000
@@ -1 +1 @@
-From 68f04c0aa79316de333441e7efdadd2876412ffa Mon Sep 17 00:00:00 2001
+From aa65a44cbd5eb95e09f50e4abb7aadabe7d0411e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 68f04c0aa79316de333441e7efdadd2876412ffa ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index c372fd928c..325a9d1eaf 100644
+index e95a315c7c..a5854235dd 100644
@@ -21 +22 @@
-@@ -2194,4 +2194,17 @@ ngbe_dev_interrupt_get_status(struct rte_eth_dev *dev)
+@@ -2133,4 +2133,17 @@ ngbe_dev_interrupt_get_status(struct rte_eth_dev *dev)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/ngbe: restrict configuration of VLAN strip offload' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (90 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/ngbe: fix interrupt lost in legacy or MSI mode' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/hns3: fix error code for repeatedly create counter' " Kevin Traynor
` (28 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Jiawen Wu; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/2db3bc1f13cb2ff215febac5073e369d0a89242e
Thanks.
Kevin
---
From 2db3bc1f13cb2ff215febac5073e369d0a89242e Mon Sep 17 00:00:00 2001
From: Jiawen Wu <jiawenwu@trustnetic.com>
Date: Mon, 4 Nov 2024 10:30:07 +0800
Subject: [PATCH] net/ngbe: restrict configuration of VLAN strip offload
[ upstream commit baca8ec066dc6fdc42374e8eafd67eecfd6c9267 ]
There is a hardware limitation that Rx ring config register is not
writable when Rx ring is enabled, i.e. the NGBE_RXCFG_ENA bit is set.
But disabling the ring when there is traffic will cause ring get stuck.
So restrict the configuration of VLAN strip offload only if device is
started.
Fixes: 59b46438fdaa ("net/ngbe: support VLAN offload and VLAN filter")
Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com>
---
drivers/net/ngbe/ngbe_ethdev.c | 49 ++++++++++++++--------------------
1 file changed, 20 insertions(+), 29 deletions(-)
diff --git a/drivers/net/ngbe/ngbe_ethdev.c b/drivers/net/ngbe/ngbe_ethdev.c
index a5854235dd..9e87653623 100644
--- a/drivers/net/ngbe/ngbe_ethdev.c
+++ b/drivers/net/ngbe/ngbe_ethdev.c
@@ -565,39 +565,23 @@ ngbe_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on)
static void
-ngbe_vlan_strip_queue_set(struct rte_eth_dev *dev, uint16_t queue, int on)
+ngbe_vlan_strip_q_set(struct rte_eth_dev *dev, uint16_t queue, int on)
{
- struct ngbe_hw *hw = ngbe_dev_hw(dev);
- struct ngbe_rx_queue *rxq;
- bool restart;
- uint32_t rxcfg, rxbal, rxbah;
-
if (on)
ngbe_vlan_hw_strip_enable(dev, queue);
else
ngbe_vlan_hw_strip_disable(dev, queue);
+}
- rxq = dev->data->rx_queues[queue];
- rxbal = rd32(hw, NGBE_RXBAL(rxq->reg_idx));
- rxbah = rd32(hw, NGBE_RXBAH(rxq->reg_idx));
- rxcfg = rd32(hw, NGBE_RXCFG(rxq->reg_idx));
- if (rxq->offloads & RTE_ETH_RX_OFFLOAD_VLAN_STRIP) {
- restart = (rxcfg & NGBE_RXCFG_ENA) &&
- !(rxcfg & NGBE_RXCFG_VLAN);
- rxcfg |= NGBE_RXCFG_VLAN;
- } else {
- restart = (rxcfg & NGBE_RXCFG_ENA) &&
- (rxcfg & NGBE_RXCFG_VLAN);
- rxcfg &= ~NGBE_RXCFG_VLAN;
- }
- rxcfg &= ~NGBE_RXCFG_ENA;
+static void
+ngbe_vlan_strip_queue_set(struct rte_eth_dev *dev, uint16_t queue, int on)
+{
+ struct ngbe_hw *hw = ngbe_dev_hw(dev);
- if (restart) {
- /* set vlan strip for ring */
- ngbe_dev_rx_queue_stop(dev, queue);
- wr32(hw, NGBE_RXBAL(rxq->reg_idx), rxbal);
- wr32(hw, NGBE_RXBAH(rxq->reg_idx), rxbah);
- wr32(hw, NGBE_RXCFG(rxq->reg_idx), rxcfg);
- ngbe_dev_rx_queue_start(dev, queue);
+ if (!hw->adapter_stopped) {
+ PMD_DRV_LOG(ERR, "Please stop port first");
+ return;
}
+
+ ngbe_vlan_strip_q_set(dev, queue, on);
}
@@ -825,7 +809,7 @@ ngbe_vlan_hw_strip_config(struct rte_eth_dev *dev)
if (rxq->offloads & RTE_ETH_RX_OFFLOAD_VLAN_STRIP)
- ngbe_vlan_hw_strip_enable(dev, i);
+ ngbe_vlan_strip_q_set(dev, i, 1);
else
- ngbe_vlan_hw_strip_disable(dev, i);
+ ngbe_vlan_strip_q_set(dev, i, 0);
}
}
@@ -889,4 +873,11 @@ static int
ngbe_vlan_offload_set(struct rte_eth_dev *dev, int mask)
{
+ struct ngbe_hw *hw = ngbe_dev_hw(dev);
+
+ if (!hw->adapter_stopped && (mask & RTE_ETH_VLAN_STRIP_MASK)) {
+ PMD_DRV_LOG(ERR, "Please stop port first");
+ return -EPERM;
+ }
+
ngbe_config_vlan_strip_on_all_queues(dev, mask);
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.187823121 +0000
+++ 0093-net-ngbe-restrict-configuration-of-VLAN-strip-offloa.patch 2024-11-27 17:17:38.302269772 +0000
@@ -1 +1 @@
-From baca8ec066dc6fdc42374e8eafd67eecfd6c9267 Mon Sep 17 00:00:00 2001
+From 2db3bc1f13cb2ff215febac5073e369d0a89242e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit baca8ec066dc6fdc42374e8eafd67eecfd6c9267 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 325a9d1eaf..08e87471f6 100644
+index a5854235dd..9e87653623 100644
@@ -24 +25 @@
-@@ -587,39 +587,23 @@ ngbe_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on)
+@@ -565,39 +565,23 @@ ngbe_vlan_filter_set(struct rte_eth_dev *dev, uint16_t vlan_id, int on)
@@ -75 +76 @@
-@@ -847,7 +831,7 @@ ngbe_vlan_hw_strip_config(struct rte_eth_dev *dev)
+@@ -825,7 +809,7 @@ ngbe_vlan_hw_strip_config(struct rte_eth_dev *dev)
@@ -85 +86 @@
-@@ -911,4 +895,11 @@ static int
+@@ -889,4 +873,11 @@ static int
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/hns3: fix error code for repeatedly create counter' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (91 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/ngbe: restrict configuration of VLAN strip offload' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/hns3: fix fully use hardware flow director table' " Kevin Traynor
` (27 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Dengdui Huang; +Cc: Jie Hai, Stephen Hemminger, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/fb85e0d80aabb18dd6e4bb4096d9e669a4988673
Thanks.
Kevin
---
From fb85e0d80aabb18dd6e4bb4096d9e669a4988673 Mon Sep 17 00:00:00 2001
From: Dengdui Huang <huangdengdui@huawei.com>
Date: Thu, 7 Nov 2024 19:56:44 +0800
Subject: [PATCH] net/hns3: fix error code for repeatedly create counter
[ upstream commit 585f1f68f18c7acbc4f920053cbf4ba888e0c271 ]
Return EINVAL instead of ENOSPC when the same counter ID is
used for multiple times to create a counter.
Fixes: fcba820d9b9e ("net/hns3: support flow director")
Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/net/hns3/hns3_flow.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/hns3/hns3_flow.c b/drivers/net/hns3/hns3_flow.c
index 4d0d17f991..067319e69f 100644
--- a/drivers/net/hns3/hns3_flow.c
+++ b/drivers/net/hns3/hns3_flow.c
@@ -284,5 +284,5 @@ hns3_counter_new(struct rte_eth_dev *dev, uint32_t shared, uint32_t id,
if (cnt) {
if (!cnt->shared || cnt->shared != shared)
- return rte_flow_error_set(error, ENOTSUP,
+ return rte_flow_error_set(error, EINVAL,
RTE_FLOW_ERROR_TYPE_ACTION_CONF,
cnt,
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.218818905 +0000
+++ 0094-net-hns3-fix-error-code-for-repeatedly-create-counte.patch 2024-11-27 17:17:38.303269777 +0000
@@ -1 +1 @@
-From 585f1f68f18c7acbc4f920053cbf4ba888e0c271 Mon Sep 17 00:00:00 2001
+From fb85e0d80aabb18dd6e4bb4096d9e669a4988673 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 585f1f68f18c7acbc4f920053cbf4ba888e0c271 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 192ffc015e..266934b45b 100644
+index 4d0d17f991..067319e69f 100644
@@ -23 +24 @@
-@@ -287,5 +287,5 @@ hns3_counter_new(struct rte_eth_dev *dev, uint32_t indirect, uint32_t id,
+@@ -284,5 +284,5 @@ hns3_counter_new(struct rte_eth_dev *dev, uint32_t shared, uint32_t id,
@@ -25 +26 @@
- if (!cnt->indirect || cnt->indirect != indirect)
+ if (!cnt->shared || cnt->shared != shared)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/hns3: fix fully use hardware flow director table' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (92 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/hns3: fix error code for repeatedly create counter' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'event/octeontx: fix possible integer overflow' " Kevin Traynor
` (26 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Dengdui Huang; +Cc: Jie Hai, Stephen Hemminger, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/47aec5f7f177af5c198e13cb3966c37691d03e63
Thanks.
Kevin
---
From 47aec5f7f177af5c198e13cb3966c37691d03e63 Mon Sep 17 00:00:00 2001
From: Dengdui Huang <huangdengdui@huawei.com>
Date: Thu, 7 Nov 2024 19:56:45 +0800
Subject: [PATCH] net/hns3: fix fully use hardware flow director table
[ upstream commit b8e60c33168a2999604c17322dd0198a6746428f ]
The hns3 driver checks whether the flow rule is repeatedly inserted
based on rte_hash. Currently, the rte_hash extendable bucket table
feature is not enabled. When there are many hash conflicts, the hash
table space cannot be fully used. So the flow rule maybe cannot be
inserted even if the hardware flow director table there are still free.
This patch fix it by enabling the rte_hash extensible bucket table
feature.
Fixes: fcba820d9b9e ("net/hns3: support flow director")
Signed-off-by: Dengdui Huang <huangdengdui@huawei.com>
Signed-off-by: Jie Hai <haijie1@huawei.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/net/hns3/hns3_fdir.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/hns3/hns3_fdir.c b/drivers/net/hns3/hns3_fdir.c
index a2dd25fb21..5a1dde1786 100644
--- a/drivers/net/hns3/hns3_fdir.c
+++ b/drivers/net/hns3/hns3_fdir.c
@@ -833,4 +833,5 @@ int hns3_fdir_filter_init(struct hns3_adapter *hns)
.hash_func = rte_hash_crc,
.hash_func_init_val = 0,
+ .extra_flag = RTE_HASH_EXTRA_FLAGS_EXT_TABLE,
};
int ret;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.250129000 +0000
+++ 0095-net-hns3-fix-fully-use-hardware-flow-director-table.patch 2024-11-27 17:17:38.304269783 +0000
@@ -1 +1 @@
-From b8e60c33168a2999604c17322dd0198a6746428f Mon Sep 17 00:00:00 2001
+From 47aec5f7f177af5c198e13cb3966c37691d03e63 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b8e60c33168a2999604c17322dd0198a6746428f ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index d18d083535..aacad40e61 100644
+index a2dd25fb21..5a1dde1786 100644
@@ -28 +29 @@
-@@ -901,4 +901,5 @@ int hns3_fdir_filter_init(struct hns3_adapter *hns)
+@@ -833,4 +833,5 @@ int hns3_fdir_filter_init(struct hns3_adapter *hns)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'event/octeontx: fix possible integer overflow' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (93 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/hns3: fix fully use hardware flow director table' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/bnxt/tf_core: fix Thor TF EM key size check' " Kevin Traynor
` (25 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Hanumanth Pothula; +Cc: Ali Alnubani, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/1fd16196ce64076972ee5e2261de9fff49df1f55
Thanks.
Kevin
---
From 1fd16196ce64076972ee5e2261de9fff49df1f55 Mon Sep 17 00:00:00 2001
From: Hanumanth Pothula <hpothula@marvell.com>
Date: Fri, 25 Oct 2024 16:28:02 +0530
Subject: [PATCH] event/octeontx: fix possible integer overflow
[ upstream commit 3e86eee028c69b98144e2c62ec48091467e790be ]
The last argument passed to ssovf_parsekv() is an
unsigned char*, but it is accessed as an integer.
This can lead to an integer overflow.
Hence, make ensure the argument is accessed as a char
and for better error handling use strtol instead of atoi.
Bugzilla ID: 1512
Fixes: 3516327e00fd ("event/octeontx: add selftest to device arguments")
Signed-off-by: Hanumanth Pothula <hpothula@marvell.com>
Tested-by: Ali Alnubani <alialnu@nvidia.com>
---
drivers/event/octeontx/ssovf_evdev.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/drivers/event/octeontx/ssovf_evdev.c b/drivers/event/octeontx/ssovf_evdev.c
index 634fa8a27f..42240d9099 100644
--- a/drivers/event/octeontx/ssovf_evdev.c
+++ b/drivers/event/octeontx/ssovf_evdev.c
@@ -714,8 +714,18 @@ ssovf_close(struct rte_eventdev *dev)
static int
-ssovf_parsekv(const char *key __rte_unused, const char *value, void *opaque)
+ssovf_parsekv(const char *key, const char *value, void *opaque)
{
- int *flag = opaque;
- *flag = !!atoi(value);
+ uint8_t *flag = opaque;
+ uint64_t v;
+ char *end;
+
+ errno = 0;
+ v = strtoul(value, &end, 0);
+ if ((errno != 0) || (value == end) || *end != '\0' || v > 1) {
+ ssovf_log_err("invalid %s value %s", key, value);
+ return -EINVAL;
+ }
+
+ *flag = !!v;
return 0;
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.280535072 +0000
+++ 0096-event-octeontx-fix-possible-integer-overflow.patch 2024-11-27 17:17:38.305269788 +0000
@@ -1 +1 @@
-From 3e86eee028c69b98144e2c62ec48091467e790be Mon Sep 17 00:00:00 2001
+From 1fd16196ce64076972ee5e2261de9fff49df1f55 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3e86eee028c69b98144e2c62ec48091467e790be ]
+
@@ -15 +16,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index 3a933b1db7..957fcab04e 100644
+index 634fa8a27f..42240d9099 100644
@@ -27 +28 @@
-@@ -718,8 +718,18 @@ ssovf_close(struct rte_eventdev *dev)
+@@ -714,8 +714,18 @@ ssovf_close(struct rte_eventdev *dev)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/bnxt/tf_core: fix Thor TF EM key size check' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (94 preceding siblings ...)
2024-11-27 17:18 ` patch 'event/octeontx: fix possible integer overflow' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/bnxt: fix reading SFF-8436 SFP EEPROMs' " Kevin Traynor
` (24 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Farah Smith
Cc: Sriharsha Basavapatna, Kishore Padmanabha, Shahaji Bhosle,
Ajit Khaparde, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/ad1456b8b3174ce0e7f480bfe5d9c954f6f24f41
Thanks.
Kevin
---
From ad1456b8b3174ce0e7f480bfe5d9c954f6f24f41 Mon Sep 17 00:00:00 2001
From: Farah Smith <farah.smith@broadcom.com>
Date: Thu, 7 Nov 2024 19:22:11 +0530
Subject: [PATCH] net/bnxt/tf_core: fix Thor TF EM key size check
[ upstream commit 912abed4250c792214886880fa0b93b7712fba21 ]
The maximum EM key size is 640 bits for Thor. But the lookup record
+ the key size is 679 bits. This value must be rounded up to a 128 bit
aligned number. So the size check should be 96 bytes rather than 80.
This fix allows keys > 601 bits to be successfully inserted.
Fixes: 539931eab3a5 ("net/bnxt: support EM with FKB")
Signed-off-by: Farah Smith <farah.smith@broadcom.com>
Signed-off-by: Sriharsha Basavapatna <sriharsha.basavapatna@broadcom.com>
Reviewed-by: Farah Smith <farah.smith@broadcom.com>
Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com>
Reviewed-by: Shahaji Bhosle <sbhosle@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/tf_core/tf_msg.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/bnxt/tf_core/tf_msg.c b/drivers/net/bnxt/tf_core/tf_msg.c
index fbc96d374c..f468de564d 100644
--- a/drivers/net/bnxt/tf_core/tf_msg.c
+++ b/drivers/net/bnxt/tf_core/tf_msg.c
@@ -26,5 +26,5 @@
#define TF_MSG_SET_GLOBAL_CFG_DATA_SIZE 16
#define TF_MSG_EM_INSERT_KEY_SIZE 64
-#define TF_MSG_EM_INSERT_RECORD_SIZE 80
+#define TF_MSG_EM_INSERT_RECORD_SIZE 96
#define TF_MSG_TBL_TYPE_SET_DATA_SIZE 88
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.310153756 +0000
+++ 0097-net-bnxt-tf_core-fix-Thor-TF-EM-key-size-check.patch 2024-11-27 17:17:38.306269793 +0000
@@ -1 +1 @@
-From 912abed4250c792214886880fa0b93b7712fba21 Mon Sep 17 00:00:00 2001
+From ad1456b8b3174ce0e7f480bfe5d9c954f6f24f41 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 912abed4250c792214886880fa0b93b7712fba21 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index 08e9783d52..dd5ea1c80e 100644
+index fbc96d374c..f468de564d 100644
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/bnxt: fix reading SFF-8436 SFP EEPROMs' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (95 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/bnxt/tf_core: fix Thor TF EM key size check' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/bnxt: fix TCP and UDP checksum flags' " Kevin Traynor
` (23 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Peter Morrow; +Cc: Ajit Khaparde, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/477074d478d0ae8064a496f6efbdb9d7a9211267
Thanks.
Kevin
---
From 477074d478d0ae8064a496f6efbdb9d7a9211267 Mon Sep 17 00:00:00 2001
From: Peter Morrow <peter@graphiant.com>
Date: Mon, 12 Aug 2024 11:34:05 +0100
Subject: [PATCH] net/bnxt: fix reading SFF-8436 SFP EEPROMs
[ upstream commit 7b8400464f14637ed2669dbf732c256bf2447de6 ]
If a SFP which supports SFF-8436 is present then
currently the DDM information present in the eeprom
is not read. Furthermore bnxt_get_module_eeprom()
will return -EINVAL for these eeproms since the
length of these eeproms is 512 bytes but we are
only ever selecting 2 pages (256 bytes) to read.
Fixes: 6253a23491a4 ("net/bnxt: dump SFP module info")
Signed-off-by: Peter Morrow <peter@graphiant.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
.mailmap | 1 +
drivers/net/bnxt/bnxt_ethdev.c | 1 -
2 files changed, 1 insertion(+), 1 deletion(-)
diff --git a/.mailmap b/.mailmap
index 5e0de73ae0..0317d15bc4 100644
--- a/.mailmap
+++ b/.mailmap
@@ -1077,4 +1077,5 @@ Peng Zhang <peng.zhang@corigine.com> <peng1x.zhang@intel.com>
Pengzhen Liu <liupengzhen3@huawei.com>
Peter Mccarthy <peter.mccarthy@intel.com>
+Peter Morrow <peter@graphiant.com>
Peter Spreadborough <peter.spreadborough@broadcom.com>
Petr Houska <t-pehous@microsoft.com>
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 63ef5593b0..347080df6c 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -3959,5 +3959,4 @@ static int bnxt_get_module_eeprom(struct rte_eth_dev *dev,
switch (module_info[0]) {
case SFF_MODULE_ID_SFP:
- module_info[SFF_DIAG_SUPPORT_OFFSET] = 0;
if (module_info[SFF_DIAG_SUPPORT_OFFSET]) {
pg_addr[2] = I2C_DEV_ADDR_A2;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.340314995 +0000
+++ 0098-net-bnxt-fix-reading-SFF-8436-SFP-EEPROMs.patch 2024-11-27 17:17:38.310269814 +0000
@@ -1 +1 @@
-From 7b8400464f14637ed2669dbf732c256bf2447de6 Mon Sep 17 00:00:00 2001
+From 477074d478d0ae8064a496f6efbdb9d7a9211267 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7b8400464f14637ed2669dbf732c256bf2447de6 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index f293f89167..5a8ec89d47 100644
+index 5e0de73ae0..0317d15bc4 100644
@@ -27 +28 @@
-@@ -1180,4 +1180,5 @@ Peng Zhang <peng.zhang@corigine.com> <peng1x.zhang@intel.com>
+@@ -1077,4 +1077,5 @@ Peng Zhang <peng.zhang@corigine.com> <peng1x.zhang@intel.com>
@@ -31 +31,0 @@
- Peter Nilsson <peter.j.nilsson@ericsson.com>
@@ -32,0 +33 @@
+ Petr Houska <t-pehous@microsoft.com>
@@ -34 +35 @@
-index 2f5c055086..5edb162430 100644
+index 63ef5593b0..347080df6c 100644
@@ -37 +38 @@
-@@ -4223,5 +4223,4 @@ static int bnxt_get_module_eeprom(struct rte_eth_dev *dev,
+@@ -3959,5 +3959,4 @@ static int bnxt_get_module_eeprom(struct rte_eth_dev *dev,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/bnxt: fix TCP and UDP checksum flags' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (96 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/bnxt: fix reading SFF-8436 SFP EEPROMs' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/bnxt: fix bad action offset in Tx BD' " Kevin Traynor
` (22 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Ajit Khaparde; +Cc: Kalesh AP, Damodharam Ammepalli, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/514d7757ea08c0c894474cce36075d797c5f17e4
Thanks.
Kevin
---
From 514d7757ea08c0c894474cce36075d797c5f17e4 Mon Sep 17 00:00:00 2001
From: Ajit Khaparde <ajit.khaparde@broadcom.com>
Date: Thu, 13 Jun 2024 07:20:28 -0700
Subject: [PATCH] net/bnxt: fix TCP and UDP checksum flags
[ upstream commit 4c0451197e5a88531c30398b58b7e5601be90080 ]
Set TCP and UDP checksum flags explicitly for LSO capable packets.
In some older chip variants, this will enable the hardware compute
the checksum correctly for tunnel and non-tunnel packets.
Fixes: 1d76c878b21d ("net/bnxt: support updating IPID")
Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Damodharam Ammepalli <damodharam.ammepalli@broadcom.com>
---
drivers/net/bnxt/bnxt_txr.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c
index c0518b4a26..14d0862548 100644
--- a/drivers/net/bnxt/bnxt_txr.c
+++ b/drivers/net/bnxt/bnxt_txr.c
@@ -245,5 +245,7 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
/* TSO */
txbd1->lflags |= TX_BD_LONG_LFLAGS_LSO |
- TX_BD_LONG_LFLAGS_T_IPID;
+ TX_BD_LONG_LFLAGS_T_IPID |
+ TX_BD_LONG_LFLAGS_TCP_UDP_CHKSUM |
+ TX_BD_LONG_LFLAGS_T_IP_CHKSUM;
hdr_size = tx_pkt->l2_len + tx_pkt->l3_len +
tx_pkt->l4_len;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.374547606 +0000
+++ 0099-net-bnxt-fix-TCP-and-UDP-checksum-flags.patch 2024-11-27 17:17:38.311269819 +0000
@@ -1 +1 @@
-From 4c0451197e5a88531c30398b58b7e5601be90080 Mon Sep 17 00:00:00 2001
+From 514d7757ea08c0c894474cce36075d797c5f17e4 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4c0451197e5a88531c30398b58b7e5601be90080 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 12e4faa8fa..38f858f27f 100644
+index c0518b4a26..14d0862548 100644
@@ -24 +25 @@
-@@ -320,5 +320,7 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
+@@ -245,5 +245,7 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/bnxt: fix bad action offset in Tx BD' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (97 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/bnxt: fix TCP and UDP checksum flags' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/bnx2x: remove dead conditional' " Kevin Traynor
` (21 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Peter Spreadborough; +Cc: Kishore Padmanabha, Ajit Khaparde, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/24aedec98e4ec42274a223eb41ffd85c56f95e8e
Thanks.
Kevin
---
From 24aedec98e4ec42274a223eb41ffd85c56f95e8e Mon Sep 17 00:00:00 2001
From: Peter Spreadborough <peter.spreadborough@broadcom.com>
Date: Tue, 16 Apr 2024 14:15:56 -0400
Subject: [PATCH] net/bnxt: fix bad action offset in Tx BD
[ upstream commit b019ddf9b1de65491b4c07c25bbab3dc70c15f79 ]
This change ensures that the high part of an action table entry
offset stored in the Tx BD is set correctly. A bad value will
cause the PDCU to abort a fetch an may stall the pipeline.
Fixes: 527b10089cc5 ("net/bnxt: optimize Tx completion handling")
Signed-off-by: Peter Spreadborough <peter.spreadborough@broadcom.com>
Reviewed-by: Kishore Padmanabha <kishore.padmanabha@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
---
drivers/net/bnxt/bnxt_txr.c | 13 +++++++++----
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_txr.c b/drivers/net/bnxt/bnxt_txr.c
index 14d0862548..955d7eb13c 100644
--- a/drivers/net/bnxt/bnxt_txr.c
+++ b/drivers/net/bnxt/bnxt_txr.c
@@ -235,8 +235,13 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
txbd1->kid_or_ts_high_mss = 0;
- if (txq->vfr_tx_cfa_action)
- txbd1->cfa_action = txq->vfr_tx_cfa_action;
- else
- txbd1->cfa_action = txq->bp->tx_cfa_action;
+ if (txq->vfr_tx_cfa_action) {
+ txbd1->cfa_action = txq->vfr_tx_cfa_action & 0xffff;
+ txbd1->cfa_action_high = (txq->vfr_tx_cfa_action >> 16) &
+ TX_BD_LONG_CFA_ACTION_HIGH_MASK;
+ } else {
+ txbd1->cfa_action = txq->bp->tx_cfa_action & 0xffff;
+ txbd1->cfa_action_high = (txq->bp->tx_cfa_action >> 16) &
+ TX_BD_LONG_CFA_ACTION_HIGH_MASK;
+ }
if (tx_pkt->ol_flags & RTE_MBUF_F_TX_TCP_SEG) {
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.403877248 +0000
+++ 0100-net-bnxt-fix-bad-action-offset-in-Tx-BD.patch 2024-11-27 17:17:38.312269824 +0000
@@ -1 +1 @@
-From b019ddf9b1de65491b4c07c25bbab3dc70c15f79 Mon Sep 17 00:00:00 2001
+From 24aedec98e4ec42274a223eb41ffd85c56f95e8e Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b019ddf9b1de65491b4c07c25bbab3dc70c15f79 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 38f858f27f..c82b11e733 100644
+index 14d0862548..955d7eb13c 100644
@@ -24 +25 @@
-@@ -309,8 +309,13 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
+@@ -235,8 +235,13 @@ static uint16_t bnxt_start_xmit(struct rte_mbuf *tx_pkt,
@@ -41 +42 @@
- if (tx_pkt->ol_flags & RTE_MBUF_F_TX_TCP_SEG ||
+ if (tx_pkt->ol_flags & RTE_MBUF_F_TX_TCP_SEG) {
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/bnx2x: remove dead conditional' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (98 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/bnxt: fix bad action offset in Tx BD' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/bnx2x: fix always true expression' " Kevin Traynor
` (20 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/e8c123ffdb05d5da33461db7959c6070e3ca3a89
Thanks.
Kevin
---
From e8c123ffdb05d5da33461db7959c6070e3ca3a89 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 12 Nov 2024 09:43:53 -0800
Subject: [PATCH] net/bnx2x: remove dead conditional
[ upstream commit 3868c0ce5ce83eacc9611cc4a83d20120ae3442e ]
The second if test here is impossible because it contradicts
previous line.
Coverity issue: 384428
Fixes: 540a211084a7 ("bnx2x: driver core")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/net/bnx2x/bnx2x_stats.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/drivers/net/bnx2x/bnx2x_stats.c b/drivers/net/bnx2x/bnx2x_stats.c
index 69132c7c80..72a26ed5cc 100644
--- a/drivers/net/bnx2x/bnx2x_stats.c
+++ b/drivers/net/bnx2x/bnx2x_stats.c
@@ -76,8 +76,4 @@ bnx2x_storm_stats_post(struct bnx2x_softc *sc)
if (!sc->stats_pending) {
- if (sc->stats_pending) {
- return;
- }
-
sc->fw_stats_req->hdr.drv_stats_counter =
htole16(sc->stats_counter++);
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.433440660 +0000
+++ 0101-net-bnx2x-remove-dead-conditional.patch 2024-11-27 17:17:38.313269829 +0000
@@ -1 +1 @@
-From 3868c0ce5ce83eacc9611cc4a83d20120ae3442e Mon Sep 17 00:00:00 2001
+From e8c123ffdb05d5da33461db7959c6070e3ca3a89 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3868c0ce5ce83eacc9611cc4a83d20120ae3442e ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -15,2 +16,2 @@
- drivers/net/bnx2x/bnx2x_stats.c | 3 ---
- 1 file changed, 3 deletions(-)
+ drivers/net/bnx2x/bnx2x_stats.c | 4 ----
+ 1 file changed, 4 deletions(-)
@@ -19 +20 @@
-index d473c5e7ec..8adbe7e381 100644
+index 69132c7c80..72a26ed5cc 100644
@@ -22 +23 @@
-@@ -74,7 +74,4 @@ bnx2x_storm_stats_post(struct bnx2x_softc *sc)
+@@ -76,8 +76,4 @@ bnx2x_storm_stats_post(struct bnx2x_softc *sc)
@@ -25 +26 @@
-- if (sc->stats_pending)
+- if (sc->stats_pending) {
@@ -26,0 +28 @@
+- }
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/bnx2x: fix always true expression' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (99 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/bnx2x: remove dead conditional' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/bnx2x: fix possible infinite loop at startup' " Kevin Traynor
` (19 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/e727bfdcf18ce2b526165ad9c43d42be40891505
Thanks.
Kevin
---
From e727bfdcf18ce2b526165ad9c43d42be40891505 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 12 Nov 2024 09:43:54 -0800
Subject: [PATCH] net/bnx2x: fix always true expression
[ upstream commit fb6b0e9a36326a4f13f496b00f7f92aaffe1d5f4 ]
Coverity spotted that the check to enable single interrupt
mode would evaluate as always true since:
The or condition sc->interrupt_mode != 2 || sc->interrupt_mode != 3
will always be true because sc->interrupt_mode cannot be equal to
two different values at the same time, so it must be not equal to
at least one of them.
Coverity issue: 362046
Fixes: 540a211084a7 ("bnx2x: driver core")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/net/bnx2x/bnx2x.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
index 55a91fad78..8e6d2c5c80 100644
--- a/drivers/net/bnx2x/bnx2x.c
+++ b/drivers/net/bnx2x/bnx2x.c
@@ -11196,9 +11196,7 @@ static int bnx2x_init_hw_func(struct bnx2x_softc *sc)
* INT#x or MSI
*/
- if ((sc->interrupt_mode != INTR_MODE_MSIX)
- || (sc->interrupt_mode != INTR_MODE_SINGLE_MSIX)) {
+ if (sc->interrupt_mode == INTR_MODE_INTX ||
+ sc->interrupt_mode == INTR_MODE_MSI)
pf_conf |= IGU_PF_CONF_SINGLE_ISR_EN;
- }
-
/*
* Timers workaround bug: function init part.
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.463522376 +0000
+++ 0102-net-bnx2x-fix-always-true-expression.patch 2024-11-27 17:17:38.319269860 +0000
@@ -1 +1 @@
-From fb6b0e9a36326a4f13f496b00f7f92aaffe1d5f4 Mon Sep 17 00:00:00 2001
+From e727bfdcf18ce2b526165ad9c43d42be40891505 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit fb6b0e9a36326a4f13f496b00f7f92aaffe1d5f4 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -24 +25 @@
-index 3153cc4d80..af31ac4604 100644
+index 55a91fad78..8e6d2c5c80 100644
@@ -27 +28 @@
-@@ -11190,9 +11190,7 @@ static int bnx2x_init_hw_func(struct bnx2x_softc *sc)
+@@ -11196,9 +11196,7 @@ static int bnx2x_init_hw_func(struct bnx2x_softc *sc)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/bnx2x: fix possible infinite loop at startup' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (100 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/bnx2x: fix always true expression' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/bnx2x: fix duplicate branch' " Kevin Traynor
` (18 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/25c2e093b2c9b324f555c90acd789c1ae3c0553d
Thanks.
Kevin
---
From 25c2e093b2c9b324f555c90acd789c1ae3c0553d Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 12 Nov 2024 09:43:55 -0800
Subject: [PATCH] net/bnx2x: fix possible infinite loop at startup
[ upstream commit a47272b052dd1c8c571a1c0b89b56aaa3ebf4351 ]
Coverity spotted that one of the loop conditions was always true.
Fix by initializing the variable using same logic as Linux
kernel driver.
Coverity issue: 362057
Fixes: 540a211084a7 ("bnx2x: driver core")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/net/bnx2x/bnx2x.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
index 8e6d2c5c80..a93642650a 100644
--- a/drivers/net/bnx2x/bnx2x.c
+++ b/drivers/net/bnx2x/bnx2x.c
@@ -10338,10 +10338,11 @@ static int bnx2x_init_hw_common(struct bnx2x_softc *sc)
if (!CHIP_IS_E1x(sc)) {
- int factor = 0;
+ int factor = CHIP_REV_IS_EMUL(sc) ? 1000 :
+ (CHIP_REV_IS_FPGA(sc) ? 400 : 0);
ecore_init_block(sc, BLOCK_PGLUE_B, PHASE_COMMON);
ecore_init_block(sc, BLOCK_ATC, PHASE_COMMON);
-/* let the HW do it's magic... */
+ /* let the HW do it's magic... */
do {
DELAY(200000);
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.500371309 +0000
+++ 0103-net-bnx2x-fix-possible-infinite-loop-at-startup.patch 2024-11-27 17:17:38.323269881 +0000
@@ -1 +1 @@
-From a47272b052dd1c8c571a1c0b89b56aaa3ebf4351 Mon Sep 17 00:00:00 2001
+From 25c2e093b2c9b324f555c90acd789c1ae3c0553d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a47272b052dd1c8c571a1c0b89b56aaa3ebf4351 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index af31ac4604..d96fcb55c9 100644
+index 8e6d2c5c80..a93642650a 100644
@@ -23 +24 @@
-@@ -10332,10 +10332,11 @@ static int bnx2x_init_hw_common(struct bnx2x_softc *sc)
+@@ -10338,10 +10338,11 @@ static int bnx2x_init_hw_common(struct bnx2x_softc *sc)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/bnx2x: fix duplicate branch' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (101 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/bnx2x: fix possible infinite loop at startup' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'common/cnxk: fix build on Ubuntu 24.04' " Kevin Traynor
` (17 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/e197a12ccd8fdfc5dcfbb0214ed746f441418dc9
Thanks.
Kevin
---
From e197a12ccd8fdfc5dcfbb0214ed746f441418dc9 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Tue, 12 Nov 2024 09:43:56 -0800
Subject: [PATCH] net/bnx2x: fix duplicate branch
[ upstream commit 87e210eb086f49f32733c579003b9565e46535d7 ]
Coverity spotted that both legs of the conditional are the same.
Looking at kernel driver there is additional code there, but the
kernel driver supports Wake On Lan, and DPDK does not.
Coverity issue: 362072
Fixes: 540a211084a7 ("bnx2x: driver core")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
drivers/net/bnx2x/bnx2x.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
index a93642650a..7493563911 100644
--- a/drivers/net/bnx2x/bnx2x.c
+++ b/drivers/net/bnx2x/bnx2x.c
@@ -1624,14 +1624,10 @@ static int bnx2x_nic_unload_no_mcp(struct bnx2x_softc *sc)
/* request unload mode from the MCP: COMMON, PORT or FUNCTION */
-static uint32_t bnx2x_send_unload_req(struct bnx2x_softc *sc, int unload_mode)
+static uint32_t bnx2x_send_unload_req(struct bnx2x_softc *sc, int unload_mode __rte_unused)
{
uint32_t reset_code = 0;
/* Select the UNLOAD request mode */
- if (unload_mode == UNLOAD_NORMAL) {
- reset_code = DRV_MSG_CODE_UNLOAD_REQ_WOL_DIS;
- } else {
- reset_code = DRV_MSG_CODE_UNLOAD_REQ_WOL_DIS;
- }
+ reset_code = DRV_MSG_CODE_UNLOAD_REQ_WOL_DIS;
/* Send the request to the MCP */
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.539183590 +0000
+++ 0104-net-bnx2x-fix-duplicate-branch.patch 2024-11-27 17:17:38.328269907 +0000
@@ -1 +1 @@
-From 87e210eb086f49f32733c579003b9565e46535d7 Mon Sep 17 00:00:00 2001
+From e197a12ccd8fdfc5dcfbb0214ed746f441418dc9 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 87e210eb086f49f32733c579003b9565e46535d7 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index d96fcb55c9..51e5cabf7b 100644
+index a93642650a..7493563911 100644
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'common/cnxk: fix build on Ubuntu 24.04' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (102 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/bnx2x: fix duplicate branch' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'examples/l2fwd-event: fix spinlock handling' " Kevin Traynor
` (16 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Sunil Kumar Kori; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/ce462a593ac8b47f414e254962100b8b3959178d
Thanks.
Kevin
---
From ce462a593ac8b47f414e254962100b8b3959178d Mon Sep 17 00:00:00 2001
From: Sunil Kumar Kori <skori@marvell.com>
Date: Thu, 14 Nov 2024 13:08:14 +0530
Subject: [PATCH] common/cnxk: fix build on Ubuntu 24.04
[ upstream commit 20c29a0e4602b9c7be5ea299457f909846c3785d ]
Due to different datatypes, warnings are thrown for writing
on space more than its size.
Bugzilla ID: 1513
Fixes: 39ac394aa7a8 ("common/cnxk: fix device MSI-X greater than default value")
Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
---
drivers/common/cnxk/roc_irq.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/common/cnxk/roc_irq.c b/drivers/common/cnxk/roc_irq.c
index 010b121176..fb11bcbb6f 100644
--- a/drivers/common/cnxk/roc_irq.c
+++ b/drivers/common/cnxk/roc_irq.c
@@ -16,5 +16,5 @@
#define MSIX_IRQ_SET_BUF_LEN \
(sizeof(struct vfio_irq_set) + sizeof(int) * \
- (plt_intr_max_intr_get(intr_handle)))
+ ((uint32_t)plt_intr_max_intr_get(intr_handle)))
static int
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.574817033 +0000
+++ 0105-common-cnxk-fix-build-on-Ubuntu-24.04.patch 2024-11-27 17:17:38.328269907 +0000
@@ -1 +1 @@
-From 20c29a0e4602b9c7be5ea299457f909846c3785d Mon Sep 17 00:00:00 2001
+From ce462a593ac8b47f414e254962100b8b3959178d Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 20c29a0e4602b9c7be5ea299457f909846c3785d ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index a709c4047d..0b21b9e2d9 100644
+index 010b121176..fb11bcbb6f 100644
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'examples/l2fwd-event: fix spinlock handling' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (103 preceding siblings ...)
2024-11-27 17:18 ` patch 'common/cnxk: fix build on Ubuntu 24.04' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'eventdev: fix possible array underflow/overflow' " Kevin Traynor
` (15 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Hemant Agrawal; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/0d9ea65b3ba613526a92f38bf07b3a317218fc36
Thanks.
Kevin
---
From 0d9ea65b3ba613526a92f38bf07b3a317218fc36 Mon Sep 17 00:00:00 2001
From: Hemant Agrawal <hemant.agrawal@nxp.com>
Date: Thu, 14 Nov 2024 13:14:36 +0530
Subject: [PATCH] examples/l2fwd-event: fix spinlock handling
[ upstream commit 1f41deac447d7938198a2acdd1b7862161feef91 ]
Detected by pvs-studio
Bug 89-93: very suspicious synchronization
The analyzer issued a pack of V1020 warnings that a resource
might remain blocked.
Fixes: 080f57bceca4 ("examples/l2fwd-event: add eventdev main loop")
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
examples/l2fwd-event/l2fwd_event.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/examples/l2fwd-event/l2fwd_event.c b/examples/l2fwd-event/l2fwd_event.c
index 6df3cdfeab..7f3f308886 100644
--- a/examples/l2fwd-event/l2fwd_event.c
+++ b/examples/l2fwd-event/l2fwd_event.c
@@ -142,4 +142,5 @@ l2fwd_get_free_event_port(struct l2fwd_event_resources *evt_rsrc)
if (index >= evt_rsrc->evp.nb_ports) {
printf("No free event port is available\n");
+ rte_spinlock_unlock(&evt_rsrc->evp.lock);
return -1;
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.603175328 +0000
+++ 0106-examples-l2fwd-event-fix-spinlock-handling.patch 2024-11-27 17:17:38.329269912 +0000
@@ -1 +1 @@
-From 1f41deac447d7938198a2acdd1b7862161feef91 Mon Sep 17 00:00:00 2001
+From 0d9ea65b3ba613526a92f38bf07b3a317218fc36 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1f41deac447d7938198a2acdd1b7862161feef91 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 22472027b9..416957384b 100644
+index 6df3cdfeab..7f3f308886 100644
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'eventdev: fix possible array underflow/overflow' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (104 preceding siblings ...)
2024-11-27 17:18 ` patch 'examples/l2fwd-event: fix spinlock handling' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/mlx5: fix shared queue port number in vector Rx' " Kevin Traynor
` (14 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Bruce Richardson; +Cc: Jerin Jacob, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/2b3091f5dee0655172d6742283bd47470c8b2aa9
Thanks.
Kevin
---
From 2b3091f5dee0655172d6742283bd47470c8b2aa9 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Thu, 14 Nov 2024 11:55:38 +0000
Subject: [PATCH] eventdev: fix possible array underflow/overflow
[ upstream commit 952b24bd0475450e548d4aafae7d8cf48258402b ]
If the number of interrupts is zero, then indexing an array by
"nb_rx_intr - 1" will cause an out-of-bounds write Fix this by putting
in a check that nb_rx_intr > 0 before doing the array write.
Coverity issue: 448870
Fixes: 3810ae435783 ("eventdev: add interrupt driven queues to Rx adapter")
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
---
lib/eventdev/rte_event_eth_rx_adapter.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c b/lib/eventdev/rte_event_eth_rx_adapter.c
index 54115cc899..e223728c86 100644
--- a/lib/eventdev/rte_event_eth_rx_adapter.c
+++ b/lib/eventdev/rte_event_eth_rx_adapter.c
@@ -2247,5 +2247,5 @@ rxa_sw_add(struct event_eth_rx_adapter *rx_adapter, uint16_t eth_dev_id,
dev_info->intr_queue[i] = i;
} else {
- if (!rxa_intr_queue(dev_info, rx_queue_id))
+ if (!rxa_intr_queue(dev_info, rx_queue_id) && nb_rx_intr > 0)
dev_info->intr_queue[nb_rx_intr - 1] =
rx_queue_id;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.631448320 +0000
+++ 0107-eventdev-fix-possible-array-underflow-overflow.patch 2024-11-27 17:17:38.331269922 +0000
@@ -1 +1 @@
-From 952b24bd0475450e548d4aafae7d8cf48258402b Mon Sep 17 00:00:00 2001
+From 2b3091f5dee0655172d6742283bd47470c8b2aa9 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 952b24bd0475450e548d4aafae7d8cf48258402b ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 3ee20d95f3..39674c4604 100644
+index 54115cc899..e223728c86 100644
@@ -24 +25 @@
-@@ -2300,5 +2300,5 @@ rxa_sw_add(struct event_eth_rx_adapter *rx_adapter, uint16_t eth_dev_id,
+@@ -2247,5 +2247,5 @@ rxa_sw_add(struct event_eth_rx_adapter *rx_adapter, uint16_t eth_dev_id,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/mlx5: fix shared queue port number in vector Rx' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (105 preceding siblings ...)
2024-11-27 17:18 ` patch 'eventdev: fix possible array underflow/overflow' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'common/mlx5: fix misalignment' " Kevin Traynor
` (13 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Alexander Kozyrev; +Cc: Viacheslav Ovsiienko, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/6c40ffa5fd13f0dc4db5e2c64a9d8522417c87d3
Thanks.
Kevin
---
From 6c40ffa5fd13f0dc4db5e2c64a9d8522417c87d3 Mon Sep 17 00:00:00 2001
From: Alexander Kozyrev <akozyrev@nvidia.com>
Date: Mon, 28 Oct 2024 19:53:54 +0200
Subject: [PATCH] net/mlx5: fix shared queue port number in vector Rx
[ upstream commit 3638f431b9ff39003e31c3a761d407e04b25576a ]
Wrong CQE is used to get the shared Rx queue port number in
vectorized Rx burst routine. Fix the CQE indexing.
Fixes: 25ed2ebff131 ("net/mlx5: support shared Rx queue port data path")
Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
drivers/net/mlx5/mlx5_rxtx_vec_altivec.h | 12 ++++++------
drivers/net/mlx5/mlx5_rxtx_vec_neon.h | 24 ++++++++++++------------
drivers/net/mlx5/mlx5_rxtx_vec_sse.h | 6 +++---
3 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/drivers/net/mlx5/mlx5_rxtx_vec_altivec.h b/drivers/net/mlx5/mlx5_rxtx_vec_altivec.h
index 204d17a8f2..2cc8fc19f9 100644
--- a/drivers/net/mlx5/mlx5_rxtx_vec_altivec.h
+++ b/drivers/net/mlx5/mlx5_rxtx_vec_altivec.h
@@ -1202,7 +1202,7 @@ rxq_cq_process_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq,
if (unlikely(rxq->shared)) {
pkts[pos]->port = cq[pos].user_index_low;
- pkts[pos + p1]->port = cq[pos + p1].user_index_low;
- pkts[pos + p2]->port = cq[pos + p2].user_index_low;
- pkts[pos + p3]->port = cq[pos + p3].user_index_low;
+ pkts[pos + 1]->port = cq[pos + p1].user_index_low;
+ pkts[pos + 2]->port = cq[pos + p2].user_index_low;
+ pkts[pos + 3]->port = cq[pos + p3].user_index_low;
}
if (rxq->hw_timestamp) {
@@ -1248,15 +1248,15 @@ rxq_cq_process_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq,
pkts[pos]->ol_flags |= metadata ? flag : 0ULL;
metadata = rte_be_to_cpu_32
- (cq[pos + 1].flow_table_metadata) & mask;
+ (cq[pos + p1].flow_table_metadata) & mask;
*RTE_MBUF_DYNFIELD(pkts[pos + 1], offs, uint32_t *) =
metadata;
pkts[pos + 1]->ol_flags |= metadata ? flag : 0ULL;
metadata = rte_be_to_cpu_32
- (cq[pos + 2].flow_table_metadata) & mask;
+ (cq[pos + p2].flow_table_metadata) & mask;
*RTE_MBUF_DYNFIELD(pkts[pos + 2], offs, uint32_t *) =
metadata;
pkts[pos + 2]->ol_flags |= metadata ? flag : 0ULL;
metadata = rte_be_to_cpu_32
- (cq[pos + 3].flow_table_metadata) & mask;
+ (cq[pos + p3].flow_table_metadata) & mask;
*RTE_MBUF_DYNFIELD(pkts[pos + 3], offs, uint32_t *) =
metadata;
diff --git a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h
index 6d3c594e56..113c12f48c 100644
--- a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h
+++ b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h
@@ -801,11 +801,11 @@ rxq_cq_process_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq,
opcode, &elts[pos]);
if (unlikely(rxq->shared)) {
- elts[pos]->port = container_of(p0, struct mlx5_cqe,
+ pkts[pos]->port = container_of(p0, struct mlx5_cqe,
pkt_info)->user_index_low;
- elts[pos + 1]->port = container_of(p1, struct mlx5_cqe,
+ pkts[pos + 1]->port = container_of(p1, struct mlx5_cqe,
pkt_info)->user_index_low;
- elts[pos + 2]->port = container_of(p2, struct mlx5_cqe,
+ pkts[pos + 2]->port = container_of(p2, struct mlx5_cqe,
pkt_info)->user_index_low;
- elts[pos + 3]->port = container_of(p3, struct mlx5_cqe,
+ pkts[pos + 3]->port = container_of(p3, struct mlx5_cqe,
pkt_info)->user_index_low;
}
@@ -819,32 +819,32 @@ rxq_cq_process_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq,
(container_of(p0, struct mlx5_cqe,
pkt_info)->timestamp);
- mlx5_timestamp_set(elts[pos], offset,
+ mlx5_timestamp_set(pkts[pos], offset,
mlx5_txpp_convert_rx_ts(sh, ts));
ts = rte_be_to_cpu_64
(container_of(p1, struct mlx5_cqe,
pkt_info)->timestamp);
- mlx5_timestamp_set(elts[pos + 1], offset,
+ mlx5_timestamp_set(pkts[pos + 1], offset,
mlx5_txpp_convert_rx_ts(sh, ts));
ts = rte_be_to_cpu_64
(container_of(p2, struct mlx5_cqe,
pkt_info)->timestamp);
- mlx5_timestamp_set(elts[pos + 2], offset,
+ mlx5_timestamp_set(pkts[pos + 2], offset,
mlx5_txpp_convert_rx_ts(sh, ts));
ts = rte_be_to_cpu_64
(container_of(p3, struct mlx5_cqe,
pkt_info)->timestamp);
- mlx5_timestamp_set(elts[pos + 3], offset,
+ mlx5_timestamp_set(pkts[pos + 3], offset,
mlx5_txpp_convert_rx_ts(sh, ts));
} else {
- mlx5_timestamp_set(elts[pos], offset,
+ mlx5_timestamp_set(pkts[pos], offset,
rte_be_to_cpu_64(container_of(p0,
struct mlx5_cqe, pkt_info)->timestamp));
- mlx5_timestamp_set(elts[pos + 1], offset,
+ mlx5_timestamp_set(pkts[pos + 1], offset,
rte_be_to_cpu_64(container_of(p1,
struct mlx5_cqe, pkt_info)->timestamp));
- mlx5_timestamp_set(elts[pos + 2], offset,
+ mlx5_timestamp_set(pkts[pos + 2], offset,
rte_be_to_cpu_64(container_of(p2,
struct mlx5_cqe, pkt_info)->timestamp));
- mlx5_timestamp_set(elts[pos + 3], offset,
+ mlx5_timestamp_set(pkts[pos + 3], offset,
rte_be_to_cpu_64(container_of(p3,
struct mlx5_cqe, pkt_info)->timestamp));
diff --git a/drivers/net/mlx5/mlx5_rxtx_vec_sse.h b/drivers/net/mlx5/mlx5_rxtx_vec_sse.h
index ab69af0c55..ccd1b4ff84 100644
--- a/drivers/net/mlx5/mlx5_rxtx_vec_sse.h
+++ b/drivers/net/mlx5/mlx5_rxtx_vec_sse.h
@@ -742,7 +742,7 @@ rxq_cq_process_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq,
if (unlikely(rxq->shared)) {
pkts[pos]->port = cq[pos].user_index_low;
- pkts[pos + p1]->port = cq[pos + p1].user_index_low;
- pkts[pos + p2]->port = cq[pos + p2].user_index_low;
- pkts[pos + p3]->port = cq[pos + p3].user_index_low;
+ pkts[pos + 1]->port = cq[pos + p1].user_index_low;
+ pkts[pos + 2]->port = cq[pos + p2].user_index_low;
+ pkts[pos + 3]->port = cq[pos + p3].user_index_low;
}
if (unlikely(rxq->hw_timestamp)) {
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.661927197 +0000
+++ 0108-net-mlx5-fix-shared-queue-port-number-in-vector-Rx.patch 2024-11-27 17:17:38.333269933 +0000
@@ -1 +1 @@
-From 3638f431b9ff39003e31c3a761d407e04b25576a Mon Sep 17 00:00:00 2001
+From 6c40ffa5fd13f0dc4db5e2c64a9d8522417c87d3 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 3638f431b9ff39003e31c3a761d407e04b25576a ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index b2bbc4ba17..ca614ecf9d 100644
+index 204d17a8f2..2cc8fc19f9 100644
@@ -24 +25 @@
-@@ -1252,7 +1252,7 @@ rxq_cq_process_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq,
+@@ -1202,7 +1202,7 @@ rxq_cq_process_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq,
@@ -35 +36 @@
-@@ -1298,15 +1298,15 @@ rxq_cq_process_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq,
+@@ -1248,15 +1248,15 @@ rxq_cq_process_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq,
@@ -55 +56 @@
-index 0ce9827ed9..519fff5b2c 100644
+index 6d3c594e56..113c12f48c 100644
@@ -58 +59 @@
-@@ -838,11 +838,11 @@ rxq_cq_process_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq,
+@@ -801,11 +801,11 @@ rxq_cq_process_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq,
@@ -74 +75 @@
-@@ -856,32 +856,32 @@ rxq_cq_process_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq,
+@@ -819,32 +819,32 @@ rxq_cq_process_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq,
@@ -116 +117 @@
-index e71d6c303f..0a2b67e750 100644
+index ab69af0c55..ccd1b4ff84 100644
@@ -119 +120 @@
-@@ -786,7 +786,7 @@ rxq_cq_process_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq,
+@@ -742,7 +742,7 @@ rxq_cq_process_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'common/mlx5: fix misalignment' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (106 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/mlx5: fix shared queue port number in vector Rx' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'bus/dpaa: fix lock condition during error handling' " Kevin Traynor
` (12 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Shani Peretz; +Cc: Bing Zhao, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/a8403f04b0d04ac2e44e4d41c3f5d114014a353f
Thanks.
Kevin
---
From a8403f04b0d04ac2e44e4d41c3f5d114014a353f Mon Sep 17 00:00:00 2001
From: Shani Peretz <shperetz@nvidia.com>
Date: Tue, 12 Nov 2024 10:21:26 +0200
Subject: [PATCH] common/mlx5: fix misalignment
[ upstream commit 90967539d0d1afcfd5237ed85efdc430359a0e6b ]
ASan reported a runtime error due to misalignment
involving three structures.
The first issue arises when accessing
l_inconst->cache[MLX5_LIST_GLOBAL]->h.
If struct mlx5_list_cache is not properly aligned, the pointer gc,
assigned to l_inconst->cache[MLX5_LIST_GLOBAL], could be misaligned.
To address this, the __rte_aligned(16) attribute was added to
struct mlx5_list_inconst in struct mlx5_list, which includes struct
mlx5_list_cache, ensuring that the entire mlx5_list structure,
including mlx5_list_cache, is aligned to 64 bytes.
To resolve misalignment issues with struct mlx5_flow_handle,
The initialization of resources for the ipool ensures that
the ipool size is rounded up to the 8-byte boundary
The error in assigning values to actions[i] was due to potential
padding or misalignment in struct mlx5_modification_cmd.
To prevent such issues, the __rte_packed attribute was added to
struct mlx5_modification_cmd, ensuring that the structure is packed
without extra padding which helps avoid misaligned memory accesses.
Two performance degradation tests were conducted.
Following are the results comparing this commit to the most recent
commit in mlnx_dpdk_22.11 at that time (b69408ae453).
Before asan misalignment fix (average kflows/sec) -
Insertion - 4461.269, Deletion - 7799.9992
After:
Insertion - 4579.0642 , Deletion - 7913.0034
Fixes: 9a4c36880704 ("common/mlx5: optimize cache list object memory")
Signed-off-by: Shani Peretz <shperetz@nvidia.com>
Acked-by: Bing Zhao <bingz@nvidia.com>
---
drivers/common/mlx5/mlx5_common_utils.h | 2 +-
drivers/common/mlx5/mlx5_prm.h | 4 ++--
drivers/net/mlx5/mlx5.c | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/common/mlx5/mlx5_common_utils.h b/drivers/common/mlx5/mlx5_common_utils.h
index 98e487e7ef..2b013254ad 100644
--- a/drivers/common/mlx5/mlx5_common_utils.h
+++ b/drivers/common/mlx5/mlx5_common_utils.h
@@ -131,5 +131,5 @@ struct mlx5_list_inconst {
*
*/
-struct mlx5_list {
+struct __rte_aligned(16) mlx5_list {
struct mlx5_list_const l_const;
struct mlx5_list_inconst l_inconst;
diff --git a/drivers/common/mlx5/mlx5_prm.h b/drivers/common/mlx5/mlx5_prm.h
index 58aa72df64..fd5c8b5c72 100644
--- a/drivers/common/mlx5/mlx5_prm.h
+++ b/drivers/common/mlx5/mlx5_prm.h
@@ -754,5 +754,5 @@ struct mlx5_modification_cmd {
unsigned int action_type:4;
};
- };
+ } __rte_packed;
union {
uint32_t data1;
@@ -765,5 +765,5 @@ struct mlx5_modification_cmd {
unsigned int rsvd4:4;
};
- };
+ } __rte_packed;
};
diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c
index b339ccce84..20960b8b03 100644
--- a/drivers/net/mlx5/mlx5.c
+++ b/drivers/net/mlx5/mlx5.c
@@ -832,5 +832,5 @@ mlx5_flow_ipool_create(struct mlx5_dev_ctx_shared *sh,
case MLX5_IPOOL_MLX5_FLOW:
cfg.size = config->dv_flow_en ?
- sizeof(struct mlx5_flow_handle) :
+ RTE_ALIGN_MUL_CEIL(sizeof(struct mlx5_flow_handle), 8) :
MLX5_FLOW_HANDLE_VERBS_SIZE;
break;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.691940689 +0000
+++ 0109-common-mlx5-fix-misalignment.patch 2024-11-27 17:17:38.338269959 +0000
@@ -1 +1 @@
-From 90967539d0d1afcfd5237ed85efdc430359a0e6b Mon Sep 17 00:00:00 2001
+From a8403f04b0d04ac2e44e4d41c3f5d114014a353f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 90967539d0d1afcfd5237ed85efdc430359a0e6b ]
+
@@ -38 +39,0 @@
-Cc: stable@dpdk.org
@@ -49 +50 @@
-index c5eff7a0bf..9139bc6829 100644
+index 98e487e7ef..2b013254ad 100644
@@ -52 +53 @@
-@@ -132,5 +132,5 @@ struct mlx5_list_inconst {
+@@ -131,5 +131,5 @@ struct mlx5_list_inconst {
@@ -60 +61 @@
-index 210158350d..2d82807bc2 100644
+index 58aa72df64..fd5c8b5c72 100644
@@ -63 +64 @@
-@@ -942,5 +942,5 @@ struct mlx5_modification_cmd {
+@@ -754,5 +754,5 @@ struct mlx5_modification_cmd {
@@ -70 +71 @@
-@@ -953,5 +953,5 @@ struct mlx5_modification_cmd {
+@@ -765,5 +765,5 @@ struct mlx5_modification_cmd {
@@ -78 +79 @@
-index 52b90e6ff3..6e4473e2f4 100644
+index b339ccce84..20960b8b03 100644
@@ -81 +82 @@
-@@ -908,5 +908,5 @@ mlx5_flow_ipool_create(struct mlx5_dev_ctx_shared *sh)
+@@ -832,5 +832,5 @@ mlx5_flow_ipool_create(struct mlx5_dev_ctx_shared *sh,
@@ -83 +84 @@
- cfg.size = sh->config.dv_flow_en ?
+ cfg.size = config->dv_flow_en ?
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'bus/dpaa: fix lock condition during error handling' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (107 preceding siblings ...)
2024-11-27 17:18 ` patch 'common/mlx5: fix misalignment' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/iavf: add segment-length check to Tx prep' " Kevin Traynor
` (11 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Hemant Agrawal; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/1d8a923c44ca0edfdade3a2558dbb526d54fb987
Thanks.
Kevin
---
From 1d8a923c44ca0edfdade3a2558dbb526d54fb987 Mon Sep 17 00:00:00 2001
From: Hemant Agrawal <hemant.agrawal@nxp.com>
Date: Thu, 14 Nov 2024 13:14:35 +0530
Subject: [PATCH] bus/dpaa: fix lock condition during error handling
[ upstream commit c7c3a329750b81bdaeb3f7ceffac0ec3a65f61f8 ]
The error handling is missing FQ unlock code.
Detected by pvs-studio
Bug 89-93: very suspicious synchronization
The analyzer issued a pack of V1020 warnings that a resource
might remain blocked.
Fixes: c47ff048b99a ("bus/dpaa: add QMAN driver core routines")
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
drivers/bus/dpaa/base/qbman/qman.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/bus/dpaa/base/qbman/qman.c b/drivers/bus/dpaa/base/qbman/qman.c
index c5e66d4325..098bfd68a0 100644
--- a/drivers/bus/dpaa/base/qbman/qman.c
+++ b/drivers/bus/dpaa/base/qbman/qman.c
@@ -2170,6 +2170,8 @@ int qman_set_vdq(struct qman_fq *fq, u16 num, uint32_t vdqcr_flags)
if (!p->vdqcr_owned) {
FQLOCK(fq);
- if (fq_isset(fq, QMAN_FQ_STATE_VDQCR))
+ if (fq_isset(fq, QMAN_FQ_STATE_VDQCR)) {
+ FQUNLOCK(fq);
goto escape;
+ }
fq_set(fq, QMAN_FQ_STATE_VDQCR);
FQUNLOCK(fq);
@@ -2204,6 +2206,8 @@ int qman_volatile_dequeue(struct qman_fq *fq, u32 flags __maybe_unused,
if (!p->vdqcr_owned) {
FQLOCK(fq);
- if (fq_isset(fq, QMAN_FQ_STATE_VDQCR))
+ if (fq_isset(fq, QMAN_FQ_STATE_VDQCR)) {
+ FQUNLOCK(fq);
goto escape;
+ }
fq_set(fq, QMAN_FQ_STATE_VDQCR);
FQUNLOCK(fq);
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.725351803 +0000
+++ 0110-bus-dpaa-fix-lock-condition-during-error-handling.patch 2024-11-27 17:17:38.340269969 +0000
@@ -1 +1 @@
-From c7c3a329750b81bdaeb3f7ceffac0ec3a65f61f8 Mon Sep 17 00:00:00 2001
+From 1d8a923c44ca0edfdade3a2558dbb526d54fb987 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c7c3a329750b81bdaeb3f7ceffac0ec3a65f61f8 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 9c90ee25a6..c48fa3e073 100644
+index c5e66d4325..098bfd68a0 100644
@@ -24 +25 @@
-@@ -2139,6 +2139,8 @@ int qman_set_vdq(struct qman_fq *fq, u16 num, uint32_t vdqcr_flags)
+@@ -2170,6 +2170,8 @@ int qman_set_vdq(struct qman_fq *fq, u16 num, uint32_t vdqcr_flags)
@@ -34 +35 @@
-@@ -2173,6 +2175,8 @@ int qman_volatile_dequeue(struct qman_fq *fq, u32 flags __maybe_unused,
+@@ -2204,6 +2206,8 @@ int qman_volatile_dequeue(struct qman_fq *fq, u32 flags __maybe_unused,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/iavf: add segment-length check to Tx prep' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (108 preceding siblings ...)
2024-11-27 17:18 ` patch 'bus/dpaa: fix lock condition during error handling' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:18 ` patch 'net/i40e: check register read for outer VLAN' " Kevin Traynor
` (10 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Bruce Richardson; +Cc: Padraig Connolly, Vladimir Medvedkin, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/0978ac413671a3e9dffb9b2d614376082bc3dc85
Thanks.
Kevin
---
From 0978ac413671a3e9dffb9b2d614376082bc3dc85 Mon Sep 17 00:00:00 2001
From: Bruce Richardson <bruce.richardson@intel.com>
Date: Mon, 11 Nov 2024 16:42:20 +0000
Subject: [PATCH] net/iavf: add segment-length check to Tx prep
[ upstream commit 4523e0753b243066357f98fd9739fde72605d0fb ]
In the Tx prep function, the metadata checks were only checking the
packet length and ignoring the data length. For single-buffer packets we
can quickly check that the data length is the packet length.
Fixes: 19ee91c6bd9a ("net/iavf: check illegal packet sizes")
Reported-by: Padraig Connolly <padraig.j.connolly@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Tested-by: Padraig Connolly <padraig.j.connolly@intel.com>
---
drivers/net/iavf/iavf_rxtx.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c
index c932b7859e..6bbf7f4e0f 100644
--- a/drivers/net/iavf/iavf_rxtx.c
+++ b/drivers/net/iavf/iavf_rxtx.c
@@ -2817,5 +2817,9 @@ iavf_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts,
}
- if (m->pkt_len < IAVF_TX_MIN_PKT_LEN) {
+ /* valid packets are greater than min size, and single-buffer pkts
+ * must have data_len == pkt_len
+ */
+ if (m->pkt_len < IAVF_TX_MIN_PKT_LEN ||
+ (m->nb_segs == 1 && m->data_len != m->pkt_len)) {
rte_errno = EINVAL;
return i;
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.755175912 +0000
+++ 0111-net-iavf-add-segment-length-check-to-Tx-prep.patch 2024-11-27 17:17:38.342269980 +0000
@@ -1 +1 @@
-From 4523e0753b243066357f98fd9739fde72605d0fb Mon Sep 17 00:00:00 2001
+From 0978ac413671a3e9dffb9b2d614376082bc3dc85 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4523e0753b243066357f98fd9739fde72605d0fb ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 4850b9e381..6a093c6746 100644
+index c932b7859e..6bbf7f4e0f 100644
@@ -25 +26 @@
-@@ -3678,5 +3678,9 @@ iavf_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts,
+@@ -2817,5 +2817,9 @@ iavf_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'net/i40e: check register read for outer VLAN' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (109 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/iavf: add segment-length check to Tx prep' " Kevin Traynor
@ 2024-11-27 17:18 ` Kevin Traynor
2024-11-27 17:19 ` patch 'app/procinfo: fix leak on exit' " Kevin Traynor
` (9 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:18 UTC (permalink / raw)
To: Vladimir Medvedkin; +Cc: Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/b70507e59f9851e15707afd90b2eb8ccb3f2c4f7
Thanks.
Kevin
---
From b70507e59f9851e15707afd90b2eb8ccb3f2c4f7 Mon Sep 17 00:00:00 2001
From: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Date: Fri, 15 Nov 2024 19:14:25 +0000
Subject: [PATCH] net/i40e: check register read for outer VLAN
[ upstream commit c11c52dd5d2a19c97616ac32a1d4911c48f157d4 ]
'i40e_get_outer_vlan()' does not check 'i40e_aq_debug_read_register()'
return value. This patch fixes this issue, by checking the return value
and, on error, having the i40e_get_outer_vlan() function return that
error back to the caller.
This in turn requires a change in the return type of that function and
updates to the places where it is called to:
* handle the error, and
* handle the tpid being returned as an "out" parameter rather than
return code.
Coverity issue: 445518
Fixes: 86eb05d6350b ("net/i40e: add flow validate function")
Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/i40e/i40e_flow.c | 77 ++++++++++++++++++++++++++++++------
1 file changed, 65 insertions(+), 12 deletions(-)
diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c
index 5c7f445018..576a63f06f 100644
--- a/drivers/net/i40e/i40e_flow.c
+++ b/drivers/net/i40e/i40e_flow.c
@@ -2019,6 +2019,6 @@ i40e_flow_parse_attr(const struct rte_flow_attr *attr,
}
-static uint16_t
-i40e_get_outer_vlan(struct rte_eth_dev *dev)
+static int
+i40e_get_outer_vlan(struct rte_eth_dev *dev, uint16_t *tpid)
{
struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private);
@@ -2027,5 +2027,5 @@ i40e_get_outer_vlan(struct rte_eth_dev *dev)
uint64_t reg_r = 0;
uint16_t reg_id;
- uint16_t tpid;
+ int ret;
if (qinq)
@@ -2034,10 +2034,14 @@ i40e_get_outer_vlan(struct rte_eth_dev *dev)
reg_id = 3;
- i40e_aq_debug_read_register(hw, I40E_GL_SWT_L2TAGCTRL(reg_id),
+ ret = i40e_aq_debug_read_register(hw, I40E_GL_SWT_L2TAGCTRL(reg_id),
®_r, NULL);
+ if (ret != I40E_SUCCESS) {
+ PMD_DRV_LOG(ERR, "Failed to read from L2 tag ctrl register [%d]", reg_id);
+ return -EIO;
+ }
- tpid = (reg_r >> I40E_GL_SWT_L2TAGCTRL_ETHERTYPE_SHIFT) & 0xFFFF;
+ *tpid = (reg_r >> I40E_GL_SWT_L2TAGCTRL_ETHERTYPE_SHIFT) & 0xFFFF;
- return tpid;
+ return 0;
}
@@ -2059,4 +2063,6 @@ i40e_flow_parse_ethertype_pattern(struct rte_eth_dev *dev,
const struct rte_flow_item_eth *eth_mask;
enum rte_flow_item_type item_type;
+ int ret;
+ uint16_t tpid;
for (; item->type != RTE_FLOW_ITEM_TYPE_END; item++) {
@@ -2117,6 +2123,21 @@ i40e_flow_parse_ethertype_pattern(struct rte_eth_dev *dev,
if (filter->ether_type == RTE_ETHER_TYPE_IPV4 ||
filter->ether_type == RTE_ETHER_TYPE_IPV6 ||
- filter->ether_type == RTE_ETHER_TYPE_LLDP ||
- filter->ether_type == i40e_get_outer_vlan(dev)) {
+ filter->ether_type == RTE_ETHER_TYPE_LLDP) {
+ rte_flow_error_set(error, EINVAL,
+ RTE_FLOW_ERROR_TYPE_ITEM,
+ item,
+ "Unsupported ether_type in control packet filter.");
+ return -rte_errno;
+ }
+
+ ret = i40e_get_outer_vlan(dev, &tpid);
+ if (ret != 0) {
+ rte_flow_error_set(error, EIO,
+ RTE_FLOW_ERROR_TYPE_ITEM,
+ item,
+ "Can not get the Ethertype identifying the L2 tag");
+ return -rte_errno;
+ }
+ if (filter->ether_type == tpid) {
rte_flow_error_set(error, EINVAL,
RTE_FLOW_ERROR_TYPE_ITEM,
@@ -2126,4 +2147,5 @@ i40e_flow_parse_ethertype_pattern(struct rte_eth_dev *dev,
return -rte_errno;
}
+
break;
default:
@@ -2399,4 +2421,5 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
uint8_t field_idx;
int ret;
+ uint16_t tpid;
memset(off_arr, 0, sizeof(off_arr));
@@ -2467,6 +2490,5 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
if (ether_type == RTE_ETHER_TYPE_IPV4 ||
- ether_type == RTE_ETHER_TYPE_IPV6 ||
- ether_type == i40e_get_outer_vlan(dev)) {
+ ether_type == RTE_ETHER_TYPE_IPV6) {
rte_flow_error_set(error, EINVAL,
RTE_FLOW_ERROR_TYPE_ITEM,
@@ -2475,4 +2497,20 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
return -rte_errno;
}
+ ret = i40e_get_outer_vlan(dev, &tpid);
+ if (ret != 0) {
+ rte_flow_error_set(error, EIO,
+ RTE_FLOW_ERROR_TYPE_ITEM,
+ item,
+ "Can not get the Ethertype identifying the L2 tag");
+ return -rte_errno;
+ }
+ if (ether_type == tpid) {
+ rte_flow_error_set(error, EINVAL,
+ RTE_FLOW_ERROR_TYPE_ITEM,
+ item,
+ "Unsupported ether_type.");
+ return -rte_errno;
+ }
+
input_set |= I40E_INSET_LAST_ETHER_TYPE;
filter->input.flow.l2_flow.ether_type =
@@ -2521,6 +2559,5 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
if (ether_type == RTE_ETHER_TYPE_IPV4 ||
- ether_type == RTE_ETHER_TYPE_IPV6 ||
- ether_type == i40e_get_outer_vlan(dev)) {
+ ether_type == RTE_ETHER_TYPE_IPV6) {
rte_flow_error_set(error, EINVAL,
RTE_FLOW_ERROR_TYPE_ITEM,
@@ -2529,4 +2566,20 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
return -rte_errno;
}
+ ret = i40e_get_outer_vlan(dev, &tpid);
+ if (ret != 0) {
+ rte_flow_error_set(error, EIO,
+ RTE_FLOW_ERROR_TYPE_ITEM,
+ item,
+ "Can not get the Ethertype identifying the L2 tag");
+ return -rte_errno;
+ }
+ if (ether_type == tpid) {
+ rte_flow_error_set(error, EINVAL,
+ RTE_FLOW_ERROR_TYPE_ITEM,
+ item,
+ "Unsupported ether_type.");
+ return -rte_errno;
+ }
+
input_set |= I40E_INSET_LAST_ETHER_TYPE;
filter->input.flow.l2_flow.ether_type =
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.785873526 +0000
+++ 0112-net-i40e-check-register-read-for-outer-VLAN.patch 2024-11-27 17:17:38.344269990 +0000
@@ -1 +1 @@
-From c11c52dd5d2a19c97616ac32a1d4911c48f157d4 Mon Sep 17 00:00:00 2001
+From b70507e59f9851e15707afd90b2eb8ccb3f2c4f7 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c11c52dd5d2a19c97616ac32a1d4911c48f157d4 ]
+
@@ -19 +20,0 @@
-Cc: stable@dpdk.org
@@ -28 +29 @@
-index c6857727e8..cd598431e1 100644
+index 5c7f445018..576a63f06f 100644
@@ -31 +32 @@
-@@ -1264,6 +1264,6 @@ i40e_flow_parse_attr(const struct rte_flow_attr *attr,
+@@ -2019,6 +2019,6 @@ i40e_flow_parse_attr(const struct rte_flow_attr *attr,
@@ -40 +41 @@
-@@ -1272,5 +1272,5 @@ i40e_get_outer_vlan(struct rte_eth_dev *dev)
+@@ -2027,5 +2027,5 @@ i40e_get_outer_vlan(struct rte_eth_dev *dev)
@@ -47 +48 @@
-@@ -1279,10 +1279,14 @@ i40e_get_outer_vlan(struct rte_eth_dev *dev)
+@@ -2034,10 +2034,14 @@ i40e_get_outer_vlan(struct rte_eth_dev *dev)
@@ -65 +66 @@
-@@ -1304,4 +1308,6 @@ i40e_flow_parse_ethertype_pattern(struct rte_eth_dev *dev,
+@@ -2059,4 +2063,6 @@ i40e_flow_parse_ethertype_pattern(struct rte_eth_dev *dev,
@@ -72 +73 @@
-@@ -1362,6 +1368,21 @@ i40e_flow_parse_ethertype_pattern(struct rte_eth_dev *dev,
+@@ -2117,6 +2123,21 @@ i40e_flow_parse_ethertype_pattern(struct rte_eth_dev *dev,
@@ -96 +97 @@
-@@ -1371,4 +1392,5 @@ i40e_flow_parse_ethertype_pattern(struct rte_eth_dev *dev,
+@@ -2126,4 +2147,5 @@ i40e_flow_parse_ethertype_pattern(struct rte_eth_dev *dev,
@@ -102 +103 @@
-@@ -1642,4 +1664,5 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
+@@ -2399,4 +2421,5 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
@@ -108 +109 @@
-@@ -1710,6 +1733,5 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
+@@ -2467,6 +2490,5 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
@@ -116 +117 @@
-@@ -1718,4 +1740,20 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
+@@ -2475,4 +2497,20 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
@@ -137 +138 @@
-@@ -1764,6 +1802,5 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
+@@ -2521,6 +2559,5 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
@@ -145 +146 @@
-@@ -1772,4 +1809,20 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
+@@ -2529,4 +2566,20 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'app/procinfo: fix leak on exit' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (110 preceding siblings ...)
2024-11-27 17:18 ` patch 'net/i40e: check register read for outer VLAN' " Kevin Traynor
@ 2024-11-27 17:19 ` Kevin Traynor
2024-11-27 17:19 ` patch 'member: fix choice of bucket for displacement' " Kevin Traynor
` (8 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:19 UTC (permalink / raw)
To: Fidaullah Noonari; +Cc: Stephen Hemminger, Chengwen Feng, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/36f4854030e5c702a76f2169b9a502b9bb87b199
Thanks.
Kevin
---
From 36f4854030e5c702a76f2169b9a502b9bb87b199 Mon Sep 17 00:00:00 2001
From: Fidaullah Noonari <fidaullah.noonari@emumba.com>
Date: Thu, 3 Oct 2024 19:48:29 -0700
Subject: [PATCH] app/procinfo: fix leak on exit
[ upstream commit 8a171e52ed8b26f768ced79a22286914ebd30180 ]
When app is launched with -m proc-info exit without
rte_eal_cleanup() causing memory leakage. This commit resolves the
memory leakage issue and closes app properly.
Bugzilla ID: 898
Fixes: 67684d1e87b6 ("app/procinfo: call EAL cleanup before exit")
Fixes: 674bb3906931 ("app/procinfo: display eventdev xstats")
Signed-off-by: Fidaullah Noonari <fidaullah.noonari@emumba.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
---
app/proc-info/main.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/app/proc-info/main.c b/app/proc-info/main.c
index b52c3ffbc5..8030c10c25 100644
--- a/app/proc-info/main.c
+++ b/app/proc-info/main.c
@@ -1500,5 +1500,5 @@ main(int argc, char **argv)
if (mem_info) {
meminfo_display();
- return 0;
+ goto cleanup;
}
@@ -1568,4 +1568,5 @@ main(int argc, char **argv)
rte_eth_dev_close(i);
+cleanup:
ret = rte_eal_cleanup();
if (ret)
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.815780350 +0000
+++ 0113-app-procinfo-fix-leak-on-exit.patch 2024-11-27 17:17:38.345269995 +0000
@@ -1 +1 @@
-From 8a171e52ed8b26f768ced79a22286914ebd30180 Mon Sep 17 00:00:00 2001
+From 36f4854030e5c702a76f2169b9a502b9bb87b199 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8a171e52ed8b26f768ced79a22286914ebd30180 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -19,2 +20,2 @@
- app/proc-info/main.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
+ app/proc-info/main.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
@@ -23 +24 @@
-index 6886eb373a..e1272164b1 100644
+index b52c3ffbc5..8030c10c25 100644
@@ -26 +27 @@
-@@ -2172,9 +2172,9 @@ main(int argc, char **argv)
+@@ -1500,5 +1500,5 @@ main(int argc, char **argv)
@@ -33,6 +34 @@
- if (eventdev_xstats() > 0)
-- return 0;
-+ goto cleanup;
-
- nb_ports = rte_eth_dev_count_avail();
-@@ -2257,4 +2257,5 @@ main(int argc, char **argv)
+@@ -1568,4 +1568,5 @@ main(int argc, char **argv)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'member: fix choice of bucket for displacement' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (111 preceding siblings ...)
2024-11-27 17:19 ` patch 'app/procinfo: fix leak on exit' " Kevin Traynor
@ 2024-11-27 17:19 ` Kevin Traynor
2024-11-27 17:19 ` patch 'app/testpmd: fix aged flow destroy' " Kevin Traynor
` (7 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:19 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/f7242cd3efdf5e66c221a0c24800ea316f4f697a
Thanks.
Kevin
---
From f7242cd3efdf5e66c221a0c24800ea316f4f697a Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Fri, 15 Nov 2024 17:12:29 -0800
Subject: [PATCH] member: fix choice of bucket for displacement
[ upstream commit 33f5b0dcb11580be8091f3b589845e512008e2f0 ]
Because of misuse of & vs && operator, the member code would
always use the primary bucket.
Fixes: 904ec78a239c ("member: implement HT mode")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
lib/member/rte_member_ht.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/member/rte_member_ht.c b/lib/member/rte_member_ht.c
index a85561b472..0d0376b264 100644
--- a/lib/member/rte_member_ht.c
+++ b/lib/member/rte_member_ht.c
@@ -494,5 +494,5 @@ rte_member_add_ht(const struct rte_member_setsum *ss,
/* Random pick prim or sec for recursive displacement */
- uint32_t select_bucket = (tmp_sig && 1U) ? prim_bucket : sec_bucket;
+ uint32_t select_bucket = (tmp_sig & 1U) ? prim_bucket : sec_bucket;
if (ss->cache) {
ret = evict_from_bucket();
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.844628434 +0000
+++ 0114-member-fix-choice-of-bucket-for-displacement.patch 2024-11-27 17:17:38.346270000 +0000
@@ -1 +1 @@
-From 33f5b0dcb11580be8091f3b589845e512008e2f0 Mon Sep 17 00:00:00 2001
+From f7242cd3efdf5e66c221a0c24800ea316f4f697a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 33f5b0dcb11580be8091f3b589845e512008e2f0 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 357097ff4b..738471b378 100644
+index a85561b472..0d0376b264 100644
@@ -21 +22 @@
-@@ -495,5 +495,5 @@ rte_member_add_ht(const struct rte_member_setsum *ss,
+@@ -494,5 +494,5 @@ rte_member_add_ht(const struct rte_member_setsum *ss,
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'app/testpmd: fix aged flow destroy' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (112 preceding siblings ...)
2024-11-27 17:19 ` patch 'member: fix choice of bucket for displacement' " Kevin Traynor
@ 2024-11-27 17:19 ` Kevin Traynor
2024-11-27 17:19 ` patch 'test/bonding: fix loop on members' " Kevin Traynor
` (6 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:19 UTC (permalink / raw)
To: Danylo Vodopianov; +Cc: Dariusz Sosnowski, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/bfc927a8beaa2bd9f4355fc96ccadcd61f63ab11
Thanks.
Kevin
---
From bfc927a8beaa2bd9f4355fc96ccadcd61f63ab11 Mon Sep 17 00:00:00 2001
From: Danylo Vodopianov <dvo-plv@napatech.com>
Date: Mon, 18 Nov 2024 19:03:23 +0100
Subject: [PATCH] app/testpmd: fix aged flow destroy
[ upstream commit 098f949f8a70f7618f5390f9c1e9edfb9e5469c4 ]
port_flow_destroy() function never assumed that rule array can be freed
when it's executing, and port_flow_aged() just violated that assumption.
In case of flow async create failure, it tries to do a cleanup, but it
wrongly removes a 1st flow (with id 0). pf->id is not set at this
moment and it always is 0, thus 1st flow is removed. A local copy of
flow->id must be used to call of port_flow_destroy() to avoid access
and processing of flow->id after the flow is removed.
Fixes: de956d5ecf08 ("app/testpmd: support age shared action context")
Signed-off-by: Danylo Vodopianov <dvo-plv@napatech.com>
Acked-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
---
app/test-pmd/config.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index e060a1de49..aa979e886f 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -2451,6 +2451,8 @@ port_flow_aged(portid_t port_id, uint8_t destroy)
type = (enum age_action_context_type *)contexts[idx];
switch (*type) {
- case ACTION_AGE_CONTEXT_TYPE_FLOW:
+ case ACTION_AGE_CONTEXT_TYPE_FLOW: {
+ uint32_t flow_id;
ctx.pf = container_of(type, struct port_flow, age_type);
+ flow_id = ctx.pf->id;
printf("%-20s\t%" PRIu32 "\t%" PRIu32 "\t%" PRIu32
"\t%c%c%c\t\n",
@@ -2463,7 +2465,8 @@ port_flow_aged(portid_t port_id, uint8_t destroy)
ctx.pf->rule.attr->transfer ? 't' : '-');
if (destroy && !port_flow_destroy(port_id, 1,
- &ctx.pf->id))
+ &flow_id))
total++;
break;
+ }
case ACTION_AGE_CONTEXT_TYPE_INDIRECT_ACTION:
ctx.pia = container_of(type,
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.872956512 +0000
+++ 0115-app-testpmd-fix-aged-flow-destroy.patch 2024-11-27 17:17:38.349270016 +0000
@@ -1 +1 @@
-From 098f949f8a70f7618f5390f9c1e9edfb9e5469c4 Mon Sep 17 00:00:00 2001
+From bfc927a8beaa2bd9f4355fc96ccadcd61f63ab11 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 098f949f8a70f7618f5390f9c1e9edfb9e5469c4 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index c831166431..28d45568ac 100644
+index e060a1de49..aa979e886f 100644
@@ -28 +29 @@
-@@ -4161,6 +4161,8 @@ port_flow_aged(portid_t port_id, uint8_t destroy)
+@@ -2451,6 +2451,8 @@ port_flow_aged(portid_t port_id, uint8_t destroy)
@@ -33 +34 @@
-+ uint64_t flow_id;
++ uint32_t flow_id;
@@ -36 +37 @@
- printf("%-20s\t%" PRIu64 "\t%" PRIu32 "\t%" PRIu32
+ printf("%-20s\t%" PRIu32 "\t%" PRIu32 "\t%" PRIu32
@@ -38 +39 @@
-@@ -4173,7 +4175,8 @@ port_flow_aged(portid_t port_id, uint8_t destroy)
+@@ -2463,7 +2465,8 @@ port_flow_aged(portid_t port_id, uint8_t destroy)
@@ -41,2 +42,2 @@
-- &ctx.pf->id, false))
-+ &flow_id, false))
+- &ctx.pf->id))
++ &flow_id))
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'test/bonding: fix loop on members' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (113 preceding siblings ...)
2024-11-27 17:19 ` patch 'app/testpmd: fix aged flow destroy' " Kevin Traynor
@ 2024-11-27 17:19 ` Kevin Traynor
2024-11-27 17:19 ` patch 'test/bonding: fix MAC address comparison' " Kevin Traynor
` (5 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:19 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Bruce Richardson, Chengwen Feng, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/1b2707e26c3ccafaf8d11bf7f5ec671e41902ebb
Thanks.
Kevin
---
From 1b2707e26c3ccafaf8d11bf7f5ec671e41902ebb Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Thu, 21 Nov 2024 10:23:22 -0800
Subject: [PATCH] test/bonding: fix loop on members
[ upstream commit 112ce3917674b7e316776305d7e27778d17eb1b7 ]
Do not use same variable for outer and inner loop in bonding test.
Since the loop is just freeing the resulting burst use bulk free.
Link: https://pvs-studio.com/en/blog/posts/cpp/1179/
Fixes: 92073ef961ee ("bond: unit tests")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
---
app/test/test_link_bonding.c | 7 +------
1 file changed, 1 insertion(+), 6 deletions(-)
diff --git a/app/test/test_link_bonding.c b/app/test/test_link_bonding.c
index 0d5cfd43c4..2f8a9bebf5 100644
--- a/app/test/test_link_bonding.c
+++ b/app/test/test_link_bonding.c
@@ -2270,10 +2270,5 @@ test_activebackup_rx_burst(void)
/* free mbufs */
- for (i = 0; i < MAX_PKT_BURST; i++) {
- if (rx_pkt_burst[i] != NULL) {
- rte_pktmbuf_free(rx_pkt_burst[i]);
- rx_pkt_burst[i] = NULL;
- }
- }
+ rte_pktmbuf_free_bulk(rx_pkt_burst, burst_size);
/* reset bonded device stats */
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.904605508 +0000
+++ 0116-test-bonding-fix-loop-on-members.patch 2024-11-27 17:17:38.352270031 +0000
@@ -1 +1 @@
-From 112ce3917674b7e316776305d7e27778d17eb1b7 Mon Sep 17 00:00:00 2001
+From 1b2707e26c3ccafaf8d11bf7f5ec671e41902ebb Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 112ce3917674b7e316776305d7e27778d17eb1b7 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 4d54706c21..805613d7dd 100644
+index 0d5cfd43c4..2f8a9bebf5 100644
@@ -24 +25 @@
-@@ -2289,10 +2289,5 @@ test_activebackup_rx_burst(void)
+@@ -2270,10 +2270,5 @@ test_activebackup_rx_burst(void)
@@ -35 +36 @@
- /* reset bonding device stats */
+ /* reset bonded device stats */
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'test/bonding: fix MAC address comparison' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (114 preceding siblings ...)
2024-11-27 17:19 ` patch 'test/bonding: fix loop on members' " Kevin Traynor
@ 2024-11-27 17:19 ` Kevin Traynor
2024-11-27 17:19 ` patch 'test/event: avoid duplicate initialization' " Kevin Traynor
` (4 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:19 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Chengwen Feng, Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/19e497edc761191053d0333cf7c42e042154cebc
Thanks.
Kevin
---
From 19e497edc761191053d0333cf7c42e042154cebc Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Thu, 21 Nov 2024 10:23:23 -0800
Subject: [PATCH] test/bonding: fix MAC address comparison
[ upstream commit f7f85632daf6d6f525d443f90a0ac3c8a3e40b72 ]
The first argument of 'memcmp' function was equal to the second argument.
Therefore ASSERT would always be true.
Link: https://pvs-studio.com/en/blog/posts/cpp/1179/
Fixes: 92073ef961ee ("bond: unit tests")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
app/test/test_link_bonding.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/test/test_link_bonding.c b/app/test/test_link_bonding.c
index 2f8a9bebf5..5e6a73133b 100644
--- a/app/test/test_link_bonding.c
+++ b/app/test/test_link_bonding.c
@@ -788,5 +788,5 @@ test_set_primary_slave(void)
"Failed to get mac address (port %d)",
test_params->bonded_port_id);
- TEST_ASSERT_SUCCESS(memcmp(&read_mac_addr, &read_mac_addr,
+ TEST_ASSERT_SUCCESS(memcmp(expected_mac_addr, &read_mac_addr,
sizeof(read_mac_addr)),
"bonded port mac address not set to that of primary port\n");
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.936117526 +0000
+++ 0117-test-bonding-fix-MAC-address-comparison.patch 2024-11-27 17:17:38.355270047 +0000
@@ -1 +1 @@
-From f7f85632daf6d6f525d443f90a0ac3c8a3e40b72 Mon Sep 17 00:00:00 2001
+From 19e497edc761191053d0333cf7c42e042154cebc Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit f7f85632daf6d6f525d443f90a0ac3c8a3e40b72 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 805613d7dd..b752a5ecbf 100644
+index 2f8a9bebf5..5e6a73133b 100644
@@ -24 +25 @@
-@@ -793,5 +793,5 @@ test_set_primary_member(void)
+@@ -788,5 +788,5 @@ test_set_primary_slave(void)
@@ -26 +27 @@
- test_params->bonding_port_id);
+ test_params->bonded_port_id);
@@ -30 +31 @@
- "bonding port mac address not set to that of primary port\n");
+ "bonded port mac address not set to that of primary port\n");
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'test/event: avoid duplicate initialization' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (115 preceding siblings ...)
2024-11-27 17:19 ` patch 'test/bonding: fix MAC address comparison' " Kevin Traynor
@ 2024-11-27 17:19 ` Kevin Traynor
2024-11-27 17:19 ` patch 'test/eal: fix loop coverage for alignment macros' " Kevin Traynor
` (3 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:19 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Bruce Richardson, Abhinandan Gujjar, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/ce0f3e1995cd023925a7447a0ceea0538aff08e1
Thanks.
Kevin
---
From ce0f3e1995cd023925a7447a0ceea0538aff08e1 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Thu, 21 Nov 2024 10:23:25 -0800
Subject: [PATCH] test/event: avoid duplicate initialization
[ upstream commit 8c08b10d047ac64fb98709871b192698663af7d7 ]
The event_dev_config initialization had duplicate assignments
to the same element. Change to use structure initialization
so that compiler will catch this type of bug.
Link: https://pvs-studio.com/en/blog/posts/cpp/1179/
Fixes: f8f9d233ea0e ("test/eventdev: add unit tests")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
---
app/test/test_event_crypto_adapter.c | 24 ++++++++++--------------
1 file changed, 10 insertions(+), 14 deletions(-)
diff --git a/app/test/test_event_crypto_adapter.c b/app/test/test_event_crypto_adapter.c
index ea14094f02..3dab1ac797 100644
--- a/app/test/test_event_crypto_adapter.c
+++ b/app/test/test_event_crypto_adapter.c
@@ -590,19 +590,15 @@ configure_cryptodev(void)
static inline void
evdev_set_conf_values(struct rte_event_dev_config *dev_conf,
- struct rte_event_dev_info *info)
+ const struct rte_event_dev_info *info)
{
- memset(dev_conf, 0, sizeof(struct rte_event_dev_config));
- dev_conf->dequeue_timeout_ns = info->min_dequeue_timeout_ns;
- dev_conf->nb_event_ports = NB_TEST_PORTS;
- dev_conf->nb_event_queues = NB_TEST_QUEUES;
- dev_conf->nb_event_queue_flows = info->max_event_queue_flows;
- dev_conf->nb_event_port_dequeue_depth =
- info->max_event_port_dequeue_depth;
- dev_conf->nb_event_port_enqueue_depth =
- info->max_event_port_enqueue_depth;
- dev_conf->nb_event_port_enqueue_depth =
- info->max_event_port_enqueue_depth;
- dev_conf->nb_events_limit =
- info->max_num_events;
+ *dev_conf = (struct rte_event_dev_config) {
+ .dequeue_timeout_ns = info->min_dequeue_timeout_ns,
+ .nb_event_ports = NB_TEST_PORTS,
+ .nb_event_queues = NB_TEST_QUEUES,
+ .nb_event_queue_flows = info->max_event_queue_flows,
+ .nb_event_port_dequeue_depth = info->max_event_port_dequeue_depth,
+ .nb_event_port_enqueue_depth = info->max_event_port_enqueue_depth,
+ .nb_events_limit = info->max_num_events,
+ };
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.967252979 +0000
+++ 0118-test-event-avoid-duplicate-initialization.patch 2024-11-27 17:17:38.356270052 +0000
@@ -1 +1 @@
-From 8c08b10d047ac64fb98709871b192698663af7d7 Mon Sep 17 00:00:00 2001
+From ce0f3e1995cd023925a7447a0ceea0538aff08e1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8c08b10d047ac64fb98709871b192698663af7d7 ]
+
@@ -12 +13,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 9d38a66bfa..ab24e30a97 100644
+index ea14094f02..3dab1ac797 100644
@@ -25 +26 @@
-@@ -1155,19 +1155,15 @@ configure_cryptodev(void)
+@@ -590,19 +590,15 @@ configure_cryptodev(void)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'test/eal: fix loop coverage for alignment macros' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (116 preceding siblings ...)
2024-11-27 17:19 ` patch 'test/event: avoid duplicate initialization' " Kevin Traynor
@ 2024-11-27 17:19 ` Kevin Traynor
2024-11-27 17:19 ` patch 'test/eal: fix lcore check' " Kevin Traynor
` (2 subsequent siblings)
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:19 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Bruce Richardson, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/883b3b43f7ca5db2f38197e3946ed59ad418f462
Thanks.
Kevin
---
From 883b3b43f7ca5db2f38197e3946ed59ad418f462 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Thu, 21 Nov 2024 10:23:27 -0800
Subject: [PATCH] test/eal: fix loop coverage for alignment macros
[ upstream commit b3e64fe596a3117edf6d3a79a6c5238a9b92dc4f ]
The test loop was much shorter than desired because when
MAX_NUM is defined with out paren's the divide operator /
takes precedence over shift.
But when MAX_NUM is fixed, some tests take too long
and have to be modified to avoid running over full N^2
space of 1<<20.
Note: this is a very old bug, goes back to 2013.
Link: https://pvs-studio.com/en/blog/posts/cpp/1179/
Fixes: 1fb8b07ee511 ("app: add some tests")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
app/test/test_common.c | 31 +++++++++++++++++--------------
1 file changed, 17 insertions(+), 14 deletions(-)
diff --git a/app/test/test_common.c b/app/test/test_common.c
index f89e1eb7ee..372bb8f6ba 100644
--- a/app/test/test_common.c
+++ b/app/test/test_common.c
@@ -9,9 +9,10 @@
#include <rte_common.h>
#include <rte_hexdump.h>
+#include <rte_random.h>
#include <rte_pause.h>
#include "test.h"
-#define MAX_NUM 1 << 20
+#define MAX_NUM (1 << 20)
#define FAIL(x)\
@@ -218,17 +219,19 @@ test_align(void)
}
- for (p = 1; p <= MAX_NUM / 2; p++) {
- for (i = 1; i <= MAX_NUM / 2; i++) {
- val = RTE_ALIGN_MUL_CEIL(i, p);
- if (val % p != 0 || val < i)
- FAIL_ALIGN("RTE_ALIGN_MUL_CEIL", i, p);
- val = RTE_ALIGN_MUL_FLOOR(i, p);
- if (val % p != 0 || val > i)
- FAIL_ALIGN("RTE_ALIGN_MUL_FLOOR", i, p);
- val = RTE_ALIGN_MUL_NEAR(i, p);
- if (val % p != 0 || ((val != RTE_ALIGN_MUL_CEIL(i, p))
- & (val != RTE_ALIGN_MUL_FLOOR(i, p))))
- FAIL_ALIGN("RTE_ALIGN_MUL_NEAR", i, p);
- }
+ /* testing the whole space of 2^20^2 takes too long. */
+ for (j = 1; j <= MAX_NUM ; j++) {
+ i = rte_rand_max(MAX_NUM - 1) + 1;
+ p = rte_rand_max(MAX_NUM - 1) + 1;
+
+ val = RTE_ALIGN_MUL_CEIL(i, p);
+ if (val % p != 0 || val < i)
+ FAIL_ALIGN("RTE_ALIGN_MUL_CEIL", i, p);
+ val = RTE_ALIGN_MUL_FLOOR(i, p);
+ if (val % p != 0 || val > i)
+ FAIL_ALIGN("RTE_ALIGN_MUL_FLOOR", i, p);
+ val = RTE_ALIGN_MUL_NEAR(i, p);
+ if (val % p != 0 || ((val != RTE_ALIGN_MUL_CEIL(i, p))
+ & (val != RTE_ALIGN_MUL_FLOOR(i, p))))
+ FAIL_ALIGN("RTE_ALIGN_MUL_NEAR", i, p);
}
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:41.995894895 +0000
+++ 0119-test-eal-fix-loop-coverage-for-alignment-macros.patch 2024-11-27 17:17:38.356270052 +0000
@@ -1 +1 @@
-From b3e64fe596a3117edf6d3a79a6c5238a9b92dc4f Mon Sep 17 00:00:00 2001
+From 883b3b43f7ca5db2f38197e3946ed59ad418f462 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit b3e64fe596a3117edf6d3a79a6c5238a9b92dc4f ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
@@ -27 +28 @@
-index 21eb2285e1..6dbd7fc9a9 100644
+index f89e1eb7ee..372bb8f6ba 100644
@@ -30,2 +31,2 @@
-@@ -10,9 +10,10 @@
- #include <rte_bitops.h>
+@@ -9,9 +9,10 @@
+ #include <rte_common.h>
@@ -42 +43 @@
-@@ -219,17 +220,19 @@ test_align(void)
+@@ -218,17 +219,19 @@ test_align(void)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'test/eal: fix lcore check' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (117 preceding siblings ...)
2024-11-27 17:19 ` patch 'test/eal: fix loop coverage for alignment macros' " Kevin Traynor
@ 2024-11-27 17:19 ` Kevin Traynor
2024-11-27 17:19 ` patch 'app/testpmd: remove redundant policy action condition' " Kevin Traynor
2024-11-27 17:19 ` patch 'doc: correct definition of stats per queue feature' " Kevin Traynor
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:19 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Bruce Richardson, Aaron Conole, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/78d1ebcc9f5fff5357985b14b8ffa1bf72e110f3
Thanks.
Kevin
---
From 78d1ebcc9f5fff5357985b14b8ffa1bf72e110f3 Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Thu, 21 Nov 2024 10:23:28 -0800
Subject: [PATCH] test/eal: fix lcore check
[ upstream commit 357f915ef5e1280d921fb103ea33066e7a888ed2 ]
The expression for checking which lcore is enabled for 0-7
was wrong (missing case for 6).
Link: https://pvs-studio.com/en/blog/posts/cpp/1179/
Fixes: b0209034f2bb ("test/eal: check number of cores before running subtests")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Aaron Conole <aconole@redhat.com>
---
app/test/test_eal_flags.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
index 8916ea5882..860e11e268 100644
--- a/app/test/test_eal_flags.c
+++ b/app/test/test_eal_flags.c
@@ -590,6 +590,6 @@ test_missing_c_flag(void)
if (rte_lcore_is_enabled(0) && rte_lcore_is_enabled(1) &&
rte_lcore_is_enabled(2) && rte_lcore_is_enabled(3) &&
- rte_lcore_is_enabled(3) && rte_lcore_is_enabled(5) &&
- rte_lcore_is_enabled(4) && rte_lcore_is_enabled(7) &&
+ rte_lcore_is_enabled(4) && rte_lcore_is_enabled(5) &&
+ rte_lcore_is_enabled(6) && rte_lcore_is_enabled(7) &&
launch_proc(argv29) != 0) {
printf("Error - "
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:42.024067470 +0000
+++ 0120-test-eal-fix-lcore-check.patch 2024-11-27 17:17:38.357270057 +0000
@@ -1 +1 @@
-From 357f915ef5e1280d921fb103ea33066e7a888ed2 Mon Sep 17 00:00:00 2001
+From 78d1ebcc9f5fff5357985b14b8ffa1bf72e110f3 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 357f915ef5e1280d921fb103ea33066e7a888ed2 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index d37d6b8627..e32f83d3c8 100644
+index 8916ea5882..860e11e268 100644
@@ -24 +25 @@
-@@ -678,6 +678,6 @@ test_missing_c_flag(void)
+@@ -590,6 +590,6 @@ test_missing_c_flag(void)
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'app/testpmd: remove redundant policy action condition' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (118 preceding siblings ...)
2024-11-27 17:19 ` patch 'test/eal: fix lcore check' " Kevin Traynor
@ 2024-11-27 17:19 ` Kevin Traynor
2024-11-27 17:19 ` patch 'doc: correct definition of stats per queue feature' " Kevin Traynor
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:19 UTC (permalink / raw)
To: Stephen Hemminger
Cc: Bruce Richardson, Ajit Khaparde, Chengwen Feng, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/3c69c95e715abbfbb3d980d529b7844ea493434f
Thanks.
Kevin
---
From 3c69c95e715abbfbb3d980d529b7844ea493434f Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Thu, 21 Nov 2024 10:23:29 -0800
Subject: [PATCH] app/testpmd: remove redundant policy action condition
[ upstream commit 4c2e7468426ae6be3f2a8f2d15e7d1222083eb9d ]
The loop over policy actions will always exit when it sees
the flow end action, so the next check is redundant.
Link: https://pvs-studio.com/en/blog/posts/cpp/1179/
Fixes: f29fa2c59b85 ("app/testpmd: support policy actions per color")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
---
app/test-pmd/config.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index aa979e886f..ad215c78f6 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -2064,5 +2064,5 @@ port_meter_policy_add(portid_t port_id, uint32_t policy_id,
act->type != RTE_FLOW_ACTION_TYPE_END; act++)
act_n++;
- if (act_n && act->type == RTE_FLOW_ACTION_TYPE_END)
+ if (act_n > 0)
policy.actions[i] = start;
else
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:42.052627006 +0000
+++ 0121-app-testpmd-remove-redundant-policy-action-condition.patch 2024-11-27 17:17:38.361270078 +0000
@@ -1 +1 @@
-From 4c2e7468426ae6be3f2a8f2d15e7d1222083eb9d Mon Sep 17 00:00:00 2001
+From 3c69c95e715abbfbb3d980d529b7844ea493434f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4c2e7468426ae6be3f2a8f2d15e7d1222083eb9d ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -18,2 +19,2 @@
- app/test-pmd/config.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
+ app/test-pmd/config.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
@@ -22 +23 @@
-index 28d45568ac..4e7fb69183 100644
+index aa979e886f..ad215c78f6 100644
@@ -25 +26 @@
-@@ -2289,5 +2289,5 @@ port_meter_policy_add(portid_t port_id, uint32_t policy_id,
+@@ -2064,5 +2064,5 @@ port_meter_policy_add(portid_t port_id, uint32_t policy_id,
@@ -32,4 +32,0 @@
-@@ -7339,3 +7339,2 @@ show_mcast_macs(portid_t port_id)
- }
- }
--
^ permalink raw reply [flat|nested] 122+ messages in thread
* patch 'doc: correct definition of stats per queue feature' has been queued to stable release 21.11.9
2024-11-27 17:17 patch 'net/ionic: fix build with Fedora Rawhide' has been queued to stable release 21.11.9 Kevin Traynor
` (119 preceding siblings ...)
2024-11-27 17:19 ` patch 'app/testpmd: remove redundant policy action condition' " Kevin Traynor
@ 2024-11-27 17:19 ` Kevin Traynor
120 siblings, 0 replies; 122+ messages in thread
From: Kevin Traynor @ 2024-11-27 17:19 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Ferruh Yigit, dpdk stable
Hi,
FYI, your patch has been queued to stable release 21.11.9
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/02/24. 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/db0eb7fb7bc68dd241029ae2cc46f487ef712d1a
Thanks.
Kevin
---
From db0eb7fb7bc68dd241029ae2cc46f487ef712d1a Mon Sep 17 00:00:00 2001
From: Stephen Hemminger <stephen@networkplumber.org>
Date: Thu, 10 Oct 2024 18:38:27 -0700
Subject: [PATCH] doc: correct definition of stats per queue feature
[ upstream commit 71eae7fe3eac90b70200460c714d1c13ee43dc25 ]
Change the documentation to match current usage of this feature
in the NIC table. Moved this sub heading to be after basic
stats because the queue stats reported now are in the same structure.
Although the "Stats per Queue" feature was originally intended
to be related to stats mapping, the overwhelming majority of drivers
report this feature with a different meaning.
Hopefully in later release the per-queue stats limitations
can be fixed, but this requires and API, ABI, and lots of driver
changes.
Fixes: dad1ec72a377 ("doc: document NIC features")
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
---
doc/guides/nics/features.rst | 34 ++++++++++++++++++++--------------
1 file changed, 20 insertions(+), 14 deletions(-)
diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst
index 841f3704b1..adbf118f2d 100644
--- a/doc/guides/nics/features.rst
+++ b/doc/guides/nics/features.rst
@@ -689,6 +689,4 @@ Support basic statistics such as: ipackets, opackets, ibytes, obytes,
imissed, ierrors, oerrors, rx_nombuf.
-And per queue stats: q_ipackets, q_opackets, q_ibytes, q_obytes, q_errors.
-
These apply to all drivers.
@@ -697,4 +695,24 @@ These apply to all drivers.
+.. _nic_features_stats_per_queue:
+
+Stats per queue
+---------------
+
+Supports per queue stats: q_ipackets, q_opackets, q_ibytes, q_obytes, q_errors.
+Statistics only supplied for first ``RTE_ETHDEV_QUEUE_STAT_CNTRS`` (16) queues.
+If driver does not support this feature the per queue stats will be zero.
+
+* **[implements] eth_dev_ops**: ``stats_get``, ``stats_reset``.
+* **[related] API**: ``rte_eth_stats_get``, ``rte_eth_stats_reset()``.
+
+May also support configuring per-queue stat counter mapping.
+Used by some drivers to workaround HW limitations.
+
+* **[implements] eth_dev_ops**: ``queue_stats_mapping_set``.
+* **[related] API**: ``rte_eth_dev_set_rx_queue_stats_mapping()``,
+ ``rte_eth_dev_set_tx_queue_stats_mapping()``.
+
+
.. _nic_features_extended_stats:
@@ -711,16 +729,4 @@ Supports Extended Statistics, changes from driver to driver.
-.. _nic_features_stats_per_queue:
-
-Stats per queue
----------------
-
-Supports configuring per-queue stat counter mapping.
-
-* **[implements] eth_dev_ops**: ``queue_stats_mapping_set``.
-* **[related] API**: ``rte_eth_dev_set_rx_queue_stats_mapping()``,
- ``rte_eth_dev_set_tx_queue_stats_mapping()``.
-
-
.. _nic_features_traffic_manager:
--
2.47.0
---
Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- - 2024-11-27 17:17:42.084473757 +0000
+++ 0122-doc-correct-definition-of-stats-per-queue-feature.patch 2024-11-27 17:17:38.361270078 +0000
@@ -1 +1 @@
-From 71eae7fe3eac90b70200460c714d1c13ee43dc25 Mon Sep 17 00:00:00 2001
+From db0eb7fb7bc68dd241029ae2cc46f487ef712d1a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 71eae7fe3eac90b70200460c714d1c13ee43dc25 ]
+
@@ -19 +20,0 @@
-Cc: stable@dpdk.org
@@ -28 +29 @@
-index 0508f118fe..8bd448139e 100644
+index 841f3704b1..adbf118f2d 100644
@@ -31 +32 @@
-@@ -730,6 +730,4 @@ Support basic statistics such as: ipackets, opackets, ibytes, obytes,
+@@ -689,6 +689,4 @@ Support basic statistics such as: ipackets, opackets, ibytes, obytes,
@@ -38 +39 @@
-@@ -738,4 +736,24 @@ These apply to all drivers.
+@@ -697,4 +695,24 @@ These apply to all drivers.
@@ -63 +64 @@
-@@ -752,16 +770,4 @@ Supports Extended Statistics, changes from driver to driver.
+@@ -711,16 +729,4 @@ Supports Extended Statistics, changes from driver to driver.
@@ -78 +79 @@
- .. _nic_features_congestion_management:
+ .. _nic_features_traffic_manager:
^ permalink raw reply [flat|nested] 122+ messages in thread