* patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 @ 2023-06-15 1:31 luca.boccassi 2023-06-15 1:31 ` patch 'examples/ip_pipeline: fix build with GCC 13' " luca.boccassi ` (61 more replies) 0 siblings, 62 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:31 UTC (permalink / raw) To: Ferruh Yigit; +Cc: David Marchand, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/3f1b6c3280cf9eb0f9ac0b41cdc4a3d92b5a01f9 Thanks. Luca Boccassi --- From 3f1b6c3280cf9eb0f9ac0b41cdc4a3d92b5a01f9 Mon Sep 17 00:00:00 2001 From: Ferruh Yigit <ferruh.yigit@amd.com> Date: Fri, 14 Apr 2023 16:25:22 +0100 Subject: [PATCH] kni: fix build with Linux 6.3 [ upstream commit 5f34cc454df420b9b2da8deb949fb76cba058b87 ] KNI calls `get_user_pages_remote()` API which is using `FOLL_TOUCH` flag, but `FOLL_TOUCH` is no more in public headers since v6.3, causing a build error. `FOLL_*` defines in Linux kernel first moved to another header [1], later some of them moved to memory subsystem internal header [2] for 6.3 `get_user_pages_remote()` already sets `FOLL_TOUCH` internally, no need to set this flag externally anyway, moving flag from the call altogether. [1] Commit b5054174ac7c ("mm: move FOLL_* defs to mm_types.h") [2] Commit 2c2241081f7d ("mm/gup: move private gup FOLL_ flags to internal.h") Fixes: e73831dc6c26 ("kni: support userspace VA") Signed-off-by: Ferruh Yigit <ferruh.yigit@amd.com> Reviewed-by: David Marchand <david.marchand@redhat.com> --- kernel/linux/kni/kni_dev.h | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/kernel/linux/kni/kni_dev.h b/kernel/linux/kni/kni_dev.h index e8633486ee..6e64380d06 100644 --- a/kernel/linux/kni/kni_dev.h +++ b/kernel/linux/kni/kni_dev.h @@ -105,11 +105,9 @@ static inline phys_addr_t iova_to_phys(struct task_struct *tsk, /* Read one page struct info */ #ifdef HAVE_TSK_IN_GUP - ret = get_user_pages_remote(tsk, tsk->mm, iova, 1, - FOLL_TOUCH, &page, NULL, NULL); + ret = get_user_pages_remote(tsk, tsk->mm, iova, 1, 0, &page, NULL, NULL); #else - ret = get_user_pages_remote(tsk->mm, iova, 1, - FOLL_TOUCH, &page, NULL, NULL); + ret = get_user_pages_remote(tsk->mm, iova, 1, 0, &page, NULL, NULL); #endif if (ret < 0) return 0; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:34.794569772 +0100 +++ 0001-kni-fix-build-with-Linux-6.3.patch 2023-06-15 01:56:34.459538943 +0100 @@ -1 +1 @@ -From 5f34cc454df420b9b2da8deb949fb76cba058b87 Mon Sep 17 00:00:00 2001 +From 3f1b6c3280cf9eb0f9ac0b41cdc4a3d92b5a01f9 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 5f34cc454df420b9b2da8deb949fb76cba058b87 ] + @@ -24 +25,0 @@ -Cc: stable@dpdk.org @@ -33 +34 @@ -index a2c6d9fc1a..21bfb6890e 100644 +index e8633486ee..6e64380d06 100644 ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'examples/ip_pipeline: fix build with GCC 13' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi @ 2023-06-15 1:31 ` luca.boccassi 2023-06-15 1:31 ` patch 'examples/ntb: " luca.boccassi ` (60 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:31 UTC (permalink / raw) To: Jerin Jacob; +Cc: Cristian Dumitrescu, Ali Alnubani, Daxue Gao, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/7fb0754a375c0bbdf2aa5aed7e5f05426d0fac73 Thanks. Luca Boccassi --- From 7fb0754a375c0bbdf2aa5aed7e5f05426d0fac73 Mon Sep 17 00:00:00 2001 From: Jerin Jacob <jerinj@marvell.com> Date: Tue, 2 May 2023 19:20:44 +0530 Subject: [PATCH] examples/ip_pipeline: fix build with GCC 13 [ upstream commit aae10e97710eb3b6a43a61e733ca0bbff47ab0c4 ] Fix the following build issue by initializing req to NULL for the local variable. In function 'thread_msg_handle', inlined from 'thread_main' at ../examples/ip_pipeline/thread.c:3130:6: ../examples/ip_pipeline/thread.c:535:20: warning: 'req' may be used uninitialized [-Wmaybe-uninitialized] 535 | if (req == NULL) | ^ ../examples/ip_pipeline/thread.c: In function 'thread_main': ../examples/ip_pipeline/thread.c:433:32: note: 'req' was declared here 433 | struct thread_msg_req *req; Bugzilla ID: 1220 Fixes: a8bd581de397 ("examples/ip_pipeline: add thread runtime") Signed-off-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Tested-by: Ali Alnubani <alialnu@nvidia.com> Tested-by: Daxue Gao <daxuex.gao@intel.com> --- examples/ip_pipeline/thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/ip_pipeline/thread.c b/examples/ip_pipeline/thread.c index b2e9732705..aeec954394 100644 --- a/examples/ip_pipeline/thread.c +++ b/examples/ip_pipeline/thread.c @@ -432,7 +432,7 @@ thread_pipeline_disable(uint32_t thread_id, static inline struct thread_msg_req * thread_msg_recv(struct rte_ring *msgq_req) { - struct thread_msg_req *req; + struct thread_msg_req *req = NULL; int status = rte_ring_sc_dequeue(msgq_req, (void **) &req); -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:34.845993845 +0100 +++ 0002-examples-ip_pipeline-fix-build-with-GCC-13.patch 2023-06-15 01:56:34.475539293 +0100 @@ -1 +1 @@ -From aae10e97710eb3b6a43a61e733ca0bbff47ab0c4 Mon Sep 17 00:00:00 2001 +From 7fb0754a375c0bbdf2aa5aed7e5f05426d0fac73 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit aae10e97710eb3b6a43a61e733ca0bbff47ab0c4 ] + @@ -21 +22,0 @@ -Cc: stable@dpdk.org @@ -32 +33 @@ -index 82d5f87c38..9817657ca9 100644 +index b2e9732705..aeec954394 100644 @@ -35 +36 @@ -@@ -430,7 +430,7 @@ thread_pipeline_disable(uint32_t thread_id, +@@ -432,7 +432,7 @@ thread_pipeline_disable(uint32_t thread_id, ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'examples/ntb: fix build with GCC 13' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi 2023-06-15 1:31 ` patch 'examples/ip_pipeline: fix build with GCC 13' " luca.boccassi @ 2023-06-15 1:31 ` luca.boccassi 2023-06-15 1:31 ` patch 'ring: fix use after free' " luca.boccassi ` (59 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:31 UTC (permalink / raw) To: Jerin Jacob; +Cc: Ali Alnubani, Junfeng Guo, Daxue Gao, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/4a58ab873a5b754bc5f480bbd44798389d8ab319 Thanks. Luca Boccassi --- From 4a58ab873a5b754bc5f480bbd44798389d8ab319 Mon Sep 17 00:00:00 2001 From: Jerin Jacob <jerinj@marvell.com> Date: Thu, 4 May 2023 14:23:37 +0530 Subject: [PATCH] examples/ntb: fix build with GCC 13 [ upstream commit dbff181d62c997f128b75db2bbac9f42e8dd0f8f ] Fix the following build issue by not allowing nb_ids to be zero. nb_ids can be zero based on rte_rawdev_xstats_get() API documentation but it is not valid for the case when second argument is NULL. examples/ntb/ntb_fwd.c: In function 'ntb_stats_display': examples/ntb/ntb_fwd.c:945:23: error: 'rte_rawdev_xstats_get' accessing 8 bytes in a region of size 0 [-Werror=stringop-overflow=] 945 | if (nb_ids != rte_rawdev_xstats_get(dev_id, ids, values, nb_ids)) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ examples/ntb/ntb_fwd.c:945:23: note: referencing argument 3 of type 'uint64_t[0]' {aka 'long unsigned int[]'} In file included from ../examples/ntb/ntb_fwd.c:17: lib/rawdev/rte_rawdev.h:504:1: note: in a call to function 'rte_rawdev_xstats_get' 504 | rte_rawdev_xstats_get(uint16_t dev_id, Fixes: 5194299d6ef5 ("examples/ntb: support more functions") Signed-off-by: Jerin Jacob <jerinj@marvell.com> Tested-by: Ali Alnubani <alialnu@nvidia.com> Acked-by: Junfeng Guo <junfeng.guo@intel.com> Tested-by: Daxue Gao <daxuex.gao@intel.com> --- examples/ntb/ntb_fwd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/ntb/ntb_fwd.c b/examples/ntb/ntb_fwd.c index 8f42831399..49b8795e2d 100644 --- a/examples/ntb/ntb_fwd.c +++ b/examples/ntb/ntb_fwd.c @@ -865,7 +865,7 @@ ntb_stats_clear(void) /* Clear NTB dev stats */ nb_ids = rte_rawdev_xstats_names_get(dev_id, NULL, 0); - if (nb_ids < 0) { + if (nb_ids <= 0) { printf("Error: Cannot get count of xstats\n"); return; } @@ -923,7 +923,7 @@ ntb_stats_display(void) /* Get NTB dev stats and stats names */ nb_ids = rte_rawdev_xstats_names_get(dev_id, NULL, 0); - if (nb_ids < 0) { + if (nb_ids <= 0) { printf("Error: Cannot get count of xstats\n"); return; } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:34.900932610 +0100 +++ 0003-examples-ntb-fix-build-with-GCC-13.patch 2023-06-15 01:56:34.479539380 +0100 @@ -1 +1 @@ -From dbff181d62c997f128b75db2bbac9f42e8dd0f8f Mon Sep 17 00:00:00 2001 +From 4a58ab873a5b754bc5f480bbd44798389d8ab319 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit dbff181d62c997f128b75db2bbac9f42e8dd0f8f ] + @@ -25 +26,0 @@ -Cc: stable@dpdk.org @@ -36 +37 @@ -index f9abed28e4..585aad9d70 100644 +index 8f42831399..49b8795e2d 100644 ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'ring: fix use after free' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi 2023-06-15 1:31 ` patch 'examples/ip_pipeline: fix build with GCC 13' " luca.boccassi 2023-06-15 1:31 ` patch 'examples/ntb: " luca.boccassi @ 2023-06-15 1:31 ` luca.boccassi 2023-06-15 1:32 ` patch 'vfio: fix include with musl runtime' " luca.boccassi ` (58 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:31 UTC (permalink / raw) To: Yunjian Wang; +Cc: Konstantin Ananyev, Honnappa Nagarahalli, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/5491fc6870c551854d6ef31ad1bb3b16d32a2ec6 Thanks. Luca Boccassi --- From 5491fc6870c551854d6ef31ad1bb3b16d32a2ec6 Mon Sep 17 00:00:00 2001 From: Yunjian Wang <wangyunjian@huawei.com> Date: Fri, 5 May 2023 14:48:34 +0800 Subject: [PATCH] ring: fix use after free [ upstream commit ce4bd6e14aa693c80c5218f7d896c98b3b85b54a ] After the memzone is freed, it is not removed from the 'rte_ring_tailq'. If rte_ring_lookup is called at this time, it will cause a use-after-free problem. This change prevents that from happening. Fixes: 4e32101f9b01 ("ring: support freeing") Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> Acked-by: Konstantin Ananyev <konstantin.v.ananyev@yandex.ru> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> --- lib/librte_ring/rte_ring.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/librte_ring/rte_ring.c b/lib/librte_ring/rte_ring.c index 6a94a038c4..40d29c1bc5 100644 --- a/lib/librte_ring/rte_ring.c +++ b/lib/librte_ring/rte_ring.c @@ -341,11 +341,6 @@ rte_ring_free(struct rte_ring *r) return; } - if (rte_memzone_free(r->memzone) != 0) { - RTE_LOG(ERR, RING, "Cannot free memory\n"); - return; - } - ring_list = RTE_TAILQ_CAST(rte_ring_tailq.head, rte_ring_list); rte_mcfg_tailq_write_lock(); @@ -364,6 +359,9 @@ rte_ring_free(struct rte_ring *r) rte_mcfg_tailq_write_unlock(); + if (rte_memzone_free(r->memzone) != 0) + RTE_LOG(ERR, RING, "Cannot free memory\n"); + rte_free(te); } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:34.954278477 +0100 +++ 0004-ring-fix-use-after-free.patch 2023-06-15 01:56:34.487539555 +0100 @@ -1 +1 @@ -From ce4bd6e14aa693c80c5218f7d896c98b3b85b54a Mon Sep 17 00:00:00 2001 +From 5491fc6870c551854d6ef31ad1bb3b16d32a2ec6 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit ce4bd6e14aa693c80c5218f7d896c98b3b85b54a ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -17 +18 @@ - lib/ring/rte_ring.c | 8 +++----- + lib/librte_ring/rte_ring.c | 8 +++----- @@ -20,5 +21,5 @@ -diff --git a/lib/ring/rte_ring.c b/lib/ring/rte_ring.c -index 8ed455043d..057d25ff6f 100644 ---- a/lib/ring/rte_ring.c -+++ b/lib/ring/rte_ring.c -@@ -333,11 +333,6 @@ rte_ring_free(struct rte_ring *r) +diff --git a/lib/librte_ring/rte_ring.c b/lib/librte_ring/rte_ring.c +index 6a94a038c4..40d29c1bc5 100644 +--- a/lib/librte_ring/rte_ring.c ++++ b/lib/librte_ring/rte_ring.c +@@ -341,11 +341,6 @@ rte_ring_free(struct rte_ring *r) @@ -36 +37 @@ -@@ -356,6 +351,9 @@ rte_ring_free(struct rte_ring *r) +@@ -364,6 +359,9 @@ rte_ring_free(struct rte_ring *r) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'vfio: fix include with musl runtime' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (2 preceding siblings ...) 2023-06-15 1:31 ` patch 'ring: fix use after free' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'kernel/freebsd: fix function parameter list' " luca.boccassi ` (57 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Philip Prindeville; +Cc: Anatoly Burakov, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/550db8485a8bd634c4a5460118bb0d17a592fdee Thanks. Luca Boccassi --- From 550db8485a8bd634c4a5460118bb0d17a592fdee Mon Sep 17 00:00:00 2001 From: Philip Prindeville <philipp@redfish-solutions.com> Date: Sat, 20 May 2023 12:07:30 -0600 Subject: [PATCH] vfio: fix include with musl runtime [ upstream commit c41a103c961ded5a0966652f4daf0a661a947352 ] pread64() and pwrite64() are declared in <unistd.h> in MUSL and other (i.e. not glibc) C runtimes. Signed-off-by: Philip Prindeville <philipp@redfish-solutions.com> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com> --- drivers/bus/pci/linux/pci_vfio.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/bus/pci/linux/pci_vfio.c b/drivers/bus/pci/linux/pci_vfio.c index a4ce51be7b..3b3a548352 100644 --- a/drivers/bus/pci/linux/pci_vfio.c +++ b/drivers/bus/pci/linux/pci_vfio.c @@ -2,6 +2,7 @@ * Copyright(c) 2010-2014 Intel Corporation */ +#include <unistd.h> #include <string.h> #include <fcntl.h> #include <linux/pci_regs.h> -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:35.016317590 +0100 +++ 0005-vfio-fix-include-with-musl-runtime.patch 2023-06-15 01:56:34.491539643 +0100 @@ -1 +1 @@ -From c41a103c961ded5a0966652f4daf0a661a947352 Mon Sep 17 00:00:00 2001 +From 550db8485a8bd634c4a5460118bb0d17a592fdee Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit c41a103c961ded5a0966652f4daf0a661a947352 ] + @@ -9,2 +10,0 @@ -Cc: stable@dpdk.org - @@ -14 +13,0 @@ - .mailmap | 1 + @@ -16 +15 @@ - 2 files changed, 2 insertions(+) + 1 file changed, 1 insertion(+) @@ -18,12 +16,0 @@ -diff --git a/.mailmap b/.mailmap -index 0443e461a9..db85cc66c6 100644 ---- a/.mailmap -+++ b/.mailmap -@@ -1058,6 +1058,7 @@ Peter Spreadborough <peter.spreadborough@broadcom.com> - Petr Houska <t-pehous@microsoft.com> - Phanendra Vukkisala <pvukkisala@marvell.com> - Phil Yang <phil.yang@arm.com> -+Philip Prindeville <philipp@redfish-solutions.com> - Pierre Pfister <ppfister@cisco.com> - Piotr Azarewicz <piotr.azarewicz@intel.com> <piotrx.t.azarewicz@intel.com> - Piotr Bartosiewicz <piotr.bartosiewicz@atendesoftware.pl> @@ -31 +18 @@ -index fab3483d9f..fe83e1a04e 100644 +index a4ce51be7b..3b3a548352 100644 ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'kernel/freebsd: fix function parameter list' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (3 preceding siblings ...) 2023-06-15 1:32 ` patch 'vfio: fix include with musl runtime' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'build: fix case of project language name' " luca.boccassi ` (56 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Bruce Richardson; +Cc: John Baldwin, Tyler Retzlaff, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/4bf90a103246f283e2ff19d1394008b22f1f1f7f Thanks. Luca Boccassi --- From 4bf90a103246f283e2ff19d1394008b22f1f1f7f Mon Sep 17 00:00:00 2001 From: Bruce Richardson <bruce.richardson@intel.com> Date: Mon, 22 May 2023 10:22:41 +0100 Subject: [PATCH] kernel/freebsd: fix function parameter list [ upstream commit 12b7ef3c4a6262e1c0f747bd0037a3a8df38ab4c ] Functions which take no parameters should explicitly have "(void)" as the parameter list, rather than "()". Reported upstream on FreeBSD ports collection [1]. [1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=271524 Fixes: 764bf26873b9 ("add FreeBSD support") Reported-by: John Baldwin <jhb@freebsd.org> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com> --- kernel/freebsd/contigmem/contigmem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/freebsd/contigmem/contigmem.c b/kernel/freebsd/contigmem/contigmem.c index bd72f4d620..7dd87599d9 100644 --- a/kernel/freebsd/contigmem/contigmem.c +++ b/kernel/freebsd/contigmem/contigmem.c @@ -111,7 +111,7 @@ static struct cdevsw contigmem_ops = { }; static int -contigmem_load() +contigmem_load(void) { char index_string[8], description[32]; int i, error = 0; @@ -178,7 +178,7 @@ error: } static int -contigmem_unload() +contigmem_unload(void) { int i; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:35.072487523 +0100 +++ 0006-kernel-freebsd-fix-function-parameter-list.patch 2023-06-15 01:56:34.495539730 +0100 @@ -1 +1 @@ -From 12b7ef3c4a6262e1c0f747bd0037a3a8df38ab4c Mon Sep 17 00:00:00 2001 +From 4bf90a103246f283e2ff19d1394008b22f1f1f7f Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 12b7ef3c4a6262e1c0f747bd0037a3a8df38ab4c ] + @@ -14 +15,0 @@ -Cc: stable@dpdk.org ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'build: fix case of project language name' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (4 preceding siblings ...) 2023-06-15 1:32 ` patch 'kernel/freebsd: fix function parameter list' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'telemetry: fix autotest on Alpine' " luca.boccassi ` (55 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Bruce Richardson; +Cc: Tyler Retzlaff, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/b998c77e8b65ce51d98e25be83ada7120c8b66b9 Thanks. Luca Boccassi --- From b998c77e8b65ce51d98e25be83ada7120c8b66b9 Mon Sep 17 00:00:00 2001 From: Bruce Richardson <bruce.richardson@intel.com> Date: Fri, 10 Mar 2023 11:11:37 +0000 Subject: [PATCH] build: fix case of project language name [ upstream commit f6da046a1528895a96e1fbb7deef2c668efd0a56 ] According to the meson manual [1], the project language should be given as 'c', rather than 'C' in the initial "project" function call. While meson itself does not complain about this, the "muon" project, which attempts to re-implement meson in C, does complain. /home/bruce/dpdk/meson.build:4:17: error 'C' is not a valid language 4 | project('DPDK', 'C', ^ [1] https://mesonbuild.com/Reference-manual_functions.html#project Fixes: a25a650be5f0 ("build: add infrastructure for meson and ninja builds") Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Tyler Retzlaff <roretzla@linux.microsoft.com> --- meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 514b5c51b6..cc3be0019a 100644 --- a/meson.build +++ b/meson.build @@ -1,7 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017-2019 Intel Corporation -project('DPDK', 'C', +project('DPDK', 'c', # Get version number from file. # Fallback to "more" for Windows compatibility. version: run_command(find_program('cat', 'more'), -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:35.124136941 +0100 +++ 0007-build-fix-case-of-project-language-name.patch 2023-06-15 01:56:34.499539817 +0100 @@ -1 +1 @@ -From f6da046a1528895a96e1fbb7deef2c668efd0a56 Mon Sep 17 00:00:00 2001 +From b998c77e8b65ce51d98e25be83ada7120c8b66b9 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit f6da046a1528895a96e1fbb7deef2c668efd0a56 ] + @@ -26 +28 @@ -index f91d652bc5..992ca91e88 100644 +index 514b5c51b6..cc3be0019a 100644 @@ -35,3 +37,3 @@ - # Get version number from file. - # Fallback to "more" for Windows compatibility. - version: run_command(find_program('cat', 'more'), + # Get version number from file. + # Fallback to "more" for Windows compatibility. + version: run_command(find_program('cat', 'more'), ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'telemetry: fix autotest on Alpine' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (5 preceding siblings ...) 2023-06-15 1:32 ` patch 'build: fix case of project language name' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'test/malloc: fix missing free' " luca.boccassi ` (54 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Bruce Richardson; +Cc: Tyler Retzlaff, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/fa193cc3a43f7e495c174bc245686f8f117680ee Thanks. Luca Boccassi --- From fa193cc3a43f7e495c174bc245686f8f117680ee Mon Sep 17 00:00:00 2001 From: Bruce Richardson <bruce.richardson@intel.com> Date: Wed, 5 Apr 2023 17:03:22 +0100 Subject: [PATCH] telemetry: fix autotest on Alpine [ upstream commit 6ffce64857216344f02ee88d92cb69ee241b3c7b ] On Alpine linux, the telemetry_data_autotest was failing for the test where we had dictionaries embedded in other dictionaries up to three levels deep. Indications are that this issue is due to excess data being stored on the stack, so replace stack-allocated buffer data with dynamically allocated data in the case where we are doing recursive processing of telemetry data structures into json. Bugzilla ID: 1177 Fixes: c933bb5177ca ("telemetry: support array values in data object") Fixes: d2671e642a8e ("telemetry: support dict of dicts") Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com> --- lib/librte_telemetry/telemetry.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/librte_telemetry/telemetry.c b/lib/librte_telemetry/telemetry.c index ed00c17d9f..3f80d72c3f 100644 --- a/lib/librte_telemetry/telemetry.c +++ b/lib/librte_telemetry/telemetry.c @@ -217,7 +217,11 @@ output_json(const char *cmd, const struct rte_tel_data *d, int s) break; case RTE_TEL_CONTAINER: { - char temp[buf_len]; + char *temp = malloc(buf_len); + if (temp == NULL) + break; + *temp = '\0'; /* ensure valid string */ + const struct container *cont = &v->value.container; if (container_to_json(cont->data, @@ -228,6 +232,7 @@ output_json(const char *cmd, const struct rte_tel_data *d, int s) v->name, temp); if (!cont->keep) rte_tel_data_free(cont->data); + free(temp); } } } @@ -259,7 +264,11 @@ output_json(const char *cmd, const struct rte_tel_data *d, int s) buf_len, used, d->data.array[i].u64val); else if (d->type == RTE_TEL_ARRAY_CONTAINER) { - char temp[buf_len]; + char *temp = malloc(buf_len); + if (temp == NULL) + break; + *temp = '\0'; /* ensure valid string */ + const struct container *rec_data = &d->data.array[i].container; if (container_to_json(rec_data->data, @@ -269,6 +278,7 @@ output_json(const char *cmd, const struct rte_tel_data *d, int s) buf_len, used, temp); if (!rec_data->keep) rte_tel_data_free(rec_data->data); + free(temp); } used += prefix_used; used += strlcat(out_buf + used, "}", sizeof(out_buf) - used); -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:35.175810405 +0100 +++ 0008-telemetry-fix-autotest-on-Alpine.patch 2023-06-15 01:56:34.499539817 +0100 @@ -1 +1 @@ -From 6ffce64857216344f02ee88d92cb69ee241b3c7b Mon Sep 17 00:00:00 2001 +From fa193cc3a43f7e495c174bc245686f8f117680ee Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 6ffce64857216344f02ee88d92cb69ee241b3c7b ] + @@ -17 +18,0 @@ -Cc: stable@dpdk.org @@ -22,2 +23,2 @@ - lib/telemetry/telemetry.c | 21 ++++++++++++++++++--- - 1 file changed, 18 insertions(+), 3 deletions(-) + lib/librte_telemetry/telemetry.c | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) @@ -25,26 +26,5 @@ -diff --git a/lib/telemetry/telemetry.c b/lib/telemetry/telemetry.c -index deba7f34a3..590720bfa6 100644 ---- a/lib/telemetry/telemetry.c -+++ b/lib/telemetry/telemetry.c -@@ -208,7 +208,11 @@ container_to_json(const struct rte_tel_data *d, char *out_buf, size_t buf_len) - break; - case RTE_TEL_CONTAINER: - { -- char temp[buf_len]; -+ char *temp = malloc(buf_len); -+ if (temp == NULL) -+ break; -+ *temp = '\0'; /* ensure valid string */ -+ - const struct container *cont = - &v->value.container; - if (container_to_json(cont->data, -@@ -219,6 +223,7 @@ container_to_json(const struct rte_tel_data *d, char *out_buf, size_t buf_len) - v->name, temp); - if (!cont->keep) - rte_tel_data_free(cont->data); -+ free(temp); - break; - } - } -@@ -275,7 +280,11 @@ output_json(const char *cmd, const struct rte_tel_data *d, int s) +diff --git a/lib/librte_telemetry/telemetry.c b/lib/librte_telemetry/telemetry.c +index ed00c17d9f..3f80d72c3f 100644 +--- a/lib/librte_telemetry/telemetry.c ++++ b/lib/librte_telemetry/telemetry.c +@@ -217,7 +217,11 @@ output_json(const char *cmd, const struct rte_tel_data *d, int s) @@ -63 +43 @@ -@@ -286,6 +295,7 @@ output_json(const char *cmd, const struct rte_tel_data *d, int s) +@@ -228,6 +232,7 @@ output_json(const char *cmd, const struct rte_tel_data *d, int s) @@ -71 +51 @@ -@@ -311,7 +321,11 @@ output_json(const char *cmd, const struct rte_tel_data *d, int s) +@@ -259,7 +264,11 @@ output_json(const char *cmd, const struct rte_tel_data *d, int s) @@ -73,2 +53,2 @@ - d->data.array[i].uval); - else if (d->type == TEL_ARRAY_CONTAINER) { + d->data.array[i].u64val); + else if (d->type == RTE_TEL_ARRAY_CONTAINER) { @@ -84 +64 @@ -@@ -321,6 +335,7 @@ output_json(const char *cmd, const struct rte_tel_data *d, int s) +@@ -269,6 +278,7 @@ output_json(const char *cmd, const struct rte_tel_data *d, int s) @@ -90,2 +70,2 @@ - break; - } + used += prefix_used; + used += strlcat(out_buf + used, "}", sizeof(out_buf) - used); ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'test/malloc: fix missing free' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (6 preceding siblings ...) 2023-06-15 1:32 ` patch 'telemetry: fix autotest on Alpine' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'test/malloc: fix statistics checks' " luca.boccassi ` (53 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Ruifeng Wang; +Cc: Feifei Wang, Anatoly Burakov, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/684876285d0a68b21162968324899744a30d7228 Thanks. Luca Boccassi --- From 684876285d0a68b21162968324899744a30d7228 Mon Sep 17 00:00:00 2001 From: Ruifeng Wang <ruifeng.wang@arm.com> Date: Fri, 19 May 2023 12:29:22 +0800 Subject: [PATCH] test/malloc: fix missing free [ upstream commit ec8ef136b8d9340003118bb25390d7c6989178bf ] Free the allocated buffer before returning. Fixes: a40a1f8231b4 ("app: various tests update") Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Feifei Wang <feifei.wang2@arm.com> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com> --- app/test/test_malloc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/app/test/test_malloc.c b/app/test/test_malloc.c index 6d9249f831..cf1af6285f 100644 --- a/app/test/test_malloc.c +++ b/app/test/test_malloc.c @@ -927,6 +927,7 @@ test_alloc_single_socket(int32_t socket) if (mem == NULL) return -1; if (addr_to_socket(mem) != desired_socket) { + rte_free(mem); return -1; } rte_free(mem); -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:35.220471094 +0100 +++ 0009-test-malloc-fix-missing-free.patch 2023-06-15 01:56:34.503539905 +0100 @@ -1 +1 @@ -From ec8ef136b8d9340003118bb25390d7c6989178bf Mon Sep 17 00:00:00 2001 +From 684876285d0a68b21162968324899744a30d7228 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit ec8ef136b8d9340003118bb25390d7c6989178bf ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index de40e50611..f144b89d88 100644 +index 6d9249f831..cf1af6285f 100644 @@ -22 +23 @@ -@@ -937,6 +937,7 @@ test_alloc_single_socket(int32_t socket) +@@ -927,6 +927,7 @@ test_alloc_single_socket(int32_t socket) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'test/malloc: fix statistics checks' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (7 preceding siblings ...) 2023-06-15 1:32 ` patch 'test/malloc: fix missing free' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'eal: avoid calling cleanup twice' " luca.boccassi ` (52 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Ruifeng Wang; +Cc: Feifei Wang, Anatoly Burakov, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/60a90b6cede193596c5314744d3d9b6c4f73d565 Thanks. Luca Boccassi --- From 60a90b6cede193596c5314744d3d9b6c4f73d565 Mon Sep 17 00:00:00 2001 From: Ruifeng Wang <ruifeng.wang@arm.com> Date: Fri, 19 May 2023 12:29:23 +0800 Subject: [PATCH] test/malloc: fix statistics checks [ upstream commit 19606f83e6c1dffea9bda42a792e1cbbc6d5a043 ] The case expects all stats to be equal. Therefore the negative conditions in check should be logically or'ed. Fixes: a40a1f8231b4 ("app: various tests update") Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Feifei Wang <feifei.wang2@arm.com> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com> --- app/test/test_malloc.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/app/test/test_malloc.c b/app/test/test_malloc.c index cf1af6285f..9008038bfa 100644 --- a/app/test/test_malloc.c +++ b/app/test/test_malloc.c @@ -301,11 +301,11 @@ test_multi_alloc_statistics(void) rte_malloc_get_socket_stats(socket,&post_stats); /* Check statistics reported are correct */ /* All post stats should be equal to pre stats after alloc freed */ - if ((post_stats.heap_totalsz_bytes != pre_stats.heap_totalsz_bytes) && - (post_stats.heap_freesz_bytes!=pre_stats.heap_freesz_bytes) && - (post_stats.heap_allocsz_bytes!=pre_stats.heap_allocsz_bytes)&& - (post_stats.alloc_count!=pre_stats.alloc_count)&& - (post_stats.free_count!=pre_stats.free_count)) { + if ((post_stats.heap_totalsz_bytes != pre_stats.heap_totalsz_bytes) || + (post_stats.heap_freesz_bytes != pre_stats.heap_freesz_bytes) || + (post_stats.heap_allocsz_bytes != pre_stats.heap_allocsz_bytes) || + (post_stats.alloc_count != pre_stats.alloc_count) || + (post_stats.free_count != pre_stats.free_count)) { printf("Malloc statistics are incorrect - freed alloc\n"); return -1; } @@ -362,11 +362,11 @@ test_multi_alloc_statistics(void) return -1; } - if ((post_stats.heap_totalsz_bytes != pre_stats.heap_totalsz_bytes) && - (post_stats.heap_freesz_bytes!=pre_stats.heap_freesz_bytes) && - (post_stats.heap_allocsz_bytes!=pre_stats.heap_allocsz_bytes)&& - (post_stats.alloc_count!=pre_stats.alloc_count)&& - (post_stats.free_count!=pre_stats.free_count)) { + if ((post_stats.heap_totalsz_bytes != pre_stats.heap_totalsz_bytes) || + (post_stats.heap_freesz_bytes != pre_stats.heap_freesz_bytes) || + (post_stats.heap_allocsz_bytes != pre_stats.heap_allocsz_bytes) || + (post_stats.alloc_count != pre_stats.alloc_count) || + (post_stats.free_count != pre_stats.free_count)) { printf("Malloc statistics are incorrect - freed alloc\n"); return -1; } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:35.266858267 +0100 +++ 0010-test-malloc-fix-statistics-checks.patch 2023-06-15 01:56:34.507539992 +0100 @@ -1 +1 @@ -From 19606f83e6c1dffea9bda42a792e1cbbc6d5a043 Mon Sep 17 00:00:00 2001 +From 60a90b6cede193596c5314744d3d9b6c4f73d565 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 19606f83e6c1dffea9bda42a792e1cbbc6d5a043 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index f144b89d88..ff081dd931 100644 +index cf1af6285f..9008038bfa 100644 @@ -23 +24 @@ -@@ -302,11 +302,11 @@ test_multi_alloc_statistics(void) +@@ -301,11 +301,11 @@ test_multi_alloc_statistics(void) @@ -40 +41 @@ -@@ -363,11 +363,11 @@ test_multi_alloc_statistics(void) +@@ -362,11 +362,11 @@ test_multi_alloc_statistics(void) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'eal: avoid calling cleanup twice' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (8 preceding siblings ...) 2023-06-15 1:32 ` patch 'test/malloc: fix statistics checks' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'pci: fix comment referencing renamed function' " luca.boccassi ` (51 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Bruce Richardson; +Cc: dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/91127d04df1641e517396d07c76e3c4208bcd967 Thanks. Luca Boccassi --- From 91127d04df1641e517396d07c76e3c4208bcd967 Mon Sep 17 00:00:00 2001 From: Bruce Richardson <bruce.richardson@intel.com> Date: Thu, 1 Jun 2023 17:08:55 +0100 Subject: [PATCH] eal: avoid calling cleanup twice [ upstream commit a4a2ac988679b3802a574e7bb72154da177449a4 ] If an app calls rte_eal_cleanup() inside it's own code, then cleanup could be called a second time automatically when the app exits. While mostly harmless, we can avoid any potential issues by guaranteeing that cleanup only gets called once, in the same way that eal_init only ever gets called once. Note: This patch only touches Linux and FreeBSD. Windows EAL does not have run-once guard on the init function, so omitting it in the cleanup function. Fixes: aec9c13c5257 ("eal: add function to release internal resources") Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> --- lib/librte_eal/common/eal_common_debug.c | 5 ++++- lib/librte_eal/freebsd/eal.c | 10 ++++++++++ lib/librte_eal/linux/eal.c | 10 ++++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/lib/librte_eal/common/eal_common_debug.c b/lib/librte_eal/common/eal_common_debug.c index 15418e957f..37c7c308b9 100644 --- a/lib/librte_eal/common/eal_common_debug.c +++ b/lib/librte_eal/common/eal_common_debug.c @@ -3,9 +3,12 @@ */ #include <stdarg.h> +#include <errno.h> + #include <rte_eal.h> #include <rte_log.h> #include <rte_debug.h> +#include <rte_errno.h> void __rte_panic(const char *funcname, const char *format, ...) @@ -37,7 +40,7 @@ rte_exit(int exit_code, const char *format, ...) rte_vlog(RTE_LOG_CRIT, RTE_LOGTYPE_EAL, format, ap); va_end(ap); - if (rte_eal_cleanup() != 0) + if (rte_eal_cleanup() != 0 && rte_errno != EALREADY) RTE_LOG(CRIT, EAL, "EAL could not release all resources\n"); exit(exit_code); diff --git a/lib/librte_eal/freebsd/eal.c b/lib/librte_eal/freebsd/eal.c index 6f9f12911e..cda713ded8 100644 --- a/lib/librte_eal/freebsd/eal.c +++ b/lib/librte_eal/freebsd/eal.c @@ -981,6 +981,16 @@ rte_eal_init(int argc, char **argv) int rte_eal_cleanup(void) { + static uint32_t run_once; + uint32_t has_run = 0; + + if (!__atomic_compare_exchange_n(&run_once, &has_run, 1, 0, + __ATOMIC_RELAXED, __ATOMIC_RELAXED)) { + RTE_LOG(WARNING, EAL, "Already called cleanup\n"); + rte_errno = EALREADY; + return -1; + } + struct internal_config *internal_conf = eal_get_internal_configuration(); rte_service_finalize(); diff --git a/lib/librte_eal/linux/eal.c b/lib/librte_eal/linux/eal.c index 5814f9ce69..04942854a3 100644 --- a/lib/librte_eal/linux/eal.c +++ b/lib/librte_eal/linux/eal.c @@ -1352,6 +1352,16 @@ mark_freeable(const struct rte_memseg_list *msl, const struct rte_memseg *ms, int rte_eal_cleanup(void) { + static uint32_t run_once; + uint32_t has_run = 0; + + if (!__atomic_compare_exchange_n(&run_once, &has_run, 1, 0, + __ATOMIC_RELAXED, __ATOMIC_RELAXED)) { + RTE_LOG(WARNING, EAL, "Already called cleanup\n"); + rte_errno = EALREADY; + return -1; + } + /* if we're in a primary process, we need to mark hugepages as freeable * so that finalization can release them back to the system. */ -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:35.323684306 +0100 +++ 0011-eal-avoid-calling-cleanup-twice.patch 2023-06-15 01:56:34.515540167 +0100 @@ -1 +1 @@ -From a4a2ac988679b3802a574e7bb72154da177449a4 Mon Sep 17 00:00:00 2001 +From 91127d04df1641e517396d07c76e3c4208bcd967 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit a4a2ac988679b3802a574e7bb72154da177449a4 ] + @@ -17 +18,0 @@ -Cc: stable@dpdk.org @@ -21,10 +22,11 @@ - lib/eal/common/eal_common_debug.c | 4 +++- - lib/eal/freebsd/eal.c | 10 ++++++++++ - lib/eal/linux/eal.c | 10 ++++++++++ - 3 files changed, 23 insertions(+), 1 deletion(-) - -diff --git a/lib/eal/common/eal_common_debug.c b/lib/eal/common/eal_common_debug.c -index dcb554af1e..9cac9c6390 100644 ---- a/lib/eal/common/eal_common_debug.c -+++ b/lib/eal/common/eal_common_debug.c -@@ -4,10 +4,12 @@ + lib/librte_eal/common/eal_common_debug.c | 5 ++++- + lib/librte_eal/freebsd/eal.c | 10 ++++++++++ + lib/librte_eal/linux/eal.c | 10 ++++++++++ + 3 files changed, 24 insertions(+), 1 deletion(-) + +diff --git a/lib/librte_eal/common/eal_common_debug.c b/lib/librte_eal/common/eal_common_debug.c +index 15418e957f..37c7c308b9 100644 +--- a/lib/librte_eal/common/eal_common_debug.c ++++ b/lib/librte_eal/common/eal_common_debug.c +@@ -3,9 +3,12 @@ + */ @@ -33 +34,0 @@ - #include <stdlib.h> @@ -35 +36 @@ - ++ @@ -43 +44 @@ -@@ -39,7 +41,7 @@ rte_exit(int exit_code, const char *format, ...) +@@ -37,7 +40,7 @@ rte_exit(int exit_code, const char *format, ...) @@ -52,5 +53,5 @@ -diff --git a/lib/eal/freebsd/eal.c b/lib/eal/freebsd/eal.c -index 7daf22e314..78ffb45c59 100644 ---- a/lib/eal/freebsd/eal.c -+++ b/lib/eal/freebsd/eal.c -@@ -902,6 +902,16 @@ rte_eal_init(int argc, char **argv) +diff --git a/lib/librte_eal/freebsd/eal.c b/lib/librte_eal/freebsd/eal.c +index 6f9f12911e..cda713ded8 100644 +--- a/lib/librte_eal/freebsd/eal.c ++++ b/lib/librte_eal/freebsd/eal.c +@@ -981,6 +981,16 @@ rte_eal_init(int argc, char **argv) @@ -73,5 +74,5 @@ -diff --git a/lib/eal/linux/eal.c b/lib/eal/linux/eal.c -index ae323cd492..90e05fe4de 100644 ---- a/lib/eal/linux/eal.c -+++ b/lib/eal/linux/eal.c -@@ -1365,6 +1365,16 @@ mark_freeable(const struct rte_memseg_list *msl, const struct rte_memseg *ms, +diff --git a/lib/librte_eal/linux/eal.c b/lib/librte_eal/linux/eal.c +index 5814f9ce69..04942854a3 100644 +--- a/lib/librte_eal/linux/eal.c ++++ b/lib/librte_eal/linux/eal.c +@@ -1352,6 +1352,16 @@ mark_freeable(const struct rte_memseg_list *msl, const struct rte_memseg *ms, ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'pci: fix comment referencing renamed function' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (9 preceding siblings ...) 2023-06-15 1:32 ` patch 'eal: avoid calling cleanup twice' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'eal/x86: improve multiple of 64 bytes memcpy performance' " luca.boccassi ` (50 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Thomas Monjalon; +Cc: Chenbo Xia, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/206434a99e5ef2e830acfe7ea997cb96063b9f5e Thanks. Luca Boccassi --- From 206434a99e5ef2e830acfe7ea997cb96063b9f5e Mon Sep 17 00:00:00 2001 From: Thomas Monjalon <thomas@monjalon.net> Date: Tue, 30 May 2023 18:02:15 +0200 Subject: [PATCH] pci: fix comment referencing renamed function [ upstream commit 61f551995030e2d114ccbcaa8a63c8cc052d21b5 ] When renaming functions eal_parse_pci_*, a referencing comment was missed in the function rte_pci_device_name(). Fixes: ca52fccbb3b9 ("pci: remove deprecated functions") Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> --- lib/librte_pci/rte_pci.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/librte_pci/rte_pci.h b/lib/librte_pci/rte_pci.h index f89c7dbbea..cbf578de53 100644 --- a/lib/librte_pci/rte_pci.h +++ b/lib/librte_pci/rte_pci.h @@ -100,8 +100,7 @@ struct rte_pci_addr { /** * Utility function to write a pci device name, this device name can later be - * used to retrieve the corresponding rte_pci_addr using eal_parse_pci_* - * BDF helpers. + * used to retrieve the corresponding rte_pci_addr using rte_pci_addr_parse(). * * @param addr * The PCI Bus-Device-Function address -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:35.376784251 +0100 +++ 0012-pci-fix-comment-referencing-renamed-function.patch 2023-06-15 01:56:34.519540255 +0100 @@ -1 +1 @@ -From 61f551995030e2d114ccbcaa8a63c8cc052d21b5 Mon Sep 17 00:00:00 2001 +From 206434a99e5ef2e830acfe7ea997cb96063b9f5e Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 61f551995030e2d114ccbcaa8a63c8cc052d21b5 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -15 +16 @@ - lib/pci/rte_pci.h | 3 +-- + lib/librte_pci/rte_pci.h | 3 +-- @@ -18,5 +19,5 @@ -diff --git a/lib/pci/rte_pci.h b/lib/pci/rte_pci.h -index 5088157e74..aab761b918 100644 ---- a/lib/pci/rte_pci.h -+++ b/lib/pci/rte_pci.h -@@ -104,8 +104,7 @@ struct rte_pci_addr { +diff --git a/lib/librte_pci/rte_pci.h b/lib/librte_pci/rte_pci.h +index f89c7dbbea..cbf578de53 100644 +--- a/lib/librte_pci/rte_pci.h ++++ b/lib/librte_pci/rte_pci.h +@@ -100,8 +100,7 @@ struct rte_pci_addr { ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'eal/x86: improve multiple of 64 bytes memcpy performance' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (10 preceding siblings ...) 2023-06-15 1:32 ` patch 'pci: fix comment referencing renamed function' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'eventdev/timer: fix timeout event wait behavior' " luca.boccassi ` (49 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Leyi Rong Cc: Morten Brørup, Bruce Richardson, David Marchand, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/4154fc959d05dfc4462d9c074432d8ba12525796 Thanks. Luca Boccassi --- From 4154fc959d05dfc4462d9c074432d8ba12525796 Mon Sep 17 00:00:00 2001 From: Leyi Rong <leyi.rong@intel.com> Date: Wed, 29 Mar 2023 17:16:58 +0800 Subject: [PATCH] eal/x86: improve multiple of 64 bytes memcpy performance MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit 2ef17be88e8b26f871cfb0265227341e36f486ea ] In rte_memcpy_aligned(), one redundant round is taken in the 64 bytes block copy loops if the size is a multiple of 64. So, let the catch-up copy the last 64 bytes in this case. Fixes: f5472703c0bd ("eal: optimize aligned memcpy on x86") Suggested-by: Morten Brørup <mb@smartsharesystems.com> Signed-off-by: Leyi Rong <leyi.rong@intel.com> Reviewed-by: Morten Brørup <mb@smartsharesystems.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: David Marchand <david.marchand@redhat.com> --- lib/librte_eal/x86/include/rte_memcpy.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_eal/x86/include/rte_memcpy.h b/lib/librte_eal/x86/include/rte_memcpy.h index d4d7a5cfc8..fd151be708 100644 --- a/lib/librte_eal/x86/include/rte_memcpy.h +++ b/lib/librte_eal/x86/include/rte_memcpy.h @@ -846,7 +846,7 @@ rte_memcpy_aligned(void *dst, const void *src, size_t n) } /* Copy 64 bytes blocks */ - for (; n >= 64; n -= 64) { + for (; n > 64; n -= 64) { rte_mov64((uint8_t *)dst, (const uint8_t *)src); dst = (uint8_t *)dst + 64; src = (const uint8_t *)src + 64; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:35.431586894 +0100 +++ 0013-eal-x86-improve-multiple-of-64-bytes-memcpy-performa.patch 2023-06-15 01:56:34.519540255 +0100 @@ -1 +1 @@ -From 2ef17be88e8b26f871cfb0265227341e36f486ea Mon Sep 17 00:00:00 2001 +From 4154fc959d05dfc4462d9c074432d8ba12525796 Mon Sep 17 00:00:00 2001 @@ -8,0 +9,2 @@ +[ upstream commit 2ef17be88e8b26f871cfb0265227341e36f486ea ] + @@ -21 +23 @@ - lib/eal/x86/include/rte_memcpy.h | 2 +- + lib/librte_eal/x86/include/rte_memcpy.h | 2 +- @@ -24 +26 @@ -diff --git a/lib/eal/x86/include/rte_memcpy.h b/lib/eal/x86/include/rte_memcpy.h +diff --git a/lib/librte_eal/x86/include/rte_memcpy.h b/lib/librte_eal/x86/include/rte_memcpy.h @@ -26,2 +28,2 @@ ---- a/lib/eal/x86/include/rte_memcpy.h -+++ b/lib/eal/x86/include/rte_memcpy.h +--- a/lib/librte_eal/x86/include/rte_memcpy.h ++++ b/lib/librte_eal/x86/include/rte_memcpy.h ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'eventdev/timer: fix timeout event wait behavior' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (11 preceding siblings ...) 2023-06-15 1:32 ` patch 'eal/x86: improve multiple of 64 bytes memcpy performance' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'doc: fix event timer adapter guide' " luca.boccassi ` (48 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Shijith Thotton; +Cc: Erik Gabriel Carrillo, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/e6a734e6270ef1290b26b9ed44d45b9b4788d2c7 Thanks. Luca Boccassi --- From e6a734e6270ef1290b26b9ed44d45b9b4788d2c7 Mon Sep 17 00:00:00 2001 From: Shijith Thotton <sthotton@marvell.com> Date: Tue, 21 Mar 2023 10:50:23 +0530 Subject: [PATCH] eventdev/timer: fix timeout event wait behavior [ upstream commit fb9c213317b5e07918c9306f2036f8cc07126a85 ] Improved the accuracy and consistency of timeout event wait behavior by refactoring it. Previously, the delay function used for waiting could be inaccurate, leading to inconsistent results. This commit updates the wait behavior to use a timeout-based approach, enabling the wait for the exact number of timer ticks before proceeding. The new function timeout_event_dequeue mimics the behavior of the tested systems closely. It dequeues timer expiry events until either the expected number of events have been dequeued or the specified time has elapsed. The WAIT_TICKS macro defines the waiting behavior based on the type of timer being used (software or hardware). Fixes: d1f3385d0076 ("test: add event timer adapter auto-test") Signed-off-by: Shijith Thotton <sthotton@marvell.com> Acked-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com> --- app/test/test_event_timer_adapter.c | 165 +++++++++++----------------- 1 file changed, 67 insertions(+), 98 deletions(-) diff --git a/app/test/test_event_timer_adapter.c b/app/test/test_event_timer_adapter.c index 622c62f914..8ea0d84145 100644 --- a/app/test/test_event_timer_adapter.c +++ b/app/test/test_event_timer_adapter.c @@ -47,9 +47,10 @@ static uint64_t global_bkt_tck_ns; static uint64_t global_info_bkt_tck_ns; static volatile uint8_t arm_done; -#define CALC_TICKS(tks) \ - ceil((double)(tks * global_bkt_tck_ns) / global_info_bkt_tck_ns) +#define CALC_TICKS(tks) ceil((double)((tks) * global_bkt_tck_ns) / global_info_bkt_tck_ns) +/* Wait double timeout ticks for software and an extra tick for hardware */ +#define WAIT_TICKS(tks) (using_services ? 2 * (tks) : tks + 1) static bool using_services; static uint32_t test_lcore1; @@ -385,10 +386,31 @@ timdev_teardown(void) rte_mempool_free(eventdev_test_mempool); } +static inline uint16_t +timeout_event_dequeue(struct rte_event *evs, uint64_t nb_evs, uint64_t ticks) +{ + uint16_t ev_cnt = 0; + uint64_t end_cycle; + + if (using_services && nb_evs == MAX_TIMERS) + ticks = 2 * ticks; + + end_cycle = rte_rdtsc() + ticks * global_bkt_tck_ns * rte_get_tsc_hz() / 1E9; + + while (ev_cnt < nb_evs && rte_rdtsc() < end_cycle) { + ev_cnt += rte_event_dequeue_burst(evdev, TEST_PORT_ID, &evs[ev_cnt], nb_evs, 0); + rte_pause(); + } + + return ev_cnt; +} + static inline int test_timer_state(void) { struct rte_event_timer *ev_tim; + const uint64_t max_ticks = 100; + uint64_t ticks, wait_ticks; struct rte_event ev; const struct rte_event_timer tim = { .ev.op = RTE_EVENT_OP_NEW, @@ -399,11 +421,10 @@ test_timer_state(void) .state = RTE_EVENT_TIMER_NOT_ARMED, }; - rte_mempool_get(eventdev_test_mempool, (void **)&ev_tim); *ev_tim = tim; ev_tim->ev.event_ptr = ev_tim; - ev_tim->timeout_ticks = CALC_TICKS(120); + ev_tim->timeout_ticks = CALC_TICKS(max_ticks + 20); TEST_ASSERT_EQUAL(rte_event_timer_arm_burst(timdev, &ev_tim, 1), 0, "Armed timer exceeding max_timeout."); @@ -411,8 +432,9 @@ test_timer_state(void) "Improper timer state set expected %d returned %d", RTE_EVENT_TIMER_ERROR_TOOLATE, ev_tim->state); + ticks = 10; ev_tim->state = RTE_EVENT_TIMER_NOT_ARMED; - ev_tim->timeout_ticks = CALC_TICKS(10); + ev_tim->timeout_ticks = CALC_TICKS(ticks); TEST_ASSERT_EQUAL(rte_event_timer_arm_burst(timdev, &ev_tim, 1), 1, "Failed to arm timer with proper timeout."); @@ -421,14 +443,15 @@ test_timer_state(void) RTE_EVENT_TIMER_ARMED, ev_tim->state); if (!using_services) - rte_delay_us(20); + wait_ticks = 2 * ticks; else - rte_delay_us(1000 + 200); - TEST_ASSERT_EQUAL(rte_event_dequeue_burst(evdev, 0, &ev, 1, 0), 1, - "Armed timer failed to trigger."); + wait_ticks = ticks; + + TEST_ASSERT_EQUAL(timeout_event_dequeue(&ev, 1, WAIT_TICKS(wait_ticks)), 1, + "Armed timer failed to trigger."); ev_tim->state = RTE_EVENT_TIMER_NOT_ARMED; - ev_tim->timeout_ticks = CALC_TICKS(90); + ev_tim->timeout_ticks = CALC_TICKS(max_ticks - 10); TEST_ASSERT_EQUAL(rte_event_timer_arm_burst(timdev, &ev_tim, 1), 1, "Failed to arm timer with proper timeout."); TEST_ASSERT_EQUAL(rte_event_timer_cancel_burst(timdev, &ev_tim, 1), @@ -1061,8 +1084,9 @@ stat_inc_reset_ev_enq(void) int ret, i, n; int num_evtims = MAX_TIMERS; struct rte_event_timer *evtims[num_evtims]; - struct rte_event evs[BATCH_SIZE]; + struct rte_event evs[num_evtims]; struct rte_event_timer_adapter_stats stats; + uint64_t ticks = 5; const struct rte_event_timer init_tim = { .ev.op = RTE_EVENT_OP_NEW, .ev.queue_id = TEST_QUEUE_ID, @@ -1070,7 +1094,7 @@ stat_inc_reset_ev_enq(void) .ev.priority = RTE_EVENT_DEV_PRIORITY_NORMAL, .ev.event_type = RTE_EVENT_TYPE_TIMER, .state = RTE_EVENT_TIMER_NOT_ARMED, - .timeout_ticks = CALC_TICKS(5), // expire in .5 sec + .timeout_ticks = CALC_TICKS(ticks), /**< expire in .5 sec */ }; ret = rte_mempool_get_bulk(eventdev_test_mempool, (void **)evtims, @@ -1095,31 +1119,12 @@ stat_inc_reset_ev_enq(void) "succeeded = %d, rte_errno = %s", num_evtims, ret, rte_strerror(rte_errno)); - rte_delay_ms(1000); - -#define MAX_TRIES num_evtims - int sum = 0; - int tries = 0; - bool done = false; - while (!done) { - sum += rte_event_dequeue_burst(evdev, TEST_PORT_ID, evs, - RTE_DIM(evs), 10); - if (sum >= num_evtims || ++tries >= MAX_TRIES) - done = true; - - rte_delay_ms(10); - } - - TEST_ASSERT_EQUAL(sum, num_evtims, "Expected %d timer expiry events, " - "got %d", num_evtims, sum); - - TEST_ASSERT(tries < MAX_TRIES, "Exceeded max tries"); - - rte_delay_ms(100); + n = timeout_event_dequeue(evs, RTE_DIM(evs), WAIT_TICKS(ticks)); + TEST_ASSERT_EQUAL(n, num_evtims, "Expected %d timer expiry events, got %d", + num_evtims, n); /* Make sure the eventdev is still empty */ - n = rte_event_dequeue_burst(evdev, TEST_PORT_ID, evs, RTE_DIM(evs), - 10); + n = timeout_event_dequeue(evs, 1, WAIT_TICKS(1)); TEST_ASSERT_EQUAL(n, 0, "Dequeued unexpected number of timer expiry " "events from event device"); @@ -1156,6 +1161,7 @@ event_timer_arm(void) struct rte_event_timer_adapter *adapter = timdev; struct rte_event_timer *evtim = NULL; struct rte_event evs[BATCH_SIZE]; + uint64_t ticks = 5; const struct rte_event_timer init_tim = { .ev.op = RTE_EVENT_OP_NEW, .ev.queue_id = TEST_QUEUE_ID, @@ -1163,7 +1169,7 @@ event_timer_arm(void) .ev.priority = RTE_EVENT_DEV_PRIORITY_NORMAL, .ev.event_type = RTE_EVENT_TYPE_TIMER, .state = RTE_EVENT_TIMER_NOT_ARMED, - .timeout_ticks = CALC_TICKS(5), // expire in .5 sec + .timeout_ticks = CALC_TICKS(ticks), /**< expire in .5 sec */ }; rte_mempool_get(eventdev_test_mempool, (void **)&evtim); @@ -1190,10 +1196,7 @@ event_timer_arm(void) TEST_ASSERT_EQUAL(rte_errno, EALREADY, "Unexpected rte_errno value " "after arming already armed timer"); - /* Let timer expire */ - rte_delay_ms(1000); - - n = rte_event_dequeue_burst(evdev, TEST_PORT_ID, evs, RTE_DIM(evs), 0); + n = timeout_event_dequeue(evs, RTE_DIM(evs), WAIT_TICKS(ticks)); TEST_ASSERT_EQUAL(n, 1, "Failed to dequeue expected number of expiry " "events from event device"); @@ -1213,6 +1216,7 @@ event_timer_arm_double(void) struct rte_event_timer_adapter *adapter = timdev; struct rte_event_timer *evtim = NULL; struct rte_event evs[BATCH_SIZE]; + uint64_t ticks = 5; const struct rte_event_timer init_tim = { .ev.op = RTE_EVENT_OP_NEW, .ev.queue_id = TEST_QUEUE_ID, @@ -1220,7 +1224,7 @@ event_timer_arm_double(void) .ev.priority = RTE_EVENT_DEV_PRIORITY_NORMAL, .ev.event_type = RTE_EVENT_TYPE_TIMER, .state = RTE_EVENT_TIMER_NOT_ARMED, - .timeout_ticks = CALC_TICKS(5), // expire in .5 sec + .timeout_ticks = CALC_TICKS(ticks), /**< expire in .5 sec */ }; rte_mempool_get(eventdev_test_mempool, (void **)&evtim); @@ -1240,10 +1244,7 @@ event_timer_arm_double(void) TEST_ASSERT_EQUAL(rte_errno, EALREADY, "Unexpected rte_errno value " "after double-arm"); - /* Let timer expire */ - rte_delay_ms(600); - - n = rte_event_dequeue_burst(evdev, TEST_PORT_ID, evs, RTE_DIM(evs), 0); + n = timeout_event_dequeue(evs, RTE_DIM(evs), WAIT_TICKS(ticks)); TEST_ASSERT_EQUAL(n, 1, "Dequeued incorrect number of expiry events - " "expected: 1, actual: %d", n); @@ -1270,6 +1271,7 @@ event_timer_arm_expiry(void) .ev.event_type = RTE_EVENT_TYPE_TIMER, .state = RTE_EVENT_TIMER_NOT_ARMED, }; + uint64_t ticks = 30; rte_mempool_get(eventdev_test_mempool, (void **)&evtim); if (evtim == NULL) { @@ -1279,7 +1281,7 @@ event_timer_arm_expiry(void) /* Set up an event timer */ *evtim = init_tim; - evtim->timeout_ticks = CALC_TICKS(30), // expire in 3 secs + evtim->timeout_ticks = CALC_TICKS(ticks); /**< expire in 3 secs */ evtim->ev.event_ptr = evtim; ret = rte_event_timer_arm_burst(adapter, &evtim, 1); @@ -1288,17 +1290,10 @@ event_timer_arm_expiry(void) TEST_ASSERT_EQUAL(evtim->state, RTE_EVENT_TIMER_ARMED, "Event " "timer in incorrect state"); - rte_delay_ms(2999); - - n = rte_event_dequeue_burst(evdev, TEST_PORT_ID, evs, RTE_DIM(evs), 0); + n = timeout_event_dequeue(evs, RTE_DIM(evs), ticks - 1); TEST_ASSERT_EQUAL(n, 0, "Dequeued unexpected timer expiry event"); - /* Delay 100 ms to account for the adapter tick window - should let us - * dequeue one event - */ - rte_delay_ms(100); - - n = rte_event_dequeue_burst(evdev, TEST_PORT_ID, evs, RTE_DIM(evs), 0); + n = timeout_event_dequeue(evs, RTE_DIM(evs), WAIT_TICKS(1)); TEST_ASSERT_EQUAL(n, 1, "Dequeued incorrect number (%d) of timer " "expiry events", n); TEST_ASSERT_EQUAL(evs[0].event_type, RTE_EVENT_TYPE_TIMER, @@ -1330,6 +1325,7 @@ event_timer_arm_rearm(void) .ev.event_type = RTE_EVENT_TYPE_TIMER, .state = RTE_EVENT_TIMER_NOT_ARMED, }; + uint64_t ticks = 1; rte_mempool_get(eventdev_test_mempool, (void **)&evtim); if (evtim == NULL) { @@ -1339,7 +1335,7 @@ event_timer_arm_rearm(void) /* Set up a timer */ *evtim = init_tim; - evtim->timeout_ticks = CALC_TICKS(1); // expire in 0.1 sec + evtim->timeout_ticks = CALC_TICKS(ticks); /**< expire in 0.1 sec */ evtim->ev.event_ptr = evtim; /* Arm it */ @@ -1347,10 +1343,7 @@ event_timer_arm_rearm(void) TEST_ASSERT_EQUAL(ret, 1, "Failed to arm event timer: %s\n", rte_strerror(rte_errno)); - /* Add 100ms to account for the adapter tick window */ - rte_delay_ms(100 + 100); - - n = rte_event_dequeue_burst(evdev, TEST_PORT_ID, evs, RTE_DIM(evs), 0); + n = timeout_event_dequeue(evs, RTE_DIM(evs), WAIT_TICKS(ticks)); TEST_ASSERT_EQUAL(n, 1, "Failed to dequeue expected number of expiry " "events from event device"); @@ -1367,10 +1360,7 @@ event_timer_arm_rearm(void) TEST_ASSERT_EQUAL(ret, 1, "Failed to arm event timer: %s\n", rte_strerror(rte_errno)); - /* Add 100ms to account for the adapter tick window */ - rte_delay_ms(100 + 100); - - n = rte_event_dequeue_burst(evdev, TEST_PORT_ID, evs, RTE_DIM(evs), 0); + n = timeout_event_dequeue(evs, RTE_DIM(evs), WAIT_TICKS(ticks)); TEST_ASSERT_EQUAL(n, 1, "Failed to dequeue expected number of expiry " "events from event device"); @@ -1392,7 +1382,8 @@ event_timer_arm_max(void) int ret, i, n; int num_evtims = MAX_TIMERS; struct rte_event_timer *evtims[num_evtims]; - struct rte_event evs[BATCH_SIZE]; + struct rte_event evs[num_evtims]; + uint64_t ticks = 5; const struct rte_event_timer init_tim = { .ev.op = RTE_EVENT_OP_NEW, .ev.queue_id = TEST_QUEUE_ID, @@ -1400,7 +1391,7 @@ event_timer_arm_max(void) .ev.priority = RTE_EVENT_DEV_PRIORITY_NORMAL, .ev.event_type = RTE_EVENT_TYPE_TIMER, .state = RTE_EVENT_TIMER_NOT_ARMED, - .timeout_ticks = CALC_TICKS(5), // expire in .5 sec + .timeout_ticks = CALC_TICKS(ticks), /**< expire in .5 sec */ }; ret = rte_mempool_get_bulk(eventdev_test_mempool, (void **)evtims, @@ -1420,31 +1411,12 @@ event_timer_arm_max(void) "succeeded = %d, rte_errno = %s", num_evtims, ret, rte_strerror(rte_errno)); - rte_delay_ms(1000); - -#define MAX_TRIES num_evtims - int sum = 0; - int tries = 0; - bool done = false; - while (!done) { - sum += rte_event_dequeue_burst(evdev, TEST_PORT_ID, evs, - RTE_DIM(evs), 10); - if (sum >= num_evtims || ++tries >= MAX_TRIES) - done = true; - - rte_delay_ms(10); - } - - TEST_ASSERT_EQUAL(sum, num_evtims, "Expected %d timer expiry events, " - "got %d", num_evtims, sum); - - TEST_ASSERT(tries < MAX_TRIES, "Exceeded max tries"); - - rte_delay_ms(100); + n = timeout_event_dequeue(evs, RTE_DIM(evs), WAIT_TICKS(ticks)); + TEST_ASSERT_EQUAL(n, num_evtims, "Expected %d timer expiry events, got %d", + num_evtims, n); /* Make sure the eventdev is still empty */ - n = rte_event_dequeue_burst(evdev, TEST_PORT_ID, evs, RTE_DIM(evs), - 10); + n = timeout_event_dequeue(evs, 1, WAIT_TICKS(1)); TEST_ASSERT_EQUAL(n, 0, "Dequeued unexpected number of timer expiry " "events from event device"); @@ -1564,6 +1536,7 @@ event_timer_cancel(void) .ev.event_type = RTE_EVENT_TYPE_TIMER, .state = RTE_EVENT_TIMER_NOT_ARMED, }; + uint64_t ticks = 30; rte_mempool_get(eventdev_test_mempool, (void **)&evtim); if (evtim == NULL) { @@ -1581,7 +1554,7 @@ event_timer_cancel(void) /* Set up a timer */ *evtim = init_tim; evtim->ev.event_ptr = evtim; - evtim->timeout_ticks = CALC_TICKS(30); // expire in 3 sec + evtim->timeout_ticks = CALC_TICKS(ticks); /**< expire in 3 sec */ /* Check that cancelling an inited but unarmed timer fails */ ret = rte_event_timer_cancel_burst(adapter, &evtim, 1); @@ -1605,10 +1578,8 @@ event_timer_cancel(void) TEST_ASSERT_EQUAL(evtim->state, RTE_EVENT_TIMER_CANCELED, "evtim in incorrect state"); - rte_delay_ms(3000); - /* Make sure that no expiry event was generated */ - n = rte_event_dequeue_burst(evdev, TEST_PORT_ID, evs, RTE_DIM(evs), 0); + n = timeout_event_dequeue(evs, RTE_DIM(evs), WAIT_TICKS(ticks)); TEST_ASSERT_EQUAL(n, 0, "Dequeued unexpected timer expiry event\n"); rte_mempool_put(eventdev_test_mempool, evtim); @@ -1631,8 +1602,8 @@ event_timer_cancel_double(void) .ev.priority = RTE_EVENT_DEV_PRIORITY_NORMAL, .ev.event_type = RTE_EVENT_TYPE_TIMER, .state = RTE_EVENT_TIMER_NOT_ARMED, - .timeout_ticks = CALC_TICKS(5), // expire in .5 sec }; + uint64_t ticks = 30; rte_mempool_get(eventdev_test_mempool, (void **)&evtim); if (evtim == NULL) { @@ -1643,7 +1614,7 @@ event_timer_cancel_double(void) /* Set up a timer */ *evtim = init_tim; evtim->ev.event_ptr = evtim; - evtim->timeout_ticks = CALC_TICKS(30); // expire in 3 sec + evtim->timeout_ticks = CALC_TICKS(ticks); /**< expire in 3 sec */ ret = rte_event_timer_arm_burst(adapter, &evtim, 1); TEST_ASSERT_EQUAL(ret, 1, "Failed to arm event timer: %s\n", @@ -1665,10 +1636,8 @@ event_timer_cancel_double(void) TEST_ASSERT_EQUAL(rte_errno, EALREADY, "Unexpected rte_errno value " "after double-cancel: rte_errno = %d", rte_errno); - rte_delay_ms(3000); - /* Still make sure that no expiry event was generated */ - n = rte_event_dequeue_burst(evdev, TEST_PORT_ID, evs, RTE_DIM(evs), 0); + n = timeout_event_dequeue(evs, RTE_DIM(evs), WAIT_TICKS(ticks)); TEST_ASSERT_EQUAL(n, 0, "Dequeued unexpected timer expiry event\n"); rte_mempool_put(eventdev_test_mempool, evtim); -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:35.491691152 +0100 +++ 0014-eventdev-timer-fix-timeout-event-wait-behavior.patch 2023-06-15 01:56:34.523540341 +0100 @@ -1 +1 @@ -From fb9c213317b5e07918c9306f2036f8cc07126a85 Mon Sep 17 00:00:00 2001 +From e6a734e6270ef1290b26b9ed44d45b9b4788d2c7 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit fb9c213317b5e07918c9306f2036f8cc07126a85 ] + @@ -19 +20,0 @@ -Cc: stable@dpdk.org @@ -24,2 +25,2 @@ - app/test/test_event_timer_adapter.c | 169 +++++++++++----------------- - 1 file changed, 68 insertions(+), 101 deletions(-) + app/test/test_event_timer_adapter.c | 165 +++++++++++----------------- + 1 file changed, 67 insertions(+), 98 deletions(-) @@ -28 +29 @@ -index 5e7feec1c7..510bebcf86 100644 +index 622c62f914..8ea0d84145 100644 @@ -31 +32 @@ -@@ -57,9 +57,10 @@ static uint64_t global_bkt_tck_ns; +@@ -47,9 +47,10 @@ static uint64_t global_bkt_tck_ns; @@ -44 +45 @@ -@@ -441,10 +442,31 @@ timdev_teardown(void) +@@ -385,10 +386,31 @@ timdev_teardown(void) @@ -76 +77 @@ -@@ -455,11 +477,10 @@ test_timer_state(void) +@@ -399,11 +421,10 @@ test_timer_state(void) @@ -89 +90 @@ -@@ -467,8 +488,9 @@ test_timer_state(void) +@@ -411,8 +432,9 @@ test_timer_state(void) @@ -100 +101 @@ -@@ -477,14 +499,15 @@ test_timer_state(void) +@@ -421,14 +443,15 @@ test_timer_state(void) @@ -121 +122 @@ -@@ -1208,8 +1231,9 @@ stat_inc_reset_ev_enq(void) +@@ -1061,8 +1084,9 @@ stat_inc_reset_ev_enq(void) @@ -132 +133 @@ -@@ -1217,7 +1241,7 @@ stat_inc_reset_ev_enq(void) +@@ -1070,7 +1094,7 @@ stat_inc_reset_ev_enq(void) @@ -141 +142 @@ -@@ -1242,31 +1266,12 @@ stat_inc_reset_ev_enq(void) +@@ -1095,31 +1119,12 @@ stat_inc_reset_ev_enq(void) @@ -177 +178 @@ -@@ -1303,6 +1308,7 @@ event_timer_arm(void) +@@ -1156,6 +1161,7 @@ event_timer_arm(void) @@ -185 +186 @@ -@@ -1310,7 +1316,7 @@ event_timer_arm(void) +@@ -1163,7 +1169,7 @@ event_timer_arm(void) @@ -194 +195 @@ -@@ -1337,10 +1343,7 @@ event_timer_arm(void) +@@ -1190,10 +1196,7 @@ event_timer_arm(void) @@ -206 +207 @@ -@@ -1360,6 +1363,7 @@ event_timer_arm_double(void) +@@ -1213,6 +1216,7 @@ event_timer_arm_double(void) @@ -214 +215 @@ -@@ -1367,7 +1371,7 @@ event_timer_arm_double(void) +@@ -1220,7 +1224,7 @@ event_timer_arm_double(void) @@ -223 +224 @@ -@@ -1387,10 +1391,7 @@ event_timer_arm_double(void) +@@ -1240,10 +1244,7 @@ event_timer_arm_double(void) @@ -235 +236 @@ -@@ -1417,6 +1418,7 @@ event_timer_arm_expiry(void) +@@ -1270,6 +1271,7 @@ event_timer_arm_expiry(void) @@ -243 +244 @@ -@@ -1426,7 +1428,7 @@ event_timer_arm_expiry(void) +@@ -1279,7 +1281,7 @@ event_timer_arm_expiry(void) @@ -252 +253 @@ -@@ -1435,17 +1437,10 @@ event_timer_arm_expiry(void) +@@ -1288,17 +1290,10 @@ event_timer_arm_expiry(void) @@ -272 +273 @@ -@@ -1477,6 +1472,7 @@ event_timer_arm_rearm(void) +@@ -1330,6 +1325,7 @@ event_timer_arm_rearm(void) @@ -280 +281 @@ -@@ -1486,7 +1482,7 @@ event_timer_arm_rearm(void) +@@ -1339,7 +1335,7 @@ event_timer_arm_rearm(void) @@ -289 +290 @@ -@@ -1494,10 +1490,7 @@ event_timer_arm_rearm(void) +@@ -1347,10 +1343,7 @@ event_timer_arm_rearm(void) @@ -301 +302 @@ -@@ -1514,10 +1507,7 @@ event_timer_arm_rearm(void) +@@ -1367,10 +1360,7 @@ event_timer_arm_rearm(void) @@ -313 +314 @@ -@@ -1539,7 +1529,8 @@ event_timer_arm_max(void) +@@ -1392,7 +1382,8 @@ event_timer_arm_max(void) @@ -323 +324 @@ -@@ -1547,7 +1538,7 @@ event_timer_arm_max(void) +@@ -1400,7 +1391,7 @@ event_timer_arm_max(void) @@ -332 +333 @@ -@@ -1567,31 +1558,12 @@ event_timer_arm_max(void) +@@ -1420,31 +1411,12 @@ event_timer_arm_max(void) @@ -368 +369 @@ -@@ -1711,6 +1683,7 @@ event_timer_cancel(void) +@@ -1564,6 +1536,7 @@ event_timer_cancel(void) @@ -376 +377 @@ -@@ -1728,7 +1701,7 @@ event_timer_cancel(void) +@@ -1581,7 +1554,7 @@ event_timer_cancel(void) @@ -385 +386 @@ -@@ -1752,10 +1725,8 @@ event_timer_cancel(void) +@@ -1605,10 +1578,8 @@ event_timer_cancel(void) @@ -397 +398 @@ -@@ -1778,8 +1749,8 @@ event_timer_cancel_double(void) +@@ -1631,8 +1602,8 @@ event_timer_cancel_double(void) @@ -407 +408 @@ -@@ -1790,7 +1761,7 @@ event_timer_cancel_double(void) +@@ -1643,7 +1614,7 @@ event_timer_cancel_double(void) @@ -416 +417 @@ -@@ -1812,10 +1783,8 @@ event_timer_cancel_double(void) +@@ -1665,10 +1636,8 @@ event_timer_cancel_double(void) @@ -428,11 +428,0 @@ -@@ -1973,9 +1942,7 @@ test_timer_ticks_remaining(void) - rte_delay_ms(100); - } - -- rte_delay_ms(100); -- -- TEST_ASSERT_EQUAL(rte_event_dequeue_burst(evdev, 0, &ev, 1, 0), 1, -+ TEST_ASSERT_EQUAL(timeout_event_dequeue(&ev, 1, WAIT_TICKS(1)), 1, - "Armed timer failed to trigger."); - TEST_ASSERT_EQUAL(ev_tim->state, RTE_EVENT_TIMER_NOT_ARMED, - "Improper timer state set expected %d returned %d", ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'doc: fix event timer adapter guide' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (12 preceding siblings ...) 2023-06-15 1:32 ` patch 'eventdev/timer: fix timeout event wait behavior' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'event/dsw: free rings on close' " luca.boccassi ` (47 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Pavan Nikhilesh; +Cc: Erik Gabriel Carrillo, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/35bdbf0164477ced5b6c406358ea4e3418b101f3 Thanks. Luca Boccassi --- From 35bdbf0164477ced5b6c406358ea4e3418b101f3 Mon Sep 17 00:00:00 2001 From: Pavan Nikhilesh <pbhagavatula@marvell.com> Date: Fri, 7 Apr 2023 13:44:10 +0530 Subject: [PATCH] doc: fix event timer adapter guide [ upstream commit 4b6fad5cc8a54647a2ea0c0792b25932da9504fc ] Remove incorrect spec definition from programmers guide, it is applications responsibility to set ev.event_ptr to a valid value. Fixes: 30e7fbd62839 ("doc: add event timer adapter guide") Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com> --- doc/guides/prog_guide/event_timer_adapter.rst | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/doc/guides/prog_guide/event_timer_adapter.rst b/doc/guides/prog_guide/event_timer_adapter.rst index d121dbbdb4..f68a179173 100644 --- a/doc/guides/prog_guide/event_timer_adapter.rst +++ b/doc/guides/prog_guide/event_timer_adapter.rst @@ -217,9 +217,7 @@ Note that it is necessary to initialize the event timer state to RTE_EVENT_TIMER_NOT_ARMED. Also note that we have saved a pointer to the ``conn`` object in the timer's event payload. This will allow us to locate the connection object again once we dequeue the timer expiry event from the -event device later. As a convenience, the application may specify no value for -ev.event_ptr, and the adapter will by default set it to point at the event -timer itself. +event device later. Now we can arm the event timer with ``rte_event_timer_arm_burst()``: -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:35.545998098 +0100 +++ 0015-doc-fix-event-timer-adapter-guide.patch 2023-06-15 01:56:34.527540429 +0100 @@ -1 +1 @@ -From 4b6fad5cc8a54647a2ea0c0792b25932da9504fc Mon Sep 17 00:00:00 2001 +From 35bdbf0164477ced5b6c406358ea4e3418b101f3 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 4b6fad5cc8a54647a2ea0c0792b25932da9504fc ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index 2a15ed8f5c..adeddbedfc 100644 +index d121dbbdb4..f68a179173 100644 @@ -22 +23 @@ -@@ -247,9 +247,7 @@ Note that it is necessary to initialize the event timer state to +@@ -217,9 +217,7 @@ Note that it is necessary to initialize the event timer state to ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'event/dsw: free rings on close' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (13 preceding siblings ...) 2023-06-15 1:32 ` patch 'doc: fix event timer adapter guide' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'eventdev/timer: fix buffer flush' " luca.boccassi ` (46 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Mattias Rönnblom; +Cc: dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/a9e8f6d68060f695e2482350e39725077c6df1b6 Thanks. Luca Boccassi --- From a9e8f6d68060f695e2482350e39725077c6df1b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20R=C3=B6nnblom?= <mattias.ronnblom@ericsson.com> Date: Thu, 11 May 2023 08:40:29 +0200 Subject: [PATCH] event/dsw: free rings on close MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit 61e4cd6d0ad118c6f4d2724a840b651af9e9ec98 ] The per-port data and control rings were not freed when the event device was closed. Fixes: 1c8e3caa3bfb ("event/dsw: add event scheduling and device start/stop") Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com> --- drivers/event/dsw/dsw_evdev.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/event/dsw/dsw_evdev.c b/drivers/event/dsw/dsw_evdev.c index 933a5a559b..ee3f441c5a 100644 --- a/drivers/event/dsw/dsw_evdev.c +++ b/drivers/event/dsw/dsw_evdev.c @@ -366,6 +366,10 @@ static int dsw_close(struct rte_eventdev *dev) { struct dsw_evdev *dsw = dsw_pmd_priv(dev); + uint16_t port_id; + + for (port_id = 0; port_id < dsw->num_ports; port_id++) + dsw_port_release(&dsw->ports[port_id]); dsw->num_ports = 0; dsw->num_queues = 0; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:35.597494963 +0100 +++ 0016-event-dsw-free-rings-on-close.patch 2023-06-15 01:56:34.527540429 +0100 @@ -1 +1 @@ -From 61e4cd6d0ad118c6f4d2724a840b651af9e9ec98 Mon Sep 17 00:00:00 2001 +From a9e8f6d68060f695e2482350e39725077c6df1b6 Mon Sep 17 00:00:00 2001 @@ -8,0 +9,2 @@ +[ upstream commit 61e4cd6d0ad118c6f4d2724a840b651af9e9ec98 ] + @@ -13 +14,0 @@ -Cc: stable@dpdk.org @@ -21 +22 @@ -index ffabf0d23d..6c5cde2468 100644 +index 933a5a559b..ee3f441c5a 100644 @@ -24 +25 @@ -@@ -363,6 +363,10 @@ static int +@@ -366,6 +366,10 @@ static int ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'eventdev/timer: fix buffer flush' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (14 preceding siblings ...) 2023-06-15 1:32 ` patch 'event/dsw: free rings on close' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'eal/linux: fix secondary process crash for mp hotplug' " luca.boccassi ` (45 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Erik Gabriel Carrillo; +Cc: dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/67fbfd84f1d58f28f7190d17d923ba786c4a5b6d Thanks. Luca Boccassi --- From 67fbfd84f1d58f28f7190d17d923ba786c4a5b6d Mon Sep 17 00:00:00 2001 From: Erik Gabriel Carrillo <erik.g.carrillo@intel.com> Date: Wed, 12 Apr 2023 14:56:37 -0500 Subject: [PATCH] eventdev/timer: fix buffer flush [ upstream commit 53b97347cc84e8df53426c7917a4b65296264c02 ] The SW event timer adapter attempts to flush its event buffer on every adapter tick. If events remain in the buffer after the attempt, another attempt to flush won't occur until the next adapter tick, which delays the enqueue of those events to the event device unnecessarily. Move the buffer flush call so that it happens with every invocation of the service function, rather than on every adapter tick, to avoid the delay. Fixes: cc7b73ea9e3b ("eventdev: add new software timer adapter") Signed-off-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com> --- lib/librte_eventdev/rte_event_timer_adapter.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/lib/librte_eventdev/rte_event_timer_adapter.c b/lib/librte_eventdev/rte_event_timer_adapter.c index fac32e2b2d..67b442ff44 100644 --- a/lib/librte_eventdev/rte_event_timer_adapter.c +++ b/lib/librte_eventdev/rte_event_timer_adapter.c @@ -765,17 +765,18 @@ swtim_service_func(void *arg) sw->n_expired_timers); sw->n_expired_timers = 0; - event_buffer_flush(&sw->buffer, - adapter->data->event_dev_id, - adapter->data->event_port_id, - &nb_evs_flushed, - &nb_evs_invalid); - - sw->stats.ev_enq_count += nb_evs_flushed; - sw->stats.ev_inv_count += nb_evs_invalid; sw->stats.adapter_tick_count++; } + event_buffer_flush(&sw->buffer, + adapter->data->event_dev_id, + adapter->data->event_port_id, + &nb_evs_flushed, + &nb_evs_invalid); + + sw->stats.ev_enq_count += nb_evs_flushed; + sw->stats.ev_inv_count += nb_evs_invalid; + return 0; } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:35.657806496 +0100 +++ 0017-eventdev-timer-fix-buffer-flush.patch 2023-06-15 01:56:34.531540517 +0100 @@ -1 +1 @@ -From 53b97347cc84e8df53426c7917a4b65296264c02 Mon Sep 17 00:00:00 2001 +From 67fbfd84f1d58f28f7190d17d923ba786c4a5b6d Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 53b97347cc84e8df53426c7917a4b65296264c02 ] + @@ -16 +17,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ - lib/eventdev/rte_event_timer_adapter.c | 17 +++++++++-------- + lib/librte_eventdev/rte_event_timer_adapter.c | 17 +++++++++-------- @@ -23,5 +24,5 @@ -diff --git a/lib/eventdev/rte_event_timer_adapter.c b/lib/eventdev/rte_event_timer_adapter.c -index 23eb1d4a7d..427c4c6287 100644 ---- a/lib/eventdev/rte_event_timer_adapter.c -+++ b/lib/eventdev/rte_event_timer_adapter.c -@@ -855,17 +855,18 @@ swtim_service_func(void *arg) +diff --git a/lib/librte_eventdev/rte_event_timer_adapter.c b/lib/librte_eventdev/rte_event_timer_adapter.c +index fac32e2b2d..67b442ff44 100644 +--- a/lib/librte_eventdev/rte_event_timer_adapter.c ++++ b/lib/librte_eventdev/rte_event_timer_adapter.c +@@ -765,17 +765,18 @@ swtim_service_func(void *arg) @@ -51,2 +52,2 @@ - rte_event_maintain(adapter->data->event_dev_id, - adapter->data->event_port_id, 0); + return 0; + } ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'eal/linux: fix secondary process crash for mp hotplug' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (15 preceding siblings ...) 2023-06-15 1:32 ` patch 'eventdev/timer: fix buffer flush' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'eal/linux: fix legacy mem init with many segments' " luca.boccassi ` (44 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Zhihong Wang; +Cc: Anatoly Burakov, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/39aa5011a932fb0049c015ea447269af695246af Thanks. Luca Boccassi --- From 39aa5011a932fb0049c015ea447269af695246af Mon Sep 17 00:00:00 2001 From: Zhihong Wang <wangzhihong.wzh@bytedance.com> Date: Thu, 8 Jun 2023 15:25:53 +0800 Subject: [PATCH] eal/linux: fix secondary process crash for mp hotplug requests [ upstream commit 66f7ee3f7ab1a7d0295464ab236d4ada08eedee3 ] Secondary would crash if it tries to handle mp requests before memory init, since globals such as eth_dev_shared_data_lock are not accessible to it at this moment. Fixes: 244d5130719c ("eal: enable hotplug on multi-process") Signed-off-by: Zhihong Wang <wangzhihong.wzh@bytedance.com> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com> --- lib/librte_eal/linux/eal.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/librte_eal/linux/eal.c b/lib/librte_eal/linux/eal.c index 04942854a3..30dbdda38e 100644 --- a/lib/librte_eal/linux/eal.c +++ b/lib/librte_eal/linux/eal.c @@ -1058,12 +1058,6 @@ rte_eal_init(int argc, char **argv) } } - /* register multi-process action callbacks for hotplug */ - if (eal_mp_dev_hotplug_init() < 0) { - rte_eal_init_alert("failed to register mp callback for hotplug"); - return -1; - } - if (rte_bus_scan()) { rte_eal_init_alert("Cannot scan the buses for devices"); rte_errno = ENODEV; @@ -1202,6 +1196,12 @@ rte_eal_init(int argc, char **argv) return -1; } + /* register multi-process action callbacks for hotplug after memory init */ + if (eal_mp_dev_hotplug_init() < 0) { + rte_eal_init_alert("failed to register mp callback for hotplug"); + return -1; + } + if (rte_eal_tailqs_init() < 0) { rte_eal_init_alert("Cannot init tail queues for objects"); rte_errno = EFAULT; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:35.711215787 +0100 +++ 0018-eal-linux-fix-secondary-process-crash-for-mp-hotplug.patch 2023-06-15 01:56:34.535540604 +0100 @@ -1 +1 @@ -From 66f7ee3f7ab1a7d0295464ab236d4ada08eedee3 Mon Sep 17 00:00:00 2001 +From 39aa5011a932fb0049c015ea447269af695246af Mon Sep 17 00:00:00 2001 @@ -6,0 +7,2 @@ +[ upstream commit 66f7ee3f7ab1a7d0295464ab236d4ada08eedee3 ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -17 +18 @@ - lib/eal/linux/eal.c | 12 ++++++------ + lib/librte_eal/linux/eal.c | 12 ++++++------ @@ -20,4 +21,4 @@ -diff --git a/lib/eal/linux/eal.c b/lib/eal/linux/eal.c -index 90e05fe4de..99b0a59706 100644 ---- a/lib/eal/linux/eal.c -+++ b/lib/eal/linux/eal.c +diff --git a/lib/librte_eal/linux/eal.c b/lib/librte_eal/linux/eal.c +index 04942854a3..30dbdda38e 100644 +--- a/lib/librte_eal/linux/eal.c ++++ b/lib/librte_eal/linux/eal.c @@ -37 +38 @@ -@@ -1221,6 +1215,12 @@ rte_eal_init(int argc, char **argv) +@@ -1202,6 +1196,12 @@ rte_eal_init(int argc, char **argv) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'eal/linux: fix legacy mem init with many segments' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (16 preceding siblings ...) 2023-06-15 1:32 ` patch 'eal/linux: fix secondary process crash for mp hotplug' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix build warning' " luca.boccassi ` (43 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Fengnan Chang; +Cc: Lin Li, Anatoly Burakov, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/154506b8fae5c3b413bd7974ec6648c15f120a07 Thanks. Luca Boccassi --- From 154506b8fae5c3b413bd7974ec6648c15f120a07 Mon Sep 17 00:00:00 2001 From: Fengnan Chang <changfengnan@bytedance.com> Date: Mon, 29 May 2023 19:21:30 +0800 Subject: [PATCH] eal/linux: fix legacy mem init with many segments [ upstream commit 51a5a72e2a82986b02244fcdd89c6571bc503de3 ] Under legacy mode, if the number of continuous memsegs greater than RTE_MAX_MEMSEG_PER_LIST, eal init will failed even though another memseg list is empty, because only one memseg list used to check in remap_needed_hugepages. Fix this by make remap_segment return how many segments mapped, remap_segment try to map most contiguous segments it can, if it exceed its capacity, remap_needed_hugepages will continue to map other left pages. For example: hugepage configure: cat /sys/devices/system/node/node*/hugepages/hugepages-2048kB/nr_hugepages 10241 10239 startup log: EAL: Detected memory type: socket_id:0 hugepage_sz:2097152 EAL: Detected memory type: socket_id:1 hugepage_sz:2097152 EAL: Creating 4 segment lists: n_segs:8192 socket_id:0 hugepage_sz:2097152 EAL: Creating 4 segment lists: n_segs:8192 socket_id:1 hugepage_sz:2097152 EAL: Requesting 13370 pages of size 2MB from socket 0 EAL: Requesting 7110 pages of size 2MB from socket 1 EAL: Attempting to map 14220M on socket 1 EAL: Allocated 14220M on socket 1 EAL: Attempting to map 26740M on socket 0 EAL: Could not find space for memseg. Please increase 32768 and/or 65536 in configuration. EAL: Couldn't remap hugepage files into memseg lists EAL: FATAL: Cannot init memory EAL: Cannot init memory Fixes: 66cc45e293ed ("mem: replace memseg with memseg lists") Signed-off-by: Fengnan Chang <changfengnan@bytedance.com> Signed-off-by: Lin Li <lilintjpu@bytedance.com> Reviewed-by: Anatoly Burakov <anatoly.burakov@intel.com> --- lib/librte_eal/linux/eal_memory.c | 51 ++++++++++++++++++++++--------- 1 file changed, 36 insertions(+), 15 deletions(-) diff --git a/lib/librte_eal/linux/eal_memory.c b/lib/librte_eal/linux/eal_memory.c index fda6a159d5..3bd0bc17c5 100644 --- a/lib/librte_eal/linux/eal_memory.c +++ b/lib/librte_eal/linux/eal_memory.c @@ -686,6 +686,7 @@ remap_segment(struct hugepage_file *hugepages, int seg_start, int seg_end) /* find free space in memseg lists */ for (msl_idx = 0; msl_idx < RTE_MAX_MEMSEG_LISTS; msl_idx++) { + int free_len; bool empty; msl = &mcfg->memsegs[msl_idx]; arr = &msl->memseg_arr; @@ -697,18 +698,26 @@ remap_segment(struct hugepage_file *hugepages, int seg_start, int seg_end) /* leave space for a hole if array is not empty */ empty = arr->count == 0; - ms_idx = rte_fbarray_find_next_n_free(arr, 0, - seg_len + (empty ? 0 : 1)); - - /* memseg list is full? */ + /* find start of the biggest contiguous block and its size */ + ms_idx = rte_fbarray_find_biggest_free(arr, 0); if (ms_idx < 0) continue; - + /* hole is 1 segment long, so at least two segments long. */ + free_len = rte_fbarray_find_contig_free(arr, ms_idx); + if (free_len < 2) + continue; /* leave some space between memsegs, they are not IOVA * contiguous, so they shouldn't be VA contiguous either. */ - if (!empty) + if (!empty) { ms_idx++; + free_len--; + } + + /* we might not get all of the space we wanted */ + free_len = RTE_MIN(seg_len, free_len); + seg_end = seg_start + free_len; + seg_len = seg_end - seg_start; break; } if (msl_idx == RTE_MAX_MEMSEG_LISTS) { @@ -792,7 +801,7 @@ remap_segment(struct hugepage_file *hugepages, int seg_start, int seg_end) } RTE_LOG(DEBUG, EAL, "Allocated %" PRIu64 "M on socket %i\n", (seg_len * page_sz) >> 20, socket_id); - return 0; + return seg_len; } static uint64_t @@ -1027,10 +1036,16 @@ remap_needed_hugepages(struct hugepage_file *hugepages, int n_pages) if (new_memseg) { /* if this isn't the first time, remap segment */ if (cur_page != 0) { - ret = remap_segment(hugepages, seg_start_page, - cur_page); - if (ret != 0) - return -1; + int n_remapped = 0; + int n_needed = cur_page - seg_start_page; + while (n_remapped < n_needed) { + ret = remap_segment(hugepages, seg_start_page, + cur_page); + if (ret < 0) + return -1; + n_remapped += ret; + seg_start_page += ret; + } } /* remember where we started */ seg_start_page = cur_page; @@ -1039,10 +1054,16 @@ remap_needed_hugepages(struct hugepage_file *hugepages, int n_pages) } /* we were stopped, but we didn't remap the last segment, do it now */ if (cur_page != 0) { - ret = remap_segment(hugepages, seg_start_page, - cur_page); - if (ret != 0) - return -1; + int n_remapped = 0; + int n_needed = cur_page - seg_start_page; + while (n_remapped < n_needed) { + ret = remap_segment(hugepages, seg_start_page, + cur_page); + if (ret < 0) + return -1; + n_remapped += ret; + seg_start_page += ret; + } } return 0; } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:35.763327389 +0100 +++ 0019-eal-linux-fix-legacy-mem-init-with-many-segments.patch 2023-06-15 01:56:34.539540691 +0100 @@ -1 +1 @@ -From 51a5a72e2a82986b02244fcdd89c6571bc503de3 Mon Sep 17 00:00:00 2001 +From 154506b8fae5c3b413bd7974ec6648c15f120a07 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 51a5a72e2a82986b02244fcdd89c6571bc503de3 ] + @@ -38 +39,0 @@ -Cc: stable@dpdk.org @@ -44,22 +45,8 @@ - .mailmap | 2 +- - lib/eal/linux/eal_memory.c | 51 +++++++++++++++++++++++++++----------- - 2 files changed, 37 insertions(+), 16 deletions(-) - -diff --git a/.mailmap b/.mailmap -index 13167dc28b..853a89e9a4 100644 ---- a/.mailmap -+++ b/.mailmap -@@ -766,7 +766,7 @@ Liming Sun <lsun@ezchip.com> <lsun@mellanox.com> - Linfan Hu <zhongdahulinfan@163.com> - Lingli Chen <linglix.chen@intel.com> - Lingyu Liu <lingyu.liu@intel.com> --Lin Li <lilin24@baidu.com> -+Lin Li <lilintjpu@bytedance.com> <lilin24@baidu.com> - Linsi Yuan <yuanlinsi01@baidu.com> - Lior Margalit <lmargalit@nvidia.com> - Li Qiang <liq3ea@163.com> -diff --git a/lib/eal/linux/eal_memory.c b/lib/eal/linux/eal_memory.c -index 60fc8cc6ca..0876974631 100644 ---- a/lib/eal/linux/eal_memory.c -+++ b/lib/eal/linux/eal_memory.c -@@ -681,6 +681,7 @@ remap_segment(struct hugepage_file *hugepages, int seg_start, int seg_end) + lib/librte_eal/linux/eal_memory.c | 51 ++++++++++++++++++++++--------- + 1 file changed, 36 insertions(+), 15 deletions(-) + +diff --git a/lib/librte_eal/linux/eal_memory.c b/lib/librte_eal/linux/eal_memory.c +index fda6a159d5..3bd0bc17c5 100644 +--- a/lib/librte_eal/linux/eal_memory.c ++++ b/lib/librte_eal/linux/eal_memory.c +@@ -686,6 +686,7 @@ remap_segment(struct hugepage_file *hugepages, int seg_start, int seg_end) @@ -73 +60 @@ -@@ -692,18 +693,26 @@ remap_segment(struct hugepage_file *hugepages, int seg_start, int seg_end) +@@ -697,18 +698,26 @@ remap_segment(struct hugepage_file *hugepages, int seg_start, int seg_end) @@ -106 +93 @@ -@@ -787,7 +796,7 @@ remap_segment(struct hugepage_file *hugepages, int seg_start, int seg_end) +@@ -792,7 +801,7 @@ remap_segment(struct hugepage_file *hugepages, int seg_start, int seg_end) @@ -115 +102 @@ -@@ -1022,10 +1031,16 @@ remap_needed_hugepages(struct hugepage_file *hugepages, int n_pages) +@@ -1027,10 +1036,16 @@ remap_needed_hugepages(struct hugepage_file *hugepages, int n_pages) @@ -136 +123 @@ -@@ -1034,10 +1049,16 @@ remap_needed_hugepages(struct hugepage_file *hugepages, int n_pages) +@@ -1039,10 +1054,16 @@ remap_needed_hugepages(struct hugepage_file *hugepages, int n_pages) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/hns3: fix build warning' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (17 preceding siblings ...) 2023-06-15 1:32 ` patch 'eal/linux: fix legacy mem init with many segments' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/tap: set locally administered bit for fixed MAC address' " luca.boccassi ` (42 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Jerin Jacob; +Cc: Dongdong Liu, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/4397ebd4c901c44a2111bd86ccc76227dc2eb952 Thanks. Luca Boccassi --- From 4397ebd4c901c44a2111bd86ccc76227dc2eb952 Mon Sep 17 00:00:00 2001 From: Jerin Jacob <jerinj@marvell.com> Date: Tue, 4 Apr 2023 12:25:25 +0530 Subject: [PATCH] net/hns3: fix build warning MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit 60fe5c3cfc3c28952448d2163c4eb1d22d86ccac ] aarch64 gcc 12.2.0 build complain with below warning[1]. Move the new_link initialization upwards to fix the warning. [1] drivers/net/hns3/hns3_ethdev.c: In function ‘hns3_dev_link_update’: drivers/net/hns3/hns3_ethdev.c:2249:1: warning: ‘new_link’ may be used uninitialized [-Wmaybe-uninitialized] Fixes: 64308555d5bf ("net/hns3: fix link status when port is stopped") Signed-off-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Dongdong Liu <liudongdong3@huawei.com> --- drivers/net/hns3/hns3_ethdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c index 8d5e1f4beb..1ffa67f9e7 100644 --- a/drivers/net/hns3/hns3_ethdev.c +++ b/drivers/net/hns3/hns3_ethdev.c @@ -2701,6 +2701,7 @@ hns3_dev_link_update(struct rte_eth_dev *eth_dev, struct rte_eth_link new_link; int ret; + memset(&new_link, 0, sizeof(new_link)); /* When port is stopped, report link down. */ if (eth_dev->data->dev_started == 0) { new_link.link_autoneg = mac->link_autoneg; @@ -2716,7 +2717,6 @@ hns3_dev_link_update(struct rte_eth_dev *eth_dev, hns3_err(hw, "failed to get port link info, ret = %d.", ret); } - memset(&new_link, 0, sizeof(new_link)); hns3_setup_linkstatus(eth_dev, &new_link); out: -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:35.819944531 +0100 +++ 0020-net-hns3-fix-build-warning.patch 2023-06-15 01:56:34.547540867 +0100 @@ -1 +1 @@ -From 60fe5c3cfc3c28952448d2163c4eb1d22d86ccac Mon Sep 17 00:00:00 2001 +From 4397ebd4c901c44a2111bd86ccc76227dc2eb952 Mon Sep 17 00:00:00 2001 @@ -8,0 +9,2 @@ +[ upstream commit 60fe5c3cfc3c28952448d2163c4eb1d22d86ccac ] + @@ -18 +19,0 @@ -Cc: stable@dpdk.org @@ -27 +28 @@ -index 36896f8989..a872cb8dd7 100644 +index 8d5e1f4beb..1ffa67f9e7 100644 @@ -30 +31 @@ -@@ -2257,6 +2257,7 @@ hns3_dev_link_update(struct rte_eth_dev *eth_dev, int wait_to_complete) +@@ -2701,6 +2701,7 @@ hns3_dev_link_update(struct rte_eth_dev *eth_dev, @@ -38,3 +39,3 @@ -@@ -2280,7 +2281,6 @@ hns3_dev_link_update(struct rte_eth_dev *eth_dev, int wait_to_complete) - rte_delay_ms(HNS3_LINK_CHECK_INTERVAL); - } while (retry_cnt--); +@@ -2716,7 +2717,6 @@ hns3_dev_link_update(struct rte_eth_dev *eth_dev, + hns3_err(hw, "failed to get port link info, ret = %d.", ret); + } ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/tap: set locally administered bit for fixed MAC address' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (18 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/hns3: fix build warning' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/dpaa2: fix checksum good flags' " luca.boccassi ` (41 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: David Christensen; +Cc: Stephen Hemminger, Ferruh Yigit, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/9ffeb66a7461e23e3d6b5a9647287fde77a47117 Thanks. Luca Boccassi --- From 9ffeb66a7461e23e3d6b5a9647287fde77a47117 Mon Sep 17 00:00:00 2001 From: David Christensen <drc@linux.vnet.ibm.com> Date: Tue, 25 Apr 2023 16:58:06 -0400 Subject: [PATCH] net/tap: set locally administered bit for fixed MAC address [ upstream commit c3006be2acab49c6b77ae9c9ef04b061e5dacbd6 ] When the tap driver is loaded and the user selects the optional "mac=fixed" setting, the tap driver incorrectly uses a globally unique EUI-48 identifier (as documented in RFC 7042) of 00:64:74:61:70:<iface_idx>. Since this is a locally generated ID, the Local bit in the MAC address should be set to 1, resulting in the new address 02:64:74:61:70:<iface_idx>. Bugzilla ID: 1198 Fixes: f6921783fee6 ("net/tap: add support for fixed MAC addresses") Signed-off-by: David Christensen <drc@linux.vnet.ibm.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com> --- doc/guides/nics/tap.rst | 8 ++++---- drivers/net/tap/rte_eth_tap.c | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/doc/guides/nics/tap.rst b/doc/guides/nics/tap.rst index 3ce696b605..77e25fec71 100644 --- a/doc/guides/nics/tap.rst +++ b/doc/guides/nics/tap.rst @@ -34,14 +34,14 @@ Using the option ``mac=fixed`` you can create a fixed known MAC address:: The MAC address will have a fixed value with the last octet incrementing by one for each interface string containing ``mac=fixed``. The MAC address is formatted -as 00:'d':'t':'a':'p':[00-FF]. Convert the characters to hex and you get the -actual MAC address: ``00:64:74:61:70:[00-FF]``. +as 02:'d':'t':'a':'p':[00-FF]. Convert the characters to hex and you get the +actual MAC address: ``02:64:74:61:70:[00-FF]``. - --vdev=net_tap0,mac="00:64:74:61:70:11" + --vdev=net_tap0,mac="02:64:74:61:70:11" The MAC address will have a user value passed as string. The MAC address is in format with delimiter ``:``. The string is byte converted to hex and you get -the actual MAC address: ``00:64:74:61:70:11``. +the actual MAC address: ``02:64:74:61:70:11``. It is possible to specify a remote netdevice to capture packets from by adding ``remote=foo1``, for example:: diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c index dcc12f32e7..faa95fab6e 100644 --- a/drivers/net/tap/rte_eth_tap.c +++ b/drivers/net/tap/rte_eth_tap.c @@ -2292,8 +2292,8 @@ set_mac_type(const char *key __rte_unused, if (!strncasecmp(ETH_TAP_MAC_FIXED, value, strlen(ETH_TAP_MAC_FIXED))) { static int iface_idx; - /* fixed mac = 00:64:74:61:70:<iface_idx> */ - memcpy((char *)user_mac->addr_bytes, "\0dtap", + /* fixed mac = 02:64:74:61:70:<iface_idx> */ + memcpy((char *)user_mac->addr_bytes, "\002dtap", RTE_ETHER_ADDR_LEN); user_mac->addr_bytes[RTE_ETHER_ADDR_LEN - 1] = iface_idx++ + '0'; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:35.881484865 +0100 +++ 0021-net-tap-set-locally-administered-bit-for-fixed-MAC-a.patch 2023-06-15 01:56:34.551540953 +0100 @@ -1 +1 @@ -From c3006be2acab49c6b77ae9c9ef04b061e5dacbd6 Mon Sep 17 00:00:00 2001 +From 9ffeb66a7461e23e3d6b5a9647287fde77a47117 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit c3006be2acab49c6b77ae9c9ef04b061e5dacbd6 ] + @@ -15 +16,0 @@ -Cc: stable@dpdk.org @@ -26 +27 @@ -index 2f7417bddd..07df0d35a2 100644 +index 3ce696b605..77e25fec71 100644 @@ -49 +50 @@ -index 089ac202fa..bf98f75559 100644 +index dcc12f32e7..faa95fab6e 100644 @@ -52 +53 @@ -@@ -2303,8 +2303,8 @@ set_mac_type(const char *key __rte_unused, +@@ -2292,8 +2292,8 @@ set_mac_type(const char *key __rte_unused, ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/dpaa2: fix checksum good flags' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (19 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/tap: set locally administered bit for fixed MAC address' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'app/testpmd: fix GTP L2 length in checksum engine' " luca.boccassi ` (40 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Tianli Lai; +Cc: Sachin Saxena, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/076bdbf8164f628e3ecf6315e8c0c46abe3347f7 Thanks. Luca Boccassi --- From 076bdbf8164f628e3ecf6315e8c0c46abe3347f7 Mon Sep 17 00:00:00 2001 From: Tianli Lai <laitianli@tom.com> Date: Mon, 8 May 2023 18:57:25 +0800 Subject: [PATCH] net/dpaa2: fix checksum good flags [ upstream commit 7d83632b28db9f0b9bd36d974798aa14627f822b ] Set check sum good flags when dpaa2 hardware set check result. Fixes: d2ef05d5c13e ("net/dpaa2: optimize Rx/Tx path") Fixes: 94d31549c380 ("net/dpaa2: support Rx checksum offload in slow parsing") Signed-off-by: Tianli Lai <laitianli@tom.com> Acked-by: Sachin Saxena <sachin.saxena@nxp.com> --- drivers/net/dpaa2/dpaa2_rxtx.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/net/dpaa2/dpaa2_rxtx.c b/drivers/net/dpaa2/dpaa2_rxtx.c index 23e193f86c..1ad42747c4 100644 --- a/drivers/net/dpaa2/dpaa2_rxtx.c +++ b/drivers/net/dpaa2/dpaa2_rxtx.c @@ -187,8 +187,12 @@ dpaa2_dev_rx_parse_slow(struct rte_mbuf *mbuf, if (BIT_ISSET_AT_POS(annotation->word8, DPAA2_ETH_FAS_L3CE)) mbuf->ol_flags |= PKT_RX_IP_CKSUM_BAD; - else if (BIT_ISSET_AT_POS(annotation->word8, DPAA2_ETH_FAS_L4CE)) + else + mbuf->ol_flags |= PKT_RX_IP_CKSUM_GOOD; + if (BIT_ISSET_AT_POS(annotation->word8, DPAA2_ETH_FAS_L4CE)) mbuf->ol_flags |= PKT_RX_L4_CKSUM_BAD; + else + mbuf->ol_flags |= PKT_RX_L4_CKSUM_GOOD; if (BIT_ISSET_AT_POS(annotation->word4, L3_IP_1_FIRST_FRAGMENT | L3_IP_1_MORE_FRAGMENT | @@ -230,8 +234,12 @@ dpaa2_dev_rx_parse(struct rte_mbuf *mbuf, void *hw_annot_addr) if (BIT_ISSET_AT_POS(annotation->word8, DPAA2_ETH_FAS_L3CE)) mbuf->ol_flags |= PKT_RX_IP_CKSUM_BAD; - else if (BIT_ISSET_AT_POS(annotation->word8, DPAA2_ETH_FAS_L4CE)) + else + mbuf->ol_flags |= PKT_RX_IP_CKSUM_GOOD; + if (BIT_ISSET_AT_POS(annotation->word8, DPAA2_ETH_FAS_L4CE)) mbuf->ol_flags |= PKT_RX_L4_CKSUM_BAD; + else + mbuf->ol_flags |= PKT_RX_L4_CKSUM_GOOD; if (dpaa2_enable_ts[mbuf->port]) { *dpaa2_timestamp_dynfield(mbuf) = annotation->word2; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:35.935701704 +0100 +++ 0022-net-dpaa2-fix-checksum-good-flags.patch 2023-06-15 01:56:34.555541041 +0100 @@ -1 +1 @@ -From 7d83632b28db9f0b9bd36d974798aa14627f822b Mon Sep 17 00:00:00 2001 +From 076bdbf8164f628e3ecf6315e8c0c46abe3347f7 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 7d83632b28db9f0b9bd36d974798aa14627f822b ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index f60e78e1fd..85910bbd8f 100644 +index 23e193f86c..1ad42747c4 100644 @@ -22 +23 @@ -@@ -198,8 +198,12 @@ dpaa2_dev_rx_parse_slow(struct rte_mbuf *mbuf, +@@ -187,8 +187,12 @@ dpaa2_dev_rx_parse_slow(struct rte_mbuf *mbuf, @@ -25 +26 @@ - mbuf->ol_flags |= RTE_MBUF_F_RX_IP_CKSUM_BAD; + mbuf->ol_flags |= PKT_RX_IP_CKSUM_BAD; @@ -28 +29 @@ -+ mbuf->ol_flags |= RTE_MBUF_F_RX_IP_CKSUM_GOOD; ++ mbuf->ol_flags |= PKT_RX_IP_CKSUM_GOOD; @@ -30 +31 @@ - mbuf->ol_flags |= RTE_MBUF_F_RX_L4_CKSUM_BAD; + mbuf->ol_flags |= PKT_RX_L4_CKSUM_BAD; @@ -32 +33 @@ -+ mbuf->ol_flags |= RTE_MBUF_F_RX_L4_CKSUM_GOOD; ++ mbuf->ol_flags |= PKT_RX_L4_CKSUM_GOOD; @@ -36 +37 @@ -@@ -241,8 +245,12 @@ dpaa2_dev_rx_parse(struct rte_mbuf *mbuf, void *hw_annot_addr) +@@ -230,8 +234,12 @@ dpaa2_dev_rx_parse(struct rte_mbuf *mbuf, void *hw_annot_addr) @@ -39 +40 @@ - mbuf->ol_flags |= RTE_MBUF_F_RX_IP_CKSUM_BAD; + mbuf->ol_flags |= PKT_RX_IP_CKSUM_BAD; @@ -42 +43 @@ -+ mbuf->ol_flags |= RTE_MBUF_F_RX_IP_CKSUM_GOOD; ++ mbuf->ol_flags |= PKT_RX_IP_CKSUM_GOOD; @@ -44 +45 @@ - mbuf->ol_flags |= RTE_MBUF_F_RX_L4_CKSUM_BAD; + mbuf->ol_flags |= PKT_RX_L4_CKSUM_BAD; @@ -46 +47 @@ -+ mbuf->ol_flags |= RTE_MBUF_F_RX_L4_CKSUM_GOOD; ++ mbuf->ol_flags |= PKT_RX_L4_CKSUM_GOOD; ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'app/testpmd: fix GTP L2 length in checksum engine' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (20 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/dpaa2: fix checksum good flags' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/vmxnet3: fix drop of empty segments in Tx' " luca.boccassi ` (39 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Raslan Darawsheh; +Cc: Aman Singh, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/75a452410f544c5fd459c5d0f68023ae108cdc34 Thanks. Luca Boccassi --- From 75a452410f544c5fd459c5d0f68023ae108cdc34 Mon Sep 17 00:00:00 2001 From: Raslan Darawsheh <rasland@nvidia.com> Date: Sun, 2 Apr 2023 15:26:19 +0300 Subject: [PATCH] app/testpmd: fix GTP L2 length in checksum engine [ upstream commit dd827fa42a30a9b0aa87a1d5614af83ea32b19e0 ] GTP header can be followed by an optional 32 bits extension. But, l2_len value statically set to RTE_ETHER_GTP_HLEN which is defined to be (sizeof(struct rte_udp_hdr) + sizeof(struct rte_gtp_hdr)) This fixes the l2_len to take into consideration the extension size. Fixes: d8e5e69f3a9b ("app/testpmd: add GTP parsing and Tx checksum offload") Signed-off-by: Raslan Darawsheh <rasland@nvidia.com> Acked-by: Aman Singh <aman.deep.singh@intel.com> --- app/test-pmd/csumonly.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c index 7a91fcb63f..9b12b91ead 100644 --- a/app/test-pmd/csumonly.c +++ b/app/test-pmd/csumonly.c @@ -246,7 +246,7 @@ parse_gtp(struct rte_udp_hdr *udp_hdr, info->l4_proto = 0; } - info->l2_len += RTE_ETHER_GTP_HLEN; + info->l2_len += gtp_len + sizeof(udp_hdr); } /* Parse a vxlan header */ -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:35.990855341 +0100 +++ 0023-app-testpmd-fix-GTP-L2-length-in-checksum-engine.patch 2023-06-15 01:56:34.555541041 +0100 @@ -1 +1 @@ -From dd827fa42a30a9b0aa87a1d5614af83ea32b19e0 Mon Sep 17 00:00:00 2001 +From 75a452410f544c5fd459c5d0f68023ae108cdc34 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit dd827fa42a30a9b0aa87a1d5614af83ea32b19e0 ] + @@ -15 +16,0 @@ -Cc: stable@dpdk.org @@ -24 +25 @@ -index fc85c22a77..b50b89367a 100644 +index 7a91fcb63f..9b12b91ead 100644 @@ -27 +28 @@ -@@ -250,7 +250,7 @@ parse_gtp(struct rte_udp_hdr *udp_hdr, +@@ -246,7 +246,7 @@ parse_gtp(struct rte_udp_hdr *udp_hdr, ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/vmxnet3: fix drop of empty segments in Tx' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (21 preceding siblings ...) 2023-06-15 1:32 ` patch 'app/testpmd: fix GTP L2 length in checksum engine' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/txgbe: fix use-after-free on remove' " luca.boccassi ` (38 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Ronak Doshi; +Cc: Jochen Behrens, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/798cbf1de5b99243415347b49f97fc6f799a5998 Thanks. Luca Boccassi --- From 798cbf1de5b99243415347b49f97fc6f799a5998 Mon Sep 17 00:00:00 2001 From: Ronak Doshi <doshir@vmware.com> Date: Mon, 8 May 2023 19:21:06 -0700 Subject: [PATCH] net/vmxnet3: fix drop of empty segments in Tx [ upstream commit b44f3e1381f3910be50d03c784f5c073c25245dd ] When empty segments are dropped, some descriptor variable values are updated in the segment processing loop before it is exited. This can lead to a wedged queue where all subsequent packets are dropped for this queue. Also move the check for empty packet to catch the case of a zero length packet with multiple segments. Fixes: d863f19efa4f ("net/vmxnet3: skip empty segments in transmission") Signed-off-by: Ronak Doshi <doshir@vmware.com> Acked-by: Jochen Behrens <jbehrens@vmware.com> --- drivers/net/vmxnet3/vmxnet3_rxtx.c | 33 +++++++++++++++++------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c b/drivers/net/vmxnet3/vmxnet3_rxtx.c index 40b366854d..91bcfcd6fd 100644 --- a/drivers/net/vmxnet3/vmxnet3_rxtx.c +++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c @@ -413,8 +413,8 @@ vmxnet3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, nb_tx = 0; while (nb_tx < nb_pkts) { - Vmxnet3_GenericDesc *gdesc; - vmxnet3_buf_info_t *tbi; + Vmxnet3_GenericDesc *gdesc = NULL; + vmxnet3_buf_info_t *tbi = NULL; uint32_t first2fill, avail, dw2; struct rte_mbuf *txm = tx_pkts[nb_tx]; struct rte_mbuf *m_seg = txm; @@ -458,18 +458,18 @@ vmxnet3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, continue; } + /* Skip empty packets */ + if (unlikely(rte_pktmbuf_pkt_len(txm) == 0)) { + txq->stats.drop_total++; + rte_pktmbuf_free(txm); + nb_tx++; + continue; + } + if (txm->nb_segs == 1 && rte_pktmbuf_pkt_len(txm) <= txq->txdata_desc_size) { struct Vmxnet3_TxDataDesc *tdd; - /* Skip empty packets */ - if (unlikely(rte_pktmbuf_pkt_len(txm) == 0)) { - txq->stats.drop_total++; - rte_pktmbuf_free(txm); - nb_tx++; - continue; - } - tdd = (struct Vmxnet3_TxDataDesc *) ((uint8 *)txq->data_ring.base + txq->cmd_ring.next2fill * @@ -482,6 +482,10 @@ vmxnet3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, dw2 = (txq->cmd_ring.gen ^ 0x1) << VMXNET3_TXD_GEN_SHIFT; first2fill = txq->cmd_ring.next2fill; do { + /* Skip empty segments */ + if (unlikely(m_seg->data_len == 0)) + continue; + /* Remember the transmit buffer for cleanup */ tbi = txq->cmd_ring.buf_info + txq->cmd_ring.next2fill; @@ -491,10 +495,6 @@ vmxnet3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, */ gdesc = txq->cmd_ring.base + txq->cmd_ring.next2fill; - /* Skip empty segments */ - if (unlikely(m_seg->data_len == 0)) - continue; - if (copy_size) { uint64 offset = (uint64)txq->cmd_ring.next2fill * @@ -515,6 +515,11 @@ vmxnet3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, /* use the right gen for non-SOP desc */ dw2 = txq->cmd_ring.gen << VMXNET3_TXD_GEN_SHIFT; } while ((m_seg = m_seg->next) != NULL); + /* We must have executed the complete preceding loop at least + * once without skipping an empty segment, as we can't have + * a packet with only empty segments. + * Thus, tbi and gdesc have been initialized. + */ /* set the last buf_info for the pkt */ tbi->m = txm; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.031399370 +0100 +++ 0024-net-vmxnet3-fix-drop-of-empty-segments-in-Tx.patch 2023-06-15 01:56:34.555541041 +0100 @@ -1 +1 @@ -From b44f3e1381f3910be50d03c784f5c073c25245dd Mon Sep 17 00:00:00 2001 +From 798cbf1de5b99243415347b49f97fc6f799a5998 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit b44f3e1381f3910be50d03c784f5c073c25245dd ] + @@ -15 +16,0 @@ -Cc: stable@dpdk.org @@ -24 +25 @@ -index 39ad0726cb..148f65383e 100644 +index 40b366854d..91bcfcd6fd 100644 @@ -27 +28 @@ -@@ -418,8 +418,8 @@ vmxnet3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, +@@ -413,8 +413,8 @@ vmxnet3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, @@ -38 +39 @@ -@@ -465,18 +465,18 @@ vmxnet3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, +@@ -458,18 +458,18 @@ vmxnet3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, @@ -65 +66 @@ -@@ -489,6 +489,10 @@ vmxnet3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, +@@ -482,6 +482,10 @@ vmxnet3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, @@ -76 +77 @@ -@@ -498,10 +502,6 @@ vmxnet3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, +@@ -491,10 +495,6 @@ vmxnet3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, @@ -87 +88 @@ -@@ -522,6 +522,11 @@ vmxnet3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, +@@ -515,6 +515,11 @@ vmxnet3_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/txgbe: fix use-after-free on remove' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (22 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/vmxnet3: fix drop of empty segments in Tx' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'ethdev: fix MAC address occupies two entries' " luca.boccassi ` (37 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Yunjian Wang; +Cc: Pengfei Sun, Jiawen Wu, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/3d791ce89a00e5130179fae8fd34043cfc575bc3 Thanks. Luca Boccassi --- From 3d791ce89a00e5130179fae8fd34043cfc575bc3 Mon Sep 17 00:00:00 2001 From: Yunjian Wang <wangyunjian@huawei.com> Date: Thu, 18 May 2023 15:11:24 +0800 Subject: [PATCH] net/txgbe: fix use-after-free on remove [ upstream commit 0105788ebac6c796f30361912377550207084a17 ] When cleaning up NIC's interrupts, it is possible to add some alarms at the same time. However, if these alarms are not canceled, it may cause use-after-free problems. Therefore, after cleaning up NIC's interrupts, these alarms should also be canceled. Fixes: d3bb4a04eac1 ("net/txgbe: add SFP hotplug identification") Fixes: e0d876ef6bbc ("net/txgbe: support device stop and close") Reported-by: Pengfei Sun <sunpengfei16@huawei.com> Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> Reviewed-by: Jiawen Wu <jiawenwu@trustnetic.com> --- drivers/net/txgbe/txgbe_ethdev.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/txgbe/txgbe_ethdev.c b/drivers/net/txgbe/txgbe_ethdev.c index dd5b54b83f..a9797ff95b 100644 --- a/drivers/net/txgbe/txgbe_ethdev.c +++ b/drivers/net/txgbe/txgbe_ethdev.c @@ -1792,8 +1792,9 @@ txgbe_dev_close(struct rte_eth_dev *dev) rte_delay_ms(100); } while (retries++ < (10 + TXGBE_LINK_UP_TIME)); - /* cancel the delay handler before remove dev */ + /* cancel all alarm handler before remove dev */ rte_eal_alarm_cancel(txgbe_dev_interrupt_delayed_handler, dev); + rte_eal_alarm_cancel(txgbe_dev_setup_link_alarm_handler, dev); /* uninitialize PF if max_vfs not zero */ txgbe_pf_host_uninit(dev); -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.075650326 +0100 +++ 0025-net-txgbe-fix-use-after-free-on-remove.patch 2023-06-15 01:56:34.559541129 +0100 @@ -1 +1 @@ -From 0105788ebac6c796f30361912377550207084a17 Mon Sep 17 00:00:00 2001 +From 3d791ce89a00e5130179fae8fd34043cfc575bc3 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 0105788ebac6c796f30361912377550207084a17 ] + @@ -13 +14,0 @@ -Cc: stable@dpdk.org @@ -19,3 +20,2 @@ - .mailmap | 1 + - drivers/net/txgbe/txgbe_ethdev.c | 4 +++- - 2 files changed, 4 insertions(+), 1 deletion(-) + drivers/net/txgbe/txgbe_ethdev.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) @@ -23,12 +22,0 @@ -diff --git a/.mailmap b/.mailmap -index c5dd75633d..034fb27843 100644 ---- a/.mailmap -+++ b/.mailmap -@@ -1049,6 +1049,7 @@ Pawel Rutkowski <pawelx.rutkowski@intel.com> - Pawel Wodkowski <pawelwod@gmail.com> <pawelx.wodkowski@intel.com> <pawelx.wdkowski@intel.com> - Pei Chao <peichao85@gmail.com> - Pei Zhang <pezhang@redhat.com> -+Pengfei Sun <sunpengfei16@huawei.com> - Peng He <hepeng.0320@bytedance.com> <xnhp0320@icloud.com> - Peng Huang <peng.huang@intel.com> - Peng Sun <peng.a.sun@intel.com> @@ -36 +24 @@ -index a502618bc5..a3d7461951 100644 +index dd5b54b83f..a9797ff95b 100644 @@ -39 +27 @@ -@@ -2032,8 +2032,10 @@ txgbe_dev_close(struct rte_eth_dev *dev) +@@ -1792,8 +1792,9 @@ txgbe_dev_close(struct rte_eth_dev *dev) @@ -46 +33,0 @@ -+ rte_eal_alarm_cancel(txgbe_dev_detect_sfp, dev); ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'ethdev: fix MAC address occupies two entries' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (23 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/txgbe: fix use-after-free on remove' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix variable type mismatch' " luca.boccassi ` (36 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Huisong Li; +Cc: Chengwen Feng, Thomas Monjalon, Ferruh Yigit, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/2928ea4fedd0902a8f85af2aceca90e24c116759 Thanks. Luca Boccassi --- From 2928ea4fedd0902a8f85af2aceca90e24c116759 Mon Sep 17 00:00:00 2001 From: Huisong Li <lihuisong@huawei.com> Date: Fri, 19 May 2023 17:31:55 +0800 Subject: [PATCH] ethdev: fix MAC address occupies two entries [ upstream commit 8f02f472a29432650d999969359d6a49ea6aadca ] The dev->data->mac_addrs[0] will be changed to a new MAC address when applications modify the default MAC address by .mac_addr_set(). However, if the new default one has been added as a non-default MAC address by .mac_addr_add(), the .mac_addr_set() didn't check this address. As a result, this MAC address occupies two entries in the list. Like: add(MAC1) add(MAC2) add(MAC3) add(MAC4) set_default(MAC3) default=MAC3, the rest of the list=MAC1, MAC2, MAC3, MAC4 Note: MAC3 occupies two entries. But .mac_addr_set() cannot remove it implicitly in case of MAC address shrinking in the list. So this patch adds a check on whether the new default address was already in the list and if so requires the user to remove it first. In addition, this patch documents the position of the default MAC address and address unique in the list. Fixes: 854d8ad4ef68 ("ethdev: add default mac address modifier") Signed-off-by: Huisong Li <lihuisong@huawei.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com> --- lib/librte_ethdev/rte_ethdev.c | 10 ++++++++++ lib/librte_ethdev/rte_ethdev.h | 4 ++++ 2 files changed, 14 insertions(+) diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c index 4b59854c12..b5c5af3cf5 100644 --- a/lib/librte_ethdev/rte_ethdev.c +++ b/lib/librte_ethdev/rte_ethdev.c @@ -4150,6 +4150,7 @@ int rte_eth_dev_default_mac_addr_set(uint16_t port_id, struct rte_ether_addr *addr) { struct rte_eth_dev *dev; + int index; int ret; RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV); @@ -4160,6 +4161,15 @@ rte_eth_dev_default_mac_addr_set(uint16_t port_id, struct rte_ether_addr *addr) dev = &rte_eth_devices[port_id]; RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->mac_addr_set, -ENOTSUP); + /* Keep address unique in dev->data->mac_addrs[]. */ + index = eth_dev_get_mac_addr_index(port_id, addr); + if (index > 0) { + RTE_ETHDEV_LOG(ERR, + "New default address for port %u was already in the address list. Please remove it first.\n", + port_id); + return -EEXIST; + } + ret = (*dev->dev_ops->mac_addr_set)(dev, addr); if (ret < 0) return ret; diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h index 5e8331da1c..709563215f 100644 --- a/lib/librte_ethdev/rte_ethdev.h +++ b/lib/librte_ethdev/rte_ethdev.h @@ -3840,6 +3840,9 @@ int rte_eth_dev_mac_addr_remove(uint16_t port_id, /** * Set the default MAC address. + * It replaces the address at index 0 of the MAC address list. + * If the address was already in the MAC address list, + * please remove it first. * * @param port_id * The port identifier of the Ethernet device. @@ -3850,6 +3853,7 @@ int rte_eth_dev_mac_addr_remove(uint16_t port_id, * - (-ENOTSUP) if hardware doesn't support. * - (-ENODEV) if *port* invalid. * - (-EINVAL) if MAC address is invalid. + * - (-EEXIST) if MAC address was already in the address list. */ int rte_eth_dev_default_mac_addr_set(uint16_t port_id, struct rte_ether_addr *mac_addr); -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.122879824 +0100 +++ 0026-ethdev-fix-MAC-address-occupies-two-entries.patch 2023-06-15 01:56:34.575541478 +0100 @@ -1 +1 @@ -From 8f02f472a29432650d999969359d6a49ea6aadca Mon Sep 17 00:00:00 2001 +From 2928ea4fedd0902a8f85af2aceca90e24c116759 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 8f02f472a29432650d999969359d6a49ea6aadca ] + @@ -28 +29,0 @@ -Cc: stable@dpdk.org @@ -35,45 +36,9 @@ - doc/guides/rel_notes/release_23_07.rst | 6 ++++++ - lib/ethdev/ethdev_driver.h | 6 +++++- - lib/ethdev/rte_ethdev.c | 10 ++++++++++ - lib/ethdev/rte_ethdev.h | 4 ++++ - 4 files changed, 25 insertions(+), 1 deletion(-) - -diff --git a/doc/guides/rel_notes/release_23_07.rst b/doc/guides/rel_notes/release_23_07.rst -index 11cf5c6a0c..58d4e59487 100644 ---- a/doc/guides/rel_notes/release_23_07.rst -+++ b/doc/guides/rel_notes/release_23_07.rst -@@ -108,6 +108,12 @@ API Changes - Also, make sure to start the actual text at the margin. - ======================================================= - -+* ethdev: Ensured all entries in MAC address list are uniques. -+ When setting a default MAC address with the function -+ ``rte_eth_dev_default_mac_addr_set``, -+ the default one needs to be removed by the user -+ if it was already in the address list. -+ - - ABI Changes - ----------- -diff --git a/lib/ethdev/ethdev_driver.h b/lib/ethdev/ethdev_driver.h -index 2c9d615fb5..367c0c4878 100644 ---- a/lib/ethdev/ethdev_driver.h -+++ b/lib/ethdev/ethdev_driver.h -@@ -117,7 +117,11 @@ struct rte_eth_dev_data { - - uint64_t rx_mbuf_alloc_failed; /**< Rx ring mbuf allocation failures */ - -- /** Device Ethernet link address. @see rte_eth_dev_release_port() */ -+ /** -+ * Device Ethernet link addresses. -+ * All entries are unique. -+ * The first entry (index zero) is the default address. -+ */ - struct rte_ether_addr *mac_addrs; - /** Bitmap associating MAC addresses to pools */ - uint64_t mac_pool_sel[RTE_ETH_NUM_RECEIVE_MAC_ADDR]; -diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c -index 4d03255683..d46e74504e 100644 ---- a/lib/ethdev/rte_ethdev.c -+++ b/lib/ethdev/rte_ethdev.c -@@ -4898,6 +4898,7 @@ int + lib/librte_ethdev/rte_ethdev.c | 10 ++++++++++ + lib/librte_ethdev/rte_ethdev.h | 4 ++++ + 2 files changed, 14 insertions(+) + +diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c +index 4b59854c12..b5c5af3cf5 100644 +--- a/lib/librte_ethdev/rte_ethdev.c ++++ b/lib/librte_ethdev/rte_ethdev.c +@@ -4150,6 +4150,7 @@ int @@ -87,3 +52,3 @@ -@@ -4916,6 +4917,15 @@ rte_eth_dev_default_mac_addr_set(uint16_t port_id, struct rte_ether_addr *addr) - if (*dev->dev_ops->mac_addr_set == NULL) - return -ENOTSUP; +@@ -4160,6 +4161,15 @@ rte_eth_dev_default_mac_addr_set(uint16_t port_id, struct rte_ether_addr *addr) + dev = &rte_eth_devices[port_id]; + RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->mac_addr_set, -ENOTSUP); @@ -103,5 +68,5 @@ -diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h -index 99fe9e238b..fe8f7466c8 100644 ---- a/lib/ethdev/rte_ethdev.h -+++ b/lib/ethdev/rte_ethdev.h -@@ -4381,6 +4381,9 @@ int rte_eth_dev_mac_addr_remove(uint16_t port_id, +diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h +index 5e8331da1c..709563215f 100644 +--- a/lib/librte_ethdev/rte_ethdev.h ++++ b/lib/librte_ethdev/rte_ethdev.h +@@ -3840,6 +3840,9 @@ int rte_eth_dev_mac_addr_remove(uint16_t port_id, @@ -117 +82 @@ -@@ -4391,6 +4394,7 @@ int rte_eth_dev_mac_addr_remove(uint16_t port_id, +@@ -3850,6 +3853,7 @@ int rte_eth_dev_mac_addr_remove(uint16_t port_id, ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/hns3: fix variable type mismatch' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (24 preceding siblings ...) 2023-06-15 1:32 ` patch 'ethdev: fix MAC address occupies two entries' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix Rx multiple firmware reset interrupts' " luca.boccassi ` (35 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Dengdui Huang; +Cc: Dongdong Liu, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/cb532b2040d32a84c7356766f37d73d0f2c2666a Thanks. Luca Boccassi --- From cb532b2040d32a84c7356766f37d73d0f2c2666a Mon Sep 17 00:00:00 2001 From: Dengdui Huang <huangdengdui@huawei.com> Date: Mon, 22 May 2023 21:17:38 +0800 Subject: [PATCH] net/hns3: fix variable type mismatch [ upstream commit 1bbac8785cdf51bc6c5005c6754eab4d517cc4b0 ] Loop conditions are compared with different variable types, which may cause overflow risks. Fixes: 67d010346933 ("net/hns3: adjust data type of some variables") Fixes: 6ee07e3cb589 ("net/hns3: fix insecure way to query MAC statistics") Signed-off-by: Dengdui Huang <huangdengdui@huawei.com> Signed-off-by: Dongdong Liu <liudongdong3@huawei.com> --- drivers/net/hns3/hns3_regs.c | 5 +++-- drivers/net/hns3/hns3_stats.c | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/net/hns3/hns3_regs.c b/drivers/net/hns3/hns3_regs.c index cbc377adee..91261b1b1f 100644 --- a/drivers/net/hns3/hns3_regs.c +++ b/drivers/net/hns3/hns3_regs.c @@ -270,8 +270,9 @@ hns3_direct_access_regs(struct hns3_hw *hw, uint32_t *data) struct hns3_adapter *hns = HNS3_DEV_HW_TO_ADAPTER(hw); uint32_t *origin_data_ptr = data; uint32_t reg_offset; - int reg_num; - int i, j; + size_t reg_num; + uint16_t j; + size_t i; /* fetching per-PF registers values from PF PCIe register space */ reg_num = sizeof(cmdq_reg_addrs) / sizeof(uint32_t); diff --git a/drivers/net/hns3/hns3_stats.c b/drivers/net/hns3/hns3_stats.c index 16cca25862..7e645361cf 100644 --- a/drivers/net/hns3/hns3_stats.c +++ b/drivers/net/hns3/hns3_stats.c @@ -338,7 +338,7 @@ hns3_update_mac_stats(struct hns3_hw *hw) uint32_t stats_iterms; uint64_t *desc_data; uint32_t desc_num; - uint16_t i; + uint32_t i; int ret; /* The first desc has a 64-bit header, so need to consider it. */ -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.176557594 +0100 +++ 0027-net-hns3-fix-variable-type-mismatch.patch 2023-06-15 01:56:34.575541478 +0100 @@ -1 +1 @@ -From 1bbac8785cdf51bc6c5005c6754eab4d517cc4b0 Mon Sep 17 00:00:00 2001 +From cb532b2040d32a84c7356766f37d73d0f2c2666a Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 1bbac8785cdf51bc6c5005c6754eab4d517cc4b0 ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -16,2 +17 @@ - .mailmap | 1 + - drivers/net/hns3/hns3_regs.c | 3 ++- + drivers/net/hns3/hns3_regs.c | 5 +++-- @@ -19 +19 @@ - 3 files changed, 4 insertions(+), 2 deletions(-) + 2 files changed, 4 insertions(+), 3 deletions(-) @@ -21,12 +20,0 @@ -diff --git a/.mailmap b/.mailmap -index 863dbecdb0..f00c1e5457 100644 ---- a/.mailmap -+++ b/.mailmap -@@ -301,6 +301,7 @@ Deepak Khandelwal <deepak.khandelwal@intel.com> - Deepak Kumar Jain <deepak.k.jain@intel.com> - Deirdre O'Connor <deirdre.o.connor@intel.com> - Dekel Peled <dekelp@nvidia.com> <dekelp@mellanox.com> -+Dengdui Huang <huangdengdui@huawei.com> - Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am> - Dennis Marinus <dmarinus@amazon.com> - Derek Chickles <derek.chickles@caviumnetworks.com> @@ -34 +22 @@ -index 33392fd1f0..5d6f92e4bb 100644 +index cbc377adee..91261b1b1f 100644 @@ -37 +25 @@ -@@ -294,8 +294,9 @@ hns3_direct_access_regs(struct hns3_hw *hw, uint32_t *data) +@@ -270,8 +270,9 @@ hns3_direct_access_regs(struct hns3_hw *hw, uint32_t *data) @@ -41,2 +29,3 @@ -- uint16_t i, j; - size_t reg_num; +- int reg_num; +- int i, j; ++ size_t reg_num; @@ -49 +38 @@ -index bad65fcbed..c2e692a2c5 100644 +index 16cca25862..7e645361cf 100644 @@ -52 +41 @@ -@@ -317,7 +317,7 @@ hns3_update_mac_stats(struct hns3_hw *hw) +@@ -338,7 +338,7 @@ hns3_update_mac_stats(struct hns3_hw *hw) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/hns3: fix Rx multiple firmware reset interrupts' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (25 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/hns3: fix variable type mismatch' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix FEC mode for 200G ports' " luca.boccassi ` (34 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Chengwen Feng; +Cc: Dongdong Liu, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/cce2668a9359a171d9742886b0db905aeb094586 Thanks. Luca Boccassi --- From cce2668a9359a171d9742886b0db905aeb094586 Mon Sep 17 00:00:00 2001 From: Chengwen Feng <fengchengwen@huawei.com> Date: Mon, 22 May 2023 21:17:39 +0800 Subject: [PATCH] net/hns3: fix Rx multiple firmware reset interrupts [ upstream commit e3c71325cec3353c4b9623310ece363a7c79604f ] In the firmware (also known as IMP) reset scenario, driver interrupt processing and firmware watchdog initialization are asynchronous. If the driver interrupt processing is faster than firmware watchdog initialization (that is, the driver clears the firmware reset interrupt source before the firmware watchdog is initialized), the driver will receive multiple firmware reset interrupts. In the Kunpeng 920 platform, the above situation does not exist. But it does on the newer platforms. So we add 5ms delay before drivers clears the IMP reset interrupt source. As for the impact of 5ms, the number of PFs managed by a firmware is limited. Therefore, even if a DPDK process takes over all the PFs which managed by the firmware, the delay is controllable. Fixes: ee930d38ffca ("net/hns3: fix timing of clearing interrupt source") Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Signed-off-by: Dongdong Liu <liudongdong3@huawei.com> --- drivers/net/hns3/hns3_ethdev.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c index 1ffa67f9e7..5561e80045 100644 --- a/drivers/net/hns3/hns3_ethdev.c +++ b/drivers/net/hns3/hns3_ethdev.c @@ -226,6 +226,19 @@ hns3_clear_all_event_cause(struct hns3_hw *hw) hns3_clear_event_cause(hw, HNS3_VECTOR0_EVENT_MBX, 0); } +static void +hns3_delay_before_clear_event_cause(struct hns3_hw *hw, uint32_t event_type, uint32_t regclr) +{ +#define IMPRESET_WAIT_MS_TIME 5 + + if (event_type == HNS3_VECTOR0_EVENT_RST && + regclr & BIT(HNS3_VECTOR0_IMPRESET_INT_B) && + hw->revision >= PCI_REVISION_ID_HIP09_A) { + rte_delay_ms(IMPRESET_WAIT_MS_TIME); + hns3_dbg(hw, "wait firmware watchdog initialization completed."); + } +} + static void hns3_interrupt_handler(void *param) { @@ -239,6 +252,7 @@ hns3_interrupt_handler(void *param) hns3_pf_disable_irq0(hw); event_cause = hns3_check_event_cause(hns, &clearval); + hns3_delay_before_clear_event_cause(hw, event_cause, clearval); hns3_clear_event_cause(hw, event_cause, clearval); /* vector 0 interrupt is shared with reset and mailbox source events. */ if (event_cause == HNS3_VECTOR0_EVENT_ERR) { -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.220911976 +0100 +++ 0028-net-hns3-fix-Rx-multiple-firmware-reset-interrupts.patch 2023-06-15 01:56:34.583541653 +0100 @@ -1 +1 @@ -From e3c71325cec3353c4b9623310ece363a7c79604f Mon Sep 17 00:00:00 2001 +From cce2668a9359a171d9742886b0db905aeb094586 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit e3c71325cec3353c4b9623310ece363a7c79604f ] + @@ -23 +24,0 @@ -Cc: stable@dpdk.org @@ -32 +33 @@ -index 5ef66f96c6..664226a6ef 100644 +index 1ffa67f9e7..5561e80045 100644 @@ -35,2 +36,2 @@ -@@ -286,6 +286,19 @@ hns3_handle_mac_tnl(struct hns3_hw *hw) - } +@@ -226,6 +226,19 @@ hns3_clear_all_event_cause(struct hns3_hw *hw) + hns3_clear_event_cause(hw, HNS3_VECTOR0_EVENT_MBX, 0); @@ -55,4 +56,4 @@ -@@ -305,6 +318,7 @@ hns3_interrupt_handler(void *param) - vector0_int = hns3_read_dev(hw, HNS3_VECTOR0_OTHER_INT_STS_REG); - ras_int = hns3_read_dev(hw, HNS3_RAS_PF_OTHER_INT_STS_REG); - cmdq_int = hns3_read_dev(hw, HNS3_VECTOR0_CMDQ_SRC_REG); +@@ -239,6 +252,7 @@ hns3_interrupt_handler(void *param) + hns3_pf_disable_irq0(hw); + + event_cause = hns3_check_event_cause(hns, &clearval); ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/hns3: fix FEC mode for 200G ports' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (26 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/hns3: fix Rx multiple firmware reset interrupts' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix FEC mode check' " luca.boccassi ` (33 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Jie Hai; +Cc: Dongdong Liu, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/adbae13f9db61b672fb397f5773a509fabd44568 Thanks. Luca Boccassi --- From adbae13f9db61b672fb397f5773a509fabd44568 Mon Sep 17 00:00:00 2001 From: Jie Hai <haijie1@huawei.com> Date: Sat, 8 Apr 2023 10:27:33 +0800 Subject: [PATCH] net/hns3: fix FEC mode for 200G ports [ upstream commit 0f015da9e207d43a8676714661209b76a8f062d1 ] The hardware does not support NOFEC for 200G ports. So delete this bit. Fixes: 9bf2ea8dbc65 ("net/hns3: support FEC") Signed-off-by: Jie Hai <haijie1@huawei.com> Signed-off-by: Dongdong Liu <liudongdong3@huawei.com> --- drivers/net/hns3/hns3_ethdev.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c index 5561e80045..c1b90ab025 100644 --- a/drivers/net/hns3/hns3_ethdev.c +++ b/drivers/net/hns3/hns3_ethdev.c @@ -83,8 +83,7 @@ static const struct rte_eth_fec_capa speed_fec_capa_tbl[] = { RTE_ETH_FEC_MODE_CAPA_MASK(AUTO) | RTE_ETH_FEC_MODE_CAPA_MASK(RS) }, - { ETH_SPEED_NUM_200G, RTE_ETH_FEC_MODE_CAPA_MASK(NOFEC) | - RTE_ETH_FEC_MODE_CAPA_MASK(AUTO) | + { ETH_SPEED_NUM_200G, RTE_ETH_FEC_MODE_CAPA_MASK(AUTO) | RTE_ETH_FEC_MODE_CAPA_MASK(RS) } }; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.267730698 +0100 +++ 0029-net-hns3-fix-FEC-mode-for-200G-ports.patch 2023-06-15 01:56:34.591541828 +0100 @@ -1 +1 @@ -From 0f015da9e207d43a8676714661209b76a8f062d1 Mon Sep 17 00:00:00 2001 +From adbae13f9db61b672fb397f5773a509fabd44568 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 0f015da9e207d43a8676714661209b76a8f062d1 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index 07d907d6a1..94eadefb8e 100644 +index 5561e80045..c1b90ab025 100644 @@ -26 +27 @@ -- { RTE_ETH_SPEED_NUM_200G, RTE_ETH_FEC_MODE_CAPA_MASK(NOFEC) | +- { ETH_SPEED_NUM_200G, RTE_ETH_FEC_MODE_CAPA_MASK(NOFEC) | @@ -28 +29 @@ -+ { RTE_ETH_SPEED_NUM_200G, RTE_ETH_FEC_MODE_CAPA_MASK(AUTO) | ++ { ETH_SPEED_NUM_200G, RTE_ETH_FEC_MODE_CAPA_MASK(AUTO) | ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/hns3: fix FEC mode check' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (27 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/hns3: fix FEC mode for 200G ports' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'doc: fix format in flow API guide' " luca.boccassi ` (32 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Jie Hai; +Cc: Dongdong Liu, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/511ebf2d683b28f3175b28b172b4ba4af39b2270 Thanks. Luca Boccassi --- From 511ebf2d683b28f3175b28b172b4ba4af39b2270 Mon Sep 17 00:00:00 2001 From: Jie Hai <haijie1@huawei.com> Date: Sat, 8 Apr 2023 10:27:34 +0800 Subject: [PATCH] net/hns3: fix FEC mode check [ upstream commit 0cf0f931267ae751c503dba929307bb2a6acbbfa ] The function is_fec_mode_one_bit_set() is used to check whether the binary of the mode from user only contains one '1'. But it uses the bytes number this mode variable occupied to calculate the count. So this patch uses __builtin_popcount() to replace it. This patch also extracts the code for verifying mode parameter into a function. Fixes: 9bf2ea8dbc65 ("net/hns3: support FEC") Signed-off-by: Jie Hai <haijie1@huawei.com> Signed-off-by: Dongdong Liu <liudongdong3@huawei.com> --- drivers/net/hns3/hns3_ethdev.c | 51 ++++++++++++++++------------------ 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c index c1b90ab025..5d685b17f4 100644 --- a/drivers/net/hns3/hns3_ethdev.c +++ b/drivers/net/hns3/hns3_ethdev.c @@ -6095,53 +6095,50 @@ get_current_speed_fec_cap(struct hns3_hw *hw, struct rte_eth_fec_capa *fec_capa) return cur_capa; } -static bool -is_fec_mode_one_bit_set(uint32_t mode) -{ - int cnt = 0; - uint8_t i; - - for (i = 0; i < sizeof(mode); i++) - if (mode >> i & 0x1) - cnt++; - - return cnt == 1 ? true : false; -} - static int -hns3_fec_set(struct rte_eth_dev *dev, uint32_t mode) +hns3_fec_mode_valid(struct rte_eth_dev *dev, uint32_t mode) { #define FEC_CAPA_NUM 2 struct hns3_adapter *hns = dev->data->dev_private; struct hns3_hw *hw = HNS3_DEV_PRIVATE_TO_HW(hns); - struct hns3_pf *pf = &hns->pf; - struct rte_eth_fec_capa fec_capa[FEC_CAPA_NUM]; - uint32_t cur_capa; uint32_t num = FEC_CAPA_NUM; + uint32_t cur_capa; int ret; + if (__builtin_popcount(mode) != 1) { + hns3_err(hw, "FEC mode(0x%x) should be only one bit set", mode); + return -EINVAL; + } + ret = hns3_fec_get_capability(dev, fec_capa, num); if (ret < 0) return ret; - - /* HNS3 PMD only support one bit set mode, e.g. 0x1, 0x4 */ - if (!is_fec_mode_one_bit_set(mode)) { - hns3_err(hw, "FEC mode(0x%x) not supported in HNS3 PMD, " - "FEC mode should be only one bit set", mode); - return -EINVAL; - } - /* * Check whether the configured mode is within the FEC capability. * If not, the configured mode will not be supported. */ cur_capa = get_current_speed_fec_cap(hw, fec_capa); - if (!(cur_capa & mode)) { - hns3_err(hw, "unsupported FEC mode = 0x%x", mode); + if ((cur_capa & mode) == 0) { + hns3_err(hw, "unsupported FEC mode(0x%x)", mode); return -EINVAL; } + return 0; +} + +static int +hns3_fec_set(struct rte_eth_dev *dev, uint32_t mode) +{ + struct hns3_adapter *hns = dev->data->dev_private; + struct hns3_hw *hw = HNS3_DEV_PRIVATE_TO_HW(hns); + struct hns3_pf *pf = &hns->pf; + int ret; + + ret = hns3_fec_mode_valid(dev, mode); + if (ret != 0) + return ret; + rte_spinlock_lock(&hw->lock); ret = hns3_set_fec_hw(hw, mode); if (ret) { -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.313822933 +0100 +++ 0030-net-hns3-fix-FEC-mode-check.patch 2023-06-15 01:56:34.599542003 +0100 @@ -1 +1 @@ -From 0cf0f931267ae751c503dba929307bb2a6acbbfa Mon Sep 17 00:00:00 2001 +From 511ebf2d683b28f3175b28b172b4ba4af39b2270 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 0cf0f931267ae751c503dba929307bb2a6acbbfa ] + @@ -15 +16,0 @@ -Cc: stable@dpdk.org @@ -20,2 +21,2 @@ - drivers/net/hns3/hns3_ethdev.c | 50 ++++++++++++++++------------------ - 1 file changed, 24 insertions(+), 26 deletions(-) + drivers/net/hns3/hns3_ethdev.c | 51 ++++++++++++++++------------------ + 1 file changed, 24 insertions(+), 27 deletions(-) @@ -24 +25 @@ -index 94eadefb8e..4e8efa468d 100644 +index c1b90ab025..5d685b17f4 100644 @@ -27 +28 @@ -@@ -6139,52 +6139,50 @@ get_current_speed_fec_cap(struct hns3_hw *hw, struct rte_eth_fec_capa *fec_capa) +@@ -6095,53 +6095,50 @@ get_current_speed_fec_cap(struct hns3_hw *hw, struct rte_eth_fec_capa *fec_capa) @@ -51,0 +53 @@ +- ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'doc: fix format in flow API guide' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (28 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/hns3: fix FEC mode check' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix mbuf leakage when RxQ started during reset' " luca.boccassi ` (31 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Michael Baum; +Cc: Ori Kam, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/f4151bae8a345edbe7a74f378185cfaf45b01752 Thanks. Luca Boccassi --- From f4151bae8a345edbe7a74f378185cfaf45b01752 Mon Sep 17 00:00:00 2001 From: Michael Baum <michaelba@nvidia.com> Date: Wed, 24 May 2023 00:31:53 +0300 Subject: [PATCH] doc: fix format in flow API guide [ upstream commit 5d254667810fffe59190ca208a078bcb666a2a71 ] The modify field action description inside "Generic flow API (rte_flow)" documentation, lists all operations supported for a destination field. In addition, it lists the values supported for a encapsulation level field. Before the lists, in both cases, miss a blank line causing them to look regular text lines. This patch adds the blank lines. The asynchronous operations description inside "Generic flow API (rte_flow)" documentation, adds some bullets to describe asynchronous operations behavior. Before the first bullet, miss a blank line causing it to look a regular text line. This patch adds the blank line. The RSS action description inside "Generic flow API (rte_flow)" documentation, lists the values supported for a encapsulation level field. For "2" value, it uses 3 spaces as an indentation instead of 2 after line breaking, causing the first line to be bold. This patch updates the number of spaces in the indentation. Fixes: 73b68f4c54a0 ("ethdev: introduce generic modify flow action") Fixes: 197e820c6685 ("ethdev: bring in async queue-based flow rules operations") Fixes: 18aee2861a1f ("ethdev: add encap level to RSS flow API action") Signed-off-by: Michael Baum <michaelba@nvidia.com> Acked-by: Ori Kam <orika@nvidia.com> --- doc/guides/prog_guide/rte_flow.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst index 10e6d06853..6ac00d424f 100644 --- a/doc/guides/prog_guide/rte_flow.rst +++ b/doc/guides/prog_guide/rte_flow.rst @@ -1800,8 +1800,8 @@ Also, regarding packet encapsulation ``level``: level. - ``2`` and subsequent values request RSS to be performed on the specified - inner packet encapsulation level, from outermost to innermost (lower to - higher values). + inner packet encapsulation level, from outermost to innermost (lower to + higher values). Values other than ``0`` are not necessarily supported. -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.360753612 +0100 +++ 0031-doc-fix-format-in-flow-API-guide.patch 2023-06-15 01:56:34.603542090 +0100 @@ -1 +1 @@ -From 5d254667810fffe59190ca208a078bcb666a2a71 Mon Sep 17 00:00:00 2001 +From f4151bae8a345edbe7a74f378185cfaf45b01752 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 5d254667810fffe59190ca208a078bcb666a2a71 ] + @@ -31 +32,0 @@ -Cc: stable@dpdk.org @@ -36,2 +37,2 @@ - doc/guides/prog_guide/rte_flow.rst | 20 ++++++++++++-------- - 1 file changed, 12 insertions(+), 8 deletions(-) + doc/guides/prog_guide/rte_flow.rst | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) @@ -40 +41 @@ -index 27fa3dd304..7116c9ce23 100644 +index 10e6d06853..6ac00d424f 100644 @@ -43 +44 @@ -@@ -1968,8 +1968,8 @@ Also, regarding packet encapsulation ``level``: +@@ -1800,8 +1800,8 @@ Also, regarding packet encapsulation ``level``: @@ -54,38 +54,0 @@ -@@ -3049,20 +3049,23 @@ The immediate value ``RTE_FLOW_FIELD_VALUE`` (or a pointer to it - ``RTE_FLOW_FIELD_START`` is used to point to the beginning of a packet. - See ``enum rte_flow_field_id`` for the list of supported fields. - --``op`` selects the operation to perform on a destination field. -+``op`` selects the operation to perform on a destination field: -+ - - ``set`` copies the data from ``src`` field to ``dst`` field. - - ``add`` adds together ``dst`` and ``src`` and stores the result into ``dst``. --- ``sub`` subtracts ``src`` from ``dst`` and stores the result into ``dst`` -+- ``sub`` subtracts ``src`` from ``dst`` and stores the result into ``dst``. - - ``width`` defines a number of bits to use from ``src`` field. - - ``level`` is used to access any packet field on any encapsulation level --as well as any tag element in the tag array. --- ``0`` means the default behaviour. Depending on the packet type, it can --mean outermost, innermost or anything in between. -+as well as any tag element in the tag array: -+ -+- ``0`` means the default behaviour. Depending on the packet type, -+ it can mean outermost, innermost or anything in between. - - ``1`` requests access to the outermost packet encapsulation level. - - ``2`` and subsequent values requests access to the specified packet --encapsulation level, from outermost to innermost (lower to higher values). -+ encapsulation level, from outermost to innermost (lower to higher values). -+ - For the tag array (in case of multiple tags are supported and present) - ``level`` translates directly into the array index. - -@@ -3856,6 +3859,7 @@ Asynchronous operations - ----------------------- - - Flow rules management can be done via special lockless flow management queues. -+ - - Queue operations are asynchronous and not thread-safe. - - - Operations can thus be invoked by the app's datapath, ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/hns3: fix mbuf leakage when RxQ started during reset' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (29 preceding siblings ...) 2023-06-15 1:32 ` patch 'doc: fix format in flow API guide' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix mbuf leakage when RxQ started after " luca.boccassi ` (30 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Chengwen Feng; +Cc: Dongdong Liu, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/dea7a629dfa59c9e051e75e8f64a526e83562f01 Thanks. Luca Boccassi --- From dea7a629dfa59c9e051e75e8f64a526e83562f01 Mon Sep 17 00:00:00 2001 From: Chengwen Feng <fengchengwen@huawei.com> Date: Fri, 2 Jun 2023 19:41:59 +0800 Subject: [PATCH] net/hns3: fix mbuf leakage when RxQ started during reset [ upstream commit bbc5a31b8ead8a353da5b1c46e0209d2fa9dae24 ] In the reset restore-conf phase, the reset process will allocate for the Rx ring mbufs unconditionlly. And the rte_eth_dev_rx_queue_start() will also allocate for the Rx ring mbufs unconditionlly. So if the rte_eth_dev_rx_queue_start() is invoked before restore-conf phase, then the mbufs allocated by rte_eth_dev_rx_queue_start() will leak. Because the hw->reset.resetting was always true during the phases from stop-service to restore-conf, so fix it by returning an error if the hw->reset.resetting is set. This patch adds the above logic in both rx_queue_start/rx_queue_stop/ tx_queue_start/tx_queue_stop ops. Fixes: fa29fe45a7b4 ("net/hns3: support queue start and stop") Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Signed-off-by: Dongdong Liu <liudongdong3@huawei.com> --- drivers/net/hns3/hns3_rxtx.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c index 18b2b42508..86fac45d5f 100644 --- a/drivers/net/hns3/hns3_rxtx.c +++ b/drivers/net/hns3/hns3_rxtx.c @@ -3997,6 +3997,13 @@ hns3_dev_rx_queue_start(struct rte_eth_dev *dev, uint16_t rx_queue_id) return -ENOTSUP; rte_spinlock_lock(&hw->lock); + + if (rte_atomic16_read(&hw->reset.resetting)) { + hns3_err(hw, "fail to start Rx queue during resetting."); + rte_spinlock_unlock(&hw->lock); + return -EIO; + } + ret = hns3_reset_queue(hw, rx_queue_id, HNS3_RING_TYPE_RX); if (ret) { hns3_err(hw, "fail to reset Rx queue %u, ret = %d.", @@ -4043,6 +4050,13 @@ hns3_dev_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id) return -ENOTSUP; rte_spinlock_lock(&hw->lock); + + if (rte_atomic16_read(&hw->reset.resetting)) { + hns3_err(hw, "fail to stop Rx queue during resetting."); + rte_spinlock_unlock(&hw->lock); + return -EIO; + } + hns3_enable_rxq(rxq, false); hns3_rx_queue_release_mbufs(rxq); @@ -4065,6 +4079,13 @@ hns3_dev_tx_queue_start(struct rte_eth_dev *dev, uint16_t tx_queue_id) return -ENOTSUP; rte_spinlock_lock(&hw->lock); + + if (rte_atomic16_read(&hw->reset.resetting)) { + hns3_err(hw, "fail to start Tx queue during resetting."); + rte_spinlock_unlock(&hw->lock); + return -EIO; + } + ret = hns3_reset_queue(hw, tx_queue_id, HNS3_RING_TYPE_TX); if (ret) { hns3_err(hw, "fail to reset Tx queue %u, ret = %d.", @@ -4091,6 +4112,13 @@ hns3_dev_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id) return -ENOTSUP; rte_spinlock_lock(&hw->lock); + + if (rte_atomic16_read(&hw->reset.resetting)) { + hns3_err(hw, "fail to stop Tx queue during resetting."); + rte_spinlock_unlock(&hw->lock); + return -EIO; + } + hns3_enable_txq(txq, false); hns3_tx_queue_release_mbufs(txq); /* -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.406305518 +0100 +++ 0032-net-hns3-fix-mbuf-leakage-when-RxQ-started-during-re.patch 2023-06-15 01:56:34.607542177 +0100 @@ -1 +1 @@ -From bbc5a31b8ead8a353da5b1c46e0209d2fa9dae24 Mon Sep 17 00:00:00 2001 +From dea7a629dfa59c9e051e75e8f64a526e83562f01 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit bbc5a31b8ead8a353da5b1c46e0209d2fa9dae24 ] + @@ -24 +25,0 @@ -Cc: stable@dpdk.org @@ -33 +34 @@ -index 6468da903e..2bfc5507e3 100644 +index 18b2b42508..86fac45d5f 100644 @@ -36 +37 @@ -@@ -4523,6 +4523,13 @@ hns3_dev_rx_queue_start(struct rte_eth_dev *dev, uint16_t rx_queue_id) +@@ -3997,6 +3997,13 @@ hns3_dev_rx_queue_start(struct rte_eth_dev *dev, uint16_t rx_queue_id) @@ -41 +42 @@ -+ if (__atomic_load_n(&hw->reset.resetting, __ATOMIC_RELAXED)) { ++ if (rte_atomic16_read(&hw->reset.resetting)) { @@ -50 +51 @@ -@@ -4569,6 +4576,13 @@ hns3_dev_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id) +@@ -4043,6 +4050,13 @@ hns3_dev_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id) @@ -55 +56 @@ -+ if (__atomic_load_n(&hw->reset.resetting, __ATOMIC_RELAXED)) { ++ if (rte_atomic16_read(&hw->reset.resetting)) { @@ -64 +65 @@ -@@ -4591,6 +4605,13 @@ hns3_dev_tx_queue_start(struct rte_eth_dev *dev, uint16_t tx_queue_id) +@@ -4065,6 +4079,13 @@ hns3_dev_tx_queue_start(struct rte_eth_dev *dev, uint16_t tx_queue_id) @@ -69 +70 @@ -+ if (__atomic_load_n(&hw->reset.resetting, __ATOMIC_RELAXED)) { ++ if (rte_atomic16_read(&hw->reset.resetting)) { @@ -78 +79 @@ -@@ -4617,6 +4638,13 @@ hns3_dev_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id) +@@ -4091,6 +4112,13 @@ hns3_dev_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id) @@ -83 +84 @@ -+ if (__atomic_load_n(&hw->reset.resetting, __ATOMIC_RELAXED)) { ++ if (rte_atomic16_read(&hw->reset.resetting)) { ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/hns3: fix mbuf leakage when RxQ started after reset' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (30 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/hns3: fix mbuf leakage when RxQ started during reset' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix device start return value' " luca.boccassi ` (29 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Chengwen Feng; +Cc: Dongdong Liu, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/755159ae805c7d106b72f8a2157e338581454377 Thanks. Luca Boccassi --- From 755159ae805c7d106b72f8a2157e338581454377 Mon Sep 17 00:00:00 2001 From: Chengwen Feng <fengchengwen@huawei.com> Date: Fri, 2 Jun 2023 19:42:00 +0800 Subject: [PATCH] net/hns3: fix mbuf leakage when RxQ started after reset [ upstream commit f81a18f491522c56ca7ee6ea78be10c784f2ae32 ] In the reset restore-conf phase, the reset process will allocate for the Rx ring mbufs unconditionlly. And the rte_eth_dev_rx_queue_start() will also allocate for the Rx ring mbufs unconditionlly. So if the rte_eth_dev_rx_queue_start() is invoked after restore-conf phase, then the mbufs allocated in restore-conf phase will leak. So fix it by conditional release Rx ring mbufs in rte_eth_dev_rx_queue_start(): if the Rx ring mbufs were allocated then release them first. This patch also set all sw-ring[]'s mbuf is NULL when release Rx ring mbufs so that we can determine whether the Rx ring mbufs were allocated based only on the first sw-ring[0]'s mbuf. Fixes: fa29fe45a7b4 ("net/hns3: support queue start and stop") Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Signed-off-by: Dongdong Liu <liudongdong3@huawei.com> --- drivers/net/hns3/hns3_rxtx.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c index 86fac45d5f..bf07a5071a 100644 --- a/drivers/net/hns3/hns3_rxtx.c +++ b/drivers/net/hns3/hns3_rxtx.c @@ -54,6 +54,8 @@ hns3_rx_queue_release_mbufs(struct hns3_rx_queue *rxq) rxq->sw_ring[i].mbuf = NULL; } } + for (i = 0; i < rxq->rx_rearm_nb; i++) + rxq->sw_ring[rxq->rx_rearm_start + i].mbuf = NULL; } for (i = 0; i < rxq->bulk_mbuf_num; i++) @@ -4012,6 +4014,9 @@ hns3_dev_rx_queue_start(struct rte_eth_dev *dev, uint16_t rx_queue_id) return ret; } + if (rxq->sw_ring[0].mbuf != NULL) + hns3_rx_queue_release_mbufs(rxq); + ret = hns3_init_rxq(hns, rx_queue_id); if (ret) { hns3_err(hw, "fail to init Rx queue %u, ret = %d.", -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.451052121 +0100 +++ 0033-net-hns3-fix-mbuf-leakage-when-RxQ-started-after-res.patch 2023-06-15 01:56:34.611542265 +0100 @@ -1 +1 @@ -From f81a18f491522c56ca7ee6ea78be10c784f2ae32 Mon Sep 17 00:00:00 2001 +From 755159ae805c7d106b72f8a2157e338581454377 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit f81a18f491522c56ca7ee6ea78be10c784f2ae32 ] + @@ -24 +25,0 @@ -Cc: stable@dpdk.org @@ -33 +34 @@ -index 2bfc5507e3..2493748683 100644 +index 86fac45d5f..bf07a5071a 100644 @@ -36 +37 @@ -@@ -50,6 +50,8 @@ hns3_rx_queue_release_mbufs(struct hns3_rx_queue *rxq) +@@ -54,6 +54,8 @@ hns3_rx_queue_release_mbufs(struct hns3_rx_queue *rxq) @@ -45 +46 @@ -@@ -4538,6 +4540,9 @@ hns3_dev_rx_queue_start(struct rte_eth_dev *dev, uint16_t rx_queue_id) +@@ -4012,6 +4014,9 @@ hns3_dev_rx_queue_start(struct rte_eth_dev *dev, uint16_t rx_queue_id) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/hns3: fix device start return value' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (31 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/hns3: fix mbuf leakage when RxQ started after " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix uninitialized variable' " luca.boccassi ` (28 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Chengwen Feng; +Cc: Dongdong Liu, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/76ad0dd4e749b9b75622fce4c862e238c926165d Thanks. Luca Boccassi --- From 76ad0dd4e749b9b75622fce4c862e238c926165d Mon Sep 17 00:00:00 2001 From: Chengwen Feng <fengchengwen@huawei.com> Date: Fri, 2 Jun 2023 19:42:01 +0800 Subject: [PATCH] net/hns3: fix device start return value [ upstream commit a9e2ac08156cbbe5cd3c72300618b871dedffd15 ] If hns3_init_queues() return failed, the hns3vf_do_start() should return errcode. This patch fixes it. Fixes: 43d8adf3891c ("net/hns3: fix RSS flow rule restore") Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Signed-off-by: Dongdong Liu <liudongdong3@huawei.com> --- drivers/net/hns3/hns3_ethdev_vf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/net/hns3/hns3_ethdev_vf.c b/drivers/net/hns3/hns3_ethdev_vf.c index 94652dfb1d..f5664201bb 100644 --- a/drivers/net/hns3/hns3_ethdev_vf.c +++ b/drivers/net/hns3/hns3_ethdev_vf.c @@ -2090,8 +2090,10 @@ hns3vf_do_start(struct hns3_adapter *hns, bool reset_queue) return ret; ret = hns3_init_queues(hns, reset_queue); - if (ret) + if (ret) { hns3_err(hw, "failed to init queues, ret = %d.", ret); + return ret; + } return hns3_restore_filter(hns); } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.496220784 +0100 +++ 0034-net-hns3-fix-device-start-return-value.patch 2023-06-15 01:56:34.615542352 +0100 @@ -1 +1 @@ -From a9e2ac08156cbbe5cd3c72300618b871dedffd15 Mon Sep 17 00:00:00 2001 +From 76ad0dd4e749b9b75622fce4c862e238c926165d Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit a9e2ac08156cbbe5cd3c72300618b871dedffd15 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index d051a1357b..5aac62a41f 100644 +index 94652dfb1d..f5664201bb 100644 @@ -22,2 +23,2 @@ -@@ -1674,8 +1674,10 @@ hns3vf_do_start(struct hns3_adapter *hns, bool reset_queue) - hns3_enable_rxd_adv_layout(hw); +@@ -2090,8 +2090,10 @@ hns3vf_do_start(struct hns3_adapter *hns, bool reset_queue) + return ret; ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/hns3: fix uninitialized variable' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (32 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/hns3: fix device start return value' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix inaccurate log' " luca.boccassi ` (27 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Jie Hai; +Cc: Dongdong Liu, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/b184f7f728fea63a846b05c162b7dfc5bbf055a3 Thanks. Luca Boccassi --- From b184f7f728fea63a846b05c162b7dfc5bbf055a3 Mon Sep 17 00:00:00 2001 From: Jie Hai <haijie1@huawei.com> Date: Fri, 2 Jun 2023 19:42:02 +0800 Subject: [PATCH] net/hns3: fix uninitialized variable [ upstream commit 156496da7a527e36066596a7be7758037b2541b4 ] This patch fixes possible use of uninitialized variable "old_tuple_fields". Fixes: e3069658da9f ("net/hns3: reimplement hash flow function") Signed-off-by: Jie Hai <haijie1@huawei.com> Signed-off-by: Dongdong Liu <liudongdong3@huawei.com> --- drivers/net/hns3/hns3_flow.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/hns3/hns3_flow.c b/drivers/net/hns3/hns3_flow.c index 3bc6061f30..79910ff982 100644 --- a/drivers/net/hns3/hns3_flow.c +++ b/drivers/net/hns3/hns3_flow.c @@ -1934,8 +1934,9 @@ hns3_flow_set_rss_ptype_tuple(struct hns3_hw *hw, if (ret != 0) return ret; - hns3_info(hw, "RSS tuple fields changed from 0x%" PRIx64 " to 0x%" PRIx64, - old_tuple_fields, new_tuple_fields); + if (!cfg_global_tuple) + hns3_info(hw, "RSS tuple fields changed from 0x%" PRIx64 " to 0x%" PRIx64, + old_tuple_fields, new_tuple_fields); return 0; } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.540321478 +0100 +++ 0035-net-hns3-fix-uninitialized-variable.patch 2023-06-15 01:56:34.615542352 +0100 @@ -1 +1 @@ -From 156496da7a527e36066596a7be7758037b2541b4 Mon Sep 17 00:00:00 2001 +From b184f7f728fea63a846b05c162b7dfc5bbf055a3 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 156496da7a527e36066596a7be7758037b2541b4 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index e132d88fa1..a5a7e452d8 100644 +index 3bc6061f30..79910ff982 100644 @@ -22 +23 @@ -@@ -1944,8 +1944,9 @@ hns3_flow_set_rss_ptype_tuple(struct hns3_hw *hw, +@@ -1934,8 +1934,9 @@ hns3_flow_set_rss_ptype_tuple(struct hns3_hw *hw, ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/hns3: fix inaccurate log' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (33 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/hns3: fix uninitialized variable' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix redundant line break in " luca.boccassi ` (26 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Dengdui Huang; +Cc: Dongdong Liu, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/e765fbe6b8e9703ce8f10f5b637bc4e09a14e7be Thanks. Luca Boccassi --- From e765fbe6b8e9703ce8f10f5b637bc4e09a14e7be Mon Sep 17 00:00:00 2001 From: Dengdui Huang <huangdengdui@huawei.com> Date: Fri, 2 Jun 2023 19:42:04 +0800 Subject: [PATCH] net/hns3: fix inaccurate log [ upstream commit 94e9574f0bc5c1b5c2ac15b86ffb28bdbdc238c4 ] This patch fix inaccurate log Fixes: bba636698316 ("net/hns3: support Rx/Tx and related operations") Fixes: a951c1ed3ab5 ("net/hns3: support different numbers of Rx and Tx queues") Signed-off-by: Dengdui Huang <huangdengdui@huawei.com> Signed-off-by: Dongdong Liu <liudongdong3@huawei.com> --- drivers/net/hns3/hns3_rxtx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c index bf07a5071a..963a20627b 100644 --- a/drivers/net/hns3/hns3_rxtx.c +++ b/drivers/net/hns3/hns3_rxtx.c @@ -581,7 +581,7 @@ hns3_tqp_enable(struct hns3_hw *hw, uint16_t queue_id, bool enable) ret = hns3_cmd_send(hw, &desc, 1); if (ret) - hns3_err(hw, "TQP enable fail, ret = %d", ret); + hns3_err(hw, "TQP %s fail, ret = %d", enable ? "enable" : "disable", ret); return ret; } @@ -1638,7 +1638,7 @@ hns3_set_fake_rx_or_tx_queues(struct rte_eth_dev *dev, uint16_t nb_rx_q, ret = hns3_fake_tx_queue_config(hw, tx_need_add_nb_q); if (ret) { - hns3_err(hw, "Fail to configure fake rx queues: %d", ret); + hns3_err(hw, "Fail to configure fake tx queues: %d", ret); goto cfg_fake_tx_q_fail; } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.583440573 +0100 +++ 0036-net-hns3-fix-inaccurate-log.patch 2023-06-15 01:56:34.623542527 +0100 @@ -1 +1 @@ -From 94e9574f0bc5c1b5c2ac15b86ffb28bdbdc238c4 Mon Sep 17 00:00:00 2001 +From e765fbe6b8e9703ce8f10f5b637bc4e09a14e7be Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 94e9574f0bc5c1b5c2ac15b86ffb28bdbdc238c4 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index cf04dc857e..f3c3b38c55 100644 +index bf07a5071a..963a20627b 100644 @@ -22 +23 @@ -@@ -586,7 +586,7 @@ hns3_tqp_enable(struct hns3_hw *hw, uint16_t queue_id, bool enable) +@@ -581,7 +581,7 @@ hns3_tqp_enable(struct hns3_hw *hw, uint16_t queue_id, bool enable) @@ -31 +32 @@ -@@ -1635,7 +1635,7 @@ hns3_set_fake_rx_or_tx_queues(struct rte_eth_dev *dev, uint16_t nb_rx_q, +@@ -1638,7 +1638,7 @@ hns3_set_fake_rx_or_tx_queues(struct rte_eth_dev *dev, uint16_t nb_rx_q, ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/hns3: fix redundant line break in log' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (34 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/hns3: fix inaccurate log' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix IMP reset trigger' " luca.boccassi ` (25 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Dengdui Huang; +Cc: Dongdong Liu, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/f839abd1207c496ffba606b3763dced1ce07187f Thanks. Luca Boccassi --- From f839abd1207c496ffba606b3763dced1ce07187f Mon Sep 17 00:00:00 2001 From: Dengdui Huang <huangdengdui@huawei.com> Date: Fri, 2 Jun 2023 19:42:05 +0800 Subject: [PATCH] net/hns3: fix redundant line break in log [ upstream commit 0b5e15ea5f8841e43c63350e47cbfddbb92dc25c ] This patch remove log redundant line break Fixes: d51867db65c1 ("net/hns3: add initialization") Fixes: c6332c3cf9f0 ("net/hns3: support module EEPROM dump") Signed-off-by: Dengdui Huang <huangdengdui@huawei.com> Signed-off-by: Dongdong Liu <liudongdong3@huawei.com> --- drivers/net/hns3/hns3_ethdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c index 5d685b17f4..552280f35d 100644 --- a/drivers/net/hns3/hns3_ethdev.c +++ b/drivers/net/hns3/hns3_ethdev.c @@ -4088,7 +4088,7 @@ hns3_get_mac_ethertype_cmd_status(uint16_t cmdq_resp, uint8_t resp_code) if (cmdq_resp) { PMD_INIT_LOG(ERR, - "cmdq execute failed for get_mac_ethertype_cmd_status, status=%u.\n", + "cmdq execute failed for get_mac_ethertype_cmd_status, status=%u.", cmdq_resp); return -EIO; } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.629128980 +0100 +++ 0037-net-hns3-fix-redundant-line-break-in-log.patch 2023-06-15 01:56:34.627542615 +0100 @@ -1 +1 @@ -From 0b5e15ea5f8841e43c63350e47cbfddbb92dc25c Mon Sep 17 00:00:00 2001 +From f839abd1207c496ffba606b3763dced1ce07187f Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 0b5e15ea5f8841e43c63350e47cbfddbb92dc25c ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -15,2 +16,2 @@ - drivers/net/hns3/hns3_ethdev.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) + drivers/net/hns3/hns3_ethdev.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) @@ -19 +20 @@ -index 64028778d0..dccd1d416f 100644 +index 5d685b17f4..552280f35d 100644 @@ -22 +23 @@ -@@ -3631,7 +3631,7 @@ hns3_get_mac_ethertype_cmd_status(uint16_t cmdq_resp, uint8_t resp_code) +@@ -4088,7 +4088,7 @@ hns3_get_mac_ethertype_cmd_status(uint16_t cmdq_resp, uint8_t resp_code) @@ -30,36 +30,0 @@ - } -@@ -6235,7 +6235,7 @@ hns3_optical_module_existed(struct hns3_hw *hw) - ret = hns3_cmd_send(hw, &desc, 1); - if (ret) { - hns3_err(hw, -- "fail to get optical module exist state, ret = %d.\n", -+ "fail to get optical module exist state, ret = %d.", - ret); - return false; - } -@@ -6273,7 +6273,7 @@ hns3_get_module_eeprom_data(struct hns3_hw *hw, uint32_t offset, - - ret = hns3_cmd_send(hw, desc, HNS3_SFP_INFO_CMD_NUM); - if (ret) { -- hns3_err(hw, "fail to get module EEPROM info, ret = %d.\n", -+ hns3_err(hw, "fail to get module EEPROM info, ret = %d.", - ret); - return ret; - } -@@ -6310,7 +6310,7 @@ hns3_get_module_eeprom(struct rte_eth_dev *dev, - return -ENOTSUP; - - if (!hns3_optical_module_existed(hw)) { -- hns3_err(hw, "fail to read module EEPROM: no module is connected.\n"); -+ hns3_err(hw, "fail to read module EEPROM: no module is connected."); - return -EIO; - } - -@@ -6373,7 +6373,7 @@ hns3_get_module_info(struct rte_eth_dev *dev, - modinfo->eeprom_len = RTE_ETH_MODULE_SFF_8636_MAX_LEN; - break; - default: -- hns3_err(hw, "unknown module, type = %u, extra_type = %u.\n", -+ hns3_err(hw, "unknown module, type = %u, extra_type = %u.", - sfp_type.type, sfp_type.ext_type); - return -EINVAL; ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/hns3: fix IMP reset trigger' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (35 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/hns3: fix redundant line break in " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/nfp: fix offloading flows' " luca.boccassi ` (24 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Huisong Li; +Cc: Dongdong Liu, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/56685a6aa93353786a3ba245c1e2d55d70313deb Thanks. Luca Boccassi --- From 56685a6aa93353786a3ba245c1e2d55d70313deb Mon Sep 17 00:00:00 2001 From: Huisong Li <lihuisong@huawei.com> Date: Tue, 6 Jun 2023 20:10:28 +0800 Subject: [PATCH] net/hns3: fix IMP reset trigger [ upstream commit 56a6c88ba27bfba838b56796de364db04c59b84b ] Currently, driver sends the command with an unknown opcode to the firmware to trigger IMP reset when some hardware error happened. This unknown opcode cannot be parsed by the firmware. So this patch fixes the way by writing register to do it. Fixes: 2790c6464725 ("net/hns3: support device reset") Signed-off-by: Huisong Li <lihuisong@huawei.com> Signed-off-by: Dongdong Liu <liudongdong3@huawei.com> --- drivers/net/hns3/hns3_ethdev.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c index 552280f35d..2da2f1e9ec 100644 --- a/drivers/net/hns3/hns3_ethdev.c +++ b/drivers/net/hns3/hns3_ethdev.c @@ -44,6 +44,7 @@ #define HNS3_VECTOR0_IMP_CMDQ_ERR_B 4U #define HNS3_VECTOR0_IMP_RD_POISON_B 5U #define HNS3_VECTOR0_ALL_MSIX_ERR_B 6U +#define HNS3_VECTOR0_TRIGGER_IMP_RESET_B 7U #define HNS3_RESET_WAIT_MS 100 #define HNS3_RESET_WAIT_CNT 200 @@ -5532,17 +5533,6 @@ hns3_func_reset_cmd(struct hns3_hw *hw, int func_id) return hns3_cmd_send(hw, &desc, 1); } -static int -hns3_imp_reset_cmd(struct hns3_hw *hw) -{ - struct hns3_cmd_desc desc; - - hns3_cmd_setup_basic_desc(&desc, 0xFFFE, false); - desc.data[0] = 0xeedd; - - return hns3_cmd_send(hw, &desc, 1); -} - static void hns3_msix_process(struct hns3_adapter *hns, enum hns3_reset_level reset_level) { @@ -5560,7 +5550,9 @@ hns3_msix_process(struct hns3_adapter *hns, enum hns3_reset_level reset_level) switch (reset_level) { case HNS3_IMP_RESET: - hns3_imp_reset_cmd(hw); + val = hns3_read_dev(hw, HNS3_VECTOR0_OTER_EN_REG); + hns3_set_bit(val, HNS3_VECTOR0_TRIGGER_IMP_RESET_B, 1); + hns3_write_dev(hw, HNS3_VECTOR0_OTER_EN_REG, val); hns3_warn(hw, "IMP Reset requested time=%ld.%.6ld", tv.tv_sec, tv.tv_usec); break; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.676668059 +0100 +++ 0038-net-hns3-fix-IMP-reset-trigger.patch 2023-06-15 01:56:34.635542789 +0100 @@ -1 +1 @@ -From 56a6c88ba27bfba838b56796de364db04c59b84b Mon Sep 17 00:00:00 2001 +From 56685a6aa93353786a3ba245c1e2d55d70313deb Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 56a6c88ba27bfba838b56796de364db04c59b84b ] + @@ -13 +14,0 @@ -Cc: stable@dpdk.org @@ -22 +23 @@ -index dccd1d416f..95c72e86aa 100644 +index 552280f35d..2da2f1e9ec 100644 @@ -33 +34 @@ -@@ -5575,17 +5576,6 @@ hns3_func_reset_cmd(struct hns3_hw *hw, int func_id) +@@ -5532,17 +5533,6 @@ hns3_func_reset_cmd(struct hns3_hw *hw, int func_id) @@ -51 +52 @@ -@@ -5603,7 +5593,9 @@ hns3_msix_process(struct hns3_adapter *hns, enum hns3_reset_level reset_level) +@@ -5560,7 +5550,9 @@ hns3_msix_process(struct hns3_adapter *hns, enum hns3_reset_level reset_level) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/nfp: fix offloading flows' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (36 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/hns3: fix IMP reset trigger' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/vmxnet3: fix return code in initializing' " luca.boccassi ` (23 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Chaoyong He; +Cc: Niklas Söderlund, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/0b8a7a74c25bdf9dab4450df4add516b8d8f0517 Thanks. Luca Boccassi --- From 0b8a7a74c25bdf9dab4450df4add516b8d8f0517 Mon Sep 17 00:00:00 2001 From: Chaoyong He <chaoyong.he@corigine.com> Date: Wed, 7 Jun 2023 09:57:00 +0800 Subject: [PATCH] net/nfp: fix offloading flows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit 925c27ec8de92efe69f4cb56e3fc0e413354c739 ] The symbol '_abi_flower_extra_features' is in IMEM for NFP4000, but in EMU_CACHE for NFP3800 because which does not have IMEM. The original logic can't read symbol from EMU_CACHE, so the probe process will fail when we try to offload flows use NFP3800. Modify the related data structure and logics to support read symbol from EMU_CACHE. Fixes: c7e9729da6b5 ("net/nfp: support CPP") Signed-off-by: Chaoyong He <chaoyong.he@corigine.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@corigine.com> --- drivers/net/nfp/nfp_net.c | 4 +- drivers/net/nfp/nfpcore/nfp_cpp.h | 7 +- drivers/net/nfp/nfpcore/nfp_cppcore.c | 52 +++++++--- drivers/net/nfp/nfpcore/nfp_rtsym.c | 134 +++++++++++++++++++++++--- 4 files changed, 172 insertions(+), 25 deletions(-) diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c index ed1b4ff0bd..17e48f1710 100644 --- a/drivers/net/nfp/nfp_net.c +++ b/drivers/net/nfp/nfp_net.c @@ -2797,6 +2797,7 @@ nfp_net_init(struct rte_eth_dev *eth_dev) uint64_t tx_bar_off = 0, rx_bar_off = 0; uint32_t start_q; + uint32_t cpp_id; int stride = 4; int port = 0; int err; @@ -2908,7 +2909,8 @@ nfp_net_init(struct rte_eth_dev *eth_dev) if (hw->is_pf && port == 0) { /* configure access to tx/rx vNIC BARs */ - hwport0->hw_queues = nfp_cpp_map_area(hw->cpp, 0, 0, + cpp_id = NFP_CPP_ISLAND_ID(0, NFP_CPP_ACTION_RW, 0, 0); + hwport0->hw_queues = nfp_cpp_map_area(hw->cpp, cpp_id, NFP_PCIE_QUEUE(0), NFP_QCP_QUEUE_AREA_SZ, &hw->hwqueues_area); diff --git a/drivers/net/nfp/nfpcore/nfp_cpp.h b/drivers/net/nfp/nfpcore/nfp_cpp.h index 08d656da14..84482df14a 100644 --- a/drivers/net/nfp/nfpcore/nfp_cpp.h +++ b/drivers/net/nfp/nfpcore/nfp_cpp.h @@ -34,6 +34,9 @@ struct nfp_cpp { */ uint32_t imb_cat_table[16]; + /* MU access type bit offset */ + uint32_t mu_locality_lsb; + int driver_lock_needed; }; @@ -363,7 +366,7 @@ struct nfp_cpp_area *nfp_cpp_area_alloc_acquire(struct nfp_cpp *cpp, */ void nfp_cpp_area_release_free(struct nfp_cpp_area *area); -uint8_t *nfp_cpp_map_area(struct nfp_cpp *cpp, int domain, int target, +uint8_t *nfp_cpp_map_area(struct nfp_cpp *cpp, uint32_t cpp_id, uint64_t addr, unsigned long size, struct nfp_cpp_area **area); /* @@ -778,4 +781,6 @@ int nfp_cpp_mutex_unlock(struct nfp_cpp_mutex *mutex); */ int nfp_cpp_mutex_trylock(struct nfp_cpp_mutex *mutex); +uint32_t nfp_cpp_mu_locality_lsb(struct nfp_cpp *cpp); + #endif /* !__NFP_CPP_H__ */ diff --git a/drivers/net/nfp/nfpcore/nfp_cppcore.c b/drivers/net/nfp/nfpcore/nfp_cppcore.c index 40d70b9625..b74892a8d0 100644 --- a/drivers/net/nfp/nfpcore/nfp_cppcore.c +++ b/drivers/net/nfp/nfpcore/nfp_cppcore.c @@ -11,6 +11,7 @@ #include <errno.h> #include <sys/types.h> +#include <rte_bitops.h> #include <rte_byteorder.h> #include <rte_ethdev_pci.h> @@ -118,6 +119,36 @@ nfp_cpp_area_name(struct nfp_cpp_area *cpp_area) return cpp_area->name; } +#define NFP_IMB_TGTADDRESSMODECFG_MODE_of(_x) (((_x) >> 13) & 0x7) +#define NFP_IMB_TGTADDRESSMODECFG_ADDRMODE RTE_BIT32(12) + +static int +nfp_cpp_set_mu_locality_lsb(struct nfp_cpp *cpp) +{ + int ret; + int mode; + int addr40; + uint32_t imbcppat; + + imbcppat = cpp->imb_cat_table[NFP_CPP_TARGET_MU]; + mode = NFP_IMB_TGTADDRESSMODECFG_MODE_of(imbcppat); + addr40 = imbcppat & NFP_IMB_TGTADDRESSMODECFG_ADDRMODE; + + ret = nfp_cppat_mu_locality_lsb(mode, addr40); + if (ret < 0) + return ret; + + cpp->mu_locality_lsb = ret; + + return 0; +} + +uint32_t +nfp_cpp_mu_locality_lsb(struct nfp_cpp *cpp) +{ + return cpp->mu_locality_lsb; +} + /* * nfp_cpp_area_alloc - allocate a new CPP area * @cpp: CPP handle @@ -142,10 +173,6 @@ nfp_cpp_area_alloc_with_name(struct nfp_cpp *cpp, uint32_t dest, if (!cpp) return NULL; - /* CPP bus uses only a 40-bit address */ - if ((address + size) > (1ULL << 40)) - return NFP_ERRPTR(EFAULT); - /* Remap from cpp_island to cpp_target */ err = nfp_target_cpp(dest, tmp64, &dest, &tmp64, cpp->imb_cat_table); if (err < 0) @@ -588,6 +615,13 @@ nfp_cpp_alloc(struct rte_pci_device *dev, int driver_lock_needed) } } + err = nfp_cpp_set_mu_locality_lsb(cpp); + if (err < 0) { + printf("Can't calculate MU locality bit offset"); + free(cpp); + return NULL; + } + return cpp; } @@ -819,8 +853,7 @@ __nfp_cpp_model_autodetect(struct nfp_cpp *cpp, uint32_t *model) /* * nfp_cpp_map_area() - Helper function to map an area * @cpp: NFP CPP handler - * @domain: CPP domain - * @target: CPP target + * @cpp_id: CPP ID * @addr: CPP address * @size: Size of the area * @area: Area handle (output) @@ -831,15 +864,12 @@ __nfp_cpp_model_autodetect(struct nfp_cpp *cpp, uint32_t *model) * Return: Pointer to memory mapped area or ERR_PTR */ uint8_t * -nfp_cpp_map_area(struct nfp_cpp *cpp, int domain, int target, uint64_t addr, +nfp_cpp_map_area(struct nfp_cpp *cpp, uint32_t cpp_id, uint64_t addr, unsigned long size, struct nfp_cpp_area **area) { uint8_t *res; - uint32_t dest; - dest = NFP_CPP_ISLAND_ID(target, NFP_CPP_ACTION_RW, 0, domain); - - *area = nfp_cpp_area_alloc_acquire(cpp, dest, addr, size); + *area = nfp_cpp_area_alloc_acquire(cpp, cpp_id, addr, size); if (!*area) goto err_eio; diff --git a/drivers/net/nfp/nfpcore/nfp_rtsym.c b/drivers/net/nfp/nfpcore/nfp_rtsym.c index 2feca2ed81..1258fdb0e1 100644 --- a/drivers/net/nfp/nfpcore/nfp_rtsym.c +++ b/drivers/net/nfp/nfpcore/nfp_rtsym.c @@ -232,6 +232,113 @@ nfp_rtsym_lookup(struct nfp_rtsym_table *rtbl, const char *name) return NULL; } +static uint64_t +nfp_rtsym_size(const struct nfp_rtsym *sym) +{ + switch (sym->type) { + case NFP_RTSYM_TYPE_NONE: + printf("rtsym '%s': type NONE", sym->name); + return 0; + case NFP_RTSYM_TYPE_OBJECT: /* Fall through */ + case NFP_RTSYM_TYPE_FUNCTION: + return sym->size; + case NFP_RTSYM_TYPE_ABS: + return sizeof(uint64_t); + default: + printf("rtsym '%s': unknown type: %d", sym->name, sym->type); + return 0; + } +} + +static int +nfp_rtsym_to_dest(struct nfp_cpp *cpp, + const struct nfp_rtsym *sym, + uint8_t action, + uint8_t token, + uint64_t offset, + uint32_t *cpp_id, + uint64_t *addr) +{ + if (sym->type != NFP_RTSYM_TYPE_OBJECT) { + printf("rtsym '%s': direct access to non-object rtsym", + sym->name); + return -EINVAL; + } + + *addr = sym->addr + offset; + + if (sym->target >= 0) { + *cpp_id = NFP_CPP_ISLAND_ID(sym->target, action, token, sym->domain); + } else if (sym->target == NFP_RTSYM_TARGET_EMU_CACHE) { + int locality_off = nfp_cpp_mu_locality_lsb(cpp); + + *addr &= ~(NFP_MU_ADDR_ACCESS_TYPE_MASK << locality_off); + *addr |= NFP_MU_ADDR_ACCESS_TYPE_DIRECT << locality_off; + + *cpp_id = NFP_CPP_ISLAND_ID(NFP_CPP_TARGET_MU, action, token, + sym->domain); + } else { + printf("rtsym '%s': unhandled target encoding: %d", + sym->name, sym->target); + return -EINVAL; + } + + return 0; +} + +static int +nfp_rtsym_readl(struct nfp_cpp *cpp, + const struct nfp_rtsym *sym, + uint8_t action, + uint8_t token, + uint64_t offset, + uint32_t *value) +{ + int ret; + uint64_t addr; + uint32_t cpp_id; + + if (offset + 4 > nfp_rtsym_size(sym)) { + printf("rtsym '%s': readl out of bounds", sym->name); + return -ENXIO; + } + + ret = nfp_rtsym_to_dest(cpp, sym, action, token, offset, &cpp_id, &addr); + if (ret != 0) + return ret; + + return nfp_cpp_readl(cpp, cpp_id, addr, value); +} + +static int +nfp_rtsym_readq(struct nfp_cpp *cpp, + const struct nfp_rtsym *sym, + uint8_t action, + uint8_t token, + uint64_t offset, + uint64_t *value) +{ + int ret; + uint64_t addr; + uint32_t cpp_id; + + if (offset + 8 > nfp_rtsym_size(sym)) { + printf("rtsym '%s': readq out of bounds", sym->name); + return -ENXIO; + } + + if (sym->type == NFP_RTSYM_TYPE_ABS) { + *value = sym->addr; + return 0; + } + + ret = nfp_rtsym_to_dest(cpp, sym, action, token, offset, &cpp_id, &addr); + if (ret != 0) + return ret; + + return nfp_cpp_readq(cpp, cpp_id, addr, value); +} + /* * nfp_rtsym_read_le() - Read a simple unsigned scalar value from symbol * @rtbl: NFP RTsym table @@ -248,7 +355,7 @@ uint64_t nfp_rtsym_read_le(struct nfp_rtsym_table *rtbl, const char *name, int *error) { const struct nfp_rtsym *sym; - uint32_t val32, id; + uint32_t val32; uint64_t val; int err; @@ -258,19 +365,13 @@ nfp_rtsym_read_le(struct nfp_rtsym_table *rtbl, const char *name, int *error) goto exit; } - id = NFP_CPP_ISLAND_ID(sym->target, NFP_CPP_ACTION_RW, 0, sym->domain); - -#ifdef DEBUG - printf("Reading symbol %s with size %" PRIu64 " at %" PRIx64 "\n", - name, sym->size, sym->addr); -#endif switch (sym->size) { case 4: - err = nfp_cpp_readl(rtbl->cpp, id, sym->addr, &val32); + err = nfp_rtsym_readl(rtbl->cpp, sym, NFP_CPP_ACTION_RW, 0, 0, &val32); val = val32; break; case 8: - err = nfp_cpp_readq(rtbl->cpp, id, sym->addr, &val); + err = nfp_rtsym_readq(rtbl->cpp, sym, NFP_CPP_ACTION_RW, 0, 0, &val); break; default: printf("rtsym '%s' unsupported size: %" PRId64 "\n", @@ -295,8 +396,11 @@ uint8_t * nfp_rtsym_map(struct nfp_rtsym_table *rtbl, const char *name, unsigned int min_size, struct nfp_cpp_area **area) { - const struct nfp_rtsym *sym; + int ret; uint8_t *mem; + uint64_t addr; + uint32_t cpp_id; + const struct nfp_rtsym *sym; #ifdef DEBUG printf("mapping symbol %s\n", name); @@ -307,14 +411,20 @@ nfp_rtsym_map(struct nfp_rtsym_table *rtbl, const char *name, return NULL; } + ret = nfp_rtsym_to_dest(rtbl->cpp, sym, NFP_CPP_ACTION_RW, 0, 0, + &cpp_id, &addr); + if (ret != 0) { + printf("rtsym '%s': mapping failed", name); + return NULL; + } + if (sym->size < min_size) { printf("Symbol %s too small (%" PRIu64 " < %u)\n", name, sym->size, min_size); return NULL; } - mem = nfp_cpp_map_area(rtbl->cpp, sym->domain, sym->target, sym->addr, - sym->size, area); + mem = nfp_cpp_map_area(rtbl->cpp, cpp_id, addr, sym->size, area); if (!mem) { printf("Failed to map symbol %s\n", name); return NULL; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.723101016 +0100 +++ 0039-net-nfp-fix-offloading-flows.patch 2023-06-15 01:56:34.639542877 +0100 @@ -1 +1 @@ -From 925c27ec8de92efe69f4cb56e3fc0e413354c739 Mon Sep 17 00:00:00 2001 +From 0b8a7a74c25bdf9dab4450df4add516b8d8f0517 Mon Sep 17 00:00:00 2001 @@ -8,0 +9,2 @@ +[ upstream commit 925c27ec8de92efe69f4cb56e3fc0e413354c739 ] + @@ -19 +20,0 @@ -Cc: stable@dpdk.org @@ -24 +25 @@ - drivers/net/nfp/nfp_ethdev.c | 4 +- + drivers/net/nfp/nfp_net.c | 4 +- @@ -26,3 +27,3 @@ - drivers/net/nfp/nfpcore/nfp_cppcore.c | 51 +++++++--- - drivers/net/nfp/nfpcore/nfp_rtsym.c | 132 ++++++++++++++++++++++++-- - 4 files changed, 171 insertions(+), 23 deletions(-) + drivers/net/nfp/nfpcore/nfp_cppcore.c | 52 +++++++--- + drivers/net/nfp/nfpcore/nfp_rtsym.c | 134 +++++++++++++++++++++++--- + 4 files changed, 172 insertions(+), 25 deletions(-) @@ -30,8 +31,8 @@ -diff --git a/drivers/net/nfp/nfp_ethdev.c b/drivers/net/nfp/nfp_ethdev.c -index f73bffc09b..e84d2ac82e 100644 ---- a/drivers/net/nfp/nfp_ethdev.c -+++ b/drivers/net/nfp/nfp_ethdev.c -@@ -937,6 +937,7 @@ nfp_pf_init(struct rte_pci_device *pci_dev) - int ret; - int err = 0; - uint64_t addr; +diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c +index ed1b4ff0bd..17e48f1710 100644 +--- a/drivers/net/nfp/nfp_net.c ++++ b/drivers/net/nfp/nfp_net.c +@@ -2797,6 +2797,7 @@ nfp_net_init(struct rte_eth_dev *eth_dev) + + uint64_t tx_bar_off = 0, rx_bar_off = 0; + uint32_t start_q; @@ -39,6 +40,4 @@ - struct nfp_cpp *cpp; - enum nfp_app_fw_id app_fw_id; - struct nfp_pf_dev *pf_dev; -@@ -1036,7 +1037,8 @@ nfp_pf_init(struct rte_pci_device *pci_dev) - goto pf_cleanup; - } + int stride = 4; + int port = 0; + int err; +@@ -2908,7 +2909,8 @@ nfp_net_init(struct rte_eth_dev *eth_dev) @@ -46,6 +45,8 @@ -- pf_dev->hw_queues = nfp_cpp_map_area(pf_dev->cpp, 0, 0, -+ cpp_id = NFP_CPP_ISLAND_ID(0, NFP_CPP_ACTION_RW, 0, 0); -+ pf_dev->hw_queues = nfp_cpp_map_area(pf_dev->cpp, cpp_id, - addr, NFP_QCP_QUEUE_AREA_SZ, - &pf_dev->hwqueues_area); - if (pf_dev->hw_queues == NULL) { + if (hw->is_pf && port == 0) { + /* configure access to tx/rx vNIC BARs */ +- hwport0->hw_queues = nfp_cpp_map_area(hw->cpp, 0, 0, ++ cpp_id = NFP_CPP_ISLAND_ID(0, NFP_CPP_ACTION_RW, 0, 0); ++ hwport0->hw_queues = nfp_cpp_map_area(hw->cpp, cpp_id, + NFP_PCIE_QUEUE(0), + NFP_QCP_QUEUE_AREA_SZ, + &hw->hwqueues_area); @@ -53 +54 @@ -index 2441012b95..8f87c09327 100644 +index 08d656da14..84482df14a 100644 @@ -56 +57 @@ -@@ -31,6 +31,9 @@ struct nfp_cpp { +@@ -34,6 +34,9 @@ struct nfp_cpp { @@ -66 +67 @@ -@@ -455,7 +458,7 @@ struct nfp_cpp_area *nfp_cpp_area_alloc_acquire(struct nfp_cpp *cpp, +@@ -363,7 +366,7 @@ struct nfp_cpp_area *nfp_cpp_area_alloc_acquire(struct nfp_cpp *cpp, @@ -75 +76 @@ -@@ -869,4 +872,6 @@ int nfp_cpp_mutex_unlock(struct nfp_cpp_mutex *mutex); +@@ -778,4 +781,6 @@ int nfp_cpp_mutex_unlock(struct nfp_cpp_mutex *mutex); @@ -83 +84 @@ -index 681ec93b96..6daee313ce 100644 +index 40d70b9625..b74892a8d0 100644 @@ -86 +87,9 @@ -@@ -118,6 +118,36 @@ nfp_cpp_area_name(struct nfp_cpp_area *cpp_area) +@@ -11,6 +11,7 @@ + #include <errno.h> + #include <sys/types.h> + ++#include <rte_bitops.h> + #include <rte_byteorder.h> + #include <rte_ethdev_pci.h> + +@@ -118,6 +119,36 @@ nfp_cpp_area_name(struct nfp_cpp_area *cpp_area) @@ -123,2 +132,2 @@ -@@ -142,10 +172,6 @@ nfp_cpp_area_alloc_with_name(struct nfp_cpp *cpp, uint32_t dest, - if (cpp == NULL) +@@ -142,10 +173,6 @@ nfp_cpp_area_alloc_with_name(struct nfp_cpp *cpp, uint32_t dest, + if (!cpp) @@ -129 +138 @@ -- return NULL; +- return NFP_ERRPTR(EFAULT); @@ -134 +143 @@ -@@ -578,6 +604,13 @@ nfp_cpp_alloc(struct rte_pci_device *dev, int driver_lock_needed) +@@ -588,6 +615,13 @@ nfp_cpp_alloc(struct rte_pci_device *dev, int driver_lock_needed) @@ -140 +149 @@ -+ PMD_DRV_LOG(ERR, "Can't calculate MU locality bit offset"); ++ printf("Can't calculate MU locality bit offset"); @@ -148 +157 @@ -@@ -809,8 +842,7 @@ __nfp_cpp_model_autodetect(struct nfp_cpp *cpp, uint32_t *model) +@@ -819,8 +853,7 @@ __nfp_cpp_model_autodetect(struct nfp_cpp *cpp, uint32_t *model) @@ -158,2 +167,2 @@ -@@ -821,15 +853,12 @@ __nfp_cpp_model_autodetect(struct nfp_cpp *cpp, uint32_t *model) - * Return: Pointer to memory mapped area or NULL +@@ -831,15 +864,12 @@ __nfp_cpp_model_autodetect(struct nfp_cpp *cpp, uint32_t *model) + * Return: Pointer to memory mapped area or ERR_PTR @@ -173 +182 @@ - if (*area == NULL) + if (!*area) @@ -177 +186 @@ -index 9713605580..343b0d0bcf 100644 +index 2feca2ed81..1258fdb0e1 100644 @@ -180 +189 @@ -@@ -211,6 +211,113 @@ nfp_rtsym_lookup(struct nfp_rtsym_table *rtbl, const char *name) +@@ -232,6 +232,113 @@ nfp_rtsym_lookup(struct nfp_rtsym_table *rtbl, const char *name) @@ -189 +198 @@ -+ PMD_DRV_LOG(ERR, "rtsym '%s': type NONE", sym->name); ++ printf("rtsym '%s': type NONE", sym->name); @@ -197 +206 @@ -+ PMD_DRV_LOG(ERR, "rtsym '%s': unknown type: %d", sym->name, sym->type); ++ printf("rtsym '%s': unknown type: %d", sym->name, sym->type); @@ -212 +221 @@ -+ PMD_DRV_LOG(ERR, "rtsym '%s': direct access to non-object rtsym", ++ printf("rtsym '%s': direct access to non-object rtsym", @@ -230 +239 @@ -+ PMD_DRV_LOG(ERR, "rtsym '%s': unhandled target encoding: %d", ++ printf("rtsym '%s': unhandled target encoding: %d", @@ -251 +260 @@ -+ PMD_DRV_LOG(ERR, "rtsym '%s': readl out of bounds", sym->name); ++ printf("rtsym '%s': readl out of bounds", sym->name); @@ -275 +284 @@ -+ PMD_DRV_LOG(ERR, "rtsym '%s': readq out of bounds", sym->name); ++ printf("rtsym '%s': readq out of bounds", sym->name); @@ -294 +303 @@ -@@ -227,7 +334,7 @@ uint64_t +@@ -248,7 +355,7 @@ uint64_t @@ -303 +312 @@ -@@ -237,17 +344,13 @@ nfp_rtsym_read_le(struct nfp_rtsym_table *rtbl, const char *name, int *error) +@@ -258,19 +365,13 @@ nfp_rtsym_read_le(struct nfp_rtsym_table *rtbl, const char *name, int *error) @@ -309 +318,2 @@ -- PMD_DRV_LOG(DEBUG, "Reading symbol %s with size %" PRIu64 " at %" PRIx64 "", +-#ifdef DEBUG +- printf("Reading symbol %s with size %" PRIu64 " at %" PRIx64 "\n", @@ -310,0 +321 @@ +-#endif @@ -322,2 +333,2 @@ - PMD_DRV_LOG(ERR, "rtsym '%s' unsupported size: %" PRId64, -@@ -272,8 +375,11 @@ uint8_t * + printf("rtsym '%s' unsupported size: %" PRId64 "\n", +@@ -295,8 +396,11 @@ uint8_t * @@ -334,3 +345,3 @@ - PMD_DRV_LOG(DEBUG, "mapping symbol %s", name); - sym = nfp_rtsym_lookup(rtbl, name); -@@ -282,14 +388,20 @@ nfp_rtsym_map(struct nfp_rtsym_table *rtbl, const char *name, + #ifdef DEBUG + printf("mapping symbol %s\n", name); +@@ -307,14 +411,20 @@ nfp_rtsym_map(struct nfp_rtsym_table *rtbl, const char *name, @@ -343 +354 @@ -+ PMD_DRV_LOG(ERR, "rtsym '%s': mapping failed", name); ++ printf("rtsym '%s': mapping failed", name); @@ -348 +359 @@ - PMD_DRV_LOG(ERR, "Symbol %s too small (%" PRIu64 " < %u)", name, + printf("Symbol %s too small (%" PRIu64 " < %u)\n", name, @@ -356,2 +367,2 @@ - if (mem == NULL) { - PMD_INIT_LOG(ERR, "Failed to map symbol %s", name); + if (!mem) { + printf("Failed to map symbol %s\n", name); ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/vmxnet3: fix return code in initializing' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (37 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/nfp: fix offloading flows' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'doc: fix auth algos in cryptoperf app' " luca.boccassi ` (22 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Kaijun Zeng; +Cc: Ferruh Yigit, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/fa78b38a87afb809472ac28d2fe0bb7f6c0118a7 Thanks. Luca Boccassi --- From fa78b38a87afb809472ac28d2fe0bb7f6c0118a7 Mon Sep 17 00:00:00 2001 From: Kaijun Zeng <corezeng@gmail.com> Date: Wed, 7 Jun 2023 13:57:25 -0400 Subject: [PATCH] net/vmxnet3: fix return code in initializing [ upstream commit 8a2de735318b38ba93a041cb2f209889bde02689 ] Improve error handling Bugzilla ID: 1239 Fixes: dfaff37fc46d ("vmxnet3: import new vmxnet3 poll mode driver implementation") Signed-off-by: Kaijun Zeng <corezeng@gmail.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com> --- drivers/net/vmxnet3/vmxnet3_rxtx.c | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/net/vmxnet3/vmxnet3_rxtx.c b/drivers/net/vmxnet3/vmxnet3_rxtx.c index 91bcfcd6fd..19691d5372 100644 --- a/drivers/net/vmxnet3/vmxnet3_rxtx.c +++ b/drivers/net/vmxnet3/vmxnet3_rxtx.c @@ -1270,11 +1270,18 @@ vmxnet3_dev_rxtx_init(struct rte_eth_dev *dev) for (j = 0; j < VMXNET3_RX_CMDRING_SIZE; j++) { /* Passing 0 as alloc_num will allocate full ring */ ret = vmxnet3_post_rx_bufs(rxq, j); - if (ret <= 0) { + + /* Zero number of descriptors in the configuration of the RX queue */ + if (ret == 0) { PMD_INIT_LOG(ERR, - "ERROR: Posting Rxq: %d buffers ring: %d", - i, j); - return -ret; + "Invalid configuration in Rx queue: %d, buffers ring: %d\n", + i, j); + return -EINVAL; + } + /* Return the error number */ + if (ret < 0) { + PMD_INIT_LOG(ERR, "Posting Rxq: %d buffers ring: %d", i, j); + return ret; } /* * Updating device with the index:next2fill to fill the -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.767158075 +0100 +++ 0040-net-vmxnet3-fix-return-code-in-initializing.patch 2023-06-15 01:56:34.643542964 +0100 @@ -1 +1 @@ -From 8a2de735318b38ba93a041cb2f209889bde02689 Mon Sep 17 00:00:00 2001 +From fa78b38a87afb809472ac28d2fe0bb7f6c0118a7 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 8a2de735318b38ba93a041cb2f209889bde02689 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -15 +15,0 @@ - .mailmap | 1 + @@ -17 +17 @@ - 2 files changed, 12 insertions(+), 4 deletions(-) + 1 file changed, 11 insertions(+), 4 deletions(-) @@ -19,12 +18,0 @@ -diff --git a/.mailmap b/.mailmap -index 42f198f284..986ba9c988 100644 ---- a/.mailmap -+++ b/.mailmap -@@ -687,6 +687,7 @@ Jun Yang <jun.yang@nxp.com> - Junyu Jiang <junyux.jiang@intel.com> - Juraj Linkeš <juraj.linkes@pantheon.tech> - Kai Ji <kai.ji@intel.com> -+Kaijun Zeng <corezeng@gmail.com> - Kaisen You <kaisenx.you@intel.com> - Kaiwen Deng <kaiwenx.deng@intel.com> - Kalesh AP <kalesh-anakkur.purayil@broadcom.com> @@ -32 +20 @@ -index 148f65383e..380f41f98b 100644 +index 91bcfcd6fd..19691d5372 100644 @@ -35 +23 @@ -@@ -1337,11 +1337,18 @@ vmxnet3_dev_rxtx_init(struct rte_eth_dev *dev) +@@ -1270,11 +1270,18 @@ vmxnet3_dev_rxtx_init(struct rte_eth_dev *dev) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'doc: fix auth algos in cryptoperf app' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (38 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/vmxnet3: fix return code in initializing' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'crypto/scheduler: fix last element for valid args' " luca.boccassi ` (21 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Akhil Goyal; +Cc: Ciara Power, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/85415e9fcd19e92a19d1ca8e805352f14633ee8c Thanks. Luca Boccassi --- From 85415e9fcd19e92a19d1ca8e805352f14633ee8c Mon Sep 17 00:00:00 2001 From: Akhil Goyal <gakhil@marvell.com> Date: Tue, 11 Apr 2023 18:34:58 +0530 Subject: [PATCH] doc: fix auth algos in cryptoperf app [ upstream commit eaea52c3cc997318c5587366caf22d7ab1b7578c ] 3des-cbc is not an authentication algorithm, hence need to be removed. Fixes: c6baca7adc94 ("doc: describe new performance test application") Signed-off-by: Akhil Goyal <gakhil@marvell.com> Acked-by: Ciara Power <ciara.power@intel.com> --- doc/guides/tools/cryptoperf.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/guides/tools/cryptoperf.rst b/doc/guides/tools/cryptoperf.rst index 79359fe894..ef22f2c968 100644 --- a/doc/guides/tools/cryptoperf.rst +++ b/doc/guides/tools/cryptoperf.rst @@ -228,7 +228,6 @@ The following are the application command-line options: Set authentication algorithm name, where ``name`` is one of the following:: - 3des-cbc aes-cbc-mac aes-cmac aes-gmac -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.811678468 +0100 +++ 0041-doc-fix-auth-algos-in-cryptoperf-app.patch 2023-06-15 01:56:34.643542964 +0100 @@ -1 +1 @@ -From eaea52c3cc997318c5587366caf22d7ab1b7578c Mon Sep 17 00:00:00 2001 +From 85415e9fcd19e92a19d1ca8e805352f14633ee8c Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit eaea52c3cc997318c5587366caf22d7ab1b7578c ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index c77e253417..f30784674d 100644 +index 79359fe894..ef22f2c968 100644 @@ -22 +23 @@ -@@ -232,7 +232,6 @@ The following are the application command-line options: +@@ -228,7 +228,6 @@ The following are the application command-line options: ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'crypto/scheduler: fix last element for valid args' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (39 preceding siblings ...) 2023-06-15 1:32 ` patch 'doc: fix auth algos in cryptoperf app' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'test/crypto: fix session creation check' " luca.boccassi ` (20 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Ciara Power; +Cc: Kai Ji, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/186f0fe587ab45b8bcad15e2bd92d61a120d5ce5 Thanks. Luca Boccassi --- From 186f0fe587ab45b8bcad15e2bd92d61a120d5ce5 Mon Sep 17 00:00:00 2001 From: Ciara Power <ciara.power@intel.com> Date: Fri, 14 Apr 2023 12:33:06 +0000 Subject: [PATCH] crypto/scheduler: fix last element for valid args [ upstream commit 34019b7b65d4d936649fab29fdee45ec3ada1a8d ] The list of valid arguments for Scheduler PMD should be terminated with a NULL entry, as expected by rte_kvargs_parse. Without this, if an invalid key name was used, a global buffer overflow occurred resulting in a segmentation fault. Fixes: 503e9c5afb38 ("crypto/scheduler: register as vdev driver") Signed-off-by: Ciara Power <ciara.power@intel.com> Acked-by: Kai Ji <kai.ji@intel.com> --- drivers/crypto/scheduler/scheduler_pmd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/crypto/scheduler/scheduler_pmd.c b/drivers/crypto/scheduler/scheduler_pmd.c index 632197833c..49eda059ca 100644 --- a/drivers/crypto/scheduler/scheduler_pmd.c +++ b/drivers/crypto/scheduler/scheduler_pmd.c @@ -47,7 +47,8 @@ static const char * const scheduler_valid_params[] = { RTE_CRYPTODEV_VDEV_MAX_NB_QP_ARG, RTE_CRYPTODEV_VDEV_SOCKET_ID, RTE_CRYPTODEV_VDEV_COREMASK, - RTE_CRYPTODEV_VDEV_CORELIST + RTE_CRYPTODEV_VDEV_CORELIST, + NULL }; struct scheduler_parse_map { -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.852801839 +0100 +++ 0042-crypto-scheduler-fix-last-element-for-valid-args.patch 2023-06-15 01:56:34.643542964 +0100 @@ -1 +1 @@ -From 34019b7b65d4d936649fab29fdee45ec3ada1a8d Mon Sep 17 00:00:00 2001 +From 186f0fe587ab45b8bcad15e2bd92d61a120d5ce5 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 34019b7b65d4d936649fab29fdee45ec3ada1a8d ] + @@ -13 +14,0 @@ -Cc: stable@dpdk.org @@ -22 +23 @@ -index 9d1ce46622..4e8bbf0e09 100644 +index 632197833c..49eda059ca 100644 @@ -25 +26 @@ -@@ -50,7 +50,8 @@ static const char * const scheduler_valid_params[] = { +@@ -47,7 +47,8 @@ static const char * const scheduler_valid_params[] = { ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'test/crypto: fix session creation check' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (40 preceding siblings ...) 2023-06-15 1:32 ` patch 'crypto/scheduler: fix last element for valid args' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'vhost: fix invalid call FD handling' " luca.boccassi ` (19 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Tejasree Kondoj; +Cc: Anoob Joseph, Ciara Power, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/fc2e56e15aefc4c9d4aa6a23284f3558ae7f0d82 Thanks. Luca Boccassi --- From fc2e56e15aefc4c9d4aa6a23284f3558ae7f0d82 Mon Sep 17 00:00:00 2001 From: Tejasree Kondoj <ktejasree@marvell.com> Date: Fri, 5 May 2023 22:23:48 +0530 Subject: [PATCH] test/crypto: fix session creation check [ upstream commit 142a8f4c578e420b916f84649873f99bad985412 ] Fixing return value if session failure occurs due to unsupported feature. Fixes: eec136f3c54f ("aesni_gcm: add driver for AES-GCM crypto operations") Signed-off-by: Tejasree Kondoj <ktejasree@marvell.com> Acked-by: Anoob Joseph <anoobj@marvell.com> Acked-by: Ciara Power <ciara.power@intel.com> --- app/test/test_cryptodev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c index e43ad30bc8..34d162f48f 100644 --- a/app/test/test_cryptodev.c +++ b/app/test/test_cryptodev.c @@ -7709,7 +7709,7 @@ test_authenticated_encryption(const struct aead_test_data *tdata) tdata->key.data, tdata->key.len, tdata->aad.len, tdata->auth_tag.len, tdata->iv.len); - if (retval < 0) + if (retval != TEST_SUCCESS) return retval; if (tdata->aad.len > MBUF_SIZE) { @@ -9762,7 +9762,7 @@ test_authenticated_decryption_oop(const struct aead_test_data *tdata) tdata->key.data, tdata->key.len, tdata->aad.len, tdata->auth_tag.len, tdata->iv.len); - if (retval < 0) + if (retval != TEST_SUCCESS) return retval; /* alloc mbuf and set payload */ -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.895237904 +0100 +++ 0043-test-crypto-fix-session-creation-check.patch 2023-06-15 01:56:34.659543314 +0100 @@ -1 +1 @@ -From 142a8f4c578e420b916f84649873f99bad985412 Mon Sep 17 00:00:00 2001 +From fc2e56e15aefc4c9d4aa6a23284f3558ae7f0d82 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 142a8f4c578e420b916f84649873f99bad985412 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index 0b2ce5ea65..bbc7e8dd18 100644 +index e43ad30bc8..34d162f48f 100644 @@ -23 +24 @@ -@@ -8778,7 +8778,7 @@ test_authenticated_encryption(const struct aead_test_data *tdata) +@@ -7709,7 +7709,7 @@ test_authenticated_encryption(const struct aead_test_data *tdata) @@ -32 +33 @@ -@@ -11482,7 +11482,7 @@ test_authenticated_decryption(const struct aead_test_data *tdata) +@@ -9762,7 +9762,7 @@ test_authenticated_decryption_oop(const struct aead_test_data *tdata) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'vhost: fix invalid call FD handling' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (41 preceding siblings ...) 2023-06-15 1:32 ` patch 'test/crypto: fix session creation check' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/virtio: fix initialization to return negative errno' " luca.boccassi ` (18 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Maxime Coquelin; +Cc: Eelco Chaudron, Chenbo Xia, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/bdc6b54535796759d20b0762b9568483540c212a Thanks. Luca Boccassi --- From bdc6b54535796759d20b0762b9568483540c212a Mon Sep 17 00:00:00 2001 From: Maxime Coquelin <maxime.coquelin@redhat.com> Date: Thu, 1 Jun 2023 09:40:08 +0200 Subject: [PATCH] vhost: fix invalid call FD handling [ upstream commit 0445f81883a3aa727ac7f8531beee2c225d3001a ] This patch fixes cases where IRQ injection is tried while the call FD is not valid, which should not happen. Fixes: b1cce26af1dc ("vhost: add notification for packed ring") Fixes: e37ff954405a ("vhost: support virtqueue interrupt/notification suppression") Signed-off-by: Maxime Coquelin <maxime.coquelin@redhat.com> Signed-off-by: Eelco Chaudron <echaudro@redhat.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> --- lib/librte_vhost/vhost.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h index e96f2d836a..0f6672af3d 100644 --- a/lib/librte_vhost/vhost.h +++ b/lib/librte_vhost/vhost.h @@ -764,9 +764,9 @@ vhost_vring_call_split(struct virtio_net *dev, struct vhost_virtqueue *vq) vhost_used_event(vq), old, new); - if ((vhost_need_event(vhost_used_event(vq), new, old) && - (vq->callfd >= 0)) || - unlikely(!signalled_used_valid)) { + if ((vhost_need_event(vhost_used_event(vq), new, old) || + unlikely(!signalled_used_valid)) && + vq->callfd >= 0) { eventfd_write(vq->callfd, (eventfd_t) 1); if (dev->notify_ops->guest_notified) dev->notify_ops->guest_notified(dev->vid); @@ -829,7 +829,7 @@ vhost_vring_call_packed(struct virtio_net *dev, struct vhost_virtqueue *vq) if (vhost_need_event(off, new, old)) kick = true; kick: - if (kick) { + if (kick && vq->callfd >= 0) { eventfd_write(vq->callfd, (eventfd_t)1); if (dev->notify_ops->guest_notified) dev->notify_ops->guest_notified(dev->vid); -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.952971880 +0100 +++ 0044-vhost-fix-invalid-call-FD-handling.patch 2023-06-15 01:56:34.659543314 +0100 @@ -1 +1 @@ -From 0445f81883a3aa727ac7f8531beee2c225d3001a Mon Sep 17 00:00:00 2001 +From bdc6b54535796759d20b0762b9568483540c212a Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 0445f81883a3aa727ac7f8531beee2c225d3001a ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -17 +18 @@ - lib/vhost/vhost.h | 8 ++++---- + lib/librte_vhost/vhost.h | 8 ++++---- @@ -20,7 +21,7 @@ -diff --git a/lib/vhost/vhost.h b/lib/vhost/vhost.h -index 8554ab4002..40863f7bfd 100644 ---- a/lib/vhost/vhost.h -+++ b/lib/vhost/vhost.h -@@ -902,9 +902,9 @@ vhost_vring_call_split(struct virtio_net *dev, struct vhost_virtqueue *vq) - "%s: used_event_idx=%d, old=%d, new=%d\n", - __func__, vhost_used_event(vq), old, new); +diff --git a/lib/librte_vhost/vhost.h b/lib/librte_vhost/vhost.h +index e96f2d836a..0f6672af3d 100644 +--- a/lib/librte_vhost/vhost.h ++++ b/lib/librte_vhost/vhost.h +@@ -764,9 +764,9 @@ vhost_vring_call_split(struct virtio_net *dev, struct vhost_virtqueue *vq) + vhost_used_event(vq), + old, new); @@ -35,3 +36,3 @@ - if (dev->flags & VIRTIO_DEV_STATS_ENABLED) - vq->stats.guest_notifications++; -@@ -971,7 +971,7 @@ vhost_vring_call_packed(struct virtio_net *dev, struct vhost_virtqueue *vq) + if (dev->notify_ops->guest_notified) + dev->notify_ops->guest_notified(dev->vid); +@@ -829,7 +829,7 @@ vhost_vring_call_packed(struct virtio_net *dev, struct vhost_virtqueue *vq) @@ -44,2 +45,2 @@ - if (dev->flags & VIRTIO_DEV_STATS_ENABLED) - vq->stats.guest_notifications++; + if (dev->notify_ops->guest_notified) + dev->notify_ops->guest_notified(dev->vid); ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/virtio: fix initialization to return negative errno' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (42 preceding siblings ...) 2023-06-15 1:32 ` patch 'vhost: fix invalid call FD handling' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/virtio-user: fix leak when initialisation fails' " luca.boccassi ` (17 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Boleslav Stankevich; +Cc: Andrew Rybchenko, Chenbo Xia, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/08faea99b9c9334771c5e39373fefeef12fde63a Thanks. Luca Boccassi --- From 08faea99b9c9334771c5e39373fefeef12fde63a Mon Sep 17 00:00:00 2001 From: Boleslav Stankevich <boleslav.stankevich@oktetlabs.ru> Date: Wed, 22 Mar 2023 13:23:25 +0300 Subject: [PATCH] net/virtio: fix initialization to return negative errno [ upstream commit 55e19d06f8a8a865297532071453c10544a07a24 ] virtio_init_device() and called helper functions sometimes return -1 when return code should be negative errno. Fix all such cases to return correct negative errno instead. Fixes: 26b683b4f7d0 ("net/virtio: setup Rx queue interrupts") Fixes: 0c9d66207054 ("net/virtio: support RSS") Fixes: 6ba1f63b5ab0 ("virtio: support specification 1.0") Fixes: 49d26d9e3f47 ("net/virtio: support MTU feature") Signed-off-by: Boleslav Stankevich <boleslav.stankevich@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> --- drivers/net/virtio/virtio_ethdev.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c index 011130c61f..1ee738f8cc 100644 --- a/drivers/net/virtio/virtio_ethdev.c +++ b/drivers/net/virtio/virtio_ethdev.c @@ -1695,15 +1695,17 @@ static int virtio_configure_intr(struct rte_eth_dev *dev) { struct virtio_hw *hw = dev->data->dev_private; + int ret; if (!rte_intr_cap_multiple(dev->intr_handle)) { PMD_INIT_LOG(ERR, "Multiple intr vector not supported"); return -ENOTSUP; } - if (rte_intr_efd_enable(dev->intr_handle, dev->data->nb_rx_queues)) { + ret = rte_intr_efd_enable(dev->intr_handle, dev->data->nb_rx_queues); + if (ret < 0) { PMD_INIT_LOG(ERR, "Fail to create eventfd"); - return -1; + return ret; } if (!dev->intr_handle->intr_vec) { @@ -1735,12 +1737,13 @@ virtio_configure_intr(struct rte_eth_dev *dev) */ if (virtio_intr_enable(dev) < 0) { PMD_DRV_LOG(ERR, "interrupt enable failed"); - return -1; + return -EINVAL; } - if (virtio_queues_bind_intr(dev) < 0) { + ret = virtio_queues_bind_intr(dev); + if (ret < 0) { PMD_INIT_LOG(ERR, "Failed to bind queue/interrupt"); - return -1; + return ret; } return 0; @@ -1796,7 +1799,7 @@ virtio_init_device(struct rte_eth_dev *eth_dev, uint64_t req_features) /* Tell the host we've known how to drive the device. */ vtpci_set_status(hw, VIRTIO_CONFIG_STATUS_DRIVER); if (virtio_negotiate_features(hw, req_features) < 0) - return -1; + return -EINVAL; hw->weak_barriers = !vtpci_with_feature(hw, VIRTIO_F_ORDER_PLATFORM); @@ -1881,7 +1884,7 @@ virtio_init_device(struct rte_eth_dev *eth_dev, uint64_t req_features) if (config->mtu < RTE_ETHER_MIN_MTU) { PMD_INIT_LOG(ERR, "invalid max MTU value (%u)", config->mtu); - return -1; + return -EINVAL; } hw->max_mtu = config->mtu; @@ -1913,10 +1916,11 @@ virtio_init_device(struct rte_eth_dev *eth_dev, uint64_t req_features) return ret; if (eth_dev->data->dev_conf.intr_conf.rxq) { - if (virtio_configure_intr(eth_dev) < 0) { + ret = virtio_configure_intr(eth_dev); + if (ret < 0) { PMD_INIT_LOG(ERR, "failed to configure interrupt"); virtio_free_queues(hw); - return -1; + return ret; } } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:36.995835046 +0100 +++ 0045-net-virtio-fix-initialization-to-return-negative-err.patch 2023-06-15 01:56:34.659543314 +0100 @@ -1 +1 @@ -From 55e19d06f8a8a865297532071453c10544a07a24 Mon Sep 17 00:00:00 2001 +From 08faea99b9c9334771c5e39373fefeef12fde63a Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 55e19d06f8a8a865297532071453c10544a07a24 ] + @@ -14 +15,0 @@ -Cc: stable@dpdk.org @@ -20,2 +21,2 @@ - drivers/net/virtio/virtio_ethdev.c | 33 +++++++++++++++++------------- - 1 file changed, 19 insertions(+), 14 deletions(-) + drivers/net/virtio/virtio_ethdev.c | 22 +++++++++++++--------- + 1 file changed, 13 insertions(+), 9 deletions(-) @@ -24 +25 @@ -index a81110e70a..2c23f1c00e 100644 +index 011130c61f..1ee738f8cc 100644 @@ -27 +28,8 @@ -@@ -1360,9 +1360,10 @@ virtio_configure_intr(struct rte_eth_dev *dev) +@@ -1695,15 +1695,17 @@ static int + virtio_configure_intr(struct rte_eth_dev *dev) + { + struct virtio_hw *hw = dev->data->dev_private; ++ int ret; + + if (!rte_intr_cap_multiple(dev->intr_handle)) { + PMD_INIT_LOG(ERR, "Multiple intr vector not supported"); @@ -39,2 +47,2 @@ - ret = rte_intr_vec_list_alloc(dev->intr_handle, "intr_vec", -@@ -1391,12 +1392,13 @@ virtio_configure_intr(struct rte_eth_dev *dev) + if (!dev->intr_handle->intr_vec) { +@@ -1735,12 +1737,13 @@ virtio_configure_intr(struct rte_eth_dev *dev) @@ -57,19 +65 @@ -@@ -1719,7 +1721,7 @@ virtio_dev_rss_init(struct rte_eth_dev *eth_dev) - eth_dev->device->numa_node); - if (!hw->rss_key) { - PMD_INIT_LOG(ERR, "Failed to allocate RSS key"); -- return -1; -+ return -ENOMEM; - } - } - -@@ -1741,7 +1743,7 @@ virtio_dev_rss_init(struct rte_eth_dev *eth_dev) - eth_dev->device->numa_node); - if (!hw->rss_reta) { - PMD_INIT_LOG(ERR, "Failed to allocate RSS reta"); -- return -1; -+ return -ENOMEM; - } - - hw->rss_rx_queues = 0; -@@ -1781,7 +1783,7 @@ virtio_init_device(struct rte_eth_dev *eth_dev, uint64_t req_features) +@@ -1796,7 +1799,7 @@ virtio_init_device(struct rte_eth_dev *eth_dev, uint64_t req_features) @@ -77,2 +67,2 @@ - virtio_set_status(hw, VIRTIO_CONFIG_STATUS_DRIVER); - if (virtio_ethdev_negotiate_features(hw, req_features) < 0) + vtpci_set_status(hw, VIRTIO_CONFIG_STATUS_DRIVER); + if (virtio_negotiate_features(hw, req_features) < 0) @@ -82 +72 @@ - hw->weak_barriers = !virtio_with_feature(hw, VIRTIO_F_ORDER_PLATFORM); + hw->weak_barriers = !vtpci_with_feature(hw, VIRTIO_F_ORDER_PLATFORM); @@ -84 +74 @@ -@@ -1863,7 +1865,7 @@ virtio_init_device(struct rte_eth_dev *eth_dev, uint64_t req_features) +@@ -1881,7 +1884,7 @@ virtio_init_device(struct rte_eth_dev *eth_dev, uint64_t req_features) @@ -93,16 +83 @@ -@@ -1876,9 +1878,11 @@ virtio_init_device(struct rte_eth_dev *eth_dev, uint64_t req_features) - } - - hw->rss_hash_types = 0; -- if (virtio_with_feature(hw, VIRTIO_NET_F_RSS)) -- if (virtio_dev_rss_init(eth_dev)) -- return -1; -+ if (virtio_with_feature(hw, VIRTIO_NET_F_RSS)) { -+ ret = virtio_dev_rss_init(eth_dev); -+ if (ret < 0) -+ return ret; -+ } - - PMD_INIT_LOG(DEBUG, "config->max_virtqueue_pairs=%d", - config->max_virtqueue_pairs); -@@ -1900,10 +1904,11 @@ virtio_init_device(struct rte_eth_dev *eth_dev, uint64_t req_features) +@@ -1913,10 +1916,11 @@ virtio_init_device(struct rte_eth_dev *eth_dev, uint64_t req_features) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/virtio-user: fix leak when initialisation fails' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (43 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/virtio: fix initialization to return negative errno' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/mlx5: enhance error log for tunnel offloading' " luca.boccassi ` (16 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: David Marchand; +Cc: Maxime Coquelin, Tyler Retzlaff, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/1b227ed34a39b5ecd789d19d941a8d91a3cb288b Thanks. Luca Boccassi --- From 1b227ed34a39b5ecd789d19d941a8d91a3cb288b Mon Sep 17 00:00:00 2001 From: David Marchand <david.marchand@redhat.com> Date: Thu, 13 Apr 2023 12:10:41 +0200 Subject: [PATCH] net/virtio-user: fix leak when initialisation fails [ upstream commit c8254ef1a96c4897293b1d1db8c8a786dfb19e9d ] Caught with ASan. If initialising a virtio_user port fails, we may leak the ifname passed via a devargs. Fixes: 4214a1b493f2 ("net/virtio-user: support changing tap interface name") Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com> --- drivers/net/virtio/virtio_user/virtio_user_dev.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/net/virtio/virtio_user/virtio_user_dev.c b/drivers/net/virtio/virtio_user/virtio_user_dev.c index 73f6fd7313..cbcd0fedc0 100644 --- a/drivers/net/virtio/virtio_user/virtio_user_dev.c +++ b/drivers/net/virtio/virtio_user/virtio_user_dev.c @@ -475,10 +475,7 @@ virtio_user_dev_init(struct virtio_user_dev *dev, char *path, int queues, parse_mac(dev, mac); - if (*ifname) { - dev->ifname = *ifname; - *ifname = NULL; - } + dev->ifname = *ifname; if (virtio_user_dev_setup(dev) < 0) { PMD_INIT_LOG(ERR, "backend set up fails"); @@ -592,6 +589,7 @@ virtio_user_dev_init(struct virtio_user_dev *dev, char *path, int queues, } } + *ifname = NULL; return 0; } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:37.039629787 +0100 +++ 0046-net-virtio-user-fix-leak-when-initialisation-fails.patch 2023-06-15 01:56:34.663543401 +0100 @@ -1 +1 @@ -From c8254ef1a96c4897293b1d1db8c8a786dfb19e9d Mon Sep 17 00:00:00 2001 +From 1b227ed34a39b5ecd789d19d941a8d91a3cb288b Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit c8254ef1a96c4897293b1d1db8c8a786dfb19e9d ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -17,2 +18,2 @@ - drivers/net/virtio/virtio_user/virtio_user_dev.c | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) + drivers/net/virtio/virtio_user/virtio_user_dev.c | 6 ++---- + 1 file changed, 2 insertions(+), 4 deletions(-) @@ -21 +22 @@ -index 2b4607a291..af1f8c8237 100644 +index 73f6fd7313..cbcd0fedc0 100644 @@ -24,5 +25,4 @@ -@@ -696,11 +696,7 @@ virtio_user_dev_init(struct virtio_user_dev *dev, char *path, uint16_t queues, - dev->frontend_features = 0; - dev->unsupported_features = 0; - dev->backend_type = backend_type; -- +@@ -475,10 +475,7 @@ virtio_user_dev_init(struct virtio_user_dev *dev, char *path, int queues, + + parse_mac(dev, mac); + @@ -36,2 +36,2 @@ - PMD_INIT_LOG(ERR, "(%s) backend set up fails", dev->path); -@@ -794,6 +790,7 @@ virtio_user_dev_init(struct virtio_user_dev *dev, char *path, uint16_t queues, + PMD_INIT_LOG(ERR, "backend set up fails"); +@@ -592,6 +589,7 @@ virtio_user_dev_init(struct virtio_user_dev *dev, char *path, int queues, @@ -42,0 +43 @@ + } @@ -44 +44,0 @@ - notify_uninit: ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/mlx5: enhance error log for tunnel offloading' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (44 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/virtio-user: fix leak when initialisation fails' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/mlx5: fix duplicated tag index matching in SWS' " luca.boccassi ` (15 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: David Marchand; +Cc: Gregory Etelson, Raslan Darawsheh, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/f56bb621ae8449b7ad15216dfaddc8f60065d439 Thanks. Luca Boccassi --- From f56bb621ae8449b7ad15216dfaddc8f60065d439 Mon Sep 17 00:00:00 2001 From: David Marchand <david.marchand@redhat.com> Date: Thu, 27 Apr 2023 13:55:34 +0200 Subject: [PATCH] net/mlx5: enhance error log for tunnel offloading [ upstream commit c9fecc1cc2886bcd626a656a5493841363dec6dd ] Tunnel offloading is linked to running a port with the non-obvious dv_xmeta_en=3 devargs. Hint at it for "normal" users. Fixes: 4ec6360de37d ("net/mlx5: implement tunnel offload") Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Gregory Etelson <getelson@nvidia.com> Acked-by: Raslan Darawsheh <rasland@nvidia.com> --- drivers/net/mlx5/mlx5_flow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c index ad11611027..aad3c5b920 100644 --- a/drivers/net/mlx5/mlx5_flow.c +++ b/drivers/net/mlx5/mlx5_flow.c @@ -7918,7 +7918,7 @@ mlx5_flow_tunnel_validate(struct rte_eth_dev *dev, if (!is_tunnel_offload_active(dev)) return rte_flow_error_set(error, ENOTSUP, RTE_FLOW_ERROR_TYPE_ACTION_CONF, NULL, - "tunnel offload was not activated"); + "tunnel offload was not activated, consider setting dv_xmeta_en=3"); if (!tunnel) return rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ACTION_CONF, NULL, -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:37.081351938 +0100 +++ 0047-net-mlx5-enhance-error-log-for-tunnel-offloading.patch 2023-06-15 01:56:34.671543576 +0100 @@ -1 +1 @@ -From c9fecc1cc2886bcd626a656a5493841363dec6dd Mon Sep 17 00:00:00 2001 +From f56bb621ae8449b7ad15216dfaddc8f60065d439 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit c9fecc1cc2886bcd626a656a5493841363dec6dd ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index 156f826b8a..c32783efb2 100644 +index ad11611027..aad3c5b920 100644 @@ -23 +24 @@ -@@ -11329,7 +11329,7 @@ mlx5_flow_tunnel_validate(struct rte_eth_dev *dev, +@@ -7918,7 +7918,7 @@ mlx5_flow_tunnel_validate(struct rte_eth_dev *dev, ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/mlx5: fix duplicated tag index matching in SWS' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (45 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/mlx5: enhance error log for tunnel offloading' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/qede: fix RSS indirection table initialization' " luca.boccassi ` (14 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Rongwei Liu; +Cc: Viacheslav Ovsiienko, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/c85dbe8ee375bff9222786fa12376daa5b39bd58 Thanks. Luca Boccassi --- From c85dbe8ee375bff9222786fa12376daa5b39bd58 Mon Sep 17 00:00:00 2001 From: Rongwei Liu <rongweil@nvidia.com> Date: Tue, 16 May 2023 08:43:29 +0300 Subject: [PATCH] net/mlx5: fix duplicated tag index matching in SWS [ upstream commit d5a7699c10651cb1cea2b18f94099e984c466b75 ] Duplicated matching tag index is not allowed in SWS because they are using the same matching field in the underlayer layout. For example: "tag index is 0 data spec 0x12 mask 0xff / tag index is 0 data spec 0x1234 mask 0xffff" is paradoxical matching condition and "tag index is 0 data spec 0x12 mask 0xff / tag index is 0 data spec 0x3400 mask 0xff00" should be "tag index is 0 data spec 0x3412 mask 0xffff" Add checking logic against it. Fixes: e554b672aa05 ("net/mlx5: support flow tag") Signed-off-by: Rongwei Liu <rongweil@nvidia.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> --- drivers/net/mlx5/mlx5_flow_dv.c | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c index c60aabf075..c413da53d7 100644 --- a/drivers/net/mlx5/mlx5_flow_dv.c +++ b/drivers/net/mlx5/mlx5_flow_dv.c @@ -1499,6 +1499,8 @@ flow_dv_validate_item_meta(struct rte_eth_dev *dev __rte_unused, * Pointer to the rte_eth_dev structure. * @param[in] item * Item specification. + * @param[in] tag_bitmap + * Tag index bitmap. * @param[in] attr * Attributes of flow that includes this item. * @param[out] error @@ -1510,6 +1512,7 @@ flow_dv_validate_item_meta(struct rte_eth_dev *dev __rte_unused, static int flow_dv_validate_item_tag(struct rte_eth_dev *dev, const struct rte_flow_item *item, + uint32_t *tag_bitmap, const struct rte_flow_attr *attr __rte_unused, struct rte_flow_error *error) { @@ -1553,6 +1556,12 @@ flow_dv_validate_item_tag(struct rte_eth_dev *dev, if (ret < 0) return ret; MLX5_ASSERT(ret != REG_NON); + if (*tag_bitmap & (1 << ret)) + return rte_flow_error_set(error, EINVAL, + RTE_FLOW_ERROR_TYPE_ITEM_SPEC, + item->spec, + "Duplicated tag index"); + *tag_bitmap |= 1 << ret; return 0; } @@ -5313,7 +5322,8 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr, .std_tbl_fix = true, }; const struct rte_eth_hairpin_conf *conf; - uint32_t tag_id = 0; + uint32_t tag_id = 0, tag_bitmap = 0; + const struct mlx5_rte_flow_item_tag *mlx5_tag; if (items == NULL) return -1; @@ -5584,7 +5594,7 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr, last_item = MLX5_FLOW_LAYER_ICMP6; break; case RTE_FLOW_ITEM_TYPE_TAG: - ret = flow_dv_validate_item_tag(dev, items, + ret = flow_dv_validate_item_tag(dev, items, &tag_bitmap, attr, error); if (ret < 0) return ret; @@ -5594,6 +5604,13 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr, last_item = MLX5_FLOW_ITEM_TX_QUEUE; break; case MLX5_RTE_FLOW_ITEM_TYPE_TAG: + mlx5_tag = (const struct mlx5_rte_flow_item_tag *)items->spec; + if (tag_bitmap & (1 << mlx5_tag->id)) + return rte_flow_error_set(error, EINVAL, + RTE_FLOW_ERROR_TYPE_ITEM_SPEC, + items->spec, + "Duplicated tag index"); + tag_bitmap |= 1 << mlx5_tag->id; break; case RTE_FLOW_ITEM_TYPE_GTP: ret = flow_dv_validate_item_gtp(dev, items, item_flags, -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:37.135371195 +0100 +++ 0048-net-mlx5-fix-duplicated-tag-index-matching-in-SWS.patch 2023-06-15 01:56:34.687543926 +0100 @@ -1 +1 @@ -From d5a7699c10651cb1cea2b18f94099e984c466b75 Mon Sep 17 00:00:00 2001 +From c85dbe8ee375bff9222786fa12376daa5b39bd58 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit d5a7699c10651cb1cea2b18f94099e984c466b75 ] + @@ -18 +19,0 @@ -Cc: stable@dpdk.org @@ -27 +28 @@ -index 9ef9f13cbb..27e8b3a5a9 100644 +index c60aabf075..c413da53d7 100644 @@ -30 +31 @@ -@@ -2295,6 +2295,8 @@ flow_dv_validate_item_meta(struct rte_eth_dev *dev __rte_unused, +@@ -1499,6 +1499,8 @@ flow_dv_validate_item_meta(struct rte_eth_dev *dev __rte_unused, @@ -39 +40 @@ -@@ -2306,6 +2308,7 @@ flow_dv_validate_item_meta(struct rte_eth_dev *dev __rte_unused, +@@ -1510,6 +1512,7 @@ flow_dv_validate_item_meta(struct rte_eth_dev *dev __rte_unused, @@ -47 +48 @@ -@@ -2349,6 +2352,12 @@ flow_dv_validate_item_tag(struct rte_eth_dev *dev, +@@ -1553,6 +1556,12 @@ flow_dv_validate_item_tag(struct rte_eth_dev *dev, @@ -60,4 +61,4 @@ -@@ -7280,9 +7289,10 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr, - bool def_policy = false; - bool shared_count = false; - uint16_t udp_dport = 0; +@@ -5313,7 +5322,8 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr, + .std_tbl_fix = true, + }; + const struct rte_eth_hairpin_conf *conf; @@ -66,2 +66,0 @@ - const struct rte_flow_action_age *non_shared_age = NULL; - const struct rte_flow_action_count *count = NULL; @@ -69,2 +67,0 @@ - struct mlx5_priv *act_priv = NULL; - int aso_after_sample = 0; @@ -72 +69,3 @@ -@@ -7611,7 +7621,7 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr, + if (items == NULL) + return -1; +@@ -5584,7 +5594,7 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr, @@ -81,2 +80,2 @@ -@@ -7621,6 +7631,13 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr, - last_item = MLX5_FLOW_ITEM_SQ; +@@ -5594,6 +5604,13 @@ flow_dv_validate(struct rte_eth_dev *dev, const struct rte_flow_attr *attr, + last_item = MLX5_FLOW_ITEM_TX_QUEUE; ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/qede: fix RSS indirection table initialization' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (46 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/mlx5: fix duplicated tag index matching in SWS' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'doc: fix typo in cnxk platform guide' " luca.boccassi ` (13 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Devendra Singh Rawat; +Cc: Alok Prasad, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/08804e2e0aa7ab01464392b57b90c3f5fa10ea0a Thanks. Luca Boccassi --- From 08804e2e0aa7ab01464392b57b90c3f5fa10ea0a Mon Sep 17 00:00:00 2001 From: Devendra Singh Rawat <dsinghrawat@marvell.com> Date: Thu, 25 May 2023 19:24:21 +0530 Subject: [PATCH] net/qede: fix RSS indirection table initialization [ upstream commit 189183f4d7f2a22b9335ff8eede1c763bb356e5c ] RSS indirection table was not updated for VF ports during RSS hash update, this resulted in device start failure. This fix sets update RSS indirection table in VFPF channel request, sent for updating RSS hash for VF. Fixes: 7ab35bf6b97b ("net/qede: fix RSS") Signed-off-by: Devendra Singh Rawat <dsinghrawat@marvell.com> Signed-off-by: Alok Prasad <palok@marvell.com> --- drivers/net/qede/qede_ethdev.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/qede/qede_ethdev.c b/drivers/net/qede/qede_ethdev.c index 02a1d8945a..eef04fcda6 100644 --- a/drivers/net/qede/qede_ethdev.c +++ b/drivers/net/qede/qede_ethdev.c @@ -2148,6 +2148,7 @@ int qede_rss_hash_update(struct rte_eth_dev *eth_dev, rss_params.rss_enable = 1; } + rss_params.update_rss_ind_table = 1; rss_params.update_rss_config = 1; /* tbl_size has to be set with capabilities */ rss_params.rss_table_size_log = 7; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:37.194003224 +0100 +++ 0049-net-qede-fix-RSS-indirection-table-initialization.patch 2023-06-15 01:56:34.687543926 +0100 @@ -1 +1 @@ -From 189183f4d7f2a22b9335ff8eede1c763bb356e5c Mon Sep 17 00:00:00 2001 +From 08804e2e0aa7ab01464392b57b90c3f5fa10ea0a Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 189183f4d7f2a22b9335ff8eede1c763bb356e5c ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -21 +22 @@ -index a4923670d6..22cd470646 100644 +index 02a1d8945a..eef04fcda6 100644 @@ -24 +25 @@ -@@ -2142,6 +2142,7 @@ int qede_rss_hash_update(struct rte_eth_dev *eth_dev, +@@ -2148,6 +2148,7 @@ int qede_rss_hash_update(struct rte_eth_dev *eth_dev, ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'doc: fix typo in cnxk platform guide' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (47 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/qede: fix RSS indirection table initialization' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/i40e: fix Rx data buffer size' " luca.boccassi ` (12 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Thierry Herbelot; +Cc: dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/afc91e2f3b0671bec0982ecc19356f62a425ddd2 Thanks. Luca Boccassi --- From afc91e2f3b0671bec0982ecc19356f62a425ddd2 Mon Sep 17 00:00:00 2001 From: Thierry Herbelot <thierry.herbelot@6wind.com> Date: Fri, 2 Jun 2023 18:21:45 +0200 Subject: [PATCH] doc: fix typo in cnxk platform guide [ upstream commit 443000992bc937d4686a37e4eef9c66b6b3ce642 ] The Linux kernel option has an added underscore. Fixes: 14ad4f018453 ("doc: add Marvell OCTEON TX2 platform guide") Signed-off-by: Thierry Herbelot <thierry.herbelot@6wind.com> --- doc/guides/platform/octeontx2.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guides/platform/octeontx2.rst b/doc/guides/platform/octeontx2.rst index 69925f5fae..f7b5fdf22a 100644 --- a/doc/guides/platform/octeontx2.rst +++ b/doc/guides/platform/octeontx2.rst @@ -249,7 +249,7 @@ context or stats using debugfs. Enable ``debugfs`` by: -1. Compile kernel with debugfs enabled, i.e ``CONFIG_DEBUGFS=y``. +1. Compile kernel with debugfs enabled, i.e ``CONFIG_DEBUG_FS=y``. 2. Boot OCTEON TX2 with debugfs supported kernel. 3. Verify ``debugfs`` mounted by default "mount | grep -i debugfs" or mount it manually by using. -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:37.247337578 +0100 +++ 0050-doc-fix-typo-in-cnxk-platform-guide.patch 2023-06-15 01:56:34.691544013 +0100 @@ -1 +1 @@ -From 443000992bc937d4686a37e4eef9c66b6b3ce642 Mon Sep 17 00:00:00 2001 +From afc91e2f3b0671bec0982ecc19356f62a425ddd2 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 443000992bc937d4686a37e4eef9c66b6b3ce642 ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org @@ -13 +14 @@ - doc/guides/platform/cnxk.rst | 2 +- + doc/guides/platform/octeontx2.rst | 2 +- @@ -16,5 +17,5 @@ -diff --git a/doc/guides/platform/cnxk.rst b/doc/guides/platform/cnxk.rst -index 4a1966c66b..b3aa4de09d 100644 ---- a/doc/guides/platform/cnxk.rst -+++ b/doc/guides/platform/cnxk.rst -@@ -258,7 +258,7 @@ context or stats using debugfs. +diff --git a/doc/guides/platform/octeontx2.rst b/doc/guides/platform/octeontx2.rst +index 69925f5fae..f7b5fdf22a 100644 +--- a/doc/guides/platform/octeontx2.rst ++++ b/doc/guides/platform/octeontx2.rst +@@ -249,7 +249,7 @@ context or stats using debugfs. @@ -26 +27 @@ - 2. Boot OCTEON CN9K/CN10K with debugfs supported kernel. + 2. Boot OCTEON TX2 with debugfs supported kernel. ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/i40e: fix Rx data buffer size' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (48 preceding siblings ...) 2023-06-15 1:32 ` patch 'doc: fix typo in cnxk platform guide' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/ice: " luca.boccassi ` (11 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Wenjun Wu; +Cc: Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/26559168c9cf41d2a7325a9f6786c1bae0c286b0 Thanks. Luca Boccassi --- From 26559168c9cf41d2a7325a9f6786c1bae0c286b0 Mon Sep 17 00:00:00 2001 From: Wenjun Wu <wenjun1.wu@intel.com> Date: Fri, 14 Apr 2023 13:47:40 +0800 Subject: [PATCH] net/i40e: fix Rx data buffer size [ upstream commit ff2ec0ce04739240205628207881a91e1e330cb7 ] According to hardware spec, the data buffer size should not be greater than 16K - 128. Fixes: 4861cde46116 ("i40e: new poll mode driver") Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/i40e/i40e_rxtx.c | 2 ++ drivers/net/i40e/i40e_rxtx.h | 3 +++ 2 files changed, 5 insertions(+) diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index 8a687803b9..071345da09 100644 --- a/drivers/net/i40e/i40e_rxtx.c +++ b/drivers/net/i40e/i40e_rxtx.c @@ -2818,6 +2818,8 @@ i40e_rx_queue_config(struct i40e_rx_queue *rxq) rxq->rx_hdr_len = 0; rxq->rx_buf_len = RTE_ALIGN_FLOOR(buf_size, (1 << I40E_RXQ_CTX_DBUFF_SHIFT)); + rxq->rx_buf_len = RTE_MIN(rxq->rx_buf_len, + I40E_RX_MAX_DATA_BUF_SIZE); rxq->hs_mode = i40e_header_split_none; break; } diff --git a/drivers/net/i40e/i40e_rxtx.h b/drivers/net/i40e/i40e_rxtx.h index 0671750779..2786bdcff9 100644 --- a/drivers/net/i40e/i40e_rxtx.h +++ b/drivers/net/i40e/i40e_rxtx.h @@ -21,6 +21,9 @@ /* In none-PXE mode QLEN must be whole number of 32 descriptors. */ #define I40E_ALIGN_RING_DESC 32 +/* Max data buffer size must be 16K - 128 bytes */ +#define I40E_RX_MAX_DATA_BUF_SIZE (16 * 1024 - 128) + #define I40E_MIN_RING_DESC 64 #define I40E_MAX_RING_DESC 4096 -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:37.290691750 +0100 +++ 0051-net-i40e-fix-Rx-data-buffer-size.patch 2023-06-15 01:56:34.695544100 +0100 @@ -1 +1 @@ -From ff2ec0ce04739240205628207881a91e1e330cb7 Mon Sep 17 00:00:00 2001 +From 26559168c9cf41d2a7325a9f6786c1bae0c286b0 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit ff2ec0ce04739240205628207881a91e1e330cb7 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index 788ffb51c2..fbbefb5015 100644 +index 8a687803b9..071345da09 100644 @@ -23 +24 @@ -@@ -2904,6 +2904,8 @@ i40e_rx_queue_config(struct i40e_rx_queue *rxq) +@@ -2818,6 +2818,8 @@ i40e_rx_queue_config(struct i40e_rx_queue *rxq) @@ -33 +34 @@ -index 5e6eecc501..0376c219be 100644 +index 0671750779..2786bdcff9 100644 ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/ice: fix Rx data buffer size' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (49 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/i40e: fix Rx data buffer size' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/iavf: " luca.boccassi ` (10 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Wenjun Wu; +Cc: Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/4b0fddb60cf9084a7b8592a25230797cbb01dd32 Thanks. Luca Boccassi --- From 4b0fddb60cf9084a7b8592a25230797cbb01dd32 Mon Sep 17 00:00:00 2001 From: Wenjun Wu <wenjun1.wu@intel.com> Date: Fri, 14 Apr 2023 13:47:41 +0800 Subject: [PATCH] net/ice: fix Rx data buffer size [ upstream commit 9a5c9dc475428c7d2c74383c0903541ab80144ea ] This patch does two fixes. 1. According to hardware spec, the data buffer size should not be greater than 16K - 128. 2. Replace RTE_ALIGN with RTE_ALIGN_FLOOR according to [1]. [1] Commit c9c45beb1b97 ("net/iavf: fix Rx queue buffer size alignment") Fixes: 50370662b727 ("net/ice: support device and queue ops") Fixes: 1b009275e2c8 ("net/ice: add Rx queue init in DCF") Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/ice/ice_dcf_ethdev.c | 3 ++- drivers/net/ice/ice_rxtx.c | 3 ++- drivers/net/ice/ice_rxtx.h | 3 +++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/net/ice/ice_dcf_ethdev.c b/drivers/net/ice/ice_dcf_ethdev.c index 429057a862..eb8095a61f 100644 --- a/drivers/net/ice/ice_dcf_ethdev.c +++ b/drivers/net/ice/ice_dcf_ethdev.c @@ -52,7 +52,8 @@ ice_dcf_init_rxq(struct rte_eth_dev *dev, struct ice_rx_queue *rxq) buf_size = rte_pktmbuf_data_room_size(rxq->mp) - RTE_PKTMBUF_HEADROOM; rxq->rx_hdr_len = 0; - rxq->rx_buf_len = RTE_ALIGN(buf_size, (1 << ICE_RLAN_CTX_DBUF_S)); + rxq->rx_buf_len = RTE_ALIGN_FLOOR(buf_size, (1 << ICE_RLAN_CTX_DBUF_S)); + rxq->rx_buf_len = RTE_MIN(rxq->rx_buf_len, ICE_RX_MAX_DATA_BUF_SIZE); max_pkt_len = RTE_MIN((uint32_t) ICE_SUPPORT_CHAIN_NUM * rxq->rx_buf_len, dev->data->dev_conf.rxmode.max_rx_pkt_len); diff --git a/drivers/net/ice/ice_rxtx.c b/drivers/net/ice/ice_rxtx.c index 2716c56f3a..699bf7bb64 100644 --- a/drivers/net/ice/ice_rxtx.c +++ b/drivers/net/ice/ice_rxtx.c @@ -248,7 +248,8 @@ ice_program_hw_rx_queue(struct ice_rx_queue *rxq) buf_size = (uint16_t)(rte_pktmbuf_data_room_size(rxq->mp) - RTE_PKTMBUF_HEADROOM); rxq->rx_hdr_len = 0; - rxq->rx_buf_len = RTE_ALIGN(buf_size, (1 << ICE_RLAN_CTX_DBUF_S)); + rxq->rx_buf_len = RTE_ALIGN_FLOOR(buf_size, (1 << ICE_RLAN_CTX_DBUF_S)); + rxq->rx_buf_len = RTE_MIN(rxq->rx_buf_len, ICE_RX_MAX_DATA_BUF_SIZE); rxq->max_pkt_len = RTE_MIN((uint32_t) ICE_SUPPORT_CHAIN_NUM * rxq->rx_buf_len, dev_data->dev_conf.rxmode.max_rx_pkt_len); diff --git a/drivers/net/ice/ice_rxtx.h b/drivers/net/ice/ice_rxtx.h index 1ba264ddbc..02da387897 100644 --- a/drivers/net/ice/ice_rxtx.h +++ b/drivers/net/ice/ice_rxtx.h @@ -42,6 +42,9 @@ #define ICE_TX_MIN_PKT_LEN 17 +/* Max data buffer size must be 16K - 128 bytes */ +#define ICE_RX_MAX_DATA_BUF_SIZE (16 * 1024 - 128) + typedef void (*ice_rx_release_mbufs_t)(struct ice_rx_queue *rxq); typedef void (*ice_tx_release_mbufs_t)(struct ice_tx_queue *txq); typedef void (*ice_rxd_to_pkt_fields_t)(struct ice_rx_queue *rxq, -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:37.337464438 +0100 +++ 0052-net-ice-fix-Rx-data-buffer-size.patch 2023-06-15 01:56:34.699544188 +0100 @@ -1 +1 @@ -From 9a5c9dc475428c7d2c74383c0903541ab80144ea Mon Sep 17 00:00:00 2001 +From 4b0fddb60cf9084a7b8592a25230797cbb01dd32 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 9a5c9dc475428c7d2c74383c0903541ab80144ea ] + @@ -17 +18,0 @@ -Cc: stable@dpdk.org @@ -28 +29 @@ -index 13ff24552d..76b28bface 100644 +index 429057a862..eb8095a61f 100644 @@ -31 +32 @@ -@@ -114,7 +114,8 @@ ice_dcf_init_rxq(struct rte_eth_dev *dev, struct ice_rx_queue *rxq) +@@ -52,7 +52,8 @@ ice_dcf_init_rxq(struct rte_eth_dev *dev, struct ice_rx_queue *rxq) @@ -38,3 +39,3 @@ - max_pkt_len = RTE_MIN(ICE_SUPPORT_CHAIN_NUM * rxq->rx_buf_len, - dev->data->mtu + ICE_ETH_OVERHEAD); - + max_pkt_len = RTE_MIN((uint32_t) + ICE_SUPPORT_CHAIN_NUM * rxq->rx_buf_len, + dev->data->dev_conf.rxmode.max_rx_pkt_len); @@ -42 +43 @@ -index 0ea0045836..560c1a4af7 100644 +index 2716c56f3a..699bf7bb64 100644 @@ -45,2 +46 @@ -@@ -259,7 +259,8 @@ ice_program_hw_rx_queue(struct ice_rx_queue *rxq) - /* Set buffer size as the head split is disabled. */ +@@ -248,7 +248,8 @@ ice_program_hw_rx_queue(struct ice_rx_queue *rxq) @@ -48,0 +49 @@ + rxq->rx_hdr_len = 0; @@ -52,3 +53,3 @@ - rxq->max_pkt_len = - RTE_MIN((uint32_t)ICE_SUPPORT_CHAIN_NUM * rxq->rx_buf_len, - frame_size); + rxq->max_pkt_len = RTE_MIN((uint32_t) + ICE_SUPPORT_CHAIN_NUM * rxq->rx_buf_len, + dev_data->dev_conf.rxmode.max_rx_pkt_len); @@ -56 +57 @@ -index 94f6bcf3d1..89569029e1 100644 +index 1ba264ddbc..02da387897 100644 @@ -59,3 +60,3 @@ -@@ -51,6 +51,9 @@ extern int ice_timestamp_dynfield_offset; - /* Max header size can be 2K - 64 bytes */ - #define ICE_RX_HDR_BUF_SIZE (2048 - 64) +@@ -42,6 +42,9 @@ + + #define ICE_TX_MIN_PKT_LEN 17 @@ -66,2 +66,0 @@ - #define ICE_HEADER_SPLIT_ENA BIT(0) - @@ -68,0 +68,2 @@ + typedef void (*ice_tx_release_mbufs_t)(struct ice_tx_queue *txq); + typedef void (*ice_rxd_to_pkt_fields_t)(struct ice_rx_queue *rxq, ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/iavf: fix Rx data buffer size' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (50 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/ice: " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/ice: fix statistics' " luca.boccassi ` (9 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Wenjun Wu; +Cc: Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/0bf4c1164997fe6330553ddf22e1b8451864e1ee Thanks. Luca Boccassi --- From 0bf4c1164997fe6330553ddf22e1b8451864e1ee Mon Sep 17 00:00:00 2001 From: Wenjun Wu <wenjun1.wu@intel.com> Date: Fri, 14 Apr 2023 13:47:42 +0800 Subject: [PATCH] net/iavf: fix Rx data buffer size [ upstream commit c5549f1d9b1bf2bf2b09517daf89c84fbf5b18e0 ] According to hardware spec, the data buffer size should not be greater than 16K - 128. Fixes: 69dd4c3d0898 ("net/avf: enable queue and device") Signed-off-by: Wenjun Wu <wenjun1.wu@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/iavf/iavf_rxtx.c | 1 + drivers/net/iavf/iavf_rxtx.h | 3 +++ 2 files changed, 4 insertions(+) diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c index a885d6955c..45b30363df 100644 --- a/drivers/net/iavf/iavf_rxtx.c +++ b/drivers/net/iavf/iavf_rxtx.c @@ -583,6 +583,7 @@ iavf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx, len = rte_pktmbuf_data_room_size(rxq->mp) - RTE_PKTMBUF_HEADROOM; rxq->rx_buf_len = RTE_ALIGN_FLOOR(len, (1 << IAVF_RXQ_CTX_DBUFF_SHIFT)); + rxq->rx_buf_len = RTE_MIN(rxq->rx_buf_len, IAVF_RX_MAX_DATA_BUF_SIZE); /* Allocate the software ring. */ len = nb_desc + IAVF_RX_MAX_BURST; diff --git a/drivers/net/iavf/iavf_rxtx.h b/drivers/net/iavf/iavf_rxtx.h index 047743de4f..f961dbaa77 100644 --- a/drivers/net/iavf/iavf_rxtx.h +++ b/drivers/net/iavf/iavf_rxtx.h @@ -16,6 +16,9 @@ /* used for Rx Bulk Allocate */ #define IAVF_RX_MAX_BURST 32 +/* Max data buffer size must be 16K - 128 bytes */ +#define IAVF_RX_MAX_DATA_BUF_SIZE (16 * 1024 - 128) + /* used for Vector PMD */ #define IAVF_VPMD_RX_MAX_BURST 32 #define IAVF_VPMD_TX_MAX_BURST 32 -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:37.389939330 +0100 +++ 0053-net-iavf-fix-Rx-data-buffer-size.patch 2023-06-15 01:56:34.703544275 +0100 @@ -1 +1 @@ -From c5549f1d9b1bf2bf2b09517daf89c84fbf5b18e0 Mon Sep 17 00:00:00 2001 +From 0bf4c1164997fe6330553ddf22e1b8451864e1ee Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit c5549f1d9b1bf2bf2b09517daf89c84fbf5b18e0 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index b1d0fbceb6..0db3aabd92 100644 +index a885d6955c..45b30363df 100644 @@ -23 +24 @@ -@@ -697,6 +697,7 @@ iavf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx, +@@ -583,6 +583,7 @@ iavf_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t queue_idx, @@ -32 +33 @@ -index 09e2127db0..f205a2aaf1 100644 +index 047743de4f..f961dbaa77 100644 ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/ice: fix statistics' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (51 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/iavf: " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/ice: fix DCF RSS initialization' " luca.boccassi ` (8 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Mingjin Ye; +Cc: Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/6efe1ac8a1a08841673939090a57690e50af34bf Thanks. Luca Boccassi --- From 6efe1ac8a1a08841673939090a57690e50af34bf Mon Sep 17 00:00:00 2001 From: Mingjin Ye <mingjinx.ye@intel.com> Date: Thu, 11 May 2023 02:10:55 +0000 Subject: [PATCH] net/ice: fix statistics [ upstream commit a47ef8640a677a3973de48b8075f1fcd6a0ee68e ] When the stats_get api is called for the first time in pmd, the offset of the stats register is not recorded. That results in all the obtained count values being 0. This patch adds reset statistics before dev_init returning. That avoids some noise being counted. Fixes: 12443386a0b0 ("net/ice: support flex Rx descriptor RxDID22") Signed-off-by: Mingjin Ye <mingjinx.ye@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/ice/ice_ethdev.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c index 8db05c998a..5a49868855 100644 --- a/drivers/net/ice/ice_ethdev.c +++ b/drivers/net/ice/ice_ethdev.c @@ -2270,6 +2270,9 @@ ice_dev_init(struct rte_eth_dev *dev) pf->supported_rxdid = ice_get_supported_rxdid(hw); + /* reset all stats of the device, including pf and main vsi */ + ice_stats_reset(dev); + return 0; err_flow_init: -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:37.438664928 +0100 +++ 0054-net-ice-fix-statistics.patch 2023-06-15 01:56:34.707544363 +0100 @@ -1 +1 @@ -From a47ef8640a677a3973de48b8075f1fcd6a0ee68e Mon Sep 17 00:00:00 2001 +From 6efe1ac8a1a08841673939090a57690e50af34bf Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit a47ef8640a677a3973de48b8075f1fcd6a0ee68e ] + @@ -14 +15,0 @@ -Cc: stable@dpdk.org @@ -23 +24 @@ -index e03bbd81a1..2345f9f29c 100644 +index 8db05c998a..5a49868855 100644 @@ -26 +27 @@ -@@ -2440,6 +2440,9 @@ ice_dev_init(struct rte_eth_dev *dev) +@@ -2270,6 +2270,9 @@ ice_dev_init(struct rte_eth_dev *dev) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/ice: fix DCF RSS initialization' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (52 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/ice: fix statistics' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/iavf: release large VF when closing device' " luca.boccassi ` (7 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Kaiwen Deng; +Cc: Tyler Retzlaff, Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/6affab003120be5b3366396ce22d4af3717c2d75 Thanks. Luca Boccassi --- From 6affab003120be5b3366396ce22d4af3717c2d75 Mon Sep 17 00:00:00 2001 From: Kaiwen Deng <kaiwenx.deng@intel.com> Date: Tue, 9 May 2023 09:22:09 +0800 Subject: [PATCH] net/ice: fix DCF RSS initialization [ upstream commit f0be05f4c49129c8b7a34fa6505586b8a646ead1 ] The i variable type is uint8_t which causes a dead loop, changing it to size_t will solve this issue. Fixes: 3220d865382c ("net/ice: init RSS during DCF start") Signed-off-by: Kaiwen Deng <kaiwenx.deng@intel.com> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/ice/ice_dcf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ice/ice_dcf.c b/drivers/net/ice/ice_dcf.c index 7aeb9c82ca..269d61f414 100644 --- a/drivers/net/ice/ice_dcf.c +++ b/drivers/net/ice/ice_dcf.c @@ -789,7 +789,8 @@ ice_dcf_init_rss(struct ice_dcf_hw *hw) { struct rte_eth_dev *dev = hw->eth_dev; struct rte_eth_rss_conf *rss_conf; - uint8_t i, j, nb_q; + uint8_t j, nb_q; + size_t i; int ret; rss_conf = &dev->data->dev_conf.rx_adv_conf.rss_conf; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:37.484134883 +0100 +++ 0055-net-ice-fix-DCF-RSS-initialization.patch 2023-06-15 01:56:34.707544363 +0100 @@ -1 +1 @@ -From f0be05f4c49129c8b7a34fa6505586b8a646ead1 Mon Sep 17 00:00:00 2001 +From 6affab003120be5b3366396ce22d4af3717c2d75 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit f0be05f4c49129c8b7a34fa6505586b8a646ead1 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index 80d2cbd597..b11d66f45f 100644 +index 7aeb9c82ca..269d61f414 100644 @@ -23 +24 @@ -@@ -853,7 +853,8 @@ ice_dcf_init_rss(struct ice_dcf_hw *hw) +@@ -789,7 +789,8 @@ ice_dcf_init_rss(struct ice_dcf_hw *hw) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/iavf: release large VF when closing device' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (53 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/ice: fix DCF RSS initialization' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/ice: fix DCF control thread crash' " luca.boccassi ` (6 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Shiyang He; +Cc: Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/f6647f1993d0ec599ab9505a150bc0f23ee15a65 Thanks. Luca Boccassi --- From f6647f1993d0ec599ab9505a150bc0f23ee15a65 Mon Sep 17 00:00:00 2001 From: Shiyang He <shiyangx.he@intel.com> Date: Mon, 8 May 2023 16:58:23 +0000 Subject: [PATCH] net/iavf: release large VF when closing device [ upstream commit cdd8d6dfd156709b05ce363d7c5f491cc927330a ] Multiple vfs created based on one PF. If one of the vf requests a large number of queues, the queue resources are not released when exiting the program, resulting in these queues cannot be available to other vfs. This commit fixes the issue by resetting the number of queues to default when closing the dev (refer to the kernel driver) . Fixes: e436cd43835b ("net/iavf: negotiate large VF and request more queues") Signed-off-by: Shiyang He <shiyangx.he@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/iavf/iavf_ethdev.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c index 0cb2a457a2..746f6fc335 100644 --- a/drivers/net/iavf/iavf_ethdev.c +++ b/drivers/net/iavf/iavf_ethdev.c @@ -2087,6 +2087,18 @@ iavf_dev_close(struct rte_eth_dev *dev) if (vf->promisc_unicast_enabled || vf->promisc_multicast_enabled) iavf_config_promisc(adapter, false, false); + /* + * Release redundant queue resource when close the dev + * so that other vfs can re-use the queues. + */ + if (vf->lv_enabled) { + ret = iavf_request_queues(dev, IAVF_MAX_NUM_QUEUES_DFLT); + if (ret) + PMD_DRV_LOG(ERR, "Reset the num of queues failed"); + + vf->max_rss_qregion = IAVF_MAX_NUM_QUEUES_DFLT; + } + iavf_shutdown_adminq(hw); /* disable uio intr before callback unregister */ rte_intr_disable(intr_handle); -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:37.525555025 +0100 +++ 0056-net-iavf-release-large-VF-when-closing-device.patch 2023-06-15 01:56:34.711544450 +0100 @@ -1 +1 @@ -From cdd8d6dfd156709b05ce363d7c5f491cc927330a Mon Sep 17 00:00:00 2001 +From f6647f1993d0ec599ab9505a150bc0f23ee15a65 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit cdd8d6dfd156709b05ce363d7c5f491cc927330a ] + @@ -14 +15,0 @@ -Cc: stable@dpdk.org @@ -23 +24 @@ -index f6d68403ce..9c55eaa66e 100644 +index 0cb2a457a2..746f6fc335 100644 @@ -26 +27 @@ -@@ -2735,6 +2735,18 @@ iavf_dev_close(struct rte_eth_dev *dev) +@@ -2087,6 +2087,18 @@ iavf_dev_close(struct rte_eth_dev *dev) @@ -43,2 +44,2 @@ - if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_WB_ON_ITR) { - /* disable uio intr before callback unregister */ + /* disable uio intr before callback unregister */ + rte_intr_disable(intr_handle); ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/ice: fix DCF control thread crash' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (54 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/iavf: release large VF when closing device' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/ice/base: remove unreachable code' " luca.boccassi ` (5 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Mingjin Ye; +Cc: Ke Zhang, Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/86d4ff26c435878ba4b52a1e90d1cd3298689ad0 Thanks. Luca Boccassi --- From 86d4ff26c435878ba4b52a1e90d1cd3298689ad0 Mon Sep 17 00:00:00 2001 From: Mingjin Ye <mingjinx.ye@intel.com> Date: Tue, 11 Apr 2023 02:08:55 +0000 Subject: [PATCH] net/ice: fix DCF control thread crash [ upstream commit 6b7621cea2d9470df076c3559a2fa6ee9752f419 ] The control thread accesses the hardware resources after the resources were released, which results in a segment error. The 'ice-reset' threads are detached, so thread resources cannot be reclaimed by `pthread_join` calls. This commit synchronizes the number of "ice-reset" threads by adding a variable ("vsi_update_thread_num") to the "struct ice_dcf_hw" and performing an atomic operation on this variable. When releasing HW resources, we wait for the number of "ice-reset" threads to be reduced to 0 before releasing the resources. Fixes: c7e1a1a3bfeb ("net/ice: refactor DCF VLAN handling") Fixes: 3b3757bda3c3 ("net/ice: get VF hardware index in DCF") Fixes: 7564d5509611 ("net/ice: add DCF hardware initialization") Fixes: 0b02c9519432 ("net/ice: handle PF initialization by DCF") Signed-off-by: Ke Zhang <ke1x.zhang@intel.com> Signed-off-by: Mingjin Ye <mingjinx.ye@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/ice/ice_dcf.c | 9 +++++++++ drivers/net/ice/ice_dcf.h | 2 ++ drivers/net/ice/ice_dcf_parent.c | 6 ++++++ 3 files changed, 17 insertions(+) diff --git a/drivers/net/ice/ice_dcf.c b/drivers/net/ice/ice_dcf.c index 269d61f414..b77097682e 100644 --- a/drivers/net/ice/ice_dcf.c +++ b/drivers/net/ice/ice_dcf.c @@ -32,6 +32,8 @@ #define ICE_DCF_ARQ_MAX_RETRIES 200 #define ICE_DCF_ARQ_CHECK_TIME 2 /* msecs */ +#define ICE_DCF_CHECK_INTERVAL 100 /* 100ms */ + #define ICE_DCF_VF_RES_BUF_SZ \ (sizeof(struct virtchnl_vf_resource) + \ IAVF_MAX_VF_VSI * sizeof(struct virtchnl_vsi_resource)) @@ -609,6 +611,8 @@ ice_dcf_init_hw(struct rte_eth_dev *eth_dev, struct ice_dcf_hw *hw) rte_spinlock_init(&hw->vc_cmd_queue_lock); TAILQ_INIT(&hw->vc_cmd_queue); + __atomic_store_n(&hw->vsi_update_thread_num, 0, __ATOMIC_RELAXED); + hw->arq_buf = rte_zmalloc("arq_buf", ICE_DCF_AQ_BUF_SZ, 0); if (hw->arq_buf == NULL) { PMD_INIT_LOG(ERR, "unable to allocate AdminQ buffer memory"); @@ -710,6 +714,11 @@ ice_dcf_uninit_hw(struct rte_eth_dev *eth_dev, struct ice_dcf_hw *hw) rte_intr_callback_unregister(intr_handle, ice_dcf_dev_interrupt_handler, hw); + /* Wait for all `ice-thread` threads to exit. */ + while (__atomic_load_n(&hw->vsi_update_thread_num, + __ATOMIC_ACQUIRE) != 0) + rte_delay_ms(ICE_DCF_CHECK_INTERVAL); + ice_dcf_mode_disable(hw); iavf_shutdown_adminq(&hw->avf); diff --git a/drivers/net/ice/ice_dcf.h b/drivers/net/ice/ice_dcf.h index ff029963bf..6c594754ff 100644 --- a/drivers/net/ice/ice_dcf.h +++ b/drivers/net/ice/ice_dcf.h @@ -39,6 +39,8 @@ struct ice_dcf_hw { void (*vc_event_msg_cb)(struct ice_dcf_hw *dcf_hw, uint8_t *msg, uint16_t msglen); + int vsi_update_thread_num; + uint8_t *arq_buf; uint16_t num_vfs; diff --git a/drivers/net/ice/ice_dcf_parent.c b/drivers/net/ice/ice_dcf_parent.c index c7c1111a67..8456c48a91 100644 --- a/drivers/net/ice/ice_dcf_parent.c +++ b/drivers/net/ice/ice_dcf_parent.c @@ -115,6 +115,9 @@ ice_dcf_vsi_update_service_handler(void *param) container_of(hw, struct ice_dcf_adapter, real_hw); struct ice_adapter *parent_adapter = &adapter->parent; + __atomic_fetch_add(&hw->vsi_update_thread_num, 1, + __ATOMIC_RELAXED); + pthread_detach(pthread_self()); usleep(ICE_DCF_VSI_UPDATE_SERVICE_INTERVAL); @@ -133,6 +136,9 @@ ice_dcf_vsi_update_service_handler(void *param) rte_spinlock_unlock(&vsi_update_lock); + __atomic_fetch_sub(&hw->vsi_update_thread_num, 1, + __ATOMIC_RELEASE); + return NULL; } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:37.568287886 +0100 +++ 0057-net-ice-fix-DCF-control-thread-crash.patch 2023-06-15 01:56:34.711544450 +0100 @@ -1 +1 @@ -From 6b7621cea2d9470df076c3559a2fa6ee9752f419 Mon Sep 17 00:00:00 2001 +From 86d4ff26c435878ba4b52a1e90d1cd3298689ad0 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 6b7621cea2d9470df076c3559a2fa6ee9752f419 ] + @@ -22 +23,0 @@ -Cc: stable@dpdk.org @@ -34 +35 @@ -index b11d66f45f..c37b56b0d3 100644 +index 269d61f414..b77097682e 100644 @@ -37 +38 @@ -@@ -31,6 +31,8 @@ +@@ -32,6 +32,8 @@ @@ -46 +47 @@ -@@ -638,6 +640,8 @@ ice_dcf_init_hw(struct rte_eth_dev *eth_dev, struct ice_dcf_hw *hw) +@@ -609,6 +611,8 @@ ice_dcf_init_hw(struct rte_eth_dev *eth_dev, struct ice_dcf_hw *hw) @@ -55 +56 @@ -@@ -759,6 +763,11 @@ ice_dcf_uninit_hw(struct rte_eth_dev *eth_dev, struct ice_dcf_hw *hw) +@@ -710,6 +714,11 @@ ice_dcf_uninit_hw(struct rte_eth_dev *eth_dev, struct ice_dcf_hw *hw) @@ -68 +69 @@ -index 7f42ebabe9..7becf6d187 100644 +index ff029963bf..6c594754ff 100644 @@ -71 +72 @@ -@@ -105,6 +105,8 @@ struct ice_dcf_hw { +@@ -39,6 +39,8 @@ struct ice_dcf_hw { @@ -81 +82 @@ -index 3175d18b5b..d62837840d 100644 +index c7c1111a67..8456c48a91 100644 @@ -84 +85 @@ -@@ -123,6 +123,9 @@ ice_dcf_vsi_update_service_handler(void *param) +@@ -115,6 +115,9 @@ ice_dcf_vsi_update_service_handler(void *param) @@ -91 +92,2 @@ - rte_thread_detach(rte_thread_self()); + pthread_detach(pthread_self()); + usleep(ICE_DCF_VSI_UPDATE_SERVICE_INTERVAL); @@ -93,2 +95 @@ - rte_delay_us(ICE_DCF_VSI_UPDATE_SERVICE_INTERVAL); -@@ -153,6 +156,9 @@ ice_dcf_vsi_update_service_handler(void *param) +@@ -133,6 +136,9 @@ ice_dcf_vsi_update_service_handler(void *param) @@ -96 +97 @@ - free(param); + rte_spinlock_unlock(&vsi_update_lock); @@ -101 +102 @@ - return 0; + return NULL; ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/ice/base: remove unreachable code' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (55 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/ice: fix DCF control thread crash' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/ice: fix outer UDP checksum offload' " luca.boccassi ` (4 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Qiming Yang; +Cc: Vignesh Sridhar, Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/8ecef29eea9b7f0758b6de199866b7a997556bec Thanks. Luca Boccassi --- From 8ecef29eea9b7f0758b6de199866b7a997556bec Mon Sep 17 00:00:00 2001 From: Qiming Yang <qiming.yang@intel.com> Date: Thu, 18 May 2023 15:16:36 +0000 Subject: [PATCH] net/ice/base: remove unreachable code [ upstream commit ca2011635fa38c71f47933d77ee618ca4d4f640f ] The default condition in the switch statement in ice_sched_get_psm_clk_freq() is an unreachable code. The variable clk_src is restricted to values 0 to 3 with the bit mask and shift values set. Fixes: 76ac9d771c97 ("net/ice/base: read PSM clock frequency from register") Signed-off-by: Vignesh Sridhar <vignesh.sridhar@intel.com> Signed-off-by: Qiming Yang <qiming.yang@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/ice/base/ice_sched.c | 16 ++++++---------- drivers/net/ice/base/ice_sched.h | 5 +++++ 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/drivers/net/ice/base/ice_sched.c b/drivers/net/ice/base/ice_sched.c index 9196628cf1..89d32a6bae 100644 --- a/drivers/net/ice/base/ice_sched.c +++ b/drivers/net/ice/base/ice_sched.c @@ -1370,11 +1370,6 @@ void ice_sched_get_psm_clk_freq(struct ice_hw *hw) clk_src = (val & GLGEN_CLKSTAT_SRC_PSM_CLK_SRC_M) >> GLGEN_CLKSTAT_SRC_PSM_CLK_SRC_S; -#define PSM_CLK_SRC_367_MHZ 0x0 -#define PSM_CLK_SRC_416_MHZ 0x1 -#define PSM_CLK_SRC_446_MHZ 0x2 -#define PSM_CLK_SRC_390_MHZ 0x3 - switch (clk_src) { case PSM_CLK_SRC_367_MHZ: hw->psm_clk_freq = ICE_PSM_CLK_367MHZ_IN_HZ; @@ -1388,11 +1383,12 @@ void ice_sched_get_psm_clk_freq(struct ice_hw *hw) case PSM_CLK_SRC_390_MHZ: hw->psm_clk_freq = ICE_PSM_CLK_390MHZ_IN_HZ; break; - default: - ice_debug(hw, ICE_DBG_SCHED, "PSM clk_src unexpected %u\n", - clk_src); - /* fall back to a safe default */ - hw->psm_clk_freq = ICE_PSM_CLK_446MHZ_IN_HZ; + + /* default condition is not required as clk_src is restricted + * to a 2-bit value from GLGEN_CLKSTAT_SRC_PSM_CLK_SRC_M mask. + * The above switch statements cover the possible values of + * this variable. + */ } } diff --git a/drivers/net/ice/base/ice_sched.h b/drivers/net/ice/base/ice_sched.h index 8b275637a4..b49390f2c8 100644 --- a/drivers/net/ice/base/ice_sched.h +++ b/drivers/net/ice/base/ice_sched.h @@ -35,6 +35,11 @@ #define ICE_PSM_CLK_446MHZ_IN_HZ 446428571 #define ICE_PSM_CLK_390MHZ_IN_HZ 390625000 +#define PSM_CLK_SRC_367_MHZ 0x0 +#define PSM_CLK_SRC_416_MHZ 0x1 +#define PSM_CLK_SRC_446_MHZ 0x2 +#define PSM_CLK_SRC_390_MHZ 0x3 + struct rl_profile_params { u32 bw; /* in Kbps */ u16 rl_multiplier; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:37.610869024 +0100 +++ 0058-net-ice-base-remove-unreachable-code.patch 2023-06-15 01:56:34.719544625 +0100 @@ -1 +1 @@ -From ca2011635fa38c71f47933d77ee618ca4d4f640f Mon Sep 17 00:00:00 2001 +From 8ecef29eea9b7f0758b6de199866b7a997556bec Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit ca2011635fa38c71f47933d77ee618ca4d4f640f ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -23 +24 @@ -index a526c8f32c..b16b27dcbf 100644 +index 9196628cf1..89d32a6bae 100644 @@ -26 +27 @@ -@@ -1417,11 +1417,6 @@ void ice_sched_get_psm_clk_freq(struct ice_hw *hw) +@@ -1370,11 +1370,6 @@ void ice_sched_get_psm_clk_freq(struct ice_hw *hw) @@ -38 +39 @@ -@@ -1435,11 +1430,12 @@ void ice_sched_get_psm_clk_freq(struct ice_hw *hw) +@@ -1388,11 +1383,12 @@ void ice_sched_get_psm_clk_freq(struct ice_hw *hw) @@ -57 +58 @@ -index 3724ef33a8..64ed5e0f9b 100644 +index 8b275637a4..b49390f2c8 100644 @@ -60 +61 @@ -@@ -38,6 +38,11 @@ +@@ -35,6 +35,11 @@ ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/ice: fix outer UDP checksum offload' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (56 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/ice/base: remove unreachable code' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'net/iavf: fix virtchnl command called in interrupt' " luca.boccassi ` (3 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Zhichao Zeng; +Cc: Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/4e5c2b73e7f814c8a6d5b231f3a499d34b9e0c2a Thanks. Luca Boccassi --- From 4e5c2b73e7f814c8a6d5b231f3a499d34b9e0c2a Mon Sep 17 00:00:00 2001 From: Zhichao Zeng <zhichaox.zeng@intel.com> Date: Fri, 2 Jun 2023 09:42:53 +0800 Subject: [PATCH] net/ice: fix outer UDP checksum offload [ upstream commit 10fbf1af4c5548b85b4791d241cdef62755240b1 ] Currently, when dealing with UDP tunnel pkts checksum offloading, the outer-udp checksum will be offloaded by default. So the 'csum set outer-udp hw/sw' command does not work. This patch fixes judgment of the EIPT flag and enables the 'csum set outer-udp hw/sw' command by adding judgment for the outer-udp checksum offload flag. Fixes: bd70c451532c ("net/ice: support Tx checksum offload for tunnel") Signed-off-by: Zhichao Zeng <zhichaox.zeng@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/ice/ice_rxtx.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ice/ice_rxtx.c b/drivers/net/ice/ice_rxtx.c index 699bf7bb64..87cb7e8e8d 100644 --- a/drivers/net/ice/ice_rxtx.c +++ b/drivers/net/ice/ice_rxtx.c @@ -2344,7 +2344,8 @@ ice_parse_tunneling_params(uint64_t ol_flags, * Shall be set only if L4TUNT = 01b and EIPT is not zero */ if (!(*cd_tunneling & ICE_TX_CTX_EIPT_NONE) && - (*cd_tunneling & ICE_TXD_CTX_UDP_TUNNELING)) + (*cd_tunneling & ICE_TXD_CTX_UDP_TUNNELING) && + (ol_flags & PKT_TX_OUTER_UDP_CKSUM)) *cd_tunneling |= ICE_TXD_CTX_QW0_L4T_CS_M; } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:37.666907426 +0100 +++ 0059-net-ice-fix-outer-UDP-checksum-offload.patch 2023-06-15 01:56:34.723544712 +0100 @@ -1 +1 @@ -From 10fbf1af4c5548b85b4791d241cdef62755240b1 Mon Sep 17 00:00:00 2001 +From 4e5c2b73e7f814c8a6d5b231f3a499d34b9e0c2a Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 10fbf1af4c5548b85b4791d241cdef62755240b1 ] + @@ -15 +16,0 @@ -Cc: stable@dpdk.org @@ -24 +25 @@ -index 7b6784b177..665ae32c13 100644 +index 699bf7bb64..87cb7e8e8d 100644 @@ -27 +28 @@ -@@ -2734,7 +2734,8 @@ ice_parse_tunneling_params(uint64_t ol_flags, +@@ -2344,7 +2344,8 @@ ice_parse_tunneling_params(uint64_t ol_flags, @@ -33 +34 @@ -+ (ol_flags & RTE_MBUF_F_TX_OUTER_UDP_CKSUM)) ++ (ol_flags & PKT_TX_OUTER_UDP_CKSUM)) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/iavf: fix virtchnl command called in interrupt' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (57 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/ice: fix outer UDP checksum offload' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'test/mbuf: fix crash in a forked process' " luca.boccassi ` (2 subsequent siblings) 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Kaiwen Deng; +Cc: Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/28122dd7602b701b055315e8692366f7394c3d6d Thanks. Luca Boccassi --- From 28122dd7602b701b055315e8692366f7394c3d6d Mon Sep 17 00:00:00 2001 From: Kaiwen Deng <kaiwenx.deng@intel.com> Date: Thu, 8 Jun 2023 15:27:56 +0800 Subject: [PATCH] net/iavf: fix virtchnl command called in interrupt [ upstream commit 92a16af4504b67545e91286dfb0a332d58e68eec ] When iavf send virtchnl command in eal-intr-thread, there will be no response received from iavf_dev_virtchnl_handler for this command during block and wait. Because iavf_dev_virtchnl_handler is also registered in eal-intr-thread. This commit add to poll the response for virtchnl command when it is called by eal-intr-thread to fix this issue. Fixes: 22b123a36d07 ("net/avf: initialize PMD") Signed-off-by: Kaiwen Deng <kaiwenx.deng@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/iavf/iavf_ethdev.c | 5 ++- drivers/net/iavf/iavf_vchnl.c | 71 +++++++++++++++++++++++----------- 2 files changed, 52 insertions(+), 24 deletions(-) diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c index 746f6fc335..40f5693d28 100644 --- a/drivers/net/iavf/iavf_ethdev.c +++ b/drivers/net/iavf/iavf_ethdev.c @@ -2011,6 +2011,9 @@ iavf_dev_init(struct rte_eth_dev *eth_dev) adapter->dev_data = eth_dev->data; adapter->stopped = 1; + if (iavf_dev_event_handler_init()) + return 0; + if (iavf_init_vf(eth_dev) != 0) { PMD_INIT_LOG(ERR, "Init vf failed"); return -1; @@ -2037,8 +2040,6 @@ iavf_dev_init(struct rte_eth_dev *eth_dev) rte_ether_addr_copy((struct rte_ether_addr *)hw->mac.addr, ð_dev->data->mac_addrs[0]); - if (iavf_dev_event_handler_init()) - return 0; /* register callback func to eal lib */ rte_intr_callback_register(&pci_dev->intr_handle, diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c index 4c6efaac3a..1a09acafb1 100644 --- a/drivers/net/iavf/iavf_vchnl.c +++ b/drivers/net/iavf/iavf_vchnl.c @@ -254,6 +254,7 @@ iavf_read_msg_from_pf(struct iavf_adapter *adapter, uint16_t buf_len, vf->link_speed = iavf_convert_link_speed(speed); } iavf_dev_link_update(vf->eth_dev, 0); + iavf_dev_event_post(vf->eth_dev, RTE_ETH_EVENT_INTR_LSC, NULL, 0); PMD_DRV_LOG(INFO, "Link status update:%s", vf->link_up ? "up" : "down"); break; @@ -358,28 +359,48 @@ iavf_execute_vf_cmd(struct iavf_adapter *adapter, struct iavf_cmd_info *args) _clear_cmd(vf); break; default: - /* For other virtchnl ops in running time, - * wait for the cmd done flag. - */ - do { - if (vf->pend_cmd == VIRTCHNL_OP_UNKNOWN) - break; - iavf_msec_delay(ASQ_DELAY_MS); - /* If don't read msg or read sys event, continue */ - } while (i++ < MAX_TRY_TIMES); - - if (i >= MAX_TRY_TIMES) { - PMD_DRV_LOG(ERR, "No response for cmd %d", args->ops); + if (rte_thread_is_intr()) { + /* For virtchnl ops were executed in eal_intr_thread, + * need to poll the response. + */ + do { + result = iavf_read_msg_from_pf(adapter, args->out_size, + args->out_buffer); + if (result == IAVF_MSG_CMD) + break; + iavf_msec_delay(ASQ_DELAY_MS); + } while (i++ < MAX_TRY_TIMES); + if (i >= MAX_TRY_TIMES || + vf->cmd_retval != VIRTCHNL_STATUS_SUCCESS) { + err = -1; + PMD_DRV_LOG(ERR, "No response or return failure (%d)" + " for cmd %d", vf->cmd_retval, args->ops); + } _clear_cmd(vf); - err = -EIO; - } else if (vf->cmd_retval == - VIRTCHNL_STATUS_ERR_NOT_SUPPORTED) { - PMD_DRV_LOG(ERR, "Cmd %d not supported", args->ops); - err = -ENOTSUP; - } else if (vf->cmd_retval != VIRTCHNL_STATUS_SUCCESS) { - PMD_DRV_LOG(ERR, "Return failure %d for cmd %d", - vf->cmd_retval, args->ops); - err = -EINVAL; + } else { + /* For other virtchnl ops in running time, + * wait for the cmd done flag. + */ + do { + if (vf->pend_cmd == VIRTCHNL_OP_UNKNOWN) + break; + iavf_msec_delay(ASQ_DELAY_MS); + /* If don't read msg or read sys event, continue */ + } while (i++ < MAX_TRY_TIMES); + + if (i >= MAX_TRY_TIMES) { + PMD_DRV_LOG(ERR, "No response for cmd %d", args->ops); + _clear_cmd(vf); + err = -EIO; + } else if (vf->cmd_retval == + VIRTCHNL_STATUS_ERR_NOT_SUPPORTED) { + PMD_DRV_LOG(ERR, "Cmd %d not supported", args->ops); + err = -ENOTSUP; + } else if (vf->cmd_retval != VIRTCHNL_STATUS_SUCCESS) { + PMD_DRV_LOG(ERR, "Return failure %d for cmd %d", + vf->cmd_retval, args->ops); + err = -EINVAL; + } } break; } @@ -393,8 +414,14 @@ iavf_execute_vf_cmd_safe(struct iavf_adapter *adapter, { struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter); int ret; + int is_intr_thread = rte_thread_is_intr(); - rte_spinlock_lock(&vf->aq_lock); + if (is_intr_thread) { + if (!rte_spinlock_trylock(&vf->aq_lock)) + return -EIO; + } else { + rte_spinlock_lock(&vf->aq_lock); + } ret = iavf_execute_vf_cmd(adapter, args); rte_spinlock_unlock(&vf->aq_lock); -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:37.713100577 +0100 +++ 0060-net-iavf-fix-virtchnl-command-called-in-interrupt.patch 2023-06-15 01:56:34.727544800 +0100 @@ -1 +1 @@ -From 92a16af4504b67545e91286dfb0a332d58e68eec Mon Sep 17 00:00:00 2001 +From 28122dd7602b701b055315e8692366f7394c3d6d Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 92a16af4504b67545e91286dfb0a332d58e68eec ] + @@ -15 +16,0 @@ -Cc: stable@dpdk.org @@ -25 +26 @@ -index 96004220a1..b72dbc8ceb 100644 +index 746f6fc335..40f5693d28 100644 @@ -28 +29 @@ -@@ -2647,6 +2647,9 @@ iavf_dev_init(struct rte_eth_dev *eth_dev) +@@ -2011,6 +2011,9 @@ iavf_dev_init(struct rte_eth_dev *eth_dev) @@ -33 +34 @@ -+ goto init_vf_err; ++ return 0; @@ -38 +39 @@ -@@ -2674,8 +2677,6 @@ iavf_dev_init(struct rte_eth_dev *eth_dev) +@@ -2037,8 +2040,6 @@ iavf_dev_init(struct rte_eth_dev *eth_dev) @@ -43 +44 @@ -- goto init_vf_err; +- return 0; @@ -45,2 +46,2 @@ - if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_WB_ON_ITR) { - /* register callback func to eal lib */ + /* register callback func to eal lib */ + rte_intr_callback_register(&pci_dev->intr_handle, @@ -48 +49 @@ -index 8874a08b24..07eb358824 100644 +index 4c6efaac3a..1a09acafb1 100644 @@ -51 +52 @@ -@@ -256,6 +256,7 @@ iavf_read_msg_from_pf(struct iavf_adapter *adapter, uint16_t buf_len, +@@ -254,6 +254,7 @@ iavf_read_msg_from_pf(struct iavf_adapter *adapter, uint16_t buf_len, @@ -56,4 +57,4 @@ - if (vf->link_up && !vf->vf_reset) { - iavf_dev_watchdog_disable(adapter); - } else { -@@ -374,28 +375,48 @@ iavf_execute_vf_cmd(struct iavf_adapter *adapter, struct iavf_cmd_info *args, + PMD_DRV_LOG(INFO, "Link status update:%s", + vf->link_up ? "up" : "down"); + break; +@@ -358,28 +359,48 @@ iavf_execute_vf_cmd(struct iavf_adapter *adapter, struct iavf_cmd_info *args) @@ -129 +130 @@ -@@ -409,8 +430,14 @@ iavf_execute_vf_cmd_safe(struct iavf_adapter *adapter, +@@ -393,8 +414,14 @@ iavf_execute_vf_cmd_safe(struct iavf_adapter *adapter, @@ -142 +143 @@ - ret = iavf_execute_vf_cmd(adapter, args, async); + ret = iavf_execute_vf_cmd(adapter, args); ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'test/mbuf: fix crash in a forked process' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (58 preceding siblings ...) 2023-06-15 1:32 ` patch 'net/iavf: fix virtchnl command called in interrupt' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'doc: fix typo in graph guide' " luca.boccassi 2023-06-15 1:32 ` patch 'doc: remove warning with Doxygen 1.9.7' " luca.boccassi 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Ruifeng Wang; +Cc: Jia He, Anatoly Burakov, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/20ca7fc9ed8af54ded8d54163f095d6730624d7e Thanks. Luca Boccassi --- From 20ca7fc9ed8af54ded8d54163f095d6730624d7e Mon Sep 17 00:00:00 2001 From: Ruifeng Wang <ruifeng.wang@arm.com> Date: Mon, 22 May 2023 14:01:37 +0800 Subject: [PATCH] test/mbuf: fix crash in a forked process [ upstream commit b6c419dde10e9f5dec7a02098c48060a7493420c ] Access of any memory in the hugepage shared file-backed area will trigger an unexpected forked child process segment fault. The root cause is DPDK doesn't support fork model [1] (calling rte_eal_init() before fork()). Forked child process can't be treated as a secondary process. Hence fix it by avoiding fork and doing verification in the main process. [1] https://mails.dpdk.org/archives/dev/2018-July/108106.html Fixes: af75078fece3 ("first public release") Signed-off-by: Jia He <justin.he@arm.com> Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com> --- app/test/test_mbuf.c | 49 +++++++++++++------------------------------- 1 file changed, 14 insertions(+), 35 deletions(-) diff --git a/app/test/test_mbuf.c b/app/test/test_mbuf.c index 9f851da162..93736d8148 100644 --- a/app/test/test_mbuf.c +++ b/app/test/test_mbuf.c @@ -1173,37 +1173,16 @@ err: #endif } -#include <unistd.h> -#include <sys/resource.h> -#include <sys/time.h> -#include <sys/wait.h> - -/* use fork() to test mbuf errors panic */ -static int -verify_mbuf_check_panics(struct rte_mbuf *buf) +/* Verify if mbuf can pass the check */ +static bool +mbuf_check_pass(struct rte_mbuf *buf) { - int pid; - int status; + const char *reason; - pid = fork(); + if (rte_mbuf_check(buf, 1, &reason) == 0) + return true; - if (pid == 0) { - struct rlimit rl; - - /* No need to generate a coredump when panicking. */ - rl.rlim_cur = rl.rlim_max = 0; - setrlimit(RLIMIT_CORE, &rl); - rte_mbuf_sanity_check(buf, 1); /* should panic */ - exit(0); /* return normally if it doesn't panic */ - } else if (pid < 0) { - printf("Fork Failed\n"); - return -1; - } - wait(&status); - if(status == 0) - return -1; - - return 0; + return false; } static int @@ -1220,47 +1199,47 @@ test_failing_mbuf_sanity_check(struct rte_mempool *pktmbuf_pool) return -1; printf("Checking good mbuf initially\n"); - if (verify_mbuf_check_panics(buf) != -1) + if (!mbuf_check_pass(buf)) return -1; printf("Now checking for error conditions\n"); - if (verify_mbuf_check_panics(NULL)) { + if (mbuf_check_pass(NULL)) { printf("Error with NULL mbuf test\n"); return -1; } badbuf = *buf; badbuf.pool = NULL; - if (verify_mbuf_check_panics(&badbuf)) { + if (mbuf_check_pass(&badbuf)) { printf("Error with bad-pool mbuf test\n"); return -1; } badbuf = *buf; badbuf.buf_iova = 0; - if (verify_mbuf_check_panics(&badbuf)) { + if (mbuf_check_pass(&badbuf)) { printf("Error with bad-physaddr mbuf test\n"); return -1; } badbuf = *buf; badbuf.buf_addr = NULL; - if (verify_mbuf_check_panics(&badbuf)) { + if (mbuf_check_pass(&badbuf)) { printf("Error with bad-addr mbuf test\n"); return -1; } badbuf = *buf; badbuf.refcnt = 0; - if (verify_mbuf_check_panics(&badbuf)) { + if (mbuf_check_pass(&badbuf)) { printf("Error with bad-refcnt(0) mbuf test\n"); return -1; } badbuf = *buf; badbuf.refcnt = UINT16_MAX; - if (verify_mbuf_check_panics(&badbuf)) { + if (mbuf_check_pass(&badbuf)) { printf("Error with bad-refcnt(MAX) mbuf test\n"); return -1; } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:37.759264545 +0100 +++ 0061-test-mbuf-fix-crash-in-a-forked-process.patch 2023-06-15 01:56:34.727544800 +0100 @@ -1 +1 @@ -From b6c419dde10e9f5dec7a02098c48060a7493420c Mon Sep 17 00:00:00 2001 +From 20ca7fc9ed8af54ded8d54163f095d6730624d7e Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit b6c419dde10e9f5dec7a02098c48060a7493420c ] + @@ -16 +17,0 @@ -Cc: stable@dpdk.org @@ -22,2 +23,2 @@ - app/test/test_mbuf.c | 50 +++++++++++++------------------------------- - 1 file changed, 14 insertions(+), 36 deletions(-) + app/test/test_mbuf.c | 49 +++++++++++++------------------------------- + 1 file changed, 14 insertions(+), 35 deletions(-) @@ -26 +27 @@ -index 8d8d3b9386..efac01806b 100644 +index 9f851da162..93736d8148 100644 @@ -29,2 +30,2 @@ -@@ -1167,38 +1167,16 @@ test_failing_mbuf_sanity_check(struct rte_mempool *pktmbuf_pool) - return TEST_SKIPPED; +@@ -1173,37 +1173,16 @@ err: + #endif @@ -32,2 +33 @@ - #else -- + @@ -75 +75 @@ -@@ -1215,19 +1193,19 @@ test_failing_mbuf_sanity_check(struct rte_mempool *pktmbuf_pool) +@@ -1220,47 +1199,47 @@ test_failing_mbuf_sanity_check(struct rte_mempool *pktmbuf_pool) @@ -98,10 +98,8 @@ -@@ -1235,7 +1213,7 @@ test_failing_mbuf_sanity_check(struct rte_mempool *pktmbuf_pool) - if (RTE_IOVA_IN_MBUF) { - badbuf = *buf; - rte_mbuf_iova_set(&badbuf, 0); -- if (verify_mbuf_check_panics(&badbuf)) { -+ if (mbuf_check_pass(&badbuf)) { - printf("Error with bad-physaddr mbuf test\n"); - return -1; - } -@@ -1243,21 +1221,21 @@ test_failing_mbuf_sanity_check(struct rte_mempool *pktmbuf_pool) + + badbuf = *buf; + badbuf.buf_iova = 0; +- if (verify_mbuf_check_panics(&badbuf)) { ++ if (mbuf_check_pass(&badbuf)) { + printf("Error with bad-physaddr mbuf test\n"); + return -1; + } ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'doc: fix typo in graph guide' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (59 preceding siblings ...) 2023-06-15 1:32 ` patch 'test/mbuf: fix crash in a forked process' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-15 1:32 ` patch 'doc: remove warning with Doxygen 1.9.7' " luca.boccassi 61 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Ashwin Sekhar T K; +Cc: Jerin Jacob, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/597f82f6e33c6128a3969c540a7b2fb7cc27118c Thanks. Luca Boccassi --- From 597f82f6e33c6128a3969c540a7b2fb7cc27118c Mon Sep 17 00:00:00 2001 From: Ashwin Sekhar T K <asekhar@marvell.com> Date: Thu, 4 May 2023 10:01:35 +0530 Subject: [PATCH] doc: fix typo in graph guide [ upstream commit b457a9b3a4027aa6b0e52940fbaf6736ad021296 ] Fix typo in graph lib doc. Fixes: 4dc6d8e63c16 ("doc: add graph library guide") Signed-off-by: Ashwin Sekhar T K <asekhar@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com> --- doc/guides/prog_guide/graph_lib.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guides/prog_guide/graph_lib.rst b/doc/guides/prog_guide/graph_lib.rst index 1cfdc86433..4ab0623f44 100644 --- a/doc/guides/prog_guide/graph_lib.rst +++ b/doc/guides/prog_guide/graph_lib.rst @@ -173,7 +173,7 @@ Create the graph object ~~~~~~~~~~~~~~~~~~~~~~~ Now that the nodes are linked, Its time to create a graph by including the required nodes. The application can provide a set of node patterns to -form a graph object. The ``famish()`` API used underneath for the pattern +form a graph object. The ``fnmatch()`` API used underneath for the pattern matching to include the required nodes. After the graph create any changes to nodes or graph is not allowed. -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:37.802742501 +0100 +++ 0062-doc-fix-typo-in-graph-guide.patch 2023-06-15 01:56:34.727544800 +0100 @@ -1 +1 @@ -From b457a9b3a4027aa6b0e52940fbaf6736ad021296 Mon Sep 17 00:00:00 2001 +From 597f82f6e33c6128a3969c540a7b2fb7cc27118c Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit b457a9b3a4027aa6b0e52940fbaf6736ad021296 ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'doc: remove warning with Doxygen 1.9.7' has been queued to stable release 20.11.9 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi ` (60 preceding siblings ...) 2023-06-15 1:32 ` patch 'doc: fix typo in graph guide' " luca.boccassi @ 2023-06-15 1:32 ` luca.boccassi 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi 61 siblings, 1 reply; 113+ messages in thread From: luca.boccassi @ 2023-06-15 1:32 UTC (permalink / raw) To: Jerin Jacob; +Cc: Bruce Richardson, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/17/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/219a4f1035eaf47064aa7bb83ee3eba88b328ef2 Thanks. Luca Boccassi --- From 219a4f1035eaf47064aa7bb83ee3eba88b328ef2 Mon Sep 17 00:00:00 2001 From: Jerin Jacob <jerinj@marvell.com> Date: Fri, 2 Jun 2023 16:36:59 +0530 Subject: [PATCH] doc: remove warning with Doxygen 1.9.7 [ upstream commit 6df586f544d90f1eb266d75e6c8215e1c081019c ] Since doxygen 1.9.7 version, HTML_TIMESTAMP configuration option changed to TIMESTAMP [2]. Fixed the following warning[1] by removing TIMESTAMP options all together as all new versions(since 1.8.9) of doxygen this option is disabled by default. Another option was considered to have this configuration option based on version check, which may not be worth having it, especially, external_program.version() API introduced in 0.62.0 version of meson. [1] Warning: Tag 'HTML_TIMESTAMP' at line 115 of file 'doc/api/doxy-api.conf' has become obsolete. [2] https://www.doxygen.nl/manual/config.html#cfg_timestamp Signed-off-by: Jerin Jacob <jerinj@marvell.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> --- doc/api/doxy-api.conf.in | 1 - 1 file changed, 1 deletion(-) diff --git a/doc/api/doxy-api.conf.in b/doc/api/doxy-api.conf.in index a536bcb493..52c310e3d0 100644 --- a/doc/api/doxy-api.conf.in +++ b/doc/api/doxy-api.conf.in @@ -97,7 +97,6 @@ GENERATE_DEPRECATEDLIST = YES VERBATIM_HEADERS = NO ALPHABETICAL_INDEX = NO -HTML_TIMESTAMP = NO HTML_DYNAMIC_SECTIONS = YES SEARCHENGINE = YES SORT_MEMBER_DOCS = NO -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-15 01:56:37.845085690 +0100 +++ 0063-doc-remove-warning-with-Doxygen-1.9.7.patch 2023-06-15 01:56:34.727544800 +0100 @@ -1 +1 @@ -From 6df586f544d90f1eb266d75e6c8215e1c081019c Mon Sep 17 00:00:00 2001 +From 219a4f1035eaf47064aa7bb83ee3eba88b328ef2 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 6df586f544d90f1eb266d75e6c8215e1c081019c ] + @@ -21,2 +22,0 @@ -Cc: stable@dpdk.org - @@ -30 +30 @@ -index 8ea78f9005..1a4210b948 100644 +index a536bcb493..52c310e3d0 100644 @@ -33 +33 @@ -@@ -113,7 +113,6 @@ GENERATE_DEPRECATEDLIST = YES +@@ -97,7 +97,6 @@ GENERATE_DEPRECATEDLIST = YES @@ -39 +38,0 @@ - HTML_EXTRA_STYLESHEET = @TOPDIR@/doc/api/custom.css @@ -40,0 +40 @@ + SORT_MEMBER_DOCS = NO ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'examples/l2fwd-cat: fix external build' has been queued to stable release 20.11.9 2023-06-15 1:32 ` patch 'doc: remove warning with Doxygen 1.9.7' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-06-28 14:10 ` patch 'test: add graph tests' " luca.boccassi ` (20 more replies) 0 siblings, 21 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: David Marchand; +Cc: Thomas Monjalon, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/e09b6241d4f0b9cfdbe6490fe1cec40c3c348a76 Thanks. Luca Boccassi --- From e09b6241d4f0b9cfdbe6490fe1cec40c3c348a76 Mon Sep 17 00:00:00 2001 From: David Marchand <david.marchand@redhat.com> Date: Thu, 22 Jun 2023 15:40:29 +0200 Subject: [PATCH] examples/l2fwd-cat: fix external build [ upstream commit 006e18a83a7f9d50dd24c7931cac1c82e7379c48 ] cpu_set_t definition requires _GNU_SOURCE. Fixes: e0473c6d5b18 ("eal: fix build with musl") Signed-off-by: David Marchand <david.marchand@redhat.com> Tested-by: Thomas Monjalon <thomas@monjalon.net> --- examples/l2fwd-cat/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/l2fwd-cat/Makefile b/examples/l2fwd-cat/Makefile index 532db37ba6..6e657f0934 100644 --- a/examples/l2fwd-cat/Makefile +++ b/examples/l2fwd-cat/Makefile @@ -27,6 +27,7 @@ LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) CFLAGS += -DALLOW_EXPERIMENTAL_API +CFLAGS += -D_GNU_SOURCE LDFLAGS += -lpqos -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.125333150 +0100 +++ 0001-examples-l2fwd-cat-fix-external-build.patch 2023-06-28 11:40:08.012026598 +0100 @@ -1 +1 @@ -From 006e18a83a7f9d50dd24c7931cac1c82e7379c48 Mon Sep 17 00:00:00 2001 +From e09b6241d4f0b9cfdbe6490fe1cec40c3c348a76 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 006e18a83a7f9d50dd24c7931cac1c82e7379c48 ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org @@ -18 +19 @@ -index 23a09550a4..d06053451a 100644 +index 532db37ba6..6e657f0934 100644 @@ -21,2 +22,2 @@ -@@ -35,6 +35,7 @@ endif - endif +@@ -27,6 +27,7 @@ LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk) + LDFLAGS_STATIC = $(shell $(PKGCONF) --static --libs libdpdk) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'test: add graph tests' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-06-28 14:55 ` David Marchand 2023-06-28 14:10 ` patch 'mbuf: fix Doxygen comment of distributor metadata' " luca.boccassi ` (19 subsequent siblings) 20 siblings, 1 reply; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: David Marchand; +Cc: Jerin Jacob, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/7a535c0c0633922a7f0873a000cd10d033a37187 Thanks. Luca Boccassi --- From 7a535c0c0633922a7f0873a000cd10d033a37187 Mon Sep 17 00:00:00 2001 From: David Marchand <david.marchand@redhat.com> Date: Mon, 19 Jun 2023 22:46:49 +0200 Subject: [PATCH] test: add graph tests [ upstream commit 3d0c16f256a234ed04f6a11fd6635c8780f669f7 ] We forgot to add graph unit tests to the CI testsuites. Fixes: 6b89650418fe ("test/graph: add functional tests") Fixes: 61d77071ab99 ("test/graph: add performance tests") Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Jerin Jacob <jerinj@marvell.com> --- app/test/meson.build | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/test/meson.build b/app/test/meson.build index 49fbb5e18e..8049e9e32e 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -210,6 +210,7 @@ fast_tests = [ ['fib6_autotest', true], ['func_reentrancy_autotest', false], ['flow_classify_autotest', false], + ['graph_autotest', true], ['hash_autotest', true], ['interrupt_autotest', true], ['ipfrag_autotest', false], @@ -226,6 +227,7 @@ fast_tests = [ ['memzone_autotest', false], ['meter_autotest', true], ['multiprocess_autotest', false], + ['node_list_dump', true], ['per_lcore_autotest', true], ['prefetch_autotest', true], ['rcu_qsbr_autotest', true], @@ -303,6 +305,7 @@ perf_test_names = [ 'hash_readwrite_lf_perf_autotest', 'trace_perf_autotest', 'ipsec_perf_autotest', + 'graph_perf_autotest', ] driver_test_names = [ -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.157871500 +0100 +++ 0002-test-add-graph-tests.patch 2023-06-28 11:40:08.012026598 +0100 @@ -1 +1 @@ -From 3d0c16f256a234ed04f6a11fd6635c8780f669f7 Mon Sep 17 00:00:00 2001 +From 7a535c0c0633922a7f0873a000cd10d033a37187 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 3d0c16f256a234ed04f6a11fd6635c8780f669f7 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index f3217ae577..537dc9fe35 100644 +index 49fbb5e18e..8049e9e32e 100644 @@ -22,17 +23,18 @@ -@@ -192,6 +192,7 @@ fast_tests = [ - ['fib_autotest', true, true], - ['fib6_autotest', true, true], - ['func_reentrancy_autotest', false, true], -+ ['graph_autotest', true, true], - ['hash_autotest', true, true], - ['interrupt_autotest', true, true], - ['ipfrag_autotest', false, true], -@@ -208,6 +209,7 @@ fast_tests = [ - ['memzone_autotest', false, true], - ['meter_autotest', true, true], - ['multiprocess_autotest', false, false], -+ ['node_list_dump', true, true], - ['per_lcore_autotest', true, true], - ['pflock_autotest', true, true], - ['prefetch_autotest', true, true], -@@ -298,6 +300,7 @@ perf_test_names = [ +@@ -210,6 +210,7 @@ fast_tests = [ + ['fib6_autotest', true], + ['func_reentrancy_autotest', false], + ['flow_classify_autotest', false], ++ ['graph_autotest', true], + ['hash_autotest', true], + ['interrupt_autotest', true], + ['ipfrag_autotest', false], +@@ -226,6 +227,7 @@ fast_tests = [ + ['memzone_autotest', false], + ['meter_autotest', true], + ['multiprocess_autotest', false], ++ ['node_list_dump', true], + ['per_lcore_autotest', true], + ['prefetch_autotest', true], + ['rcu_qsbr_autotest', true], +@@ -303,6 +305,7 @@ perf_test_names = [ + 'hash_readwrite_lf_perf_autotest', @@ -40,2 +42 @@ - 'ipsec_perf_autotest', - 'thash_perf_autotest', + 'ipsec_perf_autotest', ^ permalink raw reply [flat|nested] 113+ messages in thread
* Re: patch 'test: add graph tests' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'test: add graph tests' " luca.boccassi @ 2023-06-28 14:55 ` David Marchand 0 siblings, 0 replies; 113+ messages in thread From: David Marchand @ 2023-06-28 14:55 UTC (permalink / raw) To: luca.boccassi; +Cc: Jerin Jacob, dpdk stable On Wed, Jun 28, 2023 at 4:11 PM <luca.boccassi@gmail.com> wrote: > diff --git a/app/test/meson.build b/app/test/meson.build > index 49fbb5e18e..8049e9e32e 100644 > --- a/app/test/meson.build > +++ b/app/test/meson.build > @@ -303,6 +305,7 @@ perf_test_names = [ > 'hash_readwrite_lf_perf_autotest', > 'trace_perf_autotest', > 'ipsec_perf_autotest', > + 'graph_perf_autotest', It looks like indent is broken in the 20.11 branch before this backport. This is probably because of a tabulation/space battle in a previous backport. This is harmless except that backport conflicts will likely pile up over time. > ] > > driver_test_names = [ -- David Marchand ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'mbuf: fix Doxygen comment of distributor metadata' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi 2023-06-28 14:10 ` patch 'test: add graph tests' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-06-28 14:10 ` patch 'crypto/openssl: skip workaround at compilation time' " luca.boccassi ` (18 subsequent siblings) 20 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: David Marchand; +Cc: Bruce Richardson, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/4a8c06d74f1e8592d04334a3a15f870329cbcc13 Thanks. Luca Boccassi --- From 4a8c06d74f1e8592d04334a3a15f870329cbcc13 Mon Sep 17 00:00:00 2001 From: David Marchand <david.marchand@redhat.com> Date: Thu, 15 Jun 2023 15:49:42 +0200 Subject: [PATCH] mbuf: fix Doxygen comment of distributor metadata [ upstream commit b3a160230bc0750cc522f456d11aced01d2e9b20 ] /**< is for post annotations. Fixes: 839b20be0e9b ("ethdev: support metadata as flow rule criteria") Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> --- lib/librte_mbuf/rte_mbuf_core.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_mbuf/rte_mbuf_core.h b/lib/librte_mbuf/rte_mbuf_core.h index b23764d102..9a0477975d 100644 --- a/lib/librte_mbuf/rte_mbuf_core.h +++ b/lib/librte_mbuf/rte_mbuf_core.h @@ -582,8 +582,8 @@ struct rte_mbuf { * @see rte_event_eth_tx_adapter_txq_set() */ } txadapter; /**< Eventdev ethdev Tx adapter */ - /**< User defined tags. See rte_distributor_process() */ uint32_t usr; + /**< User defined tags. See rte_distributor_process() */ } hash; /**< hash information */ }; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.198070528 +0100 +++ 0003-mbuf-fix-Doxygen-comment-of-distributor-metadata.patch 2023-06-28 11:40:08.016026681 +0100 @@ -1 +1 @@ -From b3a160230bc0750cc522f456d11aced01d2e9b20 Mon Sep 17 00:00:00 2001 +From 4a8c06d74f1e8592d04334a3a15f870329cbcc13 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit b3a160230bc0750cc522f456d11aced01d2e9b20 ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org @@ -14 +15 @@ - lib/mbuf/rte_mbuf_core.h | 2 +- + lib/librte_mbuf/rte_mbuf_core.h | 2 +- @@ -17,5 +18,5 @@ -diff --git a/lib/mbuf/rte_mbuf_core.h b/lib/mbuf/rte_mbuf_core.h -index c692c33ec4..2030b3bef9 100644 ---- a/lib/mbuf/rte_mbuf_core.h -+++ b/lib/mbuf/rte_mbuf_core.h -@@ -584,8 +584,8 @@ struct rte_mbuf { +diff --git a/lib/librte_mbuf/rte_mbuf_core.h b/lib/librte_mbuf/rte_mbuf_core.h +index b23764d102..9a0477975d 100644 +--- a/lib/librte_mbuf/rte_mbuf_core.h ++++ b/lib/librte_mbuf/rte_mbuf_core.h +@@ -582,8 +582,8 @@ struct rte_mbuf { ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'crypto/openssl: skip workaround at compilation time' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi 2023-06-28 14:10 ` patch 'test: add graph tests' " luca.boccassi 2023-06-28 14:10 ` patch 'mbuf: fix Doxygen comment of distributor metadata' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-06-28 14:10 ` patch 'ethdev: update documentation for API to set FEC' " luca.boccassi ` (17 subsequent siblings) 20 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: Didier Pallard; +Cc: Kai Ji, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/002685408d2231b30b1144a7f6506407c23c7fdb Thanks. Luca Boccassi --- From 002685408d2231b30b1144a7f6506407c23c7fdb Mon Sep 17 00:00:00 2001 From: Didier Pallard <didier.pallard@6wind.com> Date: Tue, 18 Apr 2023 16:56:19 +0200 Subject: [PATCH] crypto/openssl: skip workaround at compilation time [ upstream commit 5b94ac1965620e945a3b8fcff84fab4fcb2ef801 ] This workaround was needed before version 1.0.1f. Do not build it for versions >= 1.1. Fixes: d61f70b4c918 ("crypto/libcrypto: add driver for OpenSSL library") Signed-off-by: Didier Pallard <didier.pallard@6wind.com> Acked-by: Kai Ji <kai.ji@intel.com> --- drivers/crypto/openssl/rte_openssl_pmd.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/drivers/crypto/openssl/rte_openssl_pmd.c b/drivers/crypto/openssl/rte_openssl_pmd.c index 786c87baed..089d879a5e 100644 --- a/drivers/crypto/openssl/rte_openssl_pmd.c +++ b/drivers/crypto/openssl/rte_openssl_pmd.c @@ -1061,8 +1061,11 @@ process_openssl_auth_encryption_gcm(struct rte_mbuf *mbuf_src, int offset, int srclen, uint8_t *aad, int aadlen, uint8_t *iv, uint8_t *dst, uint8_t *tag, EVP_CIPHER_CTX *ctx) { - int len = 0, unused = 0; + int len = 0; +#if OPENSSL_VERSION_NUMBER < 0x10100000L + int unused = 0; uint8_t empty[] = {}; +#endif if (EVP_EncryptInit_ex(ctx, NULL, NULL, NULL, iv) <= 0) goto process_auth_encryption_gcm_err; @@ -1076,9 +1079,11 @@ process_openssl_auth_encryption_gcm(struct rte_mbuf *mbuf_src, int offset, srclen, ctx, 0)) goto process_auth_encryption_gcm_err; +#if OPENSSL_VERSION_NUMBER < 0x10100000L /* Workaround open ssl bug in version less then 1.0.1f */ if (EVP_EncryptUpdate(ctx, empty, &unused, empty, 0) <= 0) goto process_auth_encryption_gcm_err; +#endif if (EVP_EncryptFinal_ex(ctx, dst, &len) <= 0) goto process_auth_encryption_gcm_err; @@ -1140,8 +1145,11 @@ process_openssl_auth_decryption_gcm(struct rte_mbuf *mbuf_src, int offset, int srclen, uint8_t *aad, int aadlen, uint8_t *iv, uint8_t *dst, uint8_t *tag, EVP_CIPHER_CTX *ctx) { - int len = 0, unused = 0; + int len = 0; +#if OPENSSL_VERSION_NUMBER < 0x10100000L + int unused = 0; uint8_t empty[] = {}; +#endif if (EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_SET_TAG, 16, tag) <= 0) goto process_auth_decryption_gcm_err; @@ -1158,9 +1166,11 @@ process_openssl_auth_decryption_gcm(struct rte_mbuf *mbuf_src, int offset, srclen, ctx, 0)) goto process_auth_decryption_gcm_err; +#if OPENSSL_VERSION_NUMBER < 0x10100000L /* Workaround open ssl bug in version less then 1.0.1f */ if (EVP_DecryptUpdate(ctx, empty, &unused, empty, 0) <= 0) goto process_auth_decryption_gcm_err; +#endif if (EVP_DecryptFinal_ex(ctx, dst, &len) <= 0) return -EFAULT; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.240346384 +0100 +++ 0004-crypto-openssl-skip-workaround-at-compilation-time.patch 2023-06-28 11:40:08.020026763 +0100 @@ -1 +1 @@ -From 5b94ac1965620e945a3b8fcff84fab4fcb2ef801 Mon Sep 17 00:00:00 2001 +From 002685408d2231b30b1144a7f6506407c23c7fdb Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 5b94ac1965620e945a3b8fcff84fab4fcb2ef801 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index 9b83811d67..4569c5e62f 100644 +index 786c87baed..089d879a5e 100644 @@ -22 +23 @@ -@@ -1196,8 +1196,11 @@ process_openssl_auth_encryption_gcm(struct rte_mbuf *mbuf_src, int offset, +@@ -1061,8 +1061,11 @@ process_openssl_auth_encryption_gcm(struct rte_mbuf *mbuf_src, int offset, @@ -35 +36 @@ -@@ -1211,9 +1214,11 @@ process_openssl_auth_encryption_gcm(struct rte_mbuf *mbuf_src, int offset, +@@ -1076,9 +1079,11 @@ process_openssl_auth_encryption_gcm(struct rte_mbuf *mbuf_src, int offset, @@ -47 +48 @@ -@@ -1275,8 +1280,11 @@ process_openssl_auth_decryption_gcm(struct rte_mbuf *mbuf_src, int offset, +@@ -1140,8 +1145,11 @@ process_openssl_auth_decryption_gcm(struct rte_mbuf *mbuf_src, int offset, @@ -60 +61 @@ -@@ -1293,9 +1301,11 @@ process_openssl_auth_decryption_gcm(struct rte_mbuf *mbuf_src, int offset, +@@ -1158,9 +1166,11 @@ process_openssl_auth_decryption_gcm(struct rte_mbuf *mbuf_src, int offset, ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'ethdev: update documentation for API to set FEC' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi ` (2 preceding siblings ...) 2023-06-28 14:10 ` patch 'crypto/openssl: skip workaround at compilation time' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-06-28 14:10 ` patch 'ethdev: check that at least one FEC mode is specified' " luca.boccassi ` (16 subsequent siblings) 20 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: Denis Pryazhennikov Cc: Ivan Malov, Viacheslav Galaktionov, Ferruh Yigit, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/a6ffd39801701b8e5e1ce5b6d0be8dd9bfd8242b Thanks. Luca Boccassi --- From a6ffd39801701b8e5e1ce5b6d0be8dd9bfd8242b Mon Sep 17 00:00:00 2001 From: Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am> Date: Mon, 8 May 2023 15:47:05 +0400 Subject: [PATCH] ethdev: update documentation for API to set FEC [ upstream commit 6af24dc3794059373c2131ae776d55ac78724ffa ] The documentation for the rte_eth_fec_set() is updated to provide more detailed information about how FEC modes are handled. It also includes a description of the case when only the AUTO bit is set. Fixes: b7ccfb09da95 ("ethdev: introduce FEC API") Signed-off-by: Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am> Acked-by: Ivan Malov <ivan.malov@arknetworks.am> Acked-by: Viacheslav Galaktionov <viacheslav.galaktionov@arknetworks.am> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com> --- lib/librte_ethdev/rte_ethdev.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h index 709563215f..7b7f440fba 100644 --- a/lib/librte_ethdev/rte_ethdev.h +++ b/lib/librte_ethdev/rte_ethdev.h @@ -3736,10 +3736,13 @@ int rte_eth_fec_get(uint16_t port_id, uint32_t *fec_capa); * @param port_id * The port identifier of the Ethernet device. * @param fec_capa - * A bitmask of allowed FEC modes. If AUTO bit is set, other - * bits specify FEC modes which may be negotiated. If AUTO - * bit is clear, specify FEC modes to be used (only one valid - * mode per speed may be set). + * A bitmask of allowed FEC modes. + * If only the AUTO bit is set, the decision on which FEC + * mode to use will be made by HW/FW or driver. + * If the AUTO bit is set with some FEC modes, only specified + * FEC modes can be set. + * If AUTO bit is clear, specify FEC mode to be used + * (only one valid mode per speed may be set). * @return * - (0) if successful. * - (-EINVAL) if the FEC mode is not valid. -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.282057118 +0100 +++ 0005-ethdev-update-documentation-for-API-to-set-FEC.patch 2023-06-28 11:40:08.032027010 +0100 @@ -1 +1 @@ -From 6af24dc3794059373c2131ae776d55ac78724ffa Mon Sep 17 00:00:00 2001 +From a6ffd39801701b8e5e1ce5b6d0be8dd9bfd8242b Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 6af24dc3794059373c2131ae776d55ac78724ffa ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ - lib/ethdev/rte_ethdev.h | 11 +++++++---- + lib/librte_ethdev/rte_ethdev.h | 11 +++++++---- @@ -22,5 +23,5 @@ -diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h -index 34ca25bbc0..2f8350a268 100644 ---- a/lib/ethdev/rte_ethdev.h -+++ b/lib/ethdev/rte_ethdev.h -@@ -4266,10 +4266,13 @@ int rte_eth_fec_get(uint16_t port_id, uint32_t *fec_capa); +diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h +index 709563215f..7b7f440fba 100644 +--- a/lib/librte_ethdev/rte_ethdev.h ++++ b/lib/librte_ethdev/rte_ethdev.h +@@ -3736,10 +3736,13 @@ int rte_eth_fec_get(uint16_t port_id, uint32_t *fec_capa); ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'ethdev: check that at least one FEC mode is specified' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi ` (3 preceding siblings ...) 2023-06-28 14:10 ` patch 'ethdev: update documentation for API to set FEC' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-06-28 14:10 ` patch 'ethdev: update documentation for API to get FEC' " luca.boccassi ` (15 subsequent siblings) 20 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: Denis Pryazhennikov Cc: Ivan Malov, Viacheslav Galaktionov, Ferruh Yigit, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/1aa63dfaebea46a6f8396a4831415acd89fdf23c Thanks. Luca Boccassi --- From 1aa63dfaebea46a6f8396a4831415acd89fdf23c Mon Sep 17 00:00:00 2001 From: Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am> Date: Mon, 8 May 2023 15:47:06 +0400 Subject: [PATCH] ethdev: check that at least one FEC mode is specified [ upstream commit 9fdcf2be070dcd5ea3d845ce798c298c5dfbaa4a ] The behaviour is undefined in the rte_eth_fec_set() function when the fec_capa parameter is equal to zero. Add a check to handle this case. Fixes: b7ccfb09da95 ("ethdev: introduce FEC API") Signed-off-by: Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am> Acked-by: Ivan Malov <ivan.malov@arknetworks.am> Acked-by: Viacheslav Galaktionov <viacheslav.galaktionov@arknetworks.am> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com> --- lib/librte_ethdev/rte_ethdev.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c index b5c5af3cf5..c0ffa58895 100644 --- a/lib/librte_ethdev/rte_ethdev.c +++ b/lib/librte_ethdev/rte_ethdev.c @@ -4032,6 +4032,12 @@ rte_eth_fec_set(uint16_t port_id, uint32_t fec_capa) RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV); dev = &rte_eth_devices[port_id]; + + if (fec_capa == 0) { + RTE_ETHDEV_LOG(ERR, "At least one FEC mode should be specified\n"); + return -EINVAL; + } + RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_set, -ENOTSUP); return eth_err(port_id, (*dev->dev_ops->fec_set)(dev, fec_capa)); } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.327287406 +0100 +++ 0006-ethdev-check-that-at-least-one-FEC-mode-is-specified.patch 2023-06-28 11:40:08.036027093 +0100 @@ -1 +1 @@ -From 9fdcf2be070dcd5ea3d845ce798c298c5dfbaa4a Mon Sep 17 00:00:00 2001 +From 1aa63dfaebea46a6f8396a4831415acd89fdf23c Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 9fdcf2be070dcd5ea3d845ce798c298c5dfbaa4a ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -18,2 +19,2 @@ - lib/ethdev/rte_ethdev.c | 5 +++++ - 1 file changed, 5 insertions(+) + lib/librte_ethdev/rte_ethdev.c | 6 ++++++ + 1 file changed, 6 insertions(+) @@ -21,5 +22,6 @@ -diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c -index 731423ef03..1e024802ae 100644 ---- a/lib/ethdev/rte_ethdev.c -+++ b/lib/ethdev/rte_ethdev.c -@@ -4828,6 +4828,11 @@ rte_eth_fec_set(uint16_t port_id, uint32_t fec_capa) +diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c +index b5c5af3cf5..c0ffa58895 100644 +--- a/lib/librte_ethdev/rte_ethdev.c ++++ b/lib/librte_ethdev/rte_ethdev.c +@@ -4032,6 +4032,12 @@ rte_eth_fec_set(uint16_t port_id, uint32_t fec_capa) + @@ -28 +30 @@ - ++ @@ -34,3 +36,3 @@ - if (*dev->dev_ops->fec_set == NULL) - return -ENOTSUP; - ret = eth_err(port_id, (*dev->dev_ops->fec_set)(dev, fec_capa)); + RTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->fec_set, -ENOTSUP); + return eth_err(port_id, (*dev->dev_ops->fec_set)(dev, fec_capa)); + } ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'ethdev: update documentation for API to get FEC' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi ` (4 preceding siblings ...) 2023-06-28 14:10 ` patch 'ethdev: check that at least one FEC mode is specified' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-06-28 14:10 ` patch 'net/bonding: fix startup when NUMA is not supported' " luca.boccassi ` (14 subsequent siblings) 20 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: Denis Pryazhennikov; +Cc: Ferruh Yigit, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/250c16f0448c922b69adbb46e6086d51471351d3 Thanks. Luca Boccassi --- From 250c16f0448c922b69adbb46e6086d51471351d3 Mon Sep 17 00:00:00 2001 From: Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am> Date: Mon, 8 May 2023 15:47:07 +0400 Subject: [PATCH] ethdev: update documentation for API to get FEC [ upstream commit 9e5c9e1868c062780d69d0529f0a447b4092d1e9 ] The documentation for the rte_eth_fec_get() is updated to clarify the description for the fec_capa parameter. The previous description implied that more than one FEC mode can be obtained. Fixes: b7ccfb09da95 ("ethdev: introduce FEC API") Signed-off-by: Denis Pryazhennikov <denis.pryazhennikov@arknetworks.am> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com> --- lib/librte_ethdev/rte_ethdev.h | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h index 7b7f440fba..4ea5ad445a 100644 --- a/lib/librte_ethdev/rte_ethdev.h +++ b/lib/librte_ethdev/rte_ethdev.h @@ -3713,10 +3713,7 @@ int rte_eth_fec_get_capability(uint16_t port_id, * @param port_id * The port identifier of the Ethernet device. * @param fec_capa - * A bitmask of enabled FEC modes. If AUTO bit is set, other - * bits specify FEC modes which may be negotiated. If AUTO - * bit is clear, specify FEC modes to be used (only one valid - * mode per speed may be set). + * A bitmask with the current FEC mode. * @return * - (0) if successful. * - (-ENOTSUP) if underlying hardware OR driver doesn't support. -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.370668603 +0100 +++ 0007-ethdev-update-documentation-for-API-to-get-FEC.patch 2023-06-28 11:40:08.044027258 +0100 @@ -1 +1 @@ -From 9e5c9e1868c062780d69d0529f0a447b4092d1e9 Mon Sep 17 00:00:00 2001 +From 250c16f0448c922b69adbb46e6086d51471351d3 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 9e5c9e1868c062780d69d0529f0a447b4092d1e9 ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -17 +18 @@ - lib/ethdev/rte_ethdev.h | 5 +---- + lib/librte_ethdev/rte_ethdev.h | 5 +---- @@ -20,5 +21,5 @@ -diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h -index 2f8350a268..fcedf768cb 100644 ---- a/lib/ethdev/rte_ethdev.h -+++ b/lib/ethdev/rte_ethdev.h -@@ -4243,10 +4243,7 @@ int rte_eth_fec_get_capability(uint16_t port_id, +diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h +index 7b7f440fba..4ea5ad445a 100644 +--- a/lib/librte_ethdev/rte_ethdev.h ++++ b/lib/librte_ethdev/rte_ethdev.h +@@ -3713,10 +3713,7 @@ int rte_eth_fec_get_capability(uint16_t port_id, ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/bonding: fix startup when NUMA is not supported' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi ` (5 preceding siblings ...) 2023-06-28 14:10 ` patch 'ethdev: update documentation for API to get FEC' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-06-28 14:10 ` patch 'net/bonding: fix destroy dedicated queues flow' " luca.boccassi ` (13 subsequent siblings) 20 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: Zerun Fu; +Cc: Peng Zhang, Chaoyong He, Long Wu, Min Hu, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/c012d925d9e5e581cb1a8a7bd8c622c4fcdca79d Thanks. Luca Boccassi --- From c012d925d9e5e581cb1a8a7bd8c622c4fcdca79d Mon Sep 17 00:00:00 2001 From: Zerun Fu <zerun.fu@corigine.com> Date: Fri, 16 Jun 2023 15:20:34 +0800 Subject: [PATCH] net/bonding: fix startup when NUMA is not supported [ upstream commit 85e6be63dfa8bff9c42ab0b4dea6fcbba7d680b2 ] After the mainline Linux kernel commit "fe205d984e7730f4d21f6f8ebc60f0698404ac31" (ACPI: Remove side effect of partly creating a node in acpi_map_pxm_to_online_node) by Jonathan Cameron. When the system does not support NUMA architecture, the "socket_id" is expected to be -1. The valid "socket_id" in BOND PMD is greater than or equal to zero. So it will cause an error when DPDK checks the validity of the "socket_id" when starting the bond. This commit can fix this bug. Fixes: f294e04851fd ("net/bonding: fix socket ID check") Signed-off-by: Zerun Fu <zerun.fu@corigine.com> Reviewed-by: Peng Zhang <peng.zhang@corigine.com> Reviewed-by: Chaoyong He <chaoyong.he@corigine.com> Reviewed-by: Long Wu <long.wu@corigine.com> Acked-by: Min Hu (Connor) <humin29@huawei.com> --- drivers/net/bonding/rte_eth_bond_args.c | 6 ++++++ drivers/net/bonding/rte_eth_bond_pmd.c | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/net/bonding/rte_eth_bond_args.c b/drivers/net/bonding/rte_eth_bond_args.c index 764b1b8c8e..1b27e0f779 100644 --- a/drivers/net/bonding/rte_eth_bond_args.c +++ b/drivers/net/bonding/rte_eth_bond_args.c @@ -211,6 +211,12 @@ bond_ethdev_parse_socket_id_kvarg(const char *key __rte_unused, if (*endptr != 0 || errno != 0) return -1; + /* SOCKET_ID_ANY also consider a valid socket id */ + if ((int8_t)socket_id == SOCKET_ID_ANY) { + *(int *)extra_args = SOCKET_ID_ANY; + return 0; + } + /* validate socket id value */ if (socket_id >= 0 && socket_id < RTE_MAX_NUMA_NODES) { *(int *)extra_args = (int)socket_id; diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index 164a1d1575..3dcdae72b6 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -3306,7 +3306,7 @@ static int bond_alloc(struct rte_vdev_device *dev, uint8_t mode) { const char *name = rte_vdev_device_name(dev); - uint8_t socket_id = dev->device.numa_node; + int socket_id = dev->device.numa_node; struct bond_dev_private *internals = NULL; struct rte_eth_dev *eth_dev = NULL; uint32_t vlan_filter_bmp_size; @@ -3506,7 +3506,7 @@ bond_probe(struct rte_vdev_device *dev) port_id = bond_alloc(dev, bonding_mode); if (port_id < 0) { RTE_BOND_LOG(ERR, "Failed to create socket %s in mode %u on " - "socket %u.", name, bonding_mode, socket_id); + "socket %d.", name, bonding_mode, socket_id); goto parse_error; } internals = rte_eth_devices[port_id].data->dev_private; @@ -3531,7 +3531,7 @@ bond_probe(struct rte_vdev_device *dev) rte_eth_dev_probing_finish(&rte_eth_devices[port_id]); RTE_BOND_LOG(INFO, "Create bonded device %s on port %d in mode %u on " - "socket %u.", name, port_id, bonding_mode, socket_id); + "socket %d.", name, port_id, bonding_mode, socket_id); return 0; parse_error: -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.414268209 +0100 +++ 0008-net-bonding-fix-startup-when-NUMA-is-not-supported.patch 2023-06-28 11:40:08.048027340 +0100 @@ -1 +1 @@ -From 85e6be63dfa8bff9c42ab0b4dea6fcbba7d680b2 Mon Sep 17 00:00:00 2001 +From c012d925d9e5e581cb1a8a7bd8c622c4fcdca79d Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 85e6be63dfa8bff9c42ab0b4dea6fcbba7d680b2 ] + @@ -16 +17,0 @@ -Cc: stable@dpdk.org @@ -29 +30 @@ -index 6553166f5c..c137efd55f 100644 +index 764b1b8c8e..1b27e0f779 100644 @@ -32 +33 @@ -@@ -212,6 +212,12 @@ bond_ethdev_parse_socket_id_kvarg(const char *key __rte_unused, +@@ -211,6 +211,12 @@ bond_ethdev_parse_socket_id_kvarg(const char *key __rte_unused, @@ -46 +47 @@ -index f0c4f7d26b..73205f78f4 100644 +index 164a1d1575..3dcdae72b6 100644 @@ -49 +50 @@ -@@ -3604,7 +3604,7 @@ static int +@@ -3306,7 +3306,7 @@ static int @@ -58 +59 @@ -@@ -3806,7 +3806,7 @@ bond_probe(struct rte_vdev_device *dev) +@@ -3506,7 +3506,7 @@ bond_probe(struct rte_vdev_device *dev) @@ -67 +68 @@ -@@ -3831,7 +3831,7 @@ bond_probe(struct rte_vdev_device *dev) +@@ -3531,7 +3531,7 @@ bond_probe(struct rte_vdev_device *dev) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/bonding: fix destroy dedicated queues flow' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi ` (6 preceding siblings ...) 2023-06-28 14:10 ` patch 'net/bonding: fix startup when NUMA is not supported' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-06-28 14:10 ` patch 'net/txgbe/base: fix Tx with fiber hotplug' " luca.boccassi ` (12 subsequent siblings) 20 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: Long Wu; +Cc: Niklas Söderlund, Chaoyong He, Min Hu, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/789cc8dcb3de7e0bbec67b66040a9ddd7e0f5ca2 Thanks. Luca Boccassi --- From 789cc8dcb3de7e0bbec67b66040a9ddd7e0f5ca2 Mon Sep 17 00:00:00 2001 From: Long Wu <long.wu@corigine.com> Date: Thu, 8 Jun 2023 10:59:03 +0800 Subject: [PATCH] net/bonding: fix destroy dedicated queues flow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit f7755321f3294e94c1f1b9e645cc997a3e39f999 ] Bonding port in mode 4 enables dedicated queues, we will create a flow for this feature. So we need to destroy this flow when we remove the member port. Furthermore if we don't destroy the flow that created for dedicated queues when we remove the member port, maybe we couldn't add the member port to a new bonding port that needed dedicated queues. We add the destroy action in removing member port function. Fixes: 49dad9028e2a ("net/bonding: support flow API") Signed-off-by: Long Wu <long.wu@corigine.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@corigine.com> Reviewed-by: Chaoyong He <chaoyong.he@corigine.com> Acked-by: Min Hu (Connor) <humin29@huawei.com> --- drivers/net/bonding/rte_eth_bond_api.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/net/bonding/rte_eth_bond_api.c b/drivers/net/bonding/rte_eth_bond_api.c index 7925f35882..73d1795ed3 100644 --- a/drivers/net/bonding/rte_eth_bond_api.c +++ b/drivers/net/bonding/rte_eth_bond_api.c @@ -703,6 +703,16 @@ __eth_bond_slave_remove_lock_free(uint16_t bonded_port_id, } } + /* Remove the dedicated queues flow */ + if (internals->mode == BONDING_MODE_8023AD && + internals->mode4.dedicated_queues.enabled == 1 && + internals->mode4.dedicated_queues.flow[slave_port_id] != NULL) { + rte_flow_destroy(slave_port_id, + internals->mode4.dedicated_queues.flow[slave_port_id], + &flow_error); + internals->mode4.dedicated_queues.flow[slave_port_id] = NULL; + } + slave_eth_dev = &rte_eth_devices[slave_port_id]; slave_remove(internals, slave_eth_dev); slave_eth_dev->data->dev_flags &= (~RTE_ETH_DEV_BONDED_SLAVE); -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.456947624 +0100 +++ 0009-net-bonding-fix-destroy-dedicated-queues-flow.patch 2023-06-28 11:40:08.048027340 +0100 @@ -1 +1 @@ -From f7755321f3294e94c1f1b9e645cc997a3e39f999 Mon Sep 17 00:00:00 2001 +From 789cc8dcb3de7e0bbec67b66040a9ddd7e0f5ca2 Mon Sep 17 00:00:00 2001 @@ -8,0 +9,2 @@ +[ upstream commit f7755321f3294e94c1f1b9e645cc997a3e39f999 ] + @@ -22 +23,0 @@ -Cc: stable@dpdk.org @@ -33 +34 @@ -index c0178369b4..85d0528b7c 100644 +index 7925f35882..73d1795ed3 100644 @@ -36 +37 @@ -@@ -712,6 +712,16 @@ __eth_bond_slave_remove_lock_free(uint16_t bonded_port_id, +@@ -703,6 +703,16 @@ __eth_bond_slave_remove_lock_free(uint16_t bonded_port_id, ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/txgbe/base: fix Tx with fiber hotplug' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi ` (7 preceding siblings ...) 2023-06-28 14:10 ` patch 'net/bonding: fix destroy dedicated queues flow' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-06-28 14:10 ` patch 'net/txgbe: fix to set autoneg for 1G speed' " luca.boccassi ` (11 subsequent siblings) 20 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: Jiawen Wu; +Cc: dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/46919634904dc7c45fd623b66a6ad704d799698e Thanks. Luca Boccassi --- From 46919634904dc7c45fd623b66a6ad704d799698e Mon Sep 17 00:00:00 2001 From: Jiawen Wu <jiawenwu@trustnetic.com> Date: Wed, 14 Jun 2023 10:34:21 +0800 Subject: [PATCH] net/txgbe/base: fix Tx with fiber hotplug [ upstream commit 196e412b80afe165ca78457d5f9bb1a5bace28ea ] Under heavy traffic, unplugging and plugging fiber optic cables may cause Tx failure. The reason is that there is still traffic passing through at PCS VR reset, during txgbe_set_link_to_*. So totally disable Rx and Tx before PCS VR reset to fix it. Fixes: 01c3cf5c85a7 ("net/txgbe: add autoneg control read and write") Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com> --- drivers/net/txgbe/base/txgbe_phy.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/drivers/net/txgbe/base/txgbe_phy.c b/drivers/net/txgbe/base/txgbe_phy.c index 73f3cdced1..01bd5a72f1 100644 --- a/drivers/net/txgbe/base/txgbe_phy.c +++ b/drivers/net/txgbe/base/txgbe_phy.c @@ -1454,8 +1454,9 @@ txgbe_set_link_to_kx4(struct txgbe_hw *hw, bool autoneg) goto out; } - wr32m(hw, TXGBE_MACTXCFG, TXGBE_MACTXCFG_TXE, - ~TXGBE_MACTXCFG_TXE); + wr32m(hw, TXGBE_MACTXCFG, TXGBE_MACTXCFG_TXE, ~TXGBE_MACTXCFG_TXE); + wr32m(hw, TXGBE_MACRXCFG, TXGBE_MACRXCFG_ENA, ~TXGBE_MACRXCFG_ENA); + hw->mac.disable_sec_tx_path(hw); /* 2. Disable xpcs AN-73 */ if (!autoneg) @@ -1654,8 +1655,9 @@ txgbe_set_link_to_kx(struct txgbe_hw *hw, goto out; } - wr32m(hw, TXGBE_MACTXCFG, TXGBE_MACTXCFG_TXE, - ~TXGBE_MACTXCFG_TXE); + wr32m(hw, TXGBE_MACTXCFG, TXGBE_MACTXCFG_TXE, ~TXGBE_MACTXCFG_TXE); + wr32m(hw, TXGBE_MACRXCFG, TXGBE_MACRXCFG_ENA, ~TXGBE_MACRXCFG_ENA); + hw->mac.disable_sec_tx_path(hw); /* 2. Disable xpcs AN-73 */ if (!autoneg) @@ -1849,8 +1851,9 @@ txgbe_set_link_to_sfi(struct txgbe_hw *hw, goto out; } - wr32m(hw, TXGBE_MACTXCFG, TXGBE_MACTXCFG_TXE, - ~TXGBE_MACTXCFG_TXE); + wr32m(hw, TXGBE_MACTXCFG, TXGBE_MACTXCFG_TXE, ~TXGBE_MACTXCFG_TXE); + wr32m(hw, TXGBE_MACRXCFG, TXGBE_MACRXCFG_ENA, ~TXGBE_MACRXCFG_ENA); + hw->mac.disable_sec_tx_path(hw); /* 2. Disable xpcs AN-73 */ wr32_epcs(hw, SR_AN_CTRL, 0x0); @@ -2189,6 +2192,8 @@ void txgbe_autoc_write(struct txgbe_hw *hw, u64 autoc) txgbe_set_link_to_sfi(hw, speed); } + hw->mac.enable_sec_tx_path(hw); + if (speed == TXGBE_LINK_SPEED_10GB_FULL) mactxcfg = TXGBE_MACTXCFG_SPEED_10G; else if (speed == TXGBE_LINK_SPEED_1GB_FULL) @@ -2196,5 +2201,6 @@ void txgbe_autoc_write(struct txgbe_hw *hw, u64 autoc) /* enable mac transmitter */ wr32m(hw, TXGBE_MACTXCFG, TXGBE_MACTXCFG_SPEED_MASK, mactxcfg); + wr32m(hw, TXGBE_MACRXCFG, TXGBE_MACRXCFG_ENA, TXGBE_MACRXCFG_ENA); } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.496004188 +0100 +++ 0010-net-txgbe-base-fix-Tx-with-fiber-hotplug.patch 2023-06-28 11:40:08.052027423 +0100 @@ -1 +1 @@ -From 196e412b80afe165ca78457d5f9bb1a5bace28ea Mon Sep 17 00:00:00 2001 +From 46919634904dc7c45fd623b66a6ad704d799698e Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 196e412b80afe165ca78457d5f9bb1a5bace28ea ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index f4cadcc510..1eb45b068a 100644 +index 73f3cdced1..01bd5a72f1 100644 @@ -23 +24 @@ -@@ -1541,8 +1541,9 @@ txgbe_set_link_to_kx4(struct txgbe_hw *hw, bool autoneg) +@@ -1454,8 +1454,9 @@ txgbe_set_link_to_kx4(struct txgbe_hw *hw, bool autoneg) @@ -35 +36 @@ -@@ -1756,8 +1757,9 @@ txgbe_set_link_to_kx(struct txgbe_hw *hw, +@@ -1654,8 +1655,9 @@ txgbe_set_link_to_kx(struct txgbe_hw *hw, @@ -47 +48 @@ -@@ -1963,8 +1965,9 @@ txgbe_set_link_to_sfi(struct txgbe_hw *hw, +@@ -1849,8 +1851,9 @@ txgbe_set_link_to_sfi(struct txgbe_hw *hw, @@ -59,2 +60,2 @@ -@@ -2315,6 +2318,8 @@ void txgbe_autoc_write(struct txgbe_hw *hw, u64 autoc) - txgbe_set_sgmii_an37_ability(hw); +@@ -2189,6 +2192,8 @@ void txgbe_autoc_write(struct txgbe_hw *hw, u64 autoc) + txgbe_set_link_to_sfi(hw, speed); @@ -68,4 +69,4 @@ -@@ -2324,6 +2329,7 @@ void txgbe_autoc_write(struct txgbe_hw *hw, u64 autoc) - wr32m(hw, TXGBE_MACTXCFG, - TXGBE_MACTXCFG_SPEED_MASK | TXGBE_MACTXCFG_TXE, - mactxcfg | TXGBE_MACTXCFG_TXE); +@@ -2196,5 +2201,6 @@ void txgbe_autoc_write(struct txgbe_hw *hw, u64 autoc) + + /* enable mac transmitter */ + wr32m(hw, TXGBE_MACTXCFG, TXGBE_MACTXCFG_SPEED_MASK, mactxcfg); @@ -75 +75,0 @@ - void txgbe_bp_down_event(struct txgbe_hw *hw) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/txgbe: fix to set autoneg for 1G speed' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi ` (8 preceding siblings ...) 2023-06-28 14:10 ` patch 'net/txgbe/base: fix Tx with fiber hotplug' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-06-28 14:10 ` patch 'net/txgbe: fix extended statistics' " luca.boccassi ` (10 subsequent siblings) 20 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: Jiawen Wu; +Cc: dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/99826547c868ab79b3fbdf8ca7b2bda428d4c28d Thanks. Luca Boccassi --- From 99826547c868ab79b3fbdf8ca7b2bda428d4c28d Mon Sep 17 00:00:00 2001 From: Jiawen Wu <jiawenwu@trustnetic.com> Date: Wed, 14 Jun 2023 10:34:24 +0800 Subject: [PATCH] net/txgbe: fix to set autoneg for 1G speed [ upstream commit 658dbfa6360fcda0a5798669f6eac8293e4a2d73 ] Autoneg was always on for 1G speed, fix to set autoneg off. Fixes: 01c3cf5c85a7 ("net/txgbe: add autoneg control read and write") Fixes: e4c515a7bc7e ("net/txgbe: add multi-speed link setup") Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com> --- drivers/net/txgbe/base/txgbe_hw.c | 14 ++++++++++++++ drivers/net/txgbe/base/txgbe_phy.c | 4 +++- drivers/net/txgbe/base/txgbe_type.h | 1 + drivers/net/txgbe/txgbe_ethdev.c | 2 ++ 4 files changed, 20 insertions(+), 1 deletion(-) diff --git a/drivers/net/txgbe/base/txgbe_hw.c b/drivers/net/txgbe/base/txgbe_hw.c index e6ffbd900e..4768c2aa25 100644 --- a/drivers/net/txgbe/base/txgbe_hw.c +++ b/drivers/net/txgbe/base/txgbe_hw.c @@ -2321,10 +2321,24 @@ s32 txgbe_setup_mac_link_multispeed_fiber(struct txgbe_hw *hw, } if (speed & TXGBE_LINK_SPEED_1GB_FULL) { + u32 curr_autoneg; + speedcnt++; if (highest_link_speed == TXGBE_LINK_SPEED_UNKNOWN) highest_link_speed = TXGBE_LINK_SPEED_1GB_FULL; + status = hw->mac.check_link(hw, &link_speed, &link_up, false); + if (status != 0) + return status; + + /* If we already have link at this speed, just jump out */ + if (link_speed == TXGBE_LINK_SPEED_1GB_FULL) { + curr_autoneg = rd32_epcs(hw, SR_MII_MMD_CTL); + if (link_up && (hw->autoneg == + !!(curr_autoneg & SR_MII_MMD_CTL_AN_EN))) + goto out; + } + /* Set the module link speed */ switch (hw->phy.media_type) { case txgbe_media_type_fiber: diff --git a/drivers/net/txgbe/base/txgbe_phy.c b/drivers/net/txgbe/base/txgbe_phy.c index 01bd5a72f1..b25db92a4e 100644 --- a/drivers/net/txgbe/base/txgbe_phy.c +++ b/drivers/net/txgbe/base/txgbe_phy.c @@ -1347,7 +1347,9 @@ txgbe_set_sgmii_an37_ability(struct txgbe_hw *hw) wr32_epcs(hw, SR_MII_MMD_AN_CTL, 0x0105); wr32_epcs(hw, SR_MII_MMD_DIGI_CTL, 0x0200); value = rd32_epcs(hw, SR_MII_MMD_CTL); - value = (value & ~0x1200) | (0x1 << 12) | (0x1 << 9); + value = (value & ~0x1200) | (0x1 << 9); + if (hw->autoneg) + value |= SR_MII_MMD_CTL_AN_EN; wr32_epcs(hw, SR_MII_MMD_CTL, value); return 0; } diff --git a/drivers/net/txgbe/base/txgbe_type.h b/drivers/net/txgbe/base/txgbe_type.h index e17f40b978..27f04082b2 100644 --- a/drivers/net/txgbe/base/txgbe_type.h +++ b/drivers/net/txgbe/base/txgbe_type.h @@ -670,6 +670,7 @@ struct txgbe_hw { bool adapter_stopped; bool allow_unsupported_sfp; bool need_crosstalk_fix; + bool autoneg; uint64_t isb_dma; void IOMEM *isb_mem; diff --git a/drivers/net/txgbe/txgbe_ethdev.c b/drivers/net/txgbe/txgbe_ethdev.c index a9797ff95b..a7f764b288 100644 --- a/drivers/net/txgbe/txgbe_ethdev.c +++ b/drivers/net/txgbe/txgbe_ethdev.c @@ -1571,6 +1571,7 @@ txgbe_dev_start(struct rte_eth_dev *dev) speed = (TXGBE_LINK_SPEED_100M_FULL | TXGBE_LINK_SPEED_1GB_FULL | TXGBE_LINK_SPEED_10GB_FULL); + hw->autoneg = true; } else { if (*link_speeds & ETH_LINK_SPEED_10G) speed |= TXGBE_LINK_SPEED_10GB_FULL; @@ -1582,6 +1583,7 @@ txgbe_dev_start(struct rte_eth_dev *dev) speed |= TXGBE_LINK_SPEED_1GB_FULL; if (*link_speeds & ETH_LINK_SPEED_100M) speed |= TXGBE_LINK_SPEED_100M_FULL; + hw->autoneg = false; } err = hw->mac.setup_link(hw, speed, link_up); -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.536611966 +0100 +++ 0011-net-txgbe-fix-to-set-autoneg-for-1G-speed.patch 2023-06-28 11:40:08.060027588 +0100 @@ -1 +1 @@ -From 658dbfa6360fcda0a5798669f6eac8293e4a2d73 Mon Sep 17 00:00:00 2001 +From 99826547c868ab79b3fbdf8ca7b2bda428d4c28d Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 658dbfa6360fcda0a5798669f6eac8293e4a2d73 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -21 +22 @@ -index 2952c408fd..d19fd0065d 100644 +index e6ffbd900e..4768c2aa25 100644 @@ -24 +25 @@ -@@ -2273,10 +2273,24 @@ s32 txgbe_setup_mac_link_multispeed_fiber(struct txgbe_hw *hw, +@@ -2321,10 +2321,24 @@ s32 txgbe_setup_mac_link_multispeed_fiber(struct txgbe_hw *hw, @@ -50 +51 @@ -index 1eb45b068a..d87af656d5 100644 +index 01bd5a72f1..b25db92a4e 100644 @@ -53,2 +54,2 @@ -@@ -1402,7 +1402,9 @@ txgbe_set_sgmii_an37_ability(struct txgbe_hw *hw) - wr32_epcs(hw, SR_MII_MMD_AN_CTL, 0x0105); +@@ -1347,7 +1347,9 @@ txgbe_set_sgmii_an37_ability(struct txgbe_hw *hw) + wr32_epcs(hw, SR_MII_MMD_AN_CTL, 0x0105); @@ -61,0 +63 @@ + return 0; @@ -63 +64,0 @@ - @@ -65 +66 @@ -index c3486b472f..75e839b7de 100644 +index e17f40b978..27f04082b2 100644 @@ -68 +69,2 @@ -@@ -783,6 +783,7 @@ struct txgbe_hw { +@@ -670,6 +670,7 @@ struct txgbe_hw { + bool adapter_stopped; @@ -71 +72,0 @@ - bool dev_start; @@ -73 +73,0 @@ - struct txgbe_devargs devarg; @@ -75,0 +76 @@ + void IOMEM *isb_mem; @@ -77 +78 @@ -index 36c74d353d..962667acdc 100644 +index a9797ff95b..a7f764b288 100644 @@ -80 +81 @@ -@@ -1821,6 +1821,7 @@ txgbe_dev_start(struct rte_eth_dev *dev) +@@ -1571,6 +1571,7 @@ txgbe_dev_start(struct rte_eth_dev *dev) @@ -86 +87 @@ - if (*link_speeds & RTE_ETH_LINK_SPEED_10G) + if (*link_speeds & ETH_LINK_SPEED_10G) @@ -88 +89 @@ -@@ -1832,6 +1833,7 @@ txgbe_dev_start(struct rte_eth_dev *dev) +@@ -1582,6 +1583,7 @@ txgbe_dev_start(struct rte_eth_dev *dev) @@ -90 +91 @@ - if (*link_speeds & RTE_ETH_LINK_SPEED_100M) + if (*link_speeds & ETH_LINK_SPEED_100M) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/txgbe: fix extended statistics' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi ` (9 preceding siblings ...) 2023-06-28 14:10 ` patch 'net/txgbe: fix to set autoneg for 1G speed' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-06-28 14:10 ` patch 'net/nfp: fix address always related with PF ID 0' " luca.boccassi ` (9 subsequent siblings) 20 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: Jiawen Wu; +Cc: dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/78a7c75ac1c2e23569c021da7122677225e9bde5 Thanks. Luca Boccassi --- From 78a7c75ac1c2e23569c021da7122677225e9bde5 Mon Sep 17 00:00:00 2001 From: Jiawen Wu <jiawenwu@trustnetic.com> Date: Wed, 14 Jun 2023 10:34:25 +0800 Subject: [PATCH] net/txgbe: fix extended statistics [ upstream commit 83f44a283a0bb4d5041161bcbaae5130cb1a8f87 ] Fix to show tx_broadcast_packets and tx_multicast_packets counters. Fixes: 91fe49c87d76 ("net/txgbe: support device xstats") Signed-off-by: Jiawen Wu <jiawenwu@trustnetic.com> --- drivers/net/txgbe/txgbe_ethdev.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/txgbe/txgbe_ethdev.c b/drivers/net/txgbe/txgbe_ethdev.c index a7f764b288..96d90d657d 100644 --- a/drivers/net/txgbe/txgbe_ethdev.c +++ b/drivers/net/txgbe/txgbe_ethdev.c @@ -169,7 +169,9 @@ static const struct rte_txgbe_xstats_name_off rte_txgbe_stats_strings[] = { HW_XSTAT(tx_total_packets), HW_XSTAT(rx_total_missed_packets), HW_XSTAT(rx_broadcast_packets), + HW_XSTAT(tx_broadcast_packets), HW_XSTAT(rx_multicast_packets), + HW_XSTAT(tx_multicast_packets), HW_XSTAT(rx_management_packets), HW_XSTAT(tx_management_packets), HW_XSTAT(rx_management_dropped), -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.585308240 +0100 +++ 0012-net-txgbe-fix-extended-statistics.patch 2023-06-28 11:40:08.064027671 +0100 @@ -1 +1 @@ -From 83f44a283a0bb4d5041161bcbaae5130cb1a8f87 Mon Sep 17 00:00:00 2001 +From 78a7c75ac1c2e23569c021da7122677225e9bde5 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 83f44a283a0bb4d5041161bcbaae5130cb1a8f87 ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org @@ -17 +18 @@ -index 962667acdc..74765a469d 100644 +index a7f764b288..96d90d657d 100644 @@ -20 +21 @@ -@@ -180,7 +180,9 @@ static const struct rte_txgbe_xstats_name_off rte_txgbe_stats_strings[] = { +@@ -169,7 +169,9 @@ static const struct rte_txgbe_xstats_name_off rte_txgbe_stats_strings[] = { ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/nfp: fix address always related with PF ID 0' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi ` (10 preceding siblings ...) 2023-06-28 14:10 ` patch 'net/txgbe: fix extended statistics' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-06-28 14:10 ` patch 'common/sfc_efx/base: fix Rx queue without RSS hash prefix' " luca.boccassi ` (8 subsequent siblings) 20 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: Peng Zhang; +Cc: Chaoyong He, Long Wu, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/2c720e48cb88e969e6ebaef5670aa61761031202 Thanks. Luca Boccassi --- From 2c720e48cb88e969e6ebaef5670aa61761031202 Mon Sep 17 00:00:00 2001 From: Peng Zhang <peng.zhang@corigine.com> Date: Fri, 16 Jun 2023 16:57:23 +0800 Subject: [PATCH] net/nfp: fix address always related with PF ID 0 [ upstream commit 467370c93d73267c1d4417bff975cf812b878f48 ] Now the PCIE configure bar address is always related with PF ID 0. For the NIC with multiple PCI device, this will lead the host crash. Fix this problem by make the PCIE configure bar address related with the PF ID. Fixes: c7e9729da6b5 ("net/nfp: support CPP") Signed-off-by: Peng Zhang <peng.zhang@corigine.com> Reviewed-by: Chaoyong He <chaoyong.he@corigine.com> Reviewed-by: Long Wu <long.wu@corigine.com> --- drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c b/drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c index 69f6b165da..36bd648a3c 100644 --- a/drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c +++ b/drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c @@ -66,8 +66,8 @@ #define NFP_PCIE_P2C_GENERAL_TOKEN_OFFSET(bar, x) ((x) << ((bar)->bitsize - 4)) #define NFP_PCIE_P2C_GENERAL_SIZE(bar) (1 << ((bar)->bitsize - 4)) -#define NFP_PCIE_CFG_BAR_PCIETOCPPEXPBAR(bar, slot) \ - (NFP_PCIE_BAR(0) + ((bar) * 8 + (slot)) * 4) +#define NFP_PCIE_CFG_BAR_PCIETOCPPEXPBAR(id, bar, slot) \ + (NFP_PCIE_BAR(id) + ((bar) * 8 + (slot)) * 4) #define NFP_PCIE_CPP_BAR_PCIETOCPPEXPBAR(bar, slot) \ (((bar) * 8 + (slot)) * 4) @@ -114,6 +114,7 @@ struct nfp_pcie_user { int secondary_lock; char busdev[BUSDEV_SZ]; int barsz; + int dev_id; char *cfg; }; @@ -255,7 +256,7 @@ nfp_bar_write(struct nfp_pcie_user *nfp, struct nfp_bar *bar, return (-ENOMEM); bar->csr = nfp->cfg + - NFP_PCIE_CFG_BAR_PCIETOCPPEXPBAR(base, slot); + NFP_PCIE_CFG_BAR_PCIETOCPPEXPBAR(nfp->dev_id, base, slot); *(uint32_t *)(bar->csr) = newcfg; @@ -325,10 +326,8 @@ nfp_enable_bars(struct nfp_pcie_user *nfp) bar->base = 0; bar->iomem = NULL; bar->lock = 0; - bar->csr = nfp->cfg + - NFP_PCIE_CFG_BAR_PCIETOCPPEXPBAR(bar->index >> 3, - bar->index & 7); - + bar->csr = nfp->cfg + NFP_PCIE_CFG_BAR_PCIETOCPPEXPBAR(nfp->dev_id, + bar->index >> 3, bar->index & 7); bar->iomem = nfp->cfg + (bar->index << bar->bitsize); } return 0; @@ -843,6 +842,7 @@ nfp6000_init(struct nfp_cpp *cpp, struct rte_pci_device *dev) goto error; desc->cfg = (char *)dev->mem_resource[0].addr; + desc->dev_id = dev->addr.function & 0x7; nfp_enable_bars(desc); -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.627559036 +0100 +++ 0013-net-nfp-fix-address-always-related-with-PF-ID-0.patch 2023-06-28 11:40:08.064027671 +0100 @@ -1 +1 @@ -From 467370c93d73267c1d4417bff975cf812b878f48 Mon Sep 17 00:00:00 2001 +From 2c720e48cb88e969e6ebaef5670aa61761031202 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 467370c93d73267c1d4417bff975cf812b878f48 ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -22 +23 @@ -index e230c40051..658c618ee6 100644 +index 69f6b165da..36bd648a3c 100644 @@ -36,2 +37,2 @@ -@@ -116,6 +116,7 @@ struct nfp_pcie_user { - int lock; +@@ -114,6 +114,7 @@ struct nfp_pcie_user { + int secondary_lock; @@ -44 +45 @@ -@@ -245,7 +246,7 @@ nfp_bar_write(struct nfp_pcie_user *nfp, struct nfp_bar *bar, +@@ -255,7 +256,7 @@ nfp_bar_write(struct nfp_pcie_user *nfp, struct nfp_bar *bar, @@ -53 +54 @@ -@@ -314,10 +315,8 @@ nfp_enable_bars(struct nfp_pcie_user *nfp) +@@ -325,10 +326,8 @@ nfp_enable_bars(struct nfp_pcie_user *nfp) @@ -66 +67 @@ -@@ -779,6 +778,7 @@ nfp6000_init(struct nfp_cpp *cpp, struct rte_pci_device *dev) +@@ -843,6 +842,7 @@ nfp6000_init(struct nfp_cpp *cpp, struct rte_pci_device *dev) @@ -69 +70 @@ - desc->cfg = dev->mem_resource[0].addr; + desc->cfg = (char *)dev->mem_resource[0].addr; ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'common/sfc_efx/base: fix Rx queue without RSS hash prefix' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi ` (11 preceding siblings ...) 2023-06-28 14:10 ` patch 'net/nfp: fix address always related with PF ID 0' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-06-28 14:10 ` patch 'net/ice: fix tunnel packet Tx descriptor' " luca.boccassi ` (7 subsequent siblings) 20 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: Artemii Morozov; +Cc: Andy Moreton, Andrew Rybchenko, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/f0f0c2fb68dc6f47d5ae2f885e632badf411015a Thanks. Luca Boccassi --- From f0f0c2fb68dc6f47d5ae2f885e632badf411015a Mon Sep 17 00:00:00 2001 From: Artemii Morozov <artemii.morozov@arknetworks.am> Date: Thu, 22 Jun 2023 16:31:36 +0400 Subject: [PATCH] common/sfc_efx/base: fix Rx queue without RSS hash prefix [ upstream commit 80d18a958e4f06e121327073439c391dbc870d80 ] If the prefix for the RSS hash was not chosen the ENOTSUP error should be returned. Before this patch success was returned for this case causing Rx queue creation to fail. Fixing return value to indicate failure. Fixes: f784cdc5cbb1 ("common/sfc_efx/base: provide control to deliver RSS hash") Signed-off-by: Artemii Morozov <artemii.morozov@arknetworks.am> Reviewed-by: Andy Moreton <amoreton@xilinx.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> --- drivers/common/sfc_efx/base/efx_rx.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/common/sfc_efx/base/efx_rx.c b/drivers/common/sfc_efx/base/efx_rx.c index 93a73703ed..1b1b42eedf 100644 --- a/drivers/common/sfc_efx/base/efx_rx.c +++ b/drivers/common/sfc_efx/base/efx_rx.c @@ -896,8 +896,10 @@ efx_rx_qcreate_internal( rss_hash_field = &erplp->erpl_fields[EFX_RX_PREFIX_FIELD_RSS_HASH]; - if (rss_hash_field->erpfi_width_bits == 0) + if (rss_hash_field->erpfi_width_bits == 0) { + rc = ENOTSUP; goto fail5; + } } enp->en_rx_qcount++; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.668037959 +0100 +++ 0014-common-sfc_efx-base-fix-Rx-queue-without-RSS-hash-pr.patch 2023-06-28 11:40:08.068027752 +0100 @@ -1 +1 @@ -From 80d18a958e4f06e121327073439c391dbc870d80 Mon Sep 17 00:00:00 2001 +From f0f0c2fb68dc6f47d5ae2f885e632badf411015a Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 80d18a958e4f06e121327073439c391dbc870d80 ] + @@ -15 +16,0 @@ -Cc: stable@dpdk.org @@ -25 +26 @@ -index 68f42f5cac..61726a9f0b 100644 +index 93a73703ed..1b1b42eedf 100644 @@ -28 +29 @@ -@@ -937,8 +937,10 @@ efx_rx_qcreate_internal( +@@ -896,8 +896,10 @@ efx_rx_qcreate_internal( ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/ice: fix tunnel packet Tx descriptor' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi ` (12 preceding siblings ...) 2023-06-28 14:10 ` patch 'common/sfc_efx/base: fix Rx queue without RSS hash prefix' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-06-28 14:10 ` patch 'net/ixgbe: add proper memory barriers in Rx' " luca.boccassi ` (6 subsequent siblings) 20 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: Shiyang He; +Cc: Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/92fa658fa83583ed932032615251f92c298d34e6 Thanks. Luca Boccassi --- From 92fa658fa83583ed932032615251f92c298d34e6 Mon Sep 17 00:00:00 2001 From: Shiyang He <shiyangx.he@intel.com> Date: Thu, 8 Jun 2023 10:19:04 +0000 Subject: [PATCH] net/ice: fix tunnel packet Tx descriptor [ upstream commit c261e7de45d38ddc3b4b8909c35b448c5e1b0fcf ] The TX descriptor of tunnel packet filled incorrectly due to the MACLEN is not set. This patch fixes this issue by setting MACLEN to correctly fill the TX descriptor. Fixes: bd70c451532c ("net/ice: support Tx checksum offload for tunnel") Signed-off-by: Shiyang He <shiyangx.he@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/ice/ice_rxtx.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/net/ice/ice_rxtx.c b/drivers/net/ice/ice_rxtx.c index 87cb7e8e8d..bd8811649a 100644 --- a/drivers/net/ice/ice_rxtx.c +++ b/drivers/net/ice/ice_rxtx.c @@ -2356,10 +2356,7 @@ ice_txd_enable_checksum(uint64_t ol_flags, union ice_tx_offload tx_offload) { /* Set MACLEN */ - if (ol_flags & PKT_TX_TUNNEL_MASK) - *td_offset |= (tx_offload.outer_l2_len >> 1) - << ICE_TX_DESC_LEN_MACLEN_S; - else + if (!(ol_flags & PKT_TX_TUNNEL_MASK)) *td_offset |= (tx_offload.l2_len >> 1) << ICE_TX_DESC_LEN_MACLEN_S; @@ -2619,9 +2616,12 @@ ice_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) /* Fill in tunneling parameters if necessary */ cd_tunneling_params = 0; - if (ol_flags & PKT_TX_TUNNEL_MASK) + if (ol_flags & PKT_TX_TUNNEL_MASK) { + td_offset |= (tx_offload.outer_l2_len >> 1) + << ICE_TX_DESC_LEN_MACLEN_S; ice_parse_tunneling_params(ol_flags, tx_offload, &cd_tunneling_params); + } /* Enable checksum offloading */ if (ol_flags & ICE_TX_CKSUM_OFFLOAD_MASK) -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.706811783 +0100 +++ 0015-net-ice-fix-tunnel-packet-Tx-descriptor.patch 2023-06-28 11:40:08.072027835 +0100 @@ -1 +1 @@ -From c261e7de45d38ddc3b4b8909c35b448c5e1b0fcf Mon Sep 17 00:00:00 2001 +From 92fa658fa83583ed932032615251f92c298d34e6 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit c261e7de45d38ddc3b4b8909c35b448c5e1b0fcf ] + @@ -13 +14,0 @@ -Cc: stable@dpdk.org @@ -22 +23 @@ -index 665ae32c13..598edb29c9 100644 +index 87cb7e8e8d..bd8811649a 100644 @@ -25 +26 @@ -@@ -2746,10 +2746,7 @@ ice_txd_enable_checksum(uint64_t ol_flags, +@@ -2356,10 +2356,7 @@ ice_txd_enable_checksum(uint64_t ol_flags, @@ -29 +30 @@ -- if (ol_flags & RTE_MBUF_F_TX_TUNNEL_MASK) +- if (ol_flags & PKT_TX_TUNNEL_MASK) @@ -33 +34 @@ -+ if (!(ol_flags & RTE_MBUF_F_TX_TUNNEL_MASK)) ++ if (!(ol_flags & PKT_TX_TUNNEL_MASK)) @@ -37 +38 @@ -@@ -3010,9 +3007,12 @@ ice_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) +@@ -2619,9 +2616,12 @@ ice_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) @@ -41,2 +42,2 @@ -- if (ol_flags & RTE_MBUF_F_TX_TUNNEL_MASK) -+ if (ol_flags & RTE_MBUF_F_TX_TUNNEL_MASK) { +- if (ol_flags & PKT_TX_TUNNEL_MASK) ++ if (ol_flags & PKT_TX_TUNNEL_MASK) { ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/ixgbe: add proper memory barriers in Rx' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi ` (13 preceding siblings ...) 2023-06-28 14:10 ` patch 'net/ice: fix tunnel packet Tx descriptor' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-06-28 14:10 ` patch 'net/iavf: fix abnormal disable HW interrupt' " luca.boccassi ` (5 subsequent siblings) 20 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: Min Zhou; +Cc: Ruifeng Wang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/6fb5e74cd8bfd97db2188a452974c76ee574ccd3 the Thanks. Luca Boccassi --- From 6fb5e74cd8bfd97db2188a452974c76ee574ccd3 Mon Sep 17 00:00:00 2001 From: Min Zhou <zhoumin@loongson.cn> Date: Tue, 13 Jun 2023 17:44:25 +0800 Subject: [PATCH] net/ixgbe: add proper memory barriers in Rx [ upstream commit 85e46c532bc76ebe07f6a397aa76211250aca59c ] Segmentation fault has been observed while running the ixgbe_recv_pkts_lro() function to receive packets on the Loongson 3C5000 processor which has 64 cores and 4 NUMA nodes. From the ixgbe_recv_pkts_lro() function, we found that as long as the first packet has the EOP bit set, and the length of this packet is less than or equal to rxq->crc_len, the segmentation fault will definitely happen even though on the other platforms. For example, if we made the first packet which had the EOP bit set had a zero length by force, the segmentation fault would happen on X86. Because when processd the first packet the first_seg->next will be NULL, if at the same time this packet has the EOP bit set and its length is less than or equal to rxq->crc_len, the following loop will be executed: for (lp = first_seg; lp->next != rxm; lp = lp->next) ; We know that the first_seg->next will be NULL under this condition. So the expression of lp->next->next will cause the segmentation fault. Normally, the length of the first packet with EOP bit set will be greater than rxq->crc_len. However, the out-of-order execution of CPU may make the read ordering of the status and the rest of the descriptor fields in this function not be correct. The related codes are as following: rxdp = &rx_ring[rx_id]; #1 staterr = rte_le_to_cpu_32(rxdp->wb.upper.status_error); if (!(staterr & IXGBE_RXDADV_STAT_DD)) break; #2 rxd = *rxdp; The sentence #2 may be executed before sentence #1. This action is likely to make the ready packet zero length. If the packet is the first packet and has the EOP bit set, the above segmentation fault will happen. So, we should add a proper memory barrier to ensure the read ordering be correct. We also did the same thing in the ixgbe_recv_pkts() function to make the rxd data be valid even though we did not find segmentation fault in this function. Fixes: 8eecb3295aed ("ixgbe: add LRO support") Signed-off-by: Min Zhou <zhoumin@loongson.cn> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> --- drivers/net/ixgbe/ixgbe_rxtx.c | 47 +++++++++++++++------------------- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c index ab3e70d27e..7414384493 100644 --- a/drivers/net/ixgbe/ixgbe_rxtx.c +++ b/drivers/net/ixgbe/ixgbe_rxtx.c @@ -1787,11 +1787,22 @@ ixgbe_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, * of accesses cannot be reordered by the compiler. If they were * not volatile, they could be reordered which could lead to * using invalid descriptor fields when read from rxd. + * + * Meanwhile, to prevent the CPU from executing out of order, we + * need to use a proper memory barrier to ensure the memory + * ordering below. */ rxdp = &rx_ring[rx_id]; staterr = rxdp->wb.upper.status_error; if (!(staterr & rte_cpu_to_le_32(IXGBE_RXDADV_STAT_DD))) break; + + /* + * Use acquire fence to ensure that status_error which includes + * DD bit is loaded before loading of other descriptor words. + */ + rte_atomic_thread_fence(__ATOMIC_ACQUIRE); + rxd = *rxdp; /* @@ -2058,32 +2069,10 @@ ixgbe_recv_pkts_lro(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts, next_desc: /* - * The code in this whole file uses the volatile pointer to - * ensure the read ordering of the status and the rest of the - * descriptor fields (on the compiler level only!!!). This is so - * UGLY - why not to just use the compiler barrier instead? DPDK - * even has the rte_compiler_barrier() for that. - * - * But most importantly this is just wrong because this doesn't - * ensure memory ordering in a general case at all. For - * instance, DPDK is supposed to work on Power CPUs where - * compiler barrier may just not be enough! - * - * I tried to write only this function properly to have a - * starting point (as a part of an LRO/RSC series) but the - * compiler cursed at me when I tried to cast away the - * "volatile" from rx_ring (yes, it's volatile too!!!). So, I'm - * keeping it the way it is for now. - * - * The code in this file is broken in so many other places and - * will just not work on a big endian CPU anyway therefore the - * lines below will have to be revisited together with the rest - * of the ixgbe PMD. - * - * TODO: - * - Get rid of "volatile" and let the compiler do its job. - * - Use the proper memory barrier (rte_rmb()) to ensure the - * memory ordering below. + * "Volatile" only prevents caching of the variable marked + * volatile. Most important, "volatile" cannot prevent the CPU + * from executing out of order. So, it is necessary to use a + * proper memory barrier to ensure the memory ordering below. */ rxdp = &rx_ring[rx_id]; staterr = rte_le_to_cpu_32(rxdp->wb.upper.status_error); @@ -2091,6 +2080,12 @@ next_desc: if (!(staterr & IXGBE_RXDADV_STAT_DD)) break; + /* + * Use acquire fence to ensure that status_error which includes + * DD bit is loaded before loading of other descriptor words. + */ + rte_atomic_thread_fence(__ATOMIC_ACQUIRE); + rxd = *rxdp; PMD_RX_LOG(DEBUG, "port_id=%u queue_id=%u rx_id=%u " -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.748912143 +0100 +++ 0016-net-ixgbe-add-proper-memory-barriers-in-Rx.patch 2023-06-28 11:40:08.076027917 +0100 @@ -1 +1 @@ -From 85e46c532bc76ebe07f6a397aa76211250aca59c Mon Sep 17 00:00:00 2001 +From 6fb5e74cd8bfd97db2188a452974c76ee574ccd3 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 85e46c532bc76ebe07f6a397aa76211250aca59c ] + @@ -50 +51,0 @@ -Cc: stable@dpdk.org @@ -59 +60 @@ -index 6cbb992823..61f17cd90b 100644 +index ab3e70d27e..7414384493 100644 @@ -62 +63 @@ -@@ -1817,11 +1817,22 @@ ixgbe_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, +@@ -1787,11 +1787,22 @@ ixgbe_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, @@ -85 +86 @@ -@@ -2088,32 +2099,10 @@ ixgbe_recv_pkts_lro(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts, +@@ -2058,32 +2069,10 @@ ixgbe_recv_pkts_lro(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts, @@ -122 +123 @@ -@@ -2121,6 +2110,12 @@ next_desc: +@@ -2091,6 +2080,12 @@ next_desc: ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/iavf: fix abnormal disable HW interrupt' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi ` (14 preceding siblings ...) 2023-06-28 14:10 ` patch 'net/ixgbe: add proper memory barriers in Rx' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-06-28 14:10 ` patch 'net/i40e: fix tunnel packet Tx descriptor' " luca.boccassi ` (4 subsequent siblings) 20 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: Mingjin Ye; +Cc: Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/790a74ad5ed97175068d171b8a8d973f7deb2c4c Thanks. Luca Boccassi --- From 790a74ad5ed97175068d171b8a8d973f7deb2c4c Mon Sep 17 00:00:00 2001 From: Mingjin Ye <mingjinx.ye@intel.com> Date: Wed, 14 Jun 2023 09:53:03 +0000 Subject: [PATCH] net/iavf: fix abnormal disable HW interrupt [ upstream commit 675a104e2e940ec476e8b469725e8465d01c0098 ] For command VIRTCHNL_OP_REQUEST_QUEUES, polling access to the admin queue has the issue of access overruns after disabling interrupt. That results in FW disabling HW interrupt for protection purposes. The updates/changes in this patch: 1. Remove the polling admin queue processing and use the generic interrupt processing instead. 2. Release redundant queue resource before stopping processing interrupt events. Fixes: 22b123a36d07 ("net/avf: initialize PMD") Fixes: ef807926e148 ("net/iavf: support requesting additional queues from PF") Fixes: 84108425054a ("net/iavf: support asynchronous virtual channel message") Signed-off-by: Mingjin Ye <mingjinx.ye@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/iavf/iavf_ethdev.c | 24 ++++++++--------- drivers/net/iavf/iavf_vchnl.c | 49 +++++++--------------------------- 2 files changed, 22 insertions(+), 51 deletions(-) diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c index 40f5693d28..ddd877724a 100644 --- a/drivers/net/iavf/iavf_ethdev.c +++ b/drivers/net/iavf/iavf_ethdev.c @@ -2077,6 +2077,18 @@ iavf_dev_close(struct rte_eth_dev *dev) ret = iavf_dev_stop(dev); + /* + * Release redundant queue resource when close the dev + * so that other vfs can re-use the queues. + */ + if (vf->lv_enabled) { + ret = iavf_request_queues(dev, IAVF_MAX_NUM_QUEUES_DFLT); + if (ret) + PMD_DRV_LOG(ERR, "Reset the num of queues failed"); + + vf->max_rss_qregion = IAVF_MAX_NUM_QUEUES_DFLT; + } + iavf_flow_flush(dev, NULL); iavf_flow_uninit(adapter); @@ -2088,18 +2100,6 @@ iavf_dev_close(struct rte_eth_dev *dev) if (vf->promisc_unicast_enabled || vf->promisc_multicast_enabled) iavf_config_promisc(adapter, false, false); - /* - * Release redundant queue resource when close the dev - * so that other vfs can re-use the queues. - */ - if (vf->lv_enabled) { - ret = iavf_request_queues(dev, IAVF_MAX_NUM_QUEUES_DFLT); - if (ret) - PMD_DRV_LOG(ERR, "Reset the num of queues failed"); - - vf->max_rss_qregion = IAVF_MAX_NUM_QUEUES_DFLT; - } - iavf_shutdown_adminq(hw); /* disable uio intr before callback unregister */ rte_intr_disable(intr_handle); diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c index 1a09acafb1..b9dfcd62eb 100644 --- a/drivers/net/iavf/iavf_vchnl.c +++ b/drivers/net/iavf/iavf_vchnl.c @@ -309,6 +309,7 @@ iavf_execute_vf_cmd(struct iavf_adapter *adapter, struct iavf_cmd_info *args) switch (args->ops) { case VIRTCHNL_OP_RESET_VF: + case VIRTCHNL_OP_REQUEST_QUEUES: /*no need to wait for response */ _clear_cmd(vf); break; @@ -331,33 +332,6 @@ iavf_execute_vf_cmd(struct iavf_adapter *adapter, struct iavf_cmd_info *args) } _clear_cmd(vf); break; - case VIRTCHNL_OP_REQUEST_QUEUES: - /* - * ignore async reply, only wait for system message, - * vf_reset = true if get VIRTCHNL_EVENT_RESET_IMPENDING, - * if not, means request queues failed. - */ - do { - result = iavf_read_msg_from_pf(adapter, args->out_size, - args->out_buffer); - if (result == IAVF_MSG_SYS && vf->vf_reset) { - break; - } else if (result == IAVF_MSG_CMD || - result == IAVF_MSG_ERR) { - err = -1; - break; - } - iavf_msec_delay(ASQ_DELAY_MS); - /* If don't read msg or read sys event, continue */ - } while (i++ < MAX_TRY_TIMES); - if (i >= MAX_TRY_TIMES || - vf->cmd_retval != VIRTCHNL_STATUS_SUCCESS) { - err = -1; - PMD_DRV_LOG(ERR, "No response or return failure (%d)" - " for cmd %d", vf->cmd_retval, args->ops); - } - _clear_cmd(vf); - break; default: if (rte_thread_is_intr()) { /* For virtchnl ops were executed in eal_intr_thread, @@ -1594,11 +1568,11 @@ iavf_request_queues(struct rte_eth_dev *dev, uint16_t num) struct iavf_adapter *adapter = IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private); struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(adapter); - struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev); struct virtchnl_vf_res_request vfres; struct iavf_cmd_info args; uint16_t num_queue_pairs; int err; + int i = 0; if (!(vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_REQ_QUEUES)) { @@ -1618,22 +1592,19 @@ iavf_request_queues(struct rte_eth_dev *dev, uint16_t num) args.out_buffer = vf->aq_resp; args.out_size = IAVF_AQ_BUF_SZ; - /* - * disable interrupt to avoid the admin queue message to be read - * before iavf_read_msg_from_pf. - * - * don't disable interrupt handler until ready to execute vf cmd. - */ - rte_spinlock_lock(&vf->aq_lock); - rte_intr_disable(&pci_dev->intr_handle); - err = iavf_execute_vf_cmd(adapter, &args); - rte_intr_enable(&pci_dev->intr_handle); - rte_spinlock_unlock(&vf->aq_lock); + err = iavf_execute_vf_cmd_safe(adapter, &args); if (err) { PMD_DRV_LOG(ERR, "fail to execute command OP_REQUEST_QUEUES"); return err; } + /* wait for interrupt notification vf is resetting */ + while (i++ < MAX_TRY_TIMES) { + if (vf->vf_reset) + break; + iavf_msec_delay(ASQ_DELAY_MS); + } + /* request queues succeeded, vf is resetting */ if (vf->vf_reset) { PMD_DRV_LOG(INFO, "vf is resetting"); -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.792691715 +0100 +++ 0017-net-iavf-fix-abnormal-disable-HW-interrupt.patch 2023-06-28 11:40:08.080028000 +0100 @@ -1 +1 @@ -From 675a104e2e940ec476e8b469725e8465d01c0098 Mon Sep 17 00:00:00 2001 +From 790a74ad5ed97175068d171b8a8d973f7deb2c4c Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 675a104e2e940ec476e8b469725e8465d01c0098 ] + @@ -19 +20,0 @@ -Cc: stable@dpdk.org @@ -24,3 +25,3 @@ - drivers/net/iavf/iavf_ethdev.c | 25 +++++++++--------- - drivers/net/iavf/iavf_vchnl.c | 48 +++++++--------------------------- - 2 files changed, 23 insertions(+), 50 deletions(-) + drivers/net/iavf/iavf_ethdev.c | 24 ++++++++--------- + drivers/net/iavf/iavf_vchnl.c | 49 +++++++--------------------------- + 2 files changed, 22 insertions(+), 51 deletions(-) @@ -29 +30 @@ -index b72dbc8ceb..00b963128b 100644 +index 40f5693d28..ddd877724a 100644 @@ -32,2 +33 @@ -@@ -2757,6 +2757,19 @@ iavf_dev_close(struct rte_eth_dev *dev) - } +@@ -2077,6 +2077,18 @@ iavf_dev_close(struct rte_eth_dev *dev) @@ -36 +36 @@ -+ + @@ -49 +49,2 @@ - adapter->closed = true; + iavf_flow_flush(dev, NULL); + iavf_flow_uninit(adapter); @@ -51,2 +52 @@ - /* free iAVF security device context all related resources */ -@@ -2773,18 +2786,6 @@ iavf_dev_close(struct rte_eth_dev *dev) +@@ -2088,18 +2100,6 @@ iavf_dev_close(struct rte_eth_dev *dev) @@ -69,2 +69,2 @@ - if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_WB_ON_ITR) { - /* disable uio intr before callback unregister */ + /* disable uio intr before callback unregister */ + rte_intr_disable(intr_handle); @@ -72 +72 @@ -index 07eb358824..524732f67d 100644 +index 1a09acafb1..b9dfcd62eb 100644 @@ -75 +75 @@ -@@ -324,6 +324,7 @@ iavf_execute_vf_cmd(struct iavf_adapter *adapter, struct iavf_cmd_info *args, +@@ -309,6 +309,7 @@ iavf_execute_vf_cmd(struct iavf_adapter *adapter, struct iavf_cmd_info *args) @@ -83 +83 @@ -@@ -347,33 +348,6 @@ iavf_execute_vf_cmd(struct iavf_adapter *adapter, struct iavf_cmd_info *args, +@@ -331,33 +332,6 @@ iavf_execute_vf_cmd(struct iavf_adapter *adapter, struct iavf_cmd_info *args) @@ -117 +117 @@ -@@ -2082,11 +2056,11 @@ iavf_request_queues(struct rte_eth_dev *dev, uint16_t num) +@@ -1594,11 +1568,11 @@ iavf_request_queues(struct rte_eth_dev *dev, uint16_t num) @@ -130 +130,2 @@ -@@ -2107,16 +2081,7 @@ iavf_request_queues(struct rte_eth_dev *dev, uint16_t num) +@@ -1618,22 +1592,19 @@ iavf_request_queues(struct rte_eth_dev *dev, uint16_t num) + args.out_buffer = vf->aq_resp; @@ -133,16 +134,14 @@ - if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_WB_ON_ITR) { -- /* disable interrupt to avoid the admin queue message to be read -- * before iavf_read_msg_from_pf. -- * -- * don't disable interrupt handler until ready to execute vf cmd. -- */ -- rte_spinlock_lock(&vf->aq_lock); -- rte_intr_disable(pci_dev->intr_handle); -- err = iavf_execute_vf_cmd(adapter, &args, 0); -- rte_intr_enable(pci_dev->intr_handle); -- rte_spinlock_unlock(&vf->aq_lock); -+ err = iavf_execute_vf_cmd_safe(adapter, &args, 0); - } else { - rte_eal_alarm_cancel(iavf_dev_alarm_handler, dev); - err = iavf_execute_vf_cmd_safe(adapter, &args, 0); -@@ -2129,6 +2094,13 @@ iavf_request_queues(struct rte_eth_dev *dev, uint16_t num) +- /* +- * disable interrupt to avoid the admin queue message to be read +- * before iavf_read_msg_from_pf. +- * +- * don't disable interrupt handler until ready to execute vf cmd. +- */ +- rte_spinlock_lock(&vf->aq_lock); +- rte_intr_disable(&pci_dev->intr_handle); +- err = iavf_execute_vf_cmd(adapter, &args); +- rte_intr_enable(&pci_dev->intr_handle); +- rte_spinlock_unlock(&vf->aq_lock); ++ err = iavf_execute_vf_cmd_safe(adapter, &args); + if (err) { + PMD_DRV_LOG(ERR, "fail to execute command OP_REQUEST_QUEUES"); ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/i40e: fix tunnel packet Tx descriptor' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi ` (15 preceding siblings ...) 2023-06-28 14:10 ` patch 'net/iavf: fix abnormal disable HW interrupt' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-06-28 14:10 ` patch 'net/e1000: fix queue number initialization' " luca.boccassi ` (3 subsequent siblings) 20 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: Shiyang He; +Cc: Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/42d51b3d7c3939d20f9eb6ec5f060ad29c615bf0 Thanks. Luca Boccassi --- From 42d51b3d7c3939d20f9eb6ec5f060ad29c615bf0 Mon Sep 17 00:00:00 2001 From: Shiyang He <shiyangx.he@intel.com> Date: Wed, 14 Jun 2023 09:59:03 +0000 Subject: [PATCH] net/i40e: fix tunnel packet Tx descriptor [ upstream commit e8b1a5dd7df3e7a3f87b469e1b007d560d46d7f2 ] The TX descriptor of tunnel packet filled incorrectly due to the MACLEN is not set. This patch fixes this issue by setting MACLEN to correctly fill the TX descriptor. Fixes: c59faf3fe8fe ("net/i40e: support TSO on tunneling packet") Signed-off-by: Shiyang He <shiyangx.he@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/i40e/i40e_rxtx.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c index 071345da09..3b6c41c271 100644 --- a/drivers/net/i40e/i40e_rxtx.c +++ b/drivers/net/i40e/i40e_rxtx.c @@ -265,10 +265,7 @@ i40e_txd_enable_checksum(uint64_t ol_flags, union i40e_tx_offload tx_offload) { /* Set MACLEN */ - if (ol_flags & PKT_TX_TUNNEL_MASK) - *td_offset |= (tx_offload.outer_l2_len >> 1) - << I40E_TX_DESC_LENGTH_MACLEN_SHIFT; - else + if (!(ol_flags & PKT_TX_TUNNEL_MASK)) *td_offset |= (tx_offload.l2_len >> 1) << I40E_TX_DESC_LENGTH_MACLEN_SHIFT; @@ -1131,9 +1128,12 @@ i40e_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) /* Fill in tunneling parameters if necessary */ cd_tunneling_params = 0; - if (ol_flags & PKT_TX_TUNNEL_MASK) + if (ol_flags & PKT_TX_TUNNEL_MASK) { + td_offset |= (tx_offload.outer_l2_len >> 1) + << I40E_TX_DESC_LENGTH_MACLEN_SHIFT; i40e_parse_tunneling_params(ol_flags, tx_offload, &cd_tunneling_params); + } /* Enable checksum offloading */ if (ol_flags & I40E_TX_CKSUM_OFFLOAD_MASK) i40e_txd_enable_checksum(ol_flags, &td_cmd, -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.835285765 +0100 +++ 0018-net-i40e-fix-tunnel-packet-Tx-descriptor.patch 2023-06-28 11:40:08.084028083 +0100 @@ -1 +1 @@ -From e8b1a5dd7df3e7a3f87b469e1b007d560d46d7f2 Mon Sep 17 00:00:00 2001 +From 42d51b3d7c3939d20f9eb6ec5f060ad29c615bf0 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit e8b1a5dd7df3e7a3f87b469e1b007d560d46d7f2 ] + @@ -13 +14,0 @@ -Cc: stable@dpdk.org @@ -22 +23 @@ -index fbbefb5015..b4f65b58fa 100644 +index 071345da09..3b6c41c271 100644 @@ -25 +26 @@ -@@ -304,10 +304,7 @@ i40e_txd_enable_checksum(uint64_t ol_flags, +@@ -265,10 +265,7 @@ i40e_txd_enable_checksum(uint64_t ol_flags, @@ -29 +30 @@ -- if (ol_flags & RTE_MBUF_F_TX_TUNNEL_MASK) +- if (ol_flags & PKT_TX_TUNNEL_MASK) @@ -33 +34 @@ -+ if (!(ol_flags & RTE_MBUF_F_TX_TUNNEL_MASK)) ++ if (!(ol_flags & PKT_TX_TUNNEL_MASK)) @@ -37 +38 @@ -@@ -1171,9 +1168,12 @@ i40e_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) +@@ -1131,9 +1128,12 @@ i40e_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) @@ -41,2 +42,2 @@ -- if (ol_flags & RTE_MBUF_F_TX_TUNNEL_MASK) -+ if (ol_flags & RTE_MBUF_F_TX_TUNNEL_MASK) { +- if (ol_flags & PKT_TX_TUNNEL_MASK) ++ if (ol_flags & PKT_TX_TUNNEL_MASK) { ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/e1000: fix queue number initialization' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi ` (16 preceding siblings ...) 2023-06-28 14:10 ` patch 'net/i40e: fix tunnel packet Tx descriptor' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-06-28 14:10 ` patch 'net/mlx5: fix risk in NEON Rx descriptor read' " luca.boccassi ` (2 subsequent siblings) 20 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: Qiming Yang; +Cc: Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/7af73606af78be574bc2533cb9258ec13c884fa2 Thanks. Luca Boccassi --- From 7af73606af78be574bc2533cb9258ec13c884fa2 Mon Sep 17 00:00:00 2001 From: Qiming Yang <qiming.yang@intel.com> Date: Tue, 13 Jun 2023 07:51:51 +0000 Subject: [PATCH] net/e1000: fix queue number initialization [ upstream commit c1a42d646472fd3477429bf016f682e0865b77f0 ] The initialized queue number is not match the description in HW datasheet. Fixes: 805803445a02 ("e1000: support EM devices (also known as e1000/e1000e)") Signed-off-by: Qiming Yang <qiming.yang@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/e1000/em_ethdev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/e1000/em_ethdev.c b/drivers/net/e1000/em_ethdev.c index ef482bdde4..0ef6bee86c 100644 --- a/drivers/net/e1000/em_ethdev.c +++ b/drivers/net/e1000/em_ethdev.c @@ -1079,8 +1079,8 @@ eth_em_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) * To avoid it we support just one RX queue for now (no RSS). */ - dev_info->max_rx_queues = 1; - dev_info->max_tx_queues = 1; + dev_info->max_rx_queues = 2; + dev_info->max_tx_queues = 2; dev_info->rx_queue_offload_capa = em_get_rx_queue_offloads_capa(dev); dev_info->rx_offload_capa = em_get_rx_port_offloads_capa(dev) | -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.876658953 +0100 +++ 0019-net-e1000-fix-queue-number-initialization.patch 2023-06-28 11:40:08.084028083 +0100 @@ -1 +1 @@ -From c1a42d646472fd3477429bf016f682e0865b77f0 Mon Sep 17 00:00:00 2001 +From 7af73606af78be574bc2533cb9258ec13c884fa2 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit c1a42d646472fd3477429bf016f682e0865b77f0 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index 0afedcd00c..c5a4dec693 100644 +index ef482bdde4..0ef6bee86c 100644 @@ -22 +23 @@ -@@ -1088,8 +1088,8 @@ eth_em_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) +@@ -1079,8 +1079,8 @@ eth_em_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) @@ -31,2 +32,2 @@ - dev_info->rx_queue_offload_capa = em_get_rx_queue_offloads_capa(); - dev_info->rx_offload_capa = em_get_rx_port_offloads_capa() | + dev_info->rx_queue_offload_capa = em_get_rx_queue_offloads_capa(dev); + dev_info->rx_offload_capa = em_get_rx_port_offloads_capa(dev) | ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/mlx5: fix risk in NEON Rx descriptor read' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi ` (17 preceding siblings ...) 2023-06-28 14:10 ` patch 'net/e1000: fix queue number initialization' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-06-28 14:10 ` patch 'net/mlx5: fix device removal event handling' " luca.boccassi 2023-06-28 14:10 ` patch 'common/mlx5: adjust fork call with new kernel API' " luca.boccassi 20 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: Ruifeng Wang; +Cc: Ali Alnubani, Viacheslav Ovsiienko, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/b67f1030b64f2068f98573e7d623fc24cc6cc9d6 Thanks. Luca Boccassi --- From b67f1030b64f2068f98573e7d623fc24cc6cc9d6 Mon Sep 17 00:00:00 2001 From: Ruifeng Wang <ruifeng.wang@arm.com> Date: Tue, 30 May 2023 13:48:04 +0800 Subject: [PATCH] net/mlx5: fix risk in NEON Rx descriptor read [ upstream commit 7ac7450b20d1e11a20c138707663867918b39403 ] In NEON vector PMD, vector load loads two contiguous 8B of descriptor data into vector register. Given vector load ensures no 16B atomicity, read of the word that includes op_own field could be reordered after read of other words. In this case, some words could contain invalid data. Reloaded qword0 after read barrier to update vector register. This ensures that the fetched data is correct. Testpmd single core test on N1SDP/ThunderX2 showed no performance drop. Fixes: 1742c2d9fab0 ("net/mlx5: fix synchronization on polling Rx completions") Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Tested-by: Ali Alnubani <alialnu@nvidia.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> --- drivers/net/mlx5/mlx5_rxtx_vec_neon.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h index e4b74c40d1..e3ba6fee5b 100644 --- a/drivers/net/mlx5/mlx5_rxtx_vec_neon.h +++ b/drivers/net/mlx5/mlx5_rxtx_vec_neon.h @@ -647,6 +647,14 @@ rxq_cq_process_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq, c0 = vld1q_u64((uint64_t *)(p0 + 48)); /* Synchronize for loading the rest of blocks. */ rte_io_rmb(); + /* B.0 (CQE 3) reload lower half of the block. */ + c3 = vld1q_lane_u64((uint64_t *)(p3 + 48), c3, 0); + /* B.0 (CQE 2) reload lower half of the block. */ + c2 = vld1q_lane_u64((uint64_t *)(p2 + 48), c2, 0); + /* B.0 (CQE 1) reload lower half of the block. */ + c1 = vld1q_lane_u64((uint64_t *)(p1 + 48), c1, 0); + /* B.0 (CQE 0) reload lower half of the block. */ + c0 = vld1q_lane_u64((uint64_t *)(p0 + 48), c0, 0); /* Prefetch next 4 CQEs. */ if (pkts_n - pos >= 2 * MLX5_VPMD_DESCS_PER_LOOP) { unsigned int next = pos + MLX5_VPMD_DESCS_PER_LOOP; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.917319366 +0100 +++ 0020-net-mlx5-fix-risk-in-NEON-Rx-descriptor-read.patch 2023-06-28 11:40:08.088028165 +0100 @@ -1 +1 @@ -From 7ac7450b20d1e11a20c138707663867918b39403 Mon Sep 17 00:00:00 2001 +From b67f1030b64f2068f98573e7d623fc24cc6cc9d6 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 7ac7450b20d1e11a20c138707663867918b39403 ] + @@ -18 +19,0 @@ -Cc: stable@dpdk.org @@ -28 +29 @@ -index 91c85bec6d..3ed688191f 100644 +index e4b74c40d1..e3ba6fee5b 100644 @@ -31 +32 @@ -@@ -675,6 +675,14 @@ rxq_cq_process_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq, +@@ -647,6 +647,14 @@ rxq_cq_process_v(struct mlx5_rxq_data *rxq, volatile struct mlx5_cqe *cq, ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/mlx5: fix device removal event handling' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi ` (18 preceding siblings ...) 2023-06-28 14:10 ` patch 'net/mlx5: fix risk in NEON Rx descriptor read' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-06-28 14:10 ` patch 'common/mlx5: adjust fork call with new kernel API' " luca.boccassi 20 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: Viacheslav Ovsiienko; +Cc: dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/92f3908f23339ab540c5a461a79f7d033bd2ce0f Thanks. Luca Boccassi --- From 92f3908f23339ab540c5a461a79f7d033bd2ce0f Mon Sep 17 00:00:00 2001 From: Viacheslav Ovsiienko <viacheslavo@nvidia.com> Date: Tue, 30 May 2023 18:13:28 +0300 Subject: [PATCH] net/mlx5: fix device removal event handling [ upstream commit 22dc56cfbd39692eb74fad93ff5ecc3df5fd0633 ] On the device removal kernel notifies user space application with queueing the IBV_DEVICE_FATAL_EVENT and triggering appropriate file descriptor. Mellanox kernel driver stack emits this event twice from different layers (mlx5 and uverbs). The IB port index is not applicable in the event structure and should be ignored for IBV_DEVICE_FATAL_EVENT events. Also, on the older kernels (at least from OFED 4.9) there might be race conditions causing the event queue close before application fetches the IBV_DEVICE_FATAL_EVENT message with ibv_get_async_event() API. To provide the reliable device removal event detection the patch: - ignores the IB port index for the IBV_DEVICE_FATAL_EVENT - introduces the flag to notify PMD about removal only once - acks event with ibv_ack_async_event after actual handling - checks for EIO error, making sure queue is not closed yet Fixes: 40d9f906f4e2 ("net/mlx5: fix device removal handler for multiport") Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> --- drivers/net/mlx5/linux/mlx5_ethdev_os.c | 40 +++++++++++++++++-------- drivers/net/mlx5/mlx5.h | 1 + 2 files changed, 28 insertions(+), 13 deletions(-) diff --git a/drivers/net/mlx5/linux/mlx5_ethdev_os.c b/drivers/net/mlx5/linux/mlx5_ethdev_os.c index 92320616b5..473dad3851 100644 --- a/drivers/net/mlx5/linux/mlx5_ethdev_os.c +++ b/drivers/net/mlx5/linux/mlx5_ethdev_os.c @@ -715,6 +715,7 @@ mlx5_dev_interrupt_device_fatal(struct mlx5_dev_ctx_shared *sh) for (i = 0; i < sh->max_port; ++i) { struct rte_eth_dev *dev; + struct mlx5_priv *priv; if (sh->port[i].ih_port_id >= RTE_MAX_ETHPORTS) { /* @@ -725,9 +726,14 @@ mlx5_dev_interrupt_device_fatal(struct mlx5_dev_ctx_shared *sh) } dev = &rte_eth_devices[sh->port[i].ih_port_id]; MLX5_ASSERT(dev); - if (dev->data->dev_conf.intr_conf.rmv) + priv = dev->data->dev_private; + MLX5_ASSERT(priv); + if (!priv->rmv_notified && dev->data->dev_conf.intr_conf.rmv) { + /* Notify driver about removal only once. */ + priv->rmv_notified = 1; rte_eth_dev_callback_process (dev, RTE_ETH_EVENT_INTR_RMV, NULL); + } } } @@ -800,21 +806,29 @@ mlx5_dev_interrupt_handler(void *cb_arg) struct rte_eth_dev *dev; uint32_t tmp; - if (mlx5_glue->get_async_event(sh->ctx, &event)) + if (mlx5_glue->get_async_event(sh->ctx, &event)) { + if (errno == EIO) { + DRV_LOG(DEBUG, + "IBV async event queue closed on: %s", + sh->ibdev_name); + mlx5_dev_interrupt_device_fatal(sh); + } break; + } + if (event.event_type == IBV_EVENT_DEVICE_FATAL) { + /* + * The DEVICE_FATAL event can be called by kernel + * twice - from mlx5 and uverbs layers, and port + * index is not applicable. We should notify all + * existing ports. + */ + mlx5_dev_interrupt_device_fatal(sh); + mlx5_glue->ack_async_event(&event); + continue; + } /* Retrieve and check IB port index. */ tmp = (uint32_t)event.element.port_num; - if (!tmp && event.event_type == IBV_EVENT_DEVICE_FATAL) { - /* - * The DEVICE_FATAL event is called once for - * entire device without port specifying. - * We should notify all existing ports. - */ - mlx5_glue->ack_async_event(&event); - mlx5_dev_interrupt_device_fatal(sh); - continue; - } - MLX5_ASSERT(tmp && (tmp <= sh->max_port)); + MLX5_ASSERT(tmp <= sh->max_port); if (!tmp) { /* Unsupported device level event. */ mlx5_glue->ack_async_event(&event); diff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h index 1f47c433eb..19cb02ad42 100644 --- a/drivers/net/mlx5/mlx5.h +++ b/drivers/net/mlx5/mlx5.h @@ -945,6 +945,7 @@ struct mlx5_priv { unsigned int mtr_reg_share:1; /* Whether support meter REG_C share. */ unsigned int sampler_en:1; /* Whether support sampler. */ unsigned int lb_used:1; /* Loopback queue is referred to. */ + unsigned int rmv_notified:1; /* Notified about removal event */ uint32_t mark_enabled:1; /* If mark action is enabled on rxqs. */ uint16_t domain_id; /* Switch domain identifier. */ uint16_t vport_id; /* Associated VF vport index (if any). */ -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.957115256 +0100 +++ 0021-net-mlx5-fix-device-removal-event-handling.patch 2023-06-28 11:40:08.088028165 +0100 @@ -1 +1 @@ -From 22dc56cfbd39692eb74fad93ff5ecc3df5fd0633 Mon Sep 17 00:00:00 2001 +From 92f3908f23339ab540c5a461a79f7d033bd2ce0f Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 22dc56cfbd39692eb74fad93ff5ecc3df5fd0633 ] + @@ -26 +27,0 @@ -Cc: stable@dpdk.org @@ -35 +36 @@ -index 55801534d1..639e629fe4 100644 +index 92320616b5..473dad3851 100644 @@ -38 +39 @@ -@@ -746,6 +746,7 @@ mlx5_dev_interrupt_device_fatal(struct mlx5_dev_ctx_shared *sh) +@@ -715,6 +715,7 @@ mlx5_dev_interrupt_device_fatal(struct mlx5_dev_ctx_shared *sh) @@ -46 +47 @@ -@@ -756,9 +757,14 @@ mlx5_dev_interrupt_device_fatal(struct mlx5_dev_ctx_shared *sh) +@@ -725,9 +726,14 @@ mlx5_dev_interrupt_device_fatal(struct mlx5_dev_ctx_shared *sh) @@ -62 +63 @@ -@@ -830,21 +836,29 @@ mlx5_dev_interrupt_handler(void *cb_arg) +@@ -800,21 +806,29 @@ mlx5_dev_interrupt_handler(void *cb_arg) @@ -66,2 +67,2 @@ -- if (mlx5_glue->get_async_event(sh->cdev->ctx, &event)) -+ if (mlx5_glue->get_async_event(sh->cdev->ctx, &event)) { +- if (mlx5_glue->get_async_event(sh->ctx, &event)) ++ if (mlx5_glue->get_async_event(sh->ctx, &event)) { @@ -105 +106 @@ -index fffd3c79f1..10a2f33ea0 100644 +index 1f47c433eb..19cb02ad42 100644 @@ -108,2 +109 @@ -@@ -1744,6 +1744,7 @@ struct mlx5_priv { - unsigned int mtr_en:1; /* Whether support meter. */ +@@ -945,6 +945,7 @@ struct mlx5_priv { @@ -110,0 +111 @@ + unsigned int sampler_en:1; /* Whether support sampler. */ @@ -114,2 +115,2 @@ - uint32_t num_lag_ports:4; /* Number of ports can be bonded. */ - uint32_t tunnel_enabled:1; /* If tunnel offloading is enabled on rxqs. */ + uint16_t domain_id; /* Switch domain identifier. */ + uint16_t vport_id; /* Associated VF vport index (if any). */ ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'common/mlx5: adjust fork call with new kernel API' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi ` (19 preceding siblings ...) 2023-06-28 14:10 ` patch 'net/mlx5: fix device removal event handling' " luca.boccassi @ 2023-06-28 14:10 ` luca.boccassi 2023-07-14 22:34 ` patch 'ipc: fix file descriptor leakage with unhandled messages' " luca.boccassi 20 siblings, 1 reply; 113+ messages in thread From: luca.boccassi @ 2023-06-28 14:10 UTC (permalink / raw) To: Erez Ferber; +Cc: Viacheslav Ovsiienko, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 06/30/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/893798a07c221da3e952d13a66b4449539cc3412 Thanks. Luca Boccassi --- From 893798a07c221da3e952d13a66b4449539cc3412 Mon Sep 17 00:00:00 2001 From: Erez Ferber <erezf@nvidia.com> Date: Wed, 24 May 2023 15:01:40 +0300 Subject: [PATCH] common/mlx5: adjust fork call with new kernel API [ upstream commit 42f113c53cbbbc4585ad68b4d2a8aa9bddad23da ] While doing process fork() the operating system remaps all the parent process's memory to the address space of the child process and activates the Copy-on-Write mechanics - it duplicates physical pages once memory writing happens in the child process. Sometimes memory duplication is not allowed - for example, if the page contains hardware queue descriptors. To handle similar issues the rdma-core library should be prepared for forking. The ibv_fork_init() prepares the library to track all the related memory and prevent it from forking using madvise() system API. This approach allows fork, but not all the memory is forked to the child process and, application should care not to touch pages where the parent application allocated the rdma-core objects. The newer kernels propose an option of copy-on-fork for DMA pages and tracking all the memory and disabling it for the forking is no longer needed. The new API routine ibv_is_fork_initialized() should be involved to decide if library initialization for forking is required. Fixes: 0e83b8e536c1 ("net/mlx5: move rdma-core calls to separate file") Signed-off-by: Erez Ferber <erezf@nvidia.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> --- drivers/common/mlx5/linux/meson.build | 2 ++ drivers/common/mlx5/linux/mlx5_glue.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/drivers/common/mlx5/linux/meson.build b/drivers/common/mlx5/linux/meson.build index 43d70c1324..e000bbb211 100644 --- a/drivers/common/mlx5/linux/meson.build +++ b/drivers/common/mlx5/linux/meson.build @@ -190,6 +190,8 @@ has_sym_args = [ 'mlx5dv_dr_action_create_aso' ], [ 'HAVE_MLX5_IBV_REG_MR_IOVA', 'infiniband/verbs.h', 'ibv_reg_mr_iova' ], + [ 'HAVE_IBV_FORK_UNNEEDED', 'infiniband/verbs.h', + 'ibv_is_fork_initialized'], ] config = configuration_data() foreach arg:has_sym_args diff --git a/drivers/common/mlx5/linux/mlx5_glue.c b/drivers/common/mlx5/linux/mlx5_glue.c index 97ac5d3b5e..c1aae60478 100644 --- a/drivers/common/mlx5/linux/mlx5_glue.c +++ b/drivers/common/mlx5/linux/mlx5_glue.c @@ -19,6 +19,10 @@ static int mlx5_glue_fork_init(void) { +#ifdef HAVE_IBV_FORK_UNNEEDED + if (ibv_is_fork_initialized() == IBV_FORK_UNNEEDED) + return 0; /* ibv_fork_init() not needed */ +#endif return ibv_fork_init(); } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-06-28 11:40:08.996947261 +0100 +++ 0022-common-mlx5-adjust-fork-call-with-new-kernel-API.patch 2023-06-28 11:40:08.092028248 +0100 @@ -1 +1 @@ -From 42f113c53cbbbc4585ad68b4d2a8aa9bddad23da Mon Sep 17 00:00:00 2001 +From 893798a07c221da3e952d13a66b4449539cc3412 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 42f113c53cbbbc4585ad68b4d2a8aa9bddad23da ] + @@ -26 +27,0 @@ -Cc: stable@dpdk.org @@ -36 +37 @@ -index 718da020f7..15edc13041 100644 +index 43d70c1324..e000bbb211 100644 @@ -39,4 +40,4 @@ -@@ -221,6 +221,8 @@ has_sym_args = [ - 'mlx5dv_dr_action_create_dest_root_table' ], - [ 'HAVE_MLX5DV_CREATE_STEERING_ANCHOR', 'infiniband/mlx5dv.h', - 'mlx5dv_create_steering_anchor'], +@@ -190,6 +190,8 @@ has_sym_args = [ + 'mlx5dv_dr_action_create_aso' ], + [ 'HAVE_MLX5_IBV_REG_MR_IOVA', 'infiniband/verbs.h', + 'ibv_reg_mr_iova' ], @@ -46,2 +47,2 @@ - if libmtcr_ul_found - has_sym_args += [ + config = configuration_data() + foreach arg:has_sym_args @@ -49 +50 @@ -index 3497aa940d..6f858db8fc 100644 +index 97ac5d3b5e..c1aae60478 100644 ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'ipc: fix file descriptor leakage with unhandled messages' has been queued to stable release 20.11.9 2023-06-28 14:10 ` patch 'common/mlx5: adjust fork call with new kernel API' " luca.boccassi @ 2023-07-14 22:34 ` luca.boccassi 2023-07-14 22:34 ` patch 'fib: fix adding default route' " luca.boccassi ` (16 more replies) 0 siblings, 17 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-14 22:34 UTC (permalink / raw) To: Viacheslav Ovsiienko; +Cc: Chengwen Feng, Anatoly Burakov, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/16/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/52dc01cef84c6609cc7b4e35f97e3d0f3886acc0 Thanks. Luca Boccassi --- From 52dc01cef84c6609cc7b4e35f97e3d0f3886acc0 Mon Sep 17 00:00:00 2001 From: Viacheslav Ovsiienko <viacheslavo@nvidia.com> Date: Wed, 28 Jun 2023 15:19:38 +0300 Subject: [PATCH] ipc: fix file descriptor leakage with unhandled messages [ upstream commit a64a4564705d18d20d20cfa16c79e795b7bf0f1e ] The sendmsg()/recvmsg() API is used to establish communication between the DPDK processes. The API supposes inter-process file descriptors sending and conversion, the recipient sees the resulting descriptors in the received message - the operating systems creates ones in the right context. The message receiving is performed by EAL in the dedicated thread and it might happen the message is received by EAL and not handled by addressed PMD or application due to some reasons (timeouts, race condition, etc). EAL just dropped unhandled messages causing the file descriptor leakage if these ones were presented in the message. The patch closes the descriptors (if any) in unhandled messages. Fixes: 783b6e54971d ("eal: add synchronous multi-process communication") Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com> --- lib/librte_eal/common/eal_common_proc.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/librte_eal/common/eal_common_proc.c b/lib/librte_eal/common/eal_common_proc.c index 50f0668148..38a2164f71 100644 --- a/lib/librte_eal/common/eal_common_proc.c +++ b/lib/librte_eal/common/eal_common_proc.c @@ -323,6 +323,15 @@ retry: return msglen; } +static void +cleanup_msg_fds(const struct rte_mp_msg *msg) +{ + int i; + + for (i = 0; i < msg->num_fds; i++) + close(msg->fds[i]); +} + static void process_msg(struct mp_msg_internal *m, struct sockaddr_un *s) { @@ -351,8 +360,10 @@ process_msg(struct mp_msg_internal *m, struct sockaddr_un *s) else if (pending_req->type == REQUEST_TYPE_ASYNC) req = async_reply_handle_thread_unsafe( pending_req); - } else + } else { RTE_LOG(ERR, EAL, "Drop mp reply: %s\n", msg->name); + cleanup_msg_fds(msg); + } pthread_mutex_unlock(&pending_requests.lock); if (req != NULL) @@ -382,6 +393,7 @@ process_msg(struct mp_msg_internal *m, struct sockaddr_un *s) RTE_LOG(ERR, EAL, "Cannot find action: %s\n", msg->name); } + cleanup_msg_fds(msg); } else if (action(msg, s->sun_path) < 0) { RTE_LOG(ERR, EAL, "Fail to handle message: %s\n", msg->name); } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-14 23:33:08.546242253 +0100 +++ 0001-ipc-fix-file-descriptor-leakage-with-unhandled-messa.patch 2023-07-14 23:33:08.475304887 +0100 @@ -1 +1 @@ -From a64a4564705d18d20d20cfa16c79e795b7bf0f1e Mon Sep 17 00:00:00 2001 +From 52dc01cef84c6609cc7b4e35f97e3d0f3886acc0 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit a64a4564705d18d20d20cfa16c79e795b7bf0f1e ] + @@ -21 +22,0 @@ -Cc: stable@dpdk.org @@ -27 +28 @@ - lib/eal/common/eal_common_proc.c | 14 +++++++++++++- + lib/librte_eal/common/eal_common_proc.c | 14 +++++++++++++- @@ -30,5 +31,5 @@ -diff --git a/lib/eal/common/eal_common_proc.c b/lib/eal/common/eal_common_proc.c -index 7a038e0a3c..02d4599d67 100644 ---- a/lib/eal/common/eal_common_proc.c -+++ b/lib/eal/common/eal_common_proc.c -@@ -321,6 +321,15 @@ retry: +diff --git a/lib/librte_eal/common/eal_common_proc.c b/lib/librte_eal/common/eal_common_proc.c +index 50f0668148..38a2164f71 100644 +--- a/lib/librte_eal/common/eal_common_proc.c ++++ b/lib/librte_eal/common/eal_common_proc.c +@@ -323,6 +323,15 @@ retry: @@ -50 +51 @@ -@@ -349,8 +358,10 @@ process_msg(struct mp_msg_internal *m, struct sockaddr_un *s) +@@ -351,8 +360,10 @@ process_msg(struct mp_msg_internal *m, struct sockaddr_un *s) @@ -62 +63 @@ -@@ -380,6 +391,7 @@ process_msg(struct mp_msg_internal *m, struct sockaddr_un *s) +@@ -382,6 +393,7 @@ process_msg(struct mp_msg_internal *m, struct sockaddr_un *s) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'fib: fix adding default route' has been queued to stable release 20.11.9 2023-07-14 22:34 ` patch 'ipc: fix file descriptor leakage with unhandled messages' " luca.boccassi @ 2023-07-14 22:34 ` luca.boccassi 2023-07-14 22:34 ` patch 'mem: fix memsegs exhausted message' " luca.boccassi ` (15 subsequent siblings) 16 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-14 22:34 UTC (permalink / raw) To: Vladimir Medvedkin; +Cc: dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/16/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/d5778159b6ba6d855deace58f2ce1e542eec9d9d Thanks. Luca Boccassi --- From d5778159b6ba6d855deace58f2ce1e542eec9d9d Mon Sep 17 00:00:00 2001 From: Vladimir Medvedkin <vladimir.medvedkin@intel.com> Date: Mon, 3 Jul 2023 15:43:35 +0000 Subject: [PATCH] fib: fix adding default route [ upstream commit 880bc2b5f3bdbde0eee4d880afaaf91b4babbdfc ] Fixed an issue that occurs when adding a default route as the first route. Bugzilla ID: 1160 Fixes: 7dc7868b200d ("fib: add DIR24-8 dataplane algorithm") Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com> --- lib/librte_fib/dir24_8.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_fib/dir24_8.c b/lib/librte_fib/dir24_8.c index bb3bc9753b..181ed03dee 100644 --- a/lib/librte_fib/dir24_8.c +++ b/lib/librte_fib/dir24_8.c @@ -394,7 +394,7 @@ modify_fib(struct dir24_8_tbl *dp, struct rte_rib *rib, uint32_t ip, (uint32_t)(1ULL << (32 - tmp_depth)); } else { redge = ip + (uint32_t)(1ULL << (32 - depth)); - if (ledge == redge) + if (ledge == redge && ledge != 0) break; ret = install_to_fib(dp, ledge, redge, next_hop); -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-14 23:33:08.586517497 +0100 +++ 0002-fib-fix-adding-default-route.patch 2023-07-14 23:33:08.479304963 +0100 @@ -1 +1 @@ -From 880bc2b5f3bdbde0eee4d880afaaf91b4babbdfc Mon Sep 17 00:00:00 2001 +From d5778159b6ba6d855deace58f2ce1e542eec9d9d Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 880bc2b5f3bdbde0eee4d880afaaf91b4babbdfc ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -15 +16 @@ - lib/fib/dir24_8.c | 2 +- + lib/librte_fib/dir24_8.c | 2 +- @@ -18,5 +19,5 @@ -diff --git a/lib/fib/dir24_8.c b/lib/fib/dir24_8.c -index a8ba4f64ca..3efdcb533c 100644 ---- a/lib/fib/dir24_8.c -+++ b/lib/fib/dir24_8.c -@@ -390,7 +390,7 @@ modify_fib(struct dir24_8_tbl *dp, struct rte_rib *rib, uint32_t ip, +diff --git a/lib/librte_fib/dir24_8.c b/lib/librte_fib/dir24_8.c +index bb3bc9753b..181ed03dee 100644 +--- a/lib/librte_fib/dir24_8.c ++++ b/lib/librte_fib/dir24_8.c +@@ -394,7 +394,7 @@ modify_fib(struct dir24_8_tbl *dp, struct rte_rib *rib, uint32_t ip, ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'mem: fix memsegs exhausted message' has been queued to stable release 20.11.9 2023-07-14 22:34 ` patch 'ipc: fix file descriptor leakage with unhandled messages' " luca.boccassi 2023-07-14 22:34 ` patch 'fib: fix adding default route' " luca.boccassi @ 2023-07-14 22:34 ` luca.boccassi 2023-07-14 22:34 ` patch 'net/netvsc: fix sizeof calculation' " luca.boccassi ` (14 subsequent siblings) 16 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-14 22:34 UTC (permalink / raw) To: Fengnan Chang; +Cc: Anatoly Burakov, Chengwen Feng, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/16/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/8573c47eff8d648c89238e40e997ad7902504e29 Thanks. Luca Boccassi --- From 8573c47eff8d648c89238e40e997ad7902504e29 Mon Sep 17 00:00:00 2001 From: Fengnan Chang <changfengnan@bytedance.com> Date: Tue, 4 Jul 2023 20:17:51 +0800 Subject: [PATCH] mem: fix memsegs exhausted message [ upstream commit d93000bb9310685d0df3aa2c11cff3000ed17a82 ] When there is not enough space to memsegs, we should prompt which configuration should be modified instead of printing some numbers. Fixes: dd61b34d580b ("mem: error if requesting more segments than MAX_MEMSEG") Fixes: 66cc45e293ed ("mem: replace memseg with memseg lists") Signed-off-by: Fengnan Chang <changfengnan@bytedance.com> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com> Acked-by: Chengwen Feng <fengchengwen@huawei.com> --- lib/librte_eal/common/eal_common_dynmem.c | 6 ++---- lib/librte_eal/freebsd/eal_memory.c | 8 +++----- lib/librte_eal/linux/eal_memory.c | 11 ++++------- 3 files changed, 9 insertions(+), 16 deletions(-) diff --git a/lib/librte_eal/common/eal_common_dynmem.c b/lib/librte_eal/common/eal_common_dynmem.c index c1e1889f5c..9af299b8f8 100644 --- a/lib/librte_eal/common/eal_common_dynmem.c +++ b/lib/librte_eal/common/eal_common_dynmem.c @@ -119,8 +119,7 @@ eal_dynmem_memseg_lists_init(void) max_seglists_per_type = RTE_MAX_MEMSEG_LISTS / n_memtypes; if (max_seglists_per_type == 0) { - RTE_LOG(ERR, EAL, "Cannot accommodate all memory types, please increase %s\n", - RTE_STR(RTE_MAX_MEMSEG_LISTS)); + RTE_LOG(ERR, EAL, "Cannot accommodate all memory types, please increase RTE_MAX_MEMSEG_LISTS\n"); goto out; } @@ -179,8 +178,7 @@ eal_dynmem_memseg_lists_init(void) for (cur_seglist = 0; cur_seglist < n_seglists; cur_seglist++) { if (msl_idx >= RTE_MAX_MEMSEG_LISTS) { RTE_LOG(ERR, EAL, - "No more space in memseg lists, please increase %s\n", - RTE_STR(RTE_MAX_MEMSEG_LISTS)); + "No more space in memseg lists, please increase RTE_MAX_MEMSEG_LISTS\n"); goto out; } msl = &mcfg->memsegs[msl_idx++]; diff --git a/lib/librte_eal/freebsd/eal_memory.c b/lib/librte_eal/freebsd/eal_memory.c index 17ab10e0ca..5c6165c580 100644 --- a/lib/librte_eal/freebsd/eal_memory.c +++ b/lib/librte_eal/freebsd/eal_memory.c @@ -172,9 +172,8 @@ rte_eal_hugepage_init(void) break; } if (msl_idx == RTE_MAX_MEMSEG_LISTS) { - RTE_LOG(ERR, EAL, "Could not find space for memseg. Please increase %s and/or %s in configuration.\n", - RTE_STR(RTE_MAX_MEMSEG_PER_TYPE), - RTE_STR(RTE_MAX_MEM_MB_PER_TYPE)); + RTE_LOG(ERR, EAL, "Could not find space for memseg. Please increase RTE_MAX_MEMSEG_PER_LIST " + "RTE_MAX_MEMSEG_PER_TYPE and/or RTE_MAX_MEM_MB_PER_TYPE in configuration.\n"); return -1; } arr = &msl->memseg_arr; @@ -404,8 +403,7 @@ memseg_primary_init(void) if (msl_idx >= RTE_MAX_MEMSEG_LISTS) { RTE_LOG(ERR, EAL, - "No more space in memseg lists, please increase %s\n", - RTE_STR(RTE_MAX_MEMSEG_LISTS)); + "No more space in memseg lists, please increase RTE_MAX_MEMSEG_LISTS\n"); return -1; } diff --git a/lib/librte_eal/linux/eal_memory.c b/lib/librte_eal/linux/eal_memory.c index 3bd0bc17c5..84f4e1cce7 100644 --- a/lib/librte_eal/linux/eal_memory.c +++ b/lib/librte_eal/linux/eal_memory.c @@ -721,9 +721,8 @@ remap_segment(struct hugepage_file *hugepages, int seg_start, int seg_end) break; } if (msl_idx == RTE_MAX_MEMSEG_LISTS) { - RTE_LOG(ERR, EAL, "Could not find space for memseg. Please increase %s and/or %s in configuration.\n", - RTE_STR(RTE_MAX_MEMSEG_PER_TYPE), - RTE_STR(RTE_MAX_MEM_MB_PER_TYPE)); + RTE_LOG(ERR, EAL, "Could not find space for memseg. Please increase RTE_MAX_MEMSEG_PER_LIST " + "RTE_MAX_MEMSEG_PER_TYPE and/or RTE_MAX_MEM_MB_PER_TYPE in configuration.\n"); return -1; } @@ -971,8 +970,7 @@ prealloc_segments(struct hugepage_file *hugepages, int n_pages) break; } if (msl_idx == RTE_MAX_MEMSEG_LISTS) { - RTE_LOG(ERR, EAL, "Not enough space in memseg lists, please increase %s\n", - RTE_STR(RTE_MAX_MEMSEG_LISTS)); + RTE_LOG(ERR, EAL, "Not enough space in memseg lists, please increase RTE_MAX_MEMSEG_LISTS\n"); return -1; } @@ -1838,8 +1836,7 @@ memseg_primary_init_32(void) if (msl_idx >= RTE_MAX_MEMSEG_LISTS) { RTE_LOG(ERR, EAL, - "No more space in memseg lists, please increase %s\n", - RTE_STR(RTE_MAX_MEMSEG_LISTS)); + "No more space in memseg lists, please increase RTE_MAX_MEMSEG_LISTS\n"); return -1; } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-14 23:33:08.628597772 +0100 +++ 0003-mem-fix-memsegs-exhausted-message.patch 2023-07-14 23:33:08.479304963 +0100 @@ -1 +1 @@ -From d93000bb9310685d0df3aa2c11cff3000ed17a82 Mon Sep 17 00:00:00 2001 +From 8573c47eff8d648c89238e40e997ad7902504e29 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit d93000bb9310685d0df3aa2c11cff3000ed17a82 ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -18,3 +19,3 @@ - lib/eal/common/eal_common_dynmem.c | 6 ++---- - lib/eal/freebsd/eal_memory.c | 8 +++----- - lib/eal/linux/eal_memory.c | 11 ++++------- + lib/librte_eal/common/eal_common_dynmem.c | 6 ++---- + lib/librte_eal/freebsd/eal_memory.c | 8 +++----- + lib/librte_eal/linux/eal_memory.c | 11 ++++------- @@ -23,5 +24,5 @@ -diff --git a/lib/eal/common/eal_common_dynmem.c b/lib/eal/common/eal_common_dynmem.c -index 52e52e5986..bdbbe233a0 100644 ---- a/lib/eal/common/eal_common_dynmem.c -+++ b/lib/eal/common/eal_common_dynmem.c -@@ -120,8 +120,7 @@ eal_dynmem_memseg_lists_init(void) +diff --git a/lib/librte_eal/common/eal_common_dynmem.c b/lib/librte_eal/common/eal_common_dynmem.c +index c1e1889f5c..9af299b8f8 100644 +--- a/lib/librte_eal/common/eal_common_dynmem.c ++++ b/lib/librte_eal/common/eal_common_dynmem.c +@@ -119,8 +119,7 @@ eal_dynmem_memseg_lists_init(void) @@ -37 +38 @@ -@@ -180,8 +179,7 @@ eal_dynmem_memseg_lists_init(void) +@@ -179,8 +178,7 @@ eal_dynmem_memseg_lists_init(void) @@ -47 +48 @@ -diff --git a/lib/eal/freebsd/eal_memory.c b/lib/eal/freebsd/eal_memory.c +diff --git a/lib/librte_eal/freebsd/eal_memory.c b/lib/librte_eal/freebsd/eal_memory.c @@ -49,2 +50,2 @@ ---- a/lib/eal/freebsd/eal_memory.c -+++ b/lib/eal/freebsd/eal_memory.c +--- a/lib/librte_eal/freebsd/eal_memory.c ++++ b/lib/librte_eal/freebsd/eal_memory.c @@ -73,5 +74,5 @@ -diff --git a/lib/eal/linux/eal_memory.c b/lib/eal/linux/eal_memory.c -index 0876974631..9b6f08fba8 100644 ---- a/lib/eal/linux/eal_memory.c -+++ b/lib/eal/linux/eal_memory.c -@@ -716,9 +716,8 @@ remap_segment(struct hugepage_file *hugepages, int seg_start, int seg_end) +diff --git a/lib/librte_eal/linux/eal_memory.c b/lib/librte_eal/linux/eal_memory.c +index 3bd0bc17c5..84f4e1cce7 100644 +--- a/lib/librte_eal/linux/eal_memory.c ++++ b/lib/librte_eal/linux/eal_memory.c +@@ -721,9 +721,8 @@ remap_segment(struct hugepage_file *hugepages, int seg_start, int seg_end) @@ -89 +90 @@ -@@ -966,8 +965,7 @@ prealloc_segments(struct hugepage_file *hugepages, int n_pages) +@@ -971,8 +970,7 @@ prealloc_segments(struct hugepage_file *hugepages, int n_pages) @@ -99 +100 @@ -@@ -1833,8 +1831,7 @@ memseg_primary_init_32(void) +@@ -1838,8 +1836,7 @@ memseg_primary_init_32(void) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/netvsc: fix sizeof calculation' has been queued to stable release 20.11.9 2023-07-14 22:34 ` patch 'ipc: fix file descriptor leakage with unhandled messages' " luca.boccassi 2023-07-14 22:34 ` patch 'fib: fix adding default route' " luca.boccassi 2023-07-14 22:34 ` patch 'mem: fix memsegs exhausted message' " luca.boccassi @ 2023-07-14 22:34 ` luca.boccassi 2023-07-14 22:34 ` patch 'app/testpmd: fix checksum engine with GTP on 32-bit' " luca.boccassi ` (13 subsequent siblings) 16 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-14 22:34 UTC (permalink / raw) To: Stephen Hemminger; +Cc: Long Li, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/16/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/d94676623d26bd8370ad70ee39beac2f110dfa3f Thanks. Luca Boccassi --- From d94676623d26bd8370ad70ee39beac2f110dfa3f Mon Sep 17 00:00:00 2001 From: Stephen Hemminger <stephen@networkplumber.org> Date: Wed, 28 Jun 2023 17:29:57 -0700 Subject: [PATCH] net/netvsc: fix sizeof calculation [ upstream commit 86fb73f5bf401afc9d52144f27e6d1cf4f64348b ] Found by cppcheck. drivers/net/netvsc/hn_rndis.c:332:21: warning: Found calculation inside sizeof(). [sizeofCalculation] if (len < sizeof(3 * sizeof(uint32_t))) { Fixes: 4e9c73e96e83 ("net/netvsc: add Hyper-V network device") Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Signed-off-by: Long Li <longli@microsoft.com> --- drivers/net/netvsc/hn_rndis.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/netvsc/hn_rndis.c b/drivers/net/netvsc/hn_rndis.c index 1ce260c89b..26ae7d544b 100644 --- a/drivers/net/netvsc/hn_rndis.c +++ b/drivers/net/netvsc/hn_rndis.c @@ -329,7 +329,8 @@ void hn_rndis_receive_response(struct hn_data *hv, hn_rndis_dump(data); - if (len < sizeof(3 * sizeof(uint32_t))) { + /* Check we can read first three data fields from RNDIS header */ + if (len < 3 * sizeof(uint32_t)) { PMD_DRV_LOG(ERR, "missing RNDIS header %u", len); return; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-14 23:33:08.668504338 +0100 +++ 0004-net-netvsc-fix-sizeof-calculation.patch 2023-07-14 23:33:08.483305040 +0100 @@ -1 +1 @@ -From 86fb73f5bf401afc9d52144f27e6d1cf4f64348b Mon Sep 17 00:00:00 2001 +From d94676623d26bd8370ad70ee39beac2f110dfa3f Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 86fb73f5bf401afc9d52144f27e6d1cf4f64348b ] + @@ -13 +14,0 @@ -Cc: stable@dpdk.org @@ -22 +23 @@ -index e6f1f28768..29c6009b2c 100644 +index 1ce260c89b..26ae7d544b 100644 ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'app/testpmd: fix checksum engine with GTP on 32-bit' has been queued to stable release 20.11.9 2023-07-14 22:34 ` patch 'ipc: fix file descriptor leakage with unhandled messages' " luca.boccassi ` (2 preceding siblings ...) 2023-07-14 22:34 ` patch 'net/netvsc: fix sizeof calculation' " luca.boccassi @ 2023-07-14 22:34 ` luca.boccassi 2023-07-14 22:34 ` patch 'net/hns3: fix non-zero weight for disabled TC' " luca.boccassi ` (12 subsequent siblings) 16 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-14 22:34 UTC (permalink / raw) To: Shiyang He; +Cc: Ferruh Yigit, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/16/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/b92c1c45a30cef0aabc2f6e100f7d91e53223a2e Thanks. Luca Boccassi --- From b92c1c45a30cef0aabc2f6e100f7d91e53223a2e Mon Sep 17 00:00:00 2001 From: Shiyang He <shiyangx.he@intel.com> Date: Thu, 29 Jun 2023 10:09:55 +0000 Subject: [PATCH] app/testpmd: fix checksum engine with GTP on 32-bit [ upstream commit f7bfa1285fe943b5189a63bb1d427e823b7fcc20 ] l2_len is not calculated correctly on 32-bit systems, resulting in packet forwarding failure. This patch fixes this issue by changing the l2_len calculation. Fixes: dd827fa42a30 ("app/testpmd: fix GTP L2 length in checksum engine") Signed-off-by: Shiyang He <shiyangx.he@intel.com> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com> --- app/test-pmd/csumonly.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c index 9b12b91ead..299a676147 100644 --- a/app/test-pmd/csumonly.c +++ b/app/test-pmd/csumonly.c @@ -246,7 +246,7 @@ parse_gtp(struct rte_udp_hdr *udp_hdr, info->l4_proto = 0; } - info->l2_len += gtp_len + sizeof(udp_hdr); + info->l2_len += gtp_len + sizeof(*udp_hdr); } /* Parse a vxlan header */ -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-14 23:33:08.708504076 +0100 +++ 0005-app-testpmd-fix-checksum-engine-with-GTP-on-32-bit.patch 2023-07-14 23:33:08.483305040 +0100 @@ -1 +1 @@ -From f7bfa1285fe943b5189a63bb1d427e823b7fcc20 Mon Sep 17 00:00:00 2001 +From b92c1c45a30cef0aabc2f6e100f7d91e53223a2e Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit f7bfa1285fe943b5189a63bb1d427e823b7fcc20 ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -21 +22 @@ -index 7af635e3f7..c103e54111 100644 +index 9b12b91ead..299a676147 100644 @@ -24 +25 @@ -@@ -250,7 +250,7 @@ parse_gtp(struct rte_udp_hdr *udp_hdr, +@@ -246,7 +246,7 @@ parse_gtp(struct rte_udp_hdr *udp_hdr, ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/hns3: fix non-zero weight for disabled TC' has been queued to stable release 20.11.9 2023-07-14 22:34 ` patch 'ipc: fix file descriptor leakage with unhandled messages' " luca.boccassi ` (3 preceding siblings ...) 2023-07-14 22:34 ` patch 'app/testpmd: fix checksum engine with GTP on 32-bit' " luca.boccassi @ 2023-07-14 22:34 ` luca.boccassi 2023-07-14 22:34 ` patch 'net/hns3: fix index to look up table in NEON Rx' " luca.boccassi ` (11 subsequent siblings) 16 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-14 22:34 UTC (permalink / raw) To: Huisong Li; +Cc: Dongdong Liu, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/16/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/872463f26324682b132b2cf48a77605e8869f968 Thanks. Luca Boccassi --- From 872463f26324682b132b2cf48a77605e8869f968 Mon Sep 17 00:00:00 2001 From: Huisong Li <lihuisong@huawei.com> Date: Fri, 7 Jul 2023 18:40:53 +0800 Subject: [PATCH] net/hns3: fix non-zero weight for disabled TC [ upstream commit 1abcdb3f247393a04703071452b560a77ab23c04 ] hns3 PF driver enables one TC, allocates to 100% weight for this TC and 0% for other disabled TC by default. But driver modifies the weight to 1% for disabled TC and then set to hardware to make all TC work in DWRR mode. As a result, the total percent of all TC is more than 100%. Actually, this operation is also redundant, because these disabled TC will never be used. So this patch sets the weight of all TC based on user's configuration. Fixes: 62e3ccc2b94c ("net/hns3: support flow control") Signed-off-by: Huisong Li <lihuisong@huawei.com> Signed-off-by: Dongdong Liu <liudongdong3@huawei.com> --- drivers/net/hns3/hns3_dcb.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/drivers/net/hns3/hns3_dcb.c b/drivers/net/hns3/hns3_dcb.c index a5cfccee28..6f9335a41f 100644 --- a/drivers/net/hns3/hns3_dcb.c +++ b/drivers/net/hns3/hns3_dcb.c @@ -240,9 +240,9 @@ hns3_dcb_qs_weight_cfg(struct hns3_hw *hw, uint16_t qs_id, uint8_t dwrr) static int hns3_dcb_ets_tc_dwrr_cfg(struct hns3_hw *hw) { -#define DEFAULT_TC_WEIGHT 1 #define DEFAULT_TC_OFFSET 14 struct hns3_ets_tc_weight_cmd *ets_weight; + struct hns3_pg_info *pg_info; struct hns3_cmd_desc desc; uint8_t i; @@ -250,13 +250,6 @@ hns3_dcb_ets_tc_dwrr_cfg(struct hns3_hw *hw) ets_weight = (struct hns3_ets_tc_weight_cmd *)desc.data; for (i = 0; i < HNS3_MAX_TC_NUM; i++) { - struct hns3_pg_info *pg_info; - - ets_weight->tc_weight[i] = DEFAULT_TC_WEIGHT; - - if (!(hw->hw_tc_map & BIT(i))) - continue; - pg_info = &hw->dcb_info.pg_info[hw->dcb_info.tc_info[i].pgid]; ets_weight->tc_weight[i] = pg_info->tc_dwrr[i]; } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-14 23:33:08.749298283 +0100 +++ 0006-net-hns3-fix-non-zero-weight-for-disabled-TC.patch 2023-07-14 23:33:08.487305115 +0100 @@ -1 +1 @@ -From 1abcdb3f247393a04703071452b560a77ab23c04 Mon Sep 17 00:00:00 2001 +From 872463f26324682b132b2cf48a77605e8869f968 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 1abcdb3f247393a04703071452b560a77ab23c04 ] + @@ -15 +16,0 @@ -Cc: stable@dpdk.org @@ -24 +25 @@ -index af045b22f7..07b8c46a81 100644 +index a5cfccee28..6f9335a41f 100644 @@ -27 +28 @@ -@@ -237,9 +237,9 @@ hns3_dcb_qs_weight_cfg(struct hns3_hw *hw, uint16_t qs_id, uint8_t dwrr) +@@ -240,9 +240,9 @@ hns3_dcb_qs_weight_cfg(struct hns3_hw *hw, uint16_t qs_id, uint8_t dwrr) @@ -38 +39 @@ -@@ -247,13 +247,6 @@ hns3_dcb_ets_tc_dwrr_cfg(struct hns3_hw *hw) +@@ -250,13 +250,6 @@ hns3_dcb_ets_tc_dwrr_cfg(struct hns3_hw *hw) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/hns3: fix index to look up table in NEON Rx' has been queued to stable release 20.11.9 2023-07-14 22:34 ` patch 'ipc: fix file descriptor leakage with unhandled messages' " luca.boccassi ` (4 preceding siblings ...) 2023-07-14 22:34 ` patch 'net/hns3: fix non-zero weight for disabled TC' " luca.boccassi @ 2023-07-14 22:34 ` luca.boccassi 2023-07-14 22:34 ` patch 'ethdev: fix potential leak in PCI probing helper' " luca.boccassi ` (10 subsequent siblings) 16 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-14 22:34 UTC (permalink / raw) To: Huisong Li; +Cc: Dongdong Liu, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/16/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/f413683418ef04dd68f1c95bb3703add8adc1c10 Thanks. Luca Boccassi --- From f413683418ef04dd68f1c95bb3703add8adc1c10 Mon Sep 17 00:00:00 2001 From: Huisong Li <lihuisong@huawei.com> Date: Tue, 11 Jul 2023 18:24:44 +0800 Subject: [PATCH] net/hns3: fix index to look up table in NEON Rx [ upstream commit 6bec7c50be7a38c114680481f285976142df40d0 ] In hns3_recv_burst_vec(), the index to get packet length and data size are reversed. Fortunately, this doesn't affect functionality because the NEON Rx only supports single BD in which the packet length is equal to the date size. Now this patch fixes it to get back to the truth. Fixes: a3d4f4d291d7 ("net/hns3: support NEON Rx") Signed-off-by: Huisong Li <lihuisong@huawei.com> Signed-off-by: Dongdong Liu <liudongdong3@huawei.com> --- drivers/net/hns3/hns3_rxtx_vec_neon.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/hns3/hns3_rxtx_vec_neon.h b/drivers/net/hns3/hns3_rxtx_vec_neon.h index 4e94c7aa94..9c41c409de 100644 --- a/drivers/net/hns3/hns3_rxtx_vec_neon.h +++ b/drivers/net/hns3/hns3_rxtx_vec_neon.h @@ -138,8 +138,8 @@ hns3_recv_burst_vec(struct hns3_rx_queue *__restrict rxq, /* mask to shuffle from desc to mbuf's rx_descriptor_fields1 */ uint8x16_t shuf_desc_fields_msk = { 0xff, 0xff, 0xff, 0xff, /* packet type init zero */ - 22, 23, 0xff, 0xff, /* rx.pkt_len to rte_mbuf.pkt_len */ - 20, 21, /* size to rte_mbuf.data_len */ + 20, 21, 0xff, 0xff, /* rx.pkt_len to rte_mbuf.pkt_len */ + 22, 23, /* size to rte_mbuf.data_len */ 0xff, 0xff, /* rte_mbuf.vlan_tci init zero */ 8, 9, 10, 11, /* rx.rss_hash to rte_mbuf.hash.rss */ }; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-14 23:33:08.788194279 +0100 +++ 0007-net-hns3-fix-index-to-look-up-table-in-NEON-Rx.patch 2023-07-14 23:33:08.487305115 +0100 @@ -1 +1 @@ -From 6bec7c50be7a38c114680481f285976142df40d0 Mon Sep 17 00:00:00 2001 +From f413683418ef04dd68f1c95bb3703add8adc1c10 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 6bec7c50be7a38c114680481f285976142df40d0 ] + @@ -13 +14,0 @@ -Cc: stable@dpdk.org @@ -22 +23 @@ -index 6c49c70fc7..564d831a48 100644 +index 4e94c7aa94..9c41c409de 100644 @@ -25 +26 @@ -@@ -142,8 +142,8 @@ hns3_recv_burst_vec(struct hns3_rx_queue *__restrict rxq, +@@ -138,8 +138,8 @@ hns3_recv_burst_vec(struct hns3_rx_queue *__restrict rxq, ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'ethdev: fix potential leak in PCI probing helper' has been queued to stable release 20.11.9 2023-07-14 22:34 ` patch 'ipc: fix file descriptor leakage with unhandled messages' " luca.boccassi ` (5 preceding siblings ...) 2023-07-14 22:34 ` patch 'net/hns3: fix index to look up table in NEON Rx' " luca.boccassi @ 2023-07-14 22:34 ` luca.boccassi 2023-07-14 22:34 ` patch 'net/mlx5: forbid MPRQ restart' " luca.boccassi ` (9 subsequent siblings) 16 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-14 22:34 UTC (permalink / raw) To: Kaiyu Zhang; +Cc: Chengwen Feng, Ferruh Yigit, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/16/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/a981ef39159d96f6e9d72ea5986265b992bbfd74 Thanks. Luca Boccassi --- From a981ef39159d96f6e9d72ea5986265b992bbfd74 Mon Sep 17 00:00:00 2001 From: Kaiyu Zhang <squirrel.prog@gmail.com> Date: Tue, 11 Jul 2023 01:18:09 +0000 Subject: [PATCH] ethdev: fix potential leak in PCI probing helper [ upstream commit 1f00a6a037040a7c6ba883e2c312894c6ebc4c32 ] Sanity check is performed after a rte_eth_dev object is allocated. The object is not freed if the check fails, though in the current reality this never happens, but it's better programming paradigm to move the quick check up front to the start of rte_eth_dev_pci_generic_probe(). Fixes: dcd5c8112bc3 ("ethdev: add PCI driver helpers") Signed-off-by: Kaiyu Zhang <squirrel.prog@gmail.com> Reviewed-by: Chengwen Feng <fengchengwen@huawei.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@amd.com> --- lib/librte_ethdev/rte_ethdev_pci.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/librte_ethdev/rte_ethdev_pci.h b/lib/librte_ethdev/rte_ethdev_pci.h index d015697e21..d5ec47f283 100644 --- a/lib/librte_ethdev/rte_ethdev_pci.h +++ b/lib/librte_ethdev/rte_ethdev_pci.h @@ -126,6 +126,9 @@ rte_eth_dev_pci_generic_probe(struct rte_pci_device *pci_dev, struct rte_eth_dev *eth_dev; int ret; + if (*dev_init == NULL) + return -EINVAL; + eth_dev = rte_eth_dev_pci_allocate(pci_dev, private_data_size); if (!eth_dev) return -ENOMEM; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-14 23:33:08.828659111 +0100 +++ 0008-ethdev-fix-potential-leak-in-PCI-probing-helper.patch 2023-07-14 23:33:08.487305115 +0100 @@ -1 +1 @@ -From 1f00a6a037040a7c6ba883e2c312894c6ebc4c32 Mon Sep 17 00:00:00 2001 +From a981ef39159d96f6e9d72ea5986265b992bbfd74 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 1f00a6a037040a7c6ba883e2c312894c6ebc4c32 ] + @@ -14 +15,0 @@ -Cc: stable@dpdk.org @@ -20,21 +21,8 @@ - .mailmap | 1 + - lib/ethdev/ethdev_pci.h | 9 +++++---- - 2 files changed, 6 insertions(+), 4 deletions(-) - -diff --git a/.mailmap b/.mailmap -index d200f36339..6c28ea798d 100644 ---- a/.mailmap -+++ b/.mailmap -@@ -698,6 +698,7 @@ Kai Ji <kai.ji@intel.com> - Kaijun Zeng <corezeng@gmail.com> - Kaisen You <kaisenx.you@intel.com> - Kaiwen Deng <kaiwenx.deng@intel.com> -+Kaiyu Zhang <squirrel.prog@gmail.com> - Kalesh AP <kalesh-anakkur.purayil@broadcom.com> - Kamalakannan R <kamalakannan.r@intel.com> - Kamalakshitha Aligeri <kamalakshitha.aligeri@arm.com> -diff --git a/lib/ethdev/ethdev_pci.h b/lib/ethdev/ethdev_pci.h -index 94b8fba5d7..320e3e0093 100644 ---- a/lib/ethdev/ethdev_pci.h -+++ b/lib/ethdev/ethdev_pci.h -@@ -126,12 +126,13 @@ rte_eth_dev_pci_generic_probe(struct rte_pci_device *pci_dev, + lib/librte_ethdev/rte_ethdev_pci.h | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/lib/librte_ethdev/rte_ethdev_pci.h b/lib/librte_ethdev/rte_ethdev_pci.h +index d015697e21..d5ec47f283 100644 +--- a/lib/librte_ethdev/rte_ethdev_pci.h ++++ b/lib/librte_ethdev/rte_ethdev_pci.h +@@ -126,6 +126,9 @@ rte_eth_dev_pci_generic_probe(struct rte_pci_device *pci_dev, @@ -44,10 +32,2 @@ -- eth_dev = rte_eth_dev_pci_allocate(pci_dev, private_data_size); -- if (!eth_dev) -- return -ENOMEM; -- - if (*dev_init == NULL) - return -EINVAL; -+ -+ eth_dev = rte_eth_dev_pci_allocate(pci_dev, private_data_size); -+ if (!eth_dev) -+ return -ENOMEM; ++ if (*dev_init == NULL) ++ return -EINVAL; @@ -55,3 +35,3 @@ - ret = dev_init(eth_dev); - if (ret) - rte_eth_dev_release_port(eth_dev); + eth_dev = rte_eth_dev_pci_allocate(pci_dev, private_data_size); + if (!eth_dev) + return -ENOMEM; ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/mlx5: forbid MPRQ restart' has been queued to stable release 20.11.9 2023-07-14 22:34 ` patch 'ipc: fix file descriptor leakage with unhandled messages' " luca.boccassi ` (6 preceding siblings ...) 2023-07-14 22:34 ` patch 'ethdev: fix potential leak in PCI probing helper' " luca.boccassi @ 2023-07-14 22:34 ` luca.boccassi 2023-07-14 22:34 ` patch 'net/ice: fix 32-bit build' " luca.boccassi ` (8 subsequent siblings) 16 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-14 22:34 UTC (permalink / raw) To: Alexander Kozyrev; +Cc: Viacheslav Ovsiienko, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/16/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/cd1033d5d5b2403684b51a2b926b5fba8ab1dcea Thanks. Luca Boccassi --- From cd1033d5d5b2403684b51a2b926b5fba8ab1dcea Mon Sep 17 00:00:00 2001 From: Alexander Kozyrev <akozyrev@nvidia.com> Date: Tue, 4 Jul 2023 00:22:24 +0300 Subject: [PATCH] net/mlx5: forbid MPRQ restart [ upstream commit f0b2d50e2c6c02555b7fbe77f909bd7f1c6ac2e4 ] The queue restart is only supported by the non-vectorized single-packet receive queue today. Restarting MPRQ will result in corrupted packets because of CQE and WQE mismatch. Prevent this by not allowing the MPRQ Rx queue stop. Fixes: 161d103b231c ("net/mlx5: add queue start and stop") Signed-off-by: Alexander Kozyrev <akozyrev@nvidia.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> --- drivers/net/mlx5/mlx5_rxq.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c index 5d659738fe..47db585042 100644 --- a/drivers/net/mlx5/mlx5_rxq.c +++ b/drivers/net/mlx5/mlx5_rxq.c @@ -579,12 +579,12 @@ mlx5_rx_queue_stop(struct rte_eth_dev *dev, uint16_t idx) * synchronized, that might be broken on RQ restart * and cause Rx malfunction, so queue stopping is * not supported if vectorized Rx burst is engaged. - * The routine pointer depends on the process - * type, should perform check there. + * The routine pointer depends on the process type, + * should perform check there. MPRQ is not supported as well. */ - if (pkt_burst == mlx5_rx_burst_vec) { - DRV_LOG(ERR, "Rx queue stop is not supported " - "for vectorized Rx"); + if (pkt_burst != mlx5_rx_burst) { + DRV_LOG(ERR, "Rx queue stop is only supported " + "for non-vectorized single-packet Rx"); rte_errno = EINVAL; return -EINVAL; } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-14 23:33:08.871153623 +0100 +++ 0009-net-mlx5-forbid-MPRQ-restart.patch 2023-07-14 23:33:08.491305191 +0100 @@ -1 +1 @@ -From f0b2d50e2c6c02555b7fbe77f909bd7f1c6ac2e4 Mon Sep 17 00:00:00 2001 +From cd1033d5d5b2403684b51a2b926b5fba8ab1dcea Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit f0b2d50e2c6c02555b7fbe77f909bd7f1c6ac2e4 ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -21 +22 @@ -index ad8fd13cbe..b314c0482b 100644 +index 5d659738fe..47db585042 100644 @@ -24 +25 @@ -@@ -531,12 +531,12 @@ mlx5_rx_queue_stop(struct rte_eth_dev *dev, uint16_t idx) +@@ -579,12 +579,12 @@ mlx5_rx_queue_stop(struct rte_eth_dev *dev, uint16_t idx) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/ice: fix 32-bit build' has been queued to stable release 20.11.9 2023-07-14 22:34 ` patch 'ipc: fix file descriptor leakage with unhandled messages' " luca.boccassi ` (7 preceding siblings ...) 2023-07-14 22:34 ` patch 'net/mlx5: forbid MPRQ restart' " luca.boccassi @ 2023-07-14 22:34 ` luca.boccassi 2023-07-14 22:34 ` patch 'net/ice: fix RSS hash key generation' " luca.boccassi ` (7 subsequent siblings) 16 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-14 22:34 UTC (permalink / raw) To: Yiding Zhou; +Cc: Luca Boccassi, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/16/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/d4c3ced186365c13c69f1dd5daad6f707edaedd1 Thanks. Luca Boccassi --- From d4c3ced186365c13c69f1dd5daad6f707edaedd1 Mon Sep 17 00:00:00 2001 From: Yiding Zhou <yidingx.zhou@intel.com> Date: Wed, 5 Jul 2023 15:32:10 +0800 Subject: [PATCH] net/ice: fix 32-bit build [ upstream commit 910507de1164d1cb7051ddb84ac742bf088f4711 ] Replace 'rte_memcpy' with 'memcpy' like other PMD code to avoid errors when compiling with GCC-12 on 32-bit configure. Compiler reports the follow error: error: array subscript 8 is outside array bounds of "struct rte_mbuf *[32]" [-Werror=array-bounds] Fixes: c68a52b8b38c ("net/ice: support vector SSE in Rx") Signed-off-by: Yiding Zhou <yidingx.zhou@intel.com> Tested-by: Luca Boccassi <bluca@debian.org> --- drivers/net/ice/ice_rxtx_vec_common.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ice/ice_rxtx_vec_common.h b/drivers/net/ice/ice_rxtx_vec_common.h index bd2450ad5f..2b791a1066 100644 --- a/drivers/net/ice/ice_rxtx_vec_common.h +++ b/drivers/net/ice/ice_rxtx_vec_common.h @@ -72,7 +72,7 @@ ice_rx_reassemble_packets(struct ice_rx_queue *rxq, struct rte_mbuf **rx_bufs, /* save the partial packet for next time */ rxq->pkt_first_seg = start; rxq->pkt_last_seg = end; - rte_memcpy(rx_bufs, pkts, pkt_idx * (sizeof(*pkts))); + memcpy(rx_bufs, pkts, pkt_idx * (sizeof(*pkts))); return pkt_idx; } -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-14 23:33:08.912432734 +0100 +++ 0010-net-ice-fix-32-bit-build.patch 2023-07-14 23:33:08.491305191 +0100 @@ -1 +1 @@ -From 910507de1164d1cb7051ddb84ac742bf088f4711 Mon Sep 17 00:00:00 2001 +From d4c3ced186365c13c69f1dd5daad6f707edaedd1 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 910507de1164d1cb7051ddb84ac742bf088f4711 ] + @@ -15 +16,0 @@ -Cc: stable@dpdk.org @@ -24 +25 @@ -index eec6ea2134..55840cf170 100644 +index bd2450ad5f..2b791a1066 100644 ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/ice: fix RSS hash key generation' has been queued to stable release 20.11.9 2023-07-14 22:34 ` patch 'ipc: fix file descriptor leakage with unhandled messages' " luca.boccassi ` (8 preceding siblings ...) 2023-07-14 22:34 ` patch 'net/ice: fix 32-bit build' " luca.boccassi @ 2023-07-14 22:34 ` luca.boccassi 2023-07-14 22:34 ` patch 'baseband/fpga_5gnr_fec: fix possible division by zero' " luca.boccassi ` (6 subsequent siblings) 16 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-14 22:34 UTC (permalink / raw) To: Yuying Zhang; +Cc: Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/16/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/512e8b2399ce794aec64da9921c4ff91702ff8e0 Thanks. Luca Boccassi --- From 512e8b2399ce794aec64da9921c4ff91702ff8e0 Mon Sep 17 00:00:00 2001 From: Yuying Zhang <yuying.zhang@intel.com> Date: Fri, 7 Jul 2023 02:10:46 +0000 Subject: [PATCH] net/ice: fix RSS hash key generation [ upstream commit b9f28be1bf72e120041416b461325941fd97cac0 ] Current code just generated 40 bytes standard rss hash key of ice driver. The extended 12 bytes were filled by hardware and were invalid for users. This patch generate 52 bytes rss hash key for ice driver just as other drivers. Fixes: 50370662b727 ("net/ice: support device and queue ops") Fixes: 20d6a017e148 ("net/ice: fix build with GCC 12") Signed-off-by: Yuying Zhang <yuying.zhang@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/ice/ice_ethdev.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c index 5a49868855..e4df6847d2 100644 --- a/drivers/net/ice/ice_ethdev.c +++ b/drivers/net/ice/ice_ethdev.c @@ -3226,7 +3226,8 @@ static int ice_init_rss(struct ice_pf *pf) rss_conf = &dev_data->dev_conf.rx_adv_conf.rss_conf; nb_q = dev_data->nb_rx_queues; - vsi->rss_key_size = ICE_AQC_GET_SET_RSS_KEY_DATA_RSS_KEY_SIZE; + vsi->rss_key_size = ICE_AQC_GET_SET_RSS_KEY_DATA_RSS_KEY_SIZE + + ICE_AQC_GET_SET_RSS_KEY_DATA_HASH_KEY_SIZE; vsi->rss_lut_size = pf->hash_lut_size; if (nb_q == 0) { @@ -3267,7 +3268,10 @@ static int ice_init_rss(struct ice_pf *pf) vsi->rss_key_size)); rte_memcpy(key.standard_rss_key, vsi->rss_key, - RTE_MIN(sizeof(key.standard_rss_key), vsi->rss_key_size)); + ICE_AQC_GET_SET_RSS_KEY_DATA_RSS_KEY_SIZE); + rte_memcpy(key.extended_hash_key, + &vsi->rss_key[ICE_AQC_GET_SET_RSS_KEY_DATA_RSS_KEY_SIZE], + ICE_AQC_GET_SET_RSS_KEY_DATA_HASH_KEY_SIZE); ret = ice_aq_set_rss_key(hw, vsi->idx, &key); if (ret) goto out; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-14 23:33:08.957591867 +0100 +++ 0011-net-ice-fix-RSS-hash-key-generation.patch 2023-07-14 23:33:08.495305267 +0100 @@ -1 +1 @@ -From b9f28be1bf72e120041416b461325941fd97cac0 Mon Sep 17 00:00:00 2001 +From 512e8b2399ce794aec64da9921c4ff91702ff8e0 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit b9f28be1bf72e120041416b461325941fd97cac0 ] + @@ -14 +15,0 @@ -Cc: stable@dpdk.org @@ -23 +24 @@ -index 949b13324f..4bad39c2c1 100644 +index 5a49868855..e4df6847d2 100644 @@ -26 +27 @@ -@@ -3350,7 +3350,8 @@ static int ice_init_rss(struct ice_pf *pf) +@@ -3226,7 +3226,8 @@ static int ice_init_rss(struct ice_pf *pf) @@ -36 +37 @@ -@@ -3391,7 +3392,10 @@ static int ice_init_rss(struct ice_pf *pf) +@@ -3267,7 +3268,10 @@ static int ice_init_rss(struct ice_pf *pf) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'baseband/fpga_5gnr_fec: fix possible division by zero' has been queued to stable release 20.11.9 2023-07-14 22:34 ` patch 'ipc: fix file descriptor leakage with unhandled messages' " luca.boccassi ` (9 preceding siblings ...) 2023-07-14 22:34 ` patch 'net/ice: fix RSS hash key generation' " luca.boccassi @ 2023-07-14 22:34 ` luca.boccassi 2023-07-14 22:34 ` patch 'baseband/fpga_5gnr_fec: fix starting unconfigured queue' " luca.boccassi ` (5 subsequent siblings) 16 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-14 22:34 UTC (permalink / raw) To: Hernan Vargas; +Cc: Maxime Coquelin, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/16/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/b0f21e624de5ecef959fa6799b0d23d54818cd5d Thanks. Luca Boccassi --- From b0f21e624de5ecef959fa6799b0d23d54818cd5d Mon Sep 17 00:00:00 2001 From: Hernan Vargas <hernan.vargas@intel.com> Date: Thu, 25 May 2023 11:28:07 -0700 Subject: [PATCH] baseband/fpga_5gnr_fec: fix possible division by zero [ upstream commit 8b087b96eaa9df8d09fcea9a2a690e2c422058a5 ] Add fix to have an early exit when z_c is zero to prevent a possible division by zero. Fixes: 44dc6faa796f ("baseband/fpga_5gnr_fec: add LDPC processing functions") Signed-off-by: Hernan Vargas <hernan.vargas@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> --- drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c b/drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c index bd99fb4881..04c16f80fb 100644 --- a/drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c +++ b/drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c @@ -878,9 +878,11 @@ check_desc_error(uint32_t error_code) { static inline uint16_t get_k0(uint16_t n_cb, uint16_t z_c, uint8_t bg, uint8_t rv_index) { - if (rv_index == 0) - return 0; uint16_t n = (bg == 1 ? N_ZC_1 : N_ZC_2) * z_c; + if (rv_index == 0) + return 0; + if (z_c == 0) + return 0; if (n_cb == n) { if (rv_index == 1) return (bg == 1 ? K0_1_1 : K0_1_2) * z_c; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-14 23:33:09.015950749 +0100 +++ 0012-baseband-fpga_5gnr_fec-fix-possible-division-by-zero.patch 2023-07-14 23:33:08.499305343 +0100 @@ -1 +1 @@ -From 8b087b96eaa9df8d09fcea9a2a690e2c422058a5 Mon Sep 17 00:00:00 2001 +From b0f21e624de5ecef959fa6799b0d23d54818cd5d Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 8b087b96eaa9df8d09fcea9a2a690e2c422058a5 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index f29565af8c..99390c4816 100644 +index bd99fb4881..04c16f80fb 100644 @@ -22 +23 @@ -@@ -877,9 +877,11 @@ check_desc_error(uint32_t error_code) { +@@ -878,9 +878,11 @@ check_desc_error(uint32_t error_code) { ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'baseband/fpga_5gnr_fec: fix starting unconfigured queue' has been queued to stable release 20.11.9 2023-07-14 22:34 ` patch 'ipc: fix file descriptor leakage with unhandled messages' " luca.boccassi ` (10 preceding siblings ...) 2023-07-14 22:34 ` patch 'baseband/fpga_5gnr_fec: fix possible division by zero' " luca.boccassi @ 2023-07-14 22:34 ` luca.boccassi 2023-07-14 22:34 ` patch 'test/crypto: fix PDCP-SDAP test vectors' " luca.boccassi ` (4 subsequent siblings) 16 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-14 22:34 UTC (permalink / raw) To: Hernan Vargas; +Cc: Maxime Coquelin, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/16/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/cc66c3e913846380edbba2d95171864f9212075a Thanks. Luca Boccassi --- From cc66c3e913846380edbba2d95171864f9212075a Mon Sep 17 00:00:00 2001 From: Hernan Vargas <hernan.vargas@intel.com> Date: Thu, 25 May 2023 11:28:08 -0700 Subject: [PATCH] baseband/fpga_5gnr_fec: fix starting unconfigured queue [ upstream commit 490501e6cbe48503aeadb20f89915a3949b70aa8 ] Adding exception to prevent segmentation fault in case a queue is started which was not configured earlier. Fixes: c58109a8871d ("baseband/fpga_5gnr_fec: add queue configuration") Signed-off-by: Hernan Vargas <hernan.vargas@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> --- .../baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c b/drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c index 04c16f80fb..c68f552a0f 100644 --- a/drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c +++ b/drivers/baseband/fpga_5gnr_fec/rte_fpga_5gnr_fec.c @@ -563,17 +563,21 @@ static int fpga_queue_start(struct rte_bbdev *dev, uint16_t queue_id) { struct fpga_5gnr_fec_device *d = dev->data->dev_private; -#ifdef RTE_LIBRTE_BBDEV_DEBUG - if (d == NULL) { - rte_bbdev_log(ERR, "Invalid device pointer"); - return -1; - } -#endif struct fpga_queue *q = dev->data->queues[queue_id].queue_private; uint32_t offset = FPGA_5GNR_FEC_RING_CTRL_REGS + (sizeof(struct fpga_ring_ctrl_reg) * q->q_idx); uint8_t enable = 0x01; uint16_t zero = 0x0000; +#ifdef RTE_LIBRTE_BBDEV_DEBUG + if (d == NULL) { + rte_bbdev_log(ERR, "Invalid device pointer"); + return -1; + } +#endif + if (dev->data->queues[queue_id].queue_private == NULL) { + rte_bbdev_log(ERR, "Cannot start invalid queue %d", queue_id); + return -1; + } /* Clear queue head and tail variables */ q->tail = q->head_free_desc = 0; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-14 23:33:09.070705438 +0100 +++ 0013-baseband-fpga_5gnr_fec-fix-starting-unconfigured-que.patch 2023-07-14 23:33:08.503305419 +0100 @@ -1 +1 @@ -From 490501e6cbe48503aeadb20f89915a3949b70aa8 Mon Sep 17 00:00:00 2001 +From cc66c3e913846380edbba2d95171864f9212075a Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 490501e6cbe48503aeadb20f89915a3949b70aa8 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index 99390c4816..6b0644ffc5 100644 +index 04c16f80fb..c68f552a0f 100644 @@ -22 +23 @@ -@@ -567,17 +567,21 @@ static int +@@ -563,17 +563,21 @@ static int ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'test/crypto: fix PDCP-SDAP test vectors' has been queued to stable release 20.11.9 2023-07-14 22:34 ` patch 'ipc: fix file descriptor leakage with unhandled messages' " luca.boccassi ` (11 preceding siblings ...) 2023-07-14 22:34 ` patch 'baseband/fpga_5gnr_fec: fix starting unconfigured queue' " luca.boccassi @ 2023-07-14 22:34 ` luca.boccassi 2023-07-14 22:34 ` patch 'examples/fips_validation: fix digest length in AES-GCM' " luca.boccassi ` (3 subsequent siblings) 16 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-14 22:34 UTC (permalink / raw) To: Aakash Sasidharan; +Cc: Akhil Goyal, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/16/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/3045f945a5c4f73c0975c77b2234ea31805b8082 Thanks. Luca Boccassi --- From 3045f945a5c4f73c0975c77b2234ea31805b8082 Mon Sep 17 00:00:00 2001 From: Aakash Sasidharan <asasidharan@marvell.com> Date: Wed, 28 Jun 2023 13:50:20 +0530 Subject: [PATCH] test/crypto: fix PDCP-SDAP test vectors [ upstream commit 2c34aae94dd79be9ca81875c8b24ec3a1e897861 ] Fix incorrect fields in PDCP Header. 1. Only Data PDUs should be ciphered and authenticated. Here the vectors are control PDUs which should not be crypto processed. Change the D/C bit to make the vector as Data PDU 2. Reserved fields must be set to 0. Updated the vectors and MAC-I values to handle above cases. Fixes: 003afde411e7 ("test/crypto: add test vectors for PDCP-SDAP") Signed-off-by: Aakash Sasidharan <asasidharan@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com> --- ...ryptodev_security_pdcp_sdap_test_vectors.h | 252 +++++++++--------- 1 file changed, 126 insertions(+), 126 deletions(-) diff --git a/app/test/test_cryptodev_security_pdcp_sdap_test_vectors.h b/app/test/test_cryptodev_security_pdcp_sdap_test_vectors.h index f43f693edb..b0fa0ec458 100644 --- a/app/test/test_cryptodev_security_pdcp_sdap_test_vectors.h +++ b/app/test/test_cryptodev_security_pdcp_sdap_test_vectors.h @@ -769,7 +769,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x0a, 0x98, 0xc1, 0x3c, 0x98, 0x82, 0xdc, 0xb6, 0xc2, 0x36 }, .data_in = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xd3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, @@ -781,7 +781,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x7a, 0xf9, 0xdd }, .in_len = 66, .data_out = - (uint8_t[]){ 0x50, 0x01, 0x86, 0x69, 0xf2, 0x5d, 0xd7, + (uint8_t[]){ 0x80, 0x01, 0x86, 0x69, 0xf2, 0x5d, 0xd7, 0xf5, 0xc1, 0xf7, 0x1e, 0x47, 0x5d, 0xce, 0xbe, 0x48, 0xb5, 0x0b, 0x6a, 0x73, 0x9a, 0x5a, 0xa3, 0x06, 0x47, 0x40, 0x96, 0xcf, @@ -790,7 +790,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xc9, 0x7f, 0x11, 0x79, 0x24, 0x44, 0xe8, 0x39, 0x11, 0x03, 0x0a, 0x9d, 0x4f, 0xe2, 0x95, 0x9f, 0x47, 0x73, 0x37, 0x83, 0x8c, - 0x23, 0xfa, 0x16, 0x39, 0xf7, 0x15, 0x11 }, + 0x23, 0xfa, 0x16, 0xb2, 0xb0, 0x17, 0x4a }, .sn_size = 12, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -817,7 +817,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x0a, 0x98, 0xc1, 0x3c, 0x98, 0x82, 0xdc, 0xb6, 0xc2, 0x36 }, .data_in = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xd3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, @@ -829,7 +829,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x7a, 0xf9, 0xdd }, .in_len = 66, .data_out = - (uint8_t[]){ 0x50, 0x01, 0x86, 0x22, 0x2a, 0x8f, 0x86, + (uint8_t[]){ 0x80, 0x01, 0x86, 0x22, 0x2a, 0x8f, 0x86, 0x25, 0x92, 0xcd, 0xa9, 0xa1, 0xa0, 0xf5, 0x86, 0x0d, 0xe8, 0xe4, 0xef, 0xe0, 0x78, 0x45, 0x7c, 0x0c, 0x41, 0x5c, 0x8f, 0x07, @@ -838,7 +838,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x35, 0xff, 0x7a, 0x42, 0xac, 0x94, 0x21, 0x60, 0x1c, 0x13, 0xcc, 0x7e, 0x6b, 0x2f, 0x6f, 0x91, 0x89, 0xc6, 0xd4, 0xe6, 0x17, - 0xae, 0xde, 0xfb, 0x90, 0x62, 0x59, 0xcb }, + 0xae, 0xde, 0xfb, 0x19, 0xDa, 0x9a, 0xc2 }, .sn_size = 12, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -865,7 +865,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x0a, 0x98, 0xc1, 0x3c, 0x98, 0x82, 0xdc, 0xb6, 0xc2, 0x36 }, .data_in = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xd3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, @@ -877,7 +877,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x7a, 0xf9, 0xdd }, .in_len = 66, .data_out = - (uint8_t[]){ 0x50, 0x01, 0x86, 0x69, 0xf2, 0x5d, 0xd7, + (uint8_t[]){ 0x80, 0x01, 0x86, 0x69, 0xf2, 0x5d, 0xd7, 0xf5, 0xc1, 0xf7, 0x1e, 0x47, 0x5d, 0xce, 0xbe, 0x48, 0xb5, 0x0b, 0x6a, 0x73, 0x9a, 0x5a, 0xa3, 0x06, 0x47, 0x40, 0x96, 0xcf, @@ -886,7 +886,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xc9, 0x7f, 0x11, 0x79, 0x24, 0x44, 0xe8, 0x39, 0x11, 0x03, 0x0a, 0x9d, 0x4f, 0xe2, 0x95, 0x9f, 0x47, 0x73, 0x37, 0x83, 0x8c, - 0x23, 0xfa, 0x16, 0x72, 0x3e, 0x14, 0xa9 }, + 0x23, 0xfa, 0x16, 0x6c, 0xcb, 0x92, 0xdf }, .sn_size = 12, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -913,7 +913,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x0a, 0x98, 0xc1, 0x3c, 0x98, 0x82, 0xdc, 0xb6, 0xc2, 0x36 }, .data_in = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xd3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, @@ -925,7 +925,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x7a, 0xf9, 0xdd }, .in_len = 66, .data_out = - (uint8_t[]){ 0x50, 0x01, 0x86, 0x22, 0x2a, 0x8f, 0x86, + (uint8_t[]){ 0x80, 0x01, 0x86, 0x22, 0x2a, 0x8f, 0x86, 0x25, 0x92, 0xcd, 0xa9, 0xa1, 0xa0, 0xf5, 0x86, 0x0d, 0xe8, 0xe4, 0xef, 0xe0, 0x78, 0x45, 0x7c, 0x0c, 0x41, 0x5c, 0x8f, 0x07, @@ -934,7 +934,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x35, 0xff, 0x7a, 0x42, 0xac, 0x94, 0x21, 0x60, 0x1c, 0x13, 0xcc, 0x7e, 0x6b, 0x2f, 0x6f, 0x91, 0x89, 0xc6, 0xd4, 0xe6, 0x17, - 0xae, 0xde, 0xfb, 0x3f, 0x47, 0xaa, 0x9b }, + 0xae, 0xde, 0xfb, 0x5b, 0xc2, 0x9f, 0x29 }, .sn_size = 12, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -961,7 +961,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x0a, 0x98, 0xc1, 0x3c, 0x98, 0x82, 0xdc, 0xb6, 0xc2, 0x36 }, .data_in = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xd3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, @@ -974,7 +974,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { .in_len = 66, .data_out = (uint8_t[]){ - 0x50, 0x01, 0x86, 0x69, 0xf2, 0x5d, 0xd7, 0xf5, + 0x80, 0x01, 0x86, 0x69, 0xf2, 0x5d, 0xd7, 0xf5, 0xc1, 0xf7, 0x1e, 0x47, 0x5d, 0xce, 0xbe, 0x48, 0xb5, 0x0b, 0x6a, 0x73, 0x9a, 0x5a, 0xa3, 0x06, 0x47, 0x40, 0x96, 0xcf, 0x86, 0x98, 0x3d, 0x6f, @@ -982,7 +982,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xa6, 0x24, 0xc9, 0x7f, 0x11, 0x79, 0x24, 0x44, 0xe8, 0x39, 0x11, 0x03, 0x0a, 0x9d, 0x4f, 0xe2, 0x95, 0x9f, 0x47, 0x73, 0x37, 0x83, 0x8c, 0x23, - 0xfa, 0x16, 0x52, 0x69, 0x16, 0xfc, + 0xfa, 0x16, 0x5d, 0x83, 0x73, 0x34, }, .sn_size = 12, .hfn = 0x1, @@ -1010,7 +1010,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x0a, 0x98, 0xc1, 0x3c, 0x98, 0x82, 0xdc, 0xb6, 0xc2, 0x36 }, .data_in = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xd3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, @@ -1022,7 +1022,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x7a, 0xf9, 0xdd }, .in_len = 66, .data_out = - (uint8_t[]){ 0x50, 0x01, 0x86, 0x22, 0x2a, 0x8f, 0x86, + (uint8_t[]){ 0x80, 0x01, 0x86, 0x22, 0x2a, 0x8f, 0x86, 0x25, 0x92, 0xcd, 0xa9, 0xa1, 0xa0, 0xf5, 0x86, 0x0d, 0xe8, 0xe4, 0xef, 0xe0, 0x78, 0x45, 0x7c, 0x0c, 0x41, 0x5c, 0x8f, 0x07, @@ -1031,7 +1031,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x35, 0xff, 0x7a, 0x42, 0xac, 0x94, 0x21, 0x60, 0x1c, 0x13, 0xcc, 0x7e, 0x6b, 0x2f, 0x6f, 0x91, 0x89, 0xc6, 0xd4, 0xe6, 0x17, - 0xae, 0xde, 0xfb, 0xf5, 0xda, 0x73, 0xa7 }, + 0xae, 0xde, 0xfb, 0xff, 0xf9, 0xef, 0xff }, .sn_size = 12, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -1154,7 +1154,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x0a, 0x98, 0xc1, 0x3c, 0x98, 0x82, 0xdc, 0xb6, 0xc2, 0x36 }, .data_in = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xd3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, @@ -1166,7 +1166,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x7a, 0xf9, 0xdd }, .in_len = 66, .data_out = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xe8, 0x8c, 0x96, 0x38, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xe8, 0x8c, 0x96, 0x38, 0x6e, 0xe4, 0x1f, 0xb9, 0x85, 0x61, 0x2e, 0x64, 0x31, 0x22, 0x97, 0x5b, 0xf6, 0x40, 0x08, 0x65, 0xc3, 0xfa, 0x72, 0xd2, 0x22, @@ -1175,7 +1175,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x23, 0x80, 0xcc, 0x5f, 0xfd, 0x74, 0xb1, 0xfb, 0xe1, 0xea, 0x6f, 0xf9, 0x9d, 0xf3, 0x90, 0x02, 0x6e, 0xf1, 0xf8, 0x95, 0x97, - 0xbd, 0xba, 0x08, 0x39, 0x63, 0x21, 0x82 }, + 0xbd, 0xba, 0x08, 0xb2, 0x24, 0x23, 0xd9 }, .sn_size = 12, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -1202,7 +1202,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x0a, 0x98, 0xc1, 0x3c, 0x98, 0x82, 0xdc, 0xb6, 0xc2, 0x36 }, .data_in = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xd3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, @@ -1214,7 +1214,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x7a, 0xf9, 0xdd }, .in_len = 66, .data_out = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xd2, 0xc0, 0x3a, 0x41, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xd2, 0xc0, 0x3a, 0x41, 0xbc, 0x0b, 0x95, 0xa4, 0x57, 0x3e, 0x36, 0x10, 0xb2, 0xff, 0x48, 0x1f, 0x10, 0xa8, 0x06, 0x42, 0xc5, 0xa2, 0x33, 0xed, 0x2e, @@ -1223,7 +1223,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x35, 0xd2, 0x31, 0x1a, 0xb8, 0x33, 0xc7, 0x9c, 0xa4, 0xa4, 0x9b, 0x20, 0xc6, 0x47, 0xdd, 0xe5, 0xa3, 0x4b, 0x9e, 0x66, 0xde, - 0xc9, 0x0a, 0x64, 0x8e, 0x79, 0xde, 0xaa }, + 0xc9, 0x0a, 0x64, 0x07, 0xc1, 0x1d, 0xa3 }, .sn_size = 12, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -1250,7 +1250,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x0a, 0x98, 0xc1, 0x3c, 0x98, 0x82, 0xdc, 0xb6, 0xc2, 0x36 }, .data_in = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xd3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, @@ -1262,7 +1262,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x7a, 0xf9, 0xdd }, .in_len = 66, .data_out = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xe8, 0x8c, 0x96, 0x38, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xe8, 0x8c, 0x96, 0x38, 0x6e, 0xe4, 0x1f, 0xb9, 0x85, 0x61, 0x2e, 0x64, 0x31, 0x22, 0x97, 0x5b, 0xf6, 0x40, 0x08, 0x65, 0xc3, 0xfa, 0x72, 0xd2, 0x22, @@ -1271,7 +1271,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x23, 0x80, 0xcc, 0x5f, 0xfd, 0x74, 0xb1, 0xfb, 0xe1, 0xea, 0x6f, 0xf9, 0x9d, 0xf3, 0x90, 0x02, 0x6e, 0xf1, 0xf8, 0x95, 0x97, - 0xbd, 0xba, 0x08, 0x72, 0xaa, 0x20, 0x3a }, + 0xbd, 0xba, 0x08, 0x6c, 0x5f, 0xa6, 0x4c }, .sn_size = 12, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -1298,7 +1298,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x0a, 0x98, 0xc1, 0x3c, 0x98, 0x82, 0xdc, 0xb6, 0xc2, 0x36 }, .data_in = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xd3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, @@ -1310,7 +1310,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x7a, 0xf9, 0xdd }, .in_len = 66, .data_out = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xd2, 0xc0, 0x3a, 0x41, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xd2, 0xc0, 0x3a, 0x41, 0xbc, 0x0b, 0x95, 0xa4, 0x57, 0x3e, 0x36, 0x10, 0xb2, 0xff, 0x48, 0x1f, 0x10, 0xa8, 0x06, 0x42, 0xc5, 0xa2, 0x33, 0xed, 0x2e, @@ -1319,7 +1319,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x35, 0xd2, 0x31, 0x1a, 0xb8, 0x33, 0xc7, 0x9c, 0xa4, 0xa4, 0x9b, 0x20, 0xc6, 0x47, 0xdd, 0xe5, 0xa3, 0x4b, 0x9e, 0x66, 0xde, - 0xc9, 0x0a, 0x64, 0x21, 0x5c, 0x2d, 0xfa }, + 0xc9, 0x0a, 0x64, 0x45, 0xd9, 0x18, 0x48 }, .sn_size = 12, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -1346,7 +1346,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x0a, 0x98, 0xc1, 0x3c, 0x98, 0x82, 0xdc, 0xb6, 0xc2, 0x36 }, .data_in = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xd3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, @@ -1358,7 +1358,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x7a, 0xf9, 0xdd }, .in_len = 66, .data_out = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xe8, 0x8c, 0x96, 0x38, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xe8, 0x8c, 0x96, 0x38, 0x6e, 0xe4, 0x1f, 0xb9, 0x85, 0x61, 0x2e, 0x64, 0x31, 0x22, 0x97, 0x5b, 0xf6, 0x40, 0x08, 0x65, 0xc3, 0xfa, 0x72, 0xd2, 0x22, @@ -1367,7 +1367,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x23, 0x80, 0xcc, 0x5f, 0xfd, 0x74, 0xb1, 0xfb, 0xe1, 0xea, 0x6f, 0xf9, 0x9d, 0xf3, 0x90, 0x02, 0x6e, 0xf1, 0xf8, 0x95, 0x97, - 0xbd, 0xba, 0x08, 0x52, 0xfd, 0x22, 0x6f }, + 0xbd, 0xba, 0x08, 0x5d, 0x17, 0x47, 0xa7 }, .sn_size = 12, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -1394,7 +1394,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x0a, 0x98, 0xc1, 0x3c, 0x98, 0x82, 0xdc, 0xb6, 0xc2, 0x36 }, .data_in = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xd3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, @@ -1406,7 +1406,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x7a, 0xf9, 0xdd }, .in_len = 66, .data_out = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xd2, 0xc0, 0x3a, 0x41, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xd2, 0xc0, 0x3a, 0x41, 0xbc, 0x0b, 0x95, 0xa4, 0x57, 0x3e, 0x36, 0x10, 0xb2, 0xff, 0x48, 0x1f, 0x10, 0xa8, 0x06, 0x42, 0xc5, 0xa2, 0x33, 0xed, 0x2e, @@ -1415,7 +1415,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x35, 0xd2, 0x31, 0x1a, 0xb8, 0x33, 0xc7, 0x9c, 0xa4, 0xa4, 0x9b, 0x20, 0xc6, 0x47, 0xdd, 0xe5, 0xa3, 0x4b, 0x9e, 0x66, 0xde, - 0xc9, 0x0a, 0x64, 0xeb, 0xc1, 0xf4, 0xc6 }, + 0xc9, 0x0a, 0x64, 0xe1, 0xe2, 0x68, 0x9e }, .sn_size = 12, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -1538,7 +1538,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x0a, 0x98, 0xc1, 0x3c, 0x98, 0x82, 0xdc, 0xb6, 0xc2, 0x36 }, .data_in = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xd3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, @@ -1550,7 +1550,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x7a, 0xf9, 0xdd }, .in_len = 66, .data_out = - (uint8_t[]){ 0x50, 0x01, 0x86, 0x79, 0xdb, 0x02, 0x27, + (uint8_t[]){ 0x80, 0x01, 0x86, 0x79, 0xdb, 0x02, 0x27, 0xa0, 0x85, 0x82, 0x87, 0x6b, 0x35, 0x2b, 0xe1, 0x96, 0x5b, 0xfd, 0x67, 0xe1, 0x67, 0x69, 0x17, 0x5b, 0x0a, 0x8f, 0xb8, 0x37, @@ -1559,7 +1559,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xda, 0x94, 0x61, 0x8e, 0x2d, 0x7a, 0x5d, 0x64, 0x0f, 0x4a, 0xc7, 0x7c, 0x9d, 0x56, 0x5a, 0x2a, 0xcb, 0xff, 0x79, 0x07, 0xa5, - 0xaf, 0x96, 0x5c, 0xb6, 0x6c, 0xeb, 0x14 }, + 0xaf, 0x96, 0x5c, 0x3d, 0x2b, 0xe9, 0x4f }, .sn_size = 12, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -1586,7 +1586,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x0a, 0x98, 0xc1, 0x3c, 0x98, 0x82, 0xdc, 0xb6, 0xc2, 0x36 }, .data_in = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xd3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, @@ -1598,7 +1598,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x7a, 0xf9, 0xdd }, .in_len = 66, .data_out = - (uint8_t[]){ 0x50, 0x01, 0x86, 0x2c, 0x0f, 0xc1, 0x08, + (uint8_t[]){ 0x80, 0x01, 0x86, 0x2c, 0x0f, 0xc1, 0x08, 0x2e, 0xa7, 0x97, 0xd2, 0x6c, 0x17, 0x8f, 0x22, 0x1f, 0x99, 0x1b, 0x48, 0x04, 0x29, 0x54, 0x3f, 0x07, 0x01, 0xda, 0x19, 0x59, @@ -1607,7 +1607,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x04, 0xf4, 0xfe, 0xe6, 0xf7, 0x53, 0x51, 0x70, 0x10, 0x56, 0x83, 0x59, 0xb5, 0x64, 0x0b, 0xa6, 0x2e, 0xa5, 0x03, 0x62, 0x13, - 0x91, 0xaf, 0x24, 0xb2, 0x82, 0xfb, 0x27 }, + 0x91, 0xaf, 0x24, 0x3b, 0x3a, 0x38, 0x2e }, .sn_size = 12, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -1634,7 +1634,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x0a, 0x98, 0xc1, 0x3c, 0x98, 0x82, 0xdc, 0xb6, 0xc2, 0x36 }, .data_in = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xd3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, @@ -1646,7 +1646,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x7a, 0xf9, 0xdd }, .in_len = 66, .data_out = - (uint8_t[]){ 0x50, 0x01, 0x86, 0x79, 0xdb, 0x02, 0x27, + (uint8_t[]){ 0x80, 0x01, 0x86, 0x79, 0xdb, 0x02, 0x27, 0xa0, 0x85, 0x82, 0x87, 0x6b, 0x35, 0x2b, 0xe1, 0x96, 0x5b, 0xfd, 0x67, 0xe1, 0x67, 0x69, 0x17, 0x5b, 0x0a, 0x8f, 0xb8, 0x37, @@ -1655,7 +1655,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xda, 0x94, 0x61, 0x8e, 0x2d, 0x7a, 0x5d, 0x64, 0x0f, 0x4a, 0xc7, 0x7c, 0x9d, 0x56, 0x5a, 0x2a, 0xcb, 0xff, 0x79, 0x07, 0xa5, - 0xaf, 0x96, 0x5c, 0xfd, 0xa5, 0xea, 0xac }, + 0xaf, 0x96, 0x5c, 0xe3, 0x50, 0x6c, 0xda }, .sn_size = 12, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -1682,7 +1682,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x0a, 0x98, 0xc1, 0x3c, 0x98, 0x82, 0xdc, 0xb6, 0xc2, 0x36 }, .data_in = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xd3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, @@ -1694,7 +1694,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x7a, 0xf9, 0xdd }, .in_len = 66, .data_out = - (uint8_t[]){ 0x50, 0x01, 0x86, 0x2c, 0x0f, 0xc1, 0x08, + (uint8_t[]){ 0x80, 0x01, 0x86, 0x2c, 0x0f, 0xc1, 0x08, 0x2e, 0xa7, 0x97, 0xd2, 0x6c, 0x17, 0x8f, 0x22, 0x1f, 0x99, 0x1b, 0x48, 0x04, 0x29, 0x54, 0x3f, 0x07, 0x01, 0xda, 0x19, 0x59, @@ -1703,7 +1703,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x04, 0xf4, 0xfe, 0xe6, 0xf7, 0x53, 0x51, 0x70, 0x10, 0x56, 0x83, 0x59, 0xb5, 0x64, 0x0b, 0xa6, 0x2e, 0xa5, 0x03, 0x62, 0x13, - 0x91, 0xaf, 0x24, 0x1d, 0xa7, 0x08, 0x77 }, + 0x91, 0xaf, 0x24, 0x79, 0x22, 0x3d, 0xc5 }, .sn_size = 12, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -1730,7 +1730,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x0a, 0x98, 0xc1, 0x3c, 0x98, 0x82, 0xdc, 0xb6, 0xc2, 0x36 }, .data_in = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xd3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, @@ -1742,7 +1742,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x7a, 0xf9, 0xdd }, .in_len = 66, .data_out = - (uint8_t[]){ 0x50, 0x01, 0x86, 0x79, 0xdb, 0x02, 0x27, + (uint8_t[]){ 0x80, 0x01, 0x86, 0x79, 0xdb, 0x02, 0x27, 0xa0, 0x85, 0x82, 0x87, 0x6b, 0x35, 0x2b, 0xe1, 0x96, 0x5b, 0xfd, 0x67, 0xe1, 0x67, 0x69, 0x17, 0x5b, 0x0a, 0x8f, 0xb8, 0x37, @@ -1751,7 +1751,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xda, 0x94, 0x61, 0x8e, 0x2d, 0x7a, 0x5d, 0x64, 0x0f, 0x4a, 0xc7, 0x7c, 0x9d, 0x56, 0x5a, 0x2a, 0xcb, 0xff, 0x79, 0x07, 0xa5, - 0xaf, 0x96, 0x5c, 0xdd, 0xf2, 0xe8, 0xf9 }, + 0xaf, 0x96, 0x5c, 0xd2, 0x18, 0x8d, 0x31 }, .sn_size = 12, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -1778,7 +1778,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x0a, 0x98, 0xc1, 0x3c, 0x98, 0x82, 0xdc, 0xb6, 0xc2, 0x36 }, .data_in = - (uint8_t[]){ 0x50, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, + (uint8_t[]){ 0x80, 0x01, 0x86, 0xb8, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xd3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, @@ -1790,7 +1790,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x7a, 0xf9, 0xdd }, .in_len = 66, .data_out = - (uint8_t[]){ 0x50, 0x01, 0x86, 0x2c, 0x0f, 0xc1, 0x08, + (uint8_t[]){ 0x80, 0x01, 0x86, 0x2c, 0x0f, 0xc1, 0x08, 0x2e, 0xa7, 0x97, 0xd2, 0x6c, 0x17, 0x8f, 0x22, 0x1f, 0x99, 0x1b, 0x48, 0x04, 0x29, 0x54, 0x3f, 0x07, 0x01, 0xda, 0x19, 0x59, @@ -1799,7 +1799,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x04, 0xf4, 0xfe, 0xe6, 0xf7, 0x53, 0x51, 0x70, 0x10, 0x56, 0x83, 0x59, 0xb5, 0x64, 0x0b, 0xa6, 0x2e, 0xa5, 0x03, 0x62, 0x13, - 0x91, 0xaf, 0x24, 0xd7, 0x3a, 0xd1, 0x4b }, + 0x91, 0xaf, 0x24, 0xdd, 0x19, 0x4d, 0x13 }, .sn_size = 12, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -2556,7 +2556,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x4b, 0x32, 0x87, 0xf9, 0xdb, 0xe0, 0x31, 0x5f, 0x3a, 0x15 }, .data_in = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xD3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, 0x3f, @@ -2568,7 +2568,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xf9, 0xdd, 0xcc, 0x69 }, .in_len = 67, .data_out = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0x78, 0xee, 0x01, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0x78, 0xee, 0x01, 0x4c, 0x79, 0xc7, 0x14, 0x79, 0x2c, 0x1b, 0x8a, 0xd0, 0x17, 0xb4, 0xb4, 0xfe, 0xa7, 0x17, 0x9a, 0x93, 0x5d, 0xad, 0x27, 0x8a, @@ -2577,8 +2577,8 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x37, 0xfb, 0x98, 0x1b, 0x06, 0x1a, 0x76, 0xf8, 0x07, 0x72, 0xe9, 0xa2, 0x89, 0x47, 0x95, 0x8f, 0x8f, 0x4e, 0x45, 0x55, 0xd6, - 0x0e, 0xf4, 0xe7, 0xe8, 0x78, 0xdd, 0xc1, - 0x92 }, + 0x0e, 0xf4, 0xe7, 0xe8, 0xc0, 0x48, 0x6a, + 0x7c }, .sn_size = 18, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -2605,7 +2605,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x4b, 0x32, 0x87, 0xf9, 0xdb, 0xe0, 0x31, 0x5f, 0x3a, 0x15 }, .data_in = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xD3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, 0x3f, @@ -2617,7 +2617,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xf9, 0xdd, 0xcc, 0x69 }, .in_len = 67, .data_out = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0xbf, 0x21, 0xc9, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0xbf, 0x21, 0xc9, 0x7d, 0x02, 0x8d, 0xf7, 0xf7, 0x80, 0x50, 0x60, 0x32, 0x09, 0xb8, 0x69, 0x48, 0xab, 0x58, 0xf0, 0xd9, 0x63, 0x63, 0x36, 0x01, @@ -2626,8 +2626,8 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x4c, 0x00, 0xd0, 0x0e, 0x31, 0x1c, 0x87, 0xee, 0x1c, 0xc3, 0x81, 0xb4, 0xb6, 0x09, 0xb5, 0x3c, 0x85, 0xb9, 0xcc, 0x2d, 0x2e, - 0x9c, 0x85, 0x0b, 0xf7, 0xb1, 0x80, 0x30, - 0xa5 }, + 0x9c, 0x85, 0x0b, 0xf7, 0x17, 0x28, 0x0f, + 0x7d }, .sn_size = 18, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -2654,7 +2654,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x4b, 0x32, 0x87, 0xf9, 0xdb, 0xe0, 0x31, 0x5f, 0x3a, 0x15 }, .data_in = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xD3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, 0x3f, @@ -2666,7 +2666,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xf9, 0xdd, 0xcc, 0x69 }, .in_len = 67, .data_out = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0x78, 0xee, 0x01, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0x78, 0xee, 0x01, 0x4c, 0x79, 0xc7, 0x14, 0x79, 0x2c, 0x1b, 0x8a, 0xd0, 0x17, 0xb4, 0xb4, 0xfe, 0xa7, 0x17, 0x9a, 0x93, 0x5d, 0xad, 0x27, 0x8a, @@ -2675,8 +2675,8 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x37, 0xfb, 0x98, 0x1b, 0x06, 0x1a, 0x76, 0xf8, 0x07, 0x72, 0xe9, 0xa2, 0x89, 0x47, 0x95, 0x8f, 0x8f, 0x4e, 0x45, 0x55, 0xd6, - 0x0e, 0xf4, 0xe7, 0xe8, 0x08, 0xa6, 0xdb, - 0x19 }, + 0x0e, 0xf4, 0xe7, 0xe8, 0x8e, 0x76, 0x4a, + 0x4e }, .sn_size = 18, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -2703,7 +2703,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x4b, 0x32, 0x87, 0xf9, 0xdb, 0xe0, 0x31, 0x5f, 0x3a, 0x15 }, .data_in = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xD3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, 0x3f, @@ -2715,7 +2715,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xf9, 0xdd, 0xcc, 0x69 }, .in_len = 67, .data_out = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0xbf, 0x21, 0xc9, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0xbf, 0x21, 0xc9, 0x7d, 0x02, 0x8d, 0xf7, 0xf7, 0x80, 0x50, 0x60, 0x32, 0x09, 0xb8, 0x69, 0x48, 0xab, 0x58, 0xf0, 0xd9, 0x63, 0x63, 0x36, 0x01, @@ -2724,8 +2724,8 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x4c, 0x00, 0xd0, 0x0e, 0x31, 0x1c, 0x87, 0xee, 0x1c, 0xc3, 0x81, 0xb4, 0xb6, 0x09, 0xb5, 0x3c, 0x85, 0xb9, 0xcc, 0x2d, 0x2e, - 0x9c, 0x85, 0x0b, 0xf7, 0x97, 0x5a, 0x56, - 0xab }, + 0x9c, 0x85, 0x0b, 0xf7, 0xc1, 0x27, 0x82, + 0xc3 }, .sn_size = 18, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -2752,7 +2752,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x4b, 0x32, 0x87, 0xf9, 0xdb, 0xe0, 0x31, 0x5f, 0x3a, 0x15 }, .data_in = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xD3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, 0x3f, @@ -2764,7 +2764,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xf9, 0xdd, 0xcc, 0x69 }, .in_len = 67, .data_out = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0x78, 0xee, 0x01, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0x78, 0xee, 0x01, 0x4c, 0x79, 0xc7, 0x14, 0x79, 0x2c, 0x1b, 0x8a, 0xd0, 0x17, 0xb4, 0xb4, 0xfe, 0xa7, 0x17, 0x9a, 0x93, 0x5d, 0xad, 0x27, 0x8a, @@ -2773,8 +2773,8 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x37, 0xfb, 0x98, 0x1b, 0x06, 0x1a, 0x76, 0xf8, 0x07, 0x72, 0xe9, 0xa2, 0x89, 0x47, 0x95, 0x8f, 0x8f, 0x4e, 0x45, 0x55, 0xd6, - 0x0e, 0xf4, 0xe7, 0xe8, 0x08, 0x68, 0xff, - 0x7c }, + 0x0e, 0xf4, 0xe7, 0xe8, 0x97, 0x76, 0xce, + 0xac }, .sn_size = 18, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -2801,7 +2801,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x4b, 0x32, 0x87, 0xf9, 0xdb, 0xe0, 0x31, 0x5f, 0x3a, 0x15 }, .data_in = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xD3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, 0x3f, @@ -2813,7 +2813,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xf9, 0xdd, 0xcc, 0x69 }, .in_len = 67, .data_out = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0xbf, 0x21, 0xc9, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0xbf, 0x21, 0xc9, 0x7d, 0x02, 0x8d, 0xf7, 0xf7, 0x80, 0x50, 0x60, 0x32, 0x09, 0xb8, 0x69, 0x48, 0xab, 0x58, 0xf0, 0xd9, 0x63, 0x63, 0x36, 0x01, @@ -2822,8 +2822,8 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x4c, 0x00, 0xd0, 0x0e, 0x31, 0x1c, 0x87, 0xee, 0x1c, 0xc3, 0x81, 0xb4, 0xb6, 0x09, 0xb5, 0x3c, 0x85, 0xb9, 0xcc, 0x2d, 0x2e, - 0x9c, 0x85, 0x0b, 0xf7, 0x41, 0xdd, 0x19, - 0x32 }, + 0x9c, 0x85, 0x0b, 0xf7, 0x69, 0x56, 0x6f, + 0xaf }, .sn_size = 18, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -2948,7 +2948,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x4b, 0x32, 0x87, 0xf9, 0xdb, 0xe0, 0x31, 0x5f, 0x3a, 0x15 }, .data_in = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xD3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, 0x3f, @@ -2960,7 +2960,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xf9, 0xdd, 0xcc, 0x69 }, .in_len = 67, .data_out = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0x0c, 0xa8, 0x9d, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0x0c, 0xa8, 0x9d, 0x9e, 0xcc, 0xf0, 0x1a, 0xc0, 0xf2, 0x9f, 0x8c, 0xc9, 0x57, 0xc7, 0x99, 0x4d, 0xde, 0xc5, 0x19, 0x69, 0x58, 0x5b, 0x1a, 0x51, @@ -2969,8 +2969,8 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xb3, 0x24, 0x88, 0x68, 0x5f, 0x78, 0x3a, 0xd2, 0x6c, 0xcc, 0xa0, 0xb5, 0xf0, 0x95, 0x3e, 0xf1, 0xf4, 0x3e, 0x43, 0x8f, 0x6c, - 0xae, 0x22, 0x59, 0x11, 0xf6, 0x97, 0x0b, - 0x7b }, + 0xae, 0x22, 0x59, 0x11, 0x4e, 0x02, 0xa0, + 0x95 }, .sn_size = 18, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -2997,7 +2997,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x4b, 0x32, 0x87, 0xf9, 0xdb, 0xe0, 0x31, 0x5f, 0x3a, 0x15 }, .data_in = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xD3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, 0x3f, @@ -3009,7 +3009,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xf9, 0xdd, 0xcc, 0x69 }, .in_len = 67, .data_out = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0x5a, 0xa9, 0xb5, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0x5a, 0xa9, 0xb5, 0x61, 0x8b, 0x8a, 0xb7, 0x6a, 0x98, 0x30, 0x6c, 0xed, 0x84, 0x69, 0xff, 0x6b, 0x7e, 0x30, 0x59, 0x55, 0x80, 0x32, 0xd0, 0x0f, @@ -3018,8 +3018,8 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x0e, 0x2e, 0x33, 0xe6, 0xa4, 0xea, 0x17, 0xd6, 0x56, 0xa2, 0x3b, 0x5f, 0x56, 0x3a, 0xa7, 0x6f, 0x4c, 0xc1, 0xca, 0xbd, 0x5f, - 0xad, 0x3d, 0x99, 0x4a, 0xa3, 0xab, 0xd5, - 0x7c }, + 0xad, 0x3d, 0x99, 0x4a, 0x05, 0x03, 0xea, + 0xa4 }, .sn_size = 18, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -3046,7 +3046,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x4b, 0x32, 0x87, 0xf9, 0xdb, 0xe0, 0x31, 0x5f, 0x3a, 0x15 }, .data_in = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xD3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, 0x3f, @@ -3058,7 +3058,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xf9, 0xdd, 0xcc, 0x69 }, .in_len = 67, .data_out = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0x0c, 0xa8, 0x9d, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0x0c, 0xa8, 0x9d, 0x9e, 0xcc, 0xf0, 0x1a, 0xc0, 0xf2, 0x9f, 0x8c, 0xc9, 0x57, 0xc7, 0x99, 0x4d, 0xde, 0xc5, 0x19, 0x69, 0x58, 0x5b, 0x1a, 0x51, @@ -3067,8 +3067,8 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xb3, 0x24, 0x88, 0x68, 0x5f, 0x78, 0x3a, 0xd2, 0x6c, 0xcc, 0xa0, 0xb5, 0xf0, 0x95, 0x3e, 0xf1, 0xf4, 0x3e, 0x43, 0x8f, 0x6c, - 0xae, 0x22, 0x59, 0x11, 0x86, 0xec, 0x11, - 0xf0 }, + 0xae, 0x22, 0x59, 0x11, 0x00, 0x3c, 0x80, + 0xa7 }, .sn_size = 18, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -3095,7 +3095,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x4b, 0x32, 0x87, 0xf9, 0xdb, 0xe0, 0x31, 0x5f, 0x3a, 0x15 }, .data_in = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xD3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, 0x3f, @@ -3107,7 +3107,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xf9, 0xdd, 0xcc, 0x69 }, .in_len = 67, .data_out = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0x5a, 0xa9, 0xb5, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0x5a, 0xa9, 0xb5, 0x61, 0x8b, 0x8a, 0xb7, 0x6a, 0x98, 0x30, 0x6c, 0xed, 0x84, 0x69, 0xff, 0x6b, 0x7e, 0x30, 0x59, 0x55, 0x80, 0x32, 0xd0, 0x0f, @@ -3116,8 +3116,8 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x0e, 0x2e, 0x33, 0xe6, 0xa4, 0xea, 0x17, 0xd6, 0x56, 0xa2, 0x3b, 0x5f, 0x56, 0x3a, 0xa7, 0x6f, 0x4c, 0xc1, 0xca, 0xbd, 0x5f, - 0xad, 0x3d, 0x99, 0x4a, 0x85, 0x71, 0xb3, - 0x72 }, + 0xad, 0x3d, 0x99, 0x4a, 0xd3, 0x0c, 0x67, + 0x1a }, .sn_size = 18, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -3144,7 +3144,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x4b, 0x32, 0x87, 0xf9, 0xdb, 0xe0, 0x31, 0x5f, 0x3a, 0x15 }, .data_in = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xD3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, 0x3f, @@ -3156,7 +3156,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xf9, 0xdd, 0xcc, 0x69 }, .in_len = 67, .data_out = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0x0c, 0xa8, 0x9d, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0x0c, 0xa8, 0x9d, 0x9e, 0xcc, 0xf0, 0x1a, 0xc0, 0xf2, 0x9f, 0x8c, 0xc9, 0x57, 0xc7, 0x99, 0x4d, 0xde, 0xc5, 0x19, 0x69, 0x58, 0x5b, 0x1a, 0x51, @@ -3165,8 +3165,8 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xb3, 0x24, 0x88, 0x68, 0x5f, 0x78, 0x3a, 0xd2, 0x6c, 0xcc, 0xa0, 0xb5, 0xf0, 0x95, 0x3e, 0xf1, 0xf4, 0x3e, 0x43, 0x8f, 0x6c, - 0xae, 0x22, 0x59, 0x11, 0x86, 0x22, 0x35, - 0x95 }, + 0xae, 0x22, 0x59, 0x11, 0x19, 0x3c, 0x04, + 0x45 }, .sn_size = 18, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -3193,7 +3193,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x4b, 0x32, 0x87, 0xf9, 0xdb, 0xe0, 0x31, 0x5f, 0x3a, 0x15 }, .data_in = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xD3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, 0x3f, @@ -3205,7 +3205,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xf9, 0xdd, 0xcc, 0x69 }, .in_len = 67, .data_out = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0x5a, 0xa9, 0xb5, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0x5a, 0xa9, 0xb5, 0x61, 0x8b, 0x8a, 0xb7, 0x6a, 0x98, 0x30, 0x6c, 0xed, 0x84, 0x69, 0xff, 0x6b, 0x7e, 0x30, 0x59, 0x55, 0x80, 0x32, 0xd0, 0x0f, @@ -3214,8 +3214,8 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x0e, 0x2e, 0x33, 0xe6, 0xa4, 0xea, 0x17, 0xd6, 0x56, 0xa2, 0x3b, 0x5f, 0x56, 0x3a, 0xa7, 0x6f, 0x4c, 0xc1, 0xca, 0xbd, 0x5f, - 0xad, 0x3d, 0x99, 0x4a, 0x53, 0xf6, 0xfc, - 0xeb }, + 0xad, 0x3d, 0x99, 0x4a, 0x7b, 0x7d, 0x8a, + 0x76 }, .sn_size = 18, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -3340,7 +3340,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x4b, 0x32, 0x87, 0xf9, 0xdb, 0xe0, 0x31, 0x5f, 0x3a, 0x15 }, .data_in = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xD3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, 0x3f, @@ -3352,7 +3352,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xf9, 0xdd, 0xcc, 0x69 }, .in_len = 67, .data_out = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0x9b, 0x9c, 0xde, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0x9b, 0x9c, 0xde, 0xa1, 0x69, 0x9b, 0x27, 0xd3, 0x38, 0x93, 0xf2, 0x12, 0xb1, 0xc6, 0x60, 0xac, 0xb7, 0xf2, 0x37, 0xf3, 0x72, 0xaf, 0x50, 0x9d, @@ -3361,8 +3361,8 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xbb, 0x15, 0xf3, 0x6a, 0x5d, 0x61, 0x12, 0x6e, 0x6d, 0x1b, 0x92, 0xd8, 0x42, 0x60, 0x3e, 0x1f, 0xe0, 0x6c, 0x28, 0x89, 0xf7, - 0x0c, 0x61, 0x76, 0xdc, 0x25, 0x8a, 0x31, - 0xed }, + 0x0c, 0x61, 0x76, 0xdc, 0x9d, 0x1f, 0x9a, + 0x03 }, .sn_size = 18, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -3389,7 +3389,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x4b, 0x32, 0x87, 0xf9, 0xdb, 0xe0, 0x31, 0x5f, 0x3a, 0x15 }, .data_in = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xD3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, 0x3f, @@ -3401,7 +3401,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xf9, 0xdd, 0xcc, 0x69 }, .in_len = 67, .data_out = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0x0c, 0xef, 0x82, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0x0c, 0xef, 0x82, 0x59, 0x6b, 0x6b, 0x61, 0xbe, 0x54, 0x23, 0x7d, 0x29, 0x6d, 0xa7, 0xd2, 0xfa, 0x26, 0xcc, 0x1d, 0x18, 0x39, 0x99, 0xea, 0xac, @@ -3410,8 +3410,8 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x7a, 0x8a, 0xe5, 0x00, 0x35, 0x4d, 0x0e, 0x69, 0x9f, 0x4b, 0x72, 0x94, 0x8a, 0x25, 0x69, 0x43, 0x28, 0xdc, 0x40, 0x60, 0x4f, - 0x6c, 0xed, 0x6a, 0x50, 0xf3, 0x5e, 0x90, - 0x42 }, + 0x6c, 0xed, 0x6a, 0x50, 0x55, 0xf6, 0xaf, + 0x9a }, .sn_size = 18, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -3438,7 +3438,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x4b, 0x32, 0x87, 0xf9, 0xdb, 0xe0, 0x31, 0x5f, 0x3a, 0x15 }, .data_in = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xD3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, 0x3f, @@ -3450,7 +3450,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xf9, 0xdd, 0xcc, 0x69 }, .in_len = 67, .data_out = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0x9b, 0x9c, 0xde, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0x9b, 0x9c, 0xde, 0xa1, 0x69, 0x9b, 0x27, 0xd3, 0x38, 0x93, 0xf2, 0x12, 0xb1, 0xc6, 0x60, 0xac, 0xb7, 0xf2, 0x37, 0xf3, 0x72, 0xaf, 0x50, 0x9d, @@ -3459,8 +3459,8 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xbb, 0x15, 0xf3, 0x6a, 0x5d, 0x61, 0x12, 0x6e, 0x6d, 0x1b, 0x92, 0xd8, 0x42, 0x60, 0x3e, 0x1f, 0xe0, 0x6c, 0x28, 0x89, 0xf7, - 0x0c, 0x61, 0x76, 0xdc, 0x55, 0xf1, 0x2b, - 0x66 }, + 0x0c, 0x61, 0x76, 0xdc, 0xd3, 0x21, 0xba, + 0x31 }, .sn_size = 18, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -3487,7 +3487,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x4b, 0x32, 0x87, 0xf9, 0xdb, 0xe0, 0x31, 0x5f, 0x3a, 0x15 }, .data_in = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xD3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, 0x3f, @@ -3499,7 +3499,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xf9, 0xdd, 0xcc, 0x69 }, .in_len = 67, .data_out = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0x0c, 0xef, 0x82, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0x0c, 0xef, 0x82, 0x59, 0x6b, 0x6b, 0x61, 0xbe, 0x54, 0x23, 0x7d, 0x29, 0x6d, 0xa7, 0xd2, 0xfa, 0x26, 0xcc, 0x1d, 0x18, 0x39, 0x99, 0xea, 0xac, @@ -3508,8 +3508,8 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x7a, 0x8a, 0xe5, 0x00, 0x35, 0x4d, 0x0e, 0x69, 0x9f, 0x4b, 0x72, 0x94, 0x8a, 0x25, 0x69, 0x43, 0x28, 0xdc, 0x40, 0x60, 0x4f, - 0x6c, 0xed, 0x6a, 0x50, 0xd5, 0x84, 0xf6, - 0x4c }, + 0x6c, 0xed, 0x6a, 0x50, 0x83, 0xf9, 0x22, + 0x24 }, .sn_size = 18, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -3536,7 +3536,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x4b, 0x32, 0x87, 0xf9, 0xdb, 0xe0, 0x31, 0x5f, 0x3a, 0x15 }, .data_in = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xD3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, 0x3f, @@ -3548,7 +3548,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xf9, 0xdd, 0xcc, 0x69 }, .in_len = 67, .data_out = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0x9b, 0x9c, 0xde, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0x9b, 0x9c, 0xde, 0xa1, 0x69, 0x9b, 0x27, 0xd3, 0x38, 0x93, 0xf2, 0x12, 0xb1, 0xc6, 0x60, 0xac, 0xb7, 0xf2, 0x37, 0xf3, 0x72, 0xaf, 0x50, 0x9d, @@ -3557,8 +3557,8 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xbb, 0x15, 0xf3, 0x6a, 0x5d, 0x61, 0x12, 0x6e, 0x6d, 0x1b, 0x92, 0xd8, 0x42, 0x60, 0x3e, 0x1f, 0xe0, 0x6c, 0x28, 0x89, 0xf7, - 0x0c, 0x61, 0x76, 0xdc, 0x55, 0x3f, 0x0f, - 0x03 }, + 0x0c, 0x61, 0x76, 0xdc, 0xca, 0x21, 0x3e, + 0xd3 }, .sn_size = 18, .hfn = 0x1, .hfn_threshold = 0xfa558, @@ -3585,7 +3585,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x4b, 0x32, 0x87, 0xf9, 0xdb, 0xe0, 0x31, 0x5f, 0x3a, 0x15 }, .data_in = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0xdb, 0x2d, 0x3f, 0x23, 0x82, 0x53, 0xfd, 0x37, 0xde, 0x88, 0x63, 0x08, 0x4f, 0xD3, 0x71, 0xfb, 0xeb, 0x35, 0xf3, 0x64, 0xd3, 0x5e, 0xaf, 0x3f, @@ -3597,7 +3597,7 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0xf9, 0xdd, 0xcc, 0x69 }, .in_len = 67, .data_out = - (uint8_t[]){ 0xf8, 0x00, 0x00, 0xf8, 0x0c, 0xef, 0x82, + (uint8_t[]){ 0x80, 0x00, 0x00, 0xf8, 0x0c, 0xef, 0x82, 0x59, 0x6b, 0x6b, 0x61, 0xbe, 0x54, 0x23, 0x7d, 0x29, 0x6d, 0xa7, 0xd2, 0xfa, 0x26, 0xcc, 0x1d, 0x18, 0x39, 0x99, 0xea, 0xac, @@ -3606,8 +3606,8 @@ static const struct pdcp_sdap_test list_pdcp_sdap_tests[] = { 0x7a, 0x8a, 0xe5, 0x00, 0x35, 0x4d, 0x0e, 0x69, 0x9f, 0x4b, 0x72, 0x94, 0x8a, 0x25, 0x69, 0x43, 0x28, 0xdc, 0x40, 0x60, 0x4f, - 0x6c, 0xed, 0x6a, 0x50, 0x03, 0x03, 0xb9, - 0xd5 }, + 0x6c, 0xed, 0x6a, 0x50, 0x2b, 0x88, 0xcf, + 0x48 }, .sn_size = 18, .hfn = 0x1, .hfn_threshold = 0xfa558, -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-14 23:33:09.126422591 +0100 +++ 0014-test-crypto-fix-PDCP-SDAP-test-vectors.patch 2023-07-14 23:33:08.507305494 +0100 @@ -1 +1 @@ -From 2c34aae94dd79be9ca81875c8b24ec3a1e897861 Mon Sep 17 00:00:00 2001 +From 3045f945a5c4f73c0975c77b2234ea31805b8082 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 2c34aae94dd79be9ca81875c8b24ec3a1e897861 ] + @@ -15 +16,0 @@ -Cc: stable@dpdk.org ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'examples/fips_validation: fix digest length in AES-GCM' has been queued to stable release 20.11.9 2023-07-14 22:34 ` patch 'ipc: fix file descriptor leakage with unhandled messages' " luca.boccassi ` (12 preceding siblings ...) 2023-07-14 22:34 ` patch 'test/crypto: fix PDCP-SDAP test vectors' " luca.boccassi @ 2023-07-14 22:34 ` luca.boccassi 2023-07-14 22:34 ` patch 'app/crypto-perf: fix socket ID default value' " luca.boccassi ` (2 subsequent siblings) 16 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-14 22:34 UTC (permalink / raw) To: Samina Arshad; +Cc: Brian Dooley, Gowrishankar Muthukrishnan, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/16/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/9c69847ee4a2326aa11634f133d867c6e0270a88 Thanks. Luca Boccassi --- From 9c69847ee4a2326aa11634f133d867c6e0270a88 Mon Sep 17 00:00:00 2001 From: Samina Arshad <samina.arshad@intel.com> Date: Wed, 28 Jun 2023 14:38:36 +0000 Subject: [PATCH] examples/fips_validation: fix digest length in AES-GCM [ upstream commit 94dfc563b620b2f04db7c59b6fdee458a9e1d481 ] For AES GCM non JSON decrypt test cases the digest length is being set incorrectly.The digest length is not being cleared after test cases, causing an issue when running tests individually without the --path-is-folder flag. This fix adds the digest length correctly to the decrypt cases and clears the digest length after each test file. Fixes: 4aaad2995e13 ("examples/fips_validation: support GCM parsing") Signed-off-by: Samina Arshad <samina.arshad@intel.com> Acked-by: Brian Dooley <brian.dooley@intel.com> Acked-by: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com> --- examples/fips_validation/main.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/examples/fips_validation/main.c b/examples/fips_validation/main.c index f746812980..6b22a8633c 100644 --- a/examples/fips_validation/main.c +++ b/examples/fips_validation/main.c @@ -698,7 +698,7 @@ prepare_aead_op(void) RTE_LOG(ERR, USER1, "Not enough memory\n"); return -ENOMEM; } - env.digest_len = vec.cipher_auth.digest.len; + env.digest_len = vec.aead.digest.len; sym->aead.data.length = vec.pt.len; sym->aead.digest.data = env.digest; @@ -707,7 +707,7 @@ prepare_aead_op(void) ret = prepare_data_mbufs(&vec.ct); if (ret < 0) return ret; - + env.digest_len = vec.aead.digest.len; sym->aead.data.length = vec.ct.len; sym->aead.digest.data = vec.aead.digest.val; sym->aead.digest.phys_addr = rte_malloc_virt2iova( @@ -1835,6 +1835,7 @@ error_one_case: if (env.digest) { rte_free(env.digest); env.digest = NULL; + env.digest_len = 0; } if (env.mbuf) rte_pktmbuf_free(env.mbuf); -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-14 23:33:09.183172980 +0100 +++ 0015-examples-fips_validation-fix-digest-length-in-AES-GC.patch 2023-07-14 23:33:08.507305494 +0100 @@ -1 +1 @@ -From 94dfc563b620b2f04db7c59b6fdee458a9e1d481 Mon Sep 17 00:00:00 2001 +From 9c69847ee4a2326aa11634f133d867c6e0270a88 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 94dfc563b620b2f04db7c59b6fdee458a9e1d481 ] + @@ -14 +15,0 @@ -Cc: stable@dpdk.org @@ -24 +25 @@ -index 4237224d9d..6518c959c4 100644 +index f746812980..6b22a8633c 100644 @@ -27 +28 @@ -@@ -834,7 +834,7 @@ prepare_aead_op(void) +@@ -698,7 +698,7 @@ prepare_aead_op(void) @@ -36 +37 @@ -@@ -843,7 +843,7 @@ prepare_aead_op(void) +@@ -707,7 +707,7 @@ prepare_aead_op(void) @@ -45 +46 @@ -@@ -2618,6 +2618,7 @@ error_one_case: +@@ -1835,6 +1835,7 @@ error_one_case: @@ -51,2 +52,2 @@ - rte_pktmbuf_free(env.mbuf); - + if (env.mbuf) + rte_pktmbuf_free(env.mbuf); ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'app/crypto-perf: fix socket ID default value' has been queued to stable release 20.11.9 2023-07-14 22:34 ` patch 'ipc: fix file descriptor leakage with unhandled messages' " luca.boccassi ` (13 preceding siblings ...) 2023-07-14 22:34 ` patch 'examples/fips_validation: fix digest length in AES-GCM' " luca.boccassi @ 2023-07-14 22:34 ` luca.boccassi 2023-07-14 22:34 ` patch 'examples/ipsec-secgw: fix TAP default MAC address' " luca.boccassi 2023-07-14 22:34 ` patch 'kni: fix build with Linux 6.5' " luca.boccassi 16 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-14 22:34 UTC (permalink / raw) To: Ciara Power; +Cc: Kai Ji, Akhil Goyal, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/16/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/e8648ad62ae883017c79ba70755134441f799c99 Thanks. Luca Boccassi --- From e8648ad62ae883017c79ba70755134441f799c99 Mon Sep 17 00:00:00 2001 From: Ciara Power <ciara.power@intel.com> Date: Thu, 6 Jul 2023 10:51:51 +0000 Subject: [PATCH] app/crypto-perf: fix socket ID default value [ upstream commit a23b5064d9d01079f5578b83151e03b1f6baa844 ] Due to recent changes to the default device socket ID, before being used as an index for session mempool list, the socket ID should be set to 0 if unknown (-1). Fixes: 7dcd73e37965 ("drivers/bus: set device NUMA node to unknown by default") Fixes: 64c469b9e7d8 ("app/crypto-perf: check range of socket id") Signed-off-by: Ciara Power <ciara.power@intel.com> Acked-by: Kai Ji <kai.ji@intel.com> Acked-by: Akhil Goyal <gakhil@marvell.com> --- app/test-crypto-perf/main.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/app/test-crypto-perf/main.c b/app/test-crypto-perf/main.c index 49af812d8b..972dd6c776 100644 --- a/app/test-crypto-perf/main.c +++ b/app/test-crypto-perf/main.c @@ -191,11 +191,10 @@ cperf_initialize_cryptodev(struct cperf_options *opts, uint8_t *enabled_cdevs) #endif struct rte_cryptodev_info cdev_info; - uint8_t socket_id = rte_cryptodev_socket_id(cdev_id); - /* range check the socket_id - negative values become big - * positive ones due to use of unsigned value - */ - if (socket_id >= RTE_MAX_NUMA_NODES) + int socket_id = rte_cryptodev_socket_id(cdev_id); + + /* Use the first socket if SOCKET_ID_ANY is returned. */ + if (socket_id == SOCKET_ID_ANY) socket_id = 0; rte_cryptodev_info_get(cdev_id, &cdev_info); @@ -607,7 +606,11 @@ main(int argc, char **argv) cdev_id = enabled_cdevs[cdev_index]; - uint8_t socket_id = rte_cryptodev_socket_id(cdev_id); + int socket_id = rte_cryptodev_socket_id(cdev_id); + + /* Use the first socket if SOCKET_ID_ANY is returned. */ + if (socket_id == SOCKET_ID_ANY) + socket_id = 0; ctx[i] = cperf_testmap[opts.test].constructor( session_pool_socket[socket_id].sess_mp, -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-14 23:33:09.236646958 +0100 +++ 0016-app-crypto-perf-fix-socket-ID-default-value.patch 2023-07-14 23:33:08.507305494 +0100 @@ -1 +1 @@ -From a23b5064d9d01079f5578b83151e03b1f6baa844 Mon Sep 17 00:00:00 2001 +From e8648ad62ae883017c79ba70755134441f799c99 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit a23b5064d9d01079f5578b83151e03b1f6baa844 ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -22 +23 @@ -index af5bd0d23b..bc1f0f9659 100644 +index 49af812d8b..972dd6c776 100644 @@ -25 +26 @@ -@@ -193,11 +193,10 @@ cperf_initialize_cryptodev(struct cperf_options *opts, uint8_t *enabled_cdevs) +@@ -191,11 +191,10 @@ cperf_initialize_cryptodev(struct cperf_options *opts, uint8_t *enabled_cdevs) @@ -41 +42 @@ -@@ -650,7 +649,11 @@ main(int argc, char **argv) +@@ -607,7 +606,11 @@ main(int argc, char **argv) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'examples/ipsec-secgw: fix TAP default MAC address' has been queued to stable release 20.11.9 2023-07-14 22:34 ` patch 'ipc: fix file descriptor leakage with unhandled messages' " luca.boccassi ` (14 preceding siblings ...) 2023-07-14 22:34 ` patch 'app/crypto-perf: fix socket ID default value' " luca.boccassi @ 2023-07-14 22:34 ` luca.boccassi 2023-07-14 22:34 ` patch 'kni: fix build with Linux 6.5' " luca.boccassi 16 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-14 22:34 UTC (permalink / raw) To: Vladimir Medvedkin; +Cc: Stephen Hemminger, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/16/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/417608452001afed20ab54282e26dfe063e1b172 Thanks. Luca Boccassi --- From 417608452001afed20ab54282e26dfe063e1b172 Mon Sep 17 00:00:00 2001 From: Vladimir Medvedkin <vladimir.medvedkin@intel.com> Date: Wed, 28 Jun 2023 19:12:35 +0000 Subject: [PATCH] examples/ipsec-secgw: fix TAP default MAC address [ upstream commit 2d7a5922aecadb9eee7de7f314a6dee36f3b1aa3 ] Default TAP mac address was changed in below commit. Hence, updated IPsec test script to reflect changes. Fixes: c3006be2acab ("net/tap: set locally administered bit for fixed MAC address") Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> --- examples/ipsec-secgw/test/common_defs.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/ipsec-secgw/test/common_defs.sh b/examples/ipsec-secgw/test/common_defs.sh index 3ef06bc761..6e04ffc1a6 100644 --- a/examples/ipsec-secgw/test/common_defs.sh +++ b/examples/ipsec-secgw/test/common_defs.sh @@ -26,7 +26,7 @@ fi LOCAL_IFACE=dtap0 -LOCAL_MAC="00:64:74:61:70:30" +LOCAL_MAC="02:64:74:61:70:30" REMOTE_IPV4=192.168.31.14 LOCAL_IPV4=192.168.31.92 -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-14 23:33:09.292748461 +0100 +++ 0017-examples-ipsec-secgw-fix-TAP-default-MAC-address.patch 2023-07-14 23:33:08.507305494 +0100 @@ -1 +1 @@ -From 2d7a5922aecadb9eee7de7f314a6dee36f3b1aa3 Mon Sep 17 00:00:00 2001 +From 417608452001afed20ab54282e26dfe063e1b172 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 2d7a5922aecadb9eee7de7f314a6dee36f3b1aa3 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'kni: fix build with Linux 6.5' has been queued to stable release 20.11.9 2023-07-14 22:34 ` patch 'ipc: fix file descriptor leakage with unhandled messages' " luca.boccassi ` (15 preceding siblings ...) 2023-07-14 22:34 ` patch 'examples/ipsec-secgw: fix TAP default MAC address' " luca.boccassi @ 2023-07-14 22:34 ` luca.boccassi 2023-07-20 10:58 ` patch 'doc: fix typos and wording in flow API guide' " luca.boccassi 16 siblings, 1 reply; 113+ messages in thread From: luca.boccassi @ 2023-07-14 22:34 UTC (permalink / raw) To: Ferruh Yigit; +Cc: dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/16/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/b4075bea115a3e51d326439e91bca3b6ccf0483e Thanks. Luca Boccassi --- From b4075bea115a3e51d326439e91bca3b6ccf0483e Mon Sep 17 00:00:00 2001 From: Ferruh Yigit <ferruh.yigit@amd.com> Date: Tue, 11 Jul 2023 11:09:41 +0100 Subject: [PATCH] kni: fix build with Linux 6.5 [ upstream commit dd33d53b9a032d7376aa04a28a1235338e1fd78f ] The get_user_pages_remote() API has been modified in Linux kernel v6.5 [1], "struct vm_area_struct **vmas" parameter removed from the API. To fix KNI build with Linux kernel v6.5, version check added around the get_user_pages_remote() API. [1] ca5e863233e8 ("mm/gup: remove vmas parameter from get_user_pages_remote()") Signed-off-by: Ferruh Yigit <ferruh.yigit@amd.com> --- kernel/linux/kni/compat.h | 4 ++++ kernel/linux/kni/kni_dev.h | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/kernel/linux/kni/compat.h b/kernel/linux/kni/compat.h index 7aa6cd9fca..8beb670465 100644 --- a/kernel/linux/kni/compat.h +++ b/kernel/linux/kni/compat.h @@ -151,3 +151,7 @@ RHEL_RELEASE_VERSION(9, 1) <= RHEL_RELEASE_CODE)) #define HAVE_NETIF_RX_NI #endif + +#if KERNEL_VERSION(6, 5, 0) > LINUX_VERSION_CODE +#define HAVE_VMA_IN_GUP +#endif diff --git a/kernel/linux/kni/kni_dev.h b/kernel/linux/kni/kni_dev.h index 6e64380d06..417c67b5ae 100644 --- a/kernel/linux/kni/kni_dev.h +++ b/kernel/linux/kni/kni_dev.h @@ -107,7 +107,11 @@ static inline phys_addr_t iova_to_phys(struct task_struct *tsk, #ifdef HAVE_TSK_IN_GUP ret = get_user_pages_remote(tsk, tsk->mm, iova, 1, 0, &page, NULL, NULL); #else + #ifdef HAVE_VMA_IN_GUP ret = get_user_pages_remote(tsk->mm, iova, 1, 0, &page, NULL, NULL); + #else + ret = get_user_pages_remote(tsk->mm, iova, 1, 0, &page, NULL); + #endif #endif if (ret < 0) return 0; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-14 23:33:09.333636763 +0100 +++ 0018-kni-fix-build-with-Linux-6.5.patch 2023-07-14 23:33:08.511305571 +0100 @@ -1 +1 @@ -From dd33d53b9a032d7376aa04a28a1235338e1fd78f Mon Sep 17 00:00:00 2001 +From b4075bea115a3e51d326439e91bca3b6ccf0483e Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit dd33d53b9a032d7376aa04a28a1235338e1fd78f ] + @@ -15,2 +16,0 @@ -Cc: stable@dpdk.org - @@ -36 +36 @@ -index 21bfb6890e..975379825b 100644 +index 6e64380d06..417c67b5ae 100644 ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'doc: fix typos and wording in flow API guide' has been queued to stable release 20.11.9 2023-07-14 22:34 ` patch 'kni: fix build with Linux 6.5' " luca.boccassi @ 2023-07-20 10:58 ` luca.boccassi 2023-07-20 10:58 ` patch 'net/i40e: fix comments' " luca.boccassi ` (7 more replies) 0 siblings, 8 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-20 10:58 UTC (permalink / raw) To: Ali Alnubani; +Cc: John McNamara, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/22/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/4a803e9647df89258556fbffad8767d3784ef718 Thanks. Luca Boccassi --- From 4a803e9647df89258556fbffad8767d3784ef718 Mon Sep 17 00:00:00 2001 From: Ali Alnubani <alialnu@nvidia.com> Date: Sun, 16 Jul 2023 09:58:26 +0300 Subject: [PATCH] doc: fix typos and wording in flow API guide [ upstream commit d9f1751090ce1055a64f1d9a5f43758acae2c5ac ] This fixes typos, punctuation and wording in the rte flow API guide. Fixes: 2f82d143fb31 ("ethdev: add group jump action") Signed-off-by: Ali Alnubani <alialnu@nvidia.com> Acked-by: John McNamara <john.mcnamara@intel.com> --- doc/guides/prog_guide/rte_flow.rst | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst index 6ac00d424f..c5749e8257 100644 --- a/doc/guides/prog_guide/rte_flow.rst +++ b/doc/guides/prog_guide/rte_flow.rst @@ -117,14 +117,15 @@ Attribute: Group Flow rules can be grouped by assigning them a common group number. Groups allow a logical hierarchy of flow rule groups (tables) to be defined. These groups can be supported virtually in the PMD or in the physical device. -Group 0 is the default group and this is the only group which flows are -guarantee to matched against, all subsequent groups can only be reached by -way of the JUMP action from a matched flow rule. +Group 0 is the default group and is the only group that +flows are guaranteed to be matched against. +All subsequent groups can only be reached by using a JUMP action +from a matched flow rule. Although optional, applications are encouraged to group similar rules as much as possible to fully take advantage of hardware capabilities (e.g. optimized matching) and work around limitations (e.g. a single pattern -type possibly allowed in a given group), while being aware that the groups +type possibly allowed in a given group), while being aware that the groups' hierarchies must be programmed explicitly. Note that support for more than a single group is not guaranteed. @@ -139,7 +140,7 @@ Priority levels are arbitrary and up to the application, they do not need to be contiguous nor start from 0, however the maximum number varies between devices and may be affected by existing flow rules. -A flow which matches multiple rules in the same group will always matched by +A flow which matches multiple rules in the same group will always be matched by the rule with the highest priority in that group. If a packet is matched by several rules of a given group for a given @@ -1610,12 +1611,12 @@ flow group/tables on the device, this action redirects the matched flow to the specified group on that device. If a matched flow is redirected to a table which doesn't contain a matching -rule for that flow then the behavior is undefined and the resulting behavior -is up to the specific device. Best practice when using groups would be define +rule for that flow, then the behavior is undefined and the resulting behavior +is up to the specific device. Best practice when using groups would be to define a default flow rule for each group which a defines the default actions in that group so a consistent behavior is defined. -Defining an action for matched flow in a group to jump to a group which is +Defining an action for a matched flow in a group to jump to a group which is higher in the group hierarchy may not be supported by physical devices, depending on how groups are mapped to the physical devices. In the definitions of jump actions, applications should be aware that it may be -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-20 11:54:24.286967027 +0100 +++ 0001-doc-fix-typos-and-wording-in-flow-API-guide.patch 2023-07-20 11:54:24.221504304 +0100 @@ -1 +1 @@ -From d9f1751090ce1055a64f1d9a5f43758acae2c5ac Mon Sep 17 00:00:00 2001 +From 4a803e9647df89258556fbffad8767d3784ef718 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit d9f1751090ce1055a64f1d9a5f43758acae2c5ac ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org @@ -18 +19 @@ -index 28d09c58d5..5bc998a433 100644 +index 6ac00d424f..c5749e8257 100644 @@ -21 +22 @@ -@@ -148,14 +148,15 @@ Attribute: Group +@@ -117,14 +117,15 @@ Attribute: Group @@ -41 +42 @@ -@@ -170,7 +171,7 @@ Priority levels are arbitrary and up to the application, they do +@@ -139,7 +140,7 @@ Priority levels are arbitrary and up to the application, they do @@ -50 +51 @@ -@@ -1769,12 +1770,12 @@ flow group/tables on the device, this action redirects the matched flow to +@@ -1610,12 +1611,12 @@ flow group/tables on the device, this action redirects the matched flow to ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/i40e: fix comments' has been queued to stable release 20.11.9 2023-07-20 10:58 ` patch 'doc: fix typos and wording in flow API guide' " luca.boccassi @ 2023-07-20 10:58 ` luca.boccassi 2023-07-20 10:58 ` patch 'net/iavf: fix stop ordering' " luca.boccassi ` (6 subsequent siblings) 7 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-20 10:58 UTC (permalink / raw) To: Jieqiang Wang; +Cc: Ruifeng Wang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/22/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/64157a7dac4f3d628e5c1554b9ae049d81216367 Thanks. Luca Boccassi --- From 64157a7dac4f3d628e5c1554b9ae049d81216367 Mon Sep 17 00:00:00 2001 From: Jieqiang Wang <jieqiang.wang@arm.com> Date: Wed, 12 Jul 2023 18:07:32 +0800 Subject: [PATCH] net/i40e: fix comments [ upstream commit 5267a2ae78e873d3a7e175944dcedffdadab6483 ] The limitation of burst size in i40e vector rx has been removed, but the comment lines have not been updated to reflect the code changes. Remove those lines to avoid confusion. Additionally, fix a typo in i40e_tx_queue. Fixes: 9e27f00f3a61 ("net/i40e: fix vector Rx") Signed-off-by: Jieqiang Wang <jieqiang.wang@arm.com> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> --- drivers/net/i40e/i40e_rxtx.h | 2 +- drivers/net/i40e/i40e_rxtx_vec_altivec.c | 2 -- drivers/net/i40e/i40e_rxtx_vec_neon.c | 2 -- drivers/net/i40e/i40e_rxtx_vec_sse.c | 2 -- 4 files changed, 1 insertion(+), 7 deletions(-) diff --git a/drivers/net/i40e/i40e_rxtx.h b/drivers/net/i40e/i40e_rxtx.h index 2786bdcff9..01ba91cdec 100644 --- a/drivers/net/i40e/i40e_rxtx.h +++ b/drivers/net/i40e/i40e_rxtx.h @@ -165,7 +165,7 @@ struct i40e_tx_queue { bool q_set; /**< indicate if tx queue has been configured */ bool tx_deferred_start; /**< don't start this queue in dev start */ uint8_t dcb_tc; /**< Traffic class of tx queue */ - uint64_t offloads; /**< Tx offload flags of DEV_RX_OFFLOAD_* */ + uint64_t offloads; /**< Tx offload flags of DEV_TX_OFFLOAD_* */ const struct rte_memzone *mz; }; diff --git a/drivers/net/i40e/i40e_rxtx_vec_altivec.c b/drivers/net/i40e/i40e_rxtx_vec_altivec.c index b24f3963f4..4816959178 100644 --- a/drivers/net/i40e/i40e_rxtx_vec_altivec.c +++ b/drivers/net/i40e/i40e_rxtx_vec_altivec.c @@ -448,8 +448,6 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts, /* Notice: * - nb_pkts < RTE_I40E_DESCS_PER_LOOP, just return no packet - * - nb_pkts > RTE_I40E_VPMD_RX_BURST, only scan RTE_I40E_VPMD_RX_BURST - * numbers of DD bits */ uint16_t i40e_recv_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts, diff --git a/drivers/net/i40e/i40e_rxtx_vec_neon.c b/drivers/net/i40e/i40e_rxtx_vec_neon.c index 28bf046e88..f828937e00 100644 --- a/drivers/net/i40e/i40e_rxtx_vec_neon.c +++ b/drivers/net/i40e/i40e_rxtx_vec_neon.c @@ -447,8 +447,6 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *__rte_restrict rxq, /* * Notice: * - nb_pkts < RTE_I40E_DESCS_PER_LOOP, just return no packet - * - nb_pkts > RTE_I40E_VPMD_RX_BURST, only scan RTE_I40E_VPMD_RX_BURST - * numbers of DD bits */ uint16_t i40e_recv_pkts_vec(void *__rte_restrict rx_queue, diff --git a/drivers/net/i40e/i40e_rxtx_vec_sse.c b/drivers/net/i40e/i40e_rxtx_vec_sse.c index a8aa5bc0cc..1478f994c9 100644 --- a/drivers/net/i40e/i40e_rxtx_vec_sse.c +++ b/drivers/net/i40e/i40e_rxtx_vec_sse.c @@ -595,8 +595,6 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts, /* * Notice: * - nb_pkts < RTE_I40E_DESCS_PER_LOOP, just return no packet - * - nb_pkts > RTE_I40E_VPMD_RX_BURST, only scan RTE_I40E_VPMD_RX_BURST - * numbers of DD bits */ uint16_t i40e_recv_pkts_vec(void *rx_queue, struct rte_mbuf **rx_pkts, -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-20 11:54:24.326440927 +0100 +++ 0002-net-i40e-fix-comments.patch 2023-07-20 11:54:24.225504368 +0100 @@ -1 +1 @@ -From 5267a2ae78e873d3a7e175944dcedffdadab6483 Mon Sep 17 00:00:00 2001 +From 64157a7dac4f3d628e5c1554b9ae049d81216367 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 5267a2ae78e873d3a7e175944dcedffdadab6483 ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -17 +17,0 @@ - .mailmap | 1 + @@ -22 +22 @@ - 5 files changed, 2 insertions(+), 7 deletions(-) + 4 files changed, 1 insertion(+), 7 deletions(-) @@ -24,12 +23,0 @@ -diff --git a/.mailmap b/.mailmap -index 6eccf0c555..670d312f84 100644 ---- a/.mailmap -+++ b/.mailmap -@@ -628,6 +628,7 @@ Jie Liu <jie2.liu@hxt-semitech.com> - Jie Pan <panjie5@jd.com> - Jie Wang <jie1x.wang@intel.com> - Jie Zhou <jizh@linux.microsoft.com> <jizh@microsoft.com> -+Jieqiang Wang <jieqiang.wang@arm.com> - Jijiang Liu <jijiang.liu@intel.com> - Jilei Chen <chenjilei@cmss.chinamobile.com> - Jim Harris <james.r.harris@intel.com> @@ -37 +25 @@ -index 0376c219be..a8686224e5 100644 +index 2786bdcff9..01ba91cdec 100644 @@ -40 +28 @@ -@@ -169,7 +169,7 @@ struct i40e_tx_queue { +@@ -165,7 +165,7 @@ struct i40e_tx_queue { @@ -44,2 +32,2 @@ -- uint64_t offloads; /**< Tx offload flags of RTE_ETH_RX_OFFLOAD_* */ -+ uint64_t offloads; /**< Tx offload flags of RTE_ETH_TX_OFFLOAD_* */ +- uint64_t offloads; /**< Tx offload flags of DEV_RX_OFFLOAD_* */ ++ uint64_t offloads; /**< Tx offload flags of DEV_TX_OFFLOAD_* */ @@ -50 +38 @@ -index 8672ad1c41..4cd78f4e58 100644 +index b24f3963f4..4816959178 100644 @@ -53 +41 @@ -@@ -449,8 +449,6 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts, +@@ -448,8 +448,6 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts, @@ -63 +51 @@ -index 49391fe4c7..d873e30972 100644 +index 28bf046e88..f828937e00 100644 @@ -66 +54 @@ -@@ -574,8 +574,6 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *__rte_restrict rxq, +@@ -447,8 +447,6 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *__rte_restrict rxq, @@ -76 +64 @@ -index baf83cb3df..b94c37cbb8 100644 +index a8aa5bc0cc..1478f994c9 100644 @@ -79 +67 @@ -@@ -596,8 +596,6 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts, +@@ -595,8 +595,6 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts, ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/iavf: fix stop ordering' has been queued to stable release 20.11.9 2023-07-20 10:58 ` patch 'doc: fix typos and wording in flow API guide' " luca.boccassi 2023-07-20 10:58 ` patch 'net/i40e: fix comments' " luca.boccassi @ 2023-07-20 10:58 ` luca.boccassi 2023-07-20 10:58 ` patch 'common/iavf: fix MAC type for 710 NIC' " luca.boccassi ` (5 subsequent siblings) 7 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-20 10:58 UTC (permalink / raw) To: Zhichao Zeng; +Cc: Bartosz Staszewski, Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/22/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/566d11fdc503b961109423c07973347ba7ce9bce Thanks. Luca Boccassi --- From 566d11fdc503b961109423c07973347ba7ce9bce Mon Sep 17 00:00:00 2001 From: Zhichao Zeng <zhichaox.zeng@intel.com> Date: Wed, 12 Jul 2023 13:35:37 +0800 Subject: [PATCH] net/iavf: fix stop ordering [ upstream commit 87b2afdea3aae6095aa80956ae2e15f602594185 ] The current implementation stops queue before disabling the Rx interrupt, and when there are still unprocessed packets remaining in the queue, this may cause the Rx ring to timeout, leading to IOMMU fault. This patch disables the Rx interrupt before stopping the queue, ensuring that no packets received when disabling the queues. Fixes: 02d212ca3125 ("net/iavf: rename remaining avf strings") Signed-off-by: Bartosz Staszewski <bartoszx.staszewski@intel.com> Signed-off-by: Zhichao Zeng <zhichaox.zeng@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/iavf/iavf_ethdev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c index ddd877724a..127d79318d 100644 --- a/drivers/net/iavf/iavf_ethdev.c +++ b/drivers/net/iavf/iavf_ethdev.c @@ -756,8 +756,6 @@ iavf_dev_stop(struct rte_eth_dev *dev) if (adapter->stopped == 1) return 0; - iavf_stop_queues(dev); - /* Disable the interrupt for Rx */ rte_intr_efd_disable(intr_handle); /* Rx interrupt vector mapping free */ @@ -773,6 +771,8 @@ iavf_dev_stop(struct rte_eth_dev *dev) iavf_add_del_mc_addr_list(adapter, vf->mc_addrs, vf->mc_addrs_num, false); + iavf_stop_queues(dev); + adapter->stopped = 1; dev->data->dev_started = 0; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-20 11:54:24.365898201 +0100 +++ 0003-net-iavf-fix-stop-ordering.patch 2023-07-20 11:54:24.229504431 +0100 @@ -1 +1 @@ -From 87b2afdea3aae6095aa80956ae2e15f602594185 Mon Sep 17 00:00:00 2001 +From 566d11fdc503b961109423c07973347ba7ce9bce Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 87b2afdea3aae6095aa80956ae2e15f602594185 ] + @@ -14 +15,0 @@ -Cc: stable@dpdk.org @@ -20 +20,0 @@ - .mailmap | 1 + @@ -22 +22 @@ - 2 files changed, 3 insertions(+), 2 deletions(-) + 1 file changed, 2 insertions(+), 2 deletions(-) @@ -24,12 +23,0 @@ -diff --git a/.mailmap b/.mailmap -index 670d312f84..9ce554451b 100644 ---- a/.mailmap -+++ b/.mailmap -@@ -151,6 +151,7 @@ Bao-Long Tran <longtb5@viettel.com.vn> - Bar Neuman <bneuman@nvidia.com> - Barak Enat <barak@saguna.net> - Barry Cao <barry.cao@nxp.com> -+Bartosz Staszewski <bartoszx.staszewski@intel.com> - Baruch Siach <baruch@tkos.co.il> - Bassam Zaid AlKilani <bzalkilani@nvidia.com> - Beilei Xing <beilei.xing@intel.com> @@ -37 +25 @@ -index ac7154d720..f2fc5a5621 100644 +index ddd877724a..127d79318d 100644 @@ -40 +28 @@ -@@ -1087,8 +1087,6 @@ iavf_dev_stop(struct rte_eth_dev *dev) +@@ -756,8 +756,6 @@ iavf_dev_stop(struct rte_eth_dev *dev) @@ -49 +37 @@ -@@ -1101,6 +1099,8 @@ iavf_dev_stop(struct rte_eth_dev *dev) +@@ -773,6 +771,8 @@ iavf_dev_stop(struct rte_eth_dev *dev) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'common/iavf: fix MAC type for 710 NIC' has been queued to stable release 20.11.9 2023-07-20 10:58 ` patch 'doc: fix typos and wording in flow API guide' " luca.boccassi 2023-07-20 10:58 ` patch 'net/i40e: fix comments' " luca.boccassi 2023-07-20 10:58 ` patch 'net/iavf: fix stop ordering' " luca.boccassi @ 2023-07-20 10:58 ` luca.boccassi 2023-07-20 10:58 ` patch 'net/ixgbe: fix Rx and Tx queue status' " luca.boccassi ` (4 subsequent siblings) 7 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-20 10:58 UTC (permalink / raw) To: Wenjing Qiao; +Cc: Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/22/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/ca44ae44929e414cfb93763a98b6708d47d580e4 Thanks. Luca Boccassi --- From ca44ae44929e414cfb93763a98b6708d47d580e4 Mon Sep 17 00:00:00 2001 From: Wenjing Qiao <wenjing.qiao@intel.com> Date: Wed, 12 Jul 2023 07:38:13 +0000 Subject: [PATCH] common/iavf: fix MAC type for 710 NIC [ upstream commit 03b7b90ac2bbda4eb0366898dd4284fb88310734 ] Fix MAC type according to PCI ID list. Fixes: eb385183edac ("net/iavf/base: update device IDs") Signed-off-by: Wenjing Qiao <wenjing.qiao@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/common/iavf/iavf_common.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/common/iavf/iavf_common.c b/drivers/common/iavf/iavf_common.c index c951b7d787..999e045610 100644 --- a/drivers/common/iavf/iavf_common.c +++ b/drivers/common/iavf/iavf_common.c @@ -27,6 +27,8 @@ enum iavf_status iavf_set_mac_type(struct iavf_hw *hw) break; case IAVF_DEV_ID_VF: case IAVF_DEV_ID_VF_HV: + hw->mac.type = IAVF_MAC_XL710; + break; case IAVF_DEV_ID_ADAPTIVE_VF: hw->mac.type = IAVF_MAC_VF; break; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-20 11:54:24.405620319 +0100 +++ 0004-common-iavf-fix-MAC-type-for-710-NIC.patch 2023-07-20 11:54:24.229504431 +0100 @@ -1 +1 @@ -From 03b7b90ac2bbda4eb0366898dd4284fb88310734 Mon Sep 17 00:00:00 2001 +From ca44ae44929e414cfb93763a98b6708d47d580e4 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 03b7b90ac2bbda4eb0366898dd4284fb88310734 ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org @@ -18 +19 @@ -index 855a0ab2f5..dc7662bc1b 100644 +index c951b7d787..999e045610 100644 ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/ixgbe: fix Rx and Tx queue status' has been queued to stable release 20.11.9 2023-07-20 10:58 ` patch 'doc: fix typos and wording in flow API guide' " luca.boccassi ` (2 preceding siblings ...) 2023-07-20 10:58 ` patch 'common/iavf: fix MAC type for 710 NIC' " luca.boccassi @ 2023-07-20 10:58 ` luca.boccassi 2023-07-20 10:58 ` patch 'net/igc: " luca.boccassi ` (3 subsequent siblings) 7 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-20 10:58 UTC (permalink / raw) To: Qiming Yang; +Cc: Jie Hai, Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/22/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/038799f4741b7b99970f384a77faffe28073d02d Thanks. Luca Boccassi --- From 038799f4741b7b99970f384a77faffe28073d02d Mon Sep 17 00:00:00 2001 From: Qiming Yang <qiming.yang@intel.com> Date: Wed, 12 Jul 2023 08:31:51 +0000 Subject: [PATCH] net/ixgbe: fix Rx and Tx queue status [ upstream commit 4a8490075692c32797be4280aea33772a5865038 ] Ixgbevf driver don't enable queue start/stop functions, queue status is not updated when the HW queue enabled or disabled. It caused application can't get correct queue status. This patch fixes the issue by updating the queue states when the queue is disabled or enabled. Fixes: 429c6d86b371 ("ixgbe: prepare for vector pmd") Fixes: f0c50e5f56fa ("ixgbe: move PMD specific fields out of base driver") Signed-off-by: Qiming Yang <qiming.yang@intel.com> Signed-off-by: Jie Hai <haijie1@huawei.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/ixgbe/ixgbe_rxtx.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c index 7414384493..7588bb2cb9 100644 --- a/drivers/net/ixgbe/ixgbe_rxtx.c +++ b/drivers/net/ixgbe/ixgbe_rxtx.c @@ -3368,6 +3368,7 @@ ixgbe_dev_clear_queues(struct rte_eth_dev *dev) if (txq != NULL) { txq->ops->release_mbufs(txq); txq->ops->reset(txq); + dev->data->tx_queue_state[i] = RTE_ETH_QUEUE_STATE_STOPPED; } } @@ -3377,6 +3378,7 @@ ixgbe_dev_clear_queues(struct rte_eth_dev *dev) if (rxq != NULL) { ixgbe_rx_queue_release_mbufs(rxq); ixgbe_reset_rx_queue(adapter, rxq); + dev->data->rx_queue_state[i] = RTE_ETH_QUEUE_STATE_STOPPED; } } /* If loopback mode was enabled, reconfigure the link accordingly */ @@ -5816,6 +5818,8 @@ ixgbevf_dev_rxtx_start(struct rte_eth_dev *dev) } while (--poll_ms && !(txdctl & IXGBE_TXDCTL_ENABLE)); if (!poll_ms) PMD_INIT_LOG(ERR, "Could not enable Tx Queue %d", i); + else + dev->data->tx_queue_state[i] = RTE_ETH_QUEUE_STATE_STARTED; } for (i = 0; i < dev->data->nb_rx_queues; i++) { @@ -5833,6 +5837,8 @@ ixgbevf_dev_rxtx_start(struct rte_eth_dev *dev) } while (--poll_ms && !(rxdctl & IXGBE_RXDCTL_ENABLE)); if (!poll_ms) PMD_INIT_LOG(ERR, "Could not enable Rx Queue %d", i); + else + dev->data->rx_queue_state[i] = RTE_ETH_QUEUE_STATE_STARTED; rte_wmb(); IXGBE_WRITE_REG(hw, IXGBE_VFRDT(i), rxq->nb_rx_desc - 1); -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-20 11:54:24.444640951 +0100 +++ 0005-net-ixgbe-fix-Rx-and-Tx-queue-status.patch 2023-07-20 11:54:24.237504558 +0100 @@ -1 +1 @@ -From 4a8490075692c32797be4280aea33772a5865038 Mon Sep 17 00:00:00 2001 +From 038799f4741b7b99970f384a77faffe28073d02d Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 4a8490075692c32797be4280aea33772a5865038 ] + @@ -14 +15,0 @@ -Cc: stable@dpdk.org @@ -24 +25 @@ -index 61f17cd90b..954ef241a0 100644 +index 7414384493..7588bb2cb9 100644 @@ -27 +28 @@ -@@ -3378,6 +3378,7 @@ ixgbe_dev_clear_queues(struct rte_eth_dev *dev) +@@ -3368,6 +3368,7 @@ ixgbe_dev_clear_queues(struct rte_eth_dev *dev) @@ -35 +36 @@ -@@ -3387,6 +3388,7 @@ ixgbe_dev_clear_queues(struct rte_eth_dev *dev) +@@ -3377,6 +3378,7 @@ ixgbe_dev_clear_queues(struct rte_eth_dev *dev) @@ -43 +44 @@ -@@ -5896,6 +5898,8 @@ ixgbevf_dev_rxtx_start(struct rte_eth_dev *dev) +@@ -5816,6 +5818,8 @@ ixgbevf_dev_rxtx_start(struct rte_eth_dev *dev) @@ -52 +53 @@ -@@ -5913,6 +5917,8 @@ ixgbevf_dev_rxtx_start(struct rte_eth_dev *dev) +@@ -5833,6 +5837,8 @@ ixgbevf_dev_rxtx_start(struct rte_eth_dev *dev) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/igc: fix Rx and Tx queue status' has been queued to stable release 20.11.9 2023-07-20 10:58 ` patch 'doc: fix typos and wording in flow API guide' " luca.boccassi ` (3 preceding siblings ...) 2023-07-20 10:58 ` patch 'net/ixgbe: fix Rx and Tx queue status' " luca.boccassi @ 2023-07-20 10:58 ` luca.boccassi 2023-07-20 10:58 ` patch 'net/e1000: " luca.boccassi ` (2 subsequent siblings) 7 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-20 10:58 UTC (permalink / raw) To: Qiming Yang; +Cc: Mingjin Ye, Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/22/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/2091a78c0404ed4e5464559bb2a73978a30ca544 Thanks. Luca Boccassi --- From 2091a78c0404ed4e5464559bb2a73978a30ca544 Mon Sep 17 00:00:00 2001 From: Qiming Yang <qiming.yang@intel.com> Date: Wed, 12 Jul 2023 08:31:52 +0000 Subject: [PATCH] net/igc: fix Rx and Tx queue status [ upstream commit 921ff14280ed8ba7b9d0a898046cf5eadf3d4c8e ] Igc driver don't enable queue start/stop functions, queue status is not updated when the HW queue enabled or disabled. It caused application can't get correct queue status. This patch fixes the issue by updating the queue states when the queue is disabled or enabled. Fixes: a5aeb2b9e225 ("net/igc: support Rx and Tx") Signed-off-by: Qiming Yang <qiming.yang@intel.com> Signed-off-by: Mingjin Ye <mingjinx.ye@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/igc/igc_txrx.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/igc/igc_txrx.c b/drivers/net/igc/igc_txrx.c index 6c3d207a69..114aa7f0dc 100644 --- a/drivers/net/igc/igc_txrx.c +++ b/drivers/net/igc/igc_txrx.c @@ -1308,6 +1308,7 @@ igc_rx_init(struct rte_eth_dev *dev) dvmolr |= IGC_DVMOLR_STRCRC; IGC_WRITE_REG(hw, IGC_DVMOLR(rxq->reg_idx), dvmolr); + dev->data->rx_queue_state[i] = RTE_ETH_QUEUE_STATE_STARTED; } return 0; @@ -1951,6 +1952,7 @@ igc_dev_clear_queues(struct rte_eth_dev *dev) if (txq != NULL) { igc_tx_queue_release_mbufs(txq); igc_reset_tx_queue(txq); + dev->data->tx_queue_state[i] = RTE_ETH_QUEUE_STATE_STOPPED; } } @@ -1959,6 +1961,7 @@ igc_dev_clear_queues(struct rte_eth_dev *dev) if (rxq != NULL) { igc_rx_queue_release_mbufs(rxq); igc_reset_rx_queue(rxq); + dev->data->rx_queue_state[i] = RTE_ETH_QUEUE_STATE_STOPPED; } } } @@ -2204,6 +2207,7 @@ igc_tx_init(struct rte_eth_dev *dev) IGC_TXDCTL_WTHRESH_MSK; txdctl |= IGC_TXDCTL_QUEUE_ENABLE; IGC_WRITE_REG(hw, IGC_TXDCTL(txq->reg_idx), txdctl); + dev->data->tx_queue_state[i] = RTE_ETH_QUEUE_STATE_STARTED; } igc_config_collision_dist(hw); -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-20 11:54:24.487008559 +0100 +++ 0006-net-igc-fix-Rx-and-Tx-queue-status.patch 2023-07-20 11:54:24.241504623 +0100 @@ -1 +1 @@ -From 921ff14280ed8ba7b9d0a898046cf5eadf3d4c8e Mon Sep 17 00:00:00 2001 +From 2091a78c0404ed4e5464559bb2a73978a30ca544 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 921ff14280ed8ba7b9d0a898046cf5eadf3d4c8e ] + @@ -13 +14,0 @@ -Cc: stable@dpdk.org @@ -23 +24 @@ -index c11b6f7f25..5c60e3e997 100644 +index 6c3d207a69..114aa7f0dc 100644 @@ -26 +27 @@ -@@ -1215,6 +1215,7 @@ igc_rx_init(struct rte_eth_dev *dev) +@@ -1308,6 +1308,7 @@ igc_rx_init(struct rte_eth_dev *dev) @@ -34 +35 @@ -@@ -1888,6 +1889,7 @@ igc_dev_clear_queues(struct rte_eth_dev *dev) +@@ -1951,6 +1952,7 @@ igc_dev_clear_queues(struct rte_eth_dev *dev) @@ -42 +43 @@ -@@ -1896,6 +1898,7 @@ igc_dev_clear_queues(struct rte_eth_dev *dev) +@@ -1959,6 +1961,7 @@ igc_dev_clear_queues(struct rte_eth_dev *dev) @@ -50 +51 @@ -@@ -2143,6 +2146,7 @@ igc_tx_init(struct rte_eth_dev *dev) +@@ -2204,6 +2207,7 @@ igc_tx_init(struct rte_eth_dev *dev) @@ -57 +58 @@ - if (offloads & RTE_ETH_TX_OFFLOAD_SEND_ON_TIMESTAMP) { + igc_config_collision_dist(hw); ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/e1000: fix Rx and Tx queue status' has been queued to stable release 20.11.9 2023-07-20 10:58 ` patch 'doc: fix typos and wording in flow API guide' " luca.boccassi ` (4 preceding siblings ...) 2023-07-20 10:58 ` patch 'net/igc: " luca.boccassi @ 2023-07-20 10:58 ` luca.boccassi 2023-07-20 10:58 ` patch 'net/mlx5: fix LRO TCP checksum' " luca.boccassi 2023-07-20 10:58 ` patch 'doc: update BIOS settings and supported HW for NTB' " luca.boccassi 7 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-20 10:58 UTC (permalink / raw) To: Qiming Yang; +Cc: Mingjin Ye, Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/22/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/32e5493917bc105a6b71223900c7b0e0e3a5810f Thanks. Luca Boccassi --- From 32e5493917bc105a6b71223900c7b0e0e3a5810f Mon Sep 17 00:00:00 2001 From: Qiming Yang <qiming.yang@intel.com> Date: Wed, 12 Jul 2023 08:31:53 +0000 Subject: [PATCH] net/e1000: fix Rx and Tx queue status [ upstream commit b2a0271188f3428ad5dc1ea600e1e2254b9d6781 ] Igb driver don't enable queue start/stop functions, queue status is not updated when the HW queue enabled or disabled. It caused application can't get correct queue status. This patch fixes the issue by updating the queue states when the queue is disabled or enabled. Fixes: be2d648a2dd3 ("igb: add PF support") Signed-off-by: Qiming Yang <qiming.yang@intel.com> Signed-off-by: Mingjin Ye <mingjinx.ye@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/e1000/igb_rxtx.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/e1000/igb_rxtx.c b/drivers/net/e1000/igb_rxtx.c index 2c8b1a0c8c..a655279d9e 100644 --- a/drivers/net/e1000/igb_rxtx.c +++ b/drivers/net/e1000/igb_rxtx.c @@ -1872,6 +1872,7 @@ igb_dev_clear_queues(struct rte_eth_dev *dev) if (txq != NULL) { igb_tx_queue_release_mbufs(txq); igb_reset_tx_queue(txq, dev); + dev->data->tx_queue_state[i] = RTE_ETH_QUEUE_STATE_STOPPED; } } @@ -1880,6 +1881,7 @@ igb_dev_clear_queues(struct rte_eth_dev *dev) if (rxq != NULL) { igb_rx_queue_release_mbufs(rxq); igb_reset_rx_queue(rxq); + dev->data->rx_queue_state[i] = RTE_ETH_QUEUE_STATE_STOPPED; } } } @@ -2461,6 +2463,7 @@ eth_igb_rx_init(struct rte_eth_dev *dev) rxdctl |= ((rxq->hthresh & 0x1F) << 8); rxdctl |= ((rxq->wthresh & 0x1F) << 16); E1000_WRITE_REG(hw, E1000_RXDCTL(rxq->reg_idx), rxdctl); + dev->data->rx_queue_state[i] = RTE_ETH_QUEUE_STATE_STARTED; } if (dev->data->dev_conf.rxmode.offloads & DEV_RX_OFFLOAD_SCATTER) { @@ -2625,6 +2628,7 @@ eth_igb_tx_init(struct rte_eth_dev *dev) txdctl |= ((txq->wthresh & 0x1F) << 16); txdctl |= E1000_TXDCTL_QUEUE_ENABLE; E1000_WRITE_REG(hw, E1000_TXDCTL(txq->reg_idx), txdctl); + dev->data->tx_queue_state[i] = RTE_ETH_QUEUE_STATE_STARTED; } /* Program the Transmit Control Register. */ -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-20 11:54:24.526537556 +0100 +++ 0007-net-e1000-fix-Rx-and-Tx-queue-status.patch 2023-07-20 11:54:24.245504686 +0100 @@ -1 +1 @@ -From b2a0271188f3428ad5dc1ea600e1e2254b9d6781 Mon Sep 17 00:00:00 2001 +From 32e5493917bc105a6b71223900c7b0e0e3a5810f Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit b2a0271188f3428ad5dc1ea600e1e2254b9d6781 ] + @@ -13 +14,0 @@ -Cc: stable@dpdk.org @@ -23 +24 @@ -index 25ad9eb4e5..61c6394310 100644 +index 2c8b1a0c8c..a655279d9e 100644 @@ -26 +27 @@ -@@ -1854,6 +1854,7 @@ igb_dev_clear_queues(struct rte_eth_dev *dev) +@@ -1872,6 +1872,7 @@ igb_dev_clear_queues(struct rte_eth_dev *dev) @@ -34 +35 @@ -@@ -1862,6 +1863,7 @@ igb_dev_clear_queues(struct rte_eth_dev *dev) +@@ -1880,6 +1881,7 @@ igb_dev_clear_queues(struct rte_eth_dev *dev) @@ -42 +43 @@ -@@ -2442,6 +2444,7 @@ eth_igb_rx_init(struct rte_eth_dev *dev) +@@ -2461,6 +2463,7 @@ eth_igb_rx_init(struct rte_eth_dev *dev) @@ -49,2 +50,2 @@ - if (dev->data->dev_conf.rxmode.offloads & RTE_ETH_RX_OFFLOAD_SCATTER) { -@@ -2606,6 +2609,7 @@ eth_igb_tx_init(struct rte_eth_dev *dev) + if (dev->data->dev_conf.rxmode.offloads & DEV_RX_OFFLOAD_SCATTER) { +@@ -2625,6 +2628,7 @@ eth_igb_tx_init(struct rte_eth_dev *dev) ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'net/mlx5: fix LRO TCP checksum' has been queued to stable release 20.11.9 2023-07-20 10:58 ` patch 'doc: fix typos and wording in flow API guide' " luca.boccassi ` (5 preceding siblings ...) 2023-07-20 10:58 ` patch 'net/e1000: " luca.boccassi @ 2023-07-20 10:58 ` luca.boccassi 2023-07-20 10:58 ` patch 'doc: update BIOS settings and supported HW for NTB' " luca.boccassi 7 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-20 10:58 UTC (permalink / raw) To: Heng Jiang; +Cc: Viacheslav Ovsiienko, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/22/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/09c57bff240fa74e6ac389516dce60f4da998b97 Thanks. Luca Boccassi --- From 09c57bff240fa74e6ac389516dce60f4da998b97 Mon Sep 17 00:00:00 2001 From: Heng Jiang <jiangheng14@huawei.com> Date: Tue, 18 Jul 2023 11:56:13 +0300 Subject: [PATCH] net/mlx5: fix LRO TCP checksum [ upstream commit 776209c4b865ad3e0eaff202c5ff7358b8f5ab57 ] The variable csum is the sum of three 16 bits integers, the max value is 0x2FFFD. The corner case of sum of 3 is 0x1FFFF gives the wrong result: 0x1 + 0xFFFF = 0x10000, the upper 16 bits are not 0. It must be folded again to ensure that the upper 16 bits are 0. Fixes: e4c2a16eb1de ("net/mlx5: handle LRO packets in Rx queue") Signed-off-by: Heng Jiang <jiangheng14@huawei.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> --- drivers/net/mlx5/mlx5_rxtx.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c index c8f24dd4ef..ed22612737 100644 --- a/drivers/net/mlx5/mlx5_rxtx.c +++ b/drivers/net/mlx5/mlx5_rxtx.c @@ -1620,6 +1620,7 @@ mlx5_lro_update_tcp_hdr(struct rte_tcp_hdr *__rte_restrict tcp, tcp->cksum = 0; csum += rte_raw_cksum(tcp, (tcp->data_off >> 4) * 4); csum = ((csum & 0xffff0000) >> 16) + (csum & 0xffff); + csum = ((csum & 0xffff0000) >> 16) + (csum & 0xffff); csum = (~csum) & 0xffff; if (csum == 0) csum = 0xffff; -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-20 11:54:24.566507997 +0100 +++ 0008-net-mlx5-fix-LRO-TCP-checksum.patch 2023-07-20 11:54:24.249504750 +0100 @@ -1 +1 @@ -From 776209c4b865ad3e0eaff202c5ff7358b8f5ab57 Mon Sep 17 00:00:00 2001 +From 09c57bff240fa74e6ac389516dce60f4da998b97 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 776209c4b865ad3e0eaff202c5ff7358b8f5ab57 ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -17,3 +18,2 @@ - .mailmap | 1 + - drivers/net/mlx5/mlx5_rx.c | 1 + - 2 files changed, 2 insertions(+) + drivers/net/mlx5/mlx5_rxtx.c | 1 + + 1 file changed, 1 insertion(+) @@ -21,17 +21,5 @@ -diff --git a/.mailmap b/.mailmap -index 9ce554451b..864d33ee46 100644 ---- a/.mailmap -+++ b/.mailmap -@@ -496,6 +496,7 @@ Helin Zhang <helin.zhang@intel.com> - Hemant Agrawal <hemant.agrawal@nxp.com> <hemant@freescale.com> - Heng Ding <hengx.ding@intel.com> - Hengjian Zhang <hengjianx.zhang@intel.com> -+Heng Jiang <jiangheng14@huawei.com> - Heng Wang <heng.wang@ericsson.com> - Henning Schild <henning.schild@siemens.com> - Henry Cai <caihe@huawei.com> -diff --git a/drivers/net/mlx5/mlx5_rx.c b/drivers/net/mlx5/mlx5_rx.c -index 71c4638251..392784050f 100644 ---- a/drivers/net/mlx5/mlx5_rx.c -+++ b/drivers/net/mlx5/mlx5_rx.c -@@ -1090,6 +1090,7 @@ mlx5_lro_update_tcp_hdr(struct rte_tcp_hdr *__rte_restrict tcp, +diff --git a/drivers/net/mlx5/mlx5_rxtx.c b/drivers/net/mlx5/mlx5_rxtx.c +index c8f24dd4ef..ed22612737 100644 +--- a/drivers/net/mlx5/mlx5_rxtx.c ++++ b/drivers/net/mlx5/mlx5_rxtx.c +@@ -1620,6 +1620,7 @@ mlx5_lro_update_tcp_hdr(struct rte_tcp_hdr *__rte_restrict tcp, ^ permalink raw reply [flat|nested] 113+ messages in thread
* patch 'doc: update BIOS settings and supported HW for NTB' has been queued to stable release 20.11.9 2023-07-20 10:58 ` patch 'doc: fix typos and wording in flow API guide' " luca.boccassi ` (6 preceding siblings ...) 2023-07-20 10:58 ` patch 'net/mlx5: fix LRO TCP checksum' " luca.boccassi @ 2023-07-20 10:58 ` luca.boccassi 7 siblings, 0 replies; 113+ messages in thread From: luca.boccassi @ 2023-07-20 10:58 UTC (permalink / raw) To: Junfeng Guo; +Cc: Jingjing Wu, dpdk stable Hi, FYI, your patch has been queued to stable release 20.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 07/22/23. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/bluca/dpdk-stable This queued commit can be viewed at: https://github.com/bluca/dpdk-stable/commit/246c48341380e4dc4f1074ecdc9c3153feb02bb7 Thanks. Luca Boccassi --- From 246c48341380e4dc4f1074ecdc9c3153feb02bb7 Mon Sep 17 00:00:00 2001 From: Junfeng Guo <junfeng.guo@intel.com> Date: Mon, 3 Jul 2023 17:24:34 +0800 Subject: [PATCH] doc: update BIOS settings and supported HW for NTB [ upstream commit 00e57b0e550b7df2047e6d0bde8965c7ae17d203 ] Update BIOS settings and supported platform list for Intel NTB. Fixes: f5057be340e4 ("raw/ntb: support Intel Ice Lake") Signed-off-by: Junfeng Guo <junfeng.guo@intel.com> Acked-by: Jingjing Wu <jingjing.wu@intel.com> --- doc/guides/rawdevs/ntb.rst | 36 +++++++++++++++++++++++------------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/doc/guides/rawdevs/ntb.rst b/doc/guides/rawdevs/ntb.rst index 2bb115d13f..f8befc6594 100644 --- a/doc/guides/rawdevs/ntb.rst +++ b/doc/guides/rawdevs/ntb.rst @@ -1,6 +1,8 @@ .. SPDX-License-Identifier: BSD-3-Clause Copyright(c) 2018 Intel Corporation. +.. include:: <isonum.txt> + NTB Rawdev Driver ================= @@ -17,19 +19,23 @@ some information by using scratchpad registers. BIOS setting on Intel Xeon -------------------------- -Intel Non-transparent Bridge needs special BIOS setting. The reference for -Skylake is https://www.intel.com/content/dam/support/us/en/documents/server-products/Intel_Xeon_Processor_Scalable_Family_BIOS_User_Guide.pdf - -- Set the needed PCIe port as NTB to NTB mode on both hosts. -- Enable NTB bars and set bar size of bar 23 and bar 45 as 12-29 (4K-512M) - on both hosts (for Ice Lake, bar size can be set as 12-51, namely 4K-128PB). - Note that bar size on both hosts should be the same. -- Disable split bars for both hosts. -- Set crosslink control override as DSD/USP on one host, USD/DSP on - another host. -- Disable PCIe PII SSC (Spread Spectrum Clocking) for both hosts. This - is a hardware requirement. +Intel Non-transparent Bridge (NTB) needs special BIOS settings on both systems. +Note that for 4th Generation Intel\ |reg| Xeon\ |reg| Scalable Processors, +option ``Port Subsystem Mode`` should be changed from ``Gen5`` to ``Gen4 Only``, +then reboot. +- Set ``Non-Transparent Bridge PCIe Port Definition`` for needed PCIe ports + as ``NTB to NTB`` mode, on both hosts. +- Set ``Enable NTB BARs`` as ``Enabled``, on both hosts. +- Set ``Enable SPLIT BARs`` as ``Disabled``, on both hosts. +- Set ``Imbar1 Size``, ``Imbar2 Size``, ``Embar1 Size`` and ``Embar2 Size``, + as 12-29 (i.e., 4K-512M) for 2nd Generation Intel\ |reg| Xeon\ |reg| Scalable Processors; + as 12-51 (i.e., 4K-128PB) for 3rd and 4th Generation Intel\ |reg| Xeon\ |reg| Scalable Processors. + Note that those bar sizes on both hosts should be the same. +- Set ``Crosslink Control override`` as ``DSD/USP`` on one host, + ``USD/DSP`` on another host. +- Set ``PCIe PLL SSC (Spread Spectrum Clocking)`` as ``Disabled``, on both hosts. + This is a hardware requirement when using Re-timer Cards. Device Setup ------------ @@ -145,4 +151,8 @@ like the following: Limitation ---------- -- This PMD only supports Intel Skylake and Ice Lake platforms. +This PMD is only supported on Intel Xeon Platforms: + +- 4th Generation Intel® Xeon® Scalable Processors. +- 3rd Generation Intel® Xeon® Scalable Processors. +- 2nd Generation Intel® Xeon® Scalable Processors. -- 2.39.2 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2023-07-20 11:54:24.606634726 +0100 +++ 0009-doc-update-BIOS-settings-and-supported-HW-for-NTB.patch 2023-07-20 11:54:24.253504813 +0100 @@ -1 +1 @@ -From 00e57b0e550b7df2047e6d0bde8965c7ae17d203 Mon Sep 17 00:00:00 2001 +From 246c48341380e4dc4f1074ecdc9c3153feb02bb7 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 00e57b0e550b7df2047e6d0bde8965c7ae17d203 ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org ^ permalink raw reply [flat|nested] 113+ messages in thread
end of thread, other threads:[~2023-07-20 10:59 UTC | newest] Thread overview: 113+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-06-15 1:31 patch 'kni: fix build with Linux 6.3' has been queued to stable release 20.11.9 luca.boccassi 2023-06-15 1:31 ` patch 'examples/ip_pipeline: fix build with GCC 13' " luca.boccassi 2023-06-15 1:31 ` patch 'examples/ntb: " luca.boccassi 2023-06-15 1:31 ` patch 'ring: fix use after free' " luca.boccassi 2023-06-15 1:32 ` patch 'vfio: fix include with musl runtime' " luca.boccassi 2023-06-15 1:32 ` patch 'kernel/freebsd: fix function parameter list' " luca.boccassi 2023-06-15 1:32 ` patch 'build: fix case of project language name' " luca.boccassi 2023-06-15 1:32 ` patch 'telemetry: fix autotest on Alpine' " luca.boccassi 2023-06-15 1:32 ` patch 'test/malloc: fix missing free' " luca.boccassi 2023-06-15 1:32 ` patch 'test/malloc: fix statistics checks' " luca.boccassi 2023-06-15 1:32 ` patch 'eal: avoid calling cleanup twice' " luca.boccassi 2023-06-15 1:32 ` patch 'pci: fix comment referencing renamed function' " luca.boccassi 2023-06-15 1:32 ` patch 'eal/x86: improve multiple of 64 bytes memcpy performance' " luca.boccassi 2023-06-15 1:32 ` patch 'eventdev/timer: fix timeout event wait behavior' " luca.boccassi 2023-06-15 1:32 ` patch 'doc: fix event timer adapter guide' " luca.boccassi 2023-06-15 1:32 ` patch 'event/dsw: free rings on close' " luca.boccassi 2023-06-15 1:32 ` patch 'eventdev/timer: fix buffer flush' " luca.boccassi 2023-06-15 1:32 ` patch 'eal/linux: fix secondary process crash for mp hotplug' " luca.boccassi 2023-06-15 1:32 ` patch 'eal/linux: fix legacy mem init with many segments' " luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix build warning' " luca.boccassi 2023-06-15 1:32 ` patch 'net/tap: set locally administered bit for fixed MAC address' " luca.boccassi 2023-06-15 1:32 ` patch 'net/dpaa2: fix checksum good flags' " luca.boccassi 2023-06-15 1:32 ` patch 'app/testpmd: fix GTP L2 length in checksum engine' " luca.boccassi 2023-06-15 1:32 ` patch 'net/vmxnet3: fix drop of empty segments in Tx' " luca.boccassi 2023-06-15 1:32 ` patch 'net/txgbe: fix use-after-free on remove' " luca.boccassi 2023-06-15 1:32 ` patch 'ethdev: fix MAC address occupies two entries' " luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix variable type mismatch' " luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix Rx multiple firmware reset interrupts' " luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix FEC mode for 200G ports' " luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix FEC mode check' " luca.boccassi 2023-06-15 1:32 ` patch 'doc: fix format in flow API guide' " luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix mbuf leakage when RxQ started during reset' " luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix mbuf leakage when RxQ started after " luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix device start return value' " luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix uninitialized variable' " luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix inaccurate log' " luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix redundant line break in " luca.boccassi 2023-06-15 1:32 ` patch 'net/hns3: fix IMP reset trigger' " luca.boccassi 2023-06-15 1:32 ` patch 'net/nfp: fix offloading flows' " luca.boccassi 2023-06-15 1:32 ` patch 'net/vmxnet3: fix return code in initializing' " luca.boccassi 2023-06-15 1:32 ` patch 'doc: fix auth algos in cryptoperf app' " luca.boccassi 2023-06-15 1:32 ` patch 'crypto/scheduler: fix last element for valid args' " luca.boccassi 2023-06-15 1:32 ` patch 'test/crypto: fix session creation check' " luca.boccassi 2023-06-15 1:32 ` patch 'vhost: fix invalid call FD handling' " luca.boccassi 2023-06-15 1:32 ` patch 'net/virtio: fix initialization to return negative errno' " luca.boccassi 2023-06-15 1:32 ` patch 'net/virtio-user: fix leak when initialisation fails' " luca.boccassi 2023-06-15 1:32 ` patch 'net/mlx5: enhance error log for tunnel offloading' " luca.boccassi 2023-06-15 1:32 ` patch 'net/mlx5: fix duplicated tag index matching in SWS' " luca.boccassi 2023-06-15 1:32 ` patch 'net/qede: fix RSS indirection table initialization' " luca.boccassi 2023-06-15 1:32 ` patch 'doc: fix typo in cnxk platform guide' " luca.boccassi 2023-06-15 1:32 ` patch 'net/i40e: fix Rx data buffer size' " luca.boccassi 2023-06-15 1:32 ` patch 'net/ice: " luca.boccassi 2023-06-15 1:32 ` patch 'net/iavf: " luca.boccassi 2023-06-15 1:32 ` patch 'net/ice: fix statistics' " luca.boccassi 2023-06-15 1:32 ` patch 'net/ice: fix DCF RSS initialization' " luca.boccassi 2023-06-15 1:32 ` patch 'net/iavf: release large VF when closing device' " luca.boccassi 2023-06-15 1:32 ` patch 'net/ice: fix DCF control thread crash' " luca.boccassi 2023-06-15 1:32 ` patch 'net/ice/base: remove unreachable code' " luca.boccassi 2023-06-15 1:32 ` patch 'net/ice: fix outer UDP checksum offload' " luca.boccassi 2023-06-15 1:32 ` patch 'net/iavf: fix virtchnl command called in interrupt' " luca.boccassi 2023-06-15 1:32 ` patch 'test/mbuf: fix crash in a forked process' " luca.boccassi 2023-06-15 1:32 ` patch 'doc: fix typo in graph guide' " luca.boccassi 2023-06-15 1:32 ` patch 'doc: remove warning with Doxygen 1.9.7' " luca.boccassi 2023-06-28 14:10 ` patch 'examples/l2fwd-cat: fix external build' " luca.boccassi 2023-06-28 14:10 ` patch 'test: add graph tests' " luca.boccassi 2023-06-28 14:55 ` David Marchand 2023-06-28 14:10 ` patch 'mbuf: fix Doxygen comment of distributor metadata' " luca.boccassi 2023-06-28 14:10 ` patch 'crypto/openssl: skip workaround at compilation time' " luca.boccassi 2023-06-28 14:10 ` patch 'ethdev: update documentation for API to set FEC' " luca.boccassi 2023-06-28 14:10 ` patch 'ethdev: check that at least one FEC mode is specified' " luca.boccassi 2023-06-28 14:10 ` patch 'ethdev: update documentation for API to get FEC' " luca.boccassi 2023-06-28 14:10 ` patch 'net/bonding: fix startup when NUMA is not supported' " luca.boccassi 2023-06-28 14:10 ` patch 'net/bonding: fix destroy dedicated queues flow' " luca.boccassi 2023-06-28 14:10 ` patch 'net/txgbe/base: fix Tx with fiber hotplug' " luca.boccassi 2023-06-28 14:10 ` patch 'net/txgbe: fix to set autoneg for 1G speed' " luca.boccassi 2023-06-28 14:10 ` patch 'net/txgbe: fix extended statistics' " luca.boccassi 2023-06-28 14:10 ` patch 'net/nfp: fix address always related with PF ID 0' " luca.boccassi 2023-06-28 14:10 ` patch 'common/sfc_efx/base: fix Rx queue without RSS hash prefix' " luca.boccassi 2023-06-28 14:10 ` patch 'net/ice: fix tunnel packet Tx descriptor' " luca.boccassi 2023-06-28 14:10 ` patch 'net/ixgbe: add proper memory barriers in Rx' " luca.boccassi 2023-06-28 14:10 ` patch 'net/iavf: fix abnormal disable HW interrupt' " luca.boccassi 2023-06-28 14:10 ` patch 'net/i40e: fix tunnel packet Tx descriptor' " luca.boccassi 2023-06-28 14:10 ` patch 'net/e1000: fix queue number initialization' " luca.boccassi 2023-06-28 14:10 ` patch 'net/mlx5: fix risk in NEON Rx descriptor read' " luca.boccassi 2023-06-28 14:10 ` patch 'net/mlx5: fix device removal event handling' " luca.boccassi 2023-06-28 14:10 ` patch 'common/mlx5: adjust fork call with new kernel API' " luca.boccassi 2023-07-14 22:34 ` patch 'ipc: fix file descriptor leakage with unhandled messages' " luca.boccassi 2023-07-14 22:34 ` patch 'fib: fix adding default route' " luca.boccassi 2023-07-14 22:34 ` patch 'mem: fix memsegs exhausted message' " luca.boccassi 2023-07-14 22:34 ` patch 'net/netvsc: fix sizeof calculation' " luca.boccassi 2023-07-14 22:34 ` patch 'app/testpmd: fix checksum engine with GTP on 32-bit' " luca.boccassi 2023-07-14 22:34 ` patch 'net/hns3: fix non-zero weight for disabled TC' " luca.boccassi 2023-07-14 22:34 ` patch 'net/hns3: fix index to look up table in NEON Rx' " luca.boccassi 2023-07-14 22:34 ` patch 'ethdev: fix potential leak in PCI probing helper' " luca.boccassi 2023-07-14 22:34 ` patch 'net/mlx5: forbid MPRQ restart' " luca.boccassi 2023-07-14 22:34 ` patch 'net/ice: fix 32-bit build' " luca.boccassi 2023-07-14 22:34 ` patch 'net/ice: fix RSS hash key generation' " luca.boccassi 2023-07-14 22:34 ` patch 'baseband/fpga_5gnr_fec: fix possible division by zero' " luca.boccassi 2023-07-14 22:34 ` patch 'baseband/fpga_5gnr_fec: fix starting unconfigured queue' " luca.boccassi 2023-07-14 22:34 ` patch 'test/crypto: fix PDCP-SDAP test vectors' " luca.boccassi 2023-07-14 22:34 ` patch 'examples/fips_validation: fix digest length in AES-GCM' " luca.boccassi 2023-07-14 22:34 ` patch 'app/crypto-perf: fix socket ID default value' " luca.boccassi 2023-07-14 22:34 ` patch 'examples/ipsec-secgw: fix TAP default MAC address' " luca.boccassi 2023-07-14 22:34 ` patch 'kni: fix build with Linux 6.5' " luca.boccassi 2023-07-20 10:58 ` patch 'doc: fix typos and wording in flow API guide' " luca.boccassi 2023-07-20 10:58 ` patch 'net/i40e: fix comments' " luca.boccassi 2023-07-20 10:58 ` patch 'net/iavf: fix stop ordering' " luca.boccassi 2023-07-20 10:58 ` patch 'common/iavf: fix MAC type for 710 NIC' " luca.boccassi 2023-07-20 10:58 ` patch 'net/ixgbe: fix Rx and Tx queue status' " luca.boccassi 2023-07-20 10:58 ` patch 'net/igc: " luca.boccassi 2023-07-20 10:58 ` patch 'net/e1000: " luca.boccassi 2023-07-20 10:58 ` patch 'net/mlx5: fix LRO TCP checksum' " luca.boccassi 2023-07-20 10:58 ` patch 'doc: update BIOS settings and supported HW for NTB' " luca.boccassi
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).