Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/74ad940af86530ca9d97bffda81680c7a8c46dcf Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 74ad940af86530ca9d97bffda81680c7a8c46dcf Mon Sep 17 00:00:00 2001 From: Jiawei Wang <jiaweiw@nvidia.com> Date: Fri, 4 Jun 2021 16:37:33 +0300 Subject: [PATCH] app/testpmd: fix NVGRE encap configuration [ upstream commit 9b0da816bdec98c0d6c5d17ccdd337bdbafc3f75 ] For NVGRE protocol, the default value of 'c_k_s_rsvd0_ver' must be 0x2000, and protocol type must be 0x6558 in the NVGRE header. This patch updates these two configurations while parsing the nvgre encap. Fixes: dcd962fc6b4e ("app/testpmd: add NVGRE encap/decap") Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com> --- app/test-pmd/cmdline_flow.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index da3533c557..0b76f7ef21 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -4250,7 +4250,11 @@ parse_vc_action_nvgre_encap(struct context *ctx, const struct token *token, .src_addr = nvgre_encap_conf.ipv4_src, .dst_addr = nvgre_encap_conf.ipv4_dst, }, - .item_nvgre.flow_id = 0, + .item_nvgre = { + .c_k_s_rsvd0_ver = RTE_BE16(0x2000), + .protocol = RTE_BE16(RTE_ETHER_TYPE_TEB), + .flow_id = 0, + }, }; memcpy(action_nvgre_encap_data->item_eth.dst.addr_bytes, nvgre_encap_conf.eth_dst, RTE_ETHER_ADDR_LEN); -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:58.154873537 +0200 +++ 0001-app-testpmd-fix-NVGRE-encap-configuration.patch 2021-06-10 14:04:57.986024050 +0200 @@ -1 +1 @@ -From 9b0da816bdec98c0d6c5d17ccdd337bdbafc3f75 Mon Sep 17 00:00:00 2001 +From 74ad940af86530ca9d97bffda81680c7a8c46dcf Mon Sep 17 00:00:00 2001 @@ -3 +3 @@ -Date: Tue, 16 Mar 2021 06:18:27 +0200 +Date: Fri, 4 Jun 2021 16:37:33 +0300 @@ -5,0 +6,2 @@ +[ upstream commit 9b0da816bdec98c0d6c5d17ccdd337bdbafc3f75 ] + @@ -14 +15,0 @@ -Cc: stable@dpdk.org @@ -17 +17,0 @@ -Acked-by: Ori Kam <orika@nvidia.com> @@ -19,2 +19,2 @@ - app/test-pmd/cmdline_flow.c | 2 ++ - 1 file changed, 2 insertions(+) + app/test-pmd/cmdline_flow.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) @@ -23 +23 @@ -index 49d9f9c043..2c40c6996e 100644 +index da3533c557..0b76f7ef21 100644 @@ -26 +26 @@ -@@ -5439,6 +5439,8 @@ parse_vc_action_nvgre_encap(struct context *ctx, const struct token *token, +@@ -4250,7 +4250,11 @@ parse_vc_action_nvgre_encap(struct context *ctx, const struct token *token, @@ -30,3 +30,6 @@ -+ .item_nvgre.c_k_s_rsvd0_ver = RTE_BE16(0x2000), -+ .item_nvgre.protocol = RTE_BE16(RTE_ETHER_TYPE_TEB), - .item_nvgre.flow_id = 0, +- .item_nvgre.flow_id = 0, ++ .item_nvgre = { ++ .c_k_s_rsvd0_ver = RTE_BE16(0x2000), ++ .protocol = RTE_BE16(RTE_ETHER_TYPE_TEB), ++ .flow_id = 0, ++ }, @@ -34,0 +38 @@ + nvgre_encap_conf.eth_dst, RTE_ETHER_ADDR_LEN);
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/d1610c3b793e8458c9392f4f5dffe02f40d400cb Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From d1610c3b793e8458c9392f4f5dffe02f40d400cb Mon Sep 17 00:00:00 2001 From: Christian Ehrhardt <christian.ehrhardt@canonical.com> Date: Thu, 10 Jun 2021 10:24:05 +0200 Subject: [PATCH] Revert "kni: fix compilation on SLES15-SP3" This reverts commit de7bca5de2e3d605ef9977bd6eba8aa565af01fd. It was found that this breaks other SUSE versions. We will pick the final fix from main once we have it. --- kernel/linux/kni/compat.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/kernel/linux/kni/compat.h b/kernel/linux/kni/compat.h index 70e014fd1d..5f65640d5e 100644 --- a/kernel/linux/kni/compat.h +++ b/kernel/linux/kni/compat.h @@ -133,9 +133,7 @@ #if KERNEL_VERSION(5, 6, 0) <= LINUX_VERSION_CODE || \ (defined(RHEL_RELEASE_CODE) && \ - RHEL_RELEASE_VERSION(8, 3) <= RHEL_RELEASE_CODE) || \ - (defined(CONFIG_SUSE_KERNEL) && \ - KERNEL_VERSION(5, 3, 18) <= LINUX_VERSION_CODE) + RHEL_RELEASE_VERSION(8, 3) <= RHEL_RELEASE_CODE) #define HAVE_TX_TIMEOUT_TXQUEUE #endif -- 2.31.1
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/de29f33d90a02f79e64f3a7ad9f6faa0b867ef6d Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From de29f33d90a02f79e64f3a7ad9f6faa0b867ef6d Mon Sep 17 00:00:00 2001 From: David Marchand <david.marchand@redhat.com> Date: Thu, 6 May 2021 10:41:42 +0200 Subject: [PATCH] bus/fslmc: remove unused debug macro [ upstream commit b353f17b6dd80b0c3209cc5dc760f5b8ecff357c ] Fixes: ce9efbf5bb09 ("bus/fslmc: support dynamic logging") Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com> --- drivers/bus/fslmc/fslmc_logs.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/bus/fslmc/fslmc_logs.h b/drivers/bus/fslmc/fslmc_logs.h index dd74cb7dcf..a1e14dd84e 100644 --- a/drivers/bus/fslmc/fslmc_logs.h +++ b/drivers/bus/fslmc/fslmc_logs.h @@ -18,8 +18,6 @@ extern int dpaa2_logtype_bus; rte_log(RTE_LOG_DEBUG, dpaa2_logtype_bus, "fslmc: %s(): " fmt "\n", \ __func__, ##args) -#define BUS_INIT_FUNC_TRACE() DPAA2_BUS_DEBUG(" >>") - #define DPAA2_BUS_INFO(fmt, args...) \ DPAA2_BUS_LOG(INFO, fmt, ## args) #define DPAA2_BUS_ERR(fmt, args...) \ -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:58.241359824 +0200 +++ 0003-bus-fslmc-remove-unused-debug-macro.patch 2021-06-10 14:04:57.990024079 +0200 @@ -1 +1 @@ -From b353f17b6dd80b0c3209cc5dc760f5b8ecff357c Mon Sep 17 00:00:00 2001 +From de29f33d90a02f79e64f3a7ad9f6faa0b867ef6d Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit b353f17b6dd80b0c3209cc5dc760f5b8ecff357c ] + @@ -7 +8,0 @@ -Cc: stable@dpdk.org
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/6285f76a753f831f2e1853766def7ca4f54bb4eb Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 6285f76a753f831f2e1853766def7ca4f54bb4eb Mon Sep 17 00:00:00 2001 From: "Min Hu (Connor)" <humin29@huawei.com> Date: Thu, 22 Apr 2021 14:21:46 +0800 Subject: [PATCH] raw/skeleton: add missing check after setting attribute [ upstream commit b97012825dfad7d30bbd1fa99ec6115eba6135ce ] This patch adds return value check for setting an attribute. Fixes: 88a81bcecb7b ("raw/skeleton: remove compile-time constant for device id") Signed-off-by: Min Hu (Connor) <humin29@huawei.com> --- drivers/raw/skeleton/skeleton_rawdev_test.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/raw/skeleton/skeleton_rawdev_test.c b/drivers/raw/skeleton/skeleton_rawdev_test.c index 1190e28bb7..fa7f4fab5e 100644 --- a/drivers/raw/skeleton/skeleton_rawdev_test.c +++ b/drivers/raw/skeleton/skeleton_rawdev_test.c @@ -291,6 +291,7 @@ test_rawdev_attr_set_get(void) dummy_value = &set_value; *dummy_value = 200; ret = rte_rawdev_set_attr(test_dev_id, "Test2", (uintptr_t)dummy_value); + RTE_TEST_ASSERT(!ret, "Unable to set an attribute (Test2)"); /* Check if attributes have been set */ ret = rte_rawdev_get_attr(test_dev_id, "Test1", &ret_value); -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:58.287275179 +0200 +++ 0004-raw-skeleton-add-missing-check-after-setting-attribu.patch 2021-06-10 14:04:57.994024108 +0200 @@ -1 +1 @@ -From b97012825dfad7d30bbd1fa99ec6115eba6135ce Mon Sep 17 00:00:00 2001 +From 6285f76a753f831f2e1853766def7ca4f54bb4eb Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit b97012825dfad7d30bbd1fa99ec6115eba6135ce ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org @@ -17 +18 @@ -index 1405df080d..484468eeb4 100644 +index 1190e28bb7..fa7f4fab5e 100644 @@ -20 +21 @@ -@@ -295,6 +295,7 @@ test_rawdev_attr_set_get(void) +@@ -291,6 +291,7 @@ test_rawdev_attr_set_get(void)
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/0bc04a9e43521816b2c8bda20127c958bb79454f Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 0bc04a9e43521816b2c8bda20127c958bb79454f Mon Sep 17 00:00:00 2001 From: Chengwen Feng <fengchengwen@huawei.com> Date: Tue, 11 May 2021 18:41:23 +0800 Subject: [PATCH] ipc: use monotonic clock MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit cc994d3922b7cd464d84fbef110dd65348e0a0da ] Currently, the mp uses gettimeofday() API to get the time, and used as timeout parameter. But the time which gets from gettimeofday() API isn't monotonically increasing. The process may fail if the system time is changed. This fixes it by using clock_gettime() API with monotonic attribution. Fixes: 783b6e54971d ("eal: add synchronous multi-process communication") Fixes: f05e26051c15 ("eal: add IPC asynchronous request") Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Signed-off-by: Min Hu (Connor) <humin29@huawei.com> Acked-by: Morten Brørup <mb@smartsharesystems.com> --- lib/librte_eal/common/eal_common_proc.c | 27 ++++++++++++------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/lib/librte_eal/common/eal_common_proc.c b/lib/librte_eal/common/eal_common_proc.c index 13ae2b915e..922569f3f5 100644 --- a/lib/librte_eal/common/eal_common_proc.c +++ b/lib/librte_eal/common/eal_common_proc.c @@ -483,14 +483,11 @@ async_reply_handle_thread_unsafe(void *arg) struct pending_request *req = (struct pending_request *)arg; enum async_action action; struct timespec ts_now; - struct timeval now; - if (gettimeofday(&now, NULL) < 0) { + if (clock_gettime(CLOCK_MONOTONIC, &ts_now) < 0) { RTE_LOG(ERR, EAL, "Cannot get current time\n"); goto no_trigger; } - ts_now.tv_nsec = now.tv_usec * 1000; - ts_now.tv_sec = now.tv_sec; action = process_async_request(req, &ts_now); @@ -884,6 +881,7 @@ mp_request_sync(const char *dst, struct rte_mp_msg *req, struct rte_mp_reply *reply, const struct timespec *ts) { int ret; + pthread_condattr_t attr; struct rte_mp_msg msg, *tmp; struct pending_request pending_req, *exist; @@ -892,7 +890,9 @@ mp_request_sync(const char *dst, struct rte_mp_msg *req, strlcpy(pending_req.dst, dst, sizeof(pending_req.dst)); pending_req.request = req; pending_req.reply = &msg; - pthread_cond_init(&pending_req.sync.cond, NULL); + pthread_condattr_init(&attr); + pthread_condattr_setclock(&attr, CLOCK_MONOTONIC); + pthread_cond_init(&pending_req.sync.cond, &attr); exist = find_pending_request(dst, req->name); if (exist) { @@ -955,8 +955,7 @@ rte_mp_request_sync(struct rte_mp_msg *req, struct rte_mp_reply *reply, int dir_fd, ret = -1; DIR *mp_dir; struct dirent *ent; - struct timeval now; - struct timespec end; + struct timespec now, end; RTE_LOG(DEBUG, EAL, "request: %s\n", req->name); @@ -973,15 +972,15 @@ rte_mp_request_sync(struct rte_mp_msg *req, struct rte_mp_reply *reply, return -1; } - if (gettimeofday(&now, NULL) < 0) { + if (clock_gettime(CLOCK_MONOTONIC, &now) < 0) { RTE_LOG(ERR, EAL, "Failed to get current time\n"); rte_errno = errno; goto end; } - end.tv_nsec = (now.tv_usec * 1000 + ts->tv_nsec) % 1000000000; + end.tv_nsec = (now.tv_nsec + ts->tv_nsec) % 1000000000; end.tv_sec = now.tv_sec + ts->tv_sec + - (now.tv_usec * 1000 + ts->tv_nsec) / 1000000000; + (now.tv_nsec + ts->tv_nsec) / 1000000000; /* for secondary process, send request to the primary process only */ if (rte_eal_process_type() == RTE_PROC_SECONDARY) { @@ -1055,7 +1054,7 @@ rte_mp_request_async(struct rte_mp_msg *req, const struct timespec *ts, int dir_fd, ret = 0; DIR *mp_dir; struct dirent *ent; - struct timeval now; + struct timespec now; struct timespec *end; bool dummy_used = false; @@ -1070,7 +1069,7 @@ rte_mp_request_async(struct rte_mp_msg *req, const struct timespec *ts, return -1; } - if (gettimeofday(&now, NULL) < 0) { + if (clock_gettime(CLOCK_MONOTONIC, &now) < 0) { RTE_LOG(ERR, EAL, "Failed to get current time\n"); rte_errno = errno; return -1; @@ -1092,9 +1091,9 @@ rte_mp_request_async(struct rte_mp_msg *req, const struct timespec *ts, end = ¶m->end; reply = ¶m->user_reply; - end->tv_nsec = (now.tv_usec * 1000 + ts->tv_nsec) % 1000000000; + end->tv_nsec = (now.tv_nsec + ts->tv_nsec) % 1000000000; end->tv_sec = now.tv_sec + ts->tv_sec + - (now.tv_usec * 1000 + ts->tv_nsec) / 1000000000; + (now.tv_nsec + ts->tv_nsec) / 1000000000; reply->nb_sent = 0; reply->nb_received = 0; reply->msgs = NULL; -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:58.336059988 +0200 +++ 0005-ipc-use-monotonic-clock.patch 2021-06-10 14:04:57.998024139 +0200 @@ -1 +1 @@ -From cc994d3922b7cd464d84fbef110dd65348e0a0da Mon Sep 17 00:00:00 2001 +From 0bc04a9e43521816b2c8bda20127c958bb79454f Mon Sep 17 00:00:00 2001 @@ -8,0 +9,2 @@ +[ upstream commit cc994d3922b7cd464d84fbef110dd65348e0a0da ] + @@ -19 +20,0 @@ -Cc: stable@dpdk.org @@ -25 +26 @@ - lib/eal/common/eal_common_proc.c | 27 +++++++++++++-------------- + lib/librte_eal/common/eal_common_proc.c | 27 ++++++++++++------------- @@ -28,5 +29,5 @@ -diff --git a/lib/eal/common/eal_common_proc.c b/lib/eal/common/eal_common_proc.c -index 6d1af3c0e7..dc4a2efa82 100644 ---- a/lib/eal/common/eal_common_proc.c -+++ b/lib/eal/common/eal_common_proc.c -@@ -490,14 +490,11 @@ async_reply_handle_thread_unsafe(void *arg) +diff --git a/lib/librte_eal/common/eal_common_proc.c b/lib/librte_eal/common/eal_common_proc.c +index 13ae2b915e..922569f3f5 100644 +--- a/lib/librte_eal/common/eal_common_proc.c ++++ b/lib/librte_eal/common/eal_common_proc.c +@@ -483,14 +483,11 @@ async_reply_handle_thread_unsafe(void *arg) @@ -48 +49 @@ -@@ -896,6 +893,7 @@ mp_request_sync(const char *dst, struct rte_mp_msg *req, +@@ -884,6 +881,7 @@ mp_request_sync(const char *dst, struct rte_mp_msg *req, @@ -56 +57 @@ -@@ -904,7 +902,9 @@ mp_request_sync(const char *dst, struct rte_mp_msg *req, +@@ -892,7 +890,9 @@ mp_request_sync(const char *dst, struct rte_mp_msg *req, @@ -67 +68 @@ -@@ -967,8 +967,7 @@ rte_mp_request_sync(struct rte_mp_msg *req, struct rte_mp_reply *reply, +@@ -955,8 +955,7 @@ rte_mp_request_sync(struct rte_mp_msg *req, struct rte_mp_reply *reply, @@ -74,2 +74,0 @@ - const struct internal_config *internal_conf = - eal_get_internal_configuration(); @@ -77 +76,3 @@ -@@ -987,15 +986,15 @@ rte_mp_request_sync(struct rte_mp_msg *req, struct rte_mp_reply *reply, + RTE_LOG(DEBUG, EAL, "request: %s\n", req->name); + +@@ -973,15 +972,15 @@ rte_mp_request_sync(struct rte_mp_msg *req, struct rte_mp_reply *reply, @@ -96 +97 @@ -@@ -1069,7 +1068,7 @@ rte_mp_request_async(struct rte_mp_msg *req, const struct timespec *ts, +@@ -1055,7 +1054,7 @@ rte_mp_request_async(struct rte_mp_msg *req, const struct timespec *ts, @@ -104,2 +105,2 @@ - const struct internal_config *internal_conf = -@@ -1086,7 +1085,7 @@ rte_mp_request_async(struct rte_mp_msg *req, const struct timespec *ts, + +@@ -1070,7 +1069,7 @@ rte_mp_request_async(struct rte_mp_msg *req, const struct timespec *ts, @@ -114 +115 @@ -@@ -1108,9 +1107,9 @@ rte_mp_request_async(struct rte_mp_msg *req, const struct timespec *ts, +@@ -1092,9 +1091,9 @@ rte_mp_request_async(struct rte_mp_msg *req, const struct timespec *ts,
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/075ddf5387cf934e36f60e7e9b495ea5f27ebc91 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 075ddf5387cf934e36f60e7e9b495ea5f27ebc91 Mon Sep 17 00:00:00 2001 From: Chengchang Tang <tangchengchang@huawei.com> Date: Thu, 6 May 2021 17:29:36 +0800 Subject: [PATCH] examples/timer: fix time interval [ upstream commit 80aa15c4dff24e7a3b549f8dca37c16ae7220920 ] Timer sample example assumes that the frequency of the timer is about 2Ghz to control the period of calling rte_timer_manage(). But this assumption is easy to fail. For example. the frequency of tsc on ARM64 is much less than 2Ghz. This patch uses the frequency of the current timer to calculate the correct time interval to ensure consistent result on all platforms. In addition, the rte_rdtsc() is replaced with the more recommended rte_get_timer_cycles function in this patch. Fixes: af75078fece3 ("first public release") Signed-off-by: Chengchang Tang <tangchengchang@huawei.com> Signed-off-by: Min Hu (Connor) <humin29@huawei.com> --- examples/timer/main.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/examples/timer/main.c b/examples/timer/main.c index 9f1730f932..065d1ccb68 100644 --- a/examples/timer/main.c +++ b/examples/timer/main.c @@ -18,8 +18,7 @@ #include <rte_timer.h> #include <rte_debug.h> -#define TIMER_RESOLUTION_CYCLES 20000000ULL /* around 10ms at 2 Ghz */ - +static uint64_t timer_resolution_cycles; static struct rte_timer timer0; static struct rte_timer timer1; @@ -66,15 +65,14 @@ lcore_mainloop(__attribute__((unused)) void *arg) while (1) { /* - * Call the timer handler on each core: as we don't - * need a very precise timer, so only call - * rte_timer_manage() every ~10ms (at 2Ghz). In a real - * application, this will enhance performances as - * reading the HPET timer is not efficient. + * Call the timer handler on each core: as we don't need a + * very precise timer, so only call rte_timer_manage() + * every ~10ms. In a real application, this will enhance + * performances as reading the HPET timer is not efficient. */ - cur_tsc = rte_rdtsc(); + cur_tsc = rte_get_timer_cycles(); diff_tsc = cur_tsc - prev_tsc; - if (diff_tsc > TIMER_RESOLUTION_CYCLES) { + if (diff_tsc > timer_resolution_cycles) { rte_timer_manage(); prev_tsc = cur_tsc; } @@ -100,8 +98,10 @@ main(int argc, char **argv) rte_timer_init(&timer0); rte_timer_init(&timer1); - /* load timer0, every second, on master lcore, reloaded automatically */ hz = rte_get_timer_hz(); + timer_resolution_cycles = hz * 10 / 1000; /* around 10ms */ + + /* load timer0, every second, on main lcore, reloaded automatically */ lcore_id = rte_lcore_id(); rte_timer_reset(&timer0, hz, PERIODICAL, lcore_id, timer0_cb, NULL); -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:58.384538034 +0200 +++ 0006-examples-timer-fix-time-interval.patch 2021-06-10 14:04:57.998024139 +0200 @@ -1 +1 @@ -From 80aa15c4dff24e7a3b549f8dca37c16ae7220920 Mon Sep 17 00:00:00 2001 +From 075ddf5387cf934e36f60e7e9b495ea5f27ebc91 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 80aa15c4dff24e7a3b549f8dca37c16ae7220920 ] + @@ -18 +19,0 @@ -Cc: stable@dpdk.org @@ -27 +28 @@ -index d67301e3c4..d270ce49dc 100644 +index 9f1730f932..065d1ccb68 100644 @@ -40 +41 @@ -@@ -66,15 +65,14 @@ lcore_mainloop(__rte_unused void *arg) +@@ -66,15 +65,14 @@ lcore_mainloop(__attribute__((unused)) void *arg) @@ -66 +67 @@ -- /* load timer0, every second, on main lcore, reloaded automatically */ +- /* load timer0, every second, on master lcore, reloaded automatically */
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/5f49a5b80a2a1d8f7e65af66d477979c711df8cd Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 5f49a5b80a2a1d8f7e65af66d477979c711df8cd Mon Sep 17 00:00:00 2001 From: "Min Hu (Connor)" <humin29@huawei.com> Date: Tue, 4 May 2021 09:07:49 +0800 Subject: [PATCH] test/timer: check memzone allocation [ upstream commit fb9b862e7c0ddee29df36feb8dd0cbcd2762db25 ] Segmentation fault may occur without checking if memzone reserves succeed or not. Fixes: 50247fe03fe0 ("test/timer: exercise new APIs in secondary process") Signed-off-by: Min Hu (Connor) <humin29@huawei.com> Acked-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com> --- app/test/test_timer_secondary.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/test/test_timer_secondary.c b/app/test/test_timer_secondary.c index 790f180521..a4033b6a5d 100644 --- a/app/test/test_timer_secondary.c +++ b/app/test/test_timer_secondary.c @@ -126,9 +126,9 @@ test_timer_secondary(void) mz = rte_memzone_reserve(TEST_INFO_MZ_NAME, sizeof(*test_info), SOCKET_ID_ANY, 0); - test_info = mz->addr; - TEST_ASSERT_NOT_NULL(test_info, "Couldn't allocate memory for " + TEST_ASSERT_NOT_NULL(mz, "Couldn't allocate memory for " "test data"); + test_info = mz->addr; test_info->tim_mempool = rte_mempool_create("test_timer_mp", NUM_TIMERS, sizeof(struct rte_timer), 0, 0, @@ -172,9 +172,9 @@ test_timer_secondary(void) int i; mz = rte_memzone_lookup(TEST_INFO_MZ_NAME); - test_info = mz->addr; - TEST_ASSERT_NOT_NULL(test_info, "Couldn't lookup memzone for " + TEST_ASSERT_NOT_NULL(mz, "Couldn't lookup memzone for " "test info"); + test_info = mz->addr; for (i = 0; i < NUM_TIMERS; i++) { rte_mempool_get(test_info->tim_mempool, (void **)&tim); -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:58.426015296 +0200 +++ 0007-test-timer-check-memzone-allocation.patch 2021-06-10 14:04:58.010024228 +0200 @@ -1 +1 @@ -From fb9b862e7c0ddee29df36feb8dd0cbcd2762db25 Mon Sep 17 00:00:00 2001 +From 5f49a5b80a2a1d8f7e65af66d477979c711df8cd Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit fb9b862e7c0ddee29df36feb8dd0cbcd2762db25 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index 1e8f1d4549..16a9f1878b 100644 +index 790f180521..a4033b6a5d 100644 @@ -22 +23 @@ -@@ -125,9 +125,9 @@ test_timer_secondary(void) +@@ -126,9 +126,9 @@ test_timer_secondary(void) @@ -34 +35 @@ -@@ -171,9 +171,9 @@ test_timer_secondary(void) +@@ -172,9 +172,9 @@ test_timer_secondary(void)
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/ae9f70495f3eee5376e9587dccc5a12313de5683 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From ae9f70495f3eee5376e9587dccc5a12313de5683 Mon Sep 17 00:00:00 2001 From: Hongbo Zheng <zhenghongbo3@huawei.com> Date: Wed, 12 May 2021 10:19:19 +0800 Subject: [PATCH] power: fix sanity checks for guest channel read [ upstream commit 1fe00fd358c0b5cab798010a69e758bfead9fd84 ] In function power_guest_channel_read_msg, 'lcore_id' is used before validity check, which may cause buffer 'global_fds' accessed by index 'lcore_id' overflow. This patch moves the validity check of 'lcore_id' before the 'lcore_id' being used for the first time. Fixes: 9dc843eb273b ("power: extend guest channel API for reading") Signed-off-by: Hongbo Zheng <zhenghongbo3@huawei.com> Signed-off-by: Min Hu (Connor) <humin29@huawei.com> Reviewed-by: Reshma Pattan <reshma.pattan@intel.com> Acked-by: David Hunt <david.hunt@intel.com> --- lib/librte_power/guest_channel.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/lib/librte_power/guest_channel.c b/lib/librte_power/guest_channel.c index 4dadf5ef9f..6cf93f4bec 100644 --- a/lib/librte_power/guest_channel.c +++ b/lib/librte_power/guest_channel.c @@ -140,6 +140,17 @@ int power_guest_channel_read_msg(void *pkt, if (pkt_len == 0 || pkt == NULL) return -1; + if (lcore_id >= RTE_MAX_LCORE) { + RTE_LOG(ERR, GUEST_CHANNEL, "Channel(%u) is out of range 0...%d\n", + lcore_id, RTE_MAX_LCORE-1); + return -1; + } + + if (global_fds[lcore_id] < 0) { + RTE_LOG(ERR, GUEST_CHANNEL, "Channel is not connected\n"); + return -1; + } + fds.fd = global_fds[lcore_id]; fds.events = POLLIN; @@ -153,17 +164,6 @@ int power_guest_channel_read_msg(void *pkt, return -1; } - if (lcore_id >= RTE_MAX_LCORE) { - RTE_LOG(ERR, GUEST_CHANNEL, "Channel(%u) is out of range 0...%d\n", - lcore_id, RTE_MAX_LCORE-1); - return -1; - } - - if (global_fds[lcore_id] < 0) { - RTE_LOG(ERR, GUEST_CHANNEL, "Channel is not connected\n"); - return -1; - } - while (pkt_len > 0) { ret = read(global_fds[lcore_id], pkt, pkt_len); -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:58.476958833 +0200 +++ 0008-power-fix-sanity-checks-for-guest-channel-read.patch 2021-06-10 14:04:58.014024257 +0200 @@ -1 +1 @@ -From 1fe00fd358c0b5cab798010a69e758bfead9fd84 Mon Sep 17 00:00:00 2001 +From ae9f70495f3eee5376e9587dccc5a12313de5683 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 1fe00fd358c0b5cab798010a69e758bfead9fd84 ] + @@ -14 +15,0 @@ -Cc: stable@dpdk.org @@ -21 +22 @@ - lib/power/guest_channel.c | 22 +++++++++++----------- + lib/librte_power/guest_channel.c | 22 +++++++++++----------- @@ -24,5 +25,5 @@ -diff --git a/lib/power/guest_channel.c b/lib/power/guest_channel.c -index 2f7507a03c..474dd92998 100644 ---- a/lib/power/guest_channel.c -+++ b/lib/power/guest_channel.c -@@ -166,6 +166,17 @@ int power_guest_channel_read_msg(void *pkt, +diff --git a/lib/librte_power/guest_channel.c b/lib/librte_power/guest_channel.c +index 4dadf5ef9f..6cf93f4bec 100644 +--- a/lib/librte_power/guest_channel.c ++++ b/lib/librte_power/guest_channel.c +@@ -140,6 +140,17 @@ int power_guest_channel_read_msg(void *pkt, @@ -46 +47 @@ -@@ -179,17 +190,6 @@ int power_guest_channel_read_msg(void *pkt, +@@ -153,17 +164,6 @@ int power_guest_channel_read_msg(void *pkt,
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/d0d274a3eb8ee2c7539bcba70e8cfc8baf8bdfaa Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From d0d274a3eb8ee2c7539bcba70e8cfc8baf8bdfaa Mon Sep 17 00:00:00 2001 From: David Marchand <david.marchand@redhat.com> Date: Thu, 6 May 2021 10:41:54 +0200 Subject: [PATCH] event/dpaa2: remove unused macros [ upstream commit 7a188872875e0d2c51d799fa5b814ef058bce3c5 ] Fixes: 653242c3375a ("event/dpaa2: add self test") Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com> --- drivers/event/dpaa2/dpaa2_eventdev_logs.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/event/dpaa2/dpaa2_eventdev_logs.h b/drivers/event/dpaa2/dpaa2_eventdev_logs.h index 5da85c60f0..66c8c77274 100644 --- a/drivers/event/dpaa2/dpaa2_eventdev_logs.h +++ b/drivers/event/dpaa2/dpaa2_eventdev_logs.h @@ -38,7 +38,5 @@ extern int dpaa2_logtype_event; #define dpaa2_evdev_info(fmt, ...) DPAA2_EVENTDEV_LOG(INFO, fmt, ##__VA_ARGS__) #define dpaa2_evdev_dbg(fmt, ...) DPAA2_EVENTDEV_LOG(DEBUG, fmt, ##__VA_ARGS__) #define dpaa2_evdev_err(fmt, ...) DPAA2_EVENTDEV_LOG(ERR, fmt, ##__VA_ARGS__) -#define dpaa2_evdev__func_trace dpaa2_evdev_dbg -#define dpaa2_evdev_selftest dpaa2_evdev_info #endif /* _DPAA2_EVENTDEV_LOGS_H_ */ -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:58.520728719 +0200 +++ 0009-event-dpaa2-remove-unused-macros.patch 2021-06-10 14:04:58.014024257 +0200 @@ -1 +1 @@ -From 7a188872875e0d2c51d799fa5b814ef058bce3c5 Mon Sep 17 00:00:00 2001 +From d0d274a3eb8ee2c7539bcba70e8cfc8baf8bdfaa Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 7a188872875e0d2c51d799fa5b814ef058bce3c5 ] + @@ -7 +8,0 @@ -Cc: stable@dpdk.org
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/a619f6351fbf5a6a8f6545422c0af1cbaa3f2a5a Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From a619f6351fbf5a6a8f6545422c0af1cbaa3f2a5a Mon Sep 17 00:00:00 2001 From: Pavan Nikhilesh <pbhagavatula@marvell.com> Date: Fri, 7 May 2021 02:33:09 +0530 Subject: [PATCH] app/eventdev: fix lcore parsing skipping last core [ upstream commit ca90f20feaa4280cac012ebca6f2ecebd5b72b98 ] The last lcore declared in the list is also a valid lcore in the list. Fixes: 32d7dbf269be ("app/eventdev: fix overflow in lcore list parsing") Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com> Acked-by: Jerin Jacob <jerinj@marvell.com> --- app/test-eventdev/parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/test-eventdev/parser.c b/app/test-eventdev/parser.c index 7a973cbb23..8818c37ff8 100644 --- a/app/test-eventdev/parser.c +++ b/app/test-eventdev/parser.c @@ -345,7 +345,7 @@ parse_lcores_list(bool lcores[], int lcores_num, const char *corelist) max = idx; if (min == RTE_MAX_LCORE) min = idx; - for (idx = min; idx < max; idx++) { + for (idx = min; idx <= max; idx++) { if (lcores[idx] == 1) return -E2BIG; lcores[idx] = 1; -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:58.561955110 +0200 +++ 0010-app-eventdev-fix-lcore-parsing-skipping-last-core.patch 2021-06-10 14:04:58.014024257 +0200 @@ -1 +1 @@ -From ca90f20feaa4280cac012ebca6f2ecebd5b72b98 Mon Sep 17 00:00:00 2001 +From a619f6351fbf5a6a8f6545422c0af1cbaa3f2a5a Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit ca90f20feaa4280cac012ebca6f2ecebd5b72b98 ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/8640d6ca2ee0fa8d9e427971f8c545422f4013dd Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 8640d6ca2ee0fa8d9e427971f8c545422f4013dd Mon Sep 17 00:00:00 2001 From: David Marchand <david.marchand@redhat.com> Date: Thu, 6 May 2021 12:07:02 +0200 Subject: [PATCH] net/ice/base: fix memory allocation wrapper [ upstream commit 35f9cb006534018b6f69dce8f0d22684fe98e812 ] This is reported by our internal covscan: 1. dpdk-20.11/drivers/net/ice/base/ice_switch.c:4214: sign_extension: Suspicious implicit sign extension: "s_rule_size" with type "u16" (16 bits, unsigned) is promoted in "num_unicast * s_rule_size" to type "int" (32 bits, signed), then sign-extended to type "unsigned long" (64 bits, unsigned). If "num_unicast * s_rule_size" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. # 4212| s_rule_size = ICE_SW_RULE_RX_TX_ETH_HDR_SIZE; # 4213| s_rule = (struct ice_aqc_sw_rules_elem *) # 4214|-> ice_calloc(hw, num_unicast, s_rule_size); # 4215| if (!s_rule) { # 4216| status = ICE_ERR_NO_MEMORY; Even if this condition is not likely to happen, in any case, it is more straightforward to rely on the existing rte_calloc. Fixes: 5f0978e96220 ("net/ice/base: add OS specific implementation") Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/ice/base/ice_osdep.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ice/base/ice_osdep.h b/drivers/net/ice/base/ice_osdep.h index 32ac8ac397..ba0c57e1a9 100644 --- a/drivers/net/ice/base/ice_osdep.h +++ b/drivers/net/ice/base/ice_osdep.h @@ -173,7 +173,7 @@ struct ice_virt_mem { } __attribute__((packed)); #define ice_malloc(h, s) rte_zmalloc(NULL, s, 0) -#define ice_calloc(h, c, s) rte_zmalloc(NULL, (c) * (s), 0) +#define ice_calloc(h, c, s) rte_calloc(NULL, c, s, 0) #define ice_free(h, m) rte_free(m) #define ice_memset(a, b, c, d) memset((a), (b), (c)) -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:58.606840788 +0200 +++ 0011-net-ice-base-fix-memory-allocation-wrapper.patch 2021-06-10 14:04:58.018024288 +0200 @@ -1 +1 @@ -From 35f9cb006534018b6f69dce8f0d22684fe98e812 Mon Sep 17 00:00:00 2001 +From 8640d6ca2ee0fa8d9e427971f8c545422f4013dd Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 35f9cb006534018b6f69dce8f0d22684fe98e812 ] + @@ -26 +27,0 @@ -Cc: stable@dpdk.org @@ -35 +36 @@ -index f4cc762e99..878c5597d4 100644 +index 32ac8ac397..ba0c57e1a9 100644 @@ -38,2 +39,2 @@ -@@ -207,7 +207,7 @@ struct ice_virt_mem { - } __rte_packed; +@@ -173,7 +173,7 @@ struct ice_virt_mem { + } __attribute__((packed));
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/0019c2b0283a89b53318e208a58b232e54bcda0e Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 0019c2b0283a89b53318e208a58b232e54bcda0e Mon Sep 17 00:00:00 2001 From: Igor Chauskin <igorch@amazon.com> Date: Tue, 11 May 2021 08:45:36 +0200 Subject: [PATCH] net/ena: switch memcpy to optimized version [ upstream commit 142778b3702a3acbe8efe2efc17722bfc1a7393d ] memcpy is now mapped to rte_memcpy macro on x86 architectures. Fixes: 9ba7981ec992 ("ena: add communication layer for DPDK") Signed-off-by: Igor Chauskin <igorch@amazon.com> Reviewed-by: Michal Krawczyk <mk@semihalf.com> Reviewed-by: Artur Rojek <ar@semihalf.com> --- drivers/net/ena/base/ena_plat_dpdk.h | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/drivers/net/ena/base/ena_plat_dpdk.h b/drivers/net/ena/base/ena_plat_dpdk.h index 9773be09e7..58767fdf30 100644 --- a/drivers/net/ena/base/ena_plat_dpdk.h +++ b/drivers/net/ena/base/ena_plat_dpdk.h @@ -24,6 +24,7 @@ #include <rte_spinlock.h> #include <sys/time.h> +#include <rte_memcpy.h> typedef uint64_t u64; typedef uint32_t u32; @@ -59,7 +60,11 @@ typedef uint64_t dma_addr_t; #define ENA_UDELAY(x) rte_delay_us_block(x) #define ENA_TOUCH(x) ((void)(x)) -#define memcpy_toio memcpy +/* Avoid nested declaration on arm64, as it may define rte_memcpy as memcpy. */ +#if defined(RTE_ARCH_X86) +#undef memcpy +#define memcpy rte_memcpy +#endif #define wmb rte_wmb #define rmb rte_rmb #define mb rte_mb -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:58.650338989 +0200 +++ 0012-net-ena-switch-memcpy-to-optimized-version.patch 2021-06-10 14:04:58.018024288 +0200 @@ -1 +1 @@ -From 142778b3702a3acbe8efe2efc17722bfc1a7393d Mon Sep 17 00:00:00 2001 +From 0019c2b0283a89b53318e208a58b232e54bcda0e Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 142778b3702a3acbe8efe2efc17722bfc1a7393d ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org @@ -15,3 +16,2 @@ - doc/guides/rel_notes/release_21_05.rst | 7 +++++++ - drivers/net/ena/base/ena_plat_dpdk.h | 7 ++++++- - 2 files changed, 13 insertions(+), 1 deletion(-) + drivers/net/ena/base/ena_plat_dpdk.h | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) @@ -19,18 +18,0 @@ -diff --git a/doc/guides/rel_notes/release_21_05.rst b/doc/guides/rel_notes/release_21_05.rst -index 30dec1c1d1..d054b10793 100644 ---- a/doc/guides/rel_notes/release_21_05.rst -+++ b/doc/guides/rel_notes/release_21_05.rst -@@ -111,6 +111,13 @@ New Features - - * Added conntrack item and action for stateful connection offload. - -+* **Updated Amazon ENA PMD.** -+ -+ The new driver version (v2.3.0) introduced bug fixes and improvements, -+ including: -+ -+ * Changed memcpy mapping to the dpdk-optimized version. -+ - * **Updated Arkville PMD driver.** - - Updated Arkville net driver with new features and improvements, including: @@ -38 +20 @@ -index a1d749f83f..ae68f860a5 100644 +index 9773be09e7..58767fdf30 100644 @@ -41 +23 @@ -@@ -25,6 +25,7 @@ +@@ -24,6 +24,7 @@ @@ -49 +31 @@ -@@ -62,7 +63,11 @@ typedef uint64_t dma_addr_t; +@@ -59,7 +60,11 @@ typedef uint64_t dma_addr_t;
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/0731d405e92051ddb5f7c1a11c260efdaf4f69e7 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 0731d405e92051ddb5f7c1a11c260efdaf4f69e7 Mon Sep 17 00:00:00 2001 From: Michal Krawczyk <mk@semihalf.com> Date: Tue, 11 May 2021 08:45:40 +0200 Subject: [PATCH] net/ena/base: fix type conversions by explicit casting [ upstream commit 83e8d5378d3f2eef749d47bb1145c29cc797a277 ] To silence error messages from the static code analysis, make the type conversions explicit where they're intended. Also fix the type for the DMA width value. Fixes: 99ecfbf845b3 ("ena: import communication layer") Signed-off-by: Michal Krawczyk <mk@semihalf.com> Reviewed-by: Igor Chauskin <igorch@amazon.com> Reviewed-by: Guy Tzalik <gtzalik@amazon.com> --- drivers/net/ena/base/ena_com.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/net/ena/base/ena_com.c b/drivers/net/ena/base/ena_com.c index f8e8f448e3..50b39b88ba 100644 --- a/drivers/net/ena/base/ena_com.c +++ b/drivers/net/ena/base/ena_com.c @@ -1340,7 +1340,7 @@ int ena_com_execute_admin_command(struct ena_com_admin_queue *admin_queue, ena_trc_err("Failed to submit command [%ld]\n", PTR_ERR(comp_ctx)); - return PTR_ERR(comp_ctx); + return (int)PTR_ERR(comp_ctx); } ret = ena_com_wait_and_process_admin_cq(comp_ctx, admin_queue); @@ -1559,7 +1559,7 @@ int ena_com_set_aenq_config(struct ena_com_dev *ena_dev, u32 groups_flag) int ena_com_get_dma_width(struct ena_com_dev *ena_dev) { u32 caps = ena_com_reg_bar_read32(ena_dev, ENA_REGS_CAPS_OFF); - int width; + u32 width; if (unlikely(caps == ENA_MMIO_READ_TIMEOUT)) { ena_trc_err("Reg read timeout occurred\n"); @@ -2263,7 +2263,7 @@ int ena_com_set_dev_mtu(struct ena_com_dev *ena_dev, int mtu) cmd.aq_common_descriptor.opcode = ENA_ADMIN_SET_FEATURE; cmd.aq_common_descriptor.flags = 0; cmd.feat_common.feature_id = ENA_ADMIN_MTU; - cmd.u.mtu.mtu = mtu; + cmd.u.mtu.mtu = (u32)mtu; ret = ena_com_execute_admin_command(admin_queue, (struct ena_admin_aq_entry *)&cmd, @@ -2665,7 +2665,7 @@ int ena_com_indirect_table_set(struct ena_com_dev *ena_dev) return ret; } - cmd.control_buffer.length = (1ULL << rss->tbl_log_size) * + cmd.control_buffer.length = (u32)(1ULL << rss->tbl_log_size) * sizeof(struct ena_admin_rss_ind_table_entry); ret = ena_com_execute_admin_command(admin_queue, @@ -2687,7 +2687,7 @@ int ena_com_indirect_table_get(struct ena_com_dev *ena_dev, u32 *ind_tbl) u32 tbl_size; int i, rc; - tbl_size = (1ULL << rss->tbl_log_size) * + tbl_size = (u32)(1ULL << rss->tbl_log_size) * sizeof(struct ena_admin_rss_ind_table_entry); rc = ena_com_get_feature_ex(ena_dev, &get_resp, -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:58.691812350 +0200 +++ 0013-net-ena-base-fix-type-conversions-by-explicit-castin.patch 2021-06-10 14:04:58.026024347 +0200 @@ -1 +1 @@ -From 83e8d5378d3f2eef749d47bb1145c29cc797a277 Mon Sep 17 00:00:00 2001 +From 0731d405e92051ddb5f7c1a11c260efdaf4f69e7 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 83e8d5378d3f2eef749d47bb1145c29cc797a277 ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -22 +23 @@ -index 9dc9f280c4..0cdeb1a2d9 100644 +index f8e8f448e3..50b39b88ba 100644 @@ -25,2 +26,2 @@ -@@ -1382,7 +1382,7 @@ int ena_com_execute_admin_command(struct ena_com_admin_queue *admin_queue, - "Failed to submit command [%ld]\n", +@@ -1340,7 +1340,7 @@ int ena_com_execute_admin_command(struct ena_com_admin_queue *admin_queue, + ena_trc_err("Failed to submit command [%ld]\n", @@ -34 +35 @@ -@@ -1602,7 +1602,7 @@ int ena_com_set_aenq_config(struct ena_com_dev *ena_dev, u32 groups_flag) +@@ -1559,7 +1559,7 @@ int ena_com_set_aenq_config(struct ena_com_dev *ena_dev, u32 groups_flag) @@ -42,2 +43,2 @@ - ena_trc_err(ena_dev, "Reg read timeout occurred\n"); -@@ -2280,7 +2280,7 @@ int ena_com_set_dev_mtu(struct ena_com_dev *ena_dev, int mtu) + ena_trc_err("Reg read timeout occurred\n"); +@@ -2263,7 +2263,7 @@ int ena_com_set_dev_mtu(struct ena_com_dev *ena_dev, int mtu) @@ -52 +53 @@ -@@ -2691,7 +2691,7 @@ int ena_com_indirect_table_set(struct ena_com_dev *ena_dev) +@@ -2665,7 +2665,7 @@ int ena_com_indirect_table_set(struct ena_com_dev *ena_dev) @@ -61 +62 @@ -@@ -2713,7 +2713,7 @@ int ena_com_indirect_table_get(struct ena_com_dev *ena_dev, u32 *ind_tbl) +@@ -2687,7 +2687,7 @@ int ena_com_indirect_table_get(struct ena_com_dev *ena_dev, u32 *ind_tbl)
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/072f1be82fe72fbbae77e46652b752c8c46f5b8c Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 072f1be82fe72fbbae77e46652b752c8c46f5b8c Mon Sep 17 00:00:00 2001 From: Stanislaw Kardach <kda@semihalf.com> Date: Tue, 11 May 2021 08:45:49 +0200 Subject: [PATCH] net/ena: remove endian swap functions [ upstream commit 07ebd5dd9800bdcac018d9a89010c75051ab6484 ] swap*_*_le() functions are not used anywhere and besides there are rte alternatives already present. Fixes: 1173fca25af9 ("ena: add polling-mode driver") Signed-off-by: Stanislaw Kardach <kda@semihalf.com> Reviewed-by: Michal Krawczyk <mk@semihalf.com> Reviewed-by: Igor Chauskin <igorch@amazon.com> Reviewed-by: Shay Agroskin <shayagr@amazon.com> --- drivers/net/ena/ena_platform.h | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/drivers/net/ena/ena_platform.h b/drivers/net/ena/ena_platform.h index d3e40e0e9e..748928b2d9 100644 --- a/drivers/net/ena/ena_platform.h +++ b/drivers/net/ena/ena_platform.h @@ -6,18 +6,6 @@ #ifndef __ENA_PLATFORM_H__ #define __ENA_PLATFORM_H__ -#define swap16_to_le(x) (x) - -#define swap32_to_le(x) (x) - -#define swap64_to_le(x) (x) - -#define swap16_from_le(x) (x) - -#define swap32_from_le(x) (x) - -#define swap64_from_le(x) (x) - #define ena_assert_msg(cond, msg) \ do { \ if (unlikely(!(cond))) { \ -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:58.744112389 +0200 +++ 0014-net-ena-remove-endian-swap-functions.patch 2021-06-10 14:04:58.026024347 +0200 @@ -1 +1 @@ -From 07ebd5dd9800bdcac018d9a89010c75051ab6484 Mon Sep 17 00:00:00 2001 +From 072f1be82fe72fbbae77e46652b752c8c46f5b8c Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 07ebd5dd9800bdcac018d9a89010c75051ab6484 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/417a6b2af473ebe117996418ce47026dcb60509c Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 417a6b2af473ebe117996418ce47026dcb60509c Mon Sep 17 00:00:00 2001 From: Heinrich Kuhn <heinrich.kuhn@netronome.com> Date: Mon, 10 May 2021 18:45:50 +0200 Subject: [PATCH] net/nfp: fix reporting of RSS capabilities [ upstream commit b75fc6b19057a7c5385c12a3c9353f2d5e27de20 ] Before this change the dev_infos callback always reported RSS capabilities regardless of whether the capability is supported by the device or not. First check the capabilities field in the BAR of the device and advertise RSS functionality accordingly. Fixes: 8b945a7f7dcb ("drivers/net: update Rx RSS hash offload capabilities") Signed-off-by: Heinrich Kuhn <heinrich.kuhn@netronome.com> Signed-off-by: Simon Horman <simon.horman@netronome.com> --- drivers/net/nfp/nfp_net.c | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c index cce3466ba9..f6eca00878 100644 --- a/drivers/net/nfp/nfp_net.c +++ b/drivers/net/nfp/nfp_net.c @@ -1216,9 +1216,6 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) DEV_RX_OFFLOAD_UDP_CKSUM | DEV_RX_OFFLOAD_TCP_CKSUM; - dev_info->rx_offload_capa |= DEV_RX_OFFLOAD_JUMBO_FRAME | - DEV_RX_OFFLOAD_RSS_HASH; - if (hw->cap & NFP_NET_CFG_CTRL_TXVLAN) dev_info->tx_offload_capa = DEV_TX_OFFLOAD_VLAN_INSERT; @@ -1267,15 +1264,22 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) .nb_mtu_seg_max = NFP_TX_MAX_MTU_SEG, }; - dev_info->flow_type_rss_offloads = ETH_RSS_IPV4 | - ETH_RSS_NONFRAG_IPV4_TCP | - ETH_RSS_NONFRAG_IPV4_UDP | - ETH_RSS_IPV6 | - ETH_RSS_NONFRAG_IPV6_TCP | - ETH_RSS_NONFRAG_IPV6_UDP; + /* All NFP devices support jumbo frames */ + dev_info->rx_offload_capa |= DEV_RX_OFFLOAD_JUMBO_FRAME; + + if (hw->cap & NFP_NET_CFG_CTRL_RSS) { + dev_info->rx_offload_capa |= DEV_RX_OFFLOAD_RSS_HASH; - dev_info->reta_size = NFP_NET_CFG_RSS_ITBL_SZ; - dev_info->hash_key_size = NFP_NET_CFG_RSS_KEY_SZ; + dev_info->flow_type_rss_offloads = ETH_RSS_IPV4 | + ETH_RSS_NONFRAG_IPV4_TCP | + ETH_RSS_NONFRAG_IPV4_UDP | + ETH_RSS_IPV6 | + ETH_RSS_NONFRAG_IPV6_TCP | + ETH_RSS_NONFRAG_IPV6_UDP; + + dev_info->reta_size = NFP_NET_CFG_RSS_ITBL_SZ; + dev_info->hash_key_size = NFP_NET_CFG_RSS_KEY_SZ; + } dev_info->speed_capa = ETH_LINK_SPEED_1G | ETH_LINK_SPEED_10G | ETH_LINK_SPEED_25G | ETH_LINK_SPEED_40G | -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:58.789031574 +0200 +++ 0015-net-nfp-fix-reporting-of-RSS-capabilities.patch 2021-06-10 14:04:58.030024376 +0200 @@ -1 +1 @@ -From b75fc6b19057a7c5385c12a3c9353f2d5e27de20 Mon Sep 17 00:00:00 2001 +From 417a6b2af473ebe117996418ce47026dcb60509c Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit b75fc6b19057a7c5385c12a3c9353f2d5e27de20 ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -21 +22 @@ -index ad2c2b55f6..90206a1685 100644 +index cce3466ba9..f6eca00878 100644 @@ -24 +25 @@ -@@ -1257,9 +1257,6 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) +@@ -1216,9 +1216,6 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) @@ -34 +35 @@ -@@ -1308,15 +1305,22 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) +@@ -1267,15 +1264,22 @@ nfp_net_infos_get(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/041ad333d3172f7508afa64b168b4ce555bc15f4 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 041ad333d3172f7508afa64b168b4ce555bc15f4 Mon Sep 17 00:00:00 2001 From: Chengwen Feng <fengchengwen@huawei.com> Date: Fri, 7 May 2021 17:08:14 +0800 Subject: [PATCH] net/hns3: return error on PCI config write failure [ upstream commit d9fb708a000d4935af253ad93f917ed7a8be208e ] This patch returns error code when calling rte_pci_write_config() API. Fixes: 6dd32ded17d8 ("net/hns3: check PCI config space write") Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Signed-off-by: Min Hu (Connor) <humin29@huawei.com> --- drivers/net/hns3/hns3_ethdev_vf.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/hns3/hns3_ethdev_vf.c b/drivers/net/hns3/hns3_ethdev_vf.c index 17ed526d70..a7b6188eea 100644 --- a/drivers/net/hns3/hns3_ethdev_vf.c +++ b/drivers/net/hns3/hns3_ethdev_vf.c @@ -172,9 +172,12 @@ hns3vf_enable_msix(const struct rte_pci_device *device, bool op) if (ret < 0) { PMD_INIT_LOG(ERR, "failed to write PCI offset 0x%x", (pos + PCI_MSIX_FLAGS)); + return -ENXIO; } + return 0; } + return -1; } -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:58.828711046 +0200 +++ 0016-net-hns3-return-error-on-PCI-config-write-failure.patch 2021-06-10 14:04:58.034024406 +0200 @@ -1 +1 @@ -From d9fb708a000d4935af253ad93f917ed7a8be208e Mon Sep 17 00:00:00 2001 +From 041ad333d3172f7508afa64b168b4ce555bc15f4 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit d9fb708a000d4935af253ad93f917ed7a8be208e ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org @@ -18 +19 @@ -index 6aa8a9b6ed..71f3f95877 100644 +index 17ed526d70..a7b6188eea 100644 @@ -21 +22 @@ -@@ -156,9 +156,12 @@ hns3vf_enable_msix(const struct rte_pci_device *device, bool op) +@@ -172,9 +172,12 @@ hns3vf_enable_msix(const struct rte_pci_device *device, bool op) @@ -31 +32 @@ - return -ENXIO; + return -1;
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/50160966a51f13bec546e3ea640cb9c465c89e01 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 50160966a51f13bec546e3ea640cb9c465c89e01 Mon Sep 17 00:00:00 2001 From: Chengwen Feng <fengchengwen@huawei.com> Date: Fri, 7 May 2021 17:08:16 +0800 Subject: [PATCH] net/hns3: clear hash map on flow director clear [ upstream commit 7d01f89fa6a149157f77ef11a2b5ebec890d7db8 ] The fdir hash map hold the pointers of fdir rule elements, it needs to be set to NULL when clear all fdir rules. Fixes: fcba820d9b9e ("net/hns3: support flow director") Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Signed-off-by: Min Hu (Connor) <humin29@huawei.com> --- drivers/net/hns3/hns3_fdir.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/hns3/hns3_fdir.c b/drivers/net/hns3/hns3_fdir.c index a55ce0bf42..49df88662b 100644 --- a/drivers/net/hns3/hns3_fdir.c +++ b/drivers/net/hns3/hns3_fdir.c @@ -1012,6 +1012,10 @@ int hns3_clear_all_fdir_filter(struct hns3_adapter *hns) rte_hash_reset(fdir_info->hash_handle); rte_spinlock_unlock(&fdir_info->flows_lock); + memset(fdir_info->hash_map, 0, + sizeof(struct hns3_fdir_rule_ele *) * + fdir_info->fd_cfg.rule_num[HNS3_FD_STAGE_1]); + fdir_filter = TAILQ_FIRST(&fdir_info->fdir_list); while (fdir_filter) { TAILQ_REMOVE(&fdir_info->fdir_list, fdir_filter, entries); -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:58.877787651 +0200 +++ 0017-net-hns3-clear-hash-map-on-flow-director-clear.patch 2021-06-10 14:04:58.038024435 +0200 @@ -1 +1 @@ -From 7d01f89fa6a149157f77ef11a2b5ebec890d7db8 Mon Sep 17 00:00:00 2001 +From 50160966a51f13bec546e3ea640cb9c465c89e01 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 7d01f89fa6a149157f77ef11a2b5ebec890d7db8 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index e116d872fb..d043f5786d 100644 +index a55ce0bf42..49df88662b 100644 @@ -22,2 +23 @@ -@@ -1033,6 +1033,10 @@ int hns3_clear_all_fdir_filter(struct hns3_adapter *hns) - /* flush flow director */ +@@ -1012,6 +1012,10 @@ int hns3_clear_all_fdir_filter(struct hns3_adapter *hns) @@ -24,0 +25 @@ + rte_spinlock_unlock(&fdir_info->flows_lock);
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/357f95df19b76559ba442c36a47af409d6fae658 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 357f95df19b76559ba442c36a47af409d6fae658 Mon Sep 17 00:00:00 2001 From: Chengwen Feng <fengchengwen@huawei.com> Date: Fri, 7 May 2021 17:08:18 +0800 Subject: [PATCH] net/hns3: fix querying flow director counter for out param [ upstream commit 7ab816640c923f6e91beddcc196b1cad81cda524 ] The hardware doesn't support counting the number of bytes that through the fdir rule. Therefore, the corresponding out parameters (e.g. bytes_set/bytes) is set to zero. Fixes: fcba820d9b9e ("net/hns3: support flow director") Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Signed-off-by: Min Hu (Connor) <humin29@huawei.com> --- drivers/net/hns3/hns3_flow.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/hns3/hns3_flow.c b/drivers/net/hns3/hns3_flow.c index a726be747b..2153b84ab7 100644 --- a/drivers/net/hns3/hns3_flow.c +++ b/drivers/net/hns3/hns3_flow.c @@ -186,6 +186,8 @@ hns3_counter_query(struct rte_eth_dev *dev, struct rte_flow *flow, } qc->hits_set = 1; qc->hits = value; + qc->bytes_set = 0; + qc->bytes = 0; return 0; } -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:58.925019738 +0200 +++ 0018-net-hns3-fix-querying-flow-director-counter-for-out-.patch 2021-06-10 14:04:58.038024435 +0200 @@ -1 +1 @@ -From 7ab816640c923f6e91beddcc196b1cad81cda524 Mon Sep 17 00:00:00 2001 +From 357f95df19b76559ba442c36a47af409d6fae658 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 7ab816640c923f6e91beddcc196b1cad81cda524 ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index 65c7f6ed88..82810e00e8 100644 +index a726be747b..2153b84ab7 100644 @@ -23 +24 @@ -@@ -223,6 +223,8 @@ hns3_counter_query(struct rte_eth_dev *dev, struct rte_flow *flow, +@@ -186,6 +186,8 @@ hns3_counter_query(struct rte_eth_dev *dev, struct rte_flow *flow,
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/cb46f4c8f1120ceae875f8732042a1a183682190 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From cb46f4c8f1120ceae875f8732042a1a183682190 Mon Sep 17 00:00:00 2001 From: Chengwen Feng <fengchengwen@huawei.com> Date: Mon, 10 May 2021 21:38:11 +0800 Subject: [PATCH] net/hns3: fix secondary process request start/stop Rx/Tx [ upstream commit db6a165adc460810555f56aa2a3ebf8284c4de62 ] This secondary process should not send request to start/stop Rx/Tx, this patch fixes it. Fixes: 23d4b61fee5d ("net/hns3: support multiple process") Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Signed-off-by: Min Hu (Connor) <humin29@huawei.com> --- drivers/net/hns3/hns3_mp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/hns3/hns3_mp.c b/drivers/net/hns3/hns3_mp.c index ecfba447a2..649f896de2 100644 --- a/drivers/net/hns3/hns3_mp.c +++ b/drivers/net/hns3/hns3_mp.c @@ -132,7 +132,7 @@ mp_req_on_rxtx(struct rte_eth_dev *dev, enum hns3_mp_req_type type) int ret; int i; - if (!hw->secondary_cnt) + if (rte_eal_process_type() == RTE_PROC_SECONDARY || !hw->secondary_cnt) return; if (type != HNS3_MP_REQ_START_RXTX && type != HNS3_MP_REQ_STOP_RXTX) { hns3_err(hw, "port %u unknown request (req_type %d)", -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:58.971849483 +0200 +++ 0019-net-hns3-fix-secondary-process-request-start-stop-Rx.patch 2021-06-10 14:04:58.042024466 +0200 @@ -1 +1 @@ -From db6a165adc460810555f56aa2a3ebf8284c4de62 Mon Sep 17 00:00:00 2001 +From cb46f4c8f1120ceae875f8732042a1a183682190 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit db6a165adc460810555f56aa2a3ebf8284c4de62 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index ac0b5a0235..cab784f42a 100644 +index ecfba447a2..649f896de2 100644 @@ -22 +23 @@ -@@ -130,7 +130,7 @@ mp_req_on_rxtx(struct rte_eth_dev *dev, enum hns3_mp_req_type type) +@@ -132,7 +132,7 @@ mp_req_on_rxtx(struct rte_eth_dev *dev, enum hns3_mp_req_type type)
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/69d191654f68e1c6510e7cdbc632d653874fd6d2 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 69d191654f68e1c6510e7cdbc632d653874fd6d2 Mon Sep 17 00:00:00 2001 From: Chengwen Feng <fengchengwen@huawei.com> Date: Mon, 10 May 2021 21:38:12 +0800 Subject: [PATCH] net/hns3: fix ordering in secondary process initialization [ upstream commit ac8962e96599b713b3e87d22be602a2d9d951321 ] The memory barrier is used to ensure that the response is returned only after the Tx/Rx function is set, it should place after the Rx/Tx function is set. Fixes: 23d4b61fee5d ("net/hns3: support multiple process") Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Signed-off-by: Min Hu (Connor) <humin29@huawei.com> --- drivers/net/hns3/hns3_mp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/hns3/hns3_mp.c b/drivers/net/hns3/hns3_mp.c index 649f896de2..a03f2cf13c 100644 --- a/drivers/net/hns3/hns3_mp.c +++ b/drivers/net/hns3/hns3_mp.c @@ -88,8 +88,8 @@ mp_secondary_handle(const struct rte_mp_msg *mp_msg, const void *peer) case HNS3_MP_REQ_START_RXTX: PMD_INIT_LOG(INFO, "port %u starting datapath", dev->data->port_id); - rte_mb(); hns3_set_rxtx_function(dev); + rte_mb(); mp_init_msg(dev, &mp_res, param->type); res->result = 0; ret = rte_mp_reply(&mp_res, peer); -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.014850489 +0200 +++ 0020-net-hns3-fix-ordering-in-secondary-process-initializ.patch 2021-06-10 14:04:58.042024466 +0200 @@ -1 +1 @@ -From ac8962e96599b713b3e87d22be602a2d9d951321 Mon Sep 17 00:00:00 2001 +From 69d191654f68e1c6510e7cdbc632d653874fd6d2 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit ac8962e96599b713b3e87d22be602a2d9d951321 ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index cab784f42a..a8485f5cfd 100644 +index 649f896de2..a03f2cf13c 100644 @@ -23 +24 @@ -@@ -86,8 +86,8 @@ mp_secondary_handle(const struct rte_mp_msg *mp_msg, const void *peer) +@@ -88,8 +88,8 @@ mp_secondary_handle(const struct rte_mp_msg *mp_msg, const void *peer)
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/3cda8f66ab6771d80766dc25f0464bca03962d79 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 3cda8f66ab6771d80766dc25f0464bca03962d79 Mon Sep 17 00:00:00 2001 From: Beilei Xing <beilei.xing@intel.com> Date: Wed, 12 May 2021 16:10:14 +0800 Subject: [PATCH] net/iavf: fix Tx context descriptor [ upstream commit 2444d35dc14621c185a8c5042adfb636e5056d2b ] The QW0 of Tx context descriptor should be reset to 0, otherwise the previous hardware writeback value may pollute the next context descriptor write. Fixes: a2b29a7733ef ("net/avf: enable basic Rx Tx") Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Signed-off-by: Beilei Xing <beilei.xing@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/iavf/iavf_rxtx.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c index ae43eb49a6..93f3928af6 100644 --- a/drivers/net/iavf/iavf_rxtx.c +++ b/drivers/net/iavf/iavf_rxtx.c @@ -1583,6 +1583,11 @@ iavf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) (volatile struct iavf_tx_context_desc *) &txr[tx_id]; + /* clear QW0 or the previous writeback value + * may impact next write + */ + *(volatile uint64_t *)ctx_txd = 0; + txn = &sw_ring[txe->next_id]; RTE_MBUF_PREFETCH_TO_FREE(txn->mbuf); if (txe->mbuf) { -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.060073222 +0200 +++ 0021-net-iavf-fix-Tx-context-descriptor.patch 2021-06-10 14:04:58.042024466 +0200 @@ -1 +1 @@ -From 2444d35dc14621c185a8c5042adfb636e5056d2b Mon Sep 17 00:00:00 2001 +From 3cda8f66ab6771d80766dc25f0464bca03962d79 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 2444d35dc14621c185a8c5042adfb636e5056d2b ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -21 +22 @@ -index 74b5ab5bde..6a713df828 100644 +index ae43eb49a6..93f3928af6 100644 @@ -24 +25 @@ -@@ -2245,6 +2245,11 @@ iavf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts) +@@ -1583,6 +1583,11 @@ iavf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/950f65a5a7edb65cc5106db8a03d16add786b578 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 950f65a5a7edb65cc5106db8a03d16add786b578 Mon Sep 17 00:00:00 2001 From: Jie Wang <jie1x.wang@intel.com> Date: Wed, 12 May 2021 03:14:07 +0000 Subject: [PATCH] net/ice: fix VSI array out of bounds access [ upstream commit d7ea27d065ebe3206c0739c67bf66510c0ac79a1 ] In the loop, when the index of array "vsi->rss_key" is equal to "vsi->rss_key_size", the array will be accessed out of bounds. Fixes: 50370662b727 ("net/ice: support device and queue ops") Signed-off-by: Jie Wang <jie1x.wang@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/ice/ice_ethdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c index c9c096ad81..4e15ed54bf 100644 --- a/drivers/net/ice/ice_ethdev.c +++ b/drivers/net/ice/ice_ethdev.c @@ -2507,7 +2507,7 @@ static int ice_init_rss(struct ice_pf *pf) /* configure RSS key */ if (!rss_conf->rss_key) { /* Calculate the default hash key */ - for (i = 0; i <= vsi->rss_key_size; i++) + for (i = 0; i < vsi->rss_key_size; i++) vsi->rss_key[i] = (uint8_t)rte_rand(); } else { rte_memcpy(vsi->rss_key, rss_conf->rss_key, -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.101216090 +0200 +++ 0022-net-ice-fix-VSI-array-out-of-bounds-access.patch 2021-06-10 14:04:58.050024525 +0200 @@ -1 +1 @@ -From d7ea27d065ebe3206c0739c67bf66510c0ac79a1 Mon Sep 17 00:00:00 2001 +From 950f65a5a7edb65cc5106db8a03d16add786b578 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit d7ea27d065ebe3206c0739c67bf66510c0ac79a1 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index f742d07fc2..5fd5f99b6f 100644 +index c9c096ad81..4e15ed54bf 100644 @@ -22 +23 @@ -@@ -3040,7 +3040,7 @@ static int ice_init_rss(struct ice_pf *pf) +@@ -2507,7 +2507,7 @@ static int ice_init_rss(struct ice_pf *pf)
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/24c9081923c3cbe139849f60bf7dc74a2a462b13 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 24c9081923c3cbe139849f60bf7dc74a2a462b13 Mon Sep 17 00:00:00 2001 From: Alvin Zhang <alvinx.zhang@intel.com> Date: Wed, 12 May 2021 17:23:11 +0800 Subject: [PATCH] net/i40e: fix VF RSS configuration [ upstream commit 7594f2dac4489cde35f7088a46b8133fd4738a4a ] The kernel driver supports VF RSS configuration message "VIRTCHNL_OP_GET_RSS_HENA_CAPS and VIRTCHNL_OP_SET_RSS_HENA", this patch adds PMD support for these messages. Fixes: b81295c474b0 ("net/i40e: add user callback for VF to PF message") Signed-off-by: Alvin Zhang <alvinx.zhang@intel.com> Acked-by: Beilei Xing <beilei.xing@intel.com> --- drivers/net/i40e/i40e_pf.c | 61 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/drivers/net/i40e/i40e_pf.c b/drivers/net/i40e/i40e_pf.c index 50c9930198..842f5c281f 100644 --- a/drivers/net/i40e/i40e_pf.c +++ b/drivers/net/i40e/i40e_pf.c @@ -29,6 +29,28 @@ #define I40E_CFG_CRCSTRIP_DEFAULT 1 +/* Supported RSS offloads */ +#define I40E_DEFAULT_RSS_HENA ( \ + BIT_ULL(I40E_FILTER_PCTYPE_NONF_IPV4_UDP) | \ + BIT_ULL(I40E_FILTER_PCTYPE_NONF_IPV4_SCTP) | \ + BIT_ULL(I40E_FILTER_PCTYPE_NONF_IPV4_TCP) | \ + BIT_ULL(I40E_FILTER_PCTYPE_NONF_IPV4_OTHER) | \ + BIT_ULL(I40E_FILTER_PCTYPE_FRAG_IPV4) | \ + BIT_ULL(I40E_FILTER_PCTYPE_NONF_IPV6_UDP) | \ + BIT_ULL(I40E_FILTER_PCTYPE_NONF_IPV6_TCP) | \ + BIT_ULL(I40E_FILTER_PCTYPE_NONF_IPV6_SCTP) | \ + BIT_ULL(I40E_FILTER_PCTYPE_NONF_IPV6_OTHER) | \ + BIT_ULL(I40E_FILTER_PCTYPE_FRAG_IPV6) | \ + BIT_ULL(I40E_FILTER_PCTYPE_L2_PAYLOAD)) + +#define I40E_DEFAULT_RSS_HENA_EXPANDED (I40E_DEFAULT_RSS_HENA | \ + BIT_ULL(I40E_FILTER_PCTYPE_NONF_IPV4_TCP_SYN_NO_ACK) | \ + BIT_ULL(I40E_FILTER_PCTYPE_NONF_UNICAST_IPV4_UDP) | \ + BIT_ULL(I40E_FILTER_PCTYPE_NONF_MULTICAST_IPV4_UDP) | \ + BIT_ULL(I40E_FILTER_PCTYPE_NONF_IPV6_TCP_SYN_NO_ACK) | \ + BIT_ULL(I40E_FILTER_PCTYPE_NONF_UNICAST_IPV6_UDP) | \ + BIT_ULL(I40E_FILTER_PCTYPE_NONF_MULTICAST_IPV6_UDP)) + static int i40e_pf_host_switch_queues(struct i40e_pf_vf *vf, struct virtchnl_queue_select *qsel, @@ -1288,6 +1310,37 @@ i40e_pf_host_process_cmd_request_queues(struct i40e_pf_vf *vf, uint8_t *msg) (u8 *)vfres, sizeof(*vfres)); } +static void +i40e_pf_host_process_cmd_get_rss_hena(struct i40e_pf_vf *vf) +{ + struct virtchnl_rss_hena vrh = {0}; + struct i40e_pf *pf = vf->pf; + + if (pf->adapter->hw.mac.type == I40E_MAC_X722) + vrh.hena = I40E_DEFAULT_RSS_HENA_EXPANDED; + else + vrh.hena = I40E_DEFAULT_RSS_HENA; + + i40e_pf_host_send_msg_to_vf(vf, VIRTCHNL_OP_GET_RSS_HENA_CAPS, + I40E_SUCCESS, (uint8_t *)&vrh, sizeof(vrh)); +} + +static void +i40e_pf_host_process_cmd_set_rss_hena(struct i40e_pf_vf *vf, uint8_t *msg) +{ + struct virtchnl_rss_hena *vrh = + (struct virtchnl_rss_hena *)msg; + struct i40e_hw *hw = &vf->pf->adapter->hw; + + i40e_write_rx_ctl(hw, I40E_VFQF_HENA1(0, vf->vf_idx), + (uint32_t)vrh->hena); + i40e_write_rx_ctl(hw, I40E_VFQF_HENA1(1, vf->vf_idx), + (uint32_t)(vrh->hena >> 32)); + + i40e_pf_host_send_msg_to_vf(vf, VIRTCHNL_OP_SET_RSS_HENA, + I40E_SUCCESS, NULL, 0); +} + void i40e_pf_host_handle_vf_msg(struct rte_eth_dev *dev, uint16_t abs_vf_id, uint32_t opcode, @@ -1458,6 +1511,14 @@ i40e_pf_host_handle_vf_msg(struct rte_eth_dev *dev, PMD_DRV_LOG(INFO, "OP_REQUEST_QUEUES received"); i40e_pf_host_process_cmd_request_queues(vf, msg); break; + case VIRTCHNL_OP_GET_RSS_HENA_CAPS: + PMD_DRV_LOG(INFO, "OP_GET_RSS_HENA_CAPS received"); + i40e_pf_host_process_cmd_get_rss_hena(vf); + break; + case VIRTCHNL_OP_SET_RSS_HENA: + PMD_DRV_LOG(INFO, "OP_SET_RSS_HENA received"); + i40e_pf_host_process_cmd_set_rss_hena(vf, msg); + break; /* Don't add command supported below, which will * return an error code. -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.150812012 +0200 +++ 0023-net-i40e-fix-VF-RSS-configuration.patch 2021-06-10 14:04:58.050024525 +0200 @@ -1 +1 @@ -From 7594f2dac4489cde35f7088a46b8133fd4738a4a Mon Sep 17 00:00:00 2001 +From 24c9081923c3cbe139849f60bf7dc74a2a462b13 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 7594f2dac4489cde35f7088a46b8133fd4738a4a ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index 9804ed4253..e2d8b2b5f7 100644 +index 50c9930198..842f5c281f 100644
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/aecd308c092378ae627a795f9e8c3e65595d4384 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From aecd308c092378ae627a795f9e8c3e65595d4384 Mon Sep 17 00:00:00 2001 From: Ferruh Yigit <ferruh.yigit@intel.com> Date: Tue, 11 May 2021 14:14:32 +0100 Subject: [PATCH] net/bnx2x: fix build with GCC 11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit b3c740e03751215ab01841975b8f5764023f953b ] Reproduced with '--buildtype=debugoptimized' config, compiler version: gcc (GCC) 12.0.0 20210509 (experimental) Build error: In file included from ../drivers/net/bnx2x/bnx2x_rxtx.c:8: ../drivers/net/bnx2x/bnx2x_rxtx.c: In function ‘bnx2x_upd_rx_prod_fast’: ../drivers/net/bnx2x/bnx2x.h:1528:35: warning: ‘rx_prods’ is used uninitialized [-Wuninitialized] #define REG_WR32(sc, offset, val) bnx2x_reg_write32(sc, (offset), val) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../drivers/net/bnx2x/bnx2x.h:1531:33: note: in expansion of macro ‘REG_WR32’ 1531 | #define REG_WR(sc, offset, val) REG_WR32(sc, offset, val) | ^~~~~~~~ ../drivers/net/bnx2x/bnx2x_rxtx.c:331:9: note: in expansion of macro ‘REG_WR’ 331 | REG_WR(sc, fp->ustorm_rx_prods_offset, val[0]); | ^~~~~~ ../drivers/net/bnx2x/bnx2x_rxtx.c:324:40: note: ‘rx_prods’ declared here 324 | struct ustorm_eth_rx_producers rx_prods = { 0 }; | ^~~~~~~~ REG_WR32 requires 'uint32_t', use union instead of cast to 'uint32_t'. Bugzilla ID: 692 Fixes: 38dff79ba736 ("net/bnx2x: update HSI") Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Kevin Traynor <ktraynor@redhat.com> --- drivers/net/bnx2x/bnx2x_rxtx.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/net/bnx2x/bnx2x_rxtx.c b/drivers/net/bnx2x/bnx2x_rxtx.c index e201b68db8..db4654dd51 100644 --- a/drivers/net/bnx2x/bnx2x_rxtx.c +++ b/drivers/net/bnx2x/bnx2x_rxtx.c @@ -321,14 +321,15 @@ static inline void bnx2x_upd_rx_prod_fast(struct bnx2x_softc *sc, struct bnx2x_fastpath *fp, uint16_t rx_bd_prod, uint16_t rx_cq_prod) { - struct ustorm_eth_rx_producers rx_prods = { 0 }; - uint32_t *val = NULL; + union { + struct ustorm_eth_rx_producers rx_prods; + uint32_t val; + } val = { {0} }; - rx_prods.bd_prod = rx_bd_prod; - rx_prods.cqe_prod = rx_cq_prod; + val.rx_prods.bd_prod = rx_bd_prod; + val.rx_prods.cqe_prod = rx_cq_prod; - val = (uint32_t *)&rx_prods; - REG_WR(sc, fp->ustorm_rx_prods_offset, val[0]); + REG_WR(sc, fp->ustorm_rx_prods_offset, val.val); } static uint16_t -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.216615114 +0200 +++ 0024-net-bnx2x-fix-build-with-GCC-11.patch 2021-06-10 14:04:58.050024525 +0200 @@ -1 +1 @@ -From b3c740e03751215ab01841975b8f5764023f953b Mon Sep 17 00:00:00 2001 +From aecd308c092378ae627a795f9e8c3e65595d4384 Mon Sep 17 00:00:00 2001 @@ -8,0 +9,2 @@ +[ upstream commit b3c740e03751215ab01841975b8f5764023f953b ] + @@ -35 +36,0 @@ -Cc: stable@dpdk.org @@ -44 +45 @@ -index 57e2ce5045..2b17602290 100644 +index e201b68db8..db4654dd51 100644
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/d1a3991251e3d6d826ae757ac48ac36b4c93d424 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From d1a3991251e3d6d826ae757ac48ac36b4c93d424 Mon Sep 17 00:00:00 2001 From: Ferruh Yigit <ferruh.yigit@intel.com> Date: Tue, 11 May 2021 14:14:33 +0100 Subject: [PATCH] net/bnx2x: fix build with GCC 11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit ab70be7e2d971dd0238da10322ac19209917b8ca ] Reproduced with '--buildtype=debugoptimized' config, compiler version: gcc (GCC) 12.0.0 20210509 (experimental) Build error: In file included from ../drivers/net/bnx2x/bnx2x.c:16: ../drivers/net/bnx2x/bnx2x.c: In function ‘bnx2x_hc_ack_sb’: ../drivers/net/bnx2x/bnx2x.h:1528:35: warning: ‘igu_ack’ is used uninitialized [-Wuninitialized] #define REG_WR32(sc, offset, val) bnx2x_reg_write32(sc, (offset), val) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../drivers/net/bnx2x/bnx2x.h:1531:33: note: in expansion of macro ‘REG_WR32’ 1531 | #define REG_WR(sc, offset, val) REG_WR32(sc, offset, val) | ^~~~~~~~ ../drivers/net/bnx2x/bnx2x.h:1916:9: note: in expansion of macro ‘REG_WR’ 1916 | REG_WR(sc, hc_addr, *val); | ^~~~~~ ../drivers/net/bnx2x/bnx2x.h:1905:33: note: ‘igu_ack’ declared here 1905 | struct igu_ack_register igu_ack; | ^~~~~~~ REG_WR32 requires 'uint32_t', use union instead of cast to 'uint32_t'. Bugzilla ID: 692 Fixes: 38dff79ba736 ("net/bnx2x: update HSI") Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Kevin Traynor <ktraynor@redhat.com> --- drivers/net/bnx2x/bnx2x.h | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/drivers/net/bnx2x/bnx2x.h b/drivers/net/bnx2x/bnx2x.h index 1dbc98197d..b6aa52a333 100644 --- a/drivers/net/bnx2x/bnx2x.h +++ b/drivers/net/bnx2x/bnx2x.h @@ -1902,18 +1902,19 @@ bnx2x_hc_ack_sb(struct bnx2x_softc *sc, uint8_t sb_id, uint8_t storm, { uint32_t hc_addr = (HC_REG_COMMAND_REG + SC_PORT(sc) * 32 + COMMAND_REG_INT_ACK); - struct igu_ack_register igu_ack; - uint32_t *val = NULL; + union { + struct igu_ack_register igu_ack; + uint32_t val; + } val; - igu_ack.status_block_index = index; - igu_ack.sb_id_and_flags = + val.igu_ack.status_block_index = index; + val.igu_ack.sb_id_and_flags = ((sb_id << IGU_ACK_REGISTER_STATUS_BLOCK_ID_SHIFT) | (storm << IGU_ACK_REGISTER_STORM_ID_SHIFT) | (update << IGU_ACK_REGISTER_UPDATE_INDEX_SHIFT) | (op << IGU_ACK_REGISTER_INTERRUPT_MODE_SHIFT)); - val = (uint32_t *)&igu_ack; - REG_WR(sc, hc_addr, *val); + REG_WR(sc, hc_addr, val.val); /* Make sure that ACK is written */ mb(); -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.258377491 +0200 +++ 0025-net-bnx2x-fix-build-with-GCC-11.patch 2021-06-10 14:04:58.054024554 +0200 @@ -1 +1 @@ -From ab70be7e2d971dd0238da10322ac19209917b8ca Mon Sep 17 00:00:00 2001 +From d1a3991251e3d6d826ae757ac48ac36b4c93d424 Mon Sep 17 00:00:00 2001 @@ -8,0 +9,2 @@ +[ upstream commit ab70be7e2d971dd0238da10322ac19209917b8ca ] + @@ -34 +35,0 @@ -Cc: stable@dpdk.org @@ -43 +44 @@ -index e13ab15574..80d19cbfd6 100644 +index 1dbc98197d..b6aa52a333 100644
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/cabcb9e71d494409a09e50b2fedef10741c94c3c Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From cabcb9e71d494409a09e50b2fedef10741c94c3c Mon Sep 17 00:00:00 2001 From: Ferruh Yigit <ferruh.yigit@intel.com> Date: Tue, 11 May 2021 14:14:34 +0100 Subject: [PATCH] net/ice/base: fix build with GCC 11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit 97de3819ed93f4b3a71e429147a7e6a435789ab2 ] Reproduced with '--buildtype=debugoptimized' config, compiler version: gcc (GCC) 12.0.0 20210509 (experimental) There are multiple build errors, like: ../drivers/net/ice/base/ice_switch.c: In function ‘ice_add_marker_act’: ../drivers/net/ice/base/ice_switch.c:3727:15: warning: array subscript ‘struct ice_aqc_sw_rules_elem[0]’ is partly outside array bounds of ‘unsigned char[52]’ [-Warray-bounds] 3727 | lg_act->type = CPU_TO_LE16(ICE_AQC_SW_RULES_T_LG_ACT); | ^~ In file included from ../drivers/net/ice/base/ice_type.h:52, from ../drivers/net/ice/base/ice_common.h:8, from ../drivers/net/ice/base/ice_switch.h:8, from ../drivers/net/ice/base/ice_switch.c:5: ../drivers/net/ice/base/ice_osdep.h:209:29: note: referencing an object of size 52 allocated by ‘rte_zmalloc’ 209 | #define ice_malloc(h, s) rte_zmalloc(NULL, s, 0) | ^~~~~~~~~~~~~~~~~~~~~~~ ../drivers/net/ice/base/ice_switch.c:3720:50: note: in expansion of macro ‘ice_malloc’ lg_act = (struct ice_aqc_sw_rules_elem *)ice_malloc(hw, rules_size); These errors are mainly because allocated memory is cast to "struct ice_aqc_sw_rules_elem *" but allocated size is less than the size of "struct ice_aqc_sw_rules_elem". "struct ice_aqc_sw_rules_elem" has multiple other structs has unions, based on which one is used allocated memory being less than the size of "struct ice_aqc_sw_rules_elem" is logically correct but compiler is complaining about it. Since the allocation is done explicitly and both producer and consumer are internal, safe to ignore the warnings. Also to prevent any side affect disabling the compiler warning for now, until proper fix done. Reducing the warning disable to gcc >= 11 version. Bugzilla ID: 678 Fixes: c7dd15931183 ("net/ice/base: add virtual switch code") Fixes: 02acdce2f553 ("net/ice/base: add MAC filter with marker and counter") Fixes: f89aa3affa9e ("net/ice/base: support removing advanced rule") Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Haiyue Wang <haiyue.wang@intel.com> --- drivers/net/ice/base/meson.build | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/net/ice/base/meson.build b/drivers/net/ice/base/meson.build index 46c4ffb500..26c0f2ef62 100644 --- a/drivers/net/ice/base/meson.build +++ b/drivers/net/ice/base/meson.build @@ -18,6 +18,12 @@ error_cflags = ['-Wno-unused-value', '-Wno-unused-variable', '-Wno-unused-parameter', ] + +# Bugzilla ID: 678 +if (toolchain == 'gcc' and cc.version().version_compare('>=11.0.0')) + error_cflags += ['-Wno-array-bounds'] +endif + c_args = cflags foreach flag: error_cflags -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.312627544 +0200 +++ 0026-net-ice-base-fix-build-with-GCC-11.patch 2021-06-10 14:04:58.054024554 +0200 @@ -1 +1 @@ -From 97de3819ed93f4b3a71e429147a7e6a435789ab2 Mon Sep 17 00:00:00 2001 +From cabcb9e71d494409a09e50b2fedef10741c94c3c Mon Sep 17 00:00:00 2001 @@ -8,0 +9,2 @@ +[ upstream commit 97de3819ed93f4b3a71e429147a7e6a435789ab2 ] + @@ -51 +52,0 @@ -Cc: stable@dpdk.org @@ -56,2 +57,2 @@ - drivers/net/ice/base/meson.build | 5 +++++ - 1 file changed, 5 insertions(+) + drivers/net/ice/base/meson.build | 6 ++++++ + 1 file changed, 6 insertions(+) @@ -60 +61 @@ -index 6c548a9977..3305e5dd18 100644 +index 46c4ffb500..26c0f2ef62 100644 @@ -63,2 +64,3 @@ -@@ -23,6 +23,11 @@ error_cflags = [ - '-Wno-unused-parameter', +@@ -18,6 +18,12 @@ error_cflags = ['-Wno-unused-value', + '-Wno-unused-variable', + '-Wno-unused-parameter', @@ -66 +68 @@ - ++ @@ -72,3 +74,3 @@ - if is_windows and cc.get_id() != 'clang' - cflags += ['-fno-asynchronous-unwind-tables'] - endif + c_args = cflags + + foreach flag: error_cflags
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/5ad81654a0397442219b25eac2e9a6a4e099ca7e Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 5ad81654a0397442219b25eac2e9a6a4e099ca7e Mon Sep 17 00:00:00 2001 From: Ferruh Yigit <ferruh.yigit@intel.com> Date: Tue, 11 May 2021 14:14:35 +0100 Subject: [PATCH] net/tap: fix build with GCC 11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit a625ab89df114bb813a9c8bc3ee3a8f5735bd5fe ] Reproduced with '--buildtype=debugoptimized' config, compiler version: gcc (GCC) 12.0.0 20210509 (experimental) There are multiple build errors, like: In file included from ../drivers/net/tap/tap_flow.c:13: In function ‘rte_jhash_2hashes’, inlined from ‘rte_jhash’ at ../lib/hash/rte_jhash.h:284:2, inlined from ‘tap_flow_set_handle’ at ../drivers/net/tap/tap_flow.c:1306:12, inlined from ‘rss_enable’ at ../drivers/net/tap/tap_flow.c:1909:3, inlined from ‘priv_flow_process’ at ../drivers/net/tap/tap_flow.c:1228:11: ../lib/hash/rte_jhash.h:238:9: warning: ‘flow’ may be used uninitialized [-Wmaybe-uninitialized] 238 | __rte_jhash_2hashes(key, length, pc, pb, 1); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../drivers/net/tap/tap_flow.c: In function ‘priv_flow_process’: ../lib/hash/rte_jhash.h:81:1: note: by argument 1 of type ‘const void *’ to ‘__rte_jhash_2hashes.constprop’ declared here 81 | __rte_jhash_2hashes(const void *key, uint32_t length, uint32_t *pc, | ^~~~~~~~~~~~~~~~~~~ ../drivers/net/tap/tap_flow.c:1028:1: note: ‘flow’ declared here 1028 | priv_flow_process(struct pmd_internals *pmd, | ^~~~~~~~~~~~~~~~~ Fix strict aliasing rule by using union. Bugzilla ID: 690 Fixes: de96fe68ae95 ("net/tap: add basic flow API patterns and actions") Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Kevin Traynor <ktraynor@redhat.com> --- drivers/net/tap/tap_flow.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/net/tap/tap_flow.c b/drivers/net/tap/tap_flow.c index 1538349e9c..2e471832b5 100644 --- a/drivers/net/tap/tap_flow.c +++ b/drivers/net/tap/tap_flow.c @@ -1300,10 +1300,16 @@ tap_flow_validate(struct rte_eth_dev *dev, static void tap_flow_set_handle(struct rte_flow *flow) { + union { + struct rte_flow *flow; + const void *key; + } tmp; uint32_t handle = 0; + tmp.flow = flow; + if (sizeof(flow) > 4) - handle = rte_jhash(&flow, sizeof(flow), 1); + handle = rte_jhash(tmp.key, sizeof(flow), 1); else handle = (uintptr_t)flow; /* must be at least 1 to avoid letting the kernel choose one for us */ -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.361517940 +0200 +++ 0027-net-tap-fix-build-with-GCC-11.patch 2021-06-10 14:04:58.058024583 +0200 @@ -1 +1 @@ -From a625ab89df114bb813a9c8bc3ee3a8f5735bd5fe Mon Sep 17 00:00:00 2001 +From 5ad81654a0397442219b25eac2e9a6a4e099ca7e Mon Sep 17 00:00:00 2001 @@ -8,0 +9,2 @@ +[ upstream commit a625ab89df114bb813a9c8bc3ee3a8f5735bd5fe ] + @@ -38 +39,0 @@ -Cc: stable@dpdk.org @@ -47 +48 @@ -index 1ee6fb30ab..c4f60ce98e 100644 +index 1538349e9c..2e471832b5 100644
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/8b700cbb8c888f2fd17c8ce1ef86134a143ae5a1 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 8b700cbb8c888f2fd17c8ce1ef86134a143ae5a1 Mon Sep 17 00:00:00 2001 From: Chengwen Feng <fengchengwen@huawei.com> Date: Mon, 10 May 2021 20:06:02 +0800 Subject: [PATCH] net/mlx4: fix secondary process initialization ordering [ upstream commit e5d94cf94e9d7c240e73b390c8c292fc9595f971 ] The memory barrier is used to ensure that the response is returned only after the Tx/Rx function is set, it should place after the Rx/Tx function is set. Fixes: 0203d33a1059 ("net/mlx4: support secondary process") Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> --- drivers/net/mlx4/mlx4_mp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/mlx4/mlx4_mp.c b/drivers/net/mlx4/mlx4_mp.c index 4da743d9e3..1e9b4de500 100644 --- a/drivers/net/mlx4/mlx4_mp.c +++ b/drivers/net/mlx4/mlx4_mp.c @@ -127,7 +127,6 @@ mp_secondary_handle(const struct rte_mp_msg *mp_msg, const void *peer) switch (param->type) { case MLX4_MP_REQ_START_RXTX: INFO("port %u starting datapath", dev->data->port_id); - rte_mb(); dev->tx_pkt_burst = mlx4_tx_burst; dev->rx_pkt_burst = mlx4_rx_burst; #ifdef HAVE_IBV_MLX4_UAR_MMAP_OFFSET @@ -145,6 +144,7 @@ mp_secondary_handle(const struct rte_mp_msg *mp_msg, const void *peer) } } #endif + rte_mb(); mp_init_msg(dev, &mp_res, param->type); res->result = 0; ret = rte_mp_reply(&mp_res, peer); -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.410480383 +0200 +++ 0028-net-mlx4-fix-secondary-process-initialization-orderi.patch 2021-06-10 14:04:58.058024583 +0200 @@ -1 +1 @@ -From e5d94cf94e9d7c240e73b390c8c292fc9595f971 Mon Sep 17 00:00:00 2001 +From 8b700cbb8c888f2fd17c8ce1ef86134a143ae5a1 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit e5d94cf94e9d7c240e73b390c8c292fc9595f971 ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index ddf7bdb9ef..8fcfb5490e 100644 +index 4da743d9e3..1e9b4de500 100644 @@ -23 +24 @@ -@@ -126,7 +126,6 @@ mp_secondary_handle(const struct rte_mp_msg *mp_msg, const void *peer) +@@ -127,7 +127,6 @@ mp_secondary_handle(const struct rte_mp_msg *mp_msg, const void *peer) @@ -31 +32 @@ -@@ -144,6 +143,7 @@ mp_secondary_handle(const struct rte_mp_msg *mp_msg, const void *peer) +@@ -145,6 +144,7 @@ mp_secondary_handle(const struct rte_mp_msg *mp_msg, const void *peer)
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/d176e9e77d81e8d51482e825c603ffe356099d8c Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From d176e9e77d81e8d51482e825c603ffe356099d8c Mon Sep 17 00:00:00 2001 From: Chengwen Feng <fengchengwen@huawei.com> Date: Mon, 10 May 2021 20:06:03 +0800 Subject: [PATCH] net/mlx5: fix secondary process initialization ordering [ upstream commit 69b44d6bce1c9990e522a08f693d5f9f2e2e5067 ] The memory barrier is used to ensure that the response is returned only after the Tx/Rx function is set, it should place after the Rx/Tx function is set. Fixes: 2aac5b5d119f ("net/mlx5: sync stop/start with secondary process") Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> --- drivers/net/mlx5/mlx5_mp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_mp.c b/drivers/net/mlx5/mlx5_mp.c index e889247871..6b7f5f3dcb 100644 --- a/drivers/net/mlx5/mlx5_mp.c +++ b/drivers/net/mlx5/mlx5_mp.c @@ -134,7 +134,6 @@ mp_secondary_handle(const struct rte_mp_msg *mp_msg, const void *peer) switch (param->type) { case MLX5_MP_REQ_START_RXTX: DRV_LOG(INFO, "port %u starting datapath", dev->data->port_id); - rte_mb(); dev->rx_pkt_burst = mlx5_select_rx_function(dev); dev->tx_pkt_burst = mlx5_select_tx_function(dev); ppriv = (struct mlx5_proc_priv *)dev->process_private; @@ -151,6 +150,7 @@ mp_secondary_handle(const struct rte_mp_msg *mp_msg, const void *peer) return -rte_errno; } } + rte_mb(); mp_init_msg(dev, &mp_res, param->type); res->result = 0; ret = rte_mp_reply(&mp_res, peer); -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.463663215 +0200 +++ 0029-net-mlx5-fix-secondary-process-initialization-orderi.patch 2021-06-10 14:04:58.058024583 +0200 @@ -1 +1 @@ -From 69b44d6bce1c9990e522a08f693d5f9f2e2e5067 Mon Sep 17 00:00:00 2001 +From d176e9e77d81e8d51482e825c603ffe356099d8c Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 69b44d6bce1c9990e522a08f693d5f9f2e2e5067 ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -16 +17 @@ - drivers/net/mlx5/linux/mlx5_mp_os.c | 2 +- + drivers/net/mlx5/mlx5_mp.c | 2 +- @@ -19,5 +20,5 @@ -diff --git a/drivers/net/mlx5/linux/mlx5_mp_os.c b/drivers/net/mlx5/linux/mlx5_mp_os.c -index ca529b6007..3a4aa766f8 100644 ---- a/drivers/net/mlx5/linux/mlx5_mp_os.c -+++ b/drivers/net/mlx5/linux/mlx5_mp_os.c -@@ -132,7 +132,6 @@ struct rte_mp_msg mp_res; +diff --git a/drivers/net/mlx5/mlx5_mp.c b/drivers/net/mlx5/mlx5_mp.c +index e889247871..6b7f5f3dcb 100644 +--- a/drivers/net/mlx5/mlx5_mp.c ++++ b/drivers/net/mlx5/mlx5_mp.c +@@ -134,7 +134,6 @@ mp_secondary_handle(const struct rte_mp_msg *mp_msg, const void *peer) @@ -31 +32 @@ -@@ -149,6 +148,7 @@ struct rte_mp_msg mp_res; +@@ -151,6 +150,7 @@ mp_secondary_handle(const struct rte_mp_msg *mp_msg, const void *peer) @@ -36 +37 @@ - mp_init_msg(&priv->mp_id, &mp_res, param->type); + mp_init_msg(dev, &mp_res, param->type);
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/c19da5ea08ac775e0effc0e13f83aac6867288a5 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From c19da5ea08ac775e0effc0e13f83aac6867288a5 Mon Sep 17 00:00:00 2001 From: Adam Dybkowski <adamx.dybkowski@intel.com> Date: Mon, 10 May 2021 11:20:11 +0100 Subject: [PATCH] crypto/qat: fix null authentication request [ upstream commit 5cce3bd6b2fc9e272a8defc7b8971a96232d4529 ] This patch fixes the NULL auth generation case where the request shouldn't contain the authentication result address. Allows to run ipsec_autotest with a QAT device. Fixes: 65beb9abca6d ("crypto/qat: fix null auth when using VFIO") Signed-off-by: Adam Dybkowski <adamx.dybkowski@intel.com> Acked-by: Fan Zhang <roy.fan.zhang@intel.com> --- drivers/crypto/qat/qat_sym.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/crypto/qat/qat_sym.c b/drivers/crypto/qat/qat_sym.c index 9990507187..696b231a00 100644 --- a/drivers/crypto/qat/qat_sym.c +++ b/drivers/crypto/qat/qat_sym.c @@ -310,8 +310,10 @@ qat_sym_build_request(void *in_op, uint8_t *out_msg, } min_ofs = auth_ofs; - auth_param->auth_res_addr = - op->sym->auth.digest.phys_addr; + if (ctx->qat_hash_alg != ICP_QAT_HW_AUTH_ALGO_NULL || + ctx->auth_op == ICP_QAT_HW_AUTH_VERIFY) + auth_param->auth_res_addr = + op->sym->auth.digest.phys_addr; } -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.508568647 +0200 +++ 0030-crypto-qat-fix-null-authentication-request.patch 2021-06-10 14:04:58.058024583 +0200 @@ -1 +1 @@ -From 5cce3bd6b2fc9e272a8defc7b8971a96232d4529 Mon Sep 17 00:00:00 2001 +From c19da5ea08ac775e0effc0e13f83aac6867288a5 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 5cce3bd6b2fc9e272a8defc7b8971a96232d4529 ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index a1f5676c04..9415ec7d32 100644 +index 9990507187..696b231a00 100644 @@ -23 +24 @@ -@@ -399,8 +399,10 @@ qat_sym_build_request(void *in_op, uint8_t *out_msg, +@@ -310,8 +310,10 @@ qat_sym_build_request(void *in_op, uint8_t *out_msg,
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/02d8cd1aef6dd237588b159671c96112776144c9 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 02d8cd1aef6dd237588b159671c96112776144c9 Mon Sep 17 00:00:00 2001 From: "Min Hu (Connor)" <humin29@huawei.com> Date: Thu, 6 May 2021 14:13:59 +0800 Subject: [PATCH] app/crypto-perf: check memory allocation [ upstream commit 37c0359bc550e0cf3938382553c7dbb4fb21567d ] Return value of a function 'rte_zmalloc' is dereferenced without checking, and it may call segmentation fault. This patch fixed it. Fixes: f8be1786b1b8 ("app/crypto-perf: introduce performance test application") Signed-off-by: Min Hu (Connor) <humin29@huawei.com> Acked-by: Akhil Goyal <gakhil@marvell.com> --- app/test-crypto-perf/cperf_options_parsing.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/test-crypto-perf/cperf_options_parsing.c b/app/test-crypto-perf/cperf_options_parsing.c index 22bf9cd4d6..e16e8eca9c 100644 --- a/app/test-crypto-perf/cperf_options_parsing.c +++ b/app/test-crypto-perf/cperf_options_parsing.c @@ -495,6 +495,12 @@ parse_test_name(struct cperf_options *opts, { char *test_name = (char *) rte_zmalloc(NULL, sizeof(char) * (strlen(arg) + 3), 0); + if (test_name == NULL) { + RTE_LOG(ERR, USER1, "Failed to rte zmalloc with size: %zu\n", + strlen(arg) + 3); + return -1; + } + snprintf(test_name, strlen(arg) + 3, "[%s]", arg); opts->test_name = test_name; -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.551738875 +0200 +++ 0031-app-crypto-perf-check-memory-allocation.patch 2021-06-10 14:04:58.062024614 +0200 @@ -1 +1 @@ -From 37c0359bc550e0cf3938382553c7dbb4fb21567d Mon Sep 17 00:00:00 2001 +From 02d8cd1aef6dd237588b159671c96112776144c9 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 37c0359bc550e0cf3938382553c7dbb4fb21567d ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -21 +22 @@ -index 40b6dfb648..e84f56cfaa 100644 +index 22bf9cd4d6..e16e8eca9c 100644 @@ -24 +25 @@ -@@ -506,6 +506,12 @@ parse_test_name(struct cperf_options *opts, +@@ -495,6 +495,12 @@ parse_test_name(struct cperf_options *opts,
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/3ef4bb9cf8f7ffadabe4f9bf1b44523aae8dcf14 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 3ef4bb9cf8f7ffadabe4f9bf1b44523aae8dcf14 Mon Sep 17 00:00:00 2001 From: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> Date: Thu, 6 May 2021 00:54:35 +0300 Subject: [PATCH] examples/rxtx_callbacks: fix port ID format specifier [ upstream commit 7861009f7b2ca7a028ee7fe867c90cd5560de529 ] This fixes -Wformat warning with clang 10.0.0 on Windows. Fixes: f8244c6399d9 ("ethdev: increase port id range") Signed-off-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> --- examples/rxtx_callbacks/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/rxtx_callbacks/main.c b/examples/rxtx_callbacks/main.c index 35648226fe..ad587c7a13 100644 --- a/examples/rxtx_callbacks/main.c +++ b/examples/rxtx_callbacks/main.c @@ -295,7 +295,7 @@ main(int argc, char *argv[]) /* initialize all ports */ RTE_ETH_FOREACH_DEV(portid) if (port_init(portid, mbuf_pool) != 0) - rte_exit(EXIT_FAILURE, "Cannot init port %"PRIu8"\n", + rte_exit(EXIT_FAILURE, "Cannot init port %"PRIu16"\n", portid); if (rte_lcore_count() > 1) -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.592250609 +0200 +++ 0032-examples-rxtx_callbacks-fix-port-ID-format-specifier.patch 2021-06-10 14:04:58.062024614 +0200 @@ -1 +1 @@ -From 7861009f7b2ca7a028ee7fe867c90cd5560de529 Mon Sep 17 00:00:00 2001 +From 3ef4bb9cf8f7ffadabe4f9bf1b44523aae8dcf14 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 7861009f7b2ca7a028ee7fe867c90cd5560de529 ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index b57b2fc6bc..192521c3c6 100644 +index 35648226fe..ad587c7a13 100644 @@ -22 +23 @@ -@@ -329,7 +329,7 @@ main(int argc, char *argv[]) +@@ -295,7 +295,7 @@ main(int argc, char *argv[])
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/16632a29f39cfdac74d1b9556460160e0c8623df Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 16632a29f39cfdac74d1b9556460160e0c8623df Mon Sep 17 00:00:00 2001 From: "Min Hu (Connor)" <humin29@huawei.com> Date: Thu, 29 Apr 2021 08:50:46 +0800 Subject: [PATCH] examples/flow_classify: fix NUMA check of port and core [ upstream commit 78a5545ef92b48553be4a244514a2514ca9b09b0 ] According to the comments and logging, the author just hope user to use the core and device which are in the same numa node for optimal performance. If not, A warning gives out. For example in flow_classify: ./build/flow_classify -a 0000:7d:00.1 -l 93 Here: 0000:7d:00.1 is on numa node 0. core 93 is on numa node 3. The two are not in same numa node, but no warning gives out in old codes when device is on node 0. This patch includes the node 0 in the check. Fixes: bab16ddaf2c1 ("examples/flow_classify: add sample application") Signed-off-by: Min Hu (Connor) <humin29@huawei.com> Tested-by: Bernard Iremonger <bernard.iremonger@intel.com> Acked-by: Bernard Iremonger <bernard.iremonger@intel.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> --- examples/flow_classify/flow_classify.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/flow_classify/flow_classify.c b/examples/flow_classify/flow_classify.c index 060f0c9402..5fb86b50eb 100644 --- a/examples/flow_classify/flow_classify.c +++ b/examples/flow_classify/flow_classify.c @@ -284,7 +284,7 @@ lcore_main(struct flow_classifier *cls_app) * for best performance. */ RTE_ETH_FOREACH_DEV(port) - if (rte_eth_dev_socket_id(port) > 0 && + if (rte_eth_dev_socket_id(port) >= 0 && rte_eth_dev_socket_id(port) != (int)rte_socket_id()) { printf("\n\n"); printf("WARNING: port %u is on remote NUMA node\n", -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.642378459 +0200 +++ 0033-examples-flow_classify-fix-NUMA-check-of-port-and-co.patch 2021-06-10 14:04:58.062024614 +0200 @@ -1 +1 @@ -From 78a5545ef92b48553be4a244514a2514ca9b09b0 Mon Sep 17 00:00:00 2001 +From 16632a29f39cfdac74d1b9556460160e0c8623df Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 78a5545ef92b48553be4a244514a2514ca9b09b0 ] + @@ -21 +22,0 @@ -Cc: stable@dpdk.org @@ -32 +33 @@ -index 5c3e111cfa..94c1553648 100644 +index 060f0c9402..5fb86b50eb 100644
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/f10ba4eba82dc5a1323be021b50ce8d6020088bf Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From f10ba4eba82dc5a1323be021b50ce8d6020088bf Mon Sep 17 00:00:00 2001 From: "Min Hu (Connor)" <humin29@huawei.com> Date: Thu, 29 Apr 2021 08:50:47 +0800 Subject: [PATCH] examples/l2fwd-cat: fix NUMA check of port and core [ upstream commit 59a50c6a9ace0dc736d71e75267a1cc2127e7938 ] According to the comments and logging, the author just hope user to use the core and device which are in the same numa node for optimal performance. If not, A warning gives out. This patch fixes the check for a device on the node 0. Fixes: f6baccbc2b3b ("examples/l2fwd-cat: add sample application for PQoS CAT and CDP") Signed-off-by: Min Hu (Connor) <humin29@huawei.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> --- examples/l2fwd-cat/l2fwd-cat.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/l2fwd-cat/l2fwd-cat.c b/examples/l2fwd-cat/l2fwd-cat.c index 87d6c930b6..a583e13eca 100644 --- a/examples/l2fwd-cat/l2fwd-cat.c +++ b/examples/l2fwd-cat/l2fwd-cat.c @@ -107,7 +107,7 @@ lcore_main(void) * for best performance. */ RTE_ETH_FOREACH_DEV(port) - if (rte_eth_dev_socket_id(port) > 0 && + if (rte_eth_dev_socket_id(port) >= 0 && rte_eth_dev_socket_id(port) != (int)rte_socket_id()) printf("WARNING, port %u is on remote NUMA node to " -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.680546151 +0200 +++ 0034-examples-l2fwd-cat-fix-NUMA-check-of-port-and-core.patch 2021-06-10 14:04:58.062024614 +0200 @@ -1 +1 @@ -From 59a50c6a9ace0dc736d71e75267a1cc2127e7938 Mon Sep 17 00:00:00 2001 +From f10ba4eba82dc5a1323be021b50ce8d6020088bf Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 59a50c6a9ace0dc736d71e75267a1cc2127e7938 ] + @@ -13 +14,0 @@ -Cc: stable@dpdk.org @@ -22 +23 @@ -index 02288a3824..8e7eb32485 100644 +index 87d6c930b6..a583e13eca 100644
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/93825f29b06cb69b108cdf2f1f67efed8ed7ca61 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 93825f29b06cb69b108cdf2f1f67efed8ed7ca61 Mon Sep 17 00:00:00 2001 From: "Min Hu (Connor)" <humin29@huawei.com> Date: Thu, 29 Apr 2021 08:50:48 +0800 Subject: [PATCH] examples/skeleton: fix NUMA check of port and core [ upstream commit 5ffa60cd77c76855690d06cb900d6670f29de9a6 ] According to the comments and logging, the author just hope user to use the core and device which are in the same numa node for optimal performance. If not, A warning gives out. This patch fixes the check for a device on the node 0. Fixes: 7107e471a6c7 ("examples/skeleton: very simple code for packet forwarding") Signed-off-by: Min Hu (Connor) <humin29@huawei.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> --- examples/skeleton/basicfwd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/skeleton/basicfwd.c b/examples/skeleton/basicfwd.c index 6f6b59e6f7..d312afad0b 100644 --- a/examples/skeleton/basicfwd.c +++ b/examples/skeleton/basicfwd.c @@ -122,7 +122,7 @@ lcore_main(void) * for best performance. */ RTE_ETH_FOREACH_DEV(port) - if (rte_eth_dev_socket_id(port) > 0 && + if (rte_eth_dev_socket_id(port) >= 0 && rte_eth_dev_socket_id(port) != (int)rte_socket_id()) printf("WARNING, port %u is on remote NUMA node to " -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.728318028 +0200 +++ 0035-examples-skeleton-fix-NUMA-check-of-port-and-core.patch 2021-06-10 14:04:58.066024643 +0200 @@ -1 +1 @@ -From 5ffa60cd77c76855690d06cb900d6670f29de9a6 Mon Sep 17 00:00:00 2001 +From 93825f29b06cb69b108cdf2f1f67efed8ed7ca61 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 5ffa60cd77c76855690d06cb900d6670f29de9a6 ] + @@ -13 +14,0 @@ -Cc: stable@dpdk.org @@ -22 +23 @@ -index a31b2882ae..43b9d17a3c 100644 +index 6f6b59e6f7..d312afad0b 100644
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/62717ed0e07ec3fb396a071b6c6acaeaeb9d7d4d Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 62717ed0e07ec3fb396a071b6c6acaeaeb9d7d4d Mon Sep 17 00:00:00 2001 From: "Min Hu (Connor)" <humin29@huawei.com> Date: Thu, 22 Apr 2021 14:13:54 +0800 Subject: [PATCH] test: check flow classifier creation [ upstream commit 705b04af1c100c464b6d9238408e84cfeffc489c ] 'cls->cls' will be NULL if flow classifier create has failed, then segmentation fault will occur if the variable is used. This patch fixed it. Fixes: 9c9befea4f57 ("test: add flow classify unit tests") Signed-off-by: Min Hu (Connor) <humin29@huawei.com> Acked-by: Bernard Iremonger <bernard.iremonger@intel.com> --- app/test/test_flow_classify.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/test/test_flow_classify.c b/app/test/test_flow_classify.c index ef0b6fdd5c..951606f248 100644 --- a/app/test/test_flow_classify.c +++ b/app/test/test_flow_classify.c @@ -828,6 +828,12 @@ test_flow_classify(void) cls_params.name = "flow_classifier"; cls_params.socket_id = 0; cls->cls = rte_flow_classifier_create(&cls_params); + if (cls->cls == NULL) { + printf("Line %i: flow classifier create has failed!\n", + __LINE__); + rte_free(cls); + return TEST_FAILED; + } /* initialise ACL table params */ table_acl_params.n_rule_fields = RTE_DIM(ipv4_defs); -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.770950913 +0200 +++ 0036-test-check-flow-classifier-creation.patch 2021-06-10 14:04:58.066024643 +0200 @@ -1 +1 @@ -From 705b04af1c100c464b6d9238408e84cfeffc489c Mon Sep 17 00:00:00 2001 +From 62717ed0e07ec3fb396a071b6c6acaeaeb9d7d4d Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 705b04af1c100c464b6d9238408e84cfeffc489c ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/647d1039feeb7f783742c813a5ac1d07abcd9aee Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 647d1039feeb7f783742c813a5ac1d07abcd9aee Mon Sep 17 00:00:00 2001 From: David Hunt <david.hunt@intel.com> Date: Wed, 12 May 2021 17:32:51 +0100 Subject: [PATCH] test/power: fix CPU frequency check [ upstream commit ff6dfb8e492f1cfa8755150816d888541e2cd7c7 ] Different drivers present the current cpu core frequency in different sysfs files. Some present it in cpuinfo_cur_freq, some in scaling_cur_freq, and some actually present it in both. This patch attempts to open one, if that fails, tries the other. Fixes: d550a8cc31f3 ("app/test: enhance power manager unit tests") Signed-off-by: David Hunt <david.hunt@intel.com> --- app/test/test_power_cpufreq.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/app/test/test_power_cpufreq.c b/app/test/test_power_cpufreq.c index 6c2f5ced72..25e77ab375 100644 --- a/app/test/test_power_cpufreq.c +++ b/app/test/test_power_cpufreq.c @@ -39,8 +39,10 @@ test_power_caps(void) #define TEST_FREQ_ROUNDING_DELTA 50000 #define TEST_ROUND_FREQ_TO_N_100000 100000 -#define TEST_POWER_SYSFILE_CUR_FREQ \ +#define TEST_POWER_SYSFILE_CPUINFO_FREQ \ "/sys/devices/system/cpu/cpu%u/cpufreq/cpuinfo_cur_freq" +#define TEST_POWER_SYSFILE_SCALING_FREQ \ + "/sys/devices/system/cpu/cpu%u/cpufreq/scaling_cur_freq" static uint32_t total_freq_num; static uint32_t freqs[TEST_POWER_FREQS_NUM_MAX]; @@ -58,12 +60,19 @@ check_cur_freq(unsigned lcore_id, uint32_t idx) int i; if (snprintf(fullpath, sizeof(fullpath), - TEST_POWER_SYSFILE_CUR_FREQ, lcore_id) < 0) { + TEST_POWER_SYSFILE_SCALING_FREQ, lcore_id) < 0) { return 0; } f = fopen(fullpath, "r"); if (f == NULL) { - return 0; + if (snprintf(fullpath, sizeof(fullpath), + TEST_POWER_SYSFILE_CPUINFO_FREQ, lcore_id) < 0) { + return 0; + } + f = fopen(fullpath, "r"); + if (f == NULL) { + return 0; + } } for (i = 0; i < MAX_LOOP; i++) { fflush(f); -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.819886022 +0200 +++ 0037-test-power-fix-CPU-frequency-check.patch 2021-06-10 14:04:58.066024643 +0200 @@ -1 +1 @@ -From ff6dfb8e492f1cfa8755150816d888541e2cd7c7 Mon Sep 17 00:00:00 2001 +From 647d1039feeb7f783742c813a5ac1d07abcd9aee Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit ff6dfb8e492f1cfa8755150816d888541e2cd7c7 ] + @@ -13 +14,0 @@ -Cc: stable@dpdk.org @@ -21 +22 @@ -index f753d24ac5..52f58ef8b2 100644 +index 6c2f5ced72..25e77ab375 100644
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/bad1135b3c27b62436d1f7c1e2463a0c1d60cba9 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From bad1135b3c27b62436d1f7c1e2463a0c1d60cba9 Mon Sep 17 00:00:00 2001 From: David Hunt <david.hunt@intel.com> Date: Wed, 12 May 2021 17:32:52 +0100 Subject: [PATCH] test/power: add turbo mode to frequency check [ upstream commit 6db92b3b9bb130acf0bc9d774ab2d75ea67d00df ] With the intel_pstate driver and turbo enabled, the top frequency in the frequency array is the P1+1, i.e. 2300001, whereas the frequency shown in scaling_cur_freq could be a lot higher. This patch adds a flag to the check_cur_freq function so that we can specify if a frequency is greater than expected (turbo mode), in which case the check should be successful. Fixes: aeaeaf5f2d62 ("test/power: add cases for turbo feature") Signed-off-by: David Hunt <david.hunt@intel.com> --- app/test/test_power_cpufreq.c | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/app/test/test_power_cpufreq.c b/app/test/test_power_cpufreq.c index 25e77ab375..24ecfceaaf 100644 --- a/app/test/test_power_cpufreq.c +++ b/app/test/test_power_cpufreq.c @@ -48,7 +48,7 @@ static uint32_t total_freq_num; static uint32_t freqs[TEST_POWER_FREQS_NUM_MAX]; static int -check_cur_freq(unsigned lcore_id, uint32_t idx) +check_cur_freq(unsigned int lcore_id, uint32_t idx, bool turbo) { #define TEST_POWER_CONVERT_TO_DECIMAL 10 #define MAX_LOOP 100 @@ -90,7 +90,10 @@ check_cur_freq(unsigned lcore_id, uint32_t idx) / TEST_ROUND_FREQ_TO_N_100000; freq_conv = freq_conv * TEST_ROUND_FREQ_TO_N_100000; - ret = (freqs[idx] == freq_conv ? 0 : -1); + if (turbo) + ret = (freqs[idx] <= freq_conv ? 0 : -1); + else + ret = (freqs[idx] == freq_conv ? 0 : -1); if (ret == 0) break; @@ -183,7 +186,7 @@ check_power_get_freq(void) } /* Check the current frequency */ - ret = check_cur_freq(TEST_POWER_LCORE_ID, count); + ret = check_cur_freq(TEST_POWER_LCORE_ID, count, false); if (ret < 0) return -1; @@ -233,7 +236,7 @@ check_power_set_freq(void) } /* Check the current frequency */ - ret = check_cur_freq(TEST_POWER_LCORE_ID, total_freq_num - 1); + ret = check_cur_freq(TEST_POWER_LCORE_ID, total_freq_num - 1, false); if (ret < 0) return -1; @@ -269,7 +272,7 @@ check_power_freq_down(void) } /* Check the current frequency */ - ret = check_cur_freq(TEST_POWER_LCORE_ID, total_freq_num - 1); + ret = check_cur_freq(TEST_POWER_LCORE_ID, total_freq_num - 1, false); if (ret < 0) return -1; @@ -288,7 +291,7 @@ check_power_freq_down(void) } /* Check the current frequency */ - ret = check_cur_freq(TEST_POWER_LCORE_ID, 1); + ret = check_cur_freq(TEST_POWER_LCORE_ID, 1, false); if (ret < 0) return -1; @@ -324,7 +327,7 @@ check_power_freq_up(void) } /* Check the current frequency */ - ret = check_cur_freq(TEST_POWER_LCORE_ID, total_freq_num - 2); + ret = check_cur_freq(TEST_POWER_LCORE_ID, total_freq_num - 2, false); if (ret < 0) return -1; @@ -343,7 +346,7 @@ check_power_freq_up(void) } /* Check the current frequency */ - ret = check_cur_freq(TEST_POWER_LCORE_ID, 0); + ret = check_cur_freq(TEST_POWER_LCORE_ID, 0, true); if (ret < 0) return -1; @@ -371,7 +374,7 @@ check_power_freq_max(void) } /* Check the current frequency */ - ret = check_cur_freq(TEST_POWER_LCORE_ID, 0); + ret = check_cur_freq(TEST_POWER_LCORE_ID, 0, true); if (ret < 0) return -1; @@ -399,7 +402,7 @@ check_power_freq_min(void) } /* Check the current frequency */ - ret = check_cur_freq(TEST_POWER_LCORE_ID, total_freq_num - 1); + ret = check_cur_freq(TEST_POWER_LCORE_ID, total_freq_num - 1, false); if (ret < 0) return -1; @@ -433,7 +436,7 @@ check_power_turbo(void) } /* Check the current frequency */ - ret = check_cur_freq(TEST_POWER_LCORE_ID, 0); + ret = check_cur_freq(TEST_POWER_LCORE_ID, 0, true); if (ret < 0) return -1; @@ -452,7 +455,7 @@ check_power_turbo(void) } /* Check the current frequency */ - ret = check_cur_freq(TEST_POWER_LCORE_ID, 1); + ret = check_cur_freq(TEST_POWER_LCORE_ID, 1, false); if (ret < 0) return -1; -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.863631637 +0200 +++ 0038-test-power-add-turbo-mode-to-frequency-check.patch 2021-06-10 14:04:58.066024643 +0200 @@ -1 +1 @@ -From 6db92b3b9bb130acf0bc9d774ab2d75ea67d00df Mon Sep 17 00:00:00 2001 +From bad1135b3c27b62436d1f7c1e2463a0c1d60cba9 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 6db92b3b9bb130acf0bc9d774ab2d75ea67d00df ] + @@ -15 +16,0 @@ -Cc: stable@dpdk.org @@ -23 +24 @@ -index 52f58ef8b2..2b4728d2e1 100644 +index 25e77ab375..24ecfceaaf 100644
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/4664acc0f58da508f87756cecc009235d38a783d Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 4664acc0f58da508f87756cecc009235d38a783d Mon Sep 17 00:00:00 2001 From: David Hunt <david.hunt@intel.com> Date: Wed, 12 May 2021 17:32:53 +0100 Subject: [PATCH] test/power: fix low frequency test when turbo enabled [ upstream commit 0745214e9239784a62dba28c6ad6bbb211cde949 ] With the intel_pstate driver and turbo enabled, indexing is slightly different to normal, so to get the test to work properly, enable turbo at the start. Fixes: ed7c51a6a680 ("app/test: vm power management") Signed-off-by: David Hunt <david.hunt@intel.com> --- app/test/test_power_cpufreq.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/test/test_power_cpufreq.c b/app/test/test_power_cpufreq.c index 24ecfceaaf..9c2aee5bec 100644 --- a/app/test/test_power_cpufreq.c +++ b/app/test/test_power_cpufreq.c @@ -249,6 +249,8 @@ check_power_freq_down(void) { int ret; + rte_power_freq_enable_turbo(TEST_POWER_LCORE_ID); + /* test with an invalid lcore id */ ret = rte_power_freq_down(TEST_POWER_LCORE_INVALID); if (ret >= 0) { -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.908426042 +0200 +++ 0039-test-power-fix-low-frequency-test-when-turbo-enabled.patch 2021-06-10 14:04:58.070024673 +0200 @@ -1 +1 @@ -From 0745214e9239784a62dba28c6ad6bbb211cde949 Mon Sep 17 00:00:00 2001 +From 4664acc0f58da508f87756cecc009235d38a783d Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 0745214e9239784a62dba28c6ad6bbb211cde949 ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index 2b4728d2e1..c24b706f4f 100644 +index 24ecfceaaf..9c2aee5bec 100644
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/c3761e40de280ece44d8e8df08964e4ce0656f8d Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From c3761e40de280ece44d8e8df08964e4ce0656f8d Mon Sep 17 00:00:00 2001 From: David Hunt <david.hunt@intel.com> Date: Wed, 12 May 2021 17:32:54 +0100 Subject: [PATCH] test/power: fix turbo test [ upstream commit 5bb0409b440bf43f38b90c196a66accd09a5bf8f ] when turbo is enabled or disabled, the frequency is set to a low non-turbo frequency, so we need to set to the frequency expected by the test before checking. Fixes: aeaeaf5f2d62 ("test/power: add cases for turbo feature") Signed-off-by: David Hunt <david.hunt@intel.com> --- app/test/test_power_cpufreq.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/test/test_power_cpufreq.c b/app/test/test_power_cpufreq.c index 9c2aee5bec..d0c7e60ca5 100644 --- a/app/test/test_power_cpufreq.c +++ b/app/test/test_power_cpufreq.c @@ -436,6 +436,12 @@ check_power_turbo(void) TEST_POWER_LCORE_ID); return -1; } + ret = rte_power_freq_max(TEST_POWER_LCORE_ID); + if (ret < 0) { + printf("Fail to scale up the freq to max on lcore %u\n", + TEST_POWER_LCORE_ID); + return -1; + } /* Check the current frequency */ ret = check_cur_freq(TEST_POWER_LCORE_ID, 0, true); @@ -455,6 +461,12 @@ check_power_turbo(void) TEST_POWER_LCORE_ID); return -1; } + ret = rte_power_freq_max(TEST_POWER_LCORE_ID); + if (ret < 0) { + printf("Fail to scale up the freq to max on lcore %u\n", + TEST_POWER_LCORE_ID); + return -1; + } /* Check the current frequency */ ret = check_cur_freq(TEST_POWER_LCORE_ID, 1, false); -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.951027261 +0200 +++ 0040-test-power-fix-turbo-test.patch 2021-06-10 14:04:58.070024673 +0200 @@ -1 +1 @@ -From 5bb0409b440bf43f38b90c196a66accd09a5bf8f Mon Sep 17 00:00:00 2001 +From c3761e40de280ece44d8e8df08964e4ce0656f8d Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 5bb0409b440bf43f38b90c196a66accd09a5bf8f ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index c24b706f4f..0c3adc5f33 100644 +index 9c2aee5bec..d0c7e60ca5 100644
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/57a0b62dc4e166bdbf413aa9602cd88b7a0b4eac Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 57a0b62dc4e166bdbf413aa9602cd88b7a0b4eac Mon Sep 17 00:00:00 2001 From: Ferruh Yigit <ferruh.yigit@intel.com> Date: Mon, 17 May 2021 16:57:39 +0100 Subject: [PATCH] test/table: fix build with GCC 11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit 33c12ac5ba5f09727c6de807e71403dd260a7bbc ] Build error: ../app/test/test_table_tables.c: In function ‘test_table_stub’: ../app/test/test_table_tables.c:31:9: warning: ‘memset’ offset [0, 31] is out of the bounds [0, 0] [-Warray-bounds] memset((uint8_t *)mbuf + sizeof(struct rte_mbuf) + 32, 0, 32); \ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../app/test/test_table_tables.c:151:25: note: in expansion of macro ‘PREPARE_PACKET’ 151 | PREPARE_PACKET(mbufs[i], 0xadadadad); | ^~~~~~~~~~~~~~ 'key' points to mbuf header + 32 bytes, and memset clears next 32 bytes of 'key', so overall there needs to be 64 bytes after mbuf header. Adding a mbuf size check before memset. The original code has an assumption that mbuf data buffer follows mbuf header, this patch accepts same assumption. Bugzilla ID: 677 Fixes: 5205954791cb ("app/test: packet framework unit tests") Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> --- app/test/test_table_tables.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/test/test_table_tables.c b/app/test/test_table_tables.c index 1aa269f95d..4ff6ab16aa 100644 --- a/app/test/test_table_tables.c +++ b/app/test/test_table_tables.c @@ -28,7 +28,8 @@ table_test table_tests[] = { APP_METADATA_OFFSET(0)); \ key = RTE_MBUF_METADATA_UINT8_PTR(mbuf, \ APP_METADATA_OFFSET(32)); \ - memset(key, 0, 32); \ + if (mbuf->priv_size + mbuf->buf_len >= 64) \ + memset(key, 0, 32); \ k32 = (uint32_t *) key; \ k32[0] = (value); \ *signature = pipeline_test_hash(key, NULL, 0, 0); \ -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:04:59.994794547 +0200 +++ 0041-test-table-fix-build-with-GCC-11.patch 2021-06-10 14:04:58.070024673 +0200 @@ -1 +1 @@ -From 33c12ac5ba5f09727c6de807e71403dd260a7bbc Mon Sep 17 00:00:00 2001 +From 57a0b62dc4e166bdbf413aa9602cd88b7a0b4eac Mon Sep 17 00:00:00 2001 @@ -8,0 +9,2 @@ +[ upstream commit 33c12ac5ba5f09727c6de807e71403dd260a7bbc ] + @@ -30 +31,0 @@ -Cc: stable@dpdk.org
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/84c4822ef4fa06f6d6d5523fd591525b9b9bf55a Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 84c4822ef4fa06f6d6d5523fd591525b9b9bf55a Mon Sep 17 00:00:00 2001 From: Hongbo Zheng <zhenghongbo3@huawei.com> Date: Wed, 21 Apr 2021 11:53:39 +0800 Subject: [PATCH] examples/l3fwd-power: fix empty poll thresholds [ upstream commit db7447c70820391f1225be0e6de6dab5710e6f18 ] Fix assignment errors of ep_hgh_edpi in function parse_ep_config. Fixes: a137d012a0dd ("examples/l3fwd-power: support traffic pattern aware control") Signed-off-by: Hongbo Zheng <zhenghongbo3@huawei.com> Signed-off-by: Min Hu (Connor) <humin29@huawei.com> Reviewed-by: Reshma Pattan <reshma.pattan@gmail.com> Acked-by: David Hunt <david.hunt@intel.com> --- examples/l3fwd-power/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c index 7fe5cbf577..70a47ed650 100644 --- a/examples/l3fwd-power/main.c +++ b/examples/l3fwd-power/main.c @@ -1578,7 +1578,7 @@ parse_ep_config(const char *q_arg) int hgh_edpi; ep_med_edpi = EMPTY_POLL_MED_THRESHOLD; - ep_hgh_edpi = EMPTY_POLL_MED_THRESHOLD; + ep_hgh_edpi = EMPTY_POLL_HGH_THRESHOLD; strlcpy(s, p, sizeof(s)); @@ -1601,7 +1601,7 @@ parse_ep_config(const char *q_arg) if (med_edpi > 0) ep_med_edpi = med_edpi; - if (med_edpi > 0) + if (hgh_edpi > 0) ep_hgh_edpi = hgh_edpi; } else { -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:05:00.039155056 +0200 +++ 0042-examples-l3fwd-power-fix-empty-poll-thresholds.patch 2021-06-10 14:04:58.074024702 +0200 @@ -1 +1 @@ -From db7447c70820391f1225be0e6de6dab5710e6f18 Mon Sep 17 00:00:00 2001 +From 84c4822ef4fa06f6d6d5523fd591525b9b9bf55a Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit db7447c70820391f1225be0e6de6dab5710e6f18 ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index 0af8810697..f8dfed1634 100644 +index 7fe5cbf577..70a47ed650 100644 @@ -23 +24 @@ -@@ -1748,7 +1748,7 @@ parse_ep_config(const char *q_arg) +@@ -1578,7 +1578,7 @@ parse_ep_config(const char *q_arg) @@ -32 +33 @@ -@@ -1771,7 +1771,7 @@ parse_ep_config(const char *q_arg) +@@ -1601,7 +1601,7 @@ parse_ep_config(const char *q_arg)
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/cf4cc7e6c4c7078cd279ddf8e960bd668e4ed970 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From cf4cc7e6c4c7078cd279ddf8e960bd668e4ed970 Mon Sep 17 00:00:00 2001 From: "Min Hu (Connor)" <humin29@huawei.com> Date: Thu, 13 May 2021 09:10:37 +0800 Subject: [PATCH] test: fix division by zero [ upstream commit 07b3c7d8e3b6513044d8f5cc45359cc42c14eb18 ] Variable i is used as a denominator which may be zero, and this may result in segmentation fault. This patch fixed it. Fixes: 948bc3d6d095 ("test: add reciprocal based division") Signed-off-by: Min Hu (Connor) <humin29@huawei.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> --- app/test/test_reciprocal_division_perf.c | 41 ++++++++++++++---------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/app/test/test_reciprocal_division_perf.c b/app/test/test_reciprocal_division_perf.c index a7be8aa71a..4f625873e5 100644 --- a/app/test/test_reciprocal_division_perf.c +++ b/app/test/test_reciprocal_division_perf.c @@ -71,10 +71,12 @@ test_reciprocal_division_perf(void) tot_cyc_n); printf("Total number of cycles reciprocal division : %"PRIu64"\n", tot_cyc_r); - printf("Cycles per division(normal) : %3.2f\n", - ((double)tot_cyc_n)/i); - printf("Cycles per division(reciprocal) : %3.2f\n\n", - ((double)tot_cyc_r)/i); + if (i != 0) { + printf("Cycles per division(normal) : %3.2f\n", + ((double)tot_cyc_n)/i); + printf("Cycles per division(reciprocal) : %3.2f\n\n", + ((double)tot_cyc_r)/i); + } tot_cyc_n = 0; tot_cyc_r = 0; @@ -111,11 +113,12 @@ test_reciprocal_division_perf(void) tot_cyc_n); printf("Total number of cycles reciprocal division : %"PRIu64"\n", tot_cyc_r); - printf("Cycles per division(normal) : %3.2f\n", - ((double)tot_cyc_n)/i); - printf("Cycles per division(reciprocal) : %3.2f\n\n", - ((double)tot_cyc_r)/i); - + if (i != 0) { + printf("Cycles per division(normal) : %3.2f\n", + ((double)tot_cyc_n)/i); + printf("Cycles per division(reciprocal) : %3.2f\n\n", + ((double)tot_cyc_r)/i); + } tot_cyc_n = 0; tot_cyc_r = 0; @@ -152,10 +155,12 @@ test_reciprocal_division_perf(void) tot_cyc_n); printf("Total number of cycles reciprocal division : %"PRIu64"\n", tot_cyc_r); - printf("Cycles per division(normal) : %3.2f\n", - ((double)tot_cyc_n)/i); - printf("Cycles per division(reciprocal) : %3.2f\n\n", - ((double)tot_cyc_r)/i); + if (i != 0) { + printf("Cycles per division(normal) : %3.2f\n", + ((double)tot_cyc_n)/i); + printf("Cycles per division(reciprocal) : %3.2f\n\n", + ((double)tot_cyc_r)/i); + } tot_cyc_n = 0; tot_cyc_r = 0; @@ -190,10 +195,12 @@ test_reciprocal_division_perf(void) tot_cyc_n); printf("Total number of cycles reciprocal division : %"PRIu64"\n", tot_cyc_r); - printf("Cycles per division(normal) : %3.2f\n", - ((double)tot_cyc_n)/i); - printf("Cycles per division(reciprocal) : %3.2f\n", - ((double)tot_cyc_r)/i); + if (i != 0) { + printf("Cycles per division(normal) : %3.2f\n", + ((double)tot_cyc_n)/i); + printf("Cycles per division(reciprocal) : %3.2f\n", + ((double)tot_cyc_r)/i); + } return result; } -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:05:00.086095656 +0200 +++ 0043-test-fix-division-by-zero.patch 2021-06-10 14:04:58.074024702 +0200 @@ -1 +1 @@ -From 07b3c7d8e3b6513044d8f5cc45359cc42c14eb18 Mon Sep 17 00:00:00 2001 +From cf4cc7e6c4c7078cd279ddf8e960bd668e4ed970 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 07b3c7d8e3b6513044d8f5cc45359cc42c14eb18 ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/0c3ad62e9ea44fd59b81872ed10e0653f0d18e2c Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 0c3ad62e9ea44fd59b81872ed10e0653f0d18e2c Mon Sep 17 00:00:00 2001 From: Kevin Traynor <ktraynor@redhat.com> Date: Wed, 5 May 2021 09:53:14 +0100 Subject: [PATCH] test/crypto: fix build with GCC 11 [ upstream commit 8f73a72378333a68ada948ad648f9c6f925af58b ] Fix the allocation for sessions, to prevent an array-bounds warning with GCC 11. Set the not created session to NULL. Fixes: 202d375c60bc ("app/test: add cryptodev unit and performance tests") Signed-off-by: Kevin Traynor <ktraynor@redhat.com> Acked-by: Akhil Goyal <gakhil@marvell.com> --- app/test/test_cryptodev.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c index 84666b5b23..1047c5e038 100644 --- a/app/test/test_cryptodev.c +++ b/app/test/test_cryptodev.c @@ -9661,8 +9661,8 @@ test_multi_session(void) rte_cryptodev_info_get(ts_params->valid_devs[0], &dev_info); sessions = rte_malloc(NULL, - (sizeof(struct rte_cryptodev_sym_session *) * - MAX_NB_SESSIONS) + 1, 0); + sizeof(struct rte_cryptodev_sym_session *) * + (MAX_NB_SESSIONS + 1), 0); /* Create multiple crypto sessions*/ for (i = 0; i < MAX_NB_SESSIONS; i++) { @@ -9707,6 +9707,7 @@ test_multi_session(void) } } + sessions[i] = NULL; /* Next session create should fail */ rte_cryptodev_sym_session_init(ts_params->valid_devs[0], sessions[i], &ut_params->auth_xform, -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:05:00.136672335 +0200 +++ 0044-test-crypto-fix-build-with-GCC-11.patch 2021-06-10 14:04:58.086024792 +0200 @@ -1 +1 @@ -From 8f73a72378333a68ada948ad648f9c6f925af58b Mon Sep 17 00:00:00 2001 +From 0c3ad62e9ea44fd59b81872ed10e0653f0d18e2c Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 8f73a72378333a68ada948ad648f9c6f925af58b ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index c68684b80b..39db52b17a 100644 +index 84666b5b23..1047c5e038 100644 @@ -22 +23 @@ -@@ -10748,8 +10748,8 @@ test_multi_session(void) +@@ -9661,8 +9661,8 @@ test_multi_session(void) @@ -33 +34 @@ -@@ -10794,6 +10794,7 @@ test_multi_session(void) +@@ -9707,6 +9707,7 @@ test_multi_session(void)
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/bb7601591b8467a38515cb1597a7511e6a0d5f0e Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From bb7601591b8467a38515cb1597a7511e6a0d5f0e Mon Sep 17 00:00:00 2001 From: Yunjian Wang <wangyunjian@huawei.com> Date: Thu, 13 May 2021 11:38:56 +0800 Subject: [PATCH] net/mlx4: fix leak when configured repeatedly [ upstream commit 6f14d4d75aa07210d13fe0a7fcc5c26273c835d1 ] Currently, configuring a mlx device, it will allocate its own process private in mlx5_proc_priv_init() and only frees it when closing the device. This will lead to a memory leak, when a device is configured repeatedly. For example: for(...) do rte_eth_dev_configure rte_eth_rx_queue_setup rte_eth_tx_queue_setup rte_eth_dev_start rte_eth_dev_stop done Fixes: 97d37d2c1f6b ("net/mlx4: remove device register remap") Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> --- drivers/net/mlx4/mlx4.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index 96f5af8069..8397f408f4 100644 --- a/drivers/net/mlx4/mlx4.c +++ b/drivers/net/mlx4/mlx4.c @@ -204,6 +204,7 @@ mlx4_proc_priv_init(struct rte_eth_dev *dev) struct mlx4_proc_priv *ppriv; size_t ppriv_size; + mlx4_proc_priv_uninit(dev); /* * UAR register table follows the process private structure. BlueFlame * registers for Tx queues are stored in the table. -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:05:00.179414948 +0200 +++ 0045-net-mlx4-fix-leak-when-configured-repeatedly.patch 2021-06-10 14:04:58.086024792 +0200 @@ -1 +1 @@ -From 6f14d4d75aa07210d13fe0a7fcc5c26273c835d1 Mon Sep 17 00:00:00 2001 +From bb7601591b8467a38515cb1597a7511e6a0d5f0e Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 6f14d4d75aa07210d13fe0a7fcc5c26273c835d1 ] + @@ -22 +23,0 @@ -Cc: stable@dpdk.org @@ -31 +32 @@ -index 7cd35cd3ca..c522157a0a 100644 +index 96f5af8069..8397f408f4 100644 @@ -34 +35 @@ -@@ -201,6 +201,7 @@ mlx4_proc_priv_init(struct rte_eth_dev *dev) +@@ -204,6 +204,7 @@ mlx4_proc_priv_init(struct rte_eth_dev *dev)
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/5c78bf88aafdd8eca4364bf0c02c6d5a8065c98b Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 5c78bf88aafdd8eca4364bf0c02c6d5a8065c98b Mon Sep 17 00:00:00 2001 From: Yunjian Wang <wangyunjian@huawei.com> Date: Thu, 13 May 2021 11:39:54 +0800 Subject: [PATCH] net/mlx5: fix leak when configured repeatedly [ upstream commit 6dad8b3a381911c6f7fe0362517bee9bfc24def3 ] Currently, configuring a mlx device, it will allocate its own process private in mlx5_proc_priv_init() and only frees it when closing the device. This will lead to a memory leak, when a device is configured repeatedly. For example: for(...) do rte_eth_dev_configure rte_eth_rx_queue_setup rte_eth_tx_queue_setup rte_eth_dev_start rte_eth_dev_stop done Fixes: 120dc4a7dcd3 ("net/mlx5: remove device register remap") Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> --- drivers/net/mlx5/mlx5.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/mlx5/mlx5.c b/drivers/net/mlx5/mlx5.c index e0ba600868..3208b2eda7 100644 --- a/drivers/net/mlx5/mlx5.c +++ b/drivers/net/mlx5/mlx5.c @@ -1255,6 +1255,7 @@ mlx5_proc_priv_init(struct rte_eth_dev *dev) struct mlx5_proc_priv *ppriv; size_t ppriv_size; + mlx5_proc_priv_uninit(dev); /* * UAR register table follows the process private structure. BlueFlame * registers for Tx queues are stored in the table. -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:05:00.225967966 +0200 +++ 0046-net-mlx5-fix-leak-when-configured-repeatedly.patch 2021-06-10 14:04:58.090024821 +0200 @@ -1 +1 @@ -From 6dad8b3a381911c6f7fe0362517bee9bfc24def3 Mon Sep 17 00:00:00 2001 +From 5c78bf88aafdd8eca4364bf0c02c6d5a8065c98b Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 6dad8b3a381911c6f7fe0362517bee9bfc24def3 ] + @@ -22 +23,0 @@ -Cc: stable@dpdk.org @@ -31 +32 @@ -index 35f91e965e..cf1815cb74 100644 +index e0ba600868..3208b2eda7 100644 @@ -34 +35 @@ -@@ -1455,6 +1455,7 @@ mlx5_proc_priv_init(struct rte_eth_dev *dev) +@@ -1255,6 +1255,7 @@ mlx5_proc_priv_init(struct rte_eth_dev *dev)
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/a93f977dc081895ca2f1482092878d1af38e44bb Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From a93f977dc081895ca2f1482092878d1af38e44bb Mon Sep 17 00:00:00 2001 From: Huisong Li <lihuisong@huawei.com> Date: Sat, 15 May 2021 08:52:34 +0800 Subject: [PATCH] net/hns3: fix requested FC mode rollback [ upstream commit 19603f63fbb77f6ceddce9d36d20a6f5d7cdd4cf ] Currently, the "requested_fc_mode" lacks rollback when enabling link FC or PFC fails. For example, this may result an incorrect FC mode after a reset. Fixes: d4fdb71a0e7b ("net/hns3: fix flow control mode") Fixes: 62e3ccc2b94c ("net/hns3: support flow control") Signed-off-by: Huisong Li <lihuisong@huawei.com> Signed-off-by: Min Hu (Connor) <humin29@huawei.com> --- drivers/net/hns3/hns3_dcb.c | 30 ++++++++++++++++++++++++++++++ drivers/net/hns3/hns3_ethdev.c | 28 ---------------------------- 2 files changed, 30 insertions(+), 28 deletions(-) diff --git a/drivers/net/hns3/hns3_dcb.c b/drivers/net/hns3/hns3_dcb.c index 612c826e40..0da1a87659 100644 --- a/drivers/net/hns3/hns3_dcb.c +++ b/drivers/net/hns3/hns3_dcb.c @@ -1593,6 +1593,30 @@ hns3_dcb_cfg_update(struct hns3_adapter *hns) return ret; } +static void +hns3_get_fc_mode(struct hns3_hw *hw, enum rte_eth_fc_mode mode) +{ + switch (mode) { + case RTE_FC_NONE: + hw->requested_fc_mode = HNS3_FC_NONE; + break; + case RTE_FC_RX_PAUSE: + hw->requested_fc_mode = HNS3_FC_RX_PAUSE; + break; + case RTE_FC_TX_PAUSE: + hw->requested_fc_mode = HNS3_FC_TX_PAUSE; + break; + case RTE_FC_FULL: + hw->requested_fc_mode = HNS3_FC_FULL; + break; + default: + hw->requested_fc_mode = HNS3_FC_NONE; + hns3_warn(hw, "fc_mode(%u) exceeds member scope and is " + "configured to RTE_FC_NONE", mode); + break; + } +} + /* * hns3_dcb_pfc_enable - Enable priority flow control * @dev: pointer to ethernet device @@ -1605,6 +1629,7 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) struct hns3_hw *hw = HNS3_DEV_PRIVATE_TO_HW(dev->data->dev_private); struct hns3_pf *pf = HNS3_DEV_PRIVATE_TO_PF(dev->data->dev_private); enum hns3_fc_status fc_status = hw->current_fc_status; + enum hns3_fc_mode old_fc_mode = hw->requested_fc_mode; uint8_t hw_pfc_map = hw->dcb_info.hw_pfc_map; uint8_t pfc_en = hw->dcb_info.pfc_en; uint8_t priority = pfc_conf->priority; @@ -1612,6 +1637,7 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) int ret, status; pf->pause_time = pfc_conf->fc.pause_time; + hns3_get_fc_mode(hw, pfc_conf->fc.mode); hw->current_fc_status = HNS3_FC_STATUS_PFC; hw->dcb_info.pfc_en |= BIT(priority); hw->dcb_info.hw_pfc_map = @@ -1633,6 +1659,7 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) return 0; pfc_setup_fail: + hw->requested_fc_mode = old_fc_mode; hw->current_fc_status = fc_status; pf->pause_time = pause_time; hw->dcb_info.pfc_en = pfc_en; @@ -1655,11 +1682,13 @@ hns3_fc_enable(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) { struct hns3_hw *hw = HNS3_DEV_PRIVATE_TO_HW(dev->data->dev_private); struct hns3_pf *pf = HNS3_DEV_PRIVATE_TO_PF(dev->data->dev_private); + enum hns3_fc_mode old_fc_mode = hw->requested_fc_mode; enum hns3_fc_status fc_status = hw->current_fc_status; uint16_t pause_time = pf->pause_time; int ret; pf->pause_time = fc_conf->pause_time; + hns3_get_fc_mode(hw, fc_conf->mode); /* * In fact, current_fc_status is HNS3_FC_STATUS_NONE when mode @@ -1679,6 +1708,7 @@ hns3_fc_enable(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) return 0; setup_fc_fail: + hw->requested_fc_mode = old_fc_mode; hw->current_fc_status = fc_status; pf->pause_time = pause_time; diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c index 02276c82fd..ac82e0b5ef 100644 --- a/drivers/net/hns3/hns3_ethdev.c +++ b/drivers/net/hns3/hns3_ethdev.c @@ -4817,30 +4817,6 @@ hns3_flow_ctrl_get(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) return 0; } -static void -hns3_get_fc_mode(struct hns3_hw *hw, enum rte_eth_fc_mode mode) -{ - switch (mode) { - case RTE_FC_NONE: - hw->requested_fc_mode = HNS3_FC_NONE; - break; - case RTE_FC_RX_PAUSE: - hw->requested_fc_mode = HNS3_FC_RX_PAUSE; - break; - case RTE_FC_TX_PAUSE: - hw->requested_fc_mode = HNS3_FC_TX_PAUSE; - break; - case RTE_FC_FULL: - hw->requested_fc_mode = HNS3_FC_FULL; - break; - default: - hw->requested_fc_mode = HNS3_FC_NONE; - hns3_warn(hw, "fc_mode(%u) exceeds member scope and is " - "configured to RTE_FC_NONE", mode); - break; - } -} - static int hns3_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) { @@ -4878,8 +4854,6 @@ hns3_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) return -EOPNOTSUPP; } - hns3_get_fc_mode(hw, fc_conf->mode); - rte_spinlock_lock(&hw->lock); ret = hns3_fc_enable(dev, fc_conf); rte_spinlock_unlock(&hw->lock); @@ -4926,8 +4900,6 @@ hns3_priority_flow_ctrl_set(struct rte_eth_dev *dev, return -EOPNOTSUPP; } - hns3_get_fc_mode(hw, pfc_conf->fc.mode); - rte_spinlock_lock(&hw->lock); ret = hns3_dcb_pfc_enable(dev, pfc_conf); rte_spinlock_unlock(&hw->lock); -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:05:00.266829889 +0200 +++ 0047-net-hns3-fix-requested-FC-mode-rollback.patch 2021-06-10 14:04:58.098024880 +0200 @@ -1 +1 @@ -From 19603f63fbb77f6ceddce9d36d20a6f5d7cdd4cf Mon Sep 17 00:00:00 2001 +From a93f977dc081895ca2f1482092878d1af38e44bb Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 19603f63fbb77f6ceddce9d36d20a6f5d7cdd4cf ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -22 +23 @@ -index ab307f1f54..bea41156a4 100644 +index 612c826e40..0da1a87659 100644 @@ -25 +26 @@ -@@ -1760,6 +1760,30 @@ hns3_dcb_cfg_update(struct hns3_adapter *hns) +@@ -1593,6 +1593,30 @@ hns3_dcb_cfg_update(struct hns3_adapter *hns) @@ -56 +57 @@ -@@ -1772,6 +1796,7 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) +@@ -1605,6 +1629,7 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) @@ -64 +65 @@ -@@ -1779,6 +1804,7 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) +@@ -1612,6 +1637,7 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) @@ -72 +73 @@ -@@ -1800,6 +1826,7 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) +@@ -1633,6 +1659,7 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) @@ -80 +81 @@ -@@ -1822,11 +1849,13 @@ hns3_fc_enable(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) +@@ -1655,11 +1682,13 @@ hns3_fc_enable(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) @@ -94 +95 @@ -@@ -1846,6 +1875,7 @@ hns3_fc_enable(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) +@@ -1679,6 +1708,7 @@ hns3_fc_enable(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) @@ -103 +104 @@ -index 0589e3f10a..f49f220062 100644 +index 02276c82fd..ac82e0b5ef 100644 @@ -106 +107 @@ -@@ -6059,30 +6059,6 @@ hns3_flow_ctrl_get(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) +@@ -4817,30 +4817,6 @@ hns3_flow_ctrl_get(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) @@ -135 +136 @@ - hns3_check_fc_autoneg_valid(struct hns3_hw *hw, uint8_t autoneg) + hns3_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) @@ -137 +138 @@ -@@ -6156,8 +6132,6 @@ hns3_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) +@@ -4878,8 +4854,6 @@ hns3_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) @@ -146 +147 @@ -@@ -6204,8 +6178,6 @@ hns3_priority_flow_ctrl_set(struct rte_eth_dev *dev, +@@ -4926,8 +4900,6 @@ hns3_priority_flow_ctrl_set(struct rte_eth_dev *dev,
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/0ace7116f833fa1aa540fc6d7b7854d4afc37bf7 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 0ace7116f833fa1aa540fc6d7b7854d4afc37bf7 Mon Sep 17 00:00:00 2001 From: Huisong Li <lihuisong@huawei.com> Date: Sat, 15 May 2021 08:52:35 +0800 Subject: [PATCH] net/hns3: remove meaningless packet buffer rollback [ upstream commit 47ce649fd30c89d95c420a015f9eef7f215bb386 ] Packet buffer allocation and hardware pause configuration fail normally when a reset occurs. If the execution fails, rollback of the packet buffer still fails. So this rollback is meaningless. Fixes: 62e3ccc2b94c ("net/hns3: support flow control") Signed-off-by: Huisong Li <lihuisong@huawei.com> Signed-off-by: Min Hu (Connor) <humin29@huawei.com> --- drivers/net/hns3/hns3_dcb.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/drivers/net/hns3/hns3_dcb.c b/drivers/net/hns3/hns3_dcb.c index 0da1a87659..4ecb6a97b0 100644 --- a/drivers/net/hns3/hns3_dcb.c +++ b/drivers/net/hns3/hns3_dcb.c @@ -1392,7 +1392,7 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) enum hns3_fc_status fc_status = hw->current_fc_status; enum hns3_fc_mode requested_fc_mode = hw->requested_fc_mode; uint8_t hw_pfc_map = hw->dcb_info.hw_pfc_map; - int ret, status; + int ret; if (pf->tx_sch_mode != HNS3_FLAG_TC_BASE_SCH_MODE && pf->tx_sch_mode != HNS3_FLAG_VNET_BASE_SCH_MODE) @@ -1417,7 +1417,7 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) ret = hns3_buffer_alloc(hw); if (ret) - return ret; + goto buffer_alloc_fail; hw->current_fc_status = HNS3_FC_STATUS_PFC; hw->requested_fc_mode = HNS3_FC_FULL; @@ -1443,10 +1443,9 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) pfc_setup_fail: hw->requested_fc_mode = requested_fc_mode; hw->current_fc_status = fc_status; + +buffer_alloc_fail: hw->dcb_info.hw_pfc_map = hw_pfc_map; - status = hns3_buffer_alloc(hw); - if (status) - hns3_err(hw, "recover packet buffer fail! status = %d", status); return ret; } @@ -1634,7 +1633,7 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) uint8_t pfc_en = hw->dcb_info.pfc_en; uint8_t priority = pfc_conf->priority; uint16_t pause_time = pf->pause_time; - int ret, status; + int ret; pf->pause_time = pfc_conf->fc.pause_time; hns3_get_fc_mode(hw, pfc_conf->fc.mode); @@ -1664,9 +1663,6 @@ pfc_setup_fail: pf->pause_time = pause_time; hw->dcb_info.pfc_en = pfc_en; hw->dcb_info.hw_pfc_map = hw_pfc_map; - status = hns3_buffer_alloc(hw); - if (status) - hns3_err(hw, "recover packet buffer fail: %d", status); return ret; } -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:05:00.319454256 +0200 +++ 0048-net-hns3-remove-meaningless-packet-buffer-rollback.patch 2021-06-10 14:04:58.102024911 +0200 @@ -1 +1 @@ -From 47ce649fd30c89d95c420a015f9eef7f215bb386 Mon Sep 17 00:00:00 2001 +From 0ace7116f833fa1aa540fc6d7b7854d4afc37bf7 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 47ce649fd30c89d95c420a015f9eef7f215bb386 ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index bea41156a4..8fcb284cf1 100644 +index 0da1a87659..4ecb6a97b0 100644 @@ -23 +24 @@ -@@ -1543,7 +1543,7 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) +@@ -1392,7 +1392,7 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) @@ -32 +33 @@ -@@ -1568,7 +1568,7 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) +@@ -1417,7 +1417,7 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) @@ -41 +42 @@ -@@ -1594,10 +1594,9 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) +@@ -1443,10 +1443,9 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) @@ -54 +55 @@ -@@ -1801,7 +1800,7 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) +@@ -1634,7 +1633,7 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) @@ -63 +64 @@ -@@ -1831,9 +1830,6 @@ pfc_setup_fail: +@@ -1664,9 +1663,6 @@ pfc_setup_fail:
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/43fd40175a729db764b45d4ec63b74eb1f5b6ade Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 43fd40175a729db764b45d4ec63b74eb1f5b6ade Mon Sep 17 00:00:00 2001 From: Huisong Li <lihuisong@huawei.com> Date: Sat, 15 May 2021 08:52:37 +0800 Subject: [PATCH] net/hns3: fix DCB reconfiguration [ upstream commit b67bdfc8f6630934f3005ad531225c7203304661 ] Whether the enable bit of the pfc ("pfc_en") is changed or not is one of the conditions for reconfiguring the DCB. Currently, pfc_en is not rolled back when DCB configuration fails. This patch fixes it. Fixes: 62e3ccc2b94c ("net/hns3: support flow control") Signed-off-by: Huisong Li <lihuisong@huawei.com> Signed-off-by: Min Hu (Connor) <humin29@huawei.com> --- drivers/net/hns3/hns3_dcb.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/hns3/hns3_dcb.c b/drivers/net/hns3/hns3_dcb.c index 4ecb6a97b0..81fe86aa39 100644 --- a/drivers/net/hns3/hns3_dcb.c +++ b/drivers/net/hns3/hns3_dcb.c @@ -1392,6 +1392,7 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) enum hns3_fc_status fc_status = hw->current_fc_status; enum hns3_fc_mode requested_fc_mode = hw->requested_fc_mode; uint8_t hw_pfc_map = hw->dcb_info.hw_pfc_map; + uint8_t pfc_en = hw->dcb_info.pfc_en; int ret; if (pf->tx_sch_mode != HNS3_FLAG_TC_BASE_SCH_MODE && @@ -1445,6 +1446,7 @@ pfc_setup_fail: hw->current_fc_status = fc_status; buffer_alloc_fail: + hw->dcb_info.pfc_en = pfc_en; hw->dcb_info.hw_pfc_map = hw_pfc_map; return ret; -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:05:00.366558832 +0200 +++ 0049-net-hns3-fix-DCB-reconfiguration.patch 2021-06-10 14:04:58.102024911 +0200 @@ -1 +1 @@ -From b67bdfc8f6630934f3005ad531225c7203304661 Mon Sep 17 00:00:00 2001 +From 43fd40175a729db764b45d4ec63b74eb1f5b6ade Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit b67bdfc8f6630934f3005ad531225c7203304661 ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index 1cb6adb886..90c0d041c9 100644 +index 4ecb6a97b0..81fe86aa39 100644 @@ -23 +24 @@ -@@ -1543,6 +1543,7 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) +@@ -1392,6 +1392,7 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) @@ -31 +32 @@ -@@ -1596,6 +1597,7 @@ pfc_setup_fail: +@@ -1445,6 +1446,7 @@ pfc_setup_fail:
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/86711365045ebac0a4db403e17cb46b653ef1db9 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 86711365045ebac0a4db403e17cb46b653ef1db9 Mon Sep 17 00:00:00 2001 From: Andy Moreton <amoreton@xilinx.com> Date: Tue, 18 May 2021 18:10:11 +0300 Subject: [PATCH] common/sfc_efx/base: limit reported MCDI response length [ upstream commit e1c9fcab3f17b050793d1e771d33448027a15ae1 ] MCDI helper routines in libefx include length checks for response messages, to ensure that short replies and optional fields are handled correctly. If the MCDI response message from the firmware is larger than the caller's buffer then the response length reported to the caller should be limited to the buffer size. Otherwise length checks in the caller may allow reading past the end of the buffer. Fixes: 6f619653b9b1 ("net/sfc/base: import MCDI implementation") Signed-off-by: Andy Moreton <amoreton@xilinx.com> Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> --- drivers/net/sfc/base/efx_mcdi.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/sfc/base/efx_mcdi.c b/drivers/net/sfc/base/efx_mcdi.c index 477b128686..db143294d9 100644 --- a/drivers/net/sfc/base/efx_mcdi.c +++ b/drivers/net/sfc/base/efx_mcdi.c @@ -495,6 +495,9 @@ efx_mcdi_finish_response( bytes = MIN(emrp->emr_out_length_used, emrp->emr_out_length); efx_mcdi_read_response(enp, emrp->emr_out_buf, resp_off, bytes); + /* Report bytes copied to caller (response message may be larger) */ + emrp->emr_out_length_used = bytes; + #if EFSYS_OPT_MCDI_LOGGING if (emtp->emt_logger != NULL) { emtp->emt_logger(emtp->emt_context, -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:05:00.416644900 +0200 +++ 0050-common-sfc_efx-base-limit-reported-MCDI-response-len.patch 2021-06-10 14:04:58.106024940 +0200 @@ -1 +1 @@ -From e1c9fcab3f17b050793d1e771d33448027a15ae1 Mon Sep 17 00:00:00 2001 +From 86711365045ebac0a4db403e17cb46b653ef1db9 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit e1c9fcab3f17b050793d1e771d33448027a15ae1 ] + @@ -16 +17,0 @@ -Cc: stable@dpdk.org @@ -22 +23 @@ - drivers/common/sfc_efx/base/efx_mcdi.c | 3 +++ + drivers/net/sfc/base/efx_mcdi.c | 3 +++ @@ -25,5 +26,5 @@ -diff --git a/drivers/common/sfc_efx/base/efx_mcdi.c b/drivers/common/sfc_efx/base/efx_mcdi.c -index ff676f8a01..f4e1384d09 100644 ---- a/drivers/common/sfc_efx/base/efx_mcdi.c -+++ b/drivers/common/sfc_efx/base/efx_mcdi.c -@@ -516,6 +516,9 @@ efx_mcdi_finish_response( +diff --git a/drivers/net/sfc/base/efx_mcdi.c b/drivers/net/sfc/base/efx_mcdi.c +index 477b128686..db143294d9 100644 +--- a/drivers/net/sfc/base/efx_mcdi.c ++++ b/drivers/net/sfc/base/efx_mcdi.c +@@ -495,6 +495,9 @@ efx_mcdi_finish_response(
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/27eb84d0cd2536b48d3bd101dff185fed65701d0 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 27eb84d0cd2536b48d3bd101dff185fed65701d0 Mon Sep 17 00:00:00 2001 From: Tianyu Li <tianyu.li@arm.com> Date: Mon, 12 Apr 2021 16:22:31 +0800 Subject: [PATCH] net/memif: fix Tx bps statistics for zero-copy [ upstream commit 78dafb4bb544a4288be174345c321b48e4c676fb ] Fix the missing Tx-bps counter for memif zero-copy mode Before Rx-pps: 6891450 Rx-bps: 3528438928 Tx-pps: 6891482 Tx-bps: 0 After Throughput (since last show) Rx-pps: 11157056 Rx-bps: 5712413016 Tx-pps: 11157056 Tx-bps: 5712413016 Fixes: 43b815d88188 ("net/memif: support zero-copy slave") Signed-off-by: Tianyu Li <tianyu.li@arm.com> Reviewed-by: Jakub Grajciar <jgrajcia@cisco.com> --- drivers/net/memif/rte_eth_memif.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/memif/rte_eth_memif.c b/drivers/net/memif/rte_eth_memif.c index aa75a04278..e275366720 100644 --- a/drivers/net/memif/rte_eth_memif.c +++ b/drivers/net/memif/rte_eth_memif.c @@ -680,6 +680,7 @@ next_in_chain: /* populate descriptor */ d0 = &ring->desc[slot & mask]; d0->length = rte_pktmbuf_data_len(mbuf); + mq->n_bytes += rte_pktmbuf_data_len(mbuf); /* FIXME: get region index */ d0->region = 1; d0->offset = rte_pktmbuf_mtod(mbuf, uint8_t *) - -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:05:00.461440435 +0200 +++ 0051-net-memif-fix-Tx-bps-statistics-for-zero-copy.patch 2021-06-10 14:04:58.106024940 +0200 @@ -1 +1 @@ -From 78dafb4bb544a4288be174345c321b48e4c676fb Mon Sep 17 00:00:00 2001 +From 27eb84d0cd2536b48d3bd101dff185fed65701d0 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 78dafb4bb544a4288be174345c321b48e4c676fb ] + @@ -16 +17,0 @@ -Cc: stable@dpdk.org @@ -25 +26 @@ -index 37a49fa13d..da7195783f 100644 +index aa75a04278..e275366720 100644 @@ -28 +29 @@ -@@ -706,6 +706,7 @@ next_in_chain: +@@ -680,6 +680,7 @@ next_in_chain:
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/640dec22b7869c8aea2b5310f0dd4dec664bc916 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 640dec22b7869c8aea2b5310f0dd4dec664bc916 Mon Sep 17 00:00:00 2001 From: Kevin Traynor <ktraynor@redhat.com> Date: Thu, 20 May 2021 12:06:12 +0100 Subject: [PATCH] test: fix build with GCC 11 [ upstream commit 50eea2bfa79cc6bfef9014c2e0cb89d5a458969f ] GCC 11 complains that 'a' is uninitialized. ../dpdk/app/test/test_prefetch.c: In function 'test_prefetch': ../dpdk/app/test/test_prefetch.c:25:9: error: 'a' may be used uninitialized [-Werror=maybe-uninitialized] 25 | rte_prefetch0(&a); | ^~~~~~~~~~~~~~~~~ Fix by initializing 'a'. Bugzilla ID: 714 Fixes: af75078fece3 ("first public release") Reported-by: Ali Alnubani <alialnu@nvidia.com> Signed-off-by: Kevin Traynor <ktraynor@redhat.com> Tested-by: Ali Alnubani <alialnu@nvidia.com> Reviewed-by: David Marchand <david.marchand@redhat.com> --- app/test/test_prefetch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/test/test_prefetch.c b/app/test/test_prefetch.c index 41f219af78..086c6865ed 100644 --- a/app/test/test_prefetch.c +++ b/app/test/test_prefetch.c @@ -20,7 +20,7 @@ static int test_prefetch(void) { - int a; + int a = 0; rte_prefetch0(&a); rte_prefetch1(&a); -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:05:00.505742630 +0200 +++ 0052-test-fix-build-with-GCC-11.patch 2021-06-10 14:04:58.106024940 +0200 @@ -1 +1 @@ -From 50eea2bfa79cc6bfef9014c2e0cb89d5a458969f Mon Sep 17 00:00:00 2001 +From 640dec22b7869c8aea2b5310f0dd4dec664bc916 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 50eea2bfa79cc6bfef9014c2e0cb89d5a458969f ] + @@ -18 +19,0 @@ -Cc: stable@dpdk.org @@ -29 +30 @@ -index 5489885b51..7b4a8e4144 100644 +index 41f219af78..086c6865ed 100644
Hi, FYI, your patch has been queued to stable release 19.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/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/cpaelzer/dpdk-stable-queue This queued commit can be viewed at: https://github.com/cpaelzer/dpdk-stable-queue/commit/f6a3c19b14b0cf39bd1231903b8745c3fff4d0fb Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From f6a3c19b14b0cf39bd1231903b8745c3fff4d0fb Mon Sep 17 00:00:00 2001 From: Kevin Traynor <ktraynor@redhat.com> Date: Tue, 20 Apr 2021 14:21:50 +0100 Subject: [PATCH] test/cmdline: silence clang 12 warning [ upstream commit 5ac070cfed17111ccaf5aee0cc08119ebb1c4e5e ] clang 12 gives a warning about string concatenation in arrays. In this case, as it is a long string test the strings are concatenated. Add parentheses to indicate this. $ clang --version clang version 12.0.0 (Fedora 12.0.0-0.3.rc1.fc34) ../app/test/test_cmdline_num.c:204:5: warning: suspicious concatenation of string literals in an array initialization; did you mean to separate the elements with a comma? [-Wstring-concatenation] "1111000011110000111100001111000011110000111100001111000011110000", ^ ../app/test/test_cmdline_num.c:203:3: note: place parentheses around the string literal to silence warning "0b1111000011110000111100001111000011110000111100001111000011110000" ^ Signed-off-by: Kevin Traynor <ktraynor@redhat.com> --- app/test/test_cmdline_num.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/test/test_cmdline_num.c b/app/test/test_cmdline_num.c index 4c97caf3d0..481fc38295 100644 --- a/app/test/test_cmdline_num.c +++ b/app/test/test_cmdline_num.c @@ -200,8 +200,8 @@ const char * num_invalid_strs[] = { "-0x1234580A", "-0b0111010101", /* too long (128+ chars) */ - "0b1111000011110000111100001111000011110000111100001111000011110000" - "1111000011110000111100001111000011110000111100001111000011110000", + ("0b1111000011110000111100001111000011110000111100001111000011110000" + "1111000011110000111100001111000011110000111100001111000011110000"), "1E3", "0A", "-B", -- 2.31.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-06-10 14:05:00.553624392 +0200 +++ 0053-test-cmdline-silence-clang-12-warning.patch 2021-06-10 14:04:58.114024999 +0200 @@ -1 +1 @@ -From 5ac070cfed17111ccaf5aee0cc08119ebb1c4e5e Mon Sep 17 00:00:00 2001 +From f6a3c19b14b0cf39bd1231903b8745c3fff4d0fb Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 5ac070cfed17111ccaf5aee0cc08119ebb1c4e5e ] + @@ -30 +32 @@ -index ec479cdb3a..9276de59bd 100644 +index 4c97caf3d0..481fc38295 100644