* patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 @ 2022-11-11 11:38 christian.ehrhardt 2022-11-11 11:38 ` patch 'net: accept unaligned data in checksum routines' " christian.ehrhardt ` (45 more replies) 0 siblings, 46 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: David Marchand; +Cc: Maxime Coquelin, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/f656287344ae0d29b322688095c1ee638f28675b Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From f656287344ae0d29b322688095c1ee638f28675b Mon Sep 17 00:00:00 2001 From: David Marchand <david.marchand@redhat.com> Date: Mon, 25 Jul 2022 22:32:03 +0200 Subject: [PATCH] vhost: fix virtqueue use after free on NUMA reallocation [ upstream commit 0b2a2ca35037d6a5168f0832c11d9858b8ae946a ] translate_ring_addresses (via numa_realloc) may change a virtio device and virtio queue. The virtqueue object must be refreshed before accessing the lock. Fixes: 04c27cb673b9 ("vhost: fix unsafe vring addresses modifications") Signed-off-by: David Marchand <david.marchand@redhat.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> --- lib/librte_vhost/vhost_user.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c index af44d1e69c..76ce6cb11a 100644 --- a/lib/librte_vhost/vhost_user.c +++ b/lib/librte_vhost/vhost_user.c @@ -2389,6 +2389,7 @@ vhost_user_iotlb_msg(struct virtio_net **pdev, struct VhostUserMsg *msg, if (is_vring_iotlb(dev, vq, imsg)) { rte_spinlock_lock(&vq->access_lock); *pdev = dev = translate_ring_addresses(dev, i); + vq = dev->virtqueue[i]; rte_spinlock_unlock(&vq->access_lock); } } -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:04.846725606 +0100 +++ 0001-vhost-fix-virtqueue-use-after-free-on-NUMA-reallocat.patch 2022-11-11 12:35:04.697191643 +0100 @@ -1 +1 @@ -From 0b2a2ca35037d6a5168f0832c11d9858b8ae946a Mon Sep 17 00:00:00 2001 +From f656287344ae0d29b322688095c1ee638f28675b Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 0b2a2ca35037d6a5168f0832c11d9858b8ae946a ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -16 +17 @@ - lib/vhost/vhost_user.c | 1 + + lib/librte_vhost/vhost_user.c | 1 + @@ -19,5 +20,5 @@ -diff --git a/lib/vhost/vhost_user.c b/lib/vhost/vhost_user.c -index 4ad28bac45..91d40e32fc 100644 ---- a/lib/vhost/vhost_user.c -+++ b/lib/vhost/vhost_user.c -@@ -2596,6 +2596,7 @@ vhost_user_iotlb_msg(struct virtio_net **pdev, +diff --git a/lib/librte_vhost/vhost_user.c b/lib/librte_vhost/vhost_user.c +index af44d1e69c..76ce6cb11a 100644 +--- a/lib/librte_vhost/vhost_user.c ++++ b/lib/librte_vhost/vhost_user.c +@@ -2389,6 +2389,7 @@ vhost_user_iotlb_msg(struct virtio_net **pdev, struct VhostUserMsg *msg, ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'net: accept unaligned data in checksum routines' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'app/testpmd: restore ixgbe bypass commands' " christian.ehrhardt ` (44 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Mattias Rönnblom; +Cc: Olivier Matz, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/8803ccb7fdf7f7c76463b871d36eeb685fae38b8 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 8803ccb7fdf7f7c76463b871d36eeb685fae38b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mattias=20R=C3=B6nnblom?= <mattias.ronnblom@ericsson.com> Date: Mon, 11 Jul 2022 14:11:32 +0200 Subject: [PATCH] net: accept unaligned data in checksum routines MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit 1c9a7fba5c90e0422b517404499ed106f647bcff ] __rte_raw_cksum() (used by rte_raw_cksum() among others) accessed its data through an uint16_t pointer, which allowed the compiler to assume the data was 16-bit aligned. This in turn would, with certain architectures and compiler flag combinations, result in code with SIMD load or store instructions with restrictions on data alignment. This patch keeps the old algorithm, but data is read using memcpy() instead of direct pointer access, forcing the compiler to always generate code that handles unaligned input. The __may_alias__ GCC attribute is no longer needed. The data on which the Internet checksum functions operates are almost always 16-bit aligned, but there are exceptions. In particular, the PDCP protocol header may (literally) have an odd size. Performance impact seems to range from none to a very slight regression. Bugzilla ID: 1035 Fixes: 6006818cfb26 ("net: new checksum functions") Signed-off-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com> Acked-by: Olivier Matz <olivier.matz@6wind.com> --- lib/librte_net/rte_ip.h | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/lib/librte_net/rte_ip.h b/lib/librte_net/rte_ip.h index 279e88ee39..9ad8f0f3f4 100644 --- a/lib/librte_net/rte_ip.h +++ b/lib/librte_net/rte_ip.h @@ -119,18 +119,21 @@ struct rte_ipv4_hdr { static inline uint32_t __rte_raw_cksum(const void *buf, size_t len, uint32_t sum) { - /* extend strict-aliasing rules */ - typedef uint16_t __attribute__((__may_alias__)) u16_p; - const u16_p *u16_buf = (const u16_p *)buf; - const u16_p *end = u16_buf + len / sizeof(*u16_buf); + const void *end; - for (; u16_buf != end; ++u16_buf) - sum += *u16_buf; + for (end = RTE_PTR_ADD(buf, RTE_ALIGN_FLOOR(len, sizeof(uint16_t))); + buf != end; buf = RTE_PTR_ADD(buf, sizeof(uint16_t))) { + uint16_t v; + + memcpy(&v, buf, sizeof(uint16_t)); + sum += v; + } /* if length is odd, keeping it byte order independent */ if (unlikely(len % 2)) { uint16_t left = 0; - *(unsigned char *)&left = *(const unsigned char *)end; + + memcpy(&left, end, 1); sum += left; } -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:04.873728886 +0100 +++ 0002-net-accept-unaligned-data-in-checksum-routines.patch 2022-11-11 12:35:04.697191643 +0100 @@ -1 +1 @@ -From 1c9a7fba5c90e0422b517404499ed106f647bcff Mon Sep 17 00:00:00 2001 +From 8803ccb7fdf7f7c76463b871d36eeb685fae38b8 Mon Sep 17 00:00:00 2001 @@ -8,0 +9,2 @@ +[ upstream commit 1c9a7fba5c90e0422b517404499ed106f647bcff ] + @@ -29 +30,0 @@ -Cc: stable@dpdk.org @@ -34 +35 @@ - lib/net/rte_ip.h | 17 ++++++++++------- + lib/librte_net/rte_ip.h | 17 ++++++++++------- @@ -37,5 +38,5 @@ -diff --git a/lib/net/rte_ip.h b/lib/net/rte_ip.h -index b502481670..ecd250e9be 100644 ---- a/lib/net/rte_ip.h -+++ b/lib/net/rte_ip.h -@@ -160,18 +160,21 @@ rte_ipv4_hdr_len(const struct rte_ipv4_hdr *ipv4_hdr) +diff --git a/lib/librte_net/rte_ip.h b/lib/librte_net/rte_ip.h +index 279e88ee39..9ad8f0f3f4 100644 +--- a/lib/librte_net/rte_ip.h ++++ b/lib/librte_net/rte_ip.h +@@ -119,18 +119,21 @@ struct rte_ipv4_hdr { ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'app/testpmd: restore ixgbe bypass commands' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt 2022-11-11 11:38 ` patch 'net: accept unaligned data in checksum routines' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'net/bonding: fix array overflow in Rx burst' " christian.ehrhardt ` (43 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: David Marchand; +Cc: Ferruh Yigit, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/6ba278a52c2a1a942807df1ecb74fa76819d73a3 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 6ba278a52c2a1a942807df1ecb74fa76819d73a3 Mon Sep 17 00:00:00 2001 From: David Marchand <david.marchand@redhat.com> Date: Thu, 21 Jul 2022 10:05:45 +0200 Subject: [PATCH] app/testpmd: restore ixgbe bypass commands [ upstream commit 8d1bd1c04d4122b76e7c9c76ad865ca1c8c3bd8b ] Since the switch to meson, ixgbe bypass commands were ineffective as the RTE_LIBRTE_IXGBE_BYPASS build flag was not set, even though the net/ixgbe driver had this feature compiled in. Fixes: 16ade738fd0d ("app/testpmd: build with meson") Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Ferruh Yigit <ferruh.yigit@xilinx.com> --- app/test-pmd/meson.build | 1 + 1 file changed, 1 insertion(+) diff --git a/app/test-pmd/meson.build b/app/test-pmd/meson.build index b0249bdb3c..3a6d943ee9 100644 --- a/app/test-pmd/meson.build +++ b/app/test-pmd/meson.build @@ -47,6 +47,7 @@ if dpdk_conf.has('RTE_LIBRTE_I40E_PMD') deps += 'pmd_i40e' endif if dpdk_conf.has('RTE_LIBRTE_IXGBE_PMD') + cflags += ['-DRTE_LIBRTE_IXGBE_BYPASS'] deps += 'pmd_ixgbe' endif if dpdk_conf.has('RTE_LIBRTE_SOFTNIC_PMD') -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:04.905181208 +0100 +++ 0003-app-testpmd-restore-ixgbe-bypass-commands.patch 2022-11-11 12:35:04.701191665 +0100 @@ -1 +1 @@ -From 8d1bd1c04d4122b76e7c9c76ad865ca1c8c3bd8b Mon Sep 17 00:00:00 2001 +From 6ba278a52c2a1a942807df1ecb74fa76819d73a3 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 8d1bd1c04d4122b76e7c9c76ad865ca1c8c3bd8b ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index 8488efc138..cbe9bf2e93 100644 +index b0249bdb3c..3a6d943ee9 100644 @@ -23,2 +24,2 @@ -@@ -65,6 +65,7 @@ if dpdk_conf.has('RTE_NET_I40E') - deps += 'net_i40e' +@@ -47,6 +47,7 @@ if dpdk_conf.has('RTE_LIBRTE_I40E_PMD') + deps += 'pmd_i40e' @@ -26,3 +27,3 @@ - if dpdk_conf.has('RTE_NET_IXGBE') -+ cflags += ['-DRTE_LIBRTE_IXGBE_BYPASS'] - deps += 'net_ixgbe' + if dpdk_conf.has('RTE_LIBRTE_IXGBE_PMD') ++ cflags += ['-DRTE_LIBRTE_IXGBE_BYPASS'] + deps += 'pmd_ixgbe' @@ -30 +31 @@ - if dpdk_conf.has('RTE_NET_DPAA') + if dpdk_conf.has('RTE_LIBRTE_SOFTNIC_PMD') ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'net/bonding: fix array overflow in Rx burst' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt 2022-11-11 11:38 ` patch 'net: accept unaligned data in checksum routines' " christian.ehrhardt 2022-11-11 11:38 ` patch 'app/testpmd: restore ixgbe bypass commands' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'net/bonding: fix double slave link status query' " christian.ehrhardt ` (42 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Yunjian Wang; +Cc: Lei Ji, Min Hu, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/10754b6858235bfc341d437009526c705fdbf988 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 10754b6858235bfc341d437009526c705fdbf988 Mon Sep 17 00:00:00 2001 From: Yunjian Wang <wangyunjian@huawei.com> Date: Mon, 18 Jul 2022 21:08:44 +0800 Subject: [PATCH] net/bonding: fix array overflow in Rx burst [ upstream commit 007c5450dfa094f7e07ebee3610bcb3494ef842c ] In bond_ethdev_rx_burst() function, we check the validity of the 'active_slave' as this code: if (++active_slave == slave_count) active_slave = 0; However, the value of 'active_slave' maybe equal to 'slave_count', when a slave is down. This is wrong and it can cause buffer overflow. This patch fixes the issue by using '>=' instead of '=='. Fixes: e1110e977648 ("net/bonding: fix Rx slave fairness") Signed-off-by: Lei Ji <jilei8@huawei.com> Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> Acked-by: Min Hu (Connor) <humin29@huawei.com> --- drivers/net/bonding/rte_eth_bond_pmd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index d6dbd2fb8a..c8bd7064ce 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -82,7 +82,7 @@ bond_ethdev_rx_burst(void *queue, struct rte_mbuf **bufs, uint16_t nb_pkts) bufs + num_rx_total, nb_pkts); num_rx_total += num_rx_slave; nb_pkts -= num_rx_slave; - if (++active_slave == slave_count) + if (++active_slave >= slave_count) active_slave = 0; } -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:04.939545804 +0100 +++ 0004-net-bonding-fix-array-overflow-in-Rx-burst.patch 2022-11-11 12:35:04.705191687 +0100 @@ -1 +1 @@ -From 007c5450dfa094f7e07ebee3610bcb3494ef842c Mon Sep 17 00:00:00 2001 +From 10754b6858235bfc341d437009526c705fdbf988 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 007c5450dfa094f7e07ebee3610bcb3494ef842c ] + @@ -15 +16,0 @@ -Cc: stable@dpdk.org @@ -25 +26 @@ -index cd80a0af46..02c96f697d 100644 +index d6dbd2fb8a..c8bd7064ce 100644 ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'net/bonding: fix double slave link status query' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (2 preceding siblings ...) 2022-11-11 11:38 ` patch 'net/bonding: fix array overflow in Rx burst' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'net/nfp: improve HW info header log readability' " christian.ehrhardt ` (41 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Yunjian Wang; +Cc: Min Hu, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/ab83bd49d3ab940e96dd1cfc363a8419aa6ee1cd Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From ab83bd49d3ab940e96dd1cfc363a8419aa6ee1cd Mon Sep 17 00:00:00 2001 From: Yunjian Wang <wangyunjian@huawei.com> Date: Wed, 13 Jul 2022 19:11:13 +0800 Subject: [PATCH] net/bonding: fix double slave link status query [ upstream commit ac95744076a72c0a150a988cc9042a5422e5041f ] When link status polling mode is used, the slave link status is queried twice, which may be inconsistent. To fix this, we can keep the latest queried link state. Fixes: a45b288ef21a ("bond: support link status polling") Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> Acked-by: Min Hu (Connor) <humin29@huawei.com> --- drivers/net/bonding/rte_eth_bond_pmd.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index c8bd7064ce..2032b3af50 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -2358,9 +2358,6 @@ bond_ethdev_slave_link_status_change_monitor(void *cb_arg) * event callback */ if (slave_ethdev->data->dev_link.link_status != internals->slaves[i].last_link_status) { - internals->slaves[i].last_link_status = - slave_ethdev->data->dev_link.link_status; - bond_ethdev_lsc_event_callback(internals->slaves[i].port_id, RTE_ETH_EVENT_INTR_LSC, &bonded_ethdev->data->port_id, @@ -2859,7 +2856,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type, uint8_t lsc_flag = 0; int valid_slave = 0; - uint16_t active_pos; + uint16_t active_pos, slave_idx; uint16_t i; if (type != RTE_ETH_EVENT_INTR_LSC || param == NULL) @@ -2880,6 +2877,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type, for (i = 0; i < internals->slave_count; i++) { if (internals->slaves[i].port_id == port_id) { valid_slave = 1; + slave_idx = i; break; } } @@ -2968,6 +2966,7 @@ link_update: * slaves */ bond_ethdev_link_update(bonded_eth_dev, 0); + internals->slaves[slave_idx].last_link_status = link.link_status; if (lsc_flag) { /* Cancel any possible outstanding interrupts if delays are enabled */ -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:04.973394063 +0100 +++ 0005-net-bonding-fix-double-slave-link-status-query.patch 2022-11-11 12:35:04.709191710 +0100 @@ -1 +1 @@ -From ac95744076a72c0a150a988cc9042a5422e5041f Mon Sep 17 00:00:00 2001 +From ab83bd49d3ab940e96dd1cfc363a8419aa6ee1cd Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit ac95744076a72c0a150a988cc9042a5422e5041f ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index 02c96f697d..fd2d95a751 100644 +index c8bd7064ce..2032b3af50 100644 @@ -23 +24 @@ -@@ -2418,9 +2418,6 @@ bond_ethdev_slave_link_status_change_monitor(void *cb_arg) +@@ -2358,9 +2358,6 @@ bond_ethdev_slave_link_status_change_monitor(void *cb_arg) @@ -33 +34 @@ -@@ -2919,7 +2916,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type, +@@ -2859,7 +2856,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type, @@ -42 +43 @@ -@@ -2940,6 +2937,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type, +@@ -2880,6 +2877,7 @@ bond_ethdev_lsc_event_callback(uint16_t port_id, enum rte_eth_event_type type, @@ -50 +51 @@ -@@ -3028,6 +3026,7 @@ link_update: +@@ -2968,6 +2966,7 @@ link_update: ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'net/nfp: improve HW info header log readability' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (3 preceding siblings ...) 2022-11-11 11:38 ` patch 'net/bonding: fix double slave link status query' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'net/mvneta: fix build with GCC 12' " christian.ehrhardt ` (40 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: James Hershaw; +Cc: Chaoyong He, Niklas Söderlund, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/97045dc80b6caec870d29f9e13a97569122488b7 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 97045dc80b6caec870d29f9e13a97569122488b7 Mon Sep 17 00:00:00 2001 From: James Hershaw <james.hershaw@corigine.com> Date: Fri, 26 Aug 2022 13:39:03 +0800 Subject: [PATCH] net/nfp: improve HW info header log readability MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit c18806818fb530d60003ea7da0b866fcdfe81e45 ] Prepend `0x` to the NFP HWINFO header value that is printed to improve the readability of the printed statement. Fixes: c7e9729da6b5 ("net/nfp: support CPP") Signed-off-by: James Hershaw <james.hershaw@corigine.com> Reviewed-by: Chaoyong He <chaoyong.he@corigine.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@corigine.com> --- drivers/net/nfp/nfpcore/nfp_hwinfo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/nfp/nfpcore/nfp_hwinfo.c b/drivers/net/nfp/nfpcore/nfp_hwinfo.c index c0516bf8e8..9f848bde79 100644 --- a/drivers/net/nfp/nfpcore/nfp_hwinfo.c +++ b/drivers/net/nfp/nfpcore/nfp_hwinfo.c @@ -108,7 +108,7 @@ nfp_hwinfo_try_fetch(struct nfp_cpp *cpp, size_t *cpp_size) goto exit_free; header = (void *)db; - printf("NFP HWINFO header: %08x\n", *(uint32_t *)header); + printf("NFP HWINFO header: %#08x\n", *(uint32_t *)header); if (nfp_hwinfo_is_updating(header)) goto exit_free; -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.008028539 +0100 +++ 0006-net-nfp-improve-HW-info-header-log-readability.patch 2022-11-11 12:35:04.713191732 +0100 @@ -1 +1 @@ -From c18806818fb530d60003ea7da0b866fcdfe81e45 Mon Sep 17 00:00:00 2001 +From 97045dc80b6caec870d29f9e13a97569122488b7 Mon Sep 17 00:00:00 2001 @@ -8,0 +9,2 @@ +[ upstream commit c18806818fb530d60003ea7da0b866fcdfe81e45 ] + @@ -13 +14,0 @@ -Cc: stable@dpdk.org ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'net/mvneta: fix build with GCC 12' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (4 preceding siblings ...) 2022-11-11 11:38 ` patch 'net/nfp: improve HW info header log readability' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'malloc: fix storage size for some allocations' " christian.ehrhardt ` (39 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Amit Prakash Shukla; +Cc: Liron Himi, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/48190f9e85dd3a129488b8c2b37e7e31b05dcd39 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 48190f9e85dd3a129488b8c2b37e7e31b05dcd39 Mon Sep 17 00:00:00 2001 From: Amit Prakash Shukla <amitprakashs@marvell.com> Date: Thu, 1 Sep 2022 14:01:18 +0530 Subject: [PATCH] net/mvneta: fix build with GCC 12 [ upstream commit d7b080f1e72d833d668a66199fe99ccda6c81a36 ] ./drivers/net/mvneta/mvneta_rxtx.c:89:42: error: 'mbufs' may be used uninitialized [-Werror=maybe-uninitialized] 89 | MVNETA_SET_COOKIE_HIGH_ADDR(mbufs[0]); | ^ ../drivers/net/mvneta/mvneta_rxtx.c:77:26: note: 'mbufs' declared here 77 | struct rte_mbuf *mbufs[MRVL_NETA_BUF_RELEASE_BURST_SIZE_MAX]; | ^~~~~ Fixes: ce7ea764597e ("net/mvneta: support Rx/Tx") Signed-off-by: Amit Prakash Shukla <amitprakashs@marvell.com> Acked-by: Liron Himi <lironh@marvell.com> --- drivers/net/mvneta/mvneta_rxtx.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/mvneta/mvneta_rxtx.c b/drivers/net/mvneta/mvneta_rxtx.c index dfa7ecc090..92b157d702 100644 --- a/drivers/net/mvneta/mvneta_rxtx.c +++ b/drivers/net/mvneta/mvneta_rxtx.c @@ -79,6 +79,10 @@ mvneta_buffs_refill(struct mvneta_priv *priv, struct mvneta_rxq *rxq, u16 *num) int i, ret; uint16_t nb_desc = *num; + /* To prevent GCC-12 warning. */ + if (unlikely(nb_desc == 0)) + return -1; + ret = rte_pktmbuf_alloc_bulk(rxq->mp, mbufs, nb_desc); if (ret) { MVNETA_LOG(ERR, "Failed to allocate %u mbufs.", nb_desc); -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.040450052 +0100 +++ 0007-net-mvneta-fix-build-with-GCC-12.patch 2022-11-11 12:35:04.713191732 +0100 @@ -1 +1 @@ -From d7b080f1e72d833d668a66199fe99ccda6c81a36 Mon Sep 17 00:00:00 2001 +From 48190f9e85dd3a129488b8c2b37e7e31b05dcd39 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit d7b080f1e72d833d668a66199fe99ccda6c81a36 ] + @@ -15 +16,0 @@ -Cc: stable@dpdk.org @@ -24 +25 @@ -index 6e4a7896b4..952e982275 100644 +index dfa7ecc090..92b157d702 100644 ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'malloc: fix storage size for some allocations' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (5 preceding siblings ...) 2022-11-11 11:38 ` patch 'net/mvneta: fix build with GCC 12' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'event/sw: fix device name in dump' " christian.ehrhardt ` (38 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Fidaullah Noonari; +Cc: Dmitry Kozlyuk, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/6768e641e2faf6ebb859d38b067309bce33c23cf Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 6768e641e2faf6ebb859d38b067309bce33c23cf Mon Sep 17 00:00:00 2001 From: Fidaullah Noonari <fidaullah.noonari@emumba.com> Date: Thu, 28 Jul 2022 14:41:03 +0500 Subject: [PATCH] malloc: fix storage size for some allocations [ upstream commit f92b9ebed03dbd140a5a7b921cb898e661a59068 ] The amount of memory to allocate from the system for heap expansion was calculated in a way that may yield one page more than needed. This could hit the allocation limit from the system or EAL. The allocation would fail despite enough memory being available. In response to mail: https://inbox.dpdk.org/dev/CAEYuUWCnRZNwxiOHEeTHw0Gy9aFJRLZtvAG9g=smuUvUEMcFXg@mail.gmail.com/ A reproducer has been provided by Dmitry, see: https://inbox.dpdk.org/dev/20220922015212.03bfde66@sovereign/ Fixes: 07dcbfe0101f ("malloc: support multiprocess memory hotplug") Signed-off-by: Fidaullah Noonari <fidaullah.noonari@emumba.com> Acked-by: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> --- lib/librte_eal/common/malloc_heap.c | 2 +- lib/librte_eal/common/malloc_mp.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/librte_eal/common/malloc_heap.c b/lib/librte_eal/common/malloc_heap.c index 03a263a004..0343d7ff1a 100644 --- a/lib/librte_eal/common/malloc_heap.c +++ b/lib/librte_eal/common/malloc_heap.c @@ -396,7 +396,7 @@ try_expand_heap_primary(struct malloc_heap *heap, uint64_t pg_sz, int n_segs; bool callback_triggered = false; - alloc_sz = RTE_ALIGN_CEIL(align + elt_size + + alloc_sz = RTE_ALIGN_CEIL(RTE_ALIGN_CEIL(elt_size, align) + MALLOC_ELEM_OVERHEAD, pg_sz); n_segs = alloc_sz / pg_sz; diff --git a/lib/librte_eal/common/malloc_mp.c b/lib/librte_eal/common/malloc_mp.c index f9d558ba64..8b2f06720b 100644 --- a/lib/librte_eal/common/malloc_mp.c +++ b/lib/librte_eal/common/malloc_mp.c @@ -185,7 +185,7 @@ handle_alloc_request(const struct malloc_mp_req *m, int n_segs; void *map_addr; - alloc_sz = RTE_ALIGN_CEIL(ar->align + ar->elt_size + + alloc_sz = RTE_ALIGN_CEIL(RTE_ALIGN_CEIL(ar->elt_size, ar->align) + MALLOC_ELEM_OVERHEAD, ar->page_sz); n_segs = alloc_sz / ar->page_sz; -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.073291553 +0100 +++ 0008-malloc-fix-storage-size-for-some-allocations.patch 2022-11-11 12:35:04.717191754 +0100 @@ -1 +1 @@ -From f92b9ebed03dbd140a5a7b921cb898e661a59068 Mon Sep 17 00:00:00 2001 +From 6768e641e2faf6ebb859d38b067309bce33c23cf Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit f92b9ebed03dbd140a5a7b921cb898e661a59068 ] + @@ -18 +19,0 @@ -Cc: stable@dpdk.org @@ -23,2 +24,2 @@ - lib/eal/common/malloc_heap.c | 2 +- - lib/eal/common/malloc_mp.c | 2 +- + lib/librte_eal/common/malloc_heap.c | 2 +- + lib/librte_eal/common/malloc_mp.c | 2 +- @@ -27,5 +28,5 @@ -diff --git a/lib/eal/common/malloc_heap.c b/lib/eal/common/malloc_heap.c -index 27a52266ad..d7c410b786 100644 ---- a/lib/eal/common/malloc_heap.c -+++ b/lib/eal/common/malloc_heap.c -@@ -402,7 +402,7 @@ try_expand_heap_primary(struct malloc_heap *heap, uint64_t pg_sz, +diff --git a/lib/librte_eal/common/malloc_heap.c b/lib/librte_eal/common/malloc_heap.c +index 03a263a004..0343d7ff1a 100644 +--- a/lib/librte_eal/common/malloc_heap.c ++++ b/lib/librte_eal/common/malloc_heap.c +@@ -396,7 +396,7 @@ try_expand_heap_primary(struct malloc_heap *heap, uint64_t pg_sz, @@ -40,7 +41,7 @@ -diff --git a/lib/eal/common/malloc_mp.c b/lib/eal/common/malloc_mp.c -index 0c2624c62d..7270c2ec90 100644 ---- a/lib/eal/common/malloc_mp.c -+++ b/lib/eal/common/malloc_mp.c -@@ -250,7 +250,7 @@ handle_alloc_request(const struct malloc_mp_req *m, - return -1; - } +diff --git a/lib/librte_eal/common/malloc_mp.c b/lib/librte_eal/common/malloc_mp.c +index f9d558ba64..8b2f06720b 100644 +--- a/lib/librte_eal/common/malloc_mp.c ++++ b/lib/librte_eal/common/malloc_mp.c +@@ -185,7 +185,7 @@ handle_alloc_request(const struct malloc_mp_req *m, + int n_segs; + void *map_addr; ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'event/sw: fix device name in dump' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (6 preceding siblings ...) 2022-11-11 11:38 ` patch 'malloc: fix storage size for some allocations' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'eventdev/eth_tx: add spinlock for adapter start/stop' " christian.ehrhardt ` (37 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Stephen Hemminger; +Cc: Harry van Haaren, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/d6cc3a3c1ccb775f61f973d465b43ca43a1e14ae Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From d6cc3a3c1ccb775f61f973d465b43ca43a1e14ae Mon Sep 17 00:00:00 2001 From: Stephen Hemminger <stephen@networkplumber.org> Date: Wed, 13 Jul 2022 11:24:50 -0700 Subject: [PATCH] event/sw: fix device name in dump [ upstream commit ec70113a60039411c57f02a814291cefcbc35099 ] The software eventdev PMD reports todo-fix-name as the device name. Fixes: c66baa68e453 ("event/sw: add dump function for easier debugging") Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Harry van Haaren <harry.van.haaren@intel.com> --- drivers/event/sw/sw_evdev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/event/sw/sw_evdev.c b/drivers/event/sw/sw_evdev.c index d075108610..dbf5b3b5d5 100644 --- a/drivers/event/sw/sw_evdev.c +++ b/drivers/event/sw/sw_evdev.c @@ -630,8 +630,8 @@ sw_dump(struct rte_eventdev *dev, FILE *f) "Ordered", "Atomic", "Parallel", "Directed" }; uint32_t i; - fprintf(f, "EventDev %s: ports %d, qids %d\n", "todo-fix-name", - sw->port_count, sw->qid_count); + fprintf(f, "EventDev %s: ports %d, qids %d\n", + dev->data->name, sw->port_count, sw->qid_count); fprintf(f, "\trx %"PRIu64"\n\tdrop %"PRIu64"\n\ttx %"PRIu64"\n", sw->stats.rx_pkts, sw->stats.rx_dropped, sw->stats.tx_pkts); -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.107316122 +0100 +++ 0009-event-sw-fix-device-name-in-dump.patch 2022-11-11 12:35:04.717191754 +0100 @@ -1 +1 @@ -From ec70113a60039411c57f02a814291cefcbc35099 Mon Sep 17 00:00:00 2001 +From d6cc3a3c1ccb775f61f973d465b43ca43a1e14ae Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit ec70113a60039411c57f02a814291cefcbc35099 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index ba4d3a1b39..b1d5efe274 100644 +index d075108610..dbf5b3b5d5 100644 @@ -22 +23 @@ -@@ -623,8 +623,8 @@ sw_dump(struct rte_eventdev *dev, FILE *f) +@@ -630,8 +630,8 @@ sw_dump(struct rte_eventdev *dev, FILE *f) ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'eventdev/eth_tx: add spinlock for adapter start/stop' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (7 preceding siblings ...) 2022-11-11 11:38 ` patch 'event/sw: fix device name in dump' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'eventdev/eth_tx: fix adapter stop' " christian.ehrhardt ` (36 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Naga Harish K S V; +Cc: Jay Jayatheerthan, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/0cd85a22bbd14255a078bd506c742a201cc1c51e Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 0cd85a22bbd14255a078bd506c742a201cc1c51e Mon Sep 17 00:00:00 2001 From: Naga Harish K S V <s.v.naga.harish.k@intel.com> Date: Mon, 25 Jul 2022 23:22:10 -0500 Subject: [PATCH] eventdev/eth_tx: add spinlock for adapter start/stop [ upstream commit 2ab9869c01bbec4b0da0b806ef605b56ffed6e95 ] Add spinlock protection for tx adapter stop and start APIs add null check for tx adapter service pointer in adapter start/stop APIs. Fixes: a3bbf2e09756 ("eventdev: add eth Tx adapter implementation") Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com> --- lib/librte_eventdev/rte_event_eth_tx_adapter.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.c b/lib/librte_eventdev/rte_event_eth_tx_adapter.c index e64c7ff2b6..0166e000b4 100644 --- a/lib/librte_eventdev/rte_event_eth_tx_adapter.c +++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.c @@ -43,7 +43,7 @@ #define RTE_EVENT_ETH_TX_ADAPTER_ID_VALID_OR_ERR_RET(id, retval) \ do { \ if (!txa_valid_id(id)) { \ - RTE_EDEV_LOG_ERR("Invalid eth Rx adapter id = %d", id); \ + RTE_EDEV_LOG_ERR("Invalid eth Tx adapter id = %d", id); \ return retval; \ } \ } while (0) @@ -467,10 +467,13 @@ txa_service_ctrl(uint8_t id, int start) struct txa_service_data *txa; txa = txa_service_id_to_data(id); - if (txa->service_id == TXA_INVALID_SERVICE_ID) + if (txa == NULL || txa->service_id == TXA_INVALID_SERVICE_ID) return 0; + rte_spinlock_lock(&txa->tx_lock); ret = rte_service_runstate_set(txa->service_id, start); + rte_spinlock_unlock(&txa->tx_lock); + if (ret == 0 && !start) { while (rte_service_may_be_active(txa->service_id)) rte_pause(); -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.139289096 +0100 +++ 0010-eventdev-eth_tx-add-spinlock-for-adapter-start-stop.patch 2022-11-11 12:35:04.721191776 +0100 @@ -1 +1 @@ -From 2ab9869c01bbec4b0da0b806ef605b56ffed6e95 Mon Sep 17 00:00:00 2001 +From 0cd85a22bbd14255a078bd506c742a201cc1c51e Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 2ab9869c01bbec4b0da0b806ef605b56ffed6e95 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -15 +16 @@ - lib/eventdev/rte_event_eth_tx_adapter.c | 7 +++++-- + lib/librte_eventdev/rte_event_eth_tx_adapter.c | 7 +++++-- @@ -18,5 +19,5 @@ -diff --git a/lib/eventdev/rte_event_eth_tx_adapter.c b/lib/eventdev/rte_event_eth_tx_adapter.c -index aaef352f5c..aa7713bfa1 100644 ---- a/lib/eventdev/rte_event_eth_tx_adapter.c -+++ b/lib/eventdev/rte_event_eth_tx_adapter.c -@@ -50,7 +50,7 @@ +diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.c b/lib/librte_eventdev/rte_event_eth_tx_adapter.c +index e64c7ff2b6..0166e000b4 100644 +--- a/lib/librte_eventdev/rte_event_eth_tx_adapter.c ++++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.c +@@ -43,7 +43,7 @@ @@ -31 +32 @@ -@@ -502,10 +502,13 @@ txa_service_ctrl(uint8_t id, int start) +@@ -467,10 +467,13 @@ txa_service_ctrl(uint8_t id, int start) ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'eventdev/eth_tx: fix adapter stop' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (8 preceding siblings ...) 2022-11-11 11:38 ` patch 'eventdev/eth_tx: add spinlock for adapter start/stop' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'test/ipsec: skip if no compatible device' " christian.ehrhardt ` (35 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Naga Harish K S V; +Cc: Jay Jayatheerthan, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/e2b41c9aef52ac79e60c59db7c1e0149db02121d Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From e2b41c9aef52ac79e60c59db7c1e0149db02121d Mon Sep 17 00:00:00 2001 From: Naga Harish K S V <s.v.naga.harish.k@intel.com> Date: Mon, 25 Jul 2022 23:22:11 -0500 Subject: [PATCH] eventdev/eth_tx: fix adapter stop [ upstream commit fbb9f7e215c3394681ab1292f421c4e5c4880392 ] adapter_stop function is stopping the adapter service using rte_service_runstate_set() API and waiting until rte_service_may_be_active() API returns stopped state in an infinite loop. This results in hang issues if application calls rte_service_lcore_stop() before adapter stop. Remove the state check after setting the service state which avoids running into hang issues. This also makes Tx adapter stop inline with remaining adapters. Fixes: a3bbf2e09756 ("eventdev: add eth Tx adapter implementation") Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com> --- lib/librte_eventdev/rte_event_eth_tx_adapter.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.c b/lib/librte_eventdev/rte_event_eth_tx_adapter.c index 0166e000b4..fa685db42b 100644 --- a/lib/librte_eventdev/rte_event_eth_tx_adapter.c +++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.c @@ -474,10 +474,6 @@ txa_service_ctrl(uint8_t id, int start) ret = rte_service_runstate_set(txa->service_id, start); rte_spinlock_unlock(&txa->tx_lock); - if (ret == 0 && !start) { - while (rte_service_may_be_active(txa->service_id)) - rte_pause(); - } return ret; } -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.172957456 +0100 +++ 0011-eventdev-eth_tx-fix-adapter-stop.patch 2022-11-11 12:35:04.721191776 +0100 @@ -1 +1 @@ -From fbb9f7e215c3394681ab1292f421c4e5c4880392 Mon Sep 17 00:00:00 2001 +From e2b41c9aef52ac79e60c59db7c1e0149db02121d Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit fbb9f7e215c3394681ab1292f421c4e5c4880392 ] + @@ -19 +20,0 @@ -Cc: stable@dpdk.org @@ -24 +25 @@ - lib/eventdev/rte_event_eth_tx_adapter.c | 4 ---- + lib/librte_eventdev/rte_event_eth_tx_adapter.c | 4 ---- @@ -27,5 +28,5 @@ -diff --git a/lib/eventdev/rte_event_eth_tx_adapter.c b/lib/eventdev/rte_event_eth_tx_adapter.c -index aa7713bfa1..7e82fe030c 100644 ---- a/lib/eventdev/rte_event_eth_tx_adapter.c -+++ b/lib/eventdev/rte_event_eth_tx_adapter.c -@@ -509,10 +509,6 @@ txa_service_ctrl(uint8_t id, int start) +diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.c b/lib/librte_eventdev/rte_event_eth_tx_adapter.c +index 0166e000b4..fa685db42b 100644 +--- a/lib/librte_eventdev/rte_event_eth_tx_adapter.c ++++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.c +@@ -474,10 +474,6 @@ txa_service_ctrl(uint8_t id, int start) ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'test/ipsec: skip if no compatible device' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (9 preceding siblings ...) 2022-11-11 11:38 ` patch 'eventdev/eth_tx: fix adapter stop' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'test/crypto: fix debug messages' " christian.ehrhardt ` (34 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Jeremy Spewock; +Cc: Owen Hilyard, Ruifeng Wang, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/d6e07e9b1b8c1bc935da87ea725ad67fe6caece9 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From d6e07e9b1b8c1bc935da87ea725ad67fe6caece9 Mon Sep 17 00:00:00 2001 From: Jeremy Spewock <jspewock@iol.unh.edu> Date: Tue, 12 Jul 2022 10:17:01 -0400 Subject: [PATCH] test/ipsec: skip if no compatible device [ upstream commit 37edccf8f79d7a8d0cbb00907a93ec9b9f476ed3 ] ipsec_autotest is now skipped if no compatible crypto devices are found. Fixes issue where if at least one crypto device was found but no compatible crypto devices for the ipsec_autotest test case are present, the case would fail with no error message. Now, when this situation is encountered, the test case will be skipped with an explanation. Fixes: 59d7353b0df0 ("test/ipsec: fix test suite setup") Signed-off-by: Jeremy Spewock <jspewock@iol.unh.edu> Signed-off-by: Owen Hilyard <ohilyard@iol.unh.edu> Reviewed-by: Ruifeng Wang <ruifeng.wang@arm.com> --- app/test/test_ipsec.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/test/test_ipsec.c b/app/test/test_ipsec.c index 65924b0572..9572098bd8 100644 --- a/app/test/test_ipsec.c +++ b/app/test/test_ipsec.c @@ -310,8 +310,10 @@ testsuite_setup(void) } } - if (ts_params->valid_dev_found == 0) - return TEST_FAILED; + if (ts_params->valid_dev_found == 0) { + RTE_LOG(WARNING, USER1, "No compatible crypto device found.\n"); + return TEST_SKIPPED; + } ts_params->mbuf_pool = rte_pktmbuf_pool_create( "CRYPTO_MBUFPOOL", -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.205091045 +0100 +++ 0012-test-ipsec-skip-if-no-compatible-device.patch 2022-11-11 12:35:04.725191797 +0100 @@ -1 +1 @@ -From 37edccf8f79d7a8d0cbb00907a93ec9b9f476ed3 Mon Sep 17 00:00:00 2001 +From d6e07e9b1b8c1bc935da87ea725ad67fe6caece9 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 37edccf8f79d7a8d0cbb00907a93ec9b9f476ed3 ] + @@ -14 +15,0 @@ -Cc: stable@dpdk.org @@ -24 +25 @@ -index 7047e17960..7c03a06785 100644 +index 65924b0572..9572098bd8 100644 @@ -27 +28 @@ -@@ -320,8 +320,10 @@ testsuite_setup(void) +@@ -310,8 +310,10 @@ testsuite_setup(void) ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'test/crypto: fix debug messages' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (10 preceding siblings ...) 2022-11-11 11:38 ` patch 'test/ipsec: skip if no compatible device' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'test/ipsec: fix build with GCC 12' " christian.ehrhardt ` (33 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Sunyang Wu; +Cc: Joey Xing, Qingmin Liu, Lei Cai, Akhil Goyal, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/32b1e6562d1af9335721e5ea652513830fa42d73 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 32b1e6562d1af9335721e5ea652513830fa42d73 Mon Sep 17 00:00:00 2001 From: Sunyang Wu <sunyang.wu@jaguarmicro.com> Date: Tue, 26 Jul 2022 11:38:19 +0800 Subject: [PATCH] test/crypto: fix debug messages [ upstream commit 1c6b77de0aa97072372fa80891c93063ec132c1a ] When the queue_ops_rsa_enc_dec function is called, the plaintext will be printed twice instead of both plaintext and ciphertext. When the create_aead_operation function is called, the contents of iv and aad will be printed incorrectly. This patch fixes the issues above. Fixes: 77a217a19bb7 ("test/crypto: add AES-CCM tests") Fixes: 5ae36995f10f ("test/crypto: move RSA enqueue/dequeue into functions") Signed-off-by: Sunyang Wu <sunyang.wu@jaguarmicro.com> Reviewed-by: Joey Xing <joey.xing@jaguarmicro.com> Reviewed-by: Qingmin Liu <qingmin.liu@jaguarmicro.com> Reviewed-by: Lei Cai <lei.cai@jaguarmicro.com> Acked-by: Akhil Goyal <gakhil@marvell.com> --- app/test/test_cryptodev.c | 4 ++-- app/test/test_cryptodev_asym.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c index 8ad2f251e5..279cf8b07c 100644 --- a/app/test/test_cryptodev.c +++ b/app/test/test_cryptodev.c @@ -7708,7 +7708,7 @@ create_aead_operation(enum rte_crypto_aead_operation op, rte_pktmbuf_iova(ut_params->ibuf); /* Copy AAD 18 bytes after the AAD pointer, according to the API */ memcpy(sym_op->aead.aad.data + 18, tdata->aad.data, tdata->aad.len); - debug_hexdump(stdout, "aad:", sym_op->aead.aad.data, + debug_hexdump(stdout, "aad:", sym_op->aead.aad.data + 18, tdata->aad.len); /* Append IV at the end of the crypto operation*/ @@ -7717,7 +7717,7 @@ create_aead_operation(enum rte_crypto_aead_operation op, /* Copy IV 1 byte after the IV pointer, according to the API */ rte_memcpy(iv_ptr + 1, tdata->iv.data, tdata->iv.len); - debug_hexdump(stdout, "iv:", iv_ptr, + debug_hexdump(stdout, "iv:", iv_ptr + 1, tdata->iv.len); } else { aad_pad_len = RTE_ALIGN_CEIL(tdata->aad.len, 16); diff --git a/app/test/test_cryptodev_asym.c b/app/test/test_cryptodev_asym.c index 9254c17183..fd398cd90d 100644 --- a/app/test/test_cryptodev_asym.c +++ b/app/test/test_cryptodev_asym.c @@ -207,8 +207,8 @@ queue_ops_rsa_enc_dec(struct rte_cryptodev_asym_session *sess) status = TEST_FAILED; goto error_exit; } - debug_hexdump(stdout, "encrypted message", asym_op->rsa.message.data, - asym_op->rsa.message.length); + debug_hexdump(stdout, "encrypted message", asym_op->rsa.cipher.data, + asym_op->rsa.cipher.length); /* Use the resulted output as decryption Input vector*/ asym_op = result_op->asym; -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.246009058 +0100 +++ 0013-test-crypto-fix-debug-messages.patch 2022-11-11 12:35:04.737191864 +0100 @@ -1 +1 @@ -From 1c6b77de0aa97072372fa80891c93063ec132c1a Mon Sep 17 00:00:00 2001 +From 32b1e6562d1af9335721e5ea652513830fa42d73 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 1c6b77de0aa97072372fa80891c93063ec132c1a ] + @@ -13 +14,0 @@ -Cc: stable@dpdk.org @@ -26 +27 @@ -index 69a0301de0..54ce306b42 100644 +index 8ad2f251e5..279cf8b07c 100644 @@ -29 +30 @@ -@@ -8287,7 +8287,7 @@ create_aead_operation(enum rte_crypto_aead_operation op, +@@ -7708,7 +7708,7 @@ create_aead_operation(enum rte_crypto_aead_operation op, @@ -38 +39 @@ -@@ -8296,7 +8296,7 @@ create_aead_operation(enum rte_crypto_aead_operation op, +@@ -7717,7 +7717,7 @@ create_aead_operation(enum rte_crypto_aead_operation op, @@ -48 +49 @@ -index fc1a727472..9da54530e5 100644 +index 9254c17183..fd398cd90d 100644 @@ -51 +52 @@ -@@ -208,8 +208,8 @@ queue_ops_rsa_enc_dec(void *sess) +@@ -207,8 +207,8 @@ queue_ops_rsa_enc_dec(struct rte_cryptodev_asym_session *sess) ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'test/ipsec: fix build with GCC 12' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (11 preceding siblings ...) 2022-11-11 11:38 ` patch 'test/crypto: fix debug messages' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'ipsec: " christian.ehrhardt ` (32 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Amit Prakash Shukla; +Cc: Akhil Goyal, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/91a0ab98477fffbc4a2bed90737a8c0d799142a4 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 91a0ab98477fffbc4a2bed90737a8c0d799142a4 Mon Sep 17 00:00:00 2001 From: Amit Prakash Shukla <amitprakashs@marvell.com> Date: Thu, 4 Aug 2022 19:10:53 +0530 Subject: [PATCH] test/ipsec: fix build with GCC 12 [ upstream commit 250cbb8d5dd2ffcb4c8a871332f9ec8e5a59242f ] GCC-12 raises following warning: In function '_mm_loadu_si128', inlined from 'rte_mov16' at ../lib/eal/x86/include/rte_memcpy.h:507:9, inlined from 'rte_mov128' at ../lib/eal/x86/include/rte_memcpy.h:549:2, inlined from 'rte_memcpy_generic' at ../lib/eal/x86/include/rte_memcpy.h:732:4, inlined from 'rte_memcpy' at ../lib/eal/x86/include/rte_memcpy.h:882:10, inlined from 'setup_test_string_tunneled' at ../app/test/test_ipsec.c:617:3: /usr/lib/gcc/x86_64-pc-linux-gnu/12.1.1/include/emmintrin.h:703:10: error: array subscript '__m128i_u[15]' is partly outside array bounds of 'const uint8_t[255]' {aka 'const unsigned char[255]'} [-Werror=array-bounds] 703 | return *__P; | ^~~~ ../app/test/test_ipsec.c: In function 'setup_test_string_tunneled': ../app/test/test_ipsec.c:491:22: note: at offset 240 into object 'esp_pad_bytes' of size 255 491 | static const uint8_t esp_pad_bytes[IPSEC_MAX_PAD_SIZE] = { This patch restrict the copy to minimum size. Fixes: 05fe65eb66b2 ("test/ipsec: introduce functional test") Signed-off-by: Amit Prakash Shukla <amitprakashs@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com> --- app/test/test_ipsec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/test/test_ipsec.c b/app/test/test_ipsec.c index 9572098bd8..a71dee498e 100644 --- a/app/test/test_ipsec.c +++ b/app/test/test_ipsec.c @@ -619,7 +619,8 @@ setup_test_string_tunneled(struct rte_mempool *mpool, const char *string, rte_memcpy(dst, string, len); dst += len; /* copy pad bytes */ - rte_memcpy(dst, esp_pad_bytes, padlen); + rte_memcpy(dst, esp_pad_bytes, RTE_MIN(padlen, + sizeof(esp_pad_bytes))); dst += padlen; /* copy ESP tail header */ rte_memcpy(dst, &espt, sizeof(espt)); -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.289509420 +0100 +++ 0014-test-ipsec-fix-build-with-GCC-12.patch 2022-11-11 12:35:04.741191886 +0100 @@ -1 +1 @@ -From 250cbb8d5dd2ffcb4c8a871332f9ec8e5a59242f Mon Sep 17 00:00:00 2001 +From 91a0ab98477fffbc4a2bed90737a8c0d799142a4 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 250cbb8d5dd2ffcb4c8a871332f9ec8e5a59242f ] + @@ -33 +34,0 @@ -Cc: stable@dpdk.org @@ -42 +43 @@ -index 7c03a06785..aa533483fd 100644 +index 9572098bd8..a71dee498e 100644 @@ -45 +46 @@ -@@ -629,7 +629,8 @@ setup_test_string_tunneled(struct rte_mempool *mpool, const char *string, +@@ -619,7 +619,8 @@ setup_test_string_tunneled(struct rte_mempool *mpool, const char *string, ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'ipsec: fix build with GCC 12' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (12 preceding siblings ...) 2022-11-11 11:38 ` patch 'test/ipsec: fix build with GCC 12' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'crypto/qat: " christian.ehrhardt ` (31 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Amit Prakash Shukla; +Cc: Konstantin Ananyev, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/3b5df1527709de10d048ae48f0551c9f089cebf6 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 3b5df1527709de10d048ae48f0551c9f089cebf6 Mon Sep 17 00:00:00 2001 From: Amit Prakash Shukla <amitprakashs@marvell.com> Date: Thu, 4 Aug 2022 19:10:54 +0530 Subject: [PATCH] ipsec: fix build with GCC 12 [ upstream commit 2be383423e433b5d42324cb450589b46d057c2ed ] GCC 12 raises the following warning: In function '_mm_loadu_si128', inlined from 'rte_mov16' at ../lib/eal/x86/include/rte_memcpy.h:507:9, inlined from 'rte_mov128' at ../lib/eal/x86/include/rte_memcpy.h:549:2, inlined from 'rte_memcpy_generic' at ../lib/eal/x86/include/rte_memcpy.h:732:4, inlined from 'rte_memcpy' at ../lib/eal/x86/include/rte_memcpy.h:882:10, inlined from 'outb_tun_pkt_prepare' at ../lib/ipsec/esp_outb.c:224:2: /usr/lib/gcc/x86_64-pc-linux-gnu/12.1.1/include/emmintrin.h:703:10: error: array subscript '__m128i_u[15]' is partly outside array bounds of 'const uint8_t[255]' {aka 'const unsigned char[255]'} [-Werror=array-bounds] 703 | return *__P; | ^~~~ In file included from ../lib/ipsec/esp_outb.c:17: ../lib/ipsec/pad.h: In function 'outb_tun_pkt_prepare': ../lib/ipsec/pad.h:10:22: note: at offset 240 into object 'esp_pad_bytes' of size 255 10 | static const uint8_t esp_pad_bytes[IPSEC_MAX_PAD_SIZE] = { | ^~~~~~~~~~~~~ This patch restrict copy to minimum size. Bugzilla ID: 1060 Fixes: 6015e6a13398 ("ipsec: move inbound and outbound code") Signed-off-by: Amit Prakash Shukla <amitprakashs@marvell.com> Acked-by: Konstantin Ananyev <konstantin.v.ananyev@yandex.ru> --- lib/librte_ipsec/esp_outb.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/librte_ipsec/esp_outb.c b/lib/librte_ipsec/esp_outb.c index 31b920f651..7e7340871a 100644 --- a/lib/librte_ipsec/esp_outb.c +++ b/lib/librte_ipsec/esp_outb.c @@ -169,8 +169,10 @@ outb_tun_pkt_prepare(struct rte_ipsec_sa *sa, rte_be64_t sqc, /* pad length */ pdlen -= sizeof(*espt); + RTE_ASSERT(pdlen <= sizeof(esp_pad_bytes)); + /* copy padding data */ - rte_memcpy(pt, esp_pad_bytes, pdlen); + rte_memcpy(pt, esp_pad_bytes, RTE_MIN(pdlen, sizeof(esp_pad_bytes))); /* update esp trailer */ espt = (struct rte_esp_tail *)(pt + pdlen); @@ -332,8 +334,10 @@ outb_trs_pkt_prepare(struct rte_ipsec_sa *sa, rte_be64_t sqc, /* pad length */ pdlen -= sizeof(*espt); + RTE_ASSERT(pdlen <= sizeof(esp_pad_bytes)); + /* copy padding data */ - rte_memcpy(pt, esp_pad_bytes, pdlen); + rte_memcpy(pt, esp_pad_bytes, RTE_MIN(pdlen, sizeof(esp_pad_bytes))); /* update esp trailer */ espt = (struct rte_esp_tail *)(pt + pdlen); -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.323732256 +0100 +++ 0015-ipsec-fix-build-with-GCC-12.patch 2022-11-11 12:35:04.741191886 +0100 @@ -1 +1 @@ -From 2be383423e433b5d42324cb450589b46d057c2ed Mon Sep 17 00:00:00 2001 +From 3b5df1527709de10d048ae48f0551c9f089cebf6 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 2be383423e433b5d42324cb450589b46d057c2ed ] + @@ -36 +37,0 @@ -Cc: stable@dpdk.org @@ -41 +42 @@ - lib/ipsec/esp_outb.c | 8 ++++++-- + lib/librte_ipsec/esp_outb.c | 8 ++++++-- @@ -44,5 +45,5 @@ -diff --git a/lib/ipsec/esp_outb.c b/lib/ipsec/esp_outb.c -index 5a5429a12b..9cbd9202f6 100644 ---- a/lib/ipsec/esp_outb.c -+++ b/lib/ipsec/esp_outb.c -@@ -219,8 +219,10 @@ outb_tun_pkt_prepare(struct rte_ipsec_sa *sa, rte_be64_t sqc, +diff --git a/lib/librte_ipsec/esp_outb.c b/lib/librte_ipsec/esp_outb.c +index 31b920f651..7e7340871a 100644 +--- a/lib/librte_ipsec/esp_outb.c ++++ b/lib/librte_ipsec/esp_outb.c +@@ -169,8 +169,10 @@ outb_tun_pkt_prepare(struct rte_ipsec_sa *sa, rte_be64_t sqc, @@ -60 +61 @@ -@@ -416,8 +418,10 @@ outb_trs_pkt_prepare(struct rte_ipsec_sa *sa, rte_be64_t sqc, +@@ -332,8 +334,10 @@ outb_trs_pkt_prepare(struct rte_ipsec_sa *sa, rte_be64_t sqc, ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'crypto/qat: fix build with GCC 12' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (13 preceding siblings ...) 2022-11-11 11:38 ` patch 'ipsec: " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'eventdev: fix name of Rx conf type in documentation' " christian.ehrhardt ` (30 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Amit Prakash Shukla; +Cc: Fan Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/8367819585bc8c6c041e02a786db99fb01a75ecc Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 8367819585bc8c6c041e02a786db99fb01a75ecc Mon Sep 17 00:00:00 2001 From: Amit Prakash Shukla <amitprakashs@marvell.com> Date: Thu, 4 Aug 2022 19:10:55 +0530 Subject: [PATCH] crypto/qat: fix build with GCC 12 [ upstream commit 04361fe2aca8998ea06fb4823dceb965698e147c ] GCC 12 raises the following warning: In function '_mm_storeu_si128', inlined from 'rte_mov16' at ../lib/eal/x86/include/rte_memcpy.h:508:2, inlined from 'rte_mov128' at ../lib/eal/x86/include/rte_memcpy.h:542:2, inlined from 'rte_memcpy_generic' at ../lib/eal/x86/include/rte_memcpy.h:732:4, inlined from 'rte_memcpy' at ../lib/eal/x86/include/rte_memcpy.h:882:10, inlined from 'qat_sym_do_precomputes.constprop' at ../drivers/crypto/qat/qat_sym_session.c:1434:2: /usr/lib/gcc/x86_64-pc-linux-gnu/12.1.1/include/emmintrin.h:739:8: error: array subscript 8 is outside array bounds of 'unsigned char[128]' [-Werror=array-bounds] 739 | *__P = __B; | ~~~~~^~~~~ ../drivers/crypto/qat/qat_sym_session.c: In function 'qat_sym_do_precomputes.constprop': ../drivers/crypto/qat/qat_sym_session.c:1305:17: note: at offset 192 into object 'opad.750' of size 128 1305 | uint8_t opad[qat_hash_get_block_size(ICP_QAT_HW_AUTH_ALGO_DELIMITER)]; | ^~~~ ../drivers/crypto/qat/qat_sym_session.c: In function 'qat_sym_do_precomputes.constprop': ../drivers/crypto/qat/qat_sym_session.c:1304:17: note: at offset 128 into object 'ipad.749' of size 128 1304 | uint8_t ipad[qat_hash_get_block_size(ICP_QAT_HW_AUTH_ALGO_DELIMITER)]; | ^~~~ Added a check to prevent compiler warnings. Fixes: 1703e94ac5ce ("qat: add driver for QuickAssist devices") Signed-off-by: Amit Prakash Shukla <amitprakashs@marvell.com> Acked-by: Fan Zhang <roy.fan.zhang@intel.com> --- drivers/crypto/qat/qat_sym_session.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/crypto/qat/qat_sym_session.c b/drivers/crypto/qat/qat_sym_session.c index 8c148c9cef..7c851de242 100644 --- a/drivers/crypto/qat/qat_sym_session.c +++ b/drivers/crypto/qat/qat_sym_session.c @@ -1383,6 +1383,10 @@ static int qat_sym_do_precomputes(enum icp_qat_hw_auth_algo hash_alg, QAT_LOG(ERR, "invalid keylen %u", auth_keylen); return -EFAULT; } + + RTE_VERIFY(auth_keylen <= sizeof(ipad)); + RTE_VERIFY(auth_keylen <= sizeof(opad)); + rte_memcpy(ipad, auth_key, auth_keylen); rte_memcpy(opad, auth_key, auth_keylen); -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.358470572 +0100 +++ 0016-crypto-qat-fix-build-with-GCC-12.patch 2022-11-11 12:35:04.745191908 +0100 @@ -1 +1 @@ -From 04361fe2aca8998ea06fb4823dceb965698e147c Mon Sep 17 00:00:00 2001 +From 8367819585bc8c6c041e02a786db99fb01a75ecc Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 04361fe2aca8998ea06fb4823dceb965698e147c ] + @@ -44 +45,0 @@ -Cc: stable@dpdk.org @@ -53 +54 @@ -index e09d810354..52b3455cf0 100644 +index 8c148c9cef..7c851de242 100644 @@ -56 +57 @@ -@@ -1651,6 +1651,10 @@ static int qat_sym_do_precomputes(enum icp_qat_hw_auth_algo hash_alg, +@@ -1383,6 +1383,10 @@ static int qat_sym_do_precomputes(enum icp_qat_hw_auth_algo hash_alg, ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'eventdev: fix name of Rx conf type in documentation' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (14 preceding siblings ...) 2022-11-11 11:38 ` patch 'crypto/qat: " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'net/i40e: fix VF representor release' " christian.ehrhardt ` (29 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Volodymyr Fialko; +Cc: Jay Jayatheerthan, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/0ef4127ffdb3fb5fe5ca1e8c407ec98778db6029 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 0ef4127ffdb3fb5fe5ca1e8c407ec98778db6029 Mon Sep 17 00:00:00 2001 From: Volodymyr Fialko <vfialko@marvell.com> Date: Mon, 26 Sep 2022 13:58:11 +0200 Subject: [PATCH] eventdev: fix name of Rx conf type in documentation [ upstream commit 4f3c773825d262960b2622d509dbcb263dfa82d2 ] Rename configuration structure type to correspond definition. Fixes: dcc806c2638 ("eventdev: add eth Rx adapter API") Signed-off-by: Volodymyr Fialko <vfialko@marvell.com> Acked-by: Jay Jayatheerthan <jay.jayatheerthan@intel.com> --- lib/librte_eventdev/rte_event_eth_rx_adapter.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.h b/lib/librte_eventdev/rte_event_eth_rx_adapter.h index 2dd259c279..8a9db69909 100644 --- a/lib/librte_eventdev/rte_event_eth_rx_adapter.h +++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.h @@ -336,7 +336,7 @@ int rte_event_eth_rx_adapter_free(uint8_t id); * @see RTE_EVENT_ETH_RX_ADAPTER_CAP_MULTI_EVENTQ * * @param conf - * Additional configuration structure of type *rte_event_eth_rx_adapter_conf* + * Additional configuration structure of type *rte_event_eth_rx_adapter_queue_conf* * * @return * - 0: Success, Receive queue added correctly. -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.391185178 +0100 +++ 0017-eventdev-fix-name-of-Rx-conf-type-in-documentation.patch 2022-11-11 12:35:04.745191908 +0100 @@ -1 +1 @@ -From 4f3c773825d262960b2622d509dbcb263dfa82d2 Mon Sep 17 00:00:00 2001 +From 0ef4127ffdb3fb5fe5ca1e8c407ec98778db6029 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 4f3c773825d262960b2622d509dbcb263dfa82d2 ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org @@ -14 +15 @@ - lib/eventdev/rte_event_eth_rx_adapter.h | 2 +- + lib/librte_eventdev/rte_event_eth_rx_adapter.h | 2 +- @@ -17,5 +18,5 @@ -diff --git a/lib/eventdev/rte_event_eth_rx_adapter.h b/lib/eventdev/rte_event_eth_rx_adapter.h -index a3313c8d32..a9fdeb7b45 100644 ---- a/lib/eventdev/rte_event_eth_rx_adapter.h -+++ b/lib/eventdev/rte_event_eth_rx_adapter.h -@@ -458,7 +458,7 @@ int rte_event_eth_rx_adapter_free(uint8_t id); +diff --git a/lib/librte_eventdev/rte_event_eth_rx_adapter.h b/lib/librte_eventdev/rte_event_eth_rx_adapter.h +index 2dd259c279..8a9db69909 100644 +--- a/lib/librte_eventdev/rte_event_eth_rx_adapter.h ++++ b/lib/librte_eventdev/rte_event_eth_rx_adapter.h +@@ -336,7 +336,7 @@ int rte_event_eth_rx_adapter_free(uint8_t id); ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'net/i40e: fix VF representor release' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (15 preceding siblings ...) 2022-11-11 11:38 ` patch 'eventdev: fix name of Rx conf type in documentation' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'common/iavf: avoid copy in async mode' " christian.ehrhardt ` (28 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Ke Zhang; +Cc: Yuying Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/da62944cd52661d4ce91ccb8ea4be7434d6ff223 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From da62944cd52661d4ce91ccb8ea4be7434d6ff223 Mon Sep 17 00:00:00 2001 From: Ke Zhang <ke1x.zhang@intel.com> Date: Thu, 4 Aug 2022 17:50:03 +0800 Subject: [PATCH] net/i40e: fix VF representor release [ upstream commit ba10df53e486ef7918c1236ef4d8da16ae3a32e1 ] A segmentation fault occurs when testpmd exit. This is due to fetching the device name from PF, PF is freed firstly and then VF representor is called later. This commit fixes the bug by fetching the device name from VF representor instead of PF. Fixes: e391a7b7f815 ("net/i40e: fix multi-process shared data") Signed-off-by: Ke Zhang <ke1x.zhang@intel.com> Acked-by: Yuying Zhang <yuying.zhang@intel.com> --- drivers/net/i40e/i40e_vf_representor.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/drivers/net/i40e/i40e_vf_representor.c b/drivers/net/i40e/i40e_vf_representor.c index 40065e1524..ca083e0ee3 100644 --- a/drivers/net/i40e/i40e_vf_representor.c +++ b/drivers/net/i40e/i40e_vf_representor.c @@ -28,8 +28,6 @@ i40e_vf_representor_dev_infos_get(struct rte_eth_dev *ethdev, struct rte_eth_dev_info *dev_info) { struct i40e_vf_representor *representor = ethdev->data->dev_private; - struct rte_eth_dev_data *pf_dev_data = - representor->adapter->pf.dev_data; /* get dev info for the vdev */ dev_info->device = ethdev->device; @@ -101,7 +99,7 @@ i40e_vf_representor_dev_infos_get(struct rte_eth_dev *ethdev, }; dev_info->switch_info.name = - rte_eth_devices[pf_dev_data->port_id].device->name; + rte_eth_devices[ethdev->data->port_id].device->name; dev_info->switch_info.domain_id = representor->switch_domain_id; dev_info->switch_info.port_id = representor->vf_id; -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.432527510 +0100 +++ 0018-net-i40e-fix-VF-representor-release.patch 2022-11-11 12:35:04.745191908 +0100 @@ -1 +1 @@ -From ba10df53e486ef7918c1236ef4d8da16ae3a32e1 Mon Sep 17 00:00:00 2001 +From da62944cd52661d4ce91ccb8ea4be7434d6ff223 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit ba10df53e486ef7918c1236ef4d8da16ae3a32e1 ] + @@ -16 +17,0 @@ -Cc: stable@dpdk.org @@ -25 +26 @@ -index cc0f992453..c00ae832aa 100644 +index 40065e1524..ca083e0ee3 100644 @@ -28 +29 @@ -@@ -29,8 +29,6 @@ i40e_vf_representor_dev_infos_get(struct rte_eth_dev *ethdev, +@@ -28,8 +28,6 @@ i40e_vf_representor_dev_infos_get(struct rte_eth_dev *ethdev, @@ -37 +38 @@ -@@ -104,7 +102,7 @@ i40e_vf_representor_dev_infos_get(struct rte_eth_dev *ethdev, +@@ -101,7 +99,7 @@ i40e_vf_representor_dev_infos_get(struct rte_eth_dev *ethdev, ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'common/iavf: avoid copy in async mode' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (16 preceding siblings ...) 2022-11-11 11:38 ` patch 'net/i40e: fix VF representor release' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'net/ice/base: fix media type of PHY 10G SFI C2C' " christian.ehrhardt ` (27 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Steven Zou; +Cc: Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/033e89575192d23d38db7262021e4654379ec63c Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 033e89575192d23d38db7262021e4654379ec63c Mon Sep 17 00:00:00 2001 From: Steven Zou <steven.zou@intel.com> Date: Mon, 5 Sep 2022 09:42:06 +0800 Subject: [PATCH] common/iavf: avoid copy in async mode [ upstream commit c60fad56266fef1f5f6e08c062806e137713e9da ] If cmd_details are defined or async flag is set, don't copy the desc/buff back to temp. Fixes: e5b2a9e957e7 ("net/avf/base: add base code for avf PMD") Signed-off-by: Steven Zou <steven.zou@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/iavf/base/iavf_adminq.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/iavf/base/iavf_adminq.c b/drivers/net/iavf/base/iavf_adminq.c index a41402e04e..43483c0ee1 100644 --- a/drivers/net/iavf/base/iavf_adminq.c +++ b/drivers/net/iavf/base/iavf_adminq.c @@ -807,7 +807,8 @@ enum iavf_status_code iavf_asq_send_command(struct iavf_hw *hw, } /* if ready, copy the desc back to temp */ - if (iavf_asq_done(hw)) { + if (iavf_asq_done(hw) && + !details->async && !details->postpone) { iavf_memcpy(desc, desc_on_ring, sizeof(struct iavf_aq_desc), IAVF_DMA_TO_NONDMA); if (buff != NULL) -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.465111763 +0100 +++ 0019-common-iavf-avoid-copy-in-async-mode.patch 2022-11-11 12:35:04.749191930 +0100 @@ -1 +1 @@ -From c60fad56266fef1f5f6e08c062806e137713e9da Mon Sep 17 00:00:00 2001 +From 033e89575192d23d38db7262021e4654379ec63c Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit c60fad56266fef1f5f6e08c062806e137713e9da ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -15 +16 @@ - drivers/common/iavf/iavf_adminq.c | 3 ++- + drivers/net/iavf/base/iavf_adminq.c | 3 ++- @@ -18,5 +19,5 @@ -diff --git a/drivers/common/iavf/iavf_adminq.c b/drivers/common/iavf/iavf_adminq.c -index 8b305c0fe3..56c8a519be 100644 ---- a/drivers/common/iavf/iavf_adminq.c -+++ b/drivers/common/iavf/iavf_adminq.c -@@ -788,7 +788,8 @@ enum iavf_status iavf_asq_send_command(struct iavf_hw *hw, +diff --git a/drivers/net/iavf/base/iavf_adminq.c b/drivers/net/iavf/base/iavf_adminq.c +index a41402e04e..43483c0ee1 100644 +--- a/drivers/net/iavf/base/iavf_adminq.c ++++ b/drivers/net/iavf/base/iavf_adminq.c +@@ -807,7 +807,8 @@ enum iavf_status_code iavf_asq_send_command(struct iavf_hw *hw, ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'net/ice/base: fix media type of PHY 10G SFI C2C' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (17 preceding siblings ...) 2022-11-11 11:38 ` patch 'common/iavf: avoid copy in async mode' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'net/ice/base: fix array overflow in add switch recipe' " christian.ehrhardt ` (26 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Qi Zhang; +Cc: Paul Greenwalt, Qiming Yang, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/b9fcd7aaa000841cfde6d11ecff39c17ceab9284 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From b9fcd7aaa000841cfde6d11ecff39c17ceab9284 Mon Sep 17 00:00:00 2001 From: Qi Zhang <qi.z.zhang@intel.com> Date: Mon, 15 Aug 2022 03:31:15 -0400 Subject: [PATCH] net/ice/base: fix media type of PHY 10G SFI C2C [ upstream commit ef12579699a3b03bc1c66e05be0d1a73a6ae8ce9 ] PHY type ICE_PHY_TYPE_LOW_10G_SFI_C2C is incorrectly mapped to media type Fiber which results in ethtool reporting the wrong Supported ports. PHY type ICE_PHY_TYPE_LOW_10G_SFI_C2C should map to media type Backplane. Fixes: 453d087ccaff ("net/ice/base: add common functions") Signed-off-by: Paul Greenwalt <paul.greenwalt@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Acked-by: Qiming Yang <qiming.yang@intel.com> --- drivers/net/ice/base/ice_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ice/base/ice_common.c b/drivers/net/ice/base/ice_common.c index 2926a1d474..9dad1c9b3a 100644 --- a/drivers/net/ice/base/ice_common.c +++ b/drivers/net/ice/base/ice_common.c @@ -227,7 +227,6 @@ static enum ice_media_type ice_get_media_type(struct ice_port_info *pi) case ICE_PHY_TYPE_LOW_1000BASE_LX: case ICE_PHY_TYPE_LOW_10GBASE_SR: case ICE_PHY_TYPE_LOW_10GBASE_LR: - case ICE_PHY_TYPE_LOW_10G_SFI_C2C: case ICE_PHY_TYPE_LOW_25GBASE_SR: case ICE_PHY_TYPE_LOW_25GBASE_LR: case ICE_PHY_TYPE_LOW_40GBASE_SR4: @@ -275,6 +274,7 @@ static enum ice_media_type ice_get_media_type(struct ice_port_info *pi) case ICE_PHY_TYPE_LOW_2500BASE_X: case ICE_PHY_TYPE_LOW_5GBASE_KR: case ICE_PHY_TYPE_LOW_10GBASE_KR_CR1: + case ICE_PHY_TYPE_LOW_10G_SFI_C2C: case ICE_PHY_TYPE_LOW_25GBASE_KR: case ICE_PHY_TYPE_LOW_25GBASE_KR1: case ICE_PHY_TYPE_LOW_25GBASE_KR_S: -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.499429063 +0100 +++ 0020-net-ice-base-fix-media-type-of-PHY-10G-SFI-C2C.patch 2022-11-11 12:35:04.753191952 +0100 @@ -1 +1 @@ -From ef12579699a3b03bc1c66e05be0d1a73a6ae8ce9 Mon Sep 17 00:00:00 2001 +From b9fcd7aaa000841cfde6d11ecff39c17ceab9284 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit ef12579699a3b03bc1c66e05be0d1a73a6ae8ce9 ] + @@ -14 +15,0 @@ -Cc: stable@dpdk.org @@ -24 +25 @@ -index cedce2dcf5..57602a31e1 100644 +index 2926a1d474..9dad1c9b3a 100644 @@ -27 +28 @@ -@@ -561,7 +561,6 @@ static enum ice_media_type ice_get_media_type(struct ice_port_info *pi) +@@ -227,7 +227,6 @@ static enum ice_media_type ice_get_media_type(struct ice_port_info *pi) @@ -35 +36 @@ -@@ -618,6 +617,7 @@ static enum ice_media_type ice_get_media_type(struct ice_port_info *pi) +@@ -275,6 +274,7 @@ static enum ice_media_type ice_get_media_type(struct ice_port_info *pi) ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'net/ice/base: fix array overflow in add switch recipe' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (18 preceding siblings ...) 2022-11-11 11:38 ` patch 'net/ice/base: fix media type of PHY 10G SFI C2C' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'net/virtio: fix crash when configured twice' " christian.ehrhardt ` (25 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Qi Zhang; +Cc: Jesse Brandeburg, Qiming Yang, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/542536e5f11a7a81f0291a4859a01cf1aadbe58f Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 542536e5f11a7a81f0291a4859a01cf1aadbe58f Mon Sep 17 00:00:00 2001 From: Qi Zhang <qi.z.zhang@intel.com> Date: Mon, 15 Aug 2022 03:31:25 -0400 Subject: [PATCH] net/ice/base: fix array overflow in add switch recipe [ upstream commit 289b2846c187aa061c13d6a499d0321f581390a5 ] The array indexes in this function are used with a zero index in the fv_idx table, and with a +1 index in the lkup_idx arrays. The code was using the lookup index for the field vector in only one place in this function, but the code was never used after this point so just remove the bad line. This was caught by the undefined behavior sanitizer. Fixes: fed0c5ca5f19 ("net/ice/base: support programming a new switch recipe") Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com> Signed-off-by: Qi Zhang <qi.z.zhang@intel.com> Acked-by: Qiming Yang <qiming.yang@intel.com> --- drivers/net/ice/base/ice_switch.c | 1 - 1 file changed, 1 deletion(-) diff --git a/drivers/net/ice/base/ice_switch.c b/drivers/net/ice/base/ice_switch.c index 6899502a93..5fe6e9ea69 100644 --- a/drivers/net/ice/base/ice_switch.c +++ b/drivers/net/ice/base/ice_switch.c @@ -5199,7 +5199,6 @@ ice_add_sw_recipe(struct ice_hw *hw, struct ice_sw_recipe *rm, last_chain_entry->chain_idx = ICE_INVAL_CHAIN_IND; LIST_FOR_EACH_ENTRY(entry, &rm->rg_list, ice_recp_grp_entry, l_entry) { - last_chain_entry->fv_idx[i] = entry->chain_idx; buf[recps].content.lkup_indx[i] = entry->chain_idx; buf[recps].content.mask[i++] = CPU_TO_LE16(0xFFFF); ice_set_bit(entry->rid, rm->r_bitmap); -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.537618698 +0100 +++ 0021-net-ice-base-fix-array-overflow-in-add-switch-recipe.patch 2022-11-11 12:35:04.757191974 +0100 @@ -1 +1 @@ -From 289b2846c187aa061c13d6a499d0321f581390a5 Mon Sep 17 00:00:00 2001 +From 542536e5f11a7a81f0291a4859a01cf1aadbe58f Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 289b2846c187aa061c13d6a499d0321f581390a5 ] + @@ -15 +16,0 @@ -Cc: stable@dpdk.org @@ -25 +26 @@ -index e59d191c46..b8e733f539 100644 +index 6899502a93..5fe6e9ea69 100644 @@ -28 +29 @@ -@@ -7315,7 +7315,6 @@ ice_add_sw_recipe(struct ice_hw *hw, struct ice_sw_recipe *rm, +@@ -5199,7 +5199,6 @@ ice_add_sw_recipe(struct ice_hw *hw, struct ice_sw_recipe *rm, ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'net/virtio: fix crash when configured twice' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (19 preceding siblings ...) 2022-11-11 11:38 ` patch 'net/ice/base: fix array overflow in add switch recipe' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'net/mlx4: fix Verbs FD leak in secondary process' " christian.ehrhardt ` (24 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Alexander Chernavin; +Cc: Chenbo Xia, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/03a6d4d8daa763a4f21746efdaf3aa1b124ee9ef Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 03a6d4d8daa763a4f21746efdaf3aa1b124ee9ef Mon Sep 17 00:00:00 2001 From: Alexander Chernavin <achernavin@netgate.com> Date: Tue, 27 Sep 2022 10:15:04 +0000 Subject: [PATCH] net/virtio: fix crash when configured twice [ upstream commit 52bd03e969e9b38a7357287aece2488c7f92158f ] When first attempt to configure a device with RX interrupt enabled fails for some reason (e.g. because "Multiple intr vector not supported"), second attempt to configure the device with RX interrupt disabled and feature set unchanged will succeed but will leave virtio queues not allocated. Accessing the queues will cause a segfault. First attempt: - virtio_dev_configure() - virtio_init_device() is called to reinit the device because "dev->data->dev_conf.intr_conf.rxq" is "1" - virtio_configure_intr() fails and returns an error - virtio_free_queues() frees previously allocated virtio queues - virtio_init_device() fails and returns an error - virtio_dev_configure() fails and returns an error Second attempt: - virtio_dev_configure() - This time virtio_init_device() is not called, virtio queues are not allocated With this fix, reinit the device during configuration if virtio queues are not allocated. Fixes: 2b38151f745a ("net/virtio: fix queue memory leak on error") Signed-off-by: Alexander Chernavin <achernavin@netgate.com> Reviewed-by: Chenbo Xia <chenbo.xia@intel.com> --- drivers/net/virtio/virtio_ethdev.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c index 4e615d2b4b..7a634189b4 100644 --- a/drivers/net/virtio/virtio_ethdev.c +++ b/drivers/net/virtio/virtio_ethdev.c @@ -2129,6 +2129,13 @@ virtio_dev_configure(struct rte_eth_dev *dev) return ret; } + /* if queues are not allocated, reinit the device */ + if (hw->vqs == NULL) { + ret = virtio_init_device(dev, hw->req_guest_features); + if (ret < 0) + return ret; + } + if ((rx_offloads & (DEV_RX_OFFLOAD_UDP_CKSUM | DEV_RX_OFFLOAD_TCP_CKSUM)) && !vtpci_with_feature(hw, VIRTIO_NET_F_GUEST_CSUM)) { -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.578299390 +0100 +++ 0022-net-virtio-fix-crash-when-configured-twice.patch 2022-11-11 12:35:04.761191997 +0100 @@ -1 +1 @@ -From 52bd03e969e9b38a7357287aece2488c7f92158f Mon Sep 17 00:00:00 2001 +From 03a6d4d8daa763a4f21746efdaf3aa1b124ee9ef Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 52bd03e969e9b38a7357287aece2488c7f92158f ] + @@ -30 +31,0 @@ -Cc: stable@dpdk.org @@ -39 +40 @@ -index 7e07270a8b..574f671158 100644 +index 4e615d2b4b..7a634189b4 100644 @@ -42 +43 @@ -@@ -2617,6 +2617,13 @@ virtio_dev_configure(struct rte_eth_dev *dev) +@@ -2129,6 +2129,13 @@ virtio_dev_configure(struct rte_eth_dev *dev) @@ -53,3 +54,3 @@ - if ((rxmode->mq_mode & RTE_ETH_MQ_RX_RSS_FLAG) && - !virtio_with_feature(hw, VIRTIO_NET_F_RSS)) { - PMD_DRV_LOG(ERR, "RSS support requested but not supported by the device"); + if ((rx_offloads & (DEV_RX_OFFLOAD_UDP_CKSUM | + DEV_RX_OFFLOAD_TCP_CKSUM)) && + !vtpci_with_feature(hw, VIRTIO_NET_F_GUEST_CSUM)) { ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'net/mlx4: fix Verbs FD leak in secondary process' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (20 preceding siblings ...) 2022-11-11 11:38 ` patch 'net/virtio: fix crash when configured twice' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'net/mlx5: fix meter profile delete after disable' " christian.ehrhardt ` (23 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Long Li; +Cc: Viacheslav Ovsiienko, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/10485ca54510fd486c40207e891070e47efcea36 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 10485ca54510fd486c40207e891070e47efcea36 Mon Sep 17 00:00:00 2001 From: Long Li <longli@microsoft.com> Date: Wed, 6 Jul 2022 10:48:52 -0700 Subject: [PATCH] net/mlx4: fix Verbs FD leak in secondary process [ upstream commit ff9c3548c05b356753a4f53bc945c625263c1ee9 ] FDs passed from rte_mp_msg are duplicated to the secondary process and need to be closed. Fixes: 0203d33a10 ("net/mlx4: support secondary process") Signed-off-by: Long Li <longli@microsoft.com> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com> --- drivers/net/mlx4/mlx4.c | 9 ++++++--- drivers/net/mlx4/mlx4_mp.c | 7 ++++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c index 8397f408f4..ec607c8770 100644 --- a/drivers/net/mlx4/mlx4.c +++ b/drivers/net/mlx4/mlx4.c @@ -880,6 +880,8 @@ mlx4_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev) snprintf(name, sizeof(name), "%s port %u", mlx4_glue->get_device_name(ibv_dev), port); if (rte_eal_process_type() == RTE_PROC_SECONDARY) { + int fd; + eth_dev = rte_eth_dev_attach_secondary(name); if (eth_dev == NULL) { ERROR("can not attach rte ethdev"); @@ -902,13 +904,14 @@ mlx4_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev) if (err) goto err_secondary; /* Receive command fd from primary process. */ - err = mlx4_mp_req_verbs_cmd_fd(eth_dev); - if (err < 0) { + fd = mlx4_mp_req_verbs_cmd_fd(eth_dev); + if (fd < 0) { err = rte_errno; goto err_secondary; } /* Remap UAR for Tx queues. */ - err = mlx4_tx_uar_init_secondary(eth_dev, err); + err = mlx4_tx_uar_init_secondary(eth_dev, fd); + close(fd); if (err) { err = rte_errno; goto err_secondary; diff --git a/drivers/net/mlx4/mlx4_mp.c b/drivers/net/mlx4/mlx4_mp.c index 1e9b4de500..32369e81e4 100644 --- a/drivers/net/mlx4/mlx4_mp.c +++ b/drivers/net/mlx4/mlx4_mp.c @@ -6,6 +6,7 @@ #include <assert.h> #include <stdio.h> #include <time.h> +#include <unistd.h> #include <rte_eal.h> #include <rte_ethdev_driver.h> @@ -135,15 +136,19 @@ mp_secondary_handle(const struct rte_mp_msg *mp_msg, const void *peer) mlx4_tx_uar_uninit_secondary(dev); mlx4_proc_priv_uninit(dev); ret = mlx4_proc_priv_init(dev); - if (ret) + if (ret) { + close(mp_msg->fds[0]); return -rte_errno; + } ret = mlx4_tx_uar_init_secondary(dev, mp_msg->fds[0]); if (ret) { + close(mp_msg->fds[0]); mlx4_proc_priv_uninit(dev); return -rte_errno; } } #endif + close(mp_msg->fds[0]); rte_mb(); mp_init_msg(dev, &mp_res, param->type); res->result = 0; -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.613617706 +0100 +++ 0023-net-mlx4-fix-Verbs-FD-leak-in-secondary-process.patch 2022-11-11 12:35:04.765192018 +0100 @@ -1 +1 @@ -From ff9c3548c05b356753a4f53bc945c625263c1ee9 Mon Sep 17 00:00:00 2001 +From 10485ca54510fd486c40207e891070e47efcea36 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit ff9c3548c05b356753a4f53bc945c625263c1ee9 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -20 +21 @@ -index 7e7e1824ef..a54016f4a2 100644 +index 8397f408f4..ec607c8770 100644 @@ -23 +24 @@ -@@ -877,6 +877,8 @@ mlx4_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev) +@@ -880,6 +880,8 @@ mlx4_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev) @@ -32 +33 @@ -@@ -899,13 +901,14 @@ mlx4_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev) +@@ -902,13 +904,14 @@ mlx4_pci_probe(struct rte_pci_driver *pci_drv, struct rte_pci_device *pci_dev) @@ -51 +52 @@ -index 3282afceda..534cb31151 100644 +index 1e9b4de500..32369e81e4 100644 @@ -54,0 +56 @@ + #include <assert.h> @@ -56 +57,0 @@ - #include <stdlib.h> @@ -61 +62 @@ - #include <ethdev_driver.h> + #include <rte_ethdev_driver.h> ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'net/mlx5: fix meter profile delete after disable' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (21 preceding siblings ...) 2022-11-11 11:38 ` patch 'net/mlx4: fix Verbs FD leak in secondary process' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'net/ice: check illegal packet sizes' " christian.ehrhardt ` (22 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Shun Hao; +Cc: Matan Azrad, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/b77ca4fb51acaca866310d227eadb423f5b89faf Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From b77ca4fb51acaca866310d227eadb423f5b89faf Mon Sep 17 00:00:00 2001 From: Shun Hao <shunh@nvidia.com> Date: Sun, 18 Sep 2022 03:58:02 +0300 Subject: [PATCH] net/mlx5: fix meter profile delete after disable [ upstream commit 9b7fcf395cd9f92e45bb322f983a3b9ead0d47e7 ] If a meter's profile is changed after meter disabled, there's an issue that will fail when deleting the old profile. This patch fixes this by adding the correct process to decrease the old profile's reference count when changing profile. Fixes: 63ffeb2ff2 ("net/mlx5: support meter profile update") Signed-off-by: Shun Hao <shunh@nvidia.com> Acked-by: Matan Azrad <matan@nvidia.com> --- drivers/net/mlx5/mlx5_flow_meter.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/mlx5/mlx5_flow_meter.c b/drivers/net/mlx5/mlx5_flow_meter.c index e51a85b477..f38dd2c357 100644 --- a/drivers/net/mlx5/mlx5_flow_meter.c +++ b/drivers/net/mlx5/mlx5_flow_meter.c @@ -935,7 +935,7 @@ mlx5_flow_meter_profile_update(struct rte_eth_dev *dev, fm->profile = fmp; /* Update meter params in HW (if not disabled). */ if (fm->active_state == MLX5_FLOW_METER_DISABLE) - return 0; + goto dec_ref_cnt; ret = mlx5_flow_meter_action_modify(priv, fm, &fm->profile->srtcm_prm, modify_bits, fm->active_state); if (ret) { @@ -945,6 +945,7 @@ mlx5_flow_meter_profile_update(struct rte_eth_dev *dev, NULL, "Failed to update meter" " parmeters in hardware."); } +dec_ref_cnt: old_fmp->ref_cnt--; fmp->ref_cnt++; return 0; -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.648731460 +0100 +++ 0024-net-mlx5-fix-meter-profile-delete-after-disable.patch 2022-11-11 12:35:04.765192018 +0100 @@ -1 +1 @@ -From 9b7fcf395cd9f92e45bb322f983a3b9ead0d47e7 Mon Sep 17 00:00:00 2001 +From b77ca4fb51acaca866310d227eadb423f5b89faf Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 9b7fcf395cd9f92e45bb322f983a3b9ead0d47e7 ] + @@ -13 +14,0 @@ -Cc: stable@dpdk.org @@ -22 +23 @@ -index 7c0d84907a..d4aafe4eea 100644 +index e51a85b477..f38dd2c357 100644 @@ -25 +26 @@ -@@ -1656,7 +1656,7 @@ mlx5_flow_meter_profile_update(struct rte_eth_dev *dev, +@@ -935,7 +935,7 @@ mlx5_flow_meter_profile_update(struct rte_eth_dev *dev, @@ -32 +33 @@ - modify_bits, fm->active_state, 1); + modify_bits, fm->active_state); @@ -34 +35 @@ -@@ -1666,6 +1666,7 @@ mlx5_flow_meter_profile_update(struct rte_eth_dev *dev, +@@ -945,6 +945,7 @@ mlx5_flow_meter_profile_update(struct rte_eth_dev *dev, @@ -36 +37 @@ - " parameters in hardware."); + " parmeters in hardware."); ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'net/ice: check illegal packet sizes' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (22 preceding siblings ...) 2022-11-11 11:38 ` patch 'net/mlx5: fix meter profile delete after disable' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'common/sfc_efx/base: fix maximum Tx data count' " christian.ehrhardt ` (21 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Kevin Liu; +Cc: Qi Zhang, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/2ed40158257f2739a69b7689d7f24b5ce79a7a9a Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 2ed40158257f2739a69b7689d7f24b5ce79a7a9a Mon Sep 17 00:00:00 2001 From: Kevin Liu <kevinx.liu@intel.com> Date: Tue, 27 Sep 2022 07:15:22 +0000 Subject: [PATCH] net/ice: check illegal packet sizes [ upstream commit ccf33dccf7aaf208ef67ed7b8ef45d05bce5e3a5 ] If the length of data_len in mbuf is less than 17 or greater than the maximum frame size, it is illegal. These illegal packets will lead to Tx/Rx hang and can't recover automatically. This patch check those illegal packets and protect Tx/Rx from hanging. Fixes: 17c7d0f9d6a4 ("net/ice: support basic Rx/Tx") Signed-off-by: Kevin Liu <kevinx.liu@intel.com> Acked-by: Qi Zhang <qi.z.zhang@intel.com> --- drivers/net/ice/ice_rxtx.c | 11 +++++++++++ drivers/net/ice/ice_rxtx.h | 2 ++ 2 files changed, 13 insertions(+) diff --git a/drivers/net/ice/ice_rxtx.c b/drivers/net/ice/ice_rxtx.c index 53f336e85e..f97d93a78d 100644 --- a/drivers/net/ice/ice_rxtx.c +++ b/drivers/net/ice/ice_rxtx.c @@ -2955,6 +2955,9 @@ ice_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts, int i, ret; uint64_t ol_flags; struct rte_mbuf *m; + struct ice_tx_queue *txq = tx_queue; + struct rte_eth_dev *dev = &rte_eth_devices[txq->port_id]; + uint16_t max_frame_size = dev->data->mtu + ICE_ETH_OVERHEAD; for (i = 0; i < nb_pkts; i++) { m = tx_pkts[i]; @@ -2971,6 +2974,14 @@ ice_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts, return i; } + /* check the data_len in mbuf */ + if (m->data_len < ICE_TX_MIN_PKT_LEN || + m->data_len > max_frame_size) { + rte_errno = EINVAL; + PMD_DRV_LOG(ERR, "INVALID mbuf: bad data_len=[%hu]", m->data_len); + return i; + } + #ifdef RTE_LIBRTE_ETHDEV_DEBUG ret = rte_validate_tx_offload(m); if (ret != 0) { diff --git a/drivers/net/ice/ice_rxtx.h b/drivers/net/ice/ice_rxtx.h index 16fd9cbaf9..54117bcb4b 100644 --- a/drivers/net/ice/ice_rxtx.h +++ b/drivers/net/ice/ice_rxtx.h @@ -38,6 +38,8 @@ #define ICE_FDIR_PKT_LEN 512 +#define ICE_TX_MIN_PKT_LEN 17 + typedef void (*ice_rx_release_mbufs_t)(struct ice_rx_queue *rxq); typedef void (*ice_tx_release_mbufs_t)(struct ice_tx_queue *txq); -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.683251410 +0100 +++ 0025-net-ice-check-illegal-packet-sizes.patch 2022-11-11 12:35:04.769192040 +0100 @@ -1 +1 @@ -From ccf33dccf7aaf208ef67ed7b8ef45d05bce5e3a5 Mon Sep 17 00:00:00 2001 +From 2ed40158257f2739a69b7689d7f24b5ce79a7a9a Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit ccf33dccf7aaf208ef67ed7b8ef45d05bce5e3a5 ] + @@ -16 +17,0 @@ -Cc: stable@dpdk.org @@ -26 +27 @@ -index 5af7c0c8f6..d1e1fadf9d 100644 +index 53f336e85e..f97d93a78d 100644 @@ -29 +30 @@ -@@ -3442,6 +3442,9 @@ ice_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts, +@@ -2955,6 +2955,9 @@ ice_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts, @@ -39 +40 @@ -@@ -3458,6 +3461,14 @@ ice_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts, +@@ -2971,6 +2974,14 @@ ice_prep_pkts(__rte_unused void *tx_queue, struct rte_mbuf **tx_pkts, @@ -51 +52 @@ - #ifdef RTE_ETHDEV_DEBUG_TX + #ifdef RTE_LIBRTE_ETHDEV_DEBUG @@ -55 +56 @@ -index 6c08c175dc..e1d4fe8e47 100644 +index 16fd9cbaf9..54117bcb4b 100644 @@ -58 +59 @@ -@@ -40,6 +40,8 @@ +@@ -38,6 +38,8 @@ @@ -60 +61 @@ - #define ICE_RXDID_COMMS_OVS 22 + #define ICE_FDIR_PKT_LEN 512 @@ -64,2 +65,2 @@ - extern uint64_t ice_timestamp_dynflag; - extern int ice_timestamp_dynfield_offset; + typedef void (*ice_rx_release_mbufs_t)(struct ice_rx_queue *rxq); + typedef void (*ice_tx_release_mbufs_t)(struct ice_tx_queue *txq); ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'common/sfc_efx/base: fix maximum Tx data count' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (23 preceding siblings ...) 2022-11-11 11:38 ` patch 'net/ice: check illegal packet sizes' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'examples/vm_power_manager: use safe list iterator' " christian.ehrhardt ` (20 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Ivan Malov; +Cc: Andrew Rybchenko, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/ce133425516f71194faeef70fa9b0c0feae387b0 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From ce133425516f71194faeef70fa9b0c0feae387b0 Mon Sep 17 00:00:00 2001 From: Ivan Malov <ivan.malov@oktetlabs.ru> Date: Fri, 12 Aug 2022 15:24:52 +0300 Subject: [PATCH] common/sfc_efx/base: fix maximum Tx data count [ upstream commit 79b0c1926137690d680dec1b96b7a03279674fb9 ] Maximum data count of a Tx descriptor is advertised to users, however, this value is mistakenly derived from the Rx define. Use the Tx one instead. The resulting value will be the same. Fixes: 1e43fe3cb41e ("net/sfc/base: separate limitations on Tx DMA descriptors") Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> --- drivers/net/sfc/base/ef10_nic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/sfc/base/ef10_nic.c b/drivers/net/sfc/base/ef10_nic.c index 3eb4674c5e..b7eaf1d506 100644 --- a/drivers/net/sfc/base/ef10_nic.c +++ b/drivers/net/sfc/base/ef10_nic.c @@ -1935,7 +1935,7 @@ ef10_nic_board_cfg( /* Alignment for WPTR updates */ encp->enc_rx_push_align = EF10_RX_WPTR_ALIGN; - encp->enc_tx_dma_desc_size_max = EFX_MASK32(ESF_DZ_RX_KER_BYTE_CNT); + encp->enc_tx_dma_desc_size_max = EFX_MASK32(ESF_DZ_TX_KER_BYTE_CNT); /* No boundary crossing limits */ encp->enc_tx_dma_desc_boundary = 0; -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.718106624 +0100 +++ 0026-common-sfc_efx-base-fix-maximum-Tx-data-count.patch 2022-11-11 12:35:04.773192062 +0100 @@ -1 +1 @@ -From 79b0c1926137690d680dec1b96b7a03279674fb9 Mon Sep 17 00:00:00 2001 +From ce133425516f71194faeef70fa9b0c0feae387b0 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 79b0c1926137690d680dec1b96b7a03279674fb9 ] + @@ -11 +12,0 @@ -Cc: stable@dpdk.org @@ -16 +17 @@ - drivers/common/sfc_efx/base/ef10_nic.c | 2 +- + drivers/net/sfc/base/ef10_nic.c | 2 +- @@ -19,5 +20,5 @@ -diff --git a/drivers/common/sfc_efx/base/ef10_nic.c b/drivers/common/sfc_efx/base/ef10_nic.c -index b27fc64210..7bda778f8b 100644 ---- a/drivers/common/sfc_efx/base/ef10_nic.c -+++ b/drivers/common/sfc_efx/base/ef10_nic.c -@@ -2233,7 +2233,7 @@ ef10_nic_board_cfg( +diff --git a/drivers/net/sfc/base/ef10_nic.c b/drivers/net/sfc/base/ef10_nic.c +index 3eb4674c5e..b7eaf1d506 100644 +--- a/drivers/net/sfc/base/ef10_nic.c ++++ b/drivers/net/sfc/base/ef10_nic.c +@@ -1935,7 +1935,7 @@ ef10_nic_board_cfg( ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'examples/vm_power_manager: use safe list iterator' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (24 preceding siblings ...) 2022-11-11 11:38 ` patch 'common/sfc_efx/base: fix maximum Tx data count' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'gro: fix chain index for more than 2 packets' " christian.ehrhardt ` (19 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Hamza Khan; +Cc: Reshma Pattan, David Hunt, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/a244dfa7d784c33b30a06f01aef925bc5ff1372a Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From a244dfa7d784c33b30a06f01aef925bc5ff1372a Mon Sep 17 00:00:00 2001 From: Hamza Khan <hamza.khan@intel.com> Date: Tue, 4 Oct 2022 23:09:04 +0100 Subject: [PATCH] examples/vm_power_manager: use safe list iterator [ upstream commit 9c20d0fdc536df2a320cb1ae6cce49c2c7a02ebb ] Currently, when vm_power_manager exits, we are using a LIST_FOREACH macro to iterate over VM info structures while freeing them. This leads to use-after-free error. To address this, replace all usages of LIST_* with TAILQ_* macros, and use the RTE_TAILQ_FOREACH_SAFE macro to iterate and delete VM info structures. Fixes: e8ae9b662506 ("examples/vm_power: channel manager and monitor in host") Signed-off-by: Hamza Khan <hamza.khan@intel.com> Signed-off-by: Reshma Pattan <reshma.pattan@intel.com> Acked-by: David Hunt <david.hunt@intel.com> --- examples/vm_power_manager/channel_manager.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/examples/vm_power_manager/channel_manager.c b/examples/vm_power_manager/channel_manager.c index 0a28cb643b..5e0bbbb4c9 100644 --- a/examples/vm_power_manager/channel_manager.c +++ b/examples/vm_power_manager/channel_manager.c @@ -23,6 +23,7 @@ #include <rte_log.h> #include <rte_atomic.h> #include <rte_spinlock.h> +#include <rte_tailq.h> #include <libvirt/libvirt.h> @@ -59,16 +60,16 @@ struct virtual_machine_info { virDomainInfo info; rte_spinlock_t config_spinlock; int allow_query; - LIST_ENTRY(virtual_machine_info) vms_info; + RTE_TAILQ_ENTRY(virtual_machine_info) vms_info; }; -LIST_HEAD(, virtual_machine_info) vm_list_head; +RTE_TAILQ_HEAD(, virtual_machine_info) vm_list_head; static struct virtual_machine_info * find_domain_by_name(const char *name) { struct virtual_machine_info *info; - LIST_FOREACH(info, &vm_list_head, vms_info) { + RTE_TAILQ_FOREACH(info, &vm_list_head, vms_info) { if (!strncmp(info->name, name, CHANNEL_MGR_MAX_NAME_LEN-1)) return info; } @@ -877,7 +878,7 @@ add_vm(const char *vm_name) new_domain->allow_query = 0; rte_spinlock_init(&(new_domain->config_spinlock)); - LIST_INSERT_HEAD(&vm_list_head, new_domain, vms_info); + TAILQ_INSERT_HEAD(&vm_list_head, new_domain, vms_info); return 0; } @@ -899,7 +900,7 @@ remove_vm(const char *vm_name) rte_spinlock_unlock(&vm_info->config_spinlock); return -1; } - LIST_REMOVE(vm_info, vms_info); + TAILQ_REMOVE(&vm_list_head, vm_info, vms_info); rte_spinlock_unlock(&vm_info->config_spinlock); rte_free(vm_info); return 0; @@ -952,7 +953,7 @@ channel_manager_init(const char *path __rte_unused) { virNodeInfo info; - LIST_INIT(&vm_list_head); + TAILQ_INIT(&vm_list_head); if (connect_hypervisor(path) < 0) { global_n_host_cpus = 64; global_hypervisor_available = 0; @@ -1004,9 +1005,9 @@ channel_manager_exit(void) { unsigned i; char mask[RTE_MAX_LCORE]; - struct virtual_machine_info *vm_info; + struct virtual_machine_info *vm_info, *tmp; - LIST_FOREACH(vm_info, &vm_list_head, vms_info) { + RTE_TAILQ_FOREACH_SAFE(vm_info, &vm_list_head, vms_info, tmp) { rte_spinlock_lock(&(vm_info->config_spinlock)); @@ -1021,7 +1022,7 @@ channel_manager_exit(void) } rte_spinlock_unlock(&(vm_info->config_spinlock)); - LIST_REMOVE(vm_info, vms_info); + TAILQ_REMOVE(&vm_list_head, vm_info, vms_info); rte_free(vm_info); } -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.751732626 +0100 +++ 0027-examples-vm_power_manager-use-safe-list-iterator.patch 2022-11-11 12:35:04.773192062 +0100 @@ -1 +1 @@ -From 9c20d0fdc536df2a320cb1ae6cce49c2c7a02ebb Mon Sep 17 00:00:00 2001 +From a244dfa7d784c33b30a06f01aef925bc5ff1372a Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 9c20d0fdc536df2a320cb1ae6cce49c2c7a02ebb ] + @@ -13 +14,0 @@ -Cc: stable@dpdk.org @@ -23 +24 @@ -index 838465ab4b..7d7efdd05a 100644 +index 0a28cb643b..5e0bbbb4c9 100644 @@ -26,2 +27 @@ -@@ -22,6 +22,7 @@ - #include <rte_mempool.h> +@@ -23,6 +23,7 @@ @@ -28,0 +29 @@ + #include <rte_atomic.h> @@ -34 +35 @@ -@@ -58,16 +59,16 @@ struct virtual_machine_info { +@@ -59,16 +60,16 @@ struct virtual_machine_info { @@ -54 +55 @@ -@@ -878,7 +879,7 @@ add_vm(const char *vm_name) +@@ -877,7 +878,7 @@ add_vm(const char *vm_name) @@ -63 +64 @@ -@@ -900,7 +901,7 @@ remove_vm(const char *vm_name) +@@ -899,7 +900,7 @@ remove_vm(const char *vm_name) @@ -72 +73 @@ -@@ -953,7 +954,7 @@ channel_manager_init(const char *path __rte_unused) +@@ -952,7 +953,7 @@ channel_manager_init(const char *path __rte_unused) @@ -81 +82 @@ -@@ -1005,9 +1006,9 @@ channel_manager_exit(void) +@@ -1004,9 +1005,9 @@ channel_manager_exit(void) @@ -93 +94 @@ -@@ -1022,7 +1023,7 @@ channel_manager_exit(void) +@@ -1021,7 +1022,7 @@ channel_manager_exit(void) ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'gro: fix chain index for more than 2 packets' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (25 preceding siblings ...) 2022-11-11 11:38 ` patch 'examples/vm_power_manager: use safe list iterator' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'timer: fix stopping all timers' " christian.ehrhardt ` (18 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Kumara Parameshwaran; +Cc: Jiayu Hu, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/3f705a2a4a38f6566c232664a4660fdd35e3cead Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 3f705a2a4a38f6566c232664a4660fdd35e3cead Mon Sep 17 00:00:00 2001 From: Kumara Parameshwaran <kumaraparamesh92@gmail.com> Date: Wed, 7 Sep 2022 15:02:05 +0530 Subject: [PATCH] gro: fix chain index for more than 2 packets [ upstream commit bc4a7f7ee0281d96b8d93ac2771135a670b4a00f ] When more than two packets are merged in a flow, and if we receive a 3rd packet which is matching the sequence of the 2nd packet the prev_idx will be 1 and not 2, hence resulting in packet re-ordering Signed-off-by: Kumara Parameshwaran <kumaraparamesh92@gmail.com> Acked-by: Jiayu Hu <jiayu.hu@intel.com> --- lib/librte_gro/gro_tcp4.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_gro/gro_tcp4.c b/lib/librte_gro/gro_tcp4.c index feb5855144..5f3b3a82ce 100644 --- a/lib/librte_gro/gro_tcp4.c +++ b/lib/librte_gro/gro_tcp4.c @@ -306,7 +306,7 @@ gro_tcp4_reassemble(struct rte_mbuf *pkt, * length is greater than the max value. Store * the packet into the flow. */ - if (insert_new_item(tbl, pkt, start_time, prev_idx, + if (insert_new_item(tbl, pkt, start_time, cur_idx, sent_seq, ip_id, is_atomic) == INVALID_ARRAY_INDEX) return -1; -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.783295786 +0100 +++ 0028-gro-fix-chain-index-for-more-than-2-packets.patch 2022-11-11 12:35:04.773192062 +0100 @@ -1 +1 @@ -From bc4a7f7ee0281d96b8d93ac2771135a670b4a00f Mon Sep 17 00:00:00 2001 +From 3f705a2a4a38f6566c232664a4660fdd35e3cead Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit bc4a7f7ee0281d96b8d93ac2771135a670b4a00f ] + @@ -13 +15 @@ - lib/gro/gro_tcp4.c | 2 +- + lib/librte_gro/gro_tcp4.c | 2 +- @@ -16,5 +18,5 @@ -diff --git a/lib/gro/gro_tcp4.c b/lib/gro/gro_tcp4.c -index 7498c66141..9758e28fd5 100644 ---- a/lib/gro/gro_tcp4.c -+++ b/lib/gro/gro_tcp4.c -@@ -305,7 +305,7 @@ gro_tcp4_reassemble(struct rte_mbuf *pkt, +diff --git a/lib/librte_gro/gro_tcp4.c b/lib/librte_gro/gro_tcp4.c +index feb5855144..5f3b3a82ce 100644 +--- a/lib/librte_gro/gro_tcp4.c ++++ b/lib/librte_gro/gro_tcp4.c +@@ -306,7 +306,7 @@ gro_tcp4_reassemble(struct rte_mbuf *pkt, ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'timer: fix stopping all timers' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (26 preceding siblings ...) 2022-11-11 11:38 ` patch 'gro: fix chain index for more than 2 packets' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'net/qede/base: fix 32-bit build with GCC 12' " christian.ehrhardt ` (17 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Naga Harish K S V; +Cc: Erik Gabriel Carrillo, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/5915ced554f186a3e9397ca32c368a7535ef4adb Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 5915ced554f186a3e9397ca32c368a7535ef4adb Mon Sep 17 00:00:00 2001 From: Naga Harish K S V <s.v.naga.harish.k@intel.com> Date: Wed, 14 Sep 2022 10:33:18 -0500 Subject: [PATCH] timer: fix stopping all timers [ upstream commit eb63c85d7bae32fdc1cbafcd91e88bd6515c39cf ] There is a possibility of deadlock in this API, as same spinlock is tried to be acquired in nested manner. If the lcore that is stopping the timer is different from the lcore that owns the timer, the timer list lock is acquired in timer_del(), even if local_is_locked is true. Because the same lock was already acquired in rte_timer_stop_all(), the thread will hang. This patch removes the acquisition of nested lock. Fixes: 821c51267bcd63a ("timer: add function to stop all timers in a list") Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com> Acked-by: Erik Gabriel Carrillo <erik.g.carrillo@intel.com> --- lib/librte_timer/rte_timer.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/lib/librte_timer/rte_timer.c b/lib/librte_timer/rte_timer.c index 99862a3ba1..7ea27f9878 100644 --- a/lib/librte_timer/rte_timer.c +++ b/lib/librte_timer/rte_timer.c @@ -573,7 +573,7 @@ rte_timer_reset_sync(struct rte_timer *tim, uint64_t ticks, } static int -__rte_timer_stop(struct rte_timer *tim, int local_is_locked, +__rte_timer_stop(struct rte_timer *tim, struct rte_timer_data *timer_data) { union rte_timer_status prev_status, status; @@ -595,7 +595,7 @@ __rte_timer_stop(struct rte_timer *tim, int local_is_locked, /* remove it from list */ if (prev_status.state == RTE_TIMER_PENDING) { - timer_del(tim, prev_status, local_is_locked, priv_timer); + timer_del(tim, prev_status, 0, priv_timer); __TIMER_STAT_ADD(priv_timer, pending, -1); } @@ -622,7 +622,7 @@ rte_timer_alt_stop(uint32_t timer_data_id, struct rte_timer *tim) TIMER_DATA_VALID_GET_OR_ERR_RET(timer_data_id, timer_data, -EINVAL); - return __rte_timer_stop(tim, 0, timer_data); + return __rte_timer_stop(tim, timer_data); } /* loop until rte_timer_stop() succeed */ @@ -961,21 +961,16 @@ rte_timer_stop_all(uint32_t timer_data_id, unsigned int *walk_lcores, walk_lcore = walk_lcores[i]; priv_timer = &timer_data->priv_timer[walk_lcore]; - rte_spinlock_lock(&priv_timer->list_lock); - for (tim = priv_timer->pending_head.sl_next[0]; tim != NULL; tim = next_tim) { next_tim = tim->sl_next[0]; - /* Call timer_stop with lock held */ - __rte_timer_stop(tim, 1, timer_data); + __rte_timer_stop(tim, timer_data); if (f) f(tim, f_arg); } - - rte_spinlock_unlock(&priv_timer->list_lock); } return 0; -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.814217310 +0100 +++ 0029-timer-fix-stopping-all-timers.patch 2022-11-11 12:35:04.773192062 +0100 @@ -1 +1 @@ -From eb63c85d7bae32fdc1cbafcd91e88bd6515c39cf Mon Sep 17 00:00:00 2001 +From 5915ced554f186a3e9397ca32c368a7535ef4adb Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit eb63c85d7bae32fdc1cbafcd91e88bd6515c39cf ] + @@ -17 +18,0 @@ -Cc: stable@dpdk.org @@ -22 +23 @@ - lib/timer/rte_timer.c | 13 ++++--------- + lib/librte_timer/rte_timer.c | 13 ++++--------- @@ -25,5 +26,5 @@ -diff --git a/lib/timer/rte_timer.c b/lib/timer/rte_timer.c -index 9994813d0d..85d67573eb 100644 ---- a/lib/timer/rte_timer.c -+++ b/lib/timer/rte_timer.c -@@ -580,7 +580,7 @@ rte_timer_reset_sync(struct rte_timer *tim, uint64_t ticks, +diff --git a/lib/librte_timer/rte_timer.c b/lib/librte_timer/rte_timer.c +index 99862a3ba1..7ea27f9878 100644 +--- a/lib/librte_timer/rte_timer.c ++++ b/lib/librte_timer/rte_timer.c +@@ -573,7 +573,7 @@ rte_timer_reset_sync(struct rte_timer *tim, uint64_t ticks, @@ -38 +39 @@ -@@ -602,7 +602,7 @@ __rte_timer_stop(struct rte_timer *tim, int local_is_locked, +@@ -595,7 +595,7 @@ __rte_timer_stop(struct rte_timer *tim, int local_is_locked, @@ -47 +48 @@ -@@ -631,7 +631,7 @@ rte_timer_alt_stop(uint32_t timer_data_id, struct rte_timer *tim) +@@ -622,7 +622,7 @@ rte_timer_alt_stop(uint32_t timer_data_id, struct rte_timer *tim) @@ -56 +57 @@ -@@ -987,21 +987,16 @@ rte_timer_stop_all(uint32_t timer_data_id, unsigned int *walk_lcores, +@@ -961,21 +961,16 @@ rte_timer_stop_all(uint32_t timer_data_id, unsigned int *walk_lcores, ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'net/qede/base: fix 32-bit build with GCC 12' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (27 preceding siblings ...) 2022-11-11 11:38 ` patch 'timer: fix stopping all timers' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'net/tap: fix overflow of network interface index' " christian.ehrhardt ` (16 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Amit Prakash Shukla; +Cc: Thomas Monjalon, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/8f270efdacb9b579514fa2493689cc11f45d1f5f Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 8f270efdacb9b579514fa2493689cc11f45d1f5f Mon Sep 17 00:00:00 2001 From: Amit Prakash Shukla <amitprakashs@marvell.com> Date: Wed, 24 Aug 2022 19:33:39 +0530 Subject: [PATCH] net/qede/base: fix 32-bit build with GCC 12 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit acc0ed087cd1ce6464f63489ab17eca52b0c94b2 ] A pointer is passed to a macro and it seems mistakenly referenced. This issue is seen only when compiling with GCC 12 for 32-bit: drivers/net/qede/base/ecore_init_fw_funcs.c:1418:25: error: array subscript 1 is outside array bounds of ‘u32[1]’ {aka ‘unsigned int[1]’} [-Werror=array-bounds] 1418 | ecore_wr(dev, ptt, ((addr) + (4 * i)), \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1419 | ((u32 *)&(arr))[i]); \ | ~~~~~~~~~~~~~~~~~~~ drivers/net/qede/base/ecore_init_fw_funcs.c:1465:17: note: in expansion of macro ‘ARR_REG_WR’ 1465 | ARR_REG_WR(p_hwfn, p_ptt, addr, pData, len_in_dwords); | ^~~~~~~~~~ drivers/net/qede/base/ecore_init_fw_funcs.c:1439:35: note: at offset 4 into object ‘pData’ of size 4 1439 | u32 *pData, | ~~~~~^~~~~ Fixes: 3b307c55f2ac ("net/qede/base: update FW to 8.40.25.0") Signed-off-by: Amit Prakash Shukla <amitprakashs@marvell.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> --- drivers/net/qede/base/ecore_init_fw_funcs.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/qede/base/ecore_init_fw_funcs.c b/drivers/net/qede/base/ecore_init_fw_funcs.c index 6a52f32cc9..4e4d1dc374 100644 --- a/drivers/net/qede/base/ecore_init_fw_funcs.c +++ b/drivers/net/qede/base/ecore_init_fw_funcs.c @@ -1416,7 +1416,7 @@ void ecore_init_brb_ram(struct ecore_hwfn *p_hwfn, u32 i; \ for (i = 0; i < (arr_size); i++) \ ecore_wr(dev, ptt, ((addr) + (4 * i)), \ - ((u32 *)&(arr))[i]); \ + ((u32 *)(arr))[i]); \ } while (0) #ifndef DWORDS_TO_BYTES -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.845499319 +0100 +++ 0030-net-qede-base-fix-32-bit-build-with-GCC-12.patch 2022-11-11 12:35:04.777192084 +0100 @@ -1 +1 @@ -From acc0ed087cd1ce6464f63489ab17eca52b0c94b2 Mon Sep 17 00:00:00 2001 +From 8f270efdacb9b579514fa2493689cc11f45d1f5f Mon Sep 17 00:00:00 2001 @@ -8,0 +9,2 @@ +[ upstream commit acc0ed087cd1ce6464f63489ab17eca52b0c94b2 ] + @@ -29 +30,0 @@ -Cc: stable@dpdk.org ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'net/tap: fix overflow of network interface index' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (28 preceding siblings ...) 2022-11-11 11:38 ` patch 'net/qede/base: fix 32-bit build with GCC 12' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'net/memif: fix crash with different number of Rx/Tx queues' " christian.ehrhardt ` (15 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Alex Kiselev; +Cc: Stephen Hemminger, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/698a77fccfe015bcd716f23966af593d4d461ed8 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 698a77fccfe015bcd716f23966af593d4d461ed8 Mon Sep 17 00:00:00 2001 From: Alex Kiselev <alex@bisonrouter.com> Date: Thu, 21 Jul 2022 11:13:01 +0000 Subject: [PATCH] net/tap: fix overflow of network interface index [ upstream commit 8772bbfa717fdf3251b32ea48bdd21ddd6836dde ] On Linux and most other systems, network interface index is a 32-bit integer. Indexes overflowing the 16-bit integer are frequently seen when used inside a Docker container. Fixes: 7c25284e30c2 ("net/tap: add netlink back-end for flow API") Fixes: 2bc06869cd94 ("net/tap: add remote netdevice traffic capture") Signed-off-by: Alex Kiselev <alex@bisonrouter.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> --- drivers/net/tap/tap_flow.c | 2 +- drivers/net/tap/tap_tcmsgs.c | 18 +++++++++--------- drivers/net/tap/tap_tcmsgs.h | 16 ++++++++-------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/drivers/net/tap/tap_flow.c b/drivers/net/tap/tap_flow.c index 2e471832b5..f5c9ffbd84 100644 --- a/drivers/net/tap/tap_flow.c +++ b/drivers/net/tap/tap_flow.c @@ -1684,7 +1684,7 @@ int tap_flow_implicit_create(struct pmd_internals *pmd, struct rte_flow_item *items = implicit_rte_flows[idx].items; struct rte_flow_attr *attr = &implicit_rte_flows[idx].attr; struct rte_flow_item_eth eth_local = { .type = 0 }; - uint16_t if_index = pmd->remote_if_index; + unsigned int if_index = pmd->remote_if_index; struct rte_flow *remote_flow = NULL; struct nlmsg *msg = NULL; int err = 0; diff --git a/drivers/net/tap/tap_tcmsgs.c b/drivers/net/tap/tap_tcmsgs.c index b478b5951e..a3aae3c814 100644 --- a/drivers/net/tap/tap_tcmsgs.c +++ b/drivers/net/tap/tap_tcmsgs.c @@ -19,7 +19,7 @@ struct qdisc { struct list_args { int nlsk_fd; - uint16_t ifindex; + unsigned int ifindex; void *custom_arg; }; @@ -42,7 +42,7 @@ struct qdisc_custom_arg { * Overrides the default netlink flags for this msg with those specified. */ void -tc_init_msg(struct nlmsg *msg, uint16_t ifindex, uint16_t type, uint16_t flags) +tc_init_msg(struct nlmsg *msg, unsigned int ifindex, uint16_t type, uint16_t flags) { struct nlmsghdr *n = &msg->nh; @@ -70,7 +70,7 @@ tc_init_msg(struct nlmsg *msg, uint16_t ifindex, uint16_t type, uint16_t flags) * 0 on success, -1 otherwise with errno set. */ static int -qdisc_del(int nlsk_fd, uint16_t ifindex, struct qdisc *qinfo) +qdisc_del(int nlsk_fd, unsigned int ifindex, struct qdisc *qinfo) { struct nlmsg msg; int fd = 0; @@ -114,7 +114,7 @@ error: * 0 on success, -1 otherwise with errno set. */ int -qdisc_add_multiq(int nlsk_fd, uint16_t ifindex) +qdisc_add_multiq(int nlsk_fd, unsigned int ifindex) { struct tc_multiq_qopt opt = {0}; struct nlmsg msg; @@ -144,7 +144,7 @@ qdisc_add_multiq(int nlsk_fd, uint16_t ifindex) * 0 on success, -1 otherwise with errno set. */ int -qdisc_add_ingress(int nlsk_fd, uint16_t ifindex) +qdisc_add_ingress(int nlsk_fd, unsigned int ifindex) { struct nlmsg msg; @@ -208,7 +208,7 @@ qdisc_del_cb(struct nlmsghdr *nh, void *arg) * 0 on success, -1 otherwise with errno set. */ static int -qdisc_iterate(int nlsk_fd, uint16_t ifindex, +qdisc_iterate(int nlsk_fd, unsigned int ifindex, int (*callback)(struct nlmsghdr *, void *), void *arg) { struct nlmsg msg; @@ -238,7 +238,7 @@ qdisc_iterate(int nlsk_fd, uint16_t ifindex, * 0 on success, -1 otherwise with errno set. */ int -qdisc_flush(int nlsk_fd, uint16_t ifindex) +qdisc_flush(int nlsk_fd, unsigned int ifindex) { return qdisc_iterate(nlsk_fd, ifindex, qdisc_del_cb, NULL); } @@ -256,7 +256,7 @@ qdisc_flush(int nlsk_fd, uint16_t ifindex) * Return -1 otherwise. */ int -qdisc_create_multiq(int nlsk_fd, uint16_t ifindex) +qdisc_create_multiq(int nlsk_fd, unsigned int ifindex) { int err = 0; @@ -282,7 +282,7 @@ qdisc_create_multiq(int nlsk_fd, uint16_t ifindex) * Return -1 otherwise. */ int -qdisc_create_ingress(int nlsk_fd, uint16_t ifindex) +qdisc_create_ingress(int nlsk_fd, unsigned int ifindex) { int err = 0; diff --git a/drivers/net/tap/tap_tcmsgs.h b/drivers/net/tap/tap_tcmsgs.h index 8cedea8462..a64cb29d6f 100644 --- a/drivers/net/tap/tap_tcmsgs.h +++ b/drivers/net/tap/tap_tcmsgs.h @@ -24,14 +24,14 @@ #define MULTIQ_MAJOR_HANDLE (1 << 16) -void tc_init_msg(struct nlmsg *msg, uint16_t ifindex, uint16_t type, +void tc_init_msg(struct nlmsg *msg, unsigned int ifindex, uint16_t type, uint16_t flags); -int qdisc_list(int nlsk_fd, uint16_t ifindex); -int qdisc_flush(int nlsk_fd, uint16_t ifindex); -int qdisc_create_ingress(int nlsk_fd, uint16_t ifindex); -int qdisc_create_multiq(int nlsk_fd, uint16_t ifindex); -int qdisc_add_ingress(int nlsk_fd, uint16_t ifindex); -int qdisc_add_multiq(int nlsk_fd, uint16_t ifindex); -int filter_list_ingress(int nlsk_fd, uint16_t ifindex); +int qdisc_list(int nlsk_fd, unsigned int ifindex); +int qdisc_flush(int nlsk_fd, unsigned int ifindex); +int qdisc_create_ingress(int nlsk_fd, unsigned int ifindex); +int qdisc_create_multiq(int nlsk_fd, unsigned int ifindex); +int qdisc_add_ingress(int nlsk_fd, unsigned int ifindex); +int qdisc_add_multiq(int nlsk_fd, unsigned int ifindex); +int filter_list_ingress(int nlsk_fd, unsigned int ifindex); #endif /* _TAP_TCMSGS_H_ */ -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.885899199 +0100 +++ 0031-net-tap-fix-overflow-of-network-interface-index.patch 2022-11-11 12:35:04.781192106 +0100 @@ -1 +1 @@ -From 8772bbfa717fdf3251b32ea48bdd21ddd6836dde Mon Sep 17 00:00:00 2001 +From 698a77fccfe015bcd716f23966af593d4d461ed8 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 8772bbfa717fdf3251b32ea48bdd21ddd6836dde ] + @@ -12 +13,0 @@ -Cc: stable@dpdk.org @@ -23 +24 @@ -index a9a55e439e..efe66fe059 100644 +index 2e471832b5..f5c9ffbd84 100644 @@ -26 +27 @@ -@@ -1682,7 +1682,7 @@ int tap_flow_implicit_create(struct pmd_internals *pmd, +@@ -1684,7 +1684,7 @@ int tap_flow_implicit_create(struct pmd_internals *pmd, ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'net/memif: fix crash with different number of Rx/Tx queues' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (29 preceding siblings ...) 2022-11-11 11:38 ` patch 'net/tap: fix overflow of network interface index' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'net/hns3: fix crash when secondary process access FW' " christian.ehrhardt ` (14 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Huzaifa Rahman; +Cc: Joyce Kong, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/92238ae09101db4f54422012959d36f4f0fccc8f Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 92238ae09101db4f54422012959d36f4f0fccc8f Mon Sep 17 00:00:00 2001 From: Huzaifa Rahman <huzaifa.rahman@emumba.com> Date: Tue, 26 Jul 2022 15:16:28 +0500 Subject: [PATCH] net/memif: fix crash with different number of Rx/Tx queues [ upstream commit 231435a5e6c7fa915697d8f84a91b44176bba4d1 ] There's a bug in memif_stats_get() function due to confusion between C2S (client->server) and S2C (server->client) rings, causing a crash if there's a different number of Rx and Tx queues. Fixit by selectiing the correct rings for Rx and Tx i.e for Rx, S2C rings are selected and for Tx, C2S rings are selected. Bugzilla ID: 734 Fixes: 09c7e63a71f9 ("net/memif: introduce memory interface PMD") Signed-off-by: Huzaifa Rahman <huzaifa.rahman@emumba.com> Reviewed-by: Joyce Kong <joyce.kong@arm.com> --- drivers/net/memif/rte_eth_memif.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/net/memif/rte_eth_memif.c b/drivers/net/memif/rte_eth_memif.c index 10aebadbd0..d3196703d1 100644 --- a/drivers/net/memif/rte_eth_memif.c +++ b/drivers/net/memif/rte_eth_memif.c @@ -1359,8 +1359,8 @@ memif_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) stats->opackets = 0; stats->obytes = 0; - tmp = (pmd->role == MEMIF_ROLE_SLAVE) ? pmd->run.num_s2m_rings : - pmd->run.num_m2s_rings; + tmp = (pmd->role == MEMIF_ROLE_SLAVE) ? pmd->run.num_m2s_rings : + pmd->run.num_s2m_rings; nq = (tmp < RTE_ETHDEV_QUEUE_STAT_CNTRS) ? tmp : RTE_ETHDEV_QUEUE_STAT_CNTRS; @@ -1373,8 +1373,8 @@ memif_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) stats->ibytes += mq->n_bytes; } - tmp = (pmd->role == MEMIF_ROLE_SLAVE) ? pmd->run.num_m2s_rings : - pmd->run.num_s2m_rings; + tmp = (pmd->role == MEMIF_ROLE_SLAVE) ? pmd->run.num_s2m_rings : + pmd->run.num_m2s_rings; nq = (tmp < RTE_ETHDEV_QUEUE_STAT_CNTRS) ? tmp : RTE_ETHDEV_QUEUE_STAT_CNTRS; -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.918121854 +0100 +++ 0032-net-memif-fix-crash-with-different-number-of-Rx-Tx-q.patch 2022-11-11 12:35:04.781192106 +0100 @@ -1 +1 @@ -From 231435a5e6c7fa915697d8f84a91b44176bba4d1 Mon Sep 17 00:00:00 2001 +From 92238ae09101db4f54422012959d36f4f0fccc8f Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 231435a5e6c7fa915697d8f84a91b44176bba4d1 ] + @@ -15 +16,0 @@ -Cc: stable@dpdk.org @@ -24 +25 @@ -index a574bce49e..5b5cae34ea 100644 +index 10aebadbd0..d3196703d1 100644 @@ -27 +28 @@ -@@ -1444,8 +1444,8 @@ memif_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) +@@ -1359,8 +1359,8 @@ memif_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) @@ -31,4 +32,4 @@ -- tmp = (pmd->role == MEMIF_ROLE_CLIENT) ? pmd->run.num_c2s_rings : -- pmd->run.num_s2c_rings; -+ tmp = (pmd->role == MEMIF_ROLE_CLIENT) ? pmd->run.num_s2c_rings : -+ pmd->run.num_c2s_rings; +- tmp = (pmd->role == MEMIF_ROLE_SLAVE) ? pmd->run.num_s2m_rings : +- pmd->run.num_m2s_rings; ++ tmp = (pmd->role == MEMIF_ROLE_SLAVE) ? pmd->run.num_m2s_rings : ++ pmd->run.num_s2m_rings; @@ -38 +39 @@ -@@ -1458,8 +1458,8 @@ memif_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) +@@ -1373,8 +1373,8 @@ memif_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats) @@ -42,4 +43,4 @@ -- tmp = (pmd->role == MEMIF_ROLE_CLIENT) ? pmd->run.num_s2c_rings : -- pmd->run.num_c2s_rings; -+ tmp = (pmd->role == MEMIF_ROLE_CLIENT) ? pmd->run.num_c2s_rings : -+ pmd->run.num_s2c_rings; +- tmp = (pmd->role == MEMIF_ROLE_SLAVE) ? pmd->run.num_m2s_rings : +- pmd->run.num_s2m_rings; ++ tmp = (pmd->role == MEMIF_ROLE_SLAVE) ? pmd->run.num_s2m_rings : ++ pmd->run.num_m2s_rings; ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'net/hns3: fix crash when secondary process access FW' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (30 preceding siblings ...) 2022-11-11 11:38 ` patch 'net/memif: fix crash with different number of Rx/Tx queues' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'net/bonding: fix Tx hash for TCP' " christian.ehrhardt ` (13 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Chengwen Feng; +Cc: Dongdong Liu, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/10690bdfc448c47b6d739880f98dbda67f6134bc Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 10690bdfc448c47b6d739880f98dbda67f6134bc Mon Sep 17 00:00:00 2001 From: Chengwen Feng <fengchengwen@huawei.com> Date: Mon, 5 Sep 2022 16:59:36 +0800 Subject: [PATCH] net/hns3: fix crash when secondary process access FW [ upstream commit a8f1f7cf1b429c3b95fa94f794f697a30f4c482d ] Currently, to prevent missing reporting of reset interrupts and quickly identify reset interrupts, the following logic is designed in the FW (firmware) command interface hns3_cmd_send: if an unprocessed interrupt exist (by checking reset registers), related reset task is scheduled. The secondary process may invoke the hns3_cmd_send interface (e.g. using proc-info query some stats). Unfortunately, the secondary process does not support reset processing, and a segment fault may occur if it schedules reset task. Fix it by limit the checking and scheduling of reset under only primary process. Fixes: 2790c6464725 ("net/hns3: support device reset") Signed-off-by: Chengwen Feng <fengchengwen@huawei.com> Signed-off-by: Dongdong Liu <liudongdong3@huawei.com> --- drivers/net/hns3/hns3_ethdev.c | 10 +++++++++- drivers/net/hns3/hns3_ethdev_vf.c | 11 +++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c index 1a8d729bc4..4cf3eb1b47 100644 --- a/drivers/net/hns3/hns3_ethdev.c +++ b/drivers/net/hns3/hns3_ethdev.c @@ -4999,7 +4999,15 @@ hns3_is_reset_pending(struct hns3_adapter *hns) struct hns3_hw *hw = &hns->hw; enum hns3_reset_level reset; - hns3_check_event_cause(hns, NULL); + /* + * Check the registers to confirm whether there is reset pending. + * Note: This check may lead to schedule reset task, but only primary + * process can process the reset event. Therefore, limit the + * checking under only primary process. + */ + if (rte_eal_process_type() == RTE_PROC_PRIMARY) + hns3_check_event_cause(hns, NULL); + reset = hns3_get_reset_level(hns, &hw->reset.pending); if (hw->reset.level != HNS3_NONE_RESET && hw->reset.level < reset) { hns3_warn(hw, "High level reset %d is pending", reset); diff --git a/drivers/net/hns3/hns3_ethdev_vf.c b/drivers/net/hns3/hns3_ethdev_vf.c index 29a483b2f4..6e1d868a91 100644 --- a/drivers/net/hns3/hns3_ethdev_vf.c +++ b/drivers/net/hns3/hns3_ethdev_vf.c @@ -1918,8 +1918,15 @@ hns3vf_is_reset_pending(struct hns3_adapter *hns) if (hw->reset.level == HNS3_VF_FULL_RESET) return false; - /* Check the registers to confirm whether there is reset pending */ - hns3vf_check_event_cause(hns, NULL); + /* + * Check the registers to confirm whether there is reset pending. + * Note: This check may lead to schedule reset task, but only primary + * process can process the reset event. Therefore, limit the + * checking under only primary process. + */ + if (rte_eal_process_type() == RTE_PROC_PRIMARY) + hns3vf_check_event_cause(hns, NULL); + reset = hns3vf_get_reset_level(hw, &hw->reset.pending); if (hw->reset.level != HNS3_NONE_RESET && hw->reset.level < reset) { hns3_warn(hw, "High level reset %d is pending", reset); -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.950534697 +0100 +++ 0033-net-hns3-fix-crash-when-secondary-process-access-FW.patch 2022-11-11 12:35:04.789192151 +0100 @@ -1 +1 @@ -From a8f1f7cf1b429c3b95fa94f794f697a30f4c482d Mon Sep 17 00:00:00 2001 +From 10690bdfc448c47b6d739880f98dbda67f6134bc Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit a8f1f7cf1b429c3b95fa94f794f697a30f4c482d ] + @@ -21 +22,0 @@ -Cc: stable@dpdk.org @@ -31 +32 @@ -index 95d3c93c42..3d9f7c6ec7 100644 +index 1a8d729bc4..4cf3eb1b47 100644 @@ -34 +35 @@ -@@ -5602,7 +5602,15 @@ hns3_is_reset_pending(struct hns3_adapter *hns) +@@ -4999,7 +4999,15 @@ hns3_is_reset_pending(struct hns3_adapter *hns) @@ -49,2 +50,2 @@ - if (reset != HNS3_NONE_RESET && hw->reset.level != HNS3_NONE_RESET && - hw->reset.level < reset) { + if (hw->reset.level != HNS3_NONE_RESET && hw->reset.level < reset) { + hns3_warn(hw, "High level reset %d is pending", reset); @@ -52 +53 @@ -index 86f2ba24cc..a72535eb7d 100644 +index 29a483b2f4..6e1d868a91 100644 @@ -55 +56 @@ -@@ -1864,8 +1864,15 @@ hns3vf_is_reset_pending(struct hns3_adapter *hns) +@@ -1918,8 +1918,15 @@ hns3vf_is_reset_pending(struct hns3_adapter *hns) @@ -71,2 +72,2 @@ - if (hw->reset.level != HNS3_NONE_RESET && reset != HNS3_NONE_RESET && - hw->reset.level < reset) { + if (hw->reset.level != HNS3_NONE_RESET && hw->reset.level < reset) { + hns3_warn(hw, "High level reset %d is pending", reset); ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'net/bonding: fix Tx hash for TCP' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (31 preceding siblings ...) 2022-11-11 11:38 ` patch 'net/hns3: fix crash when secondary process access FW' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'eal: fix data race in multi-process support' " christian.ehrhardt ` (12 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Jun Qiu; +Cc: Min Hu, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/eda8213a0185c9566414e8cbb1aee280622c1544 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From eda8213a0185c9566414e8cbb1aee280622c1544 Mon Sep 17 00:00:00 2001 From: Jun Qiu <jun.qiu@jaguarmicro.com> Date: Tue, 26 Jul 2022 06:19:24 +0000 Subject: [PATCH] net/bonding: fix Tx hash for TCP [ upstream commit 8168328854f1ff6ee319da8a4211584a30868e0e ] In the following two cases, tcp_hdr + sizeof(*tcp_hdr) == pkt_end, and the TCP port is not taken into account in calculating the HASH value of TCP packets. TCP connections with the same source and destination IP addresses will be hashed to the same slave port, which may cause load imbalance. 1. TCP Pure ACK packets with no options, The header length is 20 and there is no data. 2. A TCP packet contains data, but the first seg of the mbuf contains only the header information (ETH, IP, TCP), and the data is in subsequent segs, which is usually the case in the indirect mbuf used for zero-copy. Fixes: 726158060d55 ("net/bonding: fix potential out of bounds read") Signed-off-by: Jun Qiu <jun.qiu@jaguarmicro.com> Acked-by: Min Hu (Connor) <humin29@huawei.com> --- drivers/net/bonding/rte_eth_bond_pmd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index 2032b3af50..c900eb1f4b 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -772,7 +772,7 @@ burst_xmit_l34_hash(struct rte_mbuf **buf, uint16_t nb_pkts, ((char *)ipv4_hdr + ip_hdr_offset); if ((size_t)tcp_hdr + sizeof(*tcp_hdr) - < pkt_end) + <= pkt_end) l4hash = HASH_L4_PORTS(tcp_hdr); } else if (ipv4_hdr->next_proto_id == IPPROTO_UDP) { -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:05.986226132 +0100 +++ 0034-net-bonding-fix-Tx-hash-for-TCP.patch 2022-11-11 12:35:04.789192151 +0100 @@ -1 +1 @@ -From 8168328854f1ff6ee319da8a4211584a30868e0e Mon Sep 17 00:00:00 2001 +From eda8213a0185c9566414e8cbb1aee280622c1544 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 8168328854f1ff6ee319da8a4211584a30868e0e ] + @@ -19 +20,0 @@ -Cc: stable@dpdk.org @@ -28 +29 @@ -index fd2d95a751..4081b21338 100644 +index 2032b3af50..c900eb1f4b 100644 @@ -31 +32 @@ -@@ -768,7 +768,7 @@ burst_xmit_l34_hash(struct rte_mbuf **buf, uint16_t nb_pkts, +@@ -772,7 +772,7 @@ burst_xmit_l34_hash(struct rte_mbuf **buf, uint16_t nb_pkts, ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'eal: fix data race in multi-process support' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (32 preceding siblings ...) 2022-11-11 11:38 ` patch 'net/bonding: fix Tx hash for TCP' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'pdump: do not allow enable/disable in primary process' " christian.ehrhardt ` (11 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Stephen Hemminger; +Cc: Anatoly Burakov, Chengwen Feng, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/910171a808f8c5d2e709b5aa2aaba09179a85265 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 910171a808f8c5d2e709b5aa2aaba09179a85265 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger <stephen@networkplumber.org> Date: Tue, 6 Sep 2022 09:45:22 -0700 Subject: [PATCH] eal: fix data race in multi-process support [ upstream commit 668958f3c1617f18e04ffee099656e7fb2effa94 ] If DPDK is built with thread sanitizer it reports a race in setting of multiprocess file descriptor. The fix is to use atomic operations when updating mp_fd. Build: $ meson -Db_sanitize=address build $ ninja -C build Simple example: $ .build/app/dpdk-testpmd -l 1-3 --no-huge EAL: Detected CPU lcores: 16 EAL: Detected NUMA nodes: 1 EAL: Static memory layout is selected, amount of reserved memory can be adjusted with -m or --socket-mem EAL: Detected static linkage of DPDK EAL: Multi-process socket /run/user/1000/dpdk/rte/mp_socket EAL: Selected IOVA mode 'VA' testpmd: No probed ethernet devices testpmd: create a new mbuf pool <mb_pool_0>: n=163456, size=2176, socket=0 testpmd: preferred mempool ops selected: ring_mp_mc EAL: Error - exiting with code: 1 Cause: Creation of mbuf pool for socket 0 failed: Cannot allocate memory ================== WARNING: ThreadSanitizer: data race (pid=87245) Write of size 4 at 0x558e04d8ff70 by main thread: #0 rte_mp_channel_cleanup <null> (dpdk-testpmd+0x1e7d30c) #1 rte_eal_cleanup <null> (dpdk-testpmd+0x1e85929) #2 rte_exit <null> (dpdk-testpmd+0x1e5bc0a) #3 mbuf_pool_create.cold <null> (dpdk-testpmd+0x274011) #4 main <null> (dpdk-testpmd+0x5cc15d) Previous read of size 4 at 0x558e04d8ff70 by thread T2: #0 mp_handle <null> (dpdk-testpmd+0x1e7c439) #1 ctrl_thread_init <null> (dpdk-testpmd+0x1e6ee1e) As if synchronized via sleep: #0 nanosleep libsanitizer/tsan/tsan_interceptors_posix.cpp:366 #1 get_tsc_freq <null> (dpdk-testpmd+0x1e92ff9) #2 set_tsc_freq <null> (dpdk-testpmd+0x1e6f2fc) #3 rte_eal_timer_init <null> (dpdk-testpmd+0x1e931a4) #4 rte_eal_init.cold <null> (dpdk-testpmd+0x29e578) #5 main <null> (dpdk-testpmd+0x5cbc45) Location is global 'mp_fd' of size 4 at 0x558e04d8ff70 (dpdk-testpmd+0x000003122f70) Thread T2 'rte_mp_handle' (tid=87248, running) created by main thread at: #0 pthread_create libsanitizer/tsan/tsan_interceptors_posix.cpp:969 #1 rte_ctrl_thread_create <null> (dpdk-testpmd+0x1e6efd0) #2 rte_mp_channel_init.cold <null> (dpdk-testpmd+0x29cb7c) #3 rte_eal_init <null> (dpdk-testpmd+0x1e8662e) #4 main <null> (dpdk-testpmd+0x5cbc45) SUMMARY: ThreadSanitizer: data race (app/dpdk-testpmd+0x1e7d30c) in rte_mp_channel_cleanup ================== ThreadSanitizer: reported 1 warnings Fixes: bacaa2754017 ("eal: add channel for multi-process communication") Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com> Reviewed-by: Chengwen Feng <fengchengwen@huawei.com> --- lib/librte_eal/common/eal_common_proc.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/lib/librte_eal/common/eal_common_proc.c b/lib/librte_eal/common/eal_common_proc.c index d88a1ebafb..a98d67101d 100644 --- a/lib/librte_eal/common/eal_common_proc.c +++ b/lib/librte_eal/common/eal_common_proc.c @@ -257,7 +257,7 @@ rte_mp_action_unregister(const char *name) } static int -read_msg(struct mp_msg_internal *m, struct sockaddr_un *s) +read_msg(int fd, struct mp_msg_internal *m, struct sockaddr_un *s) { int msglen; struct iovec iov; @@ -278,7 +278,7 @@ read_msg(struct mp_msg_internal *m, struct sockaddr_un *s) msgh.msg_controllen = sizeof(control); retry: - msglen = recvmsg(mp_fd, &msgh, 0); + msglen = recvmsg(fd, &msgh, 0); /* zero length message means socket was closed */ if (msglen == 0) @@ -385,11 +385,12 @@ mp_handle(void *arg __rte_unused) { struct mp_msg_internal msg; struct sockaddr_un sa; + int fd; - while (mp_fd >= 0) { + while ((fd = __atomic_load_n(&mp_fd, __ATOMIC_RELAXED)) >= 0) { int ret; - ret = read_msg(&msg, &sa); + ret = read_msg(fd, &msg, &sa); if (ret <= 0) break; @@ -631,9 +632,8 @@ rte_mp_channel_init(void) NULL, mp_handle, NULL) < 0) { RTE_LOG(ERR, EAL, "failed to create mp thread: %s\n", strerror(errno)); - close(mp_fd); close(dir_fd); - mp_fd = -1; + close(__atomic_exchange_n(&mp_fd, -1, __ATOMIC_RELAXED)); return -1; } @@ -649,11 +649,10 @@ rte_mp_channel_cleanup(void) { int fd; - if (mp_fd < 0) + fd = __atomic_exchange_n(&mp_fd, -1, __ATOMIC_RELAXED); + if (fd < 0) return; - fd = mp_fd; - mp_fd = -1; pthread_cancel(mp_handle_tid); pthread_join(mp_handle_tid, NULL); close_socket_fd(fd); -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:06.020999734 +0100 +++ 0035-eal-fix-data-race-in-multi-process-support.patch 2022-11-11 12:35:04.793192173 +0100 @@ -1 +1 @@ -From 668958f3c1617f18e04ffee099656e7fb2effa94 Mon Sep 17 00:00:00 2001 +From 910171a808f8c5d2e709b5aa2aaba09179a85265 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 668958f3c1617f18e04ffee099656e7fb2effa94 ] + @@ -62 +63,0 @@ -Cc: stable@dpdk.org @@ -68 +69 @@ - lib/eal/common/eal_common_proc.c | 17 ++++++++--------- + lib/librte_eal/common/eal_common_proc.c | 17 ++++++++--------- @@ -71,5 +72,5 @@ -diff --git a/lib/eal/common/eal_common_proc.c b/lib/eal/common/eal_common_proc.c -index 313060528f..1fc1d6c53b 100644 ---- a/lib/eal/common/eal_common_proc.c -+++ b/lib/eal/common/eal_common_proc.c -@@ -260,7 +260,7 @@ rte_mp_action_unregister(const char *name) +diff --git a/lib/librte_eal/common/eal_common_proc.c b/lib/librte_eal/common/eal_common_proc.c +index d88a1ebafb..a98d67101d 100644 +--- a/lib/librte_eal/common/eal_common_proc.c ++++ b/lib/librte_eal/common/eal_common_proc.c +@@ -257,7 +257,7 @@ rte_mp_action_unregister(const char *name) @@ -84 +85 @@ -@@ -281,7 +281,7 @@ read_msg(struct mp_msg_internal *m, struct sockaddr_un *s) +@@ -278,7 +278,7 @@ read_msg(struct mp_msg_internal *m, struct sockaddr_un *s) @@ -93 +94 @@ -@@ -390,11 +390,12 @@ mp_handle(void *arg __rte_unused) +@@ -385,11 +385,12 @@ mp_handle(void *arg __rte_unused) @@ -108 +109 @@ -@@ -638,9 +639,8 @@ rte_mp_channel_init(void) +@@ -631,9 +632,8 @@ rte_mp_channel_init(void) @@ -119 +120 @@ -@@ -656,11 +656,10 @@ rte_mp_channel_cleanup(void) +@@ -649,11 +649,10 @@ rte_mp_channel_cleanup(void) ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'pdump: do not allow enable/disable in primary process' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (33 preceding siblings ...) 2022-11-11 11:38 ` patch 'eal: fix data race in multi-process support' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'event/sw: fix flow ID init in self test' " christian.ehrhardt ` (10 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Stephen Hemminger; +Cc: Sylvia Grundwürmer, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/74e2561970b8586d4c1354b7b850b195c50eb2f6 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 74e2561970b8586d4c1354b7b850b195c50eb2f6 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger <stephen@networkplumber.org> Date: Wed, 19 Oct 2022 09:37:33 -0700 Subject: [PATCH] pdump: do not allow enable/disable in primary process MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit 8a0cf0c455dcfff2e7cc6b76d4b3674a9c11521f ] Attempts to enable or disable pdump in primary process will fail with core dump because it is not valid to call rte_mp_request_sync() unless in a secondary process. Trap the error in the common code used for both enable and disable requests. Fixes: 660098d61f57 ("pdump: use generic multi-process channel") Reported-by: Sylvia Grundwürmer <sylvia.grundwuermer@b-plus.com> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> --- lib/librte_pdump/rte_pdump.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/librte_pdump/rte_pdump.c b/lib/librte_pdump/rte_pdump.c index ac94fea936..3421d180a5 100644 --- a/lib/librte_pdump/rte_pdump.c +++ b/lib/librte_pdump/rte_pdump.c @@ -507,6 +507,12 @@ pdump_prepare_client_request(char *device, uint16_t queue, struct pdump_request *req = (struct pdump_request *)mp_req.param; struct pdump_response *resp; + if (rte_eal_process_type() == RTE_PROC_PRIMARY) { + RTE_LOG(ERR, PDUMP, + "pdump enable/disable not allowed in primary process\n"); + return -EINVAL; + } + req->ver = 1; req->flags = flags; req->op = operation; -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:06.052538630 +0100 +++ 0036-pdump-do-not-allow-enable-disable-in-primary-process.patch 2022-11-11 12:35:04.793192173 +0100 @@ -1 +1 @@ -From 8a0cf0c455dcfff2e7cc6b76d4b3674a9c11521f Mon Sep 17 00:00:00 2001 +From 74e2561970b8586d4c1354b7b850b195c50eb2f6 Mon Sep 17 00:00:00 2001 @@ -8,0 +9,2 @@ +[ upstream commit 8a0cf0c455dcfff2e7cc6b76d4b3674a9c11521f ] + @@ -17 +18,0 @@ -Cc: stable@dpdk.org @@ -22 +23 @@ - lib/pdump/rte_pdump.c | 6 ++++++ + lib/librte_pdump/rte_pdump.c | 6 ++++++ @@ -25,5 +26,5 @@ -diff --git a/lib/pdump/rte_pdump.c b/lib/pdump/rte_pdump.c -index 98dcbc037b..a81544cb57 100644 ---- a/lib/pdump/rte_pdump.c -+++ b/lib/pdump/rte_pdump.c -@@ -537,6 +537,12 @@ pdump_prepare_client_request(const char *device, uint16_t queue, +diff --git a/lib/librte_pdump/rte_pdump.c b/lib/librte_pdump/rte_pdump.c +index ac94fea936..3421d180a5 100644 +--- a/lib/librte_pdump/rte_pdump.c ++++ b/lib/librte_pdump/rte_pdump.c +@@ -507,6 +507,12 @@ pdump_prepare_client_request(char *device, uint16_t queue, @@ -34,2 +35,2 @@ -+ PDUMP_LOG(ERR, -+ "pdump enable/disable not allowed in primary process\n"); ++ RTE_LOG(ERR, PDUMP, ++ "pdump enable/disable not allowed in primary process\n"); @@ -39,3 +40,3 @@ - memset(req, 0, sizeof(*req)); - - req->ver = (flags & RTE_PDUMP_FLAG_PCAPNG) ? V2 : V1; + req->ver = 1; + req->flags = flags; + req->op = operation; ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'event/sw: fix flow ID init in self test' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (34 preceding siblings ...) 2022-11-11 11:38 ` patch 'pdump: do not allow enable/disable in primary process' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'event/sw: fix log " christian.ehrhardt ` (9 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Olivier Matz; +Cc: David Marchand, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/f1293694005f77bd1d6e8c8b69aaac15c0dfc139 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From f1293694005f77bd1d6e8c8b69aaac15c0dfc139 Mon Sep 17 00:00:00 2001 From: Olivier Matz <olivier.matz@6wind.com> Date: Fri, 14 Oct 2022 22:37:09 +0200 Subject: [PATCH] event/sw: fix flow ID init in self test [ upstream commit ab059e82e12f2a9dc7561960004819de68b37110 ] The issue is seen by unit tests: MALLOC_PERTURB_=204 \ DPDK_TEST=eventdev_selftest_sw \ /root/dpdk/x86_64-native-linuxapp-gcc/app/test/dpdk-test -c 0xff (...) *** Running XStats ID Reset test... 12: 1761: qid_0_port_2_pinned_flows value , expected 1 got 7 1778: qid_0_port_2_pinned_flows value incorrect, expected 1 got 7 ERROR - XStats ID Reset test FAILED. SW Eventdev Selftest Failed. Test Failed The flow ID is not set in the event, which results in an undefined flow, whose value depends on what was previously in stack. Having different flows for the packets makes the test to fail, since only one flow is expected. This only happens in -O3, where the same stack area is shared by the event object and the address of the mbuf allocated in rte_gen_arp(). Fix this by properly initializing the flow id. Bugzilla ID: 1101 Fixes: e21df4b062b5 ("test/eventdev: add SW xstats tests") Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Reviewed-by: David Marchand <david.marchand@redhat.com> --- drivers/event/sw/sw_evdev_selftest.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/event/sw/sw_evdev_selftest.c b/drivers/event/sw/sw_evdev_selftest.c index 38c21fa0fa..f89b77ce9e 100644 --- a/drivers/event/sw/sw_evdev_selftest.c +++ b/drivers/event/sw/sw_evdev_selftest.c @@ -1481,6 +1481,7 @@ xstats_id_reset_tests(struct test *t) goto fail; } ev.queue_id = t->qid[i]; + ev.flow_id = 0; ev.op = RTE_EVENT_OP_NEW; ev.mbuf = arp; arp->seqn = i; -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:06.084677137 +0100 +++ 0037-event-sw-fix-flow-ID-init-in-self-test.patch 2022-11-11 12:35:04.797192195 +0100 @@ -1 +1 @@ -From ab059e82e12f2a9dc7561960004819de68b37110 Mon Sep 17 00:00:00 2001 +From f1293694005f77bd1d6e8c8b69aaac15c0dfc139 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit ab059e82e12f2a9dc7561960004819de68b37110 ] + @@ -31 +32,0 @@ -Cc: stable@dpdk.org @@ -40 +41 @@ -index 62d66744f2..9f27d8a189 100644 +index 38c21fa0fa..f89b77ce9e 100644 @@ -43 +44 @@ -@@ -1483,6 +1483,7 @@ xstats_id_reset_tests(struct test *t) +@@ -1481,6 +1481,7 @@ xstats_id_reset_tests(struct test *t) @@ -50 +51 @@ - *rte_event_pmd_selftest_seqn(arp) = i; + arp->seqn = i; ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'event/sw: fix log in self test' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (35 preceding siblings ...) 2022-11-11 11:38 ` patch 'event/sw: fix flow ID init in self test' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'eventdev/eth_tx: fix queue delete' " christian.ehrhardt ` (8 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Olivier Matz; +Cc: dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/7bb8064071a494e087e6970635df1a9285ef60b8 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 7bb8064071a494e087e6970635df1a9285ef60b8 Mon Sep 17 00:00:00 2001 From: Olivier Matz <olivier.matz@6wind.com> Date: Wed, 19 Oct 2022 19:06:46 +0530 Subject: [PATCH] event/sw: fix log in self test [ upstream commit 05d22d4e061a3ac92cb8f076c5ecaed653d4f640 ] The log should display the value, not the ID. Fixes: e21df4b062b5 ("test/eventdev: add SW xstats tests") Signed-off-by: Olivier Matz <olivier.matz@6wind.com> --- drivers/event/sw/sw_evdev_selftest.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/event/sw/sw_evdev_selftest.c b/drivers/event/sw/sw_evdev_selftest.c index f89b77ce9e..e290cd4776 100644 --- a/drivers/event/sw/sw_evdev_selftest.c +++ b/drivers/event/sw/sw_evdev_selftest.c @@ -1634,8 +1634,8 @@ xstats_id_reset_tests(struct test *t) } if (val != port_expected[i]) { printf("%d: %s value incorrect, expected %"PRIu64 - " got %d\n", __LINE__, port_names[i], - port_expected[i], id); + " got %"PRIu64"\n", __LINE__, port_names[i], + port_expected[i], val); failed = 1; } /* reset to zero */ -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:06.117096903 +0100 +++ 0038-event-sw-fix-log-in-self-test.patch 2022-11-11 12:35:04.797192195 +0100 @@ -1 +1 @@ -From 05d22d4e061a3ac92cb8f076c5ecaed653d4f640 Mon Sep 17 00:00:00 2001 +From 7bb8064071a494e087e6970635df1a9285ef60b8 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 05d22d4e061a3ac92cb8f076c5ecaed653d4f640 ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org @@ -13,2 +14,2 @@ - drivers/event/sw/sw_evdev_selftest.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + drivers/event/sw/sw_evdev_selftest.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) @@ -17 +18 @@ -index 9f27d8a189..3aa8d76ca8 100644 +index f89b77ce9e..e290cd4776 100644 @@ -20 +21,2 @@ -@@ -1640,7 +1640,7 @@ xstats_id_reset_tests(struct test *t) +@@ -1634,8 +1634,8 @@ xstats_id_reset_tests(struct test *t) + } @@ -22,4 +24,5 @@ - printf("%d: %s value incorrect, expected %" PRIu64 - " got %" PRIu64 "\n", -- __LINE__, port_names[i], port_expected[i], id); -+ __LINE__, port_names[i], port_expected[i], val); + printf("%d: %s value incorrect, expected %"PRIu64 +- " got %d\n", __LINE__, port_names[i], +- port_expected[i], id); ++ " got %"PRIu64"\n", __LINE__, port_names[i], ++ port_expected[i], val); ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'eventdev/eth_tx: fix queue delete' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (36 preceding siblings ...) 2022-11-11 11:38 ` patch 'event/sw: fix log " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'license: fix paths' " christian.ehrhardt ` (7 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Naga Harish K S V; +Cc: dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/50db92f50bd19a9cf59a893c7a3a88007936a3d1 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 50db92f50bd19a9cf59a893c7a3a88007936a3d1 Mon Sep 17 00:00:00 2001 From: Naga Harish K S V <s.v.naga.harish.k@intel.com> Date: Fri, 21 Oct 2022 01:43:14 -0500 Subject: [PATCH] eventdev/eth_tx: fix queue delete [ upstream commit 75c5bfc320fdc41226cbeeb864161268fb344c49 ] To delete all the queues of an ethdev device associated with adapter instance the queue_id can be passed as -1 to the queue delete API. When a subset of queues of a ethdev device are associated, the queue delete logic is exiting without deleting the queues in some cases (higher numbered associated queues) for above scenario as the queue delete logic is not checking all the queue association status. This patch fixes this issue by checking the queue association status of all the queues of the ethernet device. Fixes: 741b499e6421 ("eventdev/eth_tx: fix queue delete logic") Signed-off-by: Naga Harish K S V <s.v.naga.harish.k@intel.com> --- lib/librte_eventdev/rte_event_eth_tx_adapter.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.c b/lib/librte_eventdev/rte_event_eth_tx_adapter.c index fa685db42b..f403a584c9 100644 --- a/lib/librte_eventdev/rte_event_eth_tx_adapter.c +++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.c @@ -820,6 +820,8 @@ txa_service_queue_del(uint8_t id, uint16_t i, q, nb_queues; int ret = 0; + if (txa->txa_ethdev == NULL) + return 0; nb_queues = txa->txa_ethdev[port_id].nb_queues; if (nb_queues == 0) return 0; @@ -832,10 +834,10 @@ txa_service_queue_del(uint8_t id, if (tqi[q].added) { ret = txa_service_queue_del(id, dev, q); + i++; if (ret != 0) break; } - i++; q++; } return ret; -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:06.149543292 +0100 +++ 0039-eventdev-eth_tx-fix-queue-delete.patch 2022-11-11 12:35:04.797192195 +0100 @@ -1 +1 @@ -From 75c5bfc320fdc41226cbeeb864161268fb344c49 Mon Sep 17 00:00:00 2001 +From 50db92f50bd19a9cf59a893c7a3a88007936a3d1 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 75c5bfc320fdc41226cbeeb864161268fb344c49 ] + @@ -20 +21,0 @@ -Cc: stable@dpdk.org @@ -24 +25 @@ - lib/eventdev/rte_event_eth_tx_adapter.c | 4 +++- + lib/librte_eventdev/rte_event_eth_tx_adapter.c | 4 +++- @@ -27,5 +28,5 @@ -diff --git a/lib/eventdev/rte_event_eth_tx_adapter.c b/lib/eventdev/rte_event_eth_tx_adapter.c -index c2a848103b..88309d2aaa 100644 ---- a/lib/eventdev/rte_event_eth_tx_adapter.c -+++ b/lib/eventdev/rte_event_eth_tx_adapter.c -@@ -934,6 +934,8 @@ txa_service_queue_del(uint8_t id, +diff --git a/lib/librte_eventdev/rte_event_eth_tx_adapter.c b/lib/librte_eventdev/rte_event_eth_tx_adapter.c +index fa685db42b..f403a584c9 100644 +--- a/lib/librte_eventdev/rte_event_eth_tx_adapter.c ++++ b/lib/librte_eventdev/rte_event_eth_tx_adapter.c +@@ -820,6 +820,8 @@ txa_service_queue_del(uint8_t id, @@ -40 +41 @@ -@@ -946,10 +948,10 @@ txa_service_queue_del(uint8_t id, +@@ -832,10 +834,10 @@ txa_service_queue_del(uint8_t id, ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'license: fix paths' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (37 preceding siblings ...) 2022-11-11 11:38 ` patch 'eventdev/eth_tx: fix queue delete' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'net/bonding: fix descriptor limit reporting' " christian.ehrhardt ` (6 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Stephen Hemminger; +Cc: Ferruh Yigit, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/0668d1cb31e22d67d6e94394113b64d0f990cefe Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 0668d1cb31e22d67d6e94394113b64d0f990cefe Mon Sep 17 00:00:00 2001 From: Stephen Hemminger <stephen@networkplumber.org> Date: Wed, 19 Oct 2022 11:42:36 -0700 Subject: [PATCH] license: fix paths [ upstream commit dc348f2e81a94dd3b8a32c2f882483227796905d ] The pathnames in the license directory README are incorrect. The current repository puts license text in license/ not licenses/. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Ferruh Yigit <ferruh.yigit@amd.com> --- license/README | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/license/README b/license/README index 79dac86440..c78cfd9f65 100644 --- a/license/README +++ b/license/README @@ -58,20 +58,19 @@ DPDK Governing Board. Steps for any exception approval: 3. Technical Board then approach Governing Board for such limited approval for the given contribution only. -Any approvals shall be documented in "Licenses/exceptions.txt" with record -dates. +Any approvals shall be documented in "license/exceptions.txt" with record dates. DPDK project supported licenses are: 1. BSD 3-clause "New" or "Revised" License SPDX-License-Identifier: BSD-3-Clause URL: http://spdx.org/licenses/BSD-3-Clause#licenseText - DPDK License text: licenses/bsd-3-clause.txt + DPDK License text: license/bsd-3-clause.txt 2. GNU General Public License v2.0 only SPDX-License-Identifier: GPL-2.0 URL: http://spdx.org/licenses/GPL-2.0.html#licenseText - DPDK License text: licenses/gpl-2.0.txt + DPDK License text: license/gpl-2.0.txt 3. GNU Lesser General Public License v2.1 SPDX-License-Identifier: LGPL-2.1 URL: http://spdx.org/licenses/LGPL-2.1.html#licenseText - DPDK License text: licenses/lgpl-2.1.txt + DPDK License text: license/lgpl-2.1.txt -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:06.180738492 +0100 +++ 0040-license-fix-paths.patch 2022-11-11 12:35:04.797192195 +0100 @@ -1 +1 @@ -From dc348f2e81a94dd3b8a32c2f882483227796905d Mon Sep 17 00:00:00 2001 +From 0668d1cb31e22d67d6e94394113b64d0f990cefe Mon Sep 17 00:00:00 2001 @@ -4,0 +5,2 @@ + +[ upstream commit dc348f2e81a94dd3b8a32c2f882483227796905d ] ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'net/bonding: fix descriptor limit reporting' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (38 preceding siblings ...) 2022-11-11 11:38 ` patch 'license: fix paths' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:38 ` patch 'net/ixgbe: fix broadcast Rx on VF after promisc removal' " christian.ehrhardt ` (5 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Ivan Malov; +Cc: Andrew Rybchenko, Chas Williams, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/a0df41ef1bcdfe3a9b42b693ee1f42dfe5d7fb07 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From a0df41ef1bcdfe3a9b42b693ee1f42dfe5d7fb07 Mon Sep 17 00:00:00 2001 From: Ivan Malov <ivan.malov@oktetlabs.ru> Date: Sun, 11 Sep 2022 15:19:01 +0300 Subject: [PATCH] net/bonding: fix descriptor limit reporting [ upstream commit d03c0e83cc0042dc35e37f984de15533b09e6ac9 ] Commit 5be3b40fea60 ("net/bonding: fix values of descriptor limits") breaks reporting of "nb_min" and "nb_align" values obtained from back-end devices' descriptor limits. This means that work done by eth_bond_slave_inherit_desc_lim_first() as well as eth_bond_slave_inherit_desc_lim_next() gets dismissed. Revert the offending commit and use proper workaround for the test case mentioned in the said commit. Meanwhile, the test case itself might be poorly constructed. It tries to run a bond with no back-end devices attached, but, according to [1] ("Requirements / Limitations"), at least one back-end device must be attached. [1] doc/guides/prog_guide/link_bonding_poll_mode_drv_lib.rst Fixes: 5be3b40fea60 ("net/bonding: fix values of descriptor limits") Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru> Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Chas Williams <3chas3@gmail.com> --- drivers/net/bonding/rte_eth_bond_pmd.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c index c900eb1f4b..4a0f6e1b8d 100644 --- a/drivers/net/bonding/rte_eth_bond_pmd.c +++ b/drivers/net/bonding/rte_eth_bond_pmd.c @@ -2144,8 +2144,6 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) uint16_t max_nb_rx_queues = UINT16_MAX; uint16_t max_nb_tx_queues = UINT16_MAX; - uint16_t max_rx_desc_lim = UINT16_MAX; - uint16_t max_tx_desc_lim = UINT16_MAX; dev_info->max_mac_addrs = BOND_MAX_MAC_ADDRS; @@ -2179,12 +2177,6 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) if (slave_info.max_tx_queues < max_nb_tx_queues) max_nb_tx_queues = slave_info.max_tx_queues; - - if (slave_info.rx_desc_lim.nb_max < max_rx_desc_lim) - max_rx_desc_lim = slave_info.rx_desc_lim.nb_max; - - if (slave_info.tx_desc_lim.nb_max < max_tx_desc_lim) - max_tx_desc_lim = slave_info.tx_desc_lim.nb_max; } } @@ -2196,8 +2188,10 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) memcpy(&dev_info->default_txconf, &internals->default_txconf, sizeof(dev_info->default_txconf)); - dev_info->rx_desc_lim.nb_max = max_rx_desc_lim; - dev_info->tx_desc_lim.nb_max = max_tx_desc_lim; + memcpy(&dev_info->rx_desc_lim, &internals->rx_desc_lim, + sizeof(dev_info->rx_desc_lim)); + memcpy(&dev_info->tx_desc_lim, &internals->tx_desc_lim, + sizeof(dev_info->tx_desc_lim)); /** * If dedicated hw queues enabled for link bonding device in LACP mode @@ -3329,6 +3323,13 @@ bond_alloc(struct rte_vdev_device *dev, uint8_t mode) memset(&internals->rx_desc_lim, 0, sizeof(internals->rx_desc_lim)); memset(&internals->tx_desc_lim, 0, sizeof(internals->tx_desc_lim)); + /* + * Do not restrict descriptor counts until + * the first back-end device gets attached. + */ + internals->rx_desc_lim.nb_max = UINT16_MAX; + internals->tx_desc_lim.nb_max = UINT16_MAX; + memset(internals->active_slaves, 0, sizeof(internals->active_slaves)); memset(internals->slaves, 0, sizeof(internals->slaves)); -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:06.211114888 +0100 +++ 0041-net-bonding-fix-descriptor-limit-reporting.patch 2022-11-11 12:35:04.801192217 +0100 @@ -1 +1 @@ -From d03c0e83cc0042dc35e37f984de15533b09e6ac9 Mon Sep 17 00:00:00 2001 +From a0df41ef1bcdfe3a9b42b693ee1f42dfe5d7fb07 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit d03c0e83cc0042dc35e37f984de15533b09e6ac9 ] + @@ -23 +24,0 @@ -Cc: stable@dpdk.org @@ -33 +34 @@ -index aee9e60d40..27005c747c 100644 +index c900eb1f4b..4a0f6e1b8d 100644 @@ -36 +37 @@ -@@ -2205,8 +2205,6 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) +@@ -2144,8 +2144,6 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) @@ -45 +46 @@ -@@ -2240,12 +2238,6 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) +@@ -2179,12 +2177,6 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) @@ -58 +59 @@ -@@ -2257,8 +2249,10 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) +@@ -2196,8 +2188,10 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) @@ -71 +72 @@ -@@ -3393,6 +3387,13 @@ bond_alloc(struct rte_vdev_device *dev, uint8_t mode) +@@ -3329,6 +3323,13 @@ bond_alloc(struct rte_vdev_device *dev, uint8_t mode) ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'net/ixgbe: fix broadcast Rx on VF after promisc removal' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (39 preceding siblings ...) 2022-11-11 11:38 ` patch 'net/bonding: fix descriptor limit reporting' " christian.ehrhardt @ 2022-11-11 11:38 ` christian.ehrhardt 2022-11-11 11:39 ` patch 'net/ixgbe: fix unexpected VLAN Rx in promisc mode on VF' " christian.ehrhardt ` (4 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:38 UTC (permalink / raw) To: Olivier Matz; +Cc: Wenjun Wu, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/4a7d9e59c526d8f7004f90ffd1cf5c8724fd2a51 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 4a7d9e59c526d8f7004f90ffd1cf5c8724fd2a51 Mon Sep 17 00:00:00 2001 From: Olivier Matz <olivier.matz@6wind.com> Date: Thu, 29 Sep 2022 14:09:00 +0200 Subject: [PATCH] net/ixgbe: fix broadcast Rx on VF after promisc removal [ upstream commit 8260929205e5a2666f9db697f749a2d23273bb86 ] After a VF requested to remove the promiscuous flag on an interface, the broadcast packets are not received anymore. This breaks some protocols like ARP. In ixgbe_update_vf_xcast_mode(), we should keep the IXGBE_VMOLR_BAM bit (Broadcast Accept) on promiscuous removal. This flag is already set by default in ixgbe_vf_reset_event() on VF reset. A similar patch was accepted in Linux kernel (see link). Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=803e9895ea2b Fixes: 0355c379b71f ("net/ixgbe: support VF promiscuous by PF driver") Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Wenjun Wu <wenjun1.wu@intel.com> --- drivers/net/ixgbe/ixgbe_pf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ixgbe/ixgbe_pf.c b/drivers/net/ixgbe/ixgbe_pf.c index 2e46e30b79..5a71eb061d 100644 --- a/drivers/net/ixgbe/ixgbe_pf.c +++ b/drivers/net/ixgbe/ixgbe_pf.c @@ -754,9 +754,9 @@ ixgbe_set_vf_mc_promisc(struct rte_eth_dev *dev, uint32_t vf, uint32_t *msgbuf) switch (xcast_mode) { case IXGBEVF_XCAST_MODE_NONE: - disable = IXGBE_VMOLR_BAM | IXGBE_VMOLR_ROMPE | + disable = IXGBE_VMOLR_ROMPE | IXGBE_VMOLR_MPE | IXGBE_VMOLR_UPE | IXGBE_VMOLR_VPE; - enable = 0; + enable = IXGBE_VMOLR_BAM; break; case IXGBEVF_XCAST_MODE_MULTI: disable = IXGBE_VMOLR_MPE | IXGBE_VMOLR_UPE | IXGBE_VMOLR_VPE; -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:06.244654119 +0100 +++ 0042-net-ixgbe-fix-broadcast-Rx-on-VF-after-promisc-remov.patch 2022-11-11 12:35:04.801192217 +0100 @@ -1 +1 @@ -From 8260929205e5a2666f9db697f749a2d23273bb86 Mon Sep 17 00:00:00 2001 +From 4a7d9e59c526d8f7004f90ffd1cf5c8724fd2a51 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 8260929205e5a2666f9db697f749a2d23273bb86 ] + @@ -18 +19,0 @@ -Cc: stable@dpdk.org @@ -27 +28 @@ -index c73833b7ae..c5ef940533 100644 +index 2e46e30b79..5a71eb061d 100644 @@ -30 +31 @@ -@@ -747,9 +747,9 @@ ixgbe_set_vf_mc_promisc(struct rte_eth_dev *dev, uint32_t vf, uint32_t *msgbuf) +@@ -754,9 +754,9 @@ ixgbe_set_vf_mc_promisc(struct rte_eth_dev *dev, uint32_t vf, uint32_t *msgbuf) ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'net/ixgbe: fix unexpected VLAN Rx in promisc mode on VF' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (40 preceding siblings ...) 2022-11-11 11:38 ` patch 'net/ixgbe: fix broadcast Rx on VF after promisc removal' " christian.ehrhardt @ 2022-11-11 11:39 ` christian.ehrhardt 2022-11-11 11:39 ` patch 'examples/l2fwd-crypto: fix typo in error message' " christian.ehrhardt ` (3 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:39 UTC (permalink / raw) To: Olivier Matz; +Cc: Wenjun Wu, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/d9e8c1953e8bf40853125012ad7c12eb8171bdd2 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From d9e8c1953e8bf40853125012ad7c12eb8171bdd2 Mon Sep 17 00:00:00 2001 From: Olivier Matz <olivier.matz@6wind.com> Date: Thu, 29 Sep 2022 14:09:01 +0200 Subject: [PATCH] net/ixgbe: fix unexpected VLAN Rx in promisc mode on VF MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [ upstream commit 15ce76460a681b133709475f0eb5dbe12bb61b32 ] When the promiscuous mode is enabled on a VF, the IXGBE_VMOLR_VPE bit (VLAN Promiscuous Enable) is set. This means that the VF will receive packets whose VLAN is not the same as the VLAN of the VF. For instance, in this situation: ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ │ │ │ │ │ │ │ │ │ │ VF0├────┤VF1 VF2├────┤VF3 │ │ │ │ │ │ │ └────────┘ └────────┘ └────────┘ VM1 VM2 VM3 vf 0: vlan 1000 vf 1: vlan 1000 vf 2: vlan 1001 vf 3: vlan 1001 If we tcpdump on VF3, we see all the packets, even those transmitted on vlan 1000. This behavior prevents to bridge VF1 and VF2 in VM2, because it will create a loop: packets transmitted on VF1 will be received by VF2 and vice-versa, and bridged again through the software bridge. This patch remove the activation of VLAN Promiscuous when a VF enables the promiscuous mode. However, the IXGBE_VMOLR_UPE bit (Unicast Promiscuous) is kept, so that a VF receives all packets that has the same VLAN, whatever the destination MAC address. A similar patch was accepted in Linux kernel (see link). Link: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7bb0fb7c63df Fixes: 0355c379b71f ("net/ixgbe: support VF promiscuous by PF driver") Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Wenjun Wu <wenjun1.wu@intel.com> --- drivers/net/ixgbe/ixgbe_pf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ixgbe/ixgbe_pf.c b/drivers/net/ixgbe/ixgbe_pf.c index 5a71eb061d..fab9d99fb8 100644 --- a/drivers/net/ixgbe/ixgbe_pf.c +++ b/drivers/net/ixgbe/ixgbe_pf.c @@ -778,9 +778,9 @@ ixgbe_set_vf_mc_promisc(struct rte_eth_dev *dev, uint32_t vf, uint32_t *msgbuf) return -1; } - disable = 0; + disable = IXGBE_VMOLR_VPE; enable = IXGBE_VMOLR_BAM | IXGBE_VMOLR_ROMPE | - IXGBE_VMOLR_MPE | IXGBE_VMOLR_UPE | IXGBE_VMOLR_VPE; + IXGBE_VMOLR_MPE | IXGBE_VMOLR_UPE; break; default: return -1; -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:06.283833958 +0100 +++ 0043-net-ixgbe-fix-unexpected-VLAN-Rx-in-promisc-mode-on-.patch 2022-11-11 12:35:04.805192238 +0100 @@ -1 +1 @@ -From 15ce76460a681b133709475f0eb5dbe12bb61b32 Mon Sep 17 00:00:00 2001 +From d9e8c1953e8bf40853125012ad7c12eb8171bdd2 Mon Sep 17 00:00:00 2001 @@ -8,0 +9,2 @@ +[ upstream commit 15ce76460a681b133709475f0eb5dbe12bb61b32 ] + @@ -44 +45,0 @@ -Cc: stable@dpdk.org @@ -53 +54 @@ -index c5ef940533..0a0f639e39 100644 +index 5a71eb061d..fab9d99fb8 100644 @@ -56 +57 @@ -@@ -771,9 +771,9 @@ ixgbe_set_vf_mc_promisc(struct rte_eth_dev *dev, uint32_t vf, uint32_t *msgbuf) +@@ -778,9 +778,9 @@ ixgbe_set_vf_mc_promisc(struct rte_eth_dev *dev, uint32_t vf, uint32_t *msgbuf) ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'examples/l2fwd-crypto: fix typo in error message' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (41 preceding siblings ...) 2022-11-11 11:39 ` patch 'net/ixgbe: fix unexpected VLAN Rx in promisc mode on VF' " christian.ehrhardt @ 2022-11-11 11:39 ` christian.ehrhardt 2022-11-11 11:39 ` patch 'test/crypto: fix wireless auth digest segment' " christian.ehrhardt ` (2 subsequent siblings) 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:39 UTC (permalink / raw) To: Ali Alnubani; +Cc: dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/d5cce321513d2be67e10c02d1f58263a87ef5f0a Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From d5cce321513d2be67e10c02d1f58263a87ef5f0a Mon Sep 17 00:00:00 2001 From: Ali Alnubani <alialnu@nvidia.com> Date: Sun, 9 Oct 2022 20:58:49 +0300 Subject: [PATCH] examples/l2fwd-crypto: fix typo in error message [ upstream commit 26fbb735e3e6e1bb2e5e6b403dd179640c739467 ] Fixes spelling in one of the app's exit messages. Fixes: 387259bd6c67 ("examples/l2fwd-crypto: add sample application") Signed-off-by: Ali Alnubani <alialnu@nvidia.com> --- examples/l2fwd-crypto/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c index d7692464e4..f7999bf771 100644 --- a/examples/l2fwd-crypto/main.c +++ b/examples/l2fwd-crypto/main.c @@ -2727,7 +2727,7 @@ main(int argc, char **argv) /* Enable Ethernet ports */ enabled_portcount = initialize_ports(&options); if (enabled_portcount < 1) - rte_exit(EXIT_FAILURE, "Failed to initial Ethernet ports\n"); + rte_exit(EXIT_FAILURE, "Failed to initialize Ethernet ports\n"); /* Initialize the port/queue configuration of each logical core */ RTE_ETH_FOREACH_DEV(portid) { -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:06.315243345 +0100 +++ 0044-examples-l2fwd-crypto-fix-typo-in-error-message.patch 2022-11-11 12:35:04.805192238 +0100 @@ -1 +1 @@ -From 26fbb735e3e6e1bb2e5e6b403dd179640c739467 Mon Sep 17 00:00:00 2001 +From d5cce321513d2be67e10c02d1f58263a87ef5f0a Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 26fbb735e3e6e1bb2e5e6b403dd179640c739467 ] + @@ -9 +10,0 @@ -Cc: stable@dpdk.org @@ -17 +18 @@ -index 708b3f48b0..b13e5c526e 100644 +index d7692464e4..f7999bf771 100644 @@ -20 +21 @@ -@@ -2781,7 +2781,7 @@ main(int argc, char **argv) +@@ -2727,7 +2727,7 @@ main(int argc, char **argv) ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'test/crypto: fix wireless auth digest segment' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (42 preceding siblings ...) 2022-11-11 11:39 ` patch 'examples/l2fwd-crypto: fix typo in error message' " christian.ehrhardt @ 2022-11-11 11:39 ` christian.ehrhardt 2022-11-11 11:39 ` patch 'test/crypto: fix PDCP vectors' " christian.ehrhardt 2022-11-11 11:39 ` patch 'crypto/qat: fix null hash algorithm digest size' " christian.ehrhardt 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:39 UTC (permalink / raw) To: Ciara Power; +Cc: Fan Zhang, Pablo de Lara, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/414eb9ff5a6868a52c70ce5b95a9ee15d32219ec Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 414eb9ff5a6868a52c70ce5b95a9ee15d32219ec Mon Sep 17 00:00:00 2001 From: Ciara Power <ciara.power@intel.com> Date: Fri, 7 Oct 2022 13:46:50 +0000 Subject: [PATCH] test/crypto: fix wireless auth digest segment [ upstream commit dc3f6c5347b2b64899694c2f94a6af53c95d2b4d ] The segment size for some tests was too small to hold the auth digest. This caused issues when using op->sym->auth.digest.data for comparisons in AESNI_MB PMD after a subsequent patch enables SGL. For example, if segment size is 2, and digest size is 4, then 4 bytes are read from op->sym->auth.digest.data, which overflows into the memory after the segment, rather than using the second segment that contains the remaining half of the digest. Fixes: 11c5485bb276 ("test/crypto: add scatter-gather tests for IP and OOP") Signed-off-by: Ciara Power <ciara.power@intel.com> Acked-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> --- app/test/test_cryptodev.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/test/test_cryptodev.c b/app/test/test_cryptodev.c index 279cf8b07c..e23a68e0b1 100644 --- a/app/test/test_cryptodev.c +++ b/app/test/test_cryptodev.c @@ -3121,6 +3121,16 @@ create_wireless_algo_auth_cipher_operation( remaining_off -= rte_pktmbuf_data_len(sgl_buf); sgl_buf = sgl_buf->next; } + + /* The last segment should be large enough to hold full digest */ + if (sgl_buf->data_len < auth_tag_len) { + rte_pktmbuf_free(sgl_buf->next); + sgl_buf->next = NULL; + TEST_ASSERT_NOT_NULL(rte_pktmbuf_append(sgl_buf, + auth_tag_len - sgl_buf->data_len), + "No room to append auth tag"); + } + sym_op->auth.digest.data = rte_pktmbuf_mtod_offset(sgl_buf, uint8_t *, remaining_off); sym_op->auth.digest.phys_addr = rte_pktmbuf_iova_offset(sgl_buf, -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:06.347891877 +0100 +++ 0045-test-crypto-fix-wireless-auth-digest-segment.patch 2022-11-11 12:35:04.813192283 +0100 @@ -1 +1 @@ -From dc3f6c5347b2b64899694c2f94a6af53c95d2b4d Mon Sep 17 00:00:00 2001 +From 414eb9ff5a6868a52c70ce5b95a9ee15d32219ec Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit dc3f6c5347b2b64899694c2f94a6af53c95d2b4d ] + @@ -16 +17,0 @@ -Cc: stable@dpdk.org @@ -26 +27 @@ -index c6d47a035e..203b8b61fa 100644 +index 279cf8b07c..e23a68e0b1 100644 @@ -29 +30 @@ -@@ -2990,6 +2990,16 @@ create_wireless_algo_auth_cipher_operation( +@@ -3121,6 +3121,16 @@ create_wireless_algo_auth_cipher_operation( ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'test/crypto: fix PDCP vectors' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (43 preceding siblings ...) 2022-11-11 11:39 ` patch 'test/crypto: fix wireless auth digest segment' " christian.ehrhardt @ 2022-11-11 11:39 ` christian.ehrhardt 2022-11-11 11:39 ` patch 'crypto/qat: fix null hash algorithm digest size' " christian.ehrhardt 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:39 UTC (permalink / raw) To: Anoob Joseph; +Cc: Akhil Goyal, Gagandeep Singh, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/346efcd8a80ab40e01f2a0163c4c60f869c2abb3 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From 346efcd8a80ab40e01f2a0163c4c60f869c2abb3 Mon Sep 17 00:00:00 2001 From: Anoob Joseph <anoobj@marvell.com> Date: Thu, 13 Oct 2022 09:29:36 +0530 Subject: [PATCH] test/crypto: fix PDCP vectors [ upstream commit 8cbe74f19166a110fda59b8d48c85e7b33ab0a4f ] The existing PDCP vectors have a deviation from the PDCP header specification. The reserved fields are set to 0 in the PDCP headers and D/C bits are updated as per the use case. The MAC-I for the corresponding vectors are also updated. Fixes: d883e6e7131b ("test/crypto: add PDCP C-Plane encap cases") Fixes: cca7d1f78524 ("test/crypto: add PDCP U-Plane encap with integrity cases") Signed-off-by: Anoob Joseph <anoobj@marvell.com> Acked-by: Akhil Goyal <gakhil@marvell.com> Tested-by: Gagandeep Singh <g.singh@nxp.com> --- ...est_cryptodev_security_pdcp_test_vectors.h | 280 +++++++++--------- 1 file changed, 140 insertions(+), 140 deletions(-) diff --git a/app/test/test_cryptodev_security_pdcp_test_vectors.h b/app/test/test_cryptodev_security_pdcp_test_vectors.h index 703076479d..3e8a8a243e 100644 --- a/app/test/test_cryptodev_security_pdcp_test_vectors.h +++ b/app/test/test_cryptodev_security_pdcp_test_vectors.h @@ -4145,7 +4145,7 @@ static uint8_t *pdcp_test_data_in[] = { /*************** 12-bit C-plane ****************/ /* Control Plane w/NULL enc. + NULL int. UL */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x00, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4159,7 +4159,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* Control Plane w/NULL enc. + SNOW f9 int. UL */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x00, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4173,7 +4173,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* Control Plane w/NULL enc. + AES CMAC int. UL */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x00, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4187,7 +4187,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* Control Plane w/NULL enc. + ZUC int. UL */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x00, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4202,7 +4202,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* Control Plane w/SNOW f8 enc. + NULL int. UL */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x00, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4216,7 +4216,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x00, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4230,7 +4230,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* Control Plane w/SNOW f8 enc. + AES CMAC int. UL */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x00, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4244,7 +4244,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* Control Plane w/SNOW f8 enc. + ZUC int. UL */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x00, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4259,7 +4259,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* Control Plane w/AES CTR enc. + NULL int. UL */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x00, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4273,7 +4273,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* Control Plane w/AES CTR enc. + SNOW f9 int. UL */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x00, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4287,7 +4287,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* Control Plane w/AES CTR enc. + AES CMAC int. UL */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x00, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4301,7 +4301,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* Control Plane w/AES CTR enc. + ZUC int. UL */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x00, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4316,7 +4316,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* Control Plane w/ZUC enc. + NULL int. UL */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x00, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4330,7 +4330,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* Control Plane w/ZUC enc. + SNOW f9 int. UL */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x00, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4344,7 +4344,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* Control Plane w/ZUC enc. + AES CMAC int. UL */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x00, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4358,7 +4358,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* Control Plane w/ZUC enc. + ZUC int. UL */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x00, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4391,7 +4391,7 @@ static uint8_t *pdcp_test_data_in[] = { (uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8}, /* User Plane w/NULL enc. UL for 18-bit SN*/ - (uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, + (uint8_t[]){0x80, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36, @@ -4425,7 +4425,7 @@ static uint8_t *pdcp_test_data_in[] = { (uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8}, /* User Plane w/SNOW enc. UL for 18-bit SN*/ - (uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, + (uint8_t[]){0x80, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, 0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, @@ -4459,7 +4459,7 @@ static uint8_t *pdcp_test_data_in[] = { (uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8}, /* User Plane w/AES enc. UL for 18-bit SN*/ - (uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, + (uint8_t[]){0x80, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, 0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, @@ -4493,7 +4493,7 @@ static uint8_t *pdcp_test_data_in[] = { (uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8}, /* User Plane w/ZUC enc. UL for 18-bit SN*/ - (uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, + (uint8_t[]){0x80, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, 0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, @@ -4511,7 +4511,7 @@ static uint8_t *pdcp_test_data_in[] = { /*************** u-plane with integrity for 12-bit SN *****/ /* User Plane w/NULL enc. + NULL int. UL for 12-bit SN*/ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x80, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4525,7 +4525,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN*/ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x80, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4539,7 +4539,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN*/ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x80, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4553,7 +4553,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN*/ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x80, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4568,7 +4568,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN*/ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x80, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4582,7 +4582,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN*/ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x80, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4596,7 +4596,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN*/ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x80, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4610,7 +4610,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN*/ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x80, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4625,7 +4625,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN*/ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x80, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4639,7 +4639,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN*/ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x80, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4653,7 +4653,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN*/ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x80, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4667,7 +4667,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN*/ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x80, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4682,7 +4682,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN*/ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x80, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4696,7 +4696,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN*/ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x80, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4710,7 +4710,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN*/ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x80, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4724,7 +4724,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN*/ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, + (uint8_t[]){0x80, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, @@ -4740,7 +4740,7 @@ static uint8_t *pdcp_test_data_in[] = { /*************** u-plane with integrity for 18-bit SN *****/ /* User Plane w/NULL enc. + NULL int. UL for 18-bit SN*/ - (uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, + (uint8_t[]){0x80, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36, @@ -4756,7 +4756,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69}, /* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN*/ - (uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, + (uint8_t[]){0x80, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, 0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, @@ -4772,7 +4772,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69}, /* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN*/ - (uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, + (uint8_t[]){0x80, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, 0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, @@ -4788,7 +4788,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69}, /* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN*/ - (uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, + (uint8_t[]){0x80, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, 0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, @@ -4804,7 +4804,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69}, /* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN*/ - (uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, + (uint8_t[]){0x80, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, 0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, @@ -4820,7 +4820,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69}, /* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN*/ - (uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, + (uint8_t[]){0x80, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, 0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, @@ -4836,7 +4836,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69}, /* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN*/ - (uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, + (uint8_t[]){0x80, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, 0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, @@ -4852,7 +4852,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69}, /* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN*/ - (uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, + (uint8_t[]){0x80, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, 0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, @@ -4868,7 +4868,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69}, /* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN*/ - (uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, + (uint8_t[]){0x80, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, 0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, @@ -4884,7 +4884,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69}, /* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN*/ - (uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, + (uint8_t[]){0x80, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, 0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, @@ -4900,7 +4900,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69}, /* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN*/ - (uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, + (uint8_t[]){0x80, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, 0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, @@ -4916,7 +4916,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69}, /* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN*/ - (uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, + (uint8_t[]){0x80, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, 0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, @@ -4932,7 +4932,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69}, /* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN*/ - (uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, + (uint8_t[]){0x80, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, 0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, @@ -4948,7 +4948,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69}, /* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN*/ - (uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, + (uint8_t[]){0x80, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, 0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, @@ -4964,7 +4964,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69}, /* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN*/ - (uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, + (uint8_t[]){0x80, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, 0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, @@ -4980,7 +4980,7 @@ static uint8_t *pdcp_test_data_in[] = { 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69}, /* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN*/ - (uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, + (uint8_t[]){0x80, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, 0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, @@ -5435,7 +5435,7 @@ static uint8_t *pdcp_test_data_out[] = { /************ C-plane 12-bit ****************************/ /* Control Plane w/NULL enc. + NULL int. UL LONG SN */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, + (uint8_t[]){0x00, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, @@ -5451,13 +5451,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* Control Plane w/NULL enc. + SNOW f9 int. UL LONG SN */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, + (uint8_t[]){0x00, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, - 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x74, 0xB8, 0x27, 0x96}, + 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x33, 0x22, 0x02, 0x10}, /* Control Plane w/NULL enc. + SNOW f9 int. DL LONG SN */ (uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, @@ -5467,13 +5467,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x97, 0x50, 0x3F, 0xF7}, /* Control Plane w/NULL enc. + AES CMAC int. UL LONG SN */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, + (uint8_t[]){0x00, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, - 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x3F, 0x71, 0x26, 0x2E}, + 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x1B, 0xB0, 0x4A, 0xBF}, /* Control Plane w/NULL enc. + AES CMAC int. DL LONG SN */ (uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, @@ -5483,13 +5483,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xE8, 0xBB, 0xE9, 0x36}, /* Control Plane w/NULL enc. + ZUC int. UL LONG SN */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, + (uint8_t[]){0x00, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, - 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x54, 0xEF, 0x25, 0xC3}, + 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x28, 0x41, 0xAB, 0x16}, /* Control Plane w/NULL enc. + ZUC int. DL LONG SN */ (uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, @@ -5500,7 +5500,7 @@ static uint8_t *pdcp_test_data_out[] = { 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x76, 0xD0, 0x5B, 0x2C}, /* Control Plane w/SNOW f8 enc. + NULL int. UL LONG SN */ - (uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68, + (uint8_t[]){0x00, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68, 0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA, 0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8, 0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24, @@ -5516,13 +5516,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7, 0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0xDC, 0x32, 0x96, 0x65}, /* Control Plane w/SNOW f8 enc. + SNOW f9 int. UL LONG SN */ - (uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68, + (uint8_t[]){0x00, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68, 0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA, 0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8, 0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24, 0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B, 0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED, - 0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x66, 0xBF, 0x8B, 0x05}, + 0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x21, 0x25, 0xAE, 0x83}, /* Control Plane w/SNOW f8 enc. + SNOW f9 int. DL LONG SN */ (uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9, 0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA, @@ -5532,13 +5532,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7, 0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0x4B, 0x62, 0xA9, 0x92}, /* Control Plane w/SNOW f8 enc. + AES CMAC int. UL LONG SN */ - (uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68, + (uint8_t[]){0x00, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68, 0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA, 0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8, 0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24, 0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B, 0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED, - 0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x2D, 0x76, 0x8A, 0xBD}, + 0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x09, 0xB7, 0xE6, 0x2C}, /* Control Plane w/SNOW f8 enc. + AES CMAC int. DL LONG SN */ (uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9, 0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA, @@ -5548,13 +5548,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7, 0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0x34, 0x89, 0x7F, 0x53}, /* Control Plane w/SNOW f8 enc. + ZUC int. UL LONG SN */ - (uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68, + (uint8_t[]){0x00, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68, 0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA, 0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8, 0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24, 0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B, 0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED, - 0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x46, 0xE8, 0x89, 0x50}, + 0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x3A, 0x46, 0x07, 0x85}, /* Control Plane w/SNOW f8 enc. + ZUC int. DL LONG SN */ (uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9, 0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA, @@ -5565,7 +5565,7 @@ static uint8_t *pdcp_test_data_out[] = { 0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0xAA, 0xE2, 0xCD, 0x49}, /* Control Plane w/AES CTR enc. + NULL int. UL LONG SN */ - (uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF, + (uint8_t[]){0x00, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF, 0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10, 0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8, 0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5, @@ -5582,13 +5582,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65, 0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x87, 0x7A, 0x32, 0x1B}, /* Control Plane w/AES CTR enc. + SNOW f9 int. UL LONG SN */ - (uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF, + (uint8_t[]){0x00, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF, 0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10, 0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8, 0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5, 0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB, 0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22, - 0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xF2, 0x8B, 0x18, 0xAA}, + 0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xB5, 0x11, 0x3D, 0x2C}, /* Control Plane w/AES CTR enc. + SNOW f9 int. DL LONG SN */ (uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C, @@ -5599,13 +5599,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65, 0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x10, 0x2A, 0x0D, 0xEC}, /* Control Plane w/AES CTR enc. + AES CMAC int. UL LONG SN */ - (uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF, + (uint8_t[]){0x00, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF, 0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10, 0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8, 0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5, 0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB, 0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22, - 0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xB9, 0x42, 0x19, 0x12}, + 0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0x9D, 0x83, 0x75, 0x83}, /* Control Plane w/AES CTR enc. + AES CMAC int. DL LONG SN */ (uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C, 0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10, @@ -5615,13 +5615,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65, 0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x6F, 0xC1, 0xDB, 0x2D}, /* Control Plane w/AES CTR enc. + ZUC int. UL LONG SN */ - (uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF, + (uint8_t[]){0x00, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF, 0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10, 0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8, 0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5, 0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB, 0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22, - 0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xD2, 0xDC, 0x1A, 0xFF}, + 0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xAE, 0x72, 0x94, 0x2A}, /* Control Plane w/AES CTR enc. + ZUC int. DL LONG SN */ (uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C, 0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10, @@ -5631,7 +5631,7 @@ static uint8_t *pdcp_test_data_out[] = { 0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65, 0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0xF1, 0xAA, 0x69, 0x37}, /* Control Plane w/ZUC enc. + NULL int. UL LONG SN */ - (uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56, + (uint8_t[]){0x00, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56, 0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED, 0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA, 0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC, @@ -5647,13 +5647,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51, 0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x90, 0xF5, 0xBD, 0x56}, /* Control Plane w/ZUC enc. + SNOW f9 int. UL LONG SN */ - (uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56, + (uint8_t[]){0x00, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56, 0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED, 0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA, 0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC, 0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5, 0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C, - 0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x69, 0x75, 0x1D, 0x76}, + 0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x2E, 0xEF, 0x38, 0xF0}, /* Control Plane w/ZUC enc. + SNOW f9 int. DL LONG SN */ (uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26, 0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC, @@ -5663,13 +5663,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51, 0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x07, 0xA5, 0x82, 0xA1}, /* Control Plane w/ZUC enc. + AES CMAC int. UL LONG SN */ - (uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56, + (uint8_t[]){0x00, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56, 0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED, 0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA, 0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC, 0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5, 0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C, - 0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x22, 0xBC, 0x1C, 0xCE}, + 0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x06, 0x7D, 0x70, 0x5F}, /* Control Plane w/ZUC enc. + AES CMAC int. DL LONG SN */ (uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26, 0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC, @@ -5679,13 +5679,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51, 0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x78, 0x4E, 0x54, 0x60}, /* Control Plane w/ZUC enc. + ZUC int. UL LONG SN */ - (uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56, + (uint8_t[]){0x00, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56, 0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED, 0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA, 0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC, 0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5, 0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C, - 0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x49, 0x22, 0x1F, 0x23}, + 0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x35, 0x8C, 0x91, 0xF6}, /* Control Plane w/ZUC enc. + ZUC int. DL LONG SN */ (uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26, 0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC, @@ -5714,7 +5714,7 @@ static uint8_t *pdcp_test_data_out[] = { (uint8_t[]){0x8b, 0x26, 0xad, 0x9c, 0x44, 0x1f, 0x89, 0x0b, 0x38, 0xc4, 0x57, 0xa4, 0x9d, 0x42, 0x14, 0x07, 0xe8}, /* User Plane w/NULL enc. UL for 18-bit SN*/ - (uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, + (uint8_t[]){0x80, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36, @@ -5748,7 +5748,7 @@ static uint8_t *pdcp_test_data_out[] = { (uint8_t[]){0x8b, 0x26, 0x0b, 0x50, 0xf3, 0xff, 0x37, 0xe3, 0x6b, 0xaf, 0x08, 0xd8, 0xf6, 0x1f, 0xca, 0x6f, 0xbc}, /* User Plane w/SNOW enc. UL for 18-bit SN*/ - (uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30, + (uint8_t[]){0x80, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30, 0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91, 0x03, 0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69, 0x37, 0xB1, 0xA1, 0x97, 0x12, 0xBD, 0x0A, 0x91, 0x4D, 0xEB, 0x76, @@ -5781,7 +5781,7 @@ static uint8_t *pdcp_test_data_out[] = { (uint8_t[]){0x8b, 0x26, 0xc7, 0xf2, 0x23, 0xb3, 0xbe, 0xc0, 0xdf, 0xc5, 0xed, 0x37, 0x35, 0x7c, 0x66, 0xa3, 0xf9}, /* User Plane w/AES enc. UL for 18-bit SN*/ - (uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08, + (uint8_t[]){0x80, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08, 0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F, 0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49, 0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53, @@ -5813,7 +5813,7 @@ static uint8_t *pdcp_test_data_out[] = { (uint8_t[]){0x8b, 0x26, 0xa3, 0x1a, 0x1e, 0x22, 0xf7, 0x17, 0x8a, 0xb5, 0x59, 0xd8, 0x2b, 0x13, 0xdd, 0x12, 0x4e}, /* User Plane w/ZUC enc. UL for 18-bit SN*/ - (uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C, + (uint8_t[]){0x80, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C, 0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98, 0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB, 0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9, @@ -5829,7 +5829,7 @@ static uint8_t *pdcp_test_data_out[] = { /************************* 12-bit u-plane with int ************/ /* User Plane w/NULL enc. + NULL int. UL for 12-bit SN */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, + (uint8_t[]){0x80, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, @@ -5845,13 +5845,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD}, /* User Plane w/NULL enc. + SNOW f9 int. UL for 12-bit SN */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, + (uint8_t[]){0x80, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, - 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x74, 0xB8, 0x27, 0x96}, + 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x6A, 0x4D, 0xA1, 0xE0}, /* User Plane w/NULL enc. + SNOW f9 int. DL for 12-bit SN */ (uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, @@ -5861,13 +5861,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x97, 0x50, 0x3F, 0xF7}, /* User Plane w/NULL enc. + AES CMAC int. UL for 12-bit SN */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, + (uint8_t[]){0x80, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, - 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x3F, 0x71, 0x26, 0x2E}, + 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xB4, 0x36, 0x24, 0x75}, /* User Plane w/NULL enc. + AES CMAC int. DL for 12-bit SN */ (uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, @@ -5877,13 +5877,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xE8, 0xBB, 0xE9, 0x36}, /* User Plane w/NULL enc. + ZUC int. UL for 12-bit SN */ - (uint8_t[]){0x50, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, + (uint8_t[]){0x80, 0x01, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36, 0x47, 0x0E, 0x8F, 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, - 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x54, 0xEF, 0x25, 0xC3}, + 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x5B, 0x05, 0x40, 0x0B}, /* User Plane w/NULL enc. + ZUC int. DL for 12-bit SN */ (uint8_t[]){0xA0, 0x00, 0x86, 0xB8, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, @@ -5894,7 +5894,7 @@ static uint8_t *pdcp_test_data_out[] = { 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0x76, 0xD0, 0x5B, 0x2C}, /* User Plane w/SNOW f8 enc. + NULL int. UL for 12-bit SN */ - (uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68, + (uint8_t[]){0x80, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68, 0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA, 0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8, 0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24, @@ -5910,13 +5910,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7, 0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0xDC, 0x32, 0x96, 0x65}, /* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 12-bit SN */ - (uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68, + (uint8_t[]){0x80, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68, 0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA, 0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8, 0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24, 0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B, 0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED, - 0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x66, 0xBF, 0x8B, 0x05}, + 0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x78, 0x4A, 0x0D, 0x73}, /* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 12-bit SN */ (uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9, 0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA, @@ -5926,13 +5926,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7, 0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0x4B, 0x62, 0xA9, 0x92}, /* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 12-bit SN */ - (uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68, + (uint8_t[]){0x80, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68, 0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA, 0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8, 0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24, 0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B, 0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED, - 0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x2D, 0x76, 0x8A, 0xBD}, + 0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0xA6, 0x31, 0x88, 0xE6}, /* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 12-bit SN */ (uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9, 0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA, @@ -5942,13 +5942,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7, 0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0x34, 0x89, 0x7F, 0x53}, /* User Plane w/SNOW f8 enc. + ZUC int. UL for 12-bit SN */ - (uint8_t[]){0x50, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68, + (uint8_t[]){0x80, 0x01, 0xD6, 0xCC, 0xB5, 0xCE, 0x7C, 0xF8, 0xBE, 0x68, 0x2B, 0xAB, 0xC7, 0x32, 0xDA, 0x49, 0xD0, 0xC7, 0x54, 0xCA, 0x18, 0xBB, 0x05, 0x6D, 0xC5, 0x5F, 0xD3, 0xA7, 0xE6, 0xD8, 0xE1, 0xDF, 0x7C, 0x4F, 0x3C, 0x8B, 0x86, 0xC6, 0x8E, 0x24, 0xF7, 0xBC, 0x45, 0x2A, 0x2E, 0xB4, 0xF5, 0xD0, 0x39, 0x5B, 0x70, 0xB4, 0x53, 0x90, 0x98, 0x8A, 0x7C, 0x87, 0x21, 0xED, - 0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x46, 0xE8, 0x89, 0x50}, + 0x76, 0x83, 0x63, 0x39, 0x2C, 0xDB, 0x49, 0x02, 0xEC, 0x98}, /* User Plane w/SNOW f8 enc. + ZUC int. DL for 12-bit SN */ (uint8_t[]){0xA0, 0x00, 0xC1, 0x3A, 0x28, 0xBC, 0xEB, 0xAC, 0x49, 0xB9, 0xA1, 0xFC, 0xD6, 0x83, 0xEC, 0xA2, 0x89, 0xE6, 0x8F, 0xCA, @@ -5958,7 +5958,7 @@ static uint8_t *pdcp_test_data_out[] = { 0x0F, 0xD8, 0x38, 0xE6, 0x3F, 0xD4, 0x59, 0x7A, 0x9A, 0xB7, 0xF4, 0x52, 0xC6, 0x66, 0xC2, 0x73, 0xAA, 0xE2, 0xCD, 0x49}, /* User Plane w/AES CTR enc. + NULL int. UL for 12-bit SN */ - (uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF, + (uint8_t[]){0x80, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF, 0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10, 0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8, 0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5, @@ -5975,13 +5975,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65, 0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x87, 0x7A, 0x32, 0x1B}, /* User Plane w/AES CTR enc. + SNOW f9 int. UL for 12-bit SN */ - (uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF, + (uint8_t[]){0x80, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF, 0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10, 0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8, 0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5, 0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB, 0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22, - 0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xF2, 0x8B, 0x18, 0xAA}, + 0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xEC, 0x7E, 0x9E, 0xDC}, /* User Plane w/AES CTR enc. + SNOW f9 int. DL for 12-bit SN */ (uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C, @@ -5992,13 +5992,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65, 0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x10, 0x2A, 0x0D, 0xEC}, /* User Plane w/AES CTR enc. + AES CMAC int. UL for 12-bit SN */ - (uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF, + (uint8_t[]){0x80, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF, 0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10, 0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8, 0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5, 0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB, 0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22, - 0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xB9, 0x42, 0x19, 0x12}, + 0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0x32, 0x05, 0x1B, 0x49}, /* User Plane w/AES CTR enc. + AES CMAC int. DL for 12-bit SN */ (uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C, 0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10, @@ -6008,13 +6008,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x7E, 0xF5, 0xBD, 0x60, 0xEB, 0x9E, 0xC2, 0xC9, 0x54, 0x65, 0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0x6F, 0xC1, 0xDB, 0x2D}, /* User Plane w/AES CTR enc. + ZUC int. UL for 12-bit SN */ - (uint8_t[]){0x50, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF, + (uint8_t[]){0x80, 0x01, 0x57, 0xB2, 0x7E, 0x21, 0xE7, 0xDD, 0x56, 0xCF, 0xE9, 0x97, 0x27, 0xE8, 0xA3, 0xDE, 0x4C, 0xF6, 0xD1, 0x10, 0x4A, 0x7D, 0xC0, 0xD0, 0xF7, 0x1B, 0x3E, 0x16, 0xF0, 0xA8, 0x4F, 0xBC, 0x17, 0x73, 0x9A, 0x69, 0x73, 0x6C, 0x83, 0xE5, 0x9D, 0x56, 0xBA, 0xF7, 0x08, 0x6D, 0xC5, 0x89, 0xFB, 0xAB, 0x99, 0xD1, 0x37, 0x42, 0x89, 0x8F, 0xE1, 0xAE, 0xA3, 0x22, - 0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xD2, 0xDC, 0x1A, 0xFF}, + 0x60, 0x98, 0xFD, 0x79, 0x32, 0xDB, 0xDD, 0x36, 0x7F, 0x37}, /* User Plane w/AES CTR enc. + ZUC int. DL for 12-bit SN */ (uint8_t[]){0xA0, 0x00, 0x84, 0x3D, 0x5A, 0x2C, 0xBA, 0x02, 0xC1, 0x6C, 0x8D, 0x78, 0xB5, 0x1F, 0x51, 0x70, 0x18, 0x61, 0x92, 0x10, @@ -6025,7 +6025,7 @@ static uint8_t *pdcp_test_data_out[] = { 0x7D, 0xAC, 0xB6, 0x47, 0xFF, 0x1C, 0xF1, 0xAA, 0x69, 0x37}, /* User Plane w/ZUC enc. + NULL int. UL for 12-bit SN */ - (uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56, + (uint8_t[]){0x80, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56, 0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED, 0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA, 0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC, @@ -6041,13 +6041,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51, 0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x90, 0xF5, 0xBD, 0x56}, /* User Plane w/ZUC enc. + SNOW f9 int. UL for 12-bit SN */ - (uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56, + (uint8_t[]){0x80, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56, 0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED, 0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA, 0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC, 0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5, 0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C, - 0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x69, 0x75, 0x1D, 0x76}, + 0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x77, 0x80, 0x9B, 0x00}, /* User Plane w/ZUC enc. + SNOW f9 int. DL for 12-bit SN */ (uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26, 0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC, @@ -6057,13 +6057,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51, 0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x07, 0xA5, 0x82, 0xA1}, /* User Plane w/ZUC enc. + AES CMAC int. UL for 12-bit SN */ - (uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56, + (uint8_t[]){0x80, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56, 0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED, 0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA, 0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC, 0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5, 0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C, - 0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x22, 0xBC, 0x1C, 0xCE}, + 0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0xA9, 0xFB, 0x1E, 0x95}, /* User Plane w/ZUC enc. + AES CMAC int. DL for 12-bit SN */ (uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26, 0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC, @@ -6073,13 +6073,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x85, 0xAF, 0x0A, 0xFF, 0xAC, 0x6A, 0x00, 0x19, 0xC1, 0x51, 0x53, 0xDE, 0x78, 0x07, 0x6D, 0x10, 0x78, 0x4E, 0x54, 0x60}, /* User Plane w/ZUC enc. + ZUC int. UL for 12-bit SN */ - (uint8_t[]){0x50, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56, + (uint8_t[]){0x80, 0x01, 0x47, 0x9B, 0x21, 0xD1, 0xB2, 0x99, 0x23, 0x56, 0xC5, 0xFF, 0xC2, 0xB7, 0x7D, 0x30, 0xBA, 0xFB, 0x43, 0xED, 0x79, 0xC9, 0x9D, 0x9D, 0x38, 0x35, 0xC6, 0x7B, 0xD0, 0xAA, 0x33, 0x08, 0x88, 0x72, 0x16, 0x1D, 0xF7, 0xA0, 0xD9, 0xEC, 0x73, 0x45, 0x51, 0x87, 0xFF, 0x64, 0xFB, 0x3C, 0xA6, 0xB5, 0xD0, 0x1C, 0xD6, 0x90, 0x3D, 0x40, 0x54, 0x22, 0x2F, 0x6C, - 0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x49, 0x22, 0x1F, 0x23}, + 0xE4, 0xB1, 0x71, 0x15, 0x78, 0x54, 0x46, 0xC8, 0x7A, 0xEB}, /* User Plane w/ZUC enc. + ZUC int. DL for 12-bit SN */ (uint8_t[]){0xA0, 0x00, 0x3F, 0x01, 0xCE, 0xBD, 0x8A, 0x98, 0x7B, 0x26, 0xF1, 0x28, 0x74, 0xDC, 0x26, 0x2B, 0x02, 0xE8, 0x9C, 0xBC, @@ -6091,7 +6091,7 @@ static uint8_t *pdcp_test_data_out[] = { /************************* 18-bit u-plane with int ************/ /* User Plane w/NULL enc. + NULL int. UL for 18-bit SN */ - (uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, + (uint8_t[]){0x80, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, 0x64, 0xD3, 0x5E, 0xAF, 0x3F, 0x57, 0xC2, 0xE2, 0x91, 0x91, 0xA3, 0x9C, 0xE6, 0x30, 0x69, 0x70, 0x33, 0x8A, 0x15, 0xD0, 0x36, @@ -6107,13 +6107,13 @@ static uint8_t *pdcp_test_data_out[] = { 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69, 0x00, 0x00, 0x00, 0x00}, /* User Plane w/NULL enc. + SNOW f9 int. UL for 18-bit SN */ - (uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, + (uint8_t[]){0x80, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, 0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, 0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A, 0xD2, 0xEE, 0xD6, 0x93, 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA, - 0x91, 0x7F, 0x71, 0x17, 0x69}, + 0x91, 0x7F, 0x58, 0x24, 0x17}, /* User Plane w/NULL enc. + SNOW f9 int. DL for 18-bit SN */ (uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, @@ -6122,12 +6122,12 @@ static uint8_t *pdcp_test_data_out[] = { 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69, 0x84, 0x45, 0xA8, 0x88}, /* User Plane w/NULL enc. + AES CMAC int. UL for 18-bit SN */ - (uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, + (uint8_t[]){0x80, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, 0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, 0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A, 0xD2, 0xEE, 0xD6, 0x93, - 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA, 0x91, 0x33, 0x9B, 0x38, 0xF7}, + 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA, 0x91, 0x83, 0xB7, 0xF2, 0x0B}, /* User Plane w/NULL enc. + AES CMAC int. DL for 18-bit SN */ (uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, @@ -6136,12 +6136,12 @@ static uint8_t *pdcp_test_data_out[] = { 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69, 0xD9, 0x0B, 0x89, 0x7F}, /* User Plane w/NULL enc. + ZUC int. UL for 18-bit SN */ - (uint8_t[]){0x0C, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, + (uint8_t[]){0x80, 0x00, 0x01, 0xB8, 0x33, 0x4F, 0x85, 0x8C, 0x2C, 0x65, 0x7D, 0x8F, 0x5D, 0x40, 0x57, 0x60, 0x52, 0x4F, 0xB9, 0xF1, 0x69, 0xE9, 0x68, 0x04, 0xFC, 0x7A, 0xBE, 0xD2, 0x5B, 0x4A, 0x21, 0x7F, 0x13, 0x52, 0x08, 0xBA, 0xBD, 0x69, 0x51, 0xC9, 0x63, 0xCF, 0x06, 0x62, 0x31, 0xA2, 0x76, 0xBA, 0xFC, 0x5A, 0xDB, 0xAA, 0xA3, 0x0B, 0x6A, 0xD2, 0xEE, 0xD6, 0x93, - 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA, 0x91, 0xB5, 0xD9, 0x5D, 0xE0}, + 0xE4, 0x1B, 0x11, 0x4F, 0xC4, 0xD7, 0xDA, 0x91, 0xAB, 0x98, 0xC0, 0x1A}, /* User Plane w/NULL enc. + ZUC int. DL for 18-bit SN */ (uint8_t[]){0xF8, 0x00, 0x00, 0xF8, 0xDB, 0x2D, 0x3F, 0x23, 0x82, 0x53, 0xFD, 0x37, 0xDE, 0x88, 0x63, 0x08, 0x4F, 0xD3, 0x71, 0xFB, 0xEB, 0x35, 0xF3, @@ -6150,7 +6150,7 @@ static uint8_t *pdcp_test_data_out[] = { 0xEE, 0x2C, 0x96, 0x0C, 0xD7, 0x7D, 0x70, 0x1B, 0x01, 0x7F, 0x96, 0x46, 0x53, 0xB0, 0xA4, 0x7A, 0xF9, 0xDD, 0xCC, 0x69, 0xDA, 0xE9, 0x17, 0x96}, /* User Plane w/SNOW f8 enc. + NULL int. UL for 18-bit SN */ - (uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30, + (uint8_t[]){0x80, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30, 0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91, 0x03, 0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69, 0x37, 0xB1, 0xA1, 0x97, 0x12, 0xBD, 0x0A, 0x91, 0x4D, 0xEB, 0x76, @@ -6165,12 +6165,12 @@ static uint8_t *pdcp_test_data_out[] = { 0xC4, 0xB0, 0xB8, 0x31, 0x50, 0x9E, 0x37, 0x15, 0x0E, 0x0D, 0x29, 0x9D, 0xB3, 0x78, 0xFB, 0x9D, 0x5C, 0x90, 0xF8, 0x80, 0x53, 0x93, 0xEF, 0x7C}, /* User Plane w/SNOW f8 enc. + SNOW f9 int. UL for 18-bit SN */ - (uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30, + (uint8_t[]){0x80, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30, 0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91, 0x03, 0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69, 0x37, 0xB1, 0xA1, 0x97, 0x12, 0xBD, 0x0A, 0x91, 0x4D, 0xEB, 0x76, 0xC8, 0x96, 0x7A, 0x0A, 0x25, 0x08, 0xEB, 0x41, 0x30, 0x00, 0x33, 0xC7, 0xFF, 0x33, 0x4E, - 0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F, 0x31, 0x2A, 0xAB, 0x0F, 0x24}, + 0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F, 0x31, 0x2A, 0x82, 0x3C, 0x5A}, /* User Plane w/SNOW f8 enc. + SNOW f9 int. DL for 18-bit SN */ (uint8_t[]){0xF8, 0x00, 0x00, 0x22, 0x2D, 0x15, 0xBA, 0x95, 0xAC, 0x47, 0x5A, 0xE3, 0x90, 0x82, 0xEA, 0xC2, 0x93, 0x80, 0x23, 0xE9, 0xAC, 0xEA, 0x5D, @@ -6179,12 +6179,12 @@ static uint8_t *pdcp_test_data_out[] = { 0xC4, 0xB0, 0xB8, 0x31, 0x50, 0x9E, 0x37, 0x15, 0x0E, 0x0D, 0x29, 0x9D, 0xB3, 0x78, 0xFB, 0x9D, 0x5C, 0x90, 0xF8, 0x80, 0xD7, 0xD6, 0x47, 0xF4}, /* User Plane w/SNOW f8 enc. + AES CMAC int. UL for 18-bit SN */ - (uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30, + (uint8_t[]){0x80, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30, 0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91, 0x03, 0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69, 0x37, 0xB1, 0xA1, 0x97, 0x12, 0xBD, 0x0A, 0x91, 0x4D, 0xEB, 0x76, 0xC8, 0x96, 0x7A, 0x0A, 0x25, 0x08, 0xEB, 0x41, 0x30, 0x00, 0x33, 0xC7, 0xFF, 0x33, 0x4E, - 0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F, 0x31, 0x66, 0x41, 0x20, 0xBA}, + 0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F, 0x31, 0xD6, 0x6D, 0xEA, 0x46}, /* User Plane w/SNOW f8 enc. + AES CMAC int. DL for 18-bit SN */ (uint8_t[]){0xF8, 0x00, 0x00, 0x22, 0x2D, 0x15, 0xBA, 0x95, 0xAC, 0x47, 0x5A, 0xE3, 0x90, 0x82, 0xEA, 0xC2, 0x93, 0x80, 0x23, 0xE9, 0xAC, 0xEA, 0x5D, @@ -6193,12 +6193,12 @@ static uint8_t *pdcp_test_data_out[] = { 0xC4, 0xB0, 0xB8, 0x31, 0x50, 0x9E, 0x37, 0x15, 0x0E, 0x0D, 0x29, 0x9D, 0xB3, 0x78, 0xFB, 0x9D, 0x5C, 0x90, 0xF8, 0x80, 0x8A, 0x98, 0x66, 0x03}, /* User Plane w/SNOW f8 enc. + ZUC int. UL for 18-bit SN */ - (uint8_t[]){0x0C, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30, + (uint8_t[]){0x80, 0x00, 0x01, 0x9A, 0xAF, 0x1D, 0x21, 0x2F, 0x48, 0xB2, 0x30, 0xCF, 0xBB, 0x8A, 0x2C, 0xB7, 0x57, 0xB6, 0x27, 0x89, 0x0D, 0x91, 0x03, 0x2C, 0x2B, 0x8D, 0x29, 0x4A, 0xBD, 0x8D, 0x48, 0xD2, 0x69, 0x37, 0xB1, 0xA1, 0x97, 0x12, 0xBD, 0x0A, 0x91, 0x4D, 0xEB, 0x76, 0xC8, 0x96, 0x7A, 0x0A, 0x25, 0x08, 0xEB, 0x41, 0x30, 0x00, 0x33, 0xC7, 0xFF, 0x33, 0x4E, - 0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F, 0x31, 0xE0, 0x03, 0x45, 0xAD}, + 0xC1, 0xFE, 0x5C, 0x0F, 0x15, 0xE7, 0x9F, 0x31, 0xFE, 0x42, 0xD8, 0x57}, /* User Plane w/SNOW f8 enc. + ZUC int. DL for 18-bit SN */ (uint8_t[]){0xF8, 0x00, 0x00, 0x22, 0x2D, 0x15, 0xBA, 0x95, 0xAC, 0x47, 0x5A, 0xE3, 0x90, 0x82, 0xEA, 0xC2, 0x93, 0x80, 0x23, 0xE9, 0xAC, 0xEA, 0x5D, @@ -6207,7 +6207,7 @@ static uint8_t *pdcp_test_data_out[] = { 0xC4, 0xB0, 0xB8, 0x31, 0x50, 0x9E, 0x37, 0x15, 0x0E, 0x0D, 0x29, 0x9D, 0xB3, 0x78, 0xFB, 0x9D, 0x5C, 0x90, 0xF8, 0x80, 0x89, 0x7A, 0xF8, 0xEA}, /* User Plane w/AES CTR enc. + NULL int. UL for 18-bit SN */ - (uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08, + (uint8_t[]){0x80, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08, 0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F, 0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49, 0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53, @@ -6221,12 +6221,12 @@ static uint8_t *pdcp_test_data_out[] = { 0x39, 0x22, 0xB2, 0xF6, 0x5F, 0xBD, 0x58, 0xE3, 0xE0, 0xDB, 0xD5, 0x7F, 0xFB, 0x78, 0x95, 0xE1, 0x5E, 0x36, 0xF8, 0x52, 0x98, 0x15, 0x68, 0x35}, /* User Plane w/AES CTR enc. + SNOW f9 int. UL for 18-bit SN */ - (uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08, + (uint8_t[]){0x80, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08, 0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F, 0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49, 0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53, 0x14, 0x73, 0x76, 0xDE, 0x54, 0xA0, 0xF9, 0x4C, 0xC2, 0x8F, 0x02, 0x88, - 0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0xBE, 0x17, 0x81, 0xA1}, + 0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0xBE, 0x3E, 0xB2, 0xDF}, /* User Plane w/AES CTR enc. + SNOW f9 int. DL for 18-bit SN */ (uint8_t[]){0xF8, 0x00, 0x00, 0x01, 0x0D, 0x4B, 0x5E, 0xD3, 0xCE, 0x96, 0xE1, 0x9A, 0x9D, 0xB3, 0x01, 0xD6, 0x40, 0x50, 0x00, 0x6C, 0x63, 0xFD, 0x37, @@ -6235,12 +6235,12 @@ static uint8_t *pdcp_test_data_out[] = { 0x39, 0x22, 0xB2, 0xF6, 0x5F, 0xBD, 0x58, 0xE3, 0xE0, 0xDB, 0xD5, 0x7F, 0xFB, 0x78, 0x95, 0xE1, 0x5E, 0x36, 0xF8, 0x52, 0x1C, 0x50, 0xC0, 0xBD}, /* User Plane w/AES CTR enc. + AES CMAC int. UL for 18-bit SN */ - (uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08, + (uint8_t[]){0x80, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08, 0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F, 0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49, 0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53, 0x14, 0x73, 0x76, 0xDE, 0x54, 0xA0, 0xF9, 0x4C, 0xC2, 0x8F, 0x02, 0x88, - 0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0xF2, 0xFD, 0xAE, 0x3F}, + 0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0x42, 0xD1, 0x64, 0xC3}, /* User Plane w/AES CTR enc. + AES CMAC int. DL for 18-bit SN */ (uint8_t[]){0xF8, 0x00, 0x00, 0x01, 0x0D, 0x4B, 0x5E, 0xD3, 0xCE, 0x96, 0xE1, 0x9A, 0x9D, 0xB3, 0x01, 0xD6, 0x40, 0x50, 0x00, 0x6C, 0x63, 0xFD, 0x37, @@ -6249,12 +6249,12 @@ static uint8_t *pdcp_test_data_out[] = { 0x39, 0x22, 0xB2, 0xF6, 0x5F, 0xBD, 0x58, 0xE3, 0xE0, 0xDB, 0xD5, 0x7F, 0xFB, 0x78, 0x95, 0xE1, 0x5E, 0x36, 0xF8, 0x52, 0x41, 0x1E, 0xE1, 0x4A}, /* User Plane w/AES CTR enc. + ZUC int. UL for 18-bit SN */ - (uint8_t[]){0x0C, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08, + (uint8_t[]){0x80, 0x00, 0x01, 0xBF, 0x31, 0x94, 0xCF, 0x6E, 0x99, 0x84, 0x08, 0xF1, 0x90, 0xC2, 0x22, 0xD0, 0xD2, 0x3D, 0x44, 0x75, 0x7F, 0xC5, 0x0F, 0xAC, 0x7C, 0x18, 0x46, 0xA5, 0x3E, 0x2F, 0x0F, 0x26, 0x9E, 0x5A, 0x49, 0xF7, 0xCB, 0x70, 0x17, 0xBC, 0x01, 0x1D, 0xA3, 0x65, 0x0E, 0x4B, 0x53, 0x14, 0x73, 0x76, 0xDE, 0x54, 0xA0, 0xF9, 0x4C, 0xC2, 0x8F, 0x02, 0x88, - 0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0x74, 0xBF, 0xCB, 0x28}, + 0x36, 0xC7, 0xC4, 0x5A, 0x57, 0x7D, 0xA1, 0x0D, 0x6A, 0xFE, 0x56, 0xD2}, /* User Plane w/AES CTR enc. + ZUC int. DL for 18-bit SN */ (uint8_t[]){0xF8, 0x00, 0x00, 0x01, 0x0D, 0x4B, 0x5E, 0xD3, 0xCE, 0x96, 0xE1, 0x9A, 0x9D, 0xB3, 0x01, 0xD6, 0x40, 0x50, 0x00, 0x6C, 0x63, 0xFD, 0x37, @@ -6263,7 +6263,7 @@ static uint8_t *pdcp_test_data_out[] = { 0x39, 0x22, 0xB2, 0xF6, 0x5F, 0xBD, 0x58, 0xE3, 0xE0, 0xDB, 0xD5, 0x7F, 0xFB, 0x78, 0x95, 0xE1, 0x5E, 0x36, 0xF8, 0x52, 0x42, 0xFC, 0x7F, 0xA3}, /* User Plane w/ZUC enc. + NULL int. UL for 18-bit SN */ - (uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C, + (uint8_t[]){0x80, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C, 0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98, 0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB, 0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9, @@ -6277,12 +6277,12 @@ static uint8_t *pdcp_test_data_out[] = { 0x7D, 0x2D, 0xE0, 0x3C, 0xE3, 0x81, 0xAA, 0xEA, 0xCC, 0xD7, 0xFC, 0x46, 0x07, 0x7C, 0x8E, 0x8E, 0x0E, 0x99, 0xB8, 0x31, 0x65, 0x17, 0xF6, 0xE3}, /* User Plane w/ZUC enc. + SNOW f9 int. UL for 18-bit SN */ - (uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C, + (uint8_t[]){0x80, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C, 0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98, 0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB, 0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9, 0x51, 0x54, 0x82, 0x69, 0x4C, 0x45, 0x0B, 0xFA, 0x87, 0x4D, 0x97, 0x6E, - 0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0x3C, 0x13, 0x64, 0xB1}, + 0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0x3C, 0x3A, 0x57, 0xCF}, /* User Plane w/ZUC enc. + SNOW f9 int. DL for 18-bit SN */ (uint8_t[]){0xF8, 0x00, 0x00, 0x30, 0x62, 0x48, 0xC0, 0xB1, 0xED, 0x1F, 0x13, 0x8A, 0x7A, 0x62, 0x40, 0x12, 0x35, 0x54, 0x03, 0x93, 0xBD, 0xE5, 0x88, @@ -6291,12 +6291,12 @@ static uint8_t *pdcp_test_data_out[] = { 0x7D, 0x2D, 0xE0, 0x3C, 0xE3, 0x81, 0xAA, 0xEA, 0xCC, 0xD7, 0xFC, 0x46, 0x07, 0x7C, 0x8E, 0x8E, 0x0E, 0x99, 0xB8, 0x31, 0xE1, 0x52, 0x5E, 0x6B}, /* User Plane w/ZUC enc. + AES CMAC int. UL for 18-bit SN */ - (uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C, + (uint8_t[]){0x80, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C, 0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98, 0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB, 0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9, 0x51, 0x54, 0x82, 0x69, 0x4C, 0x45, 0x0B, 0xFA, 0x87, 0x4D, 0x97, 0x6E, - 0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0x70, 0xF9, 0x4B, 0x2F}, + 0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0xC0, 0xD5, 0x81, 0xD3}, /* User Plane w/ZUC enc. + AES CMAC int. DL for 18-bit SN */ (uint8_t[]){0xF8, 0x00, 0x00, 0x30, 0x62, 0x48, 0xC0, 0xB1, 0xED, 0x1F, 0x13, 0x8A, 0x7A, 0x62, 0x40, 0x12, 0x35, 0x54, 0x03, 0x93, 0xBD, 0xE5, 0x88, @@ -6305,12 +6305,12 @@ static uint8_t *pdcp_test_data_out[] = { 0x7D, 0x2D, 0xE0, 0x3C, 0xE3, 0x81, 0xAA, 0xEA, 0xCC, 0xD7, 0xFC, 0x46, 0x07, 0x7C, 0x8E, 0x8E, 0x0E, 0x99, 0xB8, 0x31, 0xBC, 0x1C, 0x7F, 0x9C}, /* User Plane w/ZUC enc. + ZUC int. UL for 18-bit SN */ - (uint8_t[]){0x0C, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C, + (uint8_t[]){0x80, 0x00, 0x01, 0x32, 0xF9, 0x21, 0x1D, 0xBB, 0xF8, 0xE5, 0x7C, 0x74, 0xC2, 0xD7, 0xFF, 0x74, 0x59, 0x3A, 0x69, 0xD1, 0x8B, 0x65, 0x98, 0xB9, 0x3C, 0xFB, 0x63, 0xB1, 0x9E, 0xB7, 0xCA, 0x04, 0x68, 0xB9, 0xAB, 0xA2, 0x5A, 0xAF, 0x15, 0x8E, 0x71, 0xED, 0xE4, 0xFA, 0x99, 0x79, 0xF9, 0x51, 0x54, 0x82, 0x69, 0x4C, 0x45, 0x0B, 0xFA, 0x87, 0x4D, 0x97, 0x6E, - 0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0xF6, 0xBB, 0x2E, 0x38}, + 0xB0, 0xC9, 0x06, 0x08, 0x6B, 0xFC, 0x4A, 0x85, 0xE8, 0xFA, 0xB3, 0xC2}, /* User Plane w/ZUC enc. + ZUC int. DL for 18-bit SN */ (uint8_t[]){0xF8, 0x00, 0x00, 0x30, 0x62, 0x48, 0xC0, 0xB1, 0xED, 0x1F, 0x13, 0x8A, 0x7A, 0x62, 0x40, 0x12, 0x35, 0x54, 0x03, 0x93, 0xBD, 0xE5, 0x88, -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:06.390140921 +0100 +++ 0046-test-crypto-fix-PDCP-vectors.patch 2022-11-11 12:35:04.817192305 +0100 @@ -1 +1 @@ -From 8cbe74f19166a110fda59b8d48c85e7b33ab0a4f Mon Sep 17 00:00:00 2001 +From 346efcd8a80ab40e01f2a0163c4c60f869c2abb3 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 8cbe74f19166a110fda59b8d48c85e7b33ab0a4f ] + @@ -13 +14,0 @@ -Cc: stable@dpdk.org @@ -23 +24 @@ -index 585c10b423..6fdc4cd9e3 100644 +index 703076479d..3e8a8a243e 100644 @@ -26 +27 @@ -@@ -4264,7 +4264,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4145,7 +4145,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -35 +36 @@ -@@ -4278,7 +4278,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4159,7 +4159,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -44 +45 @@ -@@ -4292,7 +4292,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4173,7 +4173,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -53 +54 @@ -@@ -4306,7 +4306,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4187,7 +4187,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -62 +63 @@ -@@ -4321,7 +4321,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4202,7 +4202,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -71 +72 @@ -@@ -4335,7 +4335,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4216,7 +4216,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -80 +81 @@ -@@ -4349,7 +4349,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4230,7 +4230,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -89 +90 @@ -@@ -4363,7 +4363,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4244,7 +4244,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -98 +99 @@ -@@ -4378,7 +4378,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4259,7 +4259,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -107 +108 @@ -@@ -4392,7 +4392,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4273,7 +4273,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -116 +117 @@ -@@ -4406,7 +4406,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4287,7 +4287,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -125 +126 @@ -@@ -4420,7 +4420,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4301,7 +4301,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -134 +135 @@ -@@ -4435,7 +4435,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4316,7 +4316,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -143 +144 @@ -@@ -4449,7 +4449,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4330,7 +4330,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -152 +153 @@ -@@ -4463,7 +4463,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4344,7 +4344,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -161 +162 @@ -@@ -4477,7 +4477,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4358,7 +4358,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -170 +171 @@ -@@ -4510,7 +4510,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4391,7 +4391,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -179 +180 @@ -@@ -4544,7 +4544,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4425,7 +4425,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -188 +189 @@ -@@ -4578,7 +4578,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4459,7 +4459,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -197 +198 @@ -@@ -4612,7 +4612,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4493,7 +4493,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -206 +207 @@ -@@ -4630,7 +4630,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4511,7 +4511,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -215 +216 @@ -@@ -4644,7 +4644,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4525,7 +4525,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -224 +225 @@ -@@ -4658,7 +4658,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4539,7 +4539,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -233 +234 @@ -@@ -4672,7 +4672,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4553,7 +4553,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -242 +243 @@ -@@ -4687,7 +4687,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4568,7 +4568,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -251 +252 @@ -@@ -4701,7 +4701,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4582,7 +4582,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -260 +261 @@ -@@ -4715,7 +4715,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4596,7 +4596,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -269 +270 @@ -@@ -4729,7 +4729,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4610,7 +4610,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -278 +279 @@ -@@ -4744,7 +4744,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4625,7 +4625,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -287 +288 @@ -@@ -4758,7 +4758,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4639,7 +4639,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -296 +297 @@ -@@ -4772,7 +4772,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4653,7 +4653,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -305 +306 @@ -@@ -4786,7 +4786,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4667,7 +4667,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -314 +315 @@ -@@ -4801,7 +4801,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4682,7 +4682,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -323 +324 @@ -@@ -4815,7 +4815,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4696,7 +4696,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -332 +333 @@ -@@ -4829,7 +4829,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4710,7 +4710,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -341 +342 @@ -@@ -4843,7 +4843,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4724,7 +4724,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -350 +351 @@ -@@ -4859,7 +4859,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4740,7 +4740,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -359 +360 @@ -@@ -4875,7 +4875,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4756,7 +4756,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -368 +369 @@ -@@ -4891,7 +4891,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4772,7 +4772,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -377 +378 @@ -@@ -4907,7 +4907,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4788,7 +4788,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -386 +387 @@ -@@ -4923,7 +4923,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4804,7 +4804,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -395 +396 @@ -@@ -4939,7 +4939,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4820,7 +4820,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -404 +405 @@ -@@ -4955,7 +4955,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4836,7 +4836,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -413 +414 @@ -@@ -4971,7 +4971,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4852,7 +4852,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -422 +423 @@ -@@ -4987,7 +4987,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4868,7 +4868,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -431 +432 @@ -@@ -5003,7 +5003,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4884,7 +4884,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -440 +441 @@ -@@ -5019,7 +5019,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4900,7 +4900,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -449 +450 @@ -@@ -5035,7 +5035,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4916,7 +4916,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -458 +459 @@ -@@ -5051,7 +5051,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4932,7 +4932,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -467 +468 @@ -@@ -5067,7 +5067,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4948,7 +4948,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -476 +477 @@ -@@ -5083,7 +5083,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4964,7 +4964,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -485 +486 @@ -@@ -5099,7 +5099,7 @@ static uint8_t *pdcp_test_data_in[] = { +@@ -4980,7 +4980,7 @@ static uint8_t *pdcp_test_data_in[] = { @@ -494 +495 @@ -@@ -5554,7 +5554,7 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5435,7 +5435,7 @@ static uint8_t *pdcp_test_data_out[] = { @@ -503 +504 @@ -@@ -5570,13 +5570,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5451,13 +5451,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -519 +520 @@ -@@ -5586,13 +5586,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5467,13 +5467,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -535 +536 @@ -@@ -5602,13 +5602,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5483,13 +5483,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -551 +552 @@ -@@ -5619,7 +5619,7 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5500,7 +5500,7 @@ static uint8_t *pdcp_test_data_out[] = { @@ -560 +561 @@ -@@ -5635,13 +5635,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5516,13 +5516,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -576 +577 @@ -@@ -5651,13 +5651,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5532,13 +5532,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -592 +593 @@ -@@ -5667,13 +5667,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5548,13 +5548,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -608 +609 @@ -@@ -5684,7 +5684,7 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5565,7 +5565,7 @@ static uint8_t *pdcp_test_data_out[] = { @@ -617 +618 @@ -@@ -5701,13 +5701,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5582,13 +5582,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -633 +634 @@ -@@ -5718,13 +5718,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5599,13 +5599,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -649 +650 @@ -@@ -5734,13 +5734,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5615,13 +5615,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -665 +666 @@ -@@ -5750,7 +5750,7 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5631,7 +5631,7 @@ static uint8_t *pdcp_test_data_out[] = { @@ -674 +675 @@ -@@ -5766,13 +5766,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5647,13 +5647,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -690 +691 @@ -@@ -5782,13 +5782,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5663,13 +5663,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -706 +707 @@ -@@ -5798,13 +5798,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5679,13 +5679,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -722 +723 @@ -@@ -5833,7 +5833,7 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5714,7 +5714,7 @@ static uint8_t *pdcp_test_data_out[] = { @@ -731 +732 @@ -@@ -5867,7 +5867,7 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5748,7 +5748,7 @@ static uint8_t *pdcp_test_data_out[] = { @@ -740 +741 @@ -@@ -5900,7 +5900,7 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5781,7 +5781,7 @@ static uint8_t *pdcp_test_data_out[] = { @@ -749 +750 @@ -@@ -5932,7 +5932,7 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5813,7 +5813,7 @@ static uint8_t *pdcp_test_data_out[] = { @@ -758 +759 @@ -@@ -5948,7 +5948,7 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5829,7 +5829,7 @@ static uint8_t *pdcp_test_data_out[] = { @@ -767 +768 @@ -@@ -5964,13 +5964,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5845,13 +5845,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -783 +784 @@ -@@ -5980,13 +5980,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5861,13 +5861,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -799 +800 @@ -@@ -5996,13 +5996,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5877,13 +5877,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -815 +816 @@ -@@ -6013,7 +6013,7 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5894,7 +5894,7 @@ static uint8_t *pdcp_test_data_out[] = { @@ -824 +825 @@ -@@ -6029,13 +6029,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5910,13 +5910,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -840 +841 @@ -@@ -6045,13 +6045,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5926,13 +5926,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -856 +857 @@ -@@ -6061,13 +6061,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5942,13 +5942,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -872 +873 @@ -@@ -6077,7 +6077,7 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5958,7 +5958,7 @@ static uint8_t *pdcp_test_data_out[] = { @@ -881 +882 @@ -@@ -6094,13 +6094,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5975,13 +5975,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -897 +898 @@ -@@ -6111,13 +6111,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -5992,13 +5992,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -913 +914 @@ -@@ -6127,13 +6127,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -6008,13 +6008,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -929 +930 @@ -@@ -6144,7 +6144,7 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -6025,7 +6025,7 @@ static uint8_t *pdcp_test_data_out[] = { @@ -938 +939 @@ -@@ -6160,13 +6160,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -6041,13 +6041,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -954 +955 @@ -@@ -6176,13 +6176,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -6057,13 +6057,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -970 +971 @@ -@@ -6192,13 +6192,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -6073,13 +6073,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -986 +987 @@ -@@ -6210,7 +6210,7 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -6091,7 +6091,7 @@ static uint8_t *pdcp_test_data_out[] = { @@ -995 +996 @@ -@@ -6226,13 +6226,13 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -6107,13 +6107,13 @@ static uint8_t *pdcp_test_data_out[] = { @@ -1011 +1012 @@ -@@ -6241,12 +6241,12 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -6122,12 +6122,12 @@ static uint8_t *pdcp_test_data_out[] = { @@ -1026 +1027 @@ -@@ -6255,12 +6255,12 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -6136,12 +6136,12 @@ static uint8_t *pdcp_test_data_out[] = { @@ -1041 +1042 @@ -@@ -6269,7 +6269,7 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -6150,7 +6150,7 @@ static uint8_t *pdcp_test_data_out[] = { @@ -1050 +1051 @@ -@@ -6284,12 +6284,12 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -6165,12 +6165,12 @@ static uint8_t *pdcp_test_data_out[] = { @@ -1065 +1066 @@ -@@ -6298,12 +6298,12 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -6179,12 +6179,12 @@ static uint8_t *pdcp_test_data_out[] = { @@ -1080 +1081 @@ -@@ -6312,12 +6312,12 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -6193,12 +6193,12 @@ static uint8_t *pdcp_test_data_out[] = { @@ -1095 +1096 @@ -@@ -6326,7 +6326,7 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -6207,7 +6207,7 @@ static uint8_t *pdcp_test_data_out[] = { @@ -1104 +1105 @@ -@@ -6340,12 +6340,12 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -6221,12 +6221,12 @@ static uint8_t *pdcp_test_data_out[] = { @@ -1119 +1120 @@ -@@ -6354,12 +6354,12 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -6235,12 +6235,12 @@ static uint8_t *pdcp_test_data_out[] = { @@ -1134 +1135 @@ -@@ -6368,12 +6368,12 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -6249,12 +6249,12 @@ static uint8_t *pdcp_test_data_out[] = { @@ -1149 +1150 @@ -@@ -6382,7 +6382,7 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -6263,7 +6263,7 @@ static uint8_t *pdcp_test_data_out[] = { @@ -1158 +1159 @@ -@@ -6396,12 +6396,12 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -6277,12 +6277,12 @@ static uint8_t *pdcp_test_data_out[] = { @@ -1173 +1174 @@ -@@ -6410,12 +6410,12 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -6291,12 +6291,12 @@ static uint8_t *pdcp_test_data_out[] = { @@ -1188 +1189 @@ -@@ -6424,12 +6424,12 @@ static uint8_t *pdcp_test_data_out[] = { +@@ -6305,12 +6305,12 @@ static uint8_t *pdcp_test_data_out[] = { ^ permalink raw reply [flat|nested] 47+ messages in thread
* patch 'crypto/qat: fix null hash algorithm digest size' has been queued to stable release 19.11.14 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt ` (44 preceding siblings ...) 2022-11-11 11:39 ` patch 'test/crypto: fix PDCP vectors' " christian.ehrhardt @ 2022-11-11 11:39 ` christian.ehrhardt 45 siblings, 0 replies; 47+ messages in thread From: christian.ehrhardt @ 2022-11-11 11:39 UTC (permalink / raw) To: Brian Dooley; +Cc: Ciara Power, dpdk stable Hi, FYI, your patch has been queued to stable release 19.11.14 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 11/18/22. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: 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/db57762c319a3f92972e2dac174fa20a77b526c9 Thanks. Christian Ehrhardt <christian.ehrhardt@canonical.com> --- From db57762c319a3f92972e2dac174fa20a77b526c9 Mon Sep 17 00:00:00 2001 From: Brian Dooley <brian.dooley@intel.com> Date: Thu, 27 Oct 2022 10:50:14 +0000 Subject: [PATCH] crypto/qat: fix null hash algorithm digest size [ upstream commit 7283c59e37b114e692a379234a9d34f0d2c538e7 ] Add check for null hash algorithm digest size. Digest size should be 4B or request will be rejected. Fixes: 1703e94ac5ce ("qat: add driver for QuickAssist devices") Signed-off-by: Brian Dooley <brian.dooley@intel.com> Acked-by: Ciara Power <ciara.power@intel.com> --- drivers/crypto/qat/qat_sym_session.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/drivers/crypto/qat/qat_sym_session.c b/drivers/crypto/qat/qat_sym_session.c index 7c851de242..d8ee2772de 100644 --- a/drivers/crypto/qat/qat_sym_session.c +++ b/drivers/crypto/qat/qat_sym_session.c @@ -1714,7 +1714,12 @@ int qat_sym_session_aead_create_cd_auth(struct qat_sym_session *cdesc, hash_offset = cdesc->cd_cur_ptr-((uint8_t *)&cdesc->cd); hash = (struct icp_qat_hw_auth_setup *)cdesc->cd_cur_ptr; hash->auth_config.reserved = 0; - hash->auth_config.config = + if (cdesc->qat_hash_alg == ICP_QAT_HW_AUTH_ALGO_NULL) + hash->auth_config.config = + ICP_QAT_HW_AUTH_CONFIG_BUILD(cdesc->auth_mode, + cdesc->qat_hash_alg, 4); + else + hash->auth_config.config = ICP_QAT_HW_AUTH_CONFIG_BUILD(cdesc->auth_mode, cdesc->qat_hash_alg, digestsize); @@ -1978,10 +1983,16 @@ int qat_sym_session_aead_create_cd_auth(struct qat_sym_session *cdesc, /* Auth CD config setup */ hash_cd_ctrl->hash_cfg_offset = hash_offset >> 3; hash_cd_ctrl->hash_flags = ICP_QAT_FW_AUTH_HDR_FLAG_NO_NESTED; - hash_cd_ctrl->inner_res_sz = digestsize; - hash_cd_ctrl->final_sz = digestsize; hash_cd_ctrl->inner_state1_sz = state1_size; - auth_param->auth_res_sz = digestsize; + if (cdesc->qat_hash_alg == ICP_QAT_HW_AUTH_ALGO_NULL) { + hash_cd_ctrl->inner_res_sz = 4; + hash_cd_ctrl->final_sz = 4; + auth_param->auth_res_sz = 4; + } else { + hash_cd_ctrl->inner_res_sz = digestsize; + hash_cd_ctrl->final_sz = digestsize; + auth_param->auth_res_sz = digestsize; + } hash_cd_ctrl->inner_state2_sz = state2_size; hash_cd_ctrl->inner_state2_offset = hash_cd_ctrl->hash_cfg_offset + -- 2.38.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2022-11-11 12:35:06.426221254 +0100 +++ 0047-crypto-qat-fix-null-hash-algorithm-digest-size.patch 2022-11-11 12:35:04.821192327 +0100 @@ -1 +1 @@ -From 7283c59e37b114e692a379234a9d34f0d2c538e7 Mon Sep 17 00:00:00 2001 +From db57762c319a3f92972e2dac174fa20a77b526c9 Mon Sep 17 00:00:00 2001 @@ -5,0 +6,2 @@ +[ upstream commit 7283c59e37b114e692a379234a9d34f0d2c538e7 ] + @@ -10 +11,0 @@ -Cc: stable@dpdk.org @@ -19 +20 @@ -index 13a8d36e95..71fa595031 100644 +index 7c851de242..d8ee2772de 100644 @@ -22 +23 @@ -@@ -2052,7 +2052,12 @@ int qat_sym_cd_auth_set(struct qat_sym_session *cdesc, +@@ -1714,7 +1714,12 @@ int qat_sym_session_aead_create_cd_auth(struct qat_sym_session *cdesc, @@ -36 +37 @@ -@@ -2420,10 +2425,16 @@ int qat_sym_cd_auth_set(struct qat_sym_session *cdesc, +@@ -1978,10 +1983,16 @@ int qat_sym_session_aead_create_cd_auth(struct qat_sym_session *cdesc, ^ permalink raw reply [flat|nested] 47+ messages in thread
end of thread, other threads:[~2022-11-11 11:41 UTC | newest] Thread overview: 47+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-11-11 11:38 patch 'vhost: fix virtqueue use after free on NUMA reallocation' has been queued to stable release 19.11.14 christian.ehrhardt 2022-11-11 11:38 ` patch 'net: accept unaligned data in checksum routines' " christian.ehrhardt 2022-11-11 11:38 ` patch 'app/testpmd: restore ixgbe bypass commands' " christian.ehrhardt 2022-11-11 11:38 ` patch 'net/bonding: fix array overflow in Rx burst' " christian.ehrhardt 2022-11-11 11:38 ` patch 'net/bonding: fix double slave link status query' " christian.ehrhardt 2022-11-11 11:38 ` patch 'net/nfp: improve HW info header log readability' " christian.ehrhardt 2022-11-11 11:38 ` patch 'net/mvneta: fix build with GCC 12' " christian.ehrhardt 2022-11-11 11:38 ` patch 'malloc: fix storage size for some allocations' " christian.ehrhardt 2022-11-11 11:38 ` patch 'event/sw: fix device name in dump' " christian.ehrhardt 2022-11-11 11:38 ` patch 'eventdev/eth_tx: add spinlock for adapter start/stop' " christian.ehrhardt 2022-11-11 11:38 ` patch 'eventdev/eth_tx: fix adapter stop' " christian.ehrhardt 2022-11-11 11:38 ` patch 'test/ipsec: skip if no compatible device' " christian.ehrhardt 2022-11-11 11:38 ` patch 'test/crypto: fix debug messages' " christian.ehrhardt 2022-11-11 11:38 ` patch 'test/ipsec: fix build with GCC 12' " christian.ehrhardt 2022-11-11 11:38 ` patch 'ipsec: " christian.ehrhardt 2022-11-11 11:38 ` patch 'crypto/qat: " christian.ehrhardt 2022-11-11 11:38 ` patch 'eventdev: fix name of Rx conf type in documentation' " christian.ehrhardt 2022-11-11 11:38 ` patch 'net/i40e: fix VF representor release' " christian.ehrhardt 2022-11-11 11:38 ` patch 'common/iavf: avoid copy in async mode' " christian.ehrhardt 2022-11-11 11:38 ` patch 'net/ice/base: fix media type of PHY 10G SFI C2C' " christian.ehrhardt 2022-11-11 11:38 ` patch 'net/ice/base: fix array overflow in add switch recipe' " christian.ehrhardt 2022-11-11 11:38 ` patch 'net/virtio: fix crash when configured twice' " christian.ehrhardt 2022-11-11 11:38 ` patch 'net/mlx4: fix Verbs FD leak in secondary process' " christian.ehrhardt 2022-11-11 11:38 ` patch 'net/mlx5: fix meter profile delete after disable' " christian.ehrhardt 2022-11-11 11:38 ` patch 'net/ice: check illegal packet sizes' " christian.ehrhardt 2022-11-11 11:38 ` patch 'common/sfc_efx/base: fix maximum Tx data count' " christian.ehrhardt 2022-11-11 11:38 ` patch 'examples/vm_power_manager: use safe list iterator' " christian.ehrhardt 2022-11-11 11:38 ` patch 'gro: fix chain index for more than 2 packets' " christian.ehrhardt 2022-11-11 11:38 ` patch 'timer: fix stopping all timers' " christian.ehrhardt 2022-11-11 11:38 ` patch 'net/qede/base: fix 32-bit build with GCC 12' " christian.ehrhardt 2022-11-11 11:38 ` patch 'net/tap: fix overflow of network interface index' " christian.ehrhardt 2022-11-11 11:38 ` patch 'net/memif: fix crash with different number of Rx/Tx queues' " christian.ehrhardt 2022-11-11 11:38 ` patch 'net/hns3: fix crash when secondary process access FW' " christian.ehrhardt 2022-11-11 11:38 ` patch 'net/bonding: fix Tx hash for TCP' " christian.ehrhardt 2022-11-11 11:38 ` patch 'eal: fix data race in multi-process support' " christian.ehrhardt 2022-11-11 11:38 ` patch 'pdump: do not allow enable/disable in primary process' " christian.ehrhardt 2022-11-11 11:38 ` patch 'event/sw: fix flow ID init in self test' " christian.ehrhardt 2022-11-11 11:38 ` patch 'event/sw: fix log " christian.ehrhardt 2022-11-11 11:38 ` patch 'eventdev/eth_tx: fix queue delete' " christian.ehrhardt 2022-11-11 11:38 ` patch 'license: fix paths' " christian.ehrhardt 2022-11-11 11:38 ` patch 'net/bonding: fix descriptor limit reporting' " christian.ehrhardt 2022-11-11 11:38 ` patch 'net/ixgbe: fix broadcast Rx on VF after promisc removal' " christian.ehrhardt 2022-11-11 11:39 ` patch 'net/ixgbe: fix unexpected VLAN Rx in promisc mode on VF' " christian.ehrhardt 2022-11-11 11:39 ` patch 'examples/l2fwd-crypto: fix typo in error message' " christian.ehrhardt 2022-11-11 11:39 ` patch 'test/crypto: fix wireless auth digest segment' " christian.ehrhardt 2022-11-11 11:39 ` patch 'test/crypto: fix PDCP vectors' " christian.ehrhardt 2022-11-11 11:39 ` patch 'crypto/qat: fix null hash algorithm digest size' " christian.ehrhardt
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).