patches for DPDK stable branches
 help / color / mirror / Atom feed
* patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3
@ 2022-11-11 10:32 Kevin Traynor
  2022-11-11 10:32 ` patch 'event/sw: fix log " Kevin Traynor
                   ` (45 more replies)
  0 siblings, 46 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:32 UTC (permalink / raw)
  To: Olivier Matz; +Cc: David Marchand, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 14a1303083df525068a2b38745d4d55ea1f3f105 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 cb97a4d615..0992687275 100644
--- a/drivers/event/sw/sw_evdev_selftest.c
+++ b/drivers/event/sw/sw_evdev_selftest.c
@@ -1489,4 +1489,5 @@ xstats_id_reset_tests(struct test *t)
 		}
 		ev.queue_id = t->qid[i];
+		ev.flow_id = 0;
 		ev.op = RTE_EVENT_OP_NEW;
 		ev.mbuf = arp;
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.149830857 +0000
+++ 0001-event-sw-fix-flow-ID-init-in-self-test.patch	2022-11-11 10:32:16.985300410 +0000
@@ -1 +1 @@
-From ab059e82e12f2a9dc7561960004819de68b37110 Mon Sep 17 00:00:00 2001
+From 14a1303083df525068a2b38745d4d55ea1f3f105 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 cb97a4d615..0992687275 100644
@@ -43 +44 @@
-@@ -1484,4 +1484,5 @@ xstats_id_reset_tests(struct test *t)
+@@ -1489,4 +1489,5 @@ xstats_id_reset_tests(struct test *t)


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

* patch 'event/sw: fix log in self test' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
@ 2022-11-11 10:32 ` Kevin Traynor
  2022-11-11 10:32 ` patch 'eventdev/crypto: fix multi-process' " Kevin Traynor
                   ` (44 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:32 UTC (permalink / raw)
  To: Olivier Matz; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 050edd6df010578e0dc23500cade9f48b0a6961e 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 | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/event/sw/sw_evdev_selftest.c b/drivers/event/sw/sw_evdev_selftest.c
index 0992687275..e513601a5b 100644
--- a/drivers/event/sw/sw_evdev_selftest.c
+++ b/drivers/event/sw/sw_evdev_selftest.c
@@ -1643,7 +1643,7 @@ 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);
+			printf("%d: %s value incorrect, expected %" PRIu64
+			       " got %" PRIu64 "\n",
+			       __LINE__, port_names[i], port_expected[i], val);
 			failed = 1;
 		}
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.171748712 +0000
+++ 0002-event-sw-fix-log-in-self-test.patch	2022-11-11 10:32:16.992300438 +0000
@@ -1 +1 @@
-From 05d22d4e061a3ac92cb8f076c5ecaed653d4f640 Mon Sep 17 00:00:00 2001
+From 050edd6df010578e0dc23500cade9f48b0a6961e 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 | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
@@ -17 +18 @@
-index 9f27d8a189..3aa8d76ca8 100644
+index 0992687275..e513601a5b 100644
@@ -20,4 +21,8 @@
-@@ -1641,5 +1641,5 @@ xstats_id_reset_tests(struct test *t)
- 			printf("%d: %s value incorrect, expected %" PRIu64
- 			       " got %" PRIu64 "\n",
--			       __LINE__, port_names[i], port_expected[i], id);
+@@ -1643,7 +1643,7 @@ 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);
++			printf("%d: %s value incorrect, expected %" PRIu64
++			       " got %" PRIu64 "\n",


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

* patch 'eventdev/crypto: fix multi-process' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
  2022-11-11 10:32 ` patch 'event/sw: fix log " Kevin Traynor
@ 2022-11-11 10:32 ` Kevin Traynor
  2022-11-11 10:32 ` patch 'eventdev/eth_tx: fix queue delete' " Kevin Traynor
                   ` (43 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:32 UTC (permalink / raw)
  To: Ganapati Kundapura; +Cc: Abhinandan Gujjar, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 11b702acfa5008555120e1d65cfb3813c6eed6d6 Mon Sep 17 00:00:00 2001
From: Ganapati Kundapura <ganapati.kundapura@intel.com>
Date: Tue, 18 Oct 2022 04:39:26 -0500
Subject: [PATCH] eventdev/crypto: fix multi-process

[ upstream commit 8f4ff7de39693dfd26336afea5e12e1a7d8fd9b0 ]

Secondary process is not able to call the crypto adapter
APIs stats get/reset as crypto adapter memzone memory
is not accessible by secondary process.

Added memzone lookup so that secondary process can call the
crypto adapter APIs(stats_get etc)

Fixes: 7901eac3409a ("eventdev: add crypto adapter implementation")

Signed-off-by: Ganapati Kundapura <ganapati.kundapura@intel.com>
Acked-by: Abhinandan Gujjar <abhinandan.gujjar@intel.com>
---
 lib/eventdev/rte_event_crypto_adapter.c | 30 ++++++++++++++++++++++---
 1 file changed, 27 insertions(+), 3 deletions(-)

diff --git a/lib/eventdev/rte_event_crypto_adapter.c b/lib/eventdev/rte_event_crypto_adapter.c
index d84080355d..142bfe9b9b 100644
--- a/lib/eventdev/rte_event_crypto_adapter.c
+++ b/lib/eventdev/rte_event_crypto_adapter.c
@@ -31,4 +31,6 @@
 #define CRYPTO_ENQ_FLUSH_THRESHOLD 1024
 
+#define ECA_ADAPTER_ARRAY "crypto_adapter_array"
+
 struct event_crypto_adapter {
 	/* Event device identifier */
@@ -119,5 +121,4 @@ static int
 eca_init(void)
 {
-	const char *name = "crypto_adapter_array";
 	const struct rte_memzone *mz;
 	unsigned int sz;
@@ -127,7 +128,8 @@ eca_init(void)
 	sz = RTE_ALIGN(sz, RTE_CACHE_LINE_SIZE);
 
-	mz = rte_memzone_lookup(name);
+	mz = rte_memzone_lookup(ECA_ADAPTER_ARRAY);
 	if (mz == NULL) {
-		mz = rte_memzone_reserve_aligned(name, sz, rte_socket_id(), 0,
+		mz = rte_memzone_reserve_aligned(ECA_ADAPTER_ARRAY, sz,
+						 rte_socket_id(), 0,
 						 RTE_CACHE_LINE_SIZE);
 		if (mz == NULL) {
@@ -142,4 +144,20 @@ eca_init(void)
 }
 
+static int
+eca_memzone_lookup(void)
+{
+	const struct rte_memzone *mz;
+
+	if (event_crypto_adapter == NULL) {
+		mz = rte_memzone_lookup(ECA_ADAPTER_ARRAY);
+		if (mz == NULL)
+			return -ENOMEM;
+
+		event_crypto_adapter = mz->addr;
+	}
+
+	return 0;
+}
+
 static inline struct event_crypto_adapter *
 eca_id_to_adapter(uint8_t id)
@@ -1052,4 +1070,7 @@ rte_event_crypto_adapter_stats_get(uint8_t id,
 	int ret;
 
+	if (eca_memzone_lookup())
+		return -ENOMEM;
+
 	EVENT_CRYPTO_ADAPTER_ID_VALID_OR_ERR_RET(id, -EINVAL);
 
@@ -1093,4 +1114,7 @@ rte_event_crypto_adapter_stats_reset(uint8_t id)
 	uint32_t i;
 
+	if (eca_memzone_lookup())
+		return -ENOMEM;
+
 	EVENT_CRYPTO_ADAPTER_ID_VALID_OR_ERR_RET(id, -EINVAL);
 
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.193136269 +0000
+++ 0003-eventdev-crypto-fix-multi-process.patch	2022-11-11 10:32:16.995300450 +0000
@@ -1 +1 @@
-From 8f4ff7de39693dfd26336afea5e12e1a7d8fd9b0 Mon Sep 17 00:00:00 2001
+From 11b702acfa5008555120e1d65cfb3813c6eed6d6 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8f4ff7de39693dfd26336afea5e12e1a7d8fd9b0 ]
+
@@ -14 +15,0 @@
-Cc: stable@dpdk.org
@@ -23 +24 @@
-index 59777726f6..3c585d7b0d 100644
+index d84080355d..142bfe9b9b 100644
@@ -26 +27 @@
-@@ -34,4 +34,6 @@
+@@ -31,4 +31,6 @@
@@ -31,3 +32,3 @@
- struct crypto_ops_circular_buffer {
- 	/* index of head element in circular buffer */
-@@ -139,5 +141,4 @@ static int
+ struct event_crypto_adapter {
+ 	/* Event device identifier */
+@@ -119,5 +121,4 @@ static int
@@ -39 +40 @@
-@@ -147,7 +148,8 @@ eca_init(void)
+@@ -127,7 +128,8 @@ eca_init(void)
@@ -50 +51 @@
-@@ -162,4 +164,20 @@ eca_init(void)
+@@ -142,4 +144,20 @@ eca_init(void)
@@ -69,3 +70,3 @@
- static inline bool
- eca_circular_buffer_batch_ready(struct crypto_ops_circular_buffer *bufp)
-@@ -1239,4 +1257,7 @@ rte_event_crypto_adapter_stats_get(uint8_t id,
+ static inline struct event_crypto_adapter *
+ eca_id_to_adapter(uint8_t id)
+@@ -1052,4 +1070,7 @@ rte_event_crypto_adapter_stats_get(uint8_t id,
@@ -79 +80 @@
-@@ -1280,4 +1301,7 @@ rte_event_crypto_adapter_stats_reset(uint8_t id)
+@@ -1093,4 +1114,7 @@ rte_event_crypto_adapter_stats_reset(uint8_t id)


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

* patch 'eventdev/eth_tx: fix queue delete' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
  2022-11-11 10:32 ` patch 'event/sw: fix log " Kevin Traynor
  2022-11-11 10:32 ` patch 'eventdev/crypto: fix multi-process' " Kevin Traynor
@ 2022-11-11 10:32 ` Kevin Traynor
  2022-11-11 10:32 ` patch 'gro: check payload length after trim' " Kevin Traynor
                   ` (42 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:32 UTC (permalink / raw)
  To: Naga Harish K S V; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From ff547815301b2c2c2a76eff7564e43712f6d625a 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/eventdev/rte_event_eth_tx_adapter.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/eventdev/rte_event_eth_tx_adapter.c b/lib/eventdev/rte_event_eth_tx_adapter.c
index 78418744ca..72e58974a8 100644
--- a/lib/eventdev/rte_event_eth_tx_adapter.c
+++ b/lib/eventdev/rte_event_eth_tx_adapter.c
@@ -868,4 +868,6 @@ txa_service_queue_del(uint8_t id,
 		int ret = 0;
 
+		if (txa->txa_ethdev == NULL)
+			return 0;
 		nb_queues = txa->txa_ethdev[port_id].nb_queues;
 		if (nb_queues == 0)
@@ -880,8 +882,8 @@ 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++;
 		}
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.213234306 +0000
+++ 0004-eventdev-eth_tx-fix-queue-delete.patch	2022-11-11 10:32:16.997300458 +0000
@@ -1 +1 @@
-From 75c5bfc320fdc41226cbeeb864161268fb344c49 Mon Sep 17 00:00:00 2001
+From ff547815301b2c2c2a76eff7564e43712f6d625a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 75c5bfc320fdc41226cbeeb864161268fb344c49 ]
+
@@ -20 +21,0 @@
-Cc: stable@dpdk.org
@@ -28 +29 @@
-index c2a848103b..88309d2aaa 100644
+index 78418744ca..72e58974a8 100644
@@ -31 +32 @@
-@@ -935,4 +935,6 @@ txa_service_queue_del(uint8_t id,
+@@ -868,4 +868,6 @@ txa_service_queue_del(uint8_t id,
@@ -38 +39 @@
-@@ -947,8 +949,8 @@ txa_service_queue_del(uint8_t id,
+@@ -880,8 +882,8 @@ txa_service_queue_del(uint8_t id,


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

* patch 'gro: check payload length after trim' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (2 preceding siblings ...)
  2022-11-11 10:32 ` patch 'eventdev/eth_tx: fix queue delete' " Kevin Traynor
@ 2022-11-11 10:32 ` Kevin Traynor
  2022-11-11 10:32 ` patch 'doc: fix support table for Ethernet/VLAN flow items' " Kevin Traynor
                   ` (41 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:32 UTC (permalink / raw)
  To: Kumara Parameshwaran; +Cc: Jiayu Hu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 5123b2346536b6858209ca90f4c925413708b17b Mon Sep 17 00:00:00 2001
From: Kumara Parameshwaran <kumaraparamesh92@gmail.com>
Date: Sun, 16 Oct 2022 20:13:05 +0530
Subject: [PATCH] gro: check payload length after trim

[ upstream commit 72f51b097a71fb9bdea13bdd254ff620b34c852e ]

When packet is padded with extra bytes the
the validation of the payload length should be done
after the trim operation

Fixes: b8a55871d5af ("gro: trim tail padding bytes")

Signed-off-by: Kumara Parameshwaran <kumaraparamesh92@gmail.com>
Acked-by: Jiayu Hu <jiayu.hu@intel.com>
---
 lib/gro/gro_tcp4.c | 15 ++++++++-------
 lib/gro/gro_udp4.c | 20 ++++++++++----------
 2 files changed, 18 insertions(+), 17 deletions(-)

diff --git a/lib/gro/gro_tcp4.c b/lib/gro/gro_tcp4.c
index ec3d9589b7..a6ca6eacc2 100644
--- a/lib/gro/gro_tcp4.c
+++ b/lib/gro/gro_tcp4.c
@@ -227,11 +227,4 @@ gro_tcp4_reassemble(struct rte_mbuf *pkt,
 	if (tcp_hdr->tcp_flags != RTE_TCP_ACK_FLAG)
 		return -1;
-	/*
-	 * Don't process the packet whose payload length is less than or
-	 * equal to 0.
-	 */
-	tcp_dl = pkt->pkt_len - hdr_len;
-	if (tcp_dl <= 0)
-		return -1;
 
 	/* trim the tail padding bytes */
@@ -240,4 +233,12 @@ gro_tcp4_reassemble(struct rte_mbuf *pkt,
 		rte_pktmbuf_trim(pkt, pkt->pkt_len - ip_tlen - pkt->l2_len);
 
+	/*
+	 * Don't process the packet whose payload length is less than or
+	 * equal to 0.
+	 */
+	tcp_dl = pkt->pkt_len - hdr_len;
+	if (tcp_dl <= 0)
+		return -1;
+
 	/*
 	 * Save IPv4 ID for the packet whose DF bit is 0. For the packet
diff --git a/lib/gro/gro_udp4.c b/lib/gro/gro_udp4.c
index a6d92fe5e7..5a2cabdb88 100644
--- a/lib/gro/gro_udp4.c
+++ b/lib/gro/gro_udp4.c
@@ -222,19 +222,19 @@ gro_udp4_reassemble(struct rte_mbuf *pkt,
 		return -1;
 
-	/*
-	 * Don't process the packet whose payload length is less than or
-	 * equal to 0.
-	 */
-	if (pkt->pkt_len <= hdr_len)
-		return -1;
-
 	ip_dl = rte_be_to_cpu_16(ipv4_hdr->total_length);
-	if (ip_dl <= pkt->l3_len)
-		return -1;
-
 	/* trim the tail padding bytes */
 	if (pkt->pkt_len > (uint32_t)(ip_dl + pkt->l2_len))
 		rte_pktmbuf_trim(pkt, pkt->pkt_len - ip_dl - pkt->l2_len);
 
+	/*
+	 * Don't process the packet whose payload length is less than or
+	 * equal to 0.
+	 */
+	if (pkt->pkt_len <= hdr_len)
+		return -1;
+
+	if (ip_dl <= pkt->l3_len)
+		return -1;
+
 	ip_dl -= pkt->l3_len;
 	ip_id = rte_be_to_cpu_16(ipv4_hdr->packet_id);
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.233525228 +0000
+++ 0005-gro-check-payload-length-after-trim.patch	2022-11-11 10:32:16.999300466 +0000
@@ -1 +1 @@
-From 72f51b097a71fb9bdea13bdd254ff620b34c852e Mon Sep 17 00:00:00 2001
+From 5123b2346536b6858209ca90f4c925413708b17b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 72f51b097a71fb9bdea13bdd254ff620b34c852e ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -21 +22 @@
-index 8f5e800250..0014096e63 100644
+index ec3d9589b7..a6ca6eacc2 100644
@@ -24 +25 @@
-@@ -226,11 +226,4 @@ gro_tcp4_reassemble(struct rte_mbuf *pkt,
+@@ -227,11 +227,4 @@ gro_tcp4_reassemble(struct rte_mbuf *pkt,
@@ -36 +37 @@
-@@ -239,4 +232,12 @@ gro_tcp4_reassemble(struct rte_mbuf *pkt,
+@@ -240,4 +233,12 @@ gro_tcp4_reassemble(struct rte_mbuf *pkt,
@@ -50 +51 @@
-index 839f9748b7..42596d33b6 100644
+index a6d92fe5e7..5a2cabdb88 100644
@@ -53 +54 @@
-@@ -221,19 +221,19 @@ gro_udp4_reassemble(struct rte_mbuf *pkt,
+@@ -222,19 +222,19 @@ gro_udp4_reassemble(struct rte_mbuf *pkt,


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

* patch 'doc: fix support table for Ethernet/VLAN flow items' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (3 preceding siblings ...)
  2022-11-11 10:32 ` patch 'gro: check payload length after trim' " Kevin Traynor
@ 2022-11-11 10:32 ` Kevin Traynor
  2022-11-11 10:32 ` patch 'app/testpmd: skip port reset in secondary process' " Kevin Traynor
                   ` (40 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:32 UTC (permalink / raw)
  To: Ilya Maximets; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 9f735dd4ae8a79b89506cc3f2fa3a7f09bc1d2d4 Mon Sep 17 00:00:00 2001
From: Ilya Maximets <i.maximets@ovn.org>
Date: Thu, 13 Oct 2022 12:48:49 +0200
Subject: [PATCH] doc: fix support table for Ethernet/VLAN flow items

[ upstream commit c983587d1e6ad0cfb5e1609a126467c28e854062 ]

'has_vlan' attribute is only supported by sfc, mlx5 and cnxk.
Other drivers doesn't support it.  Most of them (like i40e) just
ignore it silently.  Some drivers (like mlx4) never had a full
support of the eth item even before introduction of 'has_vlan'
(mlx4 allows to match on the destination MAC only).

Same for the 'has_more_vlan' flag of the vlan item.

'has_vlan' is part of 'rte_flow_item_eth', so changing 'eth'
field to 'partial support' in documentation for all such drivers.
'has_more_vlan' is part of 'rte_flow_item_vlan', so changing
'vlan' to 'partial support' as well.

This doesn't solve the issue, but at least marks the problematic
drivers.

Some details are available in:
  https://bugs.dpdk.org/show_bug.cgi?id=958

Fixes: 09315fc83861 ("ethdev: add VLAN attributes to ethernet and VLAN items")

Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
---
 doc/guides/nics/features/bnxt.ini   | 4 ++--
 doc/guides/nics/features/cxgbe.ini  | 4 ++--
 doc/guides/nics/features/dpaa2.ini  | 4 ++--
 doc/guides/nics/features/e1000.ini  | 2 +-
 doc/guides/nics/features/enic.ini   | 4 ++--
 doc/guides/nics/features/hinic.ini  | 2 +-
 doc/guides/nics/features/hns3.ini   | 4 ++--
 doc/guides/nics/features/i40e.ini   | 4 ++--
 doc/guides/nics/features/iavf.ini   | 4 ++--
 doc/guides/nics/features/ice.ini    | 4 ++--
 doc/guides/nics/features/igc.ini    | 2 +-
 doc/guides/nics/features/ipn3ke.ini | 4 ++--
 doc/guides/nics/features/ixgbe.ini  | 4 ++--
 doc/guides/nics/features/mlx4.ini   | 4 ++--
 doc/guides/nics/features/mvpp2.ini  | 4 ++--
 doc/guides/nics/features/tap.ini    | 4 ++--
 doc/guides/nics/features/txgbe.ini  | 4 ++--
 17 files changed, 31 insertions(+), 31 deletions(-)

diff --git a/doc/guides/nics/features/bnxt.ini b/doc/guides/nics/features/bnxt.ini
index afb5414b49..ac682c5779 100644
--- a/doc/guides/nics/features/bnxt.ini
+++ b/doc/guides/nics/features/bnxt.ini
@@ -58,5 +58,5 @@ Perf doc             = Y
 [rte_flow items]
 any                  = Y
-eth                  = Y
+eth                  = P
 ipv4                 = Y
 ipv6                 = Y
@@ -72,5 +72,5 @@ tcp                  = Y
 udp                  = Y
 vf                   = Y
-vlan                 = Y
+vlan                 = P
 vxlan                = Y
 
diff --git a/doc/guides/nics/features/cxgbe.ini b/doc/guides/nics/features/cxgbe.ini
index f674803ec4..f9912390fb 100644
--- a/doc/guides/nics/features/cxgbe.ini
+++ b/doc/guides/nics/features/cxgbe.ini
@@ -37,5 +37,5 @@ Usage doc            = Y
 
 [rte_flow items]
-eth                  = Y
+eth                  = P
 ipv4                 = Y
 ipv6                 = Y
@@ -45,5 +45,5 @@ tcp                  = Y
 udp                  = Y
 vf                   = Y
-vlan                 = Y
+vlan                 = P
 
 [rte_flow actions]
diff --git a/doc/guides/nics/features/dpaa2.ini b/doc/guides/nics/features/dpaa2.ini
index 4c06841a87..09ce66c788 100644
--- a/doc/guides/nics/features/dpaa2.ini
+++ b/doc/guides/nics/features/dpaa2.ini
@@ -32,5 +32,5 @@ Usage doc            = Y
 
 [rte_flow items]
-eth                  = Y
+eth                  = P
 gre                  = Y
 icmp                 = Y
@@ -42,5 +42,5 @@ sctp                 = Y
 tcp                  = Y
 udp                  = Y
-vlan                 = Y
+vlan                 = P
 
 [rte_flow actions]
diff --git a/doc/guides/nics/features/e1000.ini b/doc/guides/nics/features/e1000.ini
index e4bdef6da9..a9cbed1c3c 100644
--- a/doc/guides/nics/features/e1000.ini
+++ b/doc/guides/nics/features/e1000.ini
@@ -32,5 +32,5 @@ x86-64               = Y
 
 [rte_flow items]
-eth                  = Y
+eth                  = P
 ipv4                 = Y
 ipv6                 = Y
diff --git a/doc/guides/nics/features/enic.ini b/doc/guides/nics/features/enic.ini
index 1177752c15..3247ea868e 100644
--- a/doc/guides/nics/features/enic.ini
+++ b/doc/guides/nics/features/enic.ini
@@ -40,5 +40,5 @@ Usage doc            = Y
 
 [rte_flow items]
-eth                  = Y
+eth                  = P
 gtp                  = Y
 gtpc                 = Y
@@ -50,5 +50,5 @@ sctp                 = Y
 tcp                  = Y
 udp                  = Y
-vlan                 = Y
+vlan                 = P
 vxlan                = Y
 
diff --git a/doc/guides/nics/features/hinic.ini b/doc/guides/nics/features/hinic.ini
index 9f6f0ebf3a..ada6607fe9 100644
--- a/doc/guides/nics/features/hinic.ini
+++ b/doc/guides/nics/features/hinic.ini
@@ -41,5 +41,5 @@ ARMv8                = Y
 [rte_flow items]
 any                  = Y
-eth                  = Y
+eth                  = P
 icmp                 = Y
 icmp6                = Y
diff --git a/doc/guides/nics/features/hns3.ini b/doc/guides/nics/features/hns3.ini
index 405b94f05c..338b4e6864 100644
--- a/doc/guides/nics/features/hns3.ini
+++ b/doc/guides/nics/features/hns3.ini
@@ -52,5 +52,5 @@ ARMv8                = Y
 
 [rte_flow items]
-eth                  = Y
+eth                  = P
 geneve               = Y
 icmp                 = Y
@@ -61,5 +61,5 @@ sctp                 = Y
 tcp                  = Y
 udp                  = Y
-vlan                 = Y
+vlan                 = P
 vxlan                = Y
 vxlan_gpe            = Y
diff --git a/doc/guides/nics/features/i40e.ini b/doc/guides/nics/features/i40e.ini
index dd18fec217..6e141de326 100644
--- a/doc/guides/nics/features/i40e.ini
+++ b/doc/guides/nics/features/i40e.ini
@@ -55,5 +55,5 @@ Power8               = Y
 ah                   = Y
 esp                  = Y
-eth                  = Y
+eth                  = P
 gre                  = Y
 gtpc                 = Y
@@ -70,5 +70,5 @@ tcp                  = Y
 udp                  = Y
 vf                   = Y
-vlan                 = Y
+vlan                 = P
 vxlan                = Y
 
diff --git a/doc/guides/nics/features/iavf.ini b/doc/guides/nics/features/iavf.ini
index 01f514239e..c6694a1a94 100644
--- a/doc/guides/nics/features/iavf.ini
+++ b/doc/guides/nics/features/iavf.ini
@@ -41,5 +41,5 @@ arp_eth_ipv4         = Y
 ecpri                = Y
 esp                  = Y
-eth                  = Y
+eth                  = P
 gre                  = Y
 gtpc                 = Y
@@ -58,5 +58,5 @@ sctp                 = Y
 tcp                  = Y
 udp                  = Y
-vlan                 = Y
+vlan                 = P
 
 [rte_flow actions]
diff --git a/doc/guides/nics/features/ice.ini b/doc/guides/nics/features/ice.ini
index a15f42f94c..0d911590b7 100644
--- a/doc/guides/nics/features/ice.ini
+++ b/doc/guides/nics/features/ice.ini
@@ -53,5 +53,5 @@ ah                   = Y
 arp_eth_ipv4         = Y
 esp                  = Y
-eth                  = Y
+eth                  = P
 gtpu                 = Y
 gtp_psc              = Y
@@ -71,5 +71,5 @@ sctp                 = Y
 tcp                  = Y
 udp                  = Y
-vlan                 = Y
+vlan                 = P
 vxlan                = Y
 
diff --git a/doc/guides/nics/features/igc.ini b/doc/guides/nics/features/igc.ini
index f2c6fa28ad..b5deea3f61 100644
--- a/doc/guides/nics/features/igc.ini
+++ b/doc/guides/nics/features/igc.ini
@@ -36,5 +36,5 @@ x86-64               = Y
 
 [rte_flow items]
-eth                  = Y
+eth                  = P
 ipv4                 = Y
 ipv6                 = Y
diff --git a/doc/guides/nics/features/ipn3ke.ini b/doc/guides/nics/features/ipn3ke.ini
index defc39f525..1f6b780273 100644
--- a/doc/guides/nics/features/ipn3ke.ini
+++ b/doc/guides/nics/features/ipn3ke.ini
@@ -48,5 +48,5 @@ x86-64               = Y
 
 [rte_flow items]
-eth                  = Y
+eth                  = P
 ipv4                 = Y
 mpls                 = Y
@@ -54,5 +54,5 @@ nvgre                = Y
 tcp                  = Y
 udp                  = Y
-vlan                 = Y
+vlan                 = P
 vxlan                = Y
 
diff --git a/doc/guides/nics/features/ixgbe.ini b/doc/guides/nics/features/ixgbe.ini
index c5333d1142..e5cef81f9a 100644
--- a/doc/guides/nics/features/ixgbe.ini
+++ b/doc/guides/nics/features/ixgbe.ini
@@ -57,5 +57,5 @@ x86-64               = Y
 
 [rte_flow items]
-eth                  = Y
+eth                  = P
 e_tag                = Y
 fuzzy                = Y
@@ -67,5 +67,5 @@ sctp                 = Y
 tcp                  = Y
 udp                  = Y
-vlan                 = Y
+vlan                 = P
 vxlan                = Y
 
diff --git a/doc/guides/nics/features/mlx4.ini b/doc/guides/nics/features/mlx4.ini
index 82f6f0bc0b..03f59a5f8b 100644
--- a/doc/guides/nics/features/mlx4.ini
+++ b/doc/guides/nics/features/mlx4.ini
@@ -39,9 +39,9 @@ Usage doc            = Y
 
 [rte_flow items]
-eth                  = Y
+eth                  = P
 ipv4                 = Y
 tcp                  = Y
 udp                  = Y
-vlan                 = Y
+vlan                 = P
 
 [rte_flow actions]
diff --git a/doc/guides/nics/features/mvpp2.ini b/doc/guides/nics/features/mvpp2.ini
index 1bcf74875e..653c9d08cb 100644
--- a/doc/guides/nics/features/mvpp2.ini
+++ b/doc/guides/nics/features/mvpp2.ini
@@ -25,5 +25,5 @@ Usage doc            = Y
 
 [rte_flow items]
-eth                  = Y
+eth                  = P
 ipv4                 = Y
 ipv6                 = Y
@@ -31,5 +31,5 @@ raw                  = Y
 tcp                  = Y
 udp                  = Y
-vlan                 = Y
+vlan                 = P
 
 [rte_flow actions]
diff --git a/doc/guides/nics/features/tap.ini b/doc/guides/nics/features/tap.ini
index b4a356e5d5..f26355e57f 100644
--- a/doc/guides/nics/features/tap.ini
+++ b/doc/guides/nics/features/tap.ini
@@ -28,10 +28,10 @@ Usage doc            = Y
 
 [rte_flow items]
-eth                  = Y
+eth                  = P
 ipv4                 = Y
 ipv6                 = Y
 tcp                  = Y
 udp                  = Y
-vlan                 = Y
+vlan                 = P
 
 [rte_flow actions]
diff --git a/doc/guides/nics/features/txgbe.ini b/doc/guides/nics/features/txgbe.ini
index 6d0cc8afdd..958f8ac793 100644
--- a/doc/guides/nics/features/txgbe.ini
+++ b/doc/guides/nics/features/txgbe.ini
@@ -53,5 +53,5 @@ x86-64               = Y
 
 [rte_flow items]
-eth                  = Y
+eth                  = P
 e_tag                = Y
 fuzzy                = Y
@@ -63,5 +63,5 @@ sctp                 = Y
 tcp                  = Y
 udp                  = Y
-vlan                 = Y
+vlan                 = P
 vxlan                = Y
 
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.253507802 +0000
+++ 0006-doc-fix-support-table-for-Ethernet-VLAN-flow-items.patch	2022-11-11 10:32:17.003300482 +0000
@@ -1 +1 @@
-From c983587d1e6ad0cfb5e1609a126467c28e854062 Mon Sep 17 00:00:00 2001
+From 9f735dd4ae8a79b89506cc3f2fa3a7f09bc1d2d4 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c983587d1e6ad0cfb5e1609a126467c28e854062 ]
+
@@ -26 +27,0 @@
-Cc: stable@dpdk.org
@@ -50 +51 @@
-index b2d54f06aa..50a0b5bfa6 100644
+index afb5414b49..ac682c5779 100644
@@ -60,2 +61 @@
-@@ -69,5 +69,5 @@ represented_port     = Y
- tcp                  = Y
+@@ -72,5 +72,5 @@ tcp                  = Y
@@ -62,0 +63 @@
+ vf                   = Y
@@ -68 +69 @@
-index a9dbcd0573..0d67ca8720 100644
+index f674803ec4..f9912390fb 100644
@@ -71 +72 @@
-@@ -37,10 +37,10 @@ Usage doc            = Y
+@@ -37,5 +37,5 @@ Usage doc            = Y
@@ -78 +79 @@
- tcp                  = Y
+@@ -45,5 +45,5 @@ tcp                  = Y
@@ -79,0 +81 @@
+ vf                   = Y
@@ -85 +87 @@
-index cedc234f26..26dc8c2178 100644
+index 4c06841a87..09ce66c788 100644
@@ -114 +116 @@
-index 61bec4910e..6dbea9f36e 100644
+index 1177752c15..3247ea868e 100644
@@ -117 +119,2 @@
-@@ -41,5 +41,5 @@ Usage doc            = Y
+@@ -40,5 +40,5 @@ Usage doc            = Y
+ 
@@ -119 +121,0 @@
- ecpri                = Y
@@ -122,3 +124,3 @@
- geneve               = Y
- geneve_opt           = Y
-@@ -53,5 +53,5 @@ sctp                 = Y
+ gtp                  = Y
+ gtpc                 = Y
+@@ -50,5 +50,5 @@ sctp                 = Y
@@ -161 +163 @@
-index 95e39aaba0..e241dad047 100644
+index dd18fec217..6e141de326 100644
@@ -171,2 +173 @@
-@@ -69,5 +69,5 @@ sctp                 = Y
- tcp                  = Y
+@@ -70,5 +70,5 @@ tcp                  = Y
@@ -173,0 +175 @@
+ vf                   = Y
@@ -179 +181 @@
-index eeda6b7210..9db2865b71 100644
+index 01f514239e..c6694a1a94 100644
@@ -182 +184 @@
-@@ -44,5 +44,5 @@ arp_eth_ipv4         = Y
+@@ -41,5 +41,5 @@ arp_eth_ipv4         = Y
@@ -189 +191 @@
-@@ -62,5 +62,5 @@ sctp                 = Y
+@@ -58,5 +58,5 @@ sctp                 = Y
@@ -197 +199 @@
-index 032da8e2e2..13f8871dcc 100644
+index a15f42f94c..0d911590b7 100644
@@ -200 +202 @@
-@@ -56,5 +56,5 @@ any                  = Y
+@@ -53,5 +53,5 @@ ah                   = Y
@@ -207 +209 @@
-@@ -74,5 +74,5 @@ sctp                 = Y
+@@ -71,5 +71,5 @@ sctp                 = Y
@@ -244 +246 @@
-index 97c0a6af9e..8590ac857f 100644
+index c5333d1142..e5cef81f9a 100644
@@ -247 +249 @@
-@@ -59,5 +59,5 @@ x86-64               = Y
+@@ -57,5 +57,5 @@ x86-64               = Y
@@ -254 +256 @@
-@@ -69,5 +69,5 @@ sctp                 = Y
+@@ -67,5 +67,5 @@ sctp                 = Y
@@ -313 +315 @@
-index 22c74ba9e3..e21083052c 100644
+index 6d0cc8afdd..958f8ac793 100644
@@ -316 +318 @@
-@@ -54,5 +54,5 @@ x86-64               = Y
+@@ -53,5 +53,5 @@ x86-64               = Y
@@ -323 +325 @@
-@@ -64,5 +64,5 @@ sctp                 = Y
+@@ -63,5 +63,5 @@ sctp                 = Y


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

* patch 'app/testpmd: skip port reset in secondary process' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (4 preceding siblings ...)
  2022-11-11 10:32 ` patch 'doc: fix support table for Ethernet/VLAN flow items' " Kevin Traynor
@ 2022-11-11 10:32 ` Kevin Traynor
  2022-11-11 10:32 ` patch 'net/bonding: fix descriptor limit reporting' " Kevin Traynor
                   ` (39 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:32 UTC (permalink / raw)
  To: Qiming Yang; +Cc: Aman Singh, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 3eec40cfc981278998310420c6816adddc3b0007 Mon Sep 17 00:00:00 2001
From: Qiming Yang <qiming.yang@intel.com>
Date: Wed, 12 Oct 2022 07:43:59 +0000
Subject: [PATCH] app/testpmd: skip port reset in secondary process

[ upstream commit e9351eaa4c457d5e4acd44efb0c36185c0350229 ]

As stop action has been forbidden in secondary process, so
the reset action should also not be allowed.

Fixes: a550baf24af9 ("app/testpmd: support multi-process")

Signed-off-by: Qiming Yang <qiming.yang@intel.com>
Acked-by: Aman Singh <aman.deep.singh@intel.com>
---
 app/test-pmd/testpmd.c                | 18 ++++++++++--------
 doc/guides/testpmd_app_ug/run_app.rst |  1 +
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index 3699c5fd64..3a8eef48e4 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -3337,12 +3337,14 @@ reset_port(portid_t pid)
 		}
 
-		diag = rte_eth_dev_reset(pi);
-		if (diag == 0) {
-			port = &ports[pi];
-			port->need_reconfig = 1;
-			port->need_reconfig_queues = 1;
-		} else {
-			fprintf(stderr, "Failed to reset port %d. diag=%d\n",
-				pi, diag);
+		if (is_proc_primary()) {
+			diag = rte_eth_dev_reset(pi);
+			if (diag == 0) {
+				port = &ports[pi];
+				port->need_reconfig = 1;
+				port->need_reconfig_queues = 1;
+			} else {
+				fprintf(stderr, "Failed to reset port %d. diag=%d\n",
+					pi, diag);
+			}
 		}
 	}
diff --git a/doc/guides/testpmd_app_ug/run_app.rst b/doc/guides/testpmd_app_ug/run_app.rst
index 30edef07ea..ccc1bd6ddb 100644
--- a/doc/guides/testpmd_app_ug/run_app.rst
+++ b/doc/guides/testpmd_app_ug/run_app.rst
@@ -622,4 +622,5 @@ as follows:
 - ``dev_start``
 - ``dev_stop``
+- ``dev_reset``
 - ``rx_queue_setup``
 - ``tx_queue_setup``
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.274984567 +0000
+++ 0007-app-testpmd-skip-port-reset-in-secondary-process.patch	2022-11-11 10:32:17.009300506 +0000
@@ -1 +1 @@
-From e9351eaa4c457d5e4acd44efb0c36185c0350229 Mon Sep 17 00:00:00 2001
+From 3eec40cfc981278998310420c6816adddc3b0007 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e9351eaa4c457d5e4acd44efb0c36185c0350229 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index f4f1888446..aa7ea29f15 100644
+index 3699c5fd64..3a8eef48e4 100644
@@ -23 +24 @@
-@@ -3340,12 +3340,14 @@ reset_port(portid_t pid)
+@@ -3337,12 +3337,14 @@ reset_port(portid_t pid)
@@ -47 +48 @@
-index 876eb78ada..610e442924 100644
+index 30edef07ea..ccc1bd6ddb 100644
@@ -50 +51 @@
-@@ -601,4 +601,5 @@ as follows:
+@@ -622,4 +622,5 @@ as follows:


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

* patch 'net/bonding: fix descriptor limit reporting' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (5 preceding siblings ...)
  2022-11-11 10:32 ` patch 'app/testpmd: skip port reset in secondary process' " Kevin Traynor
@ 2022-11-11 10:32 ` Kevin Traynor
  2022-11-11 10:32 ` patch 'net/ionic: fix endianness for Rx and Tx' " Kevin Traynor
                   ` (38 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:32 UTC (permalink / raw)
  To: Ivan Malov; +Cc: Andrew Rybchenko, Chas Williams, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From bef918a46822d1d61955c81eb70e3a122ca0bf20 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 3402cb380b..c88ba2ae42 100644
--- a/drivers/net/bonding/rte_eth_bond_pmd.c
+++ b/drivers/net/bonding/rte_eth_bond_pmd.c
@@ -2202,6 +2202,4 @@ 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;
@@ -2237,10 +2235,4 @@ 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;
 		}
 	}
@@ -2254,6 +2246,8 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
 	       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));
 
 	/**
@@ -3389,4 +3383,11 @@ bond_alloc(struct rte_vdev_device *dev, uint8_t mode)
 	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 10:32:17.297630668 +0000
+++ 0008-net-bonding-fix-descriptor-limit-reporting.patch	2022-11-11 10:32:17.013300523 +0000
@@ -1 +1 @@
-From d03c0e83cc0042dc35e37f984de15533b09e6ac9 Mon Sep 17 00:00:00 2001
+From bef918a46822d1d61955c81eb70e3a122ca0bf20 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 3402cb380b..c88ba2ae42 100644
@@ -36 +37 @@
-@@ -2206,6 +2206,4 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
+@@ -2202,6 +2202,4 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
@@ -43 +44 @@
-@@ -2241,10 +2239,4 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
+@@ -2237,10 +2235,4 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
@@ -54 +55 @@
-@@ -2258,6 +2250,8 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
+@@ -2254,6 +2246,8 @@ bond_ethdev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info)
@@ -65 +66 @@
-@@ -3394,4 +3388,11 @@ bond_alloc(struct rte_vdev_device *dev, uint8_t mode)
+@@ -3389,4 +3383,11 @@ bond_alloc(struct rte_vdev_device *dev, uint8_t mode)


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

* patch 'net/ionic: fix endianness for Rx and Tx' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (6 preceding siblings ...)
  2022-11-11 10:32 ` patch 'net/bonding: fix descriptor limit reporting' " Kevin Traynor
@ 2022-11-11 10:32 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'net/ionic: fix endianness for RSS' " Kevin Traynor
                   ` (37 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:32 UTC (permalink / raw)
  To: Andrew Boyer; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 10f2105159978fdb4bbbf6858e303279b4e762f1 Mon Sep 17 00:00:00 2001
From: Andrew Boyer <andrew.boyer@amd.com>
Date: Tue, 18 Oct 2022 12:40:56 -0700
Subject: [PATCH] net/ionic: fix endianness for Rx and Tx

[ upstream commit 4a7355999062ba6096c8b0f48b4df344df9bf60f ]

These fields all need to be LE when talking to the FW.

Fixes: a27d901331da ("net/ionic: add Rx and Tx handling")

Signed-off-by: Andrew Boyer <andrew.boyer@amd.com>
---
 drivers/net/ionic/ionic_rxtx.c | 27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

diff --git a/drivers/net/ionic/ionic_rxtx.c b/drivers/net/ionic/ionic_rxtx.c
index 9f602de6a9..af2d89f9fa 100644
--- a/drivers/net/ionic/ionic_rxtx.c
+++ b/drivers/net/ionic/ionic_rxtx.c
@@ -301,4 +301,5 @@ ionic_tx_tso_post(struct ionic_queue *q, struct ionic_txq_desc *desc,
 {
 	void **info;
+	uint64_t cmd;
 	uint8_t flags = 0;
 	flags |= has_vlan ? IONIC_TXQ_DESC_FLAG_VLAN : 0;
@@ -307,10 +308,11 @@ ionic_tx_tso_post(struct ionic_queue *q, struct ionic_txq_desc *desc,
 	flags |= done ? IONIC_TXQ_DESC_FLAG_TSO_EOT : 0;
 
-	desc->cmd = encode_txq_desc_cmd(IONIC_TXQ_DESC_OPCODE_TSO,
+	cmd = encode_txq_desc_cmd(IONIC_TXQ_DESC_OPCODE_TSO,
 		flags, nsge, addr);
-	desc->len = len;
-	desc->vlan_tci = vlan_tci;
-	desc->hdr_len = hdrlen;
-	desc->mss = mss;
+	desc->cmd = rte_cpu_to_le_64(cmd);
+	desc->len = rte_cpu_to_le_16(len);
+	desc->vlan_tci = rte_cpu_to_le_16(vlan_tci);
+	desc->hdr_len = rte_cpu_to_le_16(hdrlen);
+	desc->mss = rte_cpu_to_le_16(mss);
 
 	if (done) {
@@ -424,5 +426,5 @@ ionic_tx_tso(struct ionic_tx_qcq *txq, struct rte_mbuf *txm)
 				frag_left -= len;
 				elem->addr = next_addr;
-				elem->len = len;
+				elem->len = rte_cpu_to_le_16(len);
 				elem++;
 				desc_nsge++;
@@ -471,5 +473,5 @@ ionic_tx(struct ionic_tx_qcq *txq, struct rte_mbuf *txm)
 	bool has_vlan;
 	uint64_t ol_flags = txm->ol_flags;
-	uint64_t addr;
+	uint64_t addr, cmd;
 	uint8_t opcode = IONIC_TXQ_DESC_OPCODE_CSUM_NONE;
 	uint8_t flags = 0;
@@ -506,7 +508,8 @@ ionic_tx(struct ionic_tx_qcq *txq, struct rte_mbuf *txm)
 	addr = rte_cpu_to_le_64(rte_mbuf_data_iova(txm));
 
-	desc->cmd = encode_txq_desc_cmd(opcode, flags, txm->nb_segs - 1, addr);
-	desc->len = txm->data_len;
-	desc->vlan_tci = txm->vlan_tci;
+	cmd = encode_txq_desc_cmd(opcode, flags, txm->nb_segs - 1, addr);
+	desc->cmd = rte_cpu_to_le_64(cmd);
+	desc->len = rte_cpu_to_le_16(txm->data_len);
+	desc->vlan_tci = rte_cpu_to_le_16(txm->vlan_tci);
 
 	info[0] = txm;
@@ -516,5 +519,5 @@ ionic_tx(struct ionic_tx_qcq *txq, struct rte_mbuf *txm)
 	txm_seg = txm->next;
 	while (txm_seg != NULL) {
-		elem->len = txm_seg->data_len;
+		elem->len = rte_cpu_to_le_16(txm_seg->data_len);
 		elem->addr = rte_cpu_to_le_64(rte_mbuf_data_iova(txm_seg));
 		elem++;
@@ -846,5 +849,5 @@ ionic_rx_clean(struct ionic_rx_qcq *rxq,
 	if (cq_desc->csum_flags & IONIC_RXQ_COMP_CSUM_F_VLAN) {
 		pkt_flags |= RTE_MBUF_F_RX_VLAN | RTE_MBUF_F_RX_VLAN_STRIPPED;
-		rxm->vlan_tci = cq_desc->vlan_tci;
+		rxm->vlan_tci = rte_le_to_cpu_16(cq_desc->vlan_tci);
 	}
 
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.319462957 +0000
+++ 0009-net-ionic-fix-endianness-for-Rx-and-Tx.patch	2022-11-11 10:32:17.014300527 +0000
@@ -1 +1 @@
-From 4a7355999062ba6096c8b0f48b4df344df9bf60f Mon Sep 17 00:00:00 2001
+From 10f2105159978fdb4bbbf6858e303279b4e762f1 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4a7355999062ba6096c8b0f48b4df344df9bf60f ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org


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

* patch 'net/ionic: fix endianness for RSS' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (7 preceding siblings ...)
  2022-11-11 10:32 ` patch 'net/ionic: fix endianness for Rx and Tx' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'net/ionic: fix adapter name for logging' " Kevin Traynor
                   ` (36 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Andrew Boyer; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 2192d8fbf3ef38b9c33b20616f19ee49aecc24f8 Mon Sep 17 00:00:00 2001
From: Andrew Boyer <andrew.boyer@amd.com>
Date: Tue, 18 Oct 2022 12:40:57 -0700
Subject: [PATCH] net/ionic: fix endianness for RSS

[ upstream commit 7506961a48548d55575ca6cd7c3b4009f0112b03 ]

This field needs to be LE when talking to the FW.

Fixes: 22e7171bc63b ("net/ionic: support RSS")

Signed-off-by: Andrew Boyer <andrew.boyer@amd.com>
---
 drivers/net/ionic/ionic_rxtx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ionic/ionic_rxtx.c b/drivers/net/ionic/ionic_rxtx.c
index af2d89f9fa..665d085823 100644
--- a/drivers/net/ionic/ionic_rxtx.c
+++ b/drivers/net/ionic/ionic_rxtx.c
@@ -844,5 +844,5 @@ ionic_rx_clean(struct ionic_rx_qcq *rxq,
 	/* RSS */
 	pkt_flags |= RTE_MBUF_F_RX_RSS_HASH;
-	rxm->hash.rss = cq_desc->rss_hash;
+	rxm->hash.rss = rte_le_to_cpu_32(cq_desc->rss_hash);
 
 	/* Vlan Strip */
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.339917899 +0000
+++ 0010-net-ionic-fix-endianness-for-RSS.patch	2022-11-11 10:32:17.015300531 +0000
@@ -1 +1 @@
-From 7506961a48548d55575ca6cd7c3b4009f0112b03 Mon Sep 17 00:00:00 2001
+From 2192d8fbf3ef38b9c33b20616f19ee49aecc24f8 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7506961a48548d55575ca6cd7c3b4009f0112b03 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org


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

* patch 'net/ionic: fix adapter name for logging' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (8 preceding siblings ...)
  2022-11-11 10:33 ` patch 'net/ionic: fix endianness for RSS' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'net/ionic: fix Rx filter save' " Kevin Traynor
                   ` (35 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Andrew Boyer; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 1bd9b205c8d6d5fe8ce6342666bbc8e3c0a5977b Mon Sep 17 00:00:00 2001
From: Andrew Boyer <andrew.boyer@amd.com>
Date: Tue, 18 Oct 2022 12:40:58 -0700
Subject: [PATCH] net/ionic: fix adapter name for logging

[ upstream commit d8fad46a3f7e1f96945ea5a509041eef93ada835 ]

Otherwise the log messages will be garbled.

Fixes: 4ae96cb88fa0 ("net/ionic: do minor logging fixups")

Signed-off-by: Andrew Boyer <andrew.boyer@amd.com>
---
 drivers/net/ionic/ionic_dev.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ionic/ionic_dev.c b/drivers/net/ionic/ionic_dev.c
index 43e9ca3de3..5439b99b2d 100644
--- a/drivers/net/ionic/ionic_dev.c
+++ b/drivers/net/ionic/ionic_dev.c
@@ -56,5 +56,8 @@ ionic_dev_setup(struct ionic_adapter *adapter)
 	adapter->fw_version[IONIC_DEVINFO_FWVERS_BUFLEN - 1] = '\0';
 
-	IONIC_PRINT(DEBUG, "Firmware version: %s", adapter->fw_version);
+	adapter->name = adapter->pci_dev->device.name;
+
+	IONIC_PRINT(DEBUG, "%s firmware version: %s",
+		adapter->name, adapter->fw_version);
 
 	/* BAR1: doorbells */
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.360152562 +0000
+++ 0011-net-ionic-fix-adapter-name-for-logging.patch	2022-11-11 10:32:17.015300531 +0000
@@ -1 +1 @@
-From d8fad46a3f7e1f96945ea5a509041eef93ada835 Mon Sep 17 00:00:00 2001
+From 1bd9b205c8d6d5fe8ce6342666bbc8e3c0a5977b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit d8fad46a3f7e1f96945ea5a509041eef93ada835 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org


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

* patch 'net/ionic: fix Rx filter save' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (9 preceding siblings ...)
  2022-11-11 10:33 ` patch 'net/ionic: fix adapter name for logging' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'net/ionic: fix reported error stats' " Kevin Traynor
                   ` (34 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Andrew Boyer; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 3d2c9fd691dbd1de955e6e2f5ac03be29f8aa892 Mon Sep 17 00:00:00 2001
From: Andrew Boyer <andrew.boyer@amd.com>
Date: Tue, 18 Oct 2022 12:40:59 -0700
Subject: [PATCH] net/ionic: fix Rx filter save

[ upstream commit 5ab2983c80af20239aad4bb6412ae06e3bfb35a6 ]

Check the match variable after copying cmd info, or else there can
be unexpected results.

Fixes: a27e0e96ab77 ("net/ionic: observe endianness in Rx filter")

Signed-off-by: Andrew Boyer <andrew.boyer@amd.com>
---
 drivers/net/ionic/ionic_rx_filter.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ionic/ionic_rx_filter.c b/drivers/net/ionic/ionic_rx_filter.c
index bf57a9fa52..4b2e907f9f 100644
--- a/drivers/net/ionic/ionic_rx_filter.c
+++ b/drivers/net/ionic/ionic_rx_filter.c
@@ -64,6 +64,6 @@ ionic_rx_filter_save(struct ionic_lif *lif, uint32_t flow_id,
 	f->filter_id = rte_le_to_cpu_32(ctx->comp.rx_filter_add.filter_id);
 	f->rxq_index = rxq_index;
-	f->match = rte_le_to_cpu_16(f->cmd.match);
 	memcpy(&f->cmd, &ctx->cmd, sizeof(f->cmd));
+	f->match = rte_le_to_cpu_16(f->cmd.match);
 
 	switch (f->match) {
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.380005706 +0000
+++ 0012-net-ionic-fix-Rx-filter-save.patch	2022-11-11 10:32:17.016300535 +0000
@@ -1 +1 @@
-From 5ab2983c80af20239aad4bb6412ae06e3bfb35a6 Mon Sep 17 00:00:00 2001
+From 3d2c9fd691dbd1de955e6e2f5ac03be29f8aa892 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 5ab2983c80af20239aad4bb6412ae06e3bfb35a6 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org


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

* patch 'net/ionic: fix reported error stats' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (10 preceding siblings ...)
  2022-11-11 10:33 ` patch 'net/ionic: fix Rx filter save' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'app/testpmd: remove jumbo offload' " Kevin Traynor
                   ` (33 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Andrew Boyer; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 4606affa8c01d3178c35feb5fe17a841739078cf Mon Sep 17 00:00:00 2001
From: Andrew Boyer <andrew.boyer@amd.com>
Date: Tue, 18 Oct 2022 12:41:00 -0700
Subject: [PATCH] net/ionic: fix reported error stats

[ upstream commit 26cc5dc29a3aa6a05f66ac269b346689028ee462 ]

Report descriptor errors in ierrors instead of imissed.
Don't report rx_queue_empty or rx_queue_disabled in imissed,
since those packet errors are already included in the
rx_*_drop_packets counters.
This makes the reported stats correct.

Fixes: 3cdfd90579e7 ("net/ionic: add stats")

Signed-off-by: Andrew Boyer <andrew.boyer@amd.com>
---
 drivers/net/ionic/ionic_lif.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ionic/ionic_lif.c b/drivers/net/ionic/ionic_lif.c
index 5e8fdf3893..799530f7f5 100644
--- a/drivers/net/ionic/ionic_lif.c
+++ b/drivers/net/ionic/ionic_lif.c
@@ -133,5 +133,5 @@ ionic_lif_get_abs_stats(const struct ionic_lif *lif, struct rte_eth_stats *stats
 	for (i = 0; i < lif->nrxqcqs; i++) {
 		struct ionic_rx_stats *rx_stats = &lif->rxqcqs[i]->stats;
-		stats->imissed +=
+		stats->ierrors +=
 			rx_stats->no_cb_arg +
 			rx_stats->bad_cq_status +
@@ -145,8 +145,6 @@ ionic_lif_get_abs_stats(const struct ionic_lif *lif, struct rte_eth_stats *stats
 		ls->rx_bcast_drop_packets;
 
-	stats->imissed +=
-		ls->rx_queue_empty +
+	stats->ierrors +=
 		ls->rx_dma_error +
-		ls->rx_queue_disabled +
 		ls->rx_desc_fetch_error +
 		ls->rx_desc_data_error;
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.399275062 +0000
+++ 0013-net-ionic-fix-reported-error-stats.patch	2022-11-11 10:32:17.017300539 +0000
@@ -1 +1 @@
-From 26cc5dc29a3aa6a05f66ac269b346689028ee462 Mon Sep 17 00:00:00 2001
+From 4606affa8c01d3178c35feb5fe17a841739078cf Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 26cc5dc29a3aa6a05f66ac269b346689028ee462 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org


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

* patch 'app/testpmd: remove jumbo offload' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (11 preceding siblings ...)
  2022-11-11 10:33 ` patch 'net/ionic: fix reported error stats' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'net/nfp: fix internal buffer size and MTU check' " Kevin Traynor
                   ` (32 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Chengwen Feng; +Cc: Andrew Rybchenko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 298ba5a47b3350ac81fe9eae0d0a92f81f93a1b4 Mon Sep 17 00:00:00 2001
From: Chengwen Feng <fengchengwen@huawei.com>
Date: Mon, 17 Oct 2022 09:05:50 +0000
Subject: [PATCH] app/testpmd: remove jumbo offload

[ upstream commit 020dbb4c2ab66f1a287e839def137dd434c0019f ]

The jumbo offload was removed from patch [1], but testpmd still exist
jumbo offload related code, this patch removes it, and also updates
the rst file.

[1] ethdev: remove jumbo offload flag

Fixes: b563c1421282 ("ethdev: remove jumbo offload flag")

Signed-off-by: Chengwen Feng <fengchengwen@huawei.com>
Reviewed-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
---
 app/test-pmd/cmdline.c                      | 12 ++++++------
 app/test-pmd/testpmd.h                      |  1 -
 doc/guides/testpmd_app_ug/testpmd_funcs.rst |  4 ++--
 3 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index d9bf0eb3b3..82386c02ee 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -857,5 +857,5 @@ static void cmd_help_long_parsed(void *parsed_result,
 			"ipv4_cksum|udp_cksum|tcp_cksum|tcp_lro|qinq_strip|"
 			"outer_ipv4_cksum|macsec_strip|header_split|"
-			"vlan_filter|vlan_extend|jumbo_frame|scatter|"
+			"vlan_filter|vlan_extend|scatter|"
 			"buffer_split|timestamp|security|keep_crc on|off\n"
 			"     Enable or disable a per port Rx offloading"
@@ -865,5 +865,5 @@ static void cmd_help_long_parsed(void *parsed_result,
 			"ipv4_cksum|udp_cksum|tcp_cksum|tcp_lro|qinq_strip|"
 			"outer_ipv4_cksum|macsec_strip|header_split|"
-			"vlan_filter|vlan_extend|jumbo_frame|scatter|"
+			"vlan_filter|vlan_extend|scatter|"
 			"buffer_split|timestamp|security|keep_crc on|off\n"
 			"    Enable or disable a per queue Rx offloading"
@@ -16143,5 +16143,5 @@ cmdline_parse_token_string_t cmd_config_per_port_rx_offload_result_offload =
 		 offload, "vlan_strip#ipv4_cksum#udp_cksum#tcp_cksum#tcp_lro#"
 			   "qinq_strip#outer_ipv4_cksum#macsec_strip#"
-			   "header_split#vlan_filter#vlan_extend#jumbo_frame#"
+			   "header_split#vlan_filter#vlan_extend#"
 			   "scatter#buffer_split#timestamp#security#"
 			   "keep_crc#rss_hash");
@@ -16226,5 +16226,5 @@ cmdline_parse_inst_t cmd_config_per_port_rx_offload = {
 		    "udp_cksum|tcp_cksum|tcp_lro|qinq_strip|outer_ipv4_cksum|"
 		    "macsec_strip|header_split|vlan_filter|vlan_extend|"
-		    "jumbo_frame|scatter|buffer_split|timestamp|security|"
+		    "scatter|buffer_split|timestamp|security|"
 		    "keep_crc|rss_hash on|off",
 	.tokens = {
@@ -16275,5 +16275,5 @@ cmdline_parse_token_string_t cmd_config_per_queue_rx_offload_result_offload =
 		 offload, "vlan_strip#ipv4_cksum#udp_cksum#tcp_cksum#tcp_lro#"
 			   "qinq_strip#outer_ipv4_cksum#macsec_strip#"
-			   "header_split#vlan_filter#vlan_extend#jumbo_frame#"
+			   "header_split#vlan_filter#vlan_extend#"
 			   "scatter#buffer_split#timestamp#security#keep_crc");
 cmdline_parse_token_string_t cmd_config_per_queue_rx_offload_result_on_off =
@@ -16334,5 +16334,5 @@ cmdline_parse_inst_t cmd_config_per_queue_rx_offload = {
 		    "udp_cksum|tcp_cksum|tcp_lro|qinq_strip|outer_ipv4_cksum|"
 		    "macsec_strip|header_split|vlan_filter|vlan_extend|"
-		    "jumbo_frame|scatter|buffer_split|timestamp|security|"
+		    "scatter|buffer_split|timestamp|security|"
 		    "keep_crc on|off",
 	.tokens = {
diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h
index 18abee907c..8f3a89e9be 100644
--- a/app/test-pmd/testpmd.h
+++ b/app/test-pmd/testpmd.h
@@ -1115,5 +1115,4 @@ void add_tx_dynf_callback(portid_t portid);
 void remove_tx_dynf_callback(portid_t portid);
 int update_mtu_from_frame_size(portid_t portid, uint32_t max_rx_pktlen);
-int update_jumbo_frame_offload(portid_t portid);
 void flex_item_create(portid_t port_id, uint16_t flex_id, const char *filename);
 void flex_item_destroy(portid_t port_id, uint16_t flex_id);
diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
index 94792d88cc..d44424da67 100644
--- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst
+++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst
@@ -1768,5 +1768,5 @@ Enable or disable a per port Rx offloading on all Rx queues of a port::
                   vlan_strip, ipv4_cksum, udp_cksum, tcp_cksum, tcp_lro,
                   qinq_strip, outer_ipv4_cksum, macsec_strip,
-                  header_split, vlan_filter, vlan_extend, jumbo_frame,
+                  header_split, vlan_filter, vlan_extend,
                   scatter, timestamp, security, keep_crc, rss_hash
 
@@ -1783,5 +1783,5 @@ Enable or disable a per queue Rx offloading only on a specific Rx queue::
                   vlan_strip, ipv4_cksum, udp_cksum, tcp_cksum, tcp_lro,
                   qinq_strip, outer_ipv4_cksum, macsec_strip,
-                  header_split, vlan_filter, vlan_extend, jumbo_frame,
+                  header_split, vlan_filter, vlan_extend,
                   scatter, timestamp, security, keep_crc
 
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.420036779 +0000
+++ 0014-app-testpmd-remove-jumbo-offload.patch	2022-11-11 10:32:17.033300603 +0000
@@ -1 +1 @@
-From 020dbb4c2ab66f1a287e839def137dd434c0019f Mon Sep 17 00:00:00 2001
+From 298ba5a47b3350ac81fe9eae0d0a92f81f93a1b4 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 020dbb4c2ab66f1a287e839def137dd434c0019f ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -20,2 +21,2 @@
- doc/guides/testpmd_app_ug/testpmd_funcs.rst |  8 ++++----
- 3 files changed, 10 insertions(+), 11 deletions(-)
+ doc/guides/testpmd_app_ug/testpmd_funcs.rst |  4 ++--
+ 3 files changed, 8 insertions(+), 9 deletions(-)
@@ -24 +25 @@
-index 29e4b2329b..8dc60e9388 100644
+index d9bf0eb3b3..82386c02ee 100644
@@ -27 +28 @@
-@@ -715,5 +715,5 @@ static void cmd_help_long_parsed(void *parsed_result,
+@@ -857,5 +857,5 @@ static void cmd_help_long_parsed(void *parsed_result,
@@ -29 +30 @@
- 			"outer_ipv4_cksum|macsec_strip|"
+ 			"outer_ipv4_cksum|macsec_strip|header_split|"
@@ -34 +35 @@
-@@ -723,5 +723,5 @@ static void cmd_help_long_parsed(void *parsed_result,
+@@ -865,5 +865,5 @@ static void cmd_help_long_parsed(void *parsed_result,
@@ -36 +37 @@
- 			"outer_ipv4_cksum|macsec_strip|"
+ 			"outer_ipv4_cksum|macsec_strip|header_split|"
@@ -41 +42 @@
-@@ -10959,5 +10959,5 @@ static cmdline_parse_token_string_t cmd_config_per_port_rx_offload_result_offloa
+@@ -16143,5 +16143,5 @@ cmdline_parse_token_string_t cmd_config_per_port_rx_offload_result_offload =
@@ -44,2 +45,2 @@
--			   "vlan_filter#vlan_extend#jumbo_frame#"
-+			   "vlan_filter#vlan_extend#"
+-			   "header_split#vlan_filter#vlan_extend#jumbo_frame#"
++			   "header_split#vlan_filter#vlan_extend#"
@@ -48 +49 @@
-@@ -11042,5 +11042,5 @@ static cmdline_parse_inst_t cmd_config_per_port_rx_offload = {
+@@ -16226,5 +16226,5 @@ cmdline_parse_inst_t cmd_config_per_port_rx_offload = {
@@ -50 +51 @@
- 		    "macsec_strip|vlan_filter|vlan_extend|"
+ 		    "macsec_strip|header_split|vlan_filter|vlan_extend|"
@@ -55 +56 @@
-@@ -11091,5 +11091,5 @@ static cmdline_parse_token_string_t cmd_config_per_queue_rx_offload_result_offlo
+@@ -16275,5 +16275,5 @@ cmdline_parse_token_string_t cmd_config_per_queue_rx_offload_result_offload =
@@ -58,2 +59,2 @@
--			   "vlan_filter#vlan_extend#jumbo_frame#"
-+			   "vlan_filter#vlan_extend#"
+-			   "header_split#vlan_filter#vlan_extend#jumbo_frame#"
++			   "header_split#vlan_filter#vlan_extend#"
@@ -61,2 +62,2 @@
- static cmdline_parse_token_string_t cmd_config_per_queue_rx_offload_result_on_off =
-@@ -11150,5 +11150,5 @@ static cmdline_parse_inst_t cmd_config_per_queue_rx_offload = {
+ cmdline_parse_token_string_t cmd_config_per_queue_rx_offload_result_on_off =
+@@ -16334,5 +16334,5 @@ cmdline_parse_inst_t cmd_config_per_queue_rx_offload = {
@@ -64 +65 @@
- 		    "macsec_strip|vlan_filter|vlan_extend|"
+ 		    "macsec_strip|header_split|vlan_filter|vlan_extend|"
@@ -70 +71 @@
-index 0b99339df8..4c6dcba191 100644
+index 18abee907c..8f3a89e9be 100644
@@ -73 +74 @@
-@@ -1151,5 +1151,4 @@ void add_tx_dynf_callback(portid_t portid);
+@@ -1115,5 +1115,4 @@ void add_tx_dynf_callback(portid_t portid);
@@ -80 +81 @@
-index b3f31df69a..d0fe73dff6 100644
+index 94792d88cc..d44424da67 100644
@@ -83 +84 @@
-@@ -1554,6 +1554,6 @@ Enable or disable a per port Rx offloading on all Rx queues of a port::
+@@ -1768,5 +1768,5 @@ Enable or disable a per port Rx offloading on all Rx queues of a port::
@@ -86,4 +87,3 @@
--                  vlan_filter, vlan_extend, jumbo_frame,
--                  scatter, timestamp, security, keep_crc, rss_hash
-+                  vlan_filter, vlan_extend, scatter, timestamp, security,
-+                  keep_crc, rss_hash
+-                  header_split, vlan_filter, vlan_extend, jumbo_frame,
++                  header_split, vlan_filter, vlan_extend,
+                   scatter, timestamp, security, keep_crc, rss_hash
@@ -91,2 +91 @@
- This command should be run when the port is stopped, or else it will fail.
-@@ -1569,6 +1569,6 @@ Enable or disable a per queue Rx offloading only on a specific Rx queue::
+@@ -1783,5 +1783,5 @@ Enable or disable a per queue Rx offloading only on a specific Rx queue::
@@ -95,4 +94,3 @@
--                  vlan_filter, vlan_extend, jumbo_frame,
--                  scatter, timestamp, security, keep_crc
-+                  vlan_filter, vlan_extend, scatter, timestamp, security,
-+                  keep_crc
+-                  header_split, vlan_filter, vlan_extend, jumbo_frame,
++                  header_split, vlan_filter, vlan_extend,
+                   scatter, timestamp, security, keep_crc
@@ -100 +97,0 @@
- This command should be run when the port is stopped, or else it will fail.


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

* patch 'net/nfp: fix internal buffer size and MTU check' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (12 preceding siblings ...)
  2022-11-11 10:33 ` patch 'app/testpmd: remove jumbo offload' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'vhost: add non-blocking API for posting interrupt' " Kevin Traynor
                   ` (31 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Peng Zhang; +Cc: Chaoyong He, Niklas Söderlund, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From a38a7de14d3ba2745f78f7685f60fc10f5af5c91 Mon Sep 17 00:00:00 2001
From: Peng Zhang <peng.zhang@corigine.com>
Date: Fri, 21 Oct 2022 14:27:46 +0800
Subject: [PATCH] net/nfp: fix internal buffer size and MTU check
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

[ upstream commit dbad6f64f9210afc50566a87f0e25f925c3b0f90 ]

When MTU is bigger than hw->flbufsz, it can't work. hw->flbufsz is set
in the nfp_net_rx_queue_setup().

At first, in the nfp_net_configure(), the hw->flbufsz isn't set the
value, it just judge the initialized value and MTU, it is unreasonable.

Now, it just check the MTU can't be more than the NFP_FRAME_SIZE_MAX in
the nfp_net_configure(), when hw->flbufsz is set the value, in the
nfp_net_start(), judge the hw->flbufsz and MTU.

Fixes: 5c305e218f15 ("net/nfp: fix initialization")

Signed-off-by: Peng Zhang <peng.zhang@corigine.com>
Reviewed-by: Chaoyong He <chaoyong.he@corigine.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@corigine.com>
---
 drivers/net/nfp/nfp_common.c    | 6 +++---
 drivers/net/nfp/nfp_ethdev.c    | 8 +++++++-
 drivers/net/nfp/nfp_ethdev_vf.c | 1 -
 3 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/drivers/net/nfp/nfp_common.c b/drivers/net/nfp/nfp_common.c
index 34e3a03edd..b81eec58d3 100644
--- a/drivers/net/nfp/nfp_common.c
+++ b/drivers/net/nfp/nfp_common.c
@@ -178,7 +178,7 @@ nfp_net_configure(struct rte_eth_dev *dev)
 
 	/* Checking MTU set */
-	if (rxmode->mtu > hw->flbufsz) {
-		PMD_INIT_LOG(INFO, "MTU (%u) larger then current mbufsize (%u) not supported",
-				    rxmode->mtu, hw->flbufsz);
+	if (rxmode->mtu > NFP_FRAME_SIZE_MAX) {
+		PMD_INIT_LOG(ERR, "MTU (%u) larger than NFP_FRAME_SIZE_MAX (%u) not supported",
+				    rxmode->mtu, NFP_FRAME_SIZE_MAX);
 		return -ERANGE;
 	}
diff --git a/drivers/net/nfp/nfp_ethdev.c b/drivers/net/nfp/nfp_ethdev.c
index 67a77f0567..74f4c1edeb 100644
--- a/drivers/net/nfp/nfp_ethdev.c
+++ b/drivers/net/nfp/nfp_ethdev.c
@@ -133,4 +133,11 @@ nfp_net_start(struct rte_eth_dev *dev)
 	}
 
+	/* Checking MTU set */
+	if (dev->data->mtu > hw->flbufsz) {
+		PMD_INIT_LOG(ERR, "MTU (%u) can't be larger than the current NFP_FRAME_SIZE (%u)",
+				dev->data->mtu, hw->flbufsz);
+		return -ERANGE;
+	}
+
 	rte_intr_enable(intr_handle);
 
@@ -503,5 +510,4 @@ nfp_net_init(struct rte_eth_dev *eth_dev)
 	hw->max_mtu = nn_cfg_readl(hw, NFP_NET_CFG_MAX_MTU);
 	hw->mtu = RTE_ETHER_MTU;
-	hw->flbufsz = RTE_ETHER_MTU;
 
 	/* VLAN insertion is incompatible with LSOv2 */
diff --git a/drivers/net/nfp/nfp_ethdev_vf.c b/drivers/net/nfp/nfp_ethdev_vf.c
index 0781f34764..0034d68ea6 100644
--- a/drivers/net/nfp/nfp_ethdev_vf.c
+++ b/drivers/net/nfp/nfp_ethdev_vf.c
@@ -370,5 +370,4 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev)
 	hw->max_mtu = nn_cfg_readl(hw, NFP_NET_CFG_MAX_MTU);
 	hw->mtu = RTE_ETHER_MTU;
-	hw->flbufsz = RTE_ETHER_MTU;
 
 	/* VLAN insertion is incompatible with LSOv2 */
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.449832653 +0000
+++ 0015-net-nfp-fix-internal-buffer-size-and-MTU-check.patch	2022-11-11 10:32:17.035300611 +0000
@@ -1 +1 @@
-From dbad6f64f9210afc50566a87f0e25f925c3b0f90 Mon Sep 17 00:00:00 2001
+From a38a7de14d3ba2745f78f7685f60fc10f5af5c91 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit dbad6f64f9210afc50566a87f0e25f925c3b0f90 ]
+
@@ -20 +21,0 @@
-Cc: stable@dpdk.org
@@ -32 +33 @@
-index 9be2e215d5..277ea2381b 100644
+index 34e3a03edd..b81eec58d3 100644
@@ -47 +48 @@
-index f11a1b6eb2..fc36c4d1b6 100644
+index 67a77f0567..74f4c1edeb 100644
@@ -50 +51 @@
-@@ -115,4 +115,11 @@ nfp_net_start(struct rte_eth_dev *dev)
+@@ -133,4 +133,11 @@ nfp_net_start(struct rte_eth_dev *dev)
@@ -62 +63 @@
-@@ -603,5 +610,4 @@ nfp_net_init(struct rte_eth_dev *eth_dev)
+@@ -503,5 +510,4 @@ nfp_net_init(struct rte_eth_dev *eth_dev)
@@ -69 +70 @@
-index 6c6caefcb7..d1427b63bc 100644
+index 0781f34764..0034d68ea6 100644
@@ -72 +73 @@
-@@ -367,5 +367,4 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev)
+@@ -370,5 +370,4 @@ nfp_netvf_init(struct rte_eth_dev *eth_dev)


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

* patch 'vhost: add non-blocking API for posting interrupt' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (13 preceding siblings ...)
  2022-11-11 10:33 ` patch 'net/nfp: fix internal buffer size and MTU check' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'net/mlx5: fix thread workspace memory leak' " Kevin Traynor
                   ` (30 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Changpeng Liu; +Cc: Chenbo Xia, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From a5ff9ebc8b9bb626f31cf9df83b1ae83cfd629dc Mon Sep 17 00:00:00 2001
From: Changpeng Liu <changpeng.liu@intel.com>
Date: Mon, 17 Oct 2022 15:48:17 +0800
Subject: [PATCH] vhost: add non-blocking API for posting interrupt

[ upstream commit 830f7e790732b3a4b8830b181d399e317098d291 ]

Vhost-user library locks all VQ's access lock when processing
vring based messages, such as SET_VRING_KICK and SET_VRING_CALL,
and the data processing thread may already be started, e.g: SPDK
vhost-blk and vhost-scsi will start the data processing thread
when one vring is ready, then deadlock may happen when SPDK is
posting interrupts to VM.  Here, we add a new API which allows
caller to try again later for this case.

Bugzilla ID: 1015
Fixes: c5736998305d ("vhost: fix missing virtqueue lock protection")

Signed-off-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
---
 doc/guides/prog_guide/vhost_lib.rst |  6 ++++++
 lib/vhost/rte_vhost.h               | 15 +++++++++++++++
 lib/vhost/version.map               |  1 +
 lib/vhost/vhost.c                   | 30 +++++++++++++++++++++++++++++
 4 files changed, 52 insertions(+)

diff --git a/doc/guides/prog_guide/vhost_lib.rst b/doc/guides/prog_guide/vhost_lib.rst
index 8959568d8f..6ad1afa378 100644
--- a/doc/guides/prog_guide/vhost_lib.rst
+++ b/doc/guides/prog_guide/vhost_lib.rst
@@ -304,4 +304,10 @@ The following is an overview of some key Vhost API functions:
   path. Completed packets are returned to applications through ``pkts``.
 
+* ``rte_vhost_vring_call_nonblock(int vid, uint16_t vring_idx)``
+
+  Notify the guest that used descriptors have been added to the vring. This function
+  will return -EAGAIN when vq's access lock is held by other thread, user should try
+  again later.
+
 Vhost-user Implementations
 --------------------------
diff --git a/lib/vhost/rte_vhost.h b/lib/vhost/rte_vhost.h
index 2acb31df2d..1582617423 100644
--- a/lib/vhost/rte_vhost.h
+++ b/lib/vhost/rte_vhost.h
@@ -919,4 +919,19 @@ rte_vhost_clr_inflight_desc_packed(int vid, uint16_t vring_idx,
 int rte_vhost_vring_call(int vid, uint16_t vring_idx);
 
+/**
+ * Notify the guest that used descriptors have been added to the vring.  This
+ * function acts as a memory barrier.  This function will return -EAGAIN when
+ * vq's access lock is held by other thread, user should try again later.
+ *
+ * @param vid
+ *  vhost device ID
+ * @param vring_idx
+ *  vring index
+ * @return
+ *  0 on success, -1 on failure, -EAGAIN for another retry
+ */
+__rte_experimental
+int rte_vhost_vring_call_nonblock(int vid, uint16_t vring_idx);
+
 /**
  * Get vhost RX queue avail count.
diff --git a/lib/vhost/version.map b/lib/vhost/version.map
index 0f315ed2a5..2cd6ea8a29 100644
--- a/lib/vhost/version.map
+++ b/lib/vhost/version.map
@@ -85,4 +85,5 @@ EXPERIMENTAL {
 	# added in 21.11
 	rte_vhost_get_monitor_addr;
+	rte_vhost_vring_call_nonblock;
 };
 
diff --git a/lib/vhost/vhost.c b/lib/vhost/vhost.c
index 24f94495c6..86672fcc33 100644
--- a/lib/vhost/vhost.c
+++ b/lib/vhost/vhost.c
@@ -1312,4 +1312,34 @@ rte_vhost_vring_call(int vid, uint16_t vring_idx)
 }
 
+int
+rte_vhost_vring_call_nonblock(int vid, uint16_t vring_idx)
+{
+	struct virtio_net *dev;
+	struct vhost_virtqueue *vq;
+
+	dev = get_device(vid);
+	if (!dev)
+		return -1;
+
+	if (vring_idx >= VHOST_MAX_VRING)
+		return -1;
+
+	vq = dev->virtqueue[vring_idx];
+	if (!vq)
+		return -1;
+
+	if (!rte_spinlock_trylock(&vq->access_lock))
+		return -EAGAIN;
+
+	if (vq_is_packed(dev))
+		vhost_vring_call_packed(dev, vq);
+	else
+		vhost_vring_call_split(dev, vq);
+
+	rte_spinlock_unlock(&vq->access_lock);
+
+	return 0;
+}
+
 uint16_t
 rte_vhost_avail_entries(int vid, uint16_t queue_id)
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.471053637 +0000
+++ 0016-vhost-add-non-blocking-API-for-posting-interrupt.patch	2022-11-11 10:32:17.037300619 +0000
@@ -1 +1 @@
-From 830f7e790732b3a4b8830b181d399e317098d291 Mon Sep 17 00:00:00 2001
+From a5ff9ebc8b9bb626f31cf9df83b1ae83cfd629dc Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 830f7e790732b3a4b8830b181d399e317098d291 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -21,6 +22,5 @@
- doc/guides/prog_guide/vhost_lib.rst    |  6 ++++++
- doc/guides/rel_notes/release_22_11.rst |  6 ++++++
- lib/vhost/rte_vhost.h                  | 15 +++++++++++++
- lib/vhost/version.map                  |  1 +
- lib/vhost/vhost.c                      | 30 ++++++++++++++++++++++++++
- 5 files changed, 58 insertions(+)
+ doc/guides/prog_guide/vhost_lib.rst |  6 ++++++
+ lib/vhost/rte_vhost.h               | 15 +++++++++++++++
+ lib/vhost/version.map               |  1 +
+ lib/vhost/vhost.c                   | 30 +++++++++++++++++++++++++++++
+ 4 files changed, 52 insertions(+)
@@ -29 +29 @@
-index 0d9eca1f7d..e8bb8c9b7b 100644
+index 8959568d8f..6ad1afa378 100644
@@ -32 +32 @@
-@@ -298,4 +298,10 @@ The following is an overview of some key Vhost API functions:
+@@ -304,4 +304,10 @@ The following is an overview of some key Vhost API functions:
@@ -41,17 +41,2 @@
- * ``rte_vhost_vring_stats_get_names(int vid, uint16_t queue_id, struct rte_vhost_stat_name *names, unsigned int size)``
- 
-diff --git a/doc/guides/rel_notes/release_22_11.rst b/doc/guides/rel_notes/release_22_11.rst
-index c62acde891..6722832f3f 100644
---- a/doc/guides/rel_notes/release_22_11.rst
-+++ b/doc/guides/rel_notes/release_22_11.rst
-@@ -189,4 +189,10 @@ New Features
-   by the vhost library.
- 
-+* **Added non-blocking notify API to vhost library.**
-+
-+  Added ``rte_vhost_vring_call_nonblock`` API to notify the guest that
-+  used descriptors have been added to the vring in non-blocking way.
-+  User should check the return value of this API and try again if needed.
-+
- * **Added support for MACsec in rte_security.**
- 
+ Vhost-user Implementations
+ --------------------------
@@ -59 +44 @@
-index bb7d86a432..d22b25cd4e 100644
+index 2acb31df2d..1582617423 100644
@@ -62 +47 @@
-@@ -910,4 +910,19 @@ rte_vhost_clr_inflight_desc_packed(int vid, uint16_t vring_idx,
+@@ -919,4 +919,19 @@ rte_vhost_clr_inflight_desc_packed(int vid, uint16_t vring_idx,
@@ -83 +68 @@
-index 0b61870870..d64786fa71 100644
+index 0f315ed2a5..2cd6ea8a29 100644
@@ -86,3 +71,3 @@
-@@ -98,4 +98,5 @@ EXPERIMENTAL {
- 	# added in 22.11
- 	rte_vhost_async_dma_unconfigure;
+@@ -85,4 +85,5 @@ EXPERIMENTAL {
+ 	# added in 21.11
+ 	rte_vhost_get_monitor_addr;
@@ -93 +78 @@
-index 1bb01c2a2e..19c7b92c32 100644
+index 24f94495c6..86672fcc33 100644
@@ -96 +81 @@
-@@ -1319,4 +1319,34 @@ rte_vhost_vring_call(int vid, uint16_t vring_idx)
+@@ -1312,4 +1312,34 @@ rte_vhost_vring_call(int vid, uint16_t vring_idx)


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

* patch 'net/mlx5: fix thread workspace memory leak' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (14 preceding siblings ...)
  2022-11-11 10:33 ` patch 'vhost: add non-blocking API for posting interrupt' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'net/mlx5: fix RSS expansion buffer size' " Kevin Traynor
                   ` (29 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Dong Zhou; +Cc: Viacheslav Ovsiienko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From c31f9fd5590ddb18e282e73184beb0b02331a01c Mon Sep 17 00:00:00 2001
From: Dong Zhou <dongzhou@nvidia.com>
Date: Thu, 13 Oct 2022 12:34:02 +0300
Subject: [PATCH] net/mlx5: fix thread workspace memory leak

[ upstream commit 4df7f801fff5e4065da5c86ad05df0e48d4d3d6e ]

The thread workspace push/pop should be paired. In the "flow_list_create"
routine, if error happened the workspace pop was missed. This patch shares
the workspace pop for all return paths.

Fixes: 0064bf431899 ("net/mlx5: fix nested flow creation")

Signed-off-by: Dong Zhou <dongzhou@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
 drivers/net/mlx5/mlx5_flow.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index 42de516bfd..ef19ca0f18 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -6769,6 +6769,6 @@ error:
 	ret = rte_errno;
 	rte_errno = ret;
-	mlx5_flow_pop_thread_workspace();
 error_before_hairpin_split:
+	mlx5_flow_pop_thread_workspace();
 	rte_free(translated_actions);
 	return 0;
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.493259419 +0000
+++ 0017-net-mlx5-fix-thread-workspace-memory-leak.patch	2022-11-11 10:32:17.044300647 +0000
@@ -1 +1 @@
-From 4df7f801fff5e4065da5c86ad05df0e48d4d3d6e Mon Sep 17 00:00:00 2001
+From c31f9fd5590ddb18e282e73184beb0b02331a01c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4df7f801fff5e4065da5c86ad05df0e48d4d3d6e ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index e4744b0a67..6fb1d53fc5 100644
+index 42de516bfd..ef19ca0f18 100644
@@ -23 +24 @@
-@@ -7029,6 +7029,6 @@ error:
+@@ -6769,6 +6769,6 @@ error:


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

* patch 'net/mlx5: fix RSS expansion buffer size' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (15 preceding siblings ...)
  2022-11-11 10:33 ` patch 'net/mlx5: fix thread workspace memory leak' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'net/mlx5: fix tunnel header with IPIP offload' " Kevin Traynor
                   ` (28 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Gregory Etelson; +Cc: Matan Azrad, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 2356e482a002a98068bd525a78a9beb7b5c4596f Mon Sep 17 00:00:00 2001
From: Gregory Etelson <getelson@nvidia.com>
Date: Thu, 20 Oct 2022 12:59:23 +0300
Subject: [PATCH] net/mlx5: fix RSS expansion buffer size

[ upstream commit 31b29e0c7f5acca47ab57a087a70fb8a29f75c35 ]

Increase expansion buffer size to accumulate more RSS types.

Fixes: 3f02c7ff6815 ("net/mlx5: fix RSS expansion for inner tunnel VLAN")

Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
---
 drivers/net/mlx5/mlx5_flow.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index ef19ca0f18..e260c8b27f 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -6560,5 +6560,5 @@ flow_list_create(struct rte_eth_dev *dev, enum mlx5_flow_type type,
 	union {
 		struct mlx5_flow_expand_rss buf;
-		uint8_t buffer[4096];
+		uint8_t buffer[8192];
 	} expand_buffer;
 	union {
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.521208757 +0000
+++ 0018-net-mlx5-fix-RSS-expansion-buffer-size.patch	2022-11-11 10:32:17.051300676 +0000
@@ -1 +1 @@
-From 31b29e0c7f5acca47ab57a087a70fb8a29f75c35 Mon Sep 17 00:00:00 2001
+From 2356e482a002a98068bd525a78a9beb7b5c4596f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 31b29e0c7f5acca47ab57a087a70fb8a29f75c35 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 4bfe94689f..dcd2ae7a8a 100644
+index ef19ca0f18..e260c8b27f 100644
@@ -21 +22 @@
-@@ -6890,5 +6890,5 @@ flow_list_create(struct rte_eth_dev *dev, enum mlx5_flow_type type,
+@@ -6560,5 +6560,5 @@ flow_list_create(struct rte_eth_dev *dev, enum mlx5_flow_type type,


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

* patch 'net/mlx5: fix tunnel header with IPIP offload' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (16 preceding siblings ...)
  2022-11-11 10:33 ` patch 'net/mlx5: fix RSS expansion buffer size' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'net/mlx5: fix null check in devargs parsing' " Kevin Traynor
                   ` (27 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Jiawei Wang; +Cc: Viacheslav Ovsiienko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From ee2387b0ba1da1e287aeaa5245c0041cb3c9cd69 Mon Sep 17 00:00:00 2001
From: Jiawei Wang <jiaweiw@nvidia.com>
Date: Thu, 20 Oct 2022 15:55:34 +0300
Subject: [PATCH] net/mlx5: fix tunnel header with IPIP offload

[ upstream commit bfa87e21bdeadb48c0ad9ad6b360393c413be861 ]

For the flows with multiple tunnel layers and containing
tunnel decap and modify actions, for example:

... / vxlan / eth / ipv4 proto is 4 / end
actions raw_decap / modify_field / ...
(note: proto 4 means we have the IP-over-IP tunnel in VXLAN payload)

We have added the multiple tunnel layers validation rejecting
the flows like above mentioned one.

The hardware supports the above match combination till the inner
IP-over-IP header (not including the last one), both for IP-over-IPv4
and IP-over-IPv6, so we should not blindly reject. Also, for the modify
actions following the decap we should set the layer attributes correctly.

This patch reverts the below code changes to support the match, and
adjusts the layers update in case of decap with outer tunnel header.

Fixes: fa06906a48ee ("net/mlx5: fix IPIP multi-tunnel validation")

Signed-off-by: Jiawei Wang <jiaweiw@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
 drivers/net/mlx5/mlx5_flow.c    |  4 ++--
 drivers/net/mlx5/mlx5_flow_dv.c | 11 ++++++++---
 2 files changed, 10 insertions(+), 5 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index e260c8b27f..ba0983ddf0 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -2357,5 +2357,5 @@ mlx5_flow_validate_item_ipv4(const struct rte_flow_item *item,
 					  "IPv4 cannot follow L2/VLAN layer "
 					  "which ether type is not IPv4");
-	if (item_flags & MLX5_FLOW_LAYER_TUNNEL) {
+	if (item_flags & MLX5_FLOW_LAYER_IPIP) {
 		if (mask && spec)
 			next_proto = mask->hdr.next_proto_id &
@@ -2465,5 +2465,5 @@ mlx5_flow_validate_item_ipv6(const struct rte_flow_item *item,
 	if (mask && mask->hdr.proto == UINT8_MAX && spec)
 		next_proto = spec->hdr.proto;
-	if (item_flags & MLX5_FLOW_LAYER_TUNNEL) {
+	if (item_flags & MLX5_FLOW_LAYER_IPIP) {
 		if (next_proto == IPPROTO_IPIP || next_proto == IPPROTO_IPV6)
 			return rte_flow_error_set(error, EINVAL,
diff --git a/drivers/net/mlx5/mlx5_flow_dv.c b/drivers/net/mlx5/mlx5_flow_dv.c
index 2a976d843b..c3a2a658e1 100644
--- a/drivers/net/mlx5/mlx5_flow_dv.c
+++ b/drivers/net/mlx5/mlx5_flow_dv.c
@@ -114,4 +114,5 @@ flow_dv_attr_init(const struct rte_flow_item *item, union flow_dv_attr *attr,
 {
 	uint64_t layers = dev_flow->handle->layers;
+	bool tunnel_match = false;
 
 	/*
@@ -150,6 +151,8 @@ flow_dv_attr_init(const struct rte_flow_item *item, union flow_dv_attr *attr,
 		case RTE_FLOW_ITEM_TYPE_MPLS:
 		case RTE_FLOW_ITEM_TYPE_GTP:
-			if (tunnel_decap)
+			if (tunnel_decap) {
 				attr->attr = 0;
+				tunnel_match = true;
+			}
 			break;
 		case RTE_FLOW_ITEM_TYPE_IPV4:
@@ -165,5 +168,6 @@ flow_dv_attr_init(const struct rte_flow_item *item, union flow_dv_attr *attr,
 				      (item->mask))->hdr.next_proto_id;
 			if ((next_protocol == IPPROTO_IPIP ||
-			    next_protocol == IPPROTO_IPV6) && tunnel_decap)
+			    next_protocol == IPPROTO_IPV6) && tunnel_decap &&
+			    !tunnel_match)
 				attr->attr = 0;
 			break;
@@ -180,5 +184,6 @@ flow_dv_attr_init(const struct rte_flow_item *item, union flow_dv_attr *attr,
 				      (item->mask))->hdr.proto;
 			if ((next_protocol == IPPROTO_IPIP ||
-			    next_protocol == IPPROTO_IPV6) && tunnel_decap)
+			    next_protocol == IPPROTO_IPV6) && tunnel_decap &&
+			    !tunnel_match)
 				attr->attr = 0;
 			break;
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.546690270 +0000
+++ 0019-net-mlx5-fix-tunnel-header-with-IPIP-offload.patch	2022-11-11 10:32:17.071300756 +0000
@@ -1 +1 @@
-From bfa87e21bdeadb48c0ad9ad6b360393c413be861 Mon Sep 17 00:00:00 2001
+From ee2387b0ba1da1e287aeaa5245c0041cb3c9cd69 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit bfa87e21bdeadb48c0ad9ad6b360393c413be861 ]
+
@@ -25 +26,0 @@
-Cc: stable@dpdk.org
@@ -35 +36 @@
-index 3aec121679..8e7d649d15 100644
+index e260c8b27f..ba0983ddf0 100644
@@ -38 +39 @@
-@@ -2665,5 +2665,5 @@ mlx5_flow_validate_item_ipv4(const struct rte_flow_item *item,
+@@ -2357,5 +2357,5 @@ mlx5_flow_validate_item_ipv4(const struct rte_flow_item *item,
@@ -45 +46 @@
-@@ -2773,5 +2773,5 @@ mlx5_flow_validate_item_ipv6(const struct rte_flow_item *item,
+@@ -2465,5 +2465,5 @@ mlx5_flow_validate_item_ipv6(const struct rte_flow_item *item,
@@ -53 +54 @@
-index 6d8c155e45..1e52278191 100644
+index 2a976d843b..c3a2a658e1 100644
@@ -56 +57 @@
-@@ -129,4 +129,5 @@ flow_dv_attr_init(const struct rte_flow_item *item, union flow_dv_attr *attr,
+@@ -114,4 +114,5 @@ flow_dv_attr_init(const struct rte_flow_item *item, union flow_dv_attr *attr,
@@ -62 +63 @@
-@@ -165,6 +166,8 @@ flow_dv_attr_init(const struct rte_flow_item *item, union flow_dv_attr *attr,
+@@ -150,6 +151,8 @@ flow_dv_attr_init(const struct rte_flow_item *item, union flow_dv_attr *attr,
@@ -72 +73 @@
-@@ -180,5 +183,6 @@ flow_dv_attr_init(const struct rte_flow_item *item, union flow_dv_attr *attr,
+@@ -165,5 +168,6 @@ flow_dv_attr_init(const struct rte_flow_item *item, union flow_dv_attr *attr,
@@ -80 +81 @@
-@@ -195,5 +199,6 @@ flow_dv_attr_init(const struct rte_flow_item *item, union flow_dv_attr *attr,
+@@ -180,5 +184,6 @@ flow_dv_attr_init(const struct rte_flow_item *item, union flow_dv_attr *attr,


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

* patch 'net/mlx5: fix null check in devargs parsing' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (17 preceding siblings ...)
  2022-11-11 10:33 ` patch 'net/mlx5: fix tunnel header with IPIP offload' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'sched: fix subport profile configuration' " Kevin Traynor
                   ` (26 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Michael Baum; +Cc: Matan Azrad, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 1b71989e069ef1d72d9b947e28a3833257db7aff Mon Sep 17 00:00:00 2001
From: Michael Baum <michaelba@nvidia.com>
Date: Mon, 24 Oct 2022 15:33:35 +0300
Subject: [PATCH] net/mlx5: fix null check in devargs parsing

[ upstream commit c2e3b84ec80d90e93a83e26ccc8c4fb750bb2d03 ]

The "mlx5_os_parse_eth_devargs()" function parses the ETH devargs into a
specific structure called "eth_da".
It gets structure called "devargs" as a member of EAL device containing
the relevant information.

When "devargs" structure is invalid, the function avoids parsing it.
However, when it valid but its field "args" is invalid, the function
tries to parse it and dereference to NULL pointer.

This patch adds check to avoid this NULL dereferencing.

Fixes: 919488fbfa71 ("net/mlx5: support Sub-Function")

Signed-off-by: Michael Baum <michaelba@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
---
 drivers/net/mlx5/linux/mlx5_os.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
index 27d6fe644d..4197ec424e 100644
--- a/drivers/net/mlx5/linux/mlx5_os.c
+++ b/drivers/net/mlx5/linux/mlx5_os.c
@@ -2575,5 +2575,5 @@ mlx5_os_parse_eth_devargs(struct rte_device *dev,
 		return -rte_errno;
 	}
-	if (eth_da->type == RTE_ETH_REPRESENTOR_NONE) {
+	if (eth_da->type == RTE_ETH_REPRESENTOR_NONE && dev->devargs->args) {
 		/* Parse legacy device argument */
 		ret = rte_eth_devargs_parse(dev->devargs->args, eth_da);
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.581524996 +0000
+++ 0020-net-mlx5-fix-null-check-in-devargs-parsing.patch	2022-11-11 10:32:17.073300764 +0000
@@ -1 +1 @@
-From c2e3b84ec80d90e93a83e26ccc8c4fb750bb2d03 Mon Sep 17 00:00:00 2001
+From 1b71989e069ef1d72d9b947e28a3833257db7aff Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c2e3b84ec80d90e93a83e26ccc8c4fb750bb2d03 ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org
@@ -27 +28 @@
-index ab7ffa0931..2b6741396d 100644
+index 27d6fe644d..4197ec424e 100644
@@ -30 +31 @@
-@@ -2412,5 +2412,5 @@ mlx5_os_parse_eth_devargs(struct rte_device *dev,
+@@ -2575,5 +2575,5 @@ mlx5_os_parse_eth_devargs(struct rte_device *dev,


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

* patch 'sched: fix subport profile configuration' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (18 preceding siblings ...)
  2022-11-11 10:33 ` patch 'net/mlx5: fix null check in devargs parsing' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'examples/qos_sched: fix number of subport profiles' " Kevin Traynor
                   ` (25 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Megha Ajmera; +Cc: Cristian Dumitrescu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 7ab7b88ebfd36f4dc6f35149cc25f0bc2a5e8737 Mon Sep 17 00:00:00 2001
From: Megha Ajmera <megha.ajmera@intel.com>
Date: Fri, 28 Oct 2022 09:55:29 +0000
Subject: [PATCH] sched: fix subport profile configuration

[ upstream commit 25eae0f790af150e7e783cc81436920656e9f06a ]

In rte_sched_subport_config() API, subport_profile_id is not set correctly.

Fixes: ac6fcb841b0f ("sched: update subport rate dynamically")

Signed-off-by: Megha Ajmera <megha.ajmera@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
---
 lib/sched/rte_sched.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/lib/sched/rte_sched.c b/lib/sched/rte_sched.c
index 62b3d2e315..f9924d5f2f 100644
--- a/lib/sched/rte_sched.c
+++ b/lib/sched/rte_sched.c
@@ -1244,6 +1244,4 @@ rte_sched_subport_config(struct rte_sched_port *port,
 		n_subports++;
 
-		subport_profile_id = 0;
-
 		/* Port */
 		port->subports[subport_id] = s;
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.603062763 +0000
+++ 0021-sched-fix-subport-profile-configuration.patch	2022-11-11 10:32:17.074300768 +0000
@@ -1 +1 @@
-From 25eae0f790af150e7e783cc81436920656e9f06a Mon Sep 17 00:00:00 2001
+From 7ab7b88ebfd36f4dc6f35149cc25f0bc2a5e8737 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 25eae0f790af150e7e783cc81436920656e9f06a ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index c5fa9e4582..c91697131d 100644
+index 62b3d2e315..f9924d5f2f 100644
@@ -21 +22 @@
-@@ -1258,6 +1258,4 @@ rte_sched_subport_config(struct rte_sched_port *port,
+@@ -1244,6 +1244,4 @@ rte_sched_subport_config(struct rte_sched_port *port,


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

* patch 'examples/qos_sched: fix number of subport profiles' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (19 preceding siblings ...)
  2022-11-11 10:33 ` patch 'sched: fix subport profile configuration' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'net/ixgbe: fix broadcast Rx on VF after promisc removal' " Kevin Traynor
                   ` (24 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Megha Ajmera; +Cc: Cristian Dumitrescu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From fbc3630b49363bf918b7e66c787ef0c2ebc4e0c0 Mon Sep 17 00:00:00 2001
From: Megha Ajmera <megha.ajmera@intel.com>
Date: Fri, 28 Oct 2022 09:55:30 +0000
Subject: [PATCH] examples/qos_sched: fix number of subport profiles

[ upstream commit 85ea681c821889518e33431dc6eb00c7f54e59f4 ]

Removed unused subport field from profile.cfg
Correctly using subport profile id in subport config load.

Fixes: 802d214dc880 ("examples/qos_sched: update subport rate dynamically")

Signed-off-by: Megha Ajmera <megha.ajmera@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
---
 examples/qos_sched/cfg_file.c  | 2 +-
 examples/qos_sched/profile.cfg | 2 --
 2 files changed, 1 insertion(+), 3 deletions(-)

diff --git a/examples/qos_sched/cfg_file.c b/examples/qos_sched/cfg_file.c
index 450482f07d..69b5081398 100644
--- a/examples/qos_sched/cfg_file.c
+++ b/examples/qos_sched/cfg_file.c
@@ -156,5 +156,5 @@ cfg_load_subport_profile(struct rte_cfgfile *cfg,
 	profiles = rte_cfgfile_num_sections(cfg, "subport profile",
 					   sizeof("subport profile") - 1);
-	subport_params[0].n_pipe_profiles = profiles;
+	port_params.n_subport_profiles = profiles;
 
 	for (i = 0; i < profiles; i++) {
diff --git a/examples/qos_sched/profile.cfg b/examples/qos_sched/profile.cfg
index d4b21c0170..8da5777538 100644
--- a/examples/qos_sched/profile.cfg
+++ b/examples/qos_sched/profile.cfg
@@ -27,6 +27,4 @@ number of pipes per subport = 4096
 queue sizes = 64 64 64 64 64 64 64 64 64 64 64 64 64
 
-subport 0-8 = 0                ; These subports are configured with subport profile 0
-
 [subport profile 0]
 tb rate = 1250000000           ; Bytes per second
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.624041262 +0000
+++ 0022-examples-qos_sched-fix-number-of-subport-profiles.patch	2022-11-11 10:32:17.075300772 +0000
@@ -1 +1 @@
-From 85ea681c821889518e33431dc6eb00c7f54e59f4 Mon Sep 17 00:00:00 2001
+From fbc3630b49363bf918b7e66c787ef0c2ebc4e0c0 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 85ea681c821889518e33431dc6eb00c7f54e59f4 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -20 +21 @@
-index 3d5d75fcf0..ca871d3287 100644
+index 450482f07d..69b5081398 100644
@@ -23 +24 @@
-@@ -158,5 +158,5 @@ cfg_load_subport_profile(struct rte_cfgfile *cfg,
+@@ -156,5 +156,5 @@ cfg_load_subport_profile(struct rte_cfgfile *cfg,
@@ -31 +32 @@
-index c9ec187c93..e8de101b6c 100644
+index d4b21c0170..8da5777538 100644


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

* patch 'net/ixgbe: fix broadcast Rx on VF after promisc removal' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (20 preceding siblings ...)
  2022-11-11 10:33 ` patch 'examples/qos_sched: fix number of subport profiles' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'net/ixgbe: fix unexpected VLAN Rx in promisc mode on VF' " Kevin Traynor
                   ` (23 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Olivier Matz; +Cc: Wenjun Wu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 33a4568ba7fef2217bc384bb00f4b2f8dfd4439f 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 c73833b7ae..c5ef940533 100644
--- a/drivers/net/ixgbe/ixgbe_pf.c
+++ b/drivers/net/ixgbe/ixgbe_pf.c
@@ -748,7 +748,7 @@ 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:
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.644172853 +0000
+++ 0023-net-ixgbe-fix-broadcast-Rx-on-VF-after-promisc-remov.patch	2022-11-11 10:32:17.076300776 +0000
@@ -1 +1 @@
-From 8260929205e5a2666f9db697f749a2d23273bb86 Mon Sep 17 00:00:00 2001
+From 33a4568ba7fef2217bc384bb00f4b2f8dfd4439f Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8260929205e5a2666f9db697f749a2d23273bb86 ]
+
@@ -18 +19,0 @@
-Cc: stable@dpdk.org


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

* patch 'net/ixgbe: fix unexpected VLAN Rx in promisc mode on VF' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (21 preceding siblings ...)
  2022-11-11 10:33 ` patch 'net/ixgbe: fix broadcast Rx on VF after promisc removal' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'net/ice: fix null function pointer call' " Kevin Traynor
                   ` (22 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Olivier Matz; +Cc: Wenjun Wu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From d95fd8e5d86a0bd94bee8afad8a4946daf758064 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 c5ef940533..0a0f639e39 100644
--- a/drivers/net/ixgbe/ixgbe_pf.c
+++ b/drivers/net/ixgbe/ixgbe_pf.c
@@ -772,7 +772,7 @@ ixgbe_set_vf_mc_promisc(struct rte_eth_dev *dev, uint32_t vf, uint32_t *msgbuf)
 		}
 
-		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:
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.664744660 +0000
+++ 0024-net-ixgbe-fix-unexpected-VLAN-Rx-in-promisc-mode-on-.patch	2022-11-11 10:32:17.076300776 +0000
@@ -1 +1 @@
-From 15ce76460a681b133709475f0eb5dbe12bb61b32 Mon Sep 17 00:00:00 2001
+From d95fd8e5d86a0bd94bee8afad8a4946daf758064 Mon Sep 17 00:00:00 2001
@@ -8,0 +9,2 @@
+[ upstream commit 15ce76460a681b133709475f0eb5dbe12bb61b32 ]
+
@@ -44 +45,0 @@
-Cc: stable@dpdk.org


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

* patch 'net/ice: fix null function pointer call' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (22 preceding siblings ...)
  2022-11-11 10:33 ` patch 'net/ixgbe: fix unexpected VLAN Rx in promisc mode on VF' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'net/iavf: fix IPsec flow create error check' " Kevin Traynor
                   ` (21 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Tomasz Jonak; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 82c8b37f5a27b9750e2ede555640dbad879f63b7 Mon Sep 17 00:00:00 2001
From: Tomasz Jonak <tomasz@graphiant.com>
Date: Wed, 12 Oct 2022 14:27:57 +0200
Subject: [PATCH] net/ice: fix null function pointer call

[ upstream commit a8880adcd5f4ea92d0221ff41902d516e68e89ab ]

In case rte_eth_dma_zone_reserve fails in ice_tx_queue_setup
ice_tx_queue_release is called on 0 allocated but not initialized
txq struct.
This may happen on ENOMEM condition, size exhaustion of
memconfig->memzones array as well as some others.

Fixes: edec6dd83824 ("net/ice: remove redundant functions")

Signed-off-by: Tomasz Jonak <tomasz@graphiant.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/ice/ice_rxtx.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ice/ice_rxtx.c b/drivers/net/ice/ice_rxtx.c
index e64fb00792..f7455c7726 100644
--- a/drivers/net/ice/ice_rxtx.c
+++ b/drivers/net/ice/ice_rxtx.c
@@ -1198,5 +1198,6 @@ ice_rx_queue_release(void *rxq)
 	}
 
-	q->rx_rel_mbufs(q);
+	if (q->rx_rel_mbufs != NULL)
+		q->rx_rel_mbufs(q);
 	rte_free(q->sw_ring);
 	rte_memzone_free(q->mz);
@@ -1408,5 +1409,6 @@ ice_tx_queue_release(void *txq)
 	}
 
-	q->tx_rel_mbufs(q);
+	if (q->tx_rel_mbufs != NULL)
+		q->tx_rel_mbufs(q);
 	rte_free(q->sw_ring);
 	rte_memzone_free(q->mz);
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.684891477 +0000
+++ 0025-net-ice-fix-null-function-pointer-call.patch	2022-11-11 10:32:17.079300789 +0000
@@ -1 +1 @@
-From a8880adcd5f4ea92d0221ff41902d516e68e89ab Mon Sep 17 00:00:00 2001
+From 82c8b37f5a27b9750e2ede555640dbad879f63b7 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a8880adcd5f4ea92d0221ff41902d516e68e89ab ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 697251c603..953ff217df 100644
+index e64fb00792..f7455c7726 100644
@@ -25 +26 @@
-@@ -1303,5 +1303,6 @@ ice_rx_queue_release(void *rxq)
+@@ -1198,5 +1198,6 @@ ice_rx_queue_release(void *rxq)
@@ -33 +34 @@
-@@ -1513,5 +1514,6 @@ ice_tx_queue_release(void *txq)
+@@ -1408,5 +1409,6 @@ ice_tx_queue_release(void *txq)


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

* patch 'net/iavf: fix IPsec flow create error check' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (23 preceding siblings ...)
  2022-11-11 10:33 ` patch 'net/ice: fix null function pointer call' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'net/iavf: fix SPI " Kevin Traynor
                   ` (20 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Radu Nicolau; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 4b23fc4005294403a031f6d44640bf264004e5ed Mon Sep 17 00:00:00 2001
From: Radu Nicolau <radu.nicolau@intel.com>
Date: Tue, 11 Oct 2022 10:44:21 +0100
Subject: [PATCH] net/iavf: fix IPsec flow create error check

[ upstream commit dd4c04ff61d38657b8e9cbfcc6fbd6a8267383a6 ]

Fix an error check where the return code was assigned to a
unsigned integer which can hide negative error codes.

Fixes: 6bc987ecb860 ("net/iavf: support IPsec inline crypto")

Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/iavf_ipsec_crypto.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/net/iavf/iavf_ipsec_crypto.c b/drivers/net/iavf/iavf_ipsec_crypto.c
index 1d465b4419..5537c35ac1 100644
--- a/drivers/net/iavf/iavf_ipsec_crypto.c
+++ b/drivers/net/iavf/iavf_ipsec_crypto.c
@@ -1864,4 +1864,5 @@ iavf_ipsec_flow_create(struct iavf_adapter *ad,
 {
 	struct iavf_ipsec_flow_item *ipsec_flow = meta;
+	int flow_id = -1;
 	if (!ipsec_flow) {
 		rte_flow_error_set(error, EINVAL,
@@ -1872,6 +1873,5 @@ iavf_ipsec_flow_create(struct iavf_adapter *ad,
 
 	if (ipsec_flow->is_ipv4) {
-		ipsec_flow->id =
-			iavf_ipsec_crypto_inbound_security_policy_add(ad,
+		flow_id = iavf_ipsec_crypto_inbound_security_policy_add(ad,
 			ipsec_flow->spi,
 			1,
@@ -1882,6 +1882,5 @@ iavf_ipsec_flow_create(struct iavf_adapter *ad,
 			ipsec_flow->udp_hdr.dst_port);
 	} else {
-		ipsec_flow->id =
-			iavf_ipsec_crypto_inbound_security_policy_add(ad,
+		flow_id = iavf_ipsec_crypto_inbound_security_policy_add(ad,
 			ipsec_flow->spi,
 			0,
@@ -1893,5 +1892,5 @@ iavf_ipsec_flow_create(struct iavf_adapter *ad,
 	}
 
-	if (ipsec_flow->id < 1) {
+	if (flow_id < 1) {
 		rte_flow_error_set(error, EINVAL,
 				RTE_FLOW_ERROR_TYPE_UNSPECIFIED, NULL,
@@ -1900,4 +1899,5 @@ iavf_ipsec_flow_create(struct iavf_adapter *ad,
 	}
 
+	ipsec_flow->id = flow_id;
 	flow->rule = ipsec_flow;
 
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.706923035 +0000
+++ 0026-net-iavf-fix-IPsec-flow-create-error-check.patch	2022-11-11 10:32:17.080300793 +0000
@@ -1 +1 @@
-From dd4c04ff61d38657b8e9cbfcc6fbd6a8267383a6 Mon Sep 17 00:00:00 2001
+From 4b23fc4005294403a031f6d44640bf264004e5ed Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit dd4c04ff61d38657b8e9cbfcc6fbd6a8267383a6 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index afd7f8f467..b50149c0ce 100644
+index 1d465b4419..5537c35ac1 100644
@@ -22 +23 @@
-@@ -1852,4 +1852,5 @@ iavf_ipsec_flow_create(struct iavf_adapter *ad,
+@@ -1864,4 +1864,5 @@ iavf_ipsec_flow_create(struct iavf_adapter *ad,
@@ -28 +29 @@
-@@ -1860,6 +1861,5 @@ iavf_ipsec_flow_create(struct iavf_adapter *ad,
+@@ -1872,6 +1873,5 @@ iavf_ipsec_flow_create(struct iavf_adapter *ad,
@@ -36 +37 @@
-@@ -1870,6 +1870,5 @@ iavf_ipsec_flow_create(struct iavf_adapter *ad,
+@@ -1882,6 +1882,5 @@ iavf_ipsec_flow_create(struct iavf_adapter *ad,
@@ -44 +45 @@
-@@ -1881,5 +1880,5 @@ iavf_ipsec_flow_create(struct iavf_adapter *ad,
+@@ -1893,5 +1892,5 @@ iavf_ipsec_flow_create(struct iavf_adapter *ad,
@@ -51 +52 @@
-@@ -1888,4 +1887,5 @@ iavf_ipsec_flow_create(struct iavf_adapter *ad,
+@@ -1900,4 +1899,5 @@ iavf_ipsec_flow_create(struct iavf_adapter *ad,


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

* patch 'net/iavf: fix SPI check' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (24 preceding siblings ...)
  2022-11-11 10:33 ` patch 'net/iavf: fix IPsec flow create error check' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'net/iavf: add thread for event callbacks' " Kevin Traynor
                   ` (19 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Radu Nicolau; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 4ff81b5316372b71616d7f3742e3fe2e255f3d6c Mon Sep 17 00:00:00 2001
From: Radu Nicolau <radu.nicolau@intel.com>
Date: Fri, 14 Oct 2022 10:51:24 +0100
Subject: [PATCH] net/iavf: fix SPI check

[ upstream commit a452ff111c1e2616f18df231622e2e49cb3a591c ]

Return error if SPI from the flow spec doesn't match
the one from the crypto session.

Fixes: 6bc987ecb860 ("net/iavf: support IPsec inline crypto")

Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/iavf_ipsec_crypto.c | 14 +++-----------
 1 file changed, 3 insertions(+), 11 deletions(-)

diff --git a/drivers/net/iavf/iavf_ipsec_crypto.c b/drivers/net/iavf/iavf_ipsec_crypto.c
index 5537c35ac1..e7d8fb968c 100644
--- a/drivers/net/iavf/iavf_ipsec_crypto.c
+++ b/drivers/net/iavf/iavf_ipsec_crypto.c
@@ -709,17 +709,9 @@ iavf_ipsec_crypto_action_valid(struct rte_eth_dev *ethdev,
 		return false;
 
-	/* SPI value must be non-zero */
-	if (spi == 0)
+	/* SPI value must be non-zero and must match flow SPI*/
+	if (spi == 0 || (htonl(sess->sa.spi) != spi))
 		return false;
-	/* Session SPI must patch flow SPI*/
-	else if (sess->sa.spi == spi) {
-		return true;
-		/**
-		 * TODO: We should add a way of tracking valid hw SA indices to
-		 * make validation less brittle
-		 */
-	}
 
-		return true;
+	return true;
 }
 
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.728640028 +0000
+++ 0027-net-iavf-fix-SPI-check.patch	2022-11-11 10:32:17.081300797 +0000
@@ -1 +1 @@
-From a452ff111c1e2616f18df231622e2e49cb3a591c Mon Sep 17 00:00:00 2001
+From 4ff81b5316372b71616d7f3742e3fe2e255f3d6c Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit a452ff111c1e2616f18df231622e2e49cb3a591c ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index b50149c0ce..60e03c8be3 100644
+index 5537c35ac1..e7d8fb968c 100644
@@ -22 +23 @@
-@@ -698,17 +698,9 @@ iavf_ipsec_crypto_action_valid(struct rte_eth_dev *ethdev,
+@@ -709,17 +709,9 @@ iavf_ipsec_crypto_action_valid(struct rte_eth_dev *ethdev,


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

* patch 'net/iavf: add thread for event callbacks' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (25 preceding siblings ...)
  2022-11-11 10:33 ` patch 'net/iavf: fix SPI " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-18 12:32   ` Kevin Traynor
  2022-11-11 10:33 ` patch 'net/iavf: fix queue stop for large VF' " Kevin Traynor
                   ` (18 subsequent siblings)
  45 siblings, 1 reply; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Yiding Zhou; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From c346009ca9686fabd300f8afe688239426b5eebd Mon Sep 17 00:00:00 2001
From: Yiding Zhou <yidingx.zhou@intel.com>
Date: Thu, 20 Oct 2022 13:00:22 +0800
Subject: [PATCH] net/iavf: add thread for event callbacks

[ upstream commit cb5c1b91f76f436724cd09f26c7432b2775b519c ]

All callbacks registered for ethdev events are called in
eal-intr-thread, and some of them execute virtchnl commands.
Because interrupts are disabled in the intr thread, no response
will be received for these commands. So all callbacks should
be called in a new context.

When the device is bonded, the bond pmd registers a callback for
the LSC event to execute virtchnl commands to reinitialize the
device, and it would also raise the above issue.

This commit adds a new thread to call all event callbacks.

Fixes: 48de41ca11f0 ("net/avf: enable link status update")
Fixes: 84108425054a ("net/iavf: support asynchronous virtual channel message")

Signed-off-by: Yiding Zhou <yidingx.zhou@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/iavf.h        |   2 +
 drivers/net/iavf/iavf_ethdev.c |   5 ++
 drivers/net/iavf/iavf_vchnl.c  | 153 +++++++++++++++++++++++++++++++--
 3 files changed, 154 insertions(+), 6 deletions(-)

diff --git a/drivers/net/iavf/iavf.h b/drivers/net/iavf/iavf.h
index 29692e3994..afffc1a13e 100644
--- a/drivers/net/iavf/iavf.h
+++ b/drivers/net/iavf/iavf.h
@@ -401,4 +401,6 @@ _atomic_set_async_response_cmd(struct iavf_info *vf, enum virtchnl_ops ops)
 int iavf_check_api_version(struct iavf_adapter *adapter);
 int iavf_get_vf_resource(struct iavf_adapter *adapter);
+void iavf_dev_event_handler_fini(void);
+int iavf_dev_event_handler_init(void);
 void iavf_handle_virtchnl_msg(struct rte_eth_dev *dev);
 int iavf_enable_vlan_strip(struct iavf_adapter *adapter);
diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index f835457e4f..11ddd6dc16 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -2562,4 +2562,7 @@ iavf_dev_init(struct rte_eth_dev *eth_dev)
 			&eth_dev->data->mac_addrs[0]);
 
+	if (iavf_dev_event_handler_init())
+		goto init_vf_err;
+
 	if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_WB_ON_ITR) {
 		/* register callback func to eal lib */
@@ -2716,4 +2719,6 @@ iavf_dev_uninit(struct rte_eth_dev *dev)
 	iavf_dev_close(dev);
 
+	iavf_dev_event_handler_fini();
+
 	return 0;
 }
diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c
index 1bd3559ec2..54c6e39e16 100644
--- a/drivers/net/iavf/iavf_vchnl.c
+++ b/drivers/net/iavf/iavf_vchnl.c
@@ -3,4 +3,5 @@
  */
 
+#include <fcntl.h>
 #include <stdio.h>
 #include <errno.h>
@@ -12,4 +13,5 @@
 #include <rte_byteorder.h>
 #include <rte_common.h>
+#include <rte_os_shim.h>
 
 #include <rte_debug.h>
@@ -28,4 +30,144 @@
 #define ASQ_DELAY_MS  1
 
+#define MAX_EVENT_PENDING 16
+
+struct iavf_event_element {
+	TAILQ_ENTRY(iavf_event_element) next;
+	struct rte_eth_dev *dev;
+	enum rte_eth_event_type event;
+	void *param;
+	size_t param_alloc_size;
+	uint8_t param_alloc_data[0];
+};
+
+struct iavf_event_handler {
+	uint32_t ndev;
+	pthread_t tid;
+	int fd[2];
+	pthread_mutex_t lock;
+	TAILQ_HEAD(event_list, iavf_event_element) pending;
+};
+
+static struct iavf_event_handler event_handler = {
+	.fd = {-1, -1},
+};
+
+#ifndef TAILQ_FOREACH_SAFE
+#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \
+	for ((var) = TAILQ_FIRST((head)); \
+		(var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
+	(var) = (tvar))
+#endif
+
+static void *
+iavf_dev_event_handle(void *param __rte_unused)
+{
+	struct iavf_event_handler *handler = &event_handler;
+	TAILQ_HEAD(event_list, iavf_event_element) pending;
+
+	while (true) {
+		char unused[MAX_EVENT_PENDING];
+		ssize_t nr = read(handler->fd[0], &unused, sizeof(unused));
+		if (nr <= 0)
+			break;
+
+		TAILQ_INIT(&pending);
+		pthread_mutex_lock(&handler->lock);
+		TAILQ_CONCAT(&pending, &handler->pending, next);
+		pthread_mutex_unlock(&handler->lock);
+
+		struct iavf_event_element *pos, *save_next;
+		TAILQ_FOREACH_SAFE(pos, &pending, next, save_next) {
+			TAILQ_REMOVE(&pending, pos, next);
+			rte_eth_dev_callback_process(pos->dev, pos->event, pos->param);
+			rte_free(pos);
+		}
+	}
+
+	return NULL;
+}
+
+static void
+iavf_dev_event_post(struct rte_eth_dev *dev,
+		enum rte_eth_event_type event,
+		void *param, size_t param_alloc_size)
+{
+	struct iavf_event_handler *handler = &event_handler;
+	char notify_byte;
+	struct iavf_event_element *elem = rte_malloc(NULL, sizeof(*elem) + param_alloc_size, 0);
+	if (!elem)
+		return;
+
+	elem->dev = dev;
+	elem->event = event;
+	elem->param = param;
+	elem->param_alloc_size = param_alloc_size;
+	if (param && param_alloc_size) {
+		rte_memcpy(elem->param_alloc_data, param, param_alloc_size);
+		elem->param = elem->param_alloc_data;
+	}
+
+	pthread_mutex_lock(&handler->lock);
+	TAILQ_INSERT_TAIL(&handler->pending, elem, next);
+	pthread_mutex_unlock(&handler->lock);
+
+	ssize_t nw = write(handler->fd[1], &notify_byte, 1);
+	RTE_SET_USED(nw);
+}
+
+int
+iavf_dev_event_handler_init(void)
+{
+	struct iavf_event_handler *handler = &event_handler;
+
+	if (__atomic_add_fetch(&handler->ndev, 1, __ATOMIC_RELAXED) != 1)
+		return 0;
+#if defined(RTE_EXEC_ENV_IS_WINDOWS) && RTE_EXEC_ENV_IS_WINDOWS != 0
+	int err = _pipe(handler->fd, MAX_EVENT_PENDING, O_BINARY);
+#else
+	int err = pipe(handler->fd);
+#endif
+	if (err != 0) {
+		__atomic_sub_fetch(&handler->ndev, 1, __ATOMIC_RELAXED);
+		return -1;
+	}
+
+	TAILQ_INIT(&handler->pending);
+	pthread_mutex_init(&handler->lock, NULL);
+
+	if (rte_ctrl_thread_create(&handler->tid, "iavf-event-thread",
+				NULL, iavf_dev_event_handle, NULL)) {
+		__atomic_sub_fetch(&handler->ndev, 1, __ATOMIC_RELAXED);
+		return -1;
+	}
+
+	return 0;
+}
+
+void
+iavf_dev_event_handler_fini(void)
+{
+	struct iavf_event_handler *handler = &event_handler;
+
+	if (__atomic_sub_fetch(&handler->ndev, 1, __ATOMIC_RELAXED) != 0)
+		return;
+
+	int unused = pthread_cancel(handler->tid);
+	RTE_SET_USED(unused);
+	close(handler->fd[0]);
+	close(handler->fd[1]);
+	handler->fd[0] = -1;
+	handler->fd[1] = -1;
+
+	pthread_join(handler->tid, NULL);
+	pthread_mutex_destroy(&handler->lock);
+
+	struct iavf_event_element *pos, *save_next;
+	TAILQ_FOREACH_SAFE(pos, &handler->pending, next, save_next) {
+		TAILQ_REMOVE(&handler->pending, pos, next);
+		rte_free(pos);
+	}
+}
+
 static uint32_t
 iavf_convert_link_speed(enum virtchnl_link_speed virt_link_speed)
@@ -279,6 +421,6 @@ iavf_handle_pf_event_msg(struct rte_eth_dev *dev, uint8_t *msg,
 		PMD_DRV_LOG(DEBUG, "VIRTCHNL_EVENT_RESET_IMPENDING event");
 		vf->vf_reset = true;
-		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
-					      NULL);
+		iavf_dev_event_post(dev, RTE_ETH_EVENT_INTR_RESET,
+					      NULL, 0);
 		break;
 	case VIRTCHNL_EVENT_LINK_CHANGE:
@@ -294,5 +436,5 @@ iavf_handle_pf_event_msg(struct rte_eth_dev *dev, uint8_t *msg,
 		}
 		iavf_dev_link_update(dev, 0);
-		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
+		iavf_dev_event_post(dev, RTE_ETH_EVENT_INTR_LSC, NULL, 0);
 		break;
 	case VIRTCHNL_EVENT_PF_DRIVER_CLOSE:
@@ -360,7 +502,6 @@ iavf_handle_virtchnl_msg(struct rte_eth_dev *dev)
 						RTE_ETH_EVENT_IPSEC_UNKNOWN;
 					desc.metadata = ev->ipsec_event_data;
-					rte_eth_dev_callback_process(dev,
-							RTE_ETH_EVENT_IPSEC,
-							&desc);
+					iavf_dev_event_post(dev, RTE_ETH_EVENT_IPSEC,
+							&desc, sizeof(desc));
 					return;
 				}
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.749691045 +0000
+++ 0028-net-iavf-add-thread-for-event-callbacks.patch	2022-11-11 10:32:17.085300813 +0000
@@ -1 +1 @@
-From cb5c1b91f76f436724cd09f26c7432b2775b519c Mon Sep 17 00:00:00 2001
+From c346009ca9686fabd300f8afe688239426b5eebd Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit cb5c1b91f76f436724cd09f26c7432b2775b519c ]
+
@@ -20 +21,0 @@
-Cc: stable@dpdk.org
@@ -31 +32 @@
-index 26b858f6f0..1edebab8dc 100644
+index 29692e3994..afffc1a13e 100644
@@ -34 +35 @@
-@@ -425,4 +425,6 @@ _atomic_set_async_response_cmd(struct iavf_info *vf, enum virtchnl_ops ops)
+@@ -401,4 +401,6 @@ _atomic_set_async_response_cmd(struct iavf_info *vf, enum virtchnl_ops ops)
@@ -42 +43 @@
-index b1958e0474..8d9f3a6d3d 100644
+index f835457e4f..11ddd6dc16 100644
@@ -45 +46 @@
-@@ -2634,4 +2634,7 @@ iavf_dev_init(struct rte_eth_dev *eth_dev)
+@@ -2562,4 +2562,7 @@ iavf_dev_init(struct rte_eth_dev *eth_dev)
@@ -53 +54 @@
-@@ -2788,4 +2791,6 @@ iavf_dev_uninit(struct rte_eth_dev *dev)
+@@ -2716,4 +2719,6 @@ iavf_dev_uninit(struct rte_eth_dev *dev)
@@ -61 +62 @@
-index 729400cb91..654bc7edb6 100644
+index 1bd3559ec2..54c6e39e16 100644


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

* patch 'net/iavf: fix queue stop for large VF' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (26 preceding siblings ...)
  2022-11-11 10:33 ` patch 'net/iavf: add thread for event callbacks' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'net/ice: support VXLAN-GPE tunnel offload' " Kevin Traynor
                   ` (17 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Radu Nicolau; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From f2a44e4a219c4c2265b73c99c8a457bd9d6ea464 Mon Sep 17 00:00:00 2001
From: Radu Nicolau <radu.nicolau@intel.com>
Date: Thu, 20 Oct 2022 10:09:58 +0100
Subject: [PATCH] net/iavf: fix queue stop for large VF

[ upstream commit 96e66d38bc9218520d0e9e19ea3ae21bd175d0a2 ]

Use large VF queue stop request when large VF is enabled

Fixes: 9cf9c02bf6ee ("net/iavf: add enable/disable queues for large VF")

Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/iavf_rxtx.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/drivers/net/iavf/iavf_rxtx.c b/drivers/net/iavf/iavf_rxtx.c
index 45d75d46f7..da3f1baabd 100644
--- a/drivers/net/iavf/iavf_rxtx.c
+++ b/drivers/net/iavf/iavf_rxtx.c
@@ -947,4 +947,5 @@ iavf_dev_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 	struct iavf_adapter *adapter =
 		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 	struct iavf_rx_queue *rxq;
 	int err;
@@ -955,5 +956,9 @@ iavf_dev_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 		return -EINVAL;
 
-	err = iavf_switch_queue(adapter, rx_queue_id, true, false);
+	if (!vf->lv_enabled)
+		err = iavf_switch_queue(adapter, rx_queue_id, true, false);
+	else
+		err = iavf_switch_queue_lv(adapter, rx_queue_id, true, false);
+
 	if (err) {
 		PMD_DRV_LOG(ERR, "Failed to switch RX queue %u off",
@@ -975,4 +980,5 @@ iavf_dev_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)
 	struct iavf_adapter *adapter =
 		IAVF_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private);
+	struct iavf_info *vf = IAVF_DEV_PRIVATE_TO_VF(dev->data->dev_private);
 	struct iavf_tx_queue *txq;
 	int err;
@@ -983,5 +989,9 @@ iavf_dev_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)
 		return -EINVAL;
 
-	err = iavf_switch_queue(adapter, tx_queue_id, false, false);
+	if (!vf->lv_enabled)
+		err = iavf_switch_queue(adapter, tx_queue_id, false, false);
+	else
+		err = iavf_switch_queue_lv(adapter, tx_queue_id, false, false);
+
 	if (err) {
 		PMD_DRV_LOG(ERR, "Failed to switch TX queue %u off",
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.771608540 +0000
+++ 0029-net-iavf-fix-queue-stop-for-large-VF.patch	2022-11-11 10:32:17.087300821 +0000
@@ -1 +1 @@
-From 96e66d38bc9218520d0e9e19ea3ae21bd175d0a2 Mon Sep 17 00:00:00 2001
+From f2a44e4a219c4c2265b73c99c8a457bd9d6ea464 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 96e66d38bc9218520d0e9e19ea3ae21bd175d0a2 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index 437055f76b..3292541ad9 100644
+index 45d75d46f7..da3f1baabd 100644
@@ -21 +22 @@
-@@ -959,4 +959,5 @@ iavf_dev_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id)
+@@ -947,4 +947,5 @@ iavf_dev_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id)
@@ -27 +28 @@
-@@ -967,5 +968,9 @@ iavf_dev_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id)
+@@ -955,5 +956,9 @@ iavf_dev_rx_queue_stop(struct rte_eth_dev *dev, uint16_t rx_queue_id)
@@ -38 +39 @@
-@@ -987,4 +992,5 @@ iavf_dev_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)
+@@ -975,4 +980,5 @@ iavf_dev_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)
@@ -44 +45 @@
-@@ -995,5 +1001,9 @@ iavf_dev_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)
+@@ -983,5 +989,9 @@ iavf_dev_tx_queue_stop(struct rte_eth_dev *dev, uint16_t tx_queue_id)


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

* patch 'net/ice: support VXLAN-GPE tunnel offload' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (27 preceding siblings ...)
  2022-11-11 10:33 ` patch 'net/iavf: fix queue stop for large VF' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'net/iavf: fix handling of IPsec events' " Kevin Traynor
                   ` (16 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Mingjin Ye; +Cc: Ke Xu, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 5daff7df21c31b4f7f3c8e95ea45c38964c76065 Mon Sep 17 00:00:00 2001
From: Mingjin Ye <mingjinx.ye@intel.com>
Date: Fri, 21 Oct 2022 12:59:31 +0000
Subject: [PATCH] net/ice: support VXLAN-GPE tunnel offload

[ upstream commit e91659806abbe9a3f1b9a59c0f68ef51af4c3cd5 ]

PMD tx path does not support VXLAN_GPE tunnel offload. Because it does not
process RTE_MBUF_F_TX_TUNNEL_VXLAN_GPE flag in mbuf, and then the "L4TUNT"
field will not be set in Tx context descriptor.

This patch is to add the RTE_MBUF_F_TX_TUNNEL_VXLAN_GPE flag to
support Tx VXLAN_GPE offload under the scenario if the offload tso
and VXLAN_GPE tunnel are both required, so that it would avoid
tx queue overflowing.

Fixes: daa02b5cddbb ("mbuf: add namespace to offload flags")

Signed-off-by: Mingjin Ye <mingjinx.ye@intel.com>
Tested-by: Ke Xu <ke1.xu@intel.com>
---
 drivers/net/ice/ice_rxtx.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/ice/ice_rxtx.c b/drivers/net/ice/ice_rxtx.c
index f7455c7726..7675f8c405 100644
--- a/drivers/net/ice/ice_rxtx.c
+++ b/drivers/net/ice/ice_rxtx.c
@@ -2507,4 +2507,5 @@ ice_parse_tunneling_params(uint64_t ol_flags,
 		break;
 	case RTE_MBUF_F_TX_TUNNEL_VXLAN:
+	case RTE_MBUF_F_TX_TUNNEL_VXLAN_GPE:
 	case RTE_MBUF_F_TX_TUNNEL_GTP:
 	case RTE_MBUF_F_TX_TUNNEL_GENEVE:
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.793714637 +0000
+++ 0030-net-ice-support-VXLAN-GPE-tunnel-offload.patch	2022-11-11 10:32:17.089300829 +0000
@@ -1 +1 @@
-From e91659806abbe9a3f1b9a59c0f68ef51af4c3cd5 Mon Sep 17 00:00:00 2001
+From 5daff7df21c31b4f7f3c8e95ea45c38964c76065 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit e91659806abbe9a3f1b9a59c0f68ef51af4c3cd5 ]
+
@@ -16 +17,0 @@
-Cc: stable@dpdk.org
@@ -25 +26 @@
-index 7a2d5829c0..cd046a3432 100644
+index f7455c7726..7675f8c405 100644
@@ -28 +29 @@
-@@ -2693,4 +2693,5 @@ ice_parse_tunneling_params(uint64_t ol_flags,
+@@ -2507,4 +2507,5 @@ ice_parse_tunneling_params(uint64_t ol_flags,


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

* patch 'net/iavf: fix handling of IPsec events' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (28 preceding siblings ...)
  2022-11-11 10:33 ` patch 'net/ice: support VXLAN-GPE tunnel offload' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'net/cnxk: fix later skip to include mbuf private data' " Kevin Traynor
                   ` (15 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Radu Nicolau; +Cc: Qi Zhang, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From af41fb34eb91687a733fb4edc216dc79e2284d29 Mon Sep 17 00:00:00 2001
From: Radu Nicolau <radu.nicolau@intel.com>
Date: Mon, 24 Oct 2022 12:34:47 +0100
Subject: [PATCH] net/iavf: fix handling of IPsec events

[ upstream commit cc9317e2b0b245821180e858a904ceec33388fe1 ]

Verify that the message length is non zero and keep processing
virtual channel messages after the event is received.

Fixes: 6bc987ecb860 ("net/iavf: support IPsec inline crypto")

Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
---
 drivers/net/iavf/iavf_vchnl.c | 42 ++++++++++++++++++++++-------------
 1 file changed, 26 insertions(+), 16 deletions(-)

diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c
index 54c6e39e16..d11b9fc8e3 100644
--- a/drivers/net/iavf/iavf_vchnl.c
+++ b/drivers/net/iavf/iavf_vchnl.c
@@ -489,20 +489,30 @@ iavf_handle_virtchnl_msg(struct rte_eth_dev *dev)
 						info.msg_len);
 			} else {
-				/* check for inline IPsec events */
-				struct inline_ipsec_msg *imsg =
-					(struct inline_ipsec_msg *)info.msg_buf;
-				struct rte_eth_event_ipsec_desc desc;
-				if (msg_opc ==
-					VIRTCHNL_OP_INLINE_IPSEC_CRYPTO &&
-					imsg->ipsec_opcode ==
-						INLINE_IPSEC_OP_EVENT) {
-					struct virtchnl_ipsec_event *ev =
-							imsg->ipsec_data.event;
-					desc.subtype =
-						RTE_ETH_EVENT_IPSEC_UNKNOWN;
-					desc.metadata = ev->ipsec_event_data;
-					iavf_dev_event_post(dev, RTE_ETH_EVENT_IPSEC,
-							&desc, sizeof(desc));
-					return;
+				/* check for unsolicited messages i.e. events */
+				if (info.msg_len > 0) {
+					switch (msg_opc) {
+					case VIRTCHNL_OP_INLINE_IPSEC_CRYPTO: {
+						struct inline_ipsec_msg *imsg =
+							(struct inline_ipsec_msg *)info.msg_buf;
+						if (imsg->ipsec_opcode
+								== INLINE_IPSEC_OP_EVENT) {
+							struct rte_eth_event_ipsec_desc desc;
+							struct virtchnl_ipsec_event *ev =
+									imsg->ipsec_data.event;
+							desc.subtype =
+									RTE_ETH_EVENT_IPSEC_UNKNOWN;
+							desc.metadata =
+									ev->ipsec_event_data;
+							iavf_dev_event_post(dev,
+								RTE_ETH_EVENT_IPSEC,
+								&desc, sizeof(desc));
+							continue;
+					}
+				}
+						break;
+					default:
+						break;
+					}
+
 				}
 
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.815613133 +0000
+++ 0031-net-iavf-fix-handling-of-IPsec-events.patch	2022-11-11 10:32:17.091300837 +0000
@@ -1 +1 @@
-From cc9317e2b0b245821180e858a904ceec33388fe1 Mon Sep 17 00:00:00 2001
+From af41fb34eb91687a733fb4edc216dc79e2284d29 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit cc9317e2b0b245821180e858a904ceec33388fe1 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 654bc7edb6..f92daf97f2 100644
+index 54c6e39e16..d11b9fc8e3 100644


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

* patch 'net/cnxk: fix later skip to include mbuf private data' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (29 preceding siblings ...)
  2022-11-11 10:33 ` patch 'net/iavf: fix handling of IPsec events' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'common/cnxk: fix schedule weight update' " Kevin Traynor
                   ` (14 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Nithin Dabilpuram; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 0f3f7b9de14880c4a988baddb33ffb0145adcf1b Mon Sep 17 00:00:00 2001
From: Nithin Dabilpuram <ndabilpuram@marvell.com>
Date: Fri, 14 Oct 2022 11:13:07 +0530
Subject: [PATCH] net/cnxk: fix later skip to include mbuf private data

[ upstream commit 480b03be9d052e77d0b81c2ff174bedf20e48aa7 ]

Fix later skip to include mbuf priv data as mbuf->buf_addr
is populated based on calculation including per-mbuf priv area.

Fixes: 706eeae60757 ("net/cnxk: add multi-segment Rx for CN10K")

Signed-off-by: Nithin Dabilpuram <ndabilpuram@marvell.com>
---
 drivers/net/cnxk/cn10k_rx.h    | 4 +++-
 drivers/net/cnxk/cnxk_ethdev.c | 2 +-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/cnxk/cn10k_rx.h b/drivers/net/cnxk/cn10k_rx.h
index 5806392322..034e95186b 100644
--- a/drivers/net/cnxk/cn10k_rx.h
+++ b/drivers/net/cnxk/cn10k_rx.h
@@ -245,4 +245,5 @@ nix_cqe_xtract_mseg(const union nix_rx_parse_u *rx, struct rte_mbuf *mbuf,
 {
 	const rte_iova_t *iova_list;
+	uint16_t later_skip = 0;
 	struct rte_mbuf *head;
 	const rte_iova_t *eol;
@@ -271,8 +272,9 @@ nix_cqe_xtract_mseg(const union nix_rx_parse_u *rx, struct rte_mbuf *mbuf,
 
 	rearm = rearm & ~0xFFFF;
+	later_skip = (uintptr_t)mbuf->buf_addr - (uintptr_t)mbuf;
 
 	head = mbuf;
 	while (nb_segs) {
-		mbuf->next = ((struct rte_mbuf *)*iova_list) - 1;
+		mbuf->next = (struct rte_mbuf *)(*iova_list - later_skip);
 		mbuf = mbuf->next;
 
diff --git a/drivers/net/cnxk/cnxk_ethdev.c b/drivers/net/cnxk/cnxk_ethdev.c
index a1da90be57..8ba35ac36f 100644
--- a/drivers/net/cnxk/cnxk_ethdev.c
+++ b/drivers/net/cnxk/cnxk_ethdev.c
@@ -568,5 +568,5 @@ cnxk_nix_rx_queue_setup(struct rte_eth_dev *eth_dev, uint16_t qid,
 	first_skip += rte_pktmbuf_priv_size(mp);
 	rq->first_skip = first_skip;
-	rq->later_skip = sizeof(struct rte_mbuf);
+	rq->later_skip = sizeof(struct rte_mbuf) + rte_pktmbuf_priv_size(mp);
 	rq->lpb_size = mp->elt_size;
 
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.836128856 +0000
+++ 0032-net-cnxk-fix-later-skip-to-include-mbuf-private-data.patch	2022-11-11 10:32:17.093300845 +0000
@@ -1 +1 @@
-From 480b03be9d052e77d0b81c2ff174bedf20e48aa7 Mon Sep 17 00:00:00 2001
+From 0f3f7b9de14880c4a988baddb33ffb0145adcf1b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 480b03be9d052e77d0b81c2ff174bedf20e48aa7 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -19 +20 @@
-index 46488d442e..cf390a0361 100644
+index 5806392322..034e95186b 100644
@@ -22 +23 @@
-@@ -683,4 +683,5 @@ nix_cqe_xtract_mseg(const union nix_rx_parse_u *rx, struct rte_mbuf *mbuf,
+@@ -245,4 +245,5 @@ nix_cqe_xtract_mseg(const union nix_rx_parse_u *rx, struct rte_mbuf *mbuf,
@@ -28 +29 @@
-@@ -721,8 +722,9 @@ nix_cqe_xtract_mseg(const union nix_rx_parse_u *rx, struct rte_mbuf *mbuf,
+@@ -271,8 +272,9 @@ nix_cqe_xtract_mseg(const union nix_rx_parse_u *rx, struct rte_mbuf *mbuf,
@@ -40 +41 @@
-index 71c3f1666b..bf1585fe67 100644
+index a1da90be57..8ba35ac36f 100644
@@ -43,2 +44,2 @@
-@@ -681,5 +681,5 @@ cnxk_nix_rx_queue_setup(struct rte_eth_dev *eth_dev, uint16_t qid,
- 	first_skip += rte_pktmbuf_priv_size(lpb_pool);
+@@ -568,5 +568,5 @@ cnxk_nix_rx_queue_setup(struct rte_eth_dev *eth_dev, uint16_t qid,
+ 	first_skip += rte_pktmbuf_priv_size(mp);
@@ -48,2 +49,2 @@
- 	rq->lpb_size = lpb_pool->elt_size;
- 	if (roc_errata_nix_no_meta_aura())
+ 	rq->lpb_size = mp->elt_size;
+ 


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

* patch 'common/cnxk: fix schedule weight update' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (30 preceding siblings ...)
  2022-11-11 10:33 ` patch 'net/cnxk: fix later skip to include mbuf private data' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'net/mlx5: fix thread termination check on Windows' " Kevin Traynor
                   ` (13 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Satha Rao; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 6c158b7c1a7795624a2d5c82d543bc8df1c391ba Mon Sep 17 00:00:00 2001
From: Satha Rao <skoteshwar@marvell.com>
Date: Fri, 14 Oct 2022 11:13:10 +0530
Subject: [PATCH] common/cnxk: fix schedule weight update

[ upstream commit 1669a84d57f1cad4b04822e4c561a40f098275d9 ]

Each TX schedule config mail box supports a maximum 20 register updates.
This patch will send node weight updates in multiple mailboxes when
TM is created with more than 20 scheduler nodes.

Fixes: 464c9f919321 ("common/cnxk: support NIX TM dynamic update")

Signed-off-by: Satha Rao <skoteshwar@marvell.com>
---
 drivers/common/cnxk/roc_nix_tm_ops.c | 60 ++++++++++++++++++----------
 1 file changed, 40 insertions(+), 20 deletions(-)

diff --git a/drivers/common/cnxk/roc_nix_tm_ops.c b/drivers/common/cnxk/roc_nix_tm_ops.c
index 3d81247a12..191bb20558 100644
--- a/drivers/common/cnxk/roc_nix_tm_ops.c
+++ b/drivers/common/cnxk/roc_nix_tm_ops.c
@@ -881,17 +881,27 @@ roc_nix_tm_node_parent_update(struct roc_nix *roc_nix, uint32_t node_id,
 			if (sibling->parent != node->parent)
 				continue;
-			k += nix_tm_sw_xoff_prep(sibling, true, &req->reg[k],
-						 &req->regval[k]);
+			k += nix_tm_sw_xoff_prep(sibling, true, &req->reg[k], &req->regval[k]);
+			if (k >= MAX_REGS_PER_MBOX_MSG) {
+				req->num_regs = k;
+				rc = mbox_process(mbox);
+				if (rc)
+					return rc;
+				k = 0;
+				req = mbox_alloc_msg_nix_txschq_cfg(mbox);
+				req->lvl = node->hw_lvl;
+			}
+		}
+
+		if (k) {
+			req->num_regs = k;
+			rc = mbox_process(mbox);
+			if (rc)
+				return rc;
+			/* Update new weight for current node */
+			req = mbox_alloc_msg_nix_txschq_cfg(mbox);
 		}
-		req->num_regs = k;
-		rc = mbox_process(mbox);
-		if (rc)
-			return rc;
 
-		/* Update new weight for current node */
-		req = mbox_alloc_msg_nix_txschq_cfg(mbox);
 		req->lvl = node->hw_lvl;
-		req->num_regs =
-			nix_tm_sched_reg_prep(nix, node, req->reg, req->regval);
+		req->num_regs = nix_tm_sched_reg_prep(nix, node, req->reg, req->regval);
 		rc = mbox_process(mbox);
 		if (rc)
@@ -906,17 +916,27 @@ roc_nix_tm_node_parent_update(struct roc_nix *roc_nix, uint32_t node_id,
 			if (sibling->parent != node->parent)
 				continue;
-			k += nix_tm_sw_xoff_prep(sibling, false, &req->reg[k],
-						 &req->regval[k]);
+			k += nix_tm_sw_xoff_prep(sibling, false, &req->reg[k], &req->regval[k]);
+			if (k >= MAX_REGS_PER_MBOX_MSG) {
+				req->num_regs = k;
+				rc = mbox_process(mbox);
+				if (rc)
+					return rc;
+				k = 0;
+				req = mbox_alloc_msg_nix_txschq_cfg(mbox);
+				req->lvl = node->hw_lvl;
+			}
+		}
+
+		if (k) {
+			req->num_regs = k;
+			rc = mbox_process(mbox);
+			if (rc)
+				return rc;
+			/* XON Parent node */
+			req = mbox_alloc_msg_nix_txschq_cfg(mbox);
 		}
-		req->num_regs = k;
-		rc = mbox_process(mbox);
-		if (rc)
-			return rc;
 
-		/* XON Parent node */
-		req = mbox_alloc_msg_nix_txschq_cfg(mbox);
 		req->lvl = node->parent->hw_lvl;
-		req->num_regs = nix_tm_sw_xoff_prep(node->parent, false,
-						    req->reg, req->regval);
+		req->num_regs = nix_tm_sw_xoff_prep(node->parent, false, req->reg, req->regval);
 		rc = mbox_process(mbox);
 		if (rc)
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.857746574 +0000
+++ 0033-common-cnxk-fix-schedule-weight-update.patch	2022-11-11 10:32:17.094300849 +0000
@@ -1 +1 @@
-From 1669a84d57f1cad4b04822e4c561a40f098275d9 Mon Sep 17 00:00:00 2001
+From 6c158b7c1a7795624a2d5c82d543bc8df1c391ba Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1669a84d57f1cad4b04822e4c561a40f098275d9 ]
+
@@ -11 +12,0 @@
-Cc: stable@dpdk.org
@@ -15 +15,0 @@
- drivers/common/cnxk/roc_nix_queue.c  |  2 +-
@@ -17 +17 @@
- 2 files changed, 41 insertions(+), 21 deletions(-)
+ 1 file changed, 40 insertions(+), 20 deletions(-)
@@ -19,11 +18,0 @@
-diff --git a/drivers/common/cnxk/roc_nix_queue.c b/drivers/common/cnxk/roc_nix_queue.c
-index 368f1a52f7..7318f26b57 100644
---- a/drivers/common/cnxk/roc_nix_queue.c
-+++ b/drivers/common/cnxk/roc_nix_queue.c
-@@ -917,5 +917,5 @@ sqb_pool_populate(struct roc_nix *roc_nix, struct roc_nix_sq *sq)
- 	/* Clamp up the SQB count */
- 	nb_sqb_bufs = PLT_MIN(roc_nix->max_sqb_count,
--			      PLT_MAX(NIX_DEF_SQB, nb_sqb_bufs));
-+			      (uint16_t)PLT_MAX(NIX_DEF_SQB, nb_sqb_bufs));
- 
- 	sq->nb_sqb_bufs = nb_sqb_bufs;
@@ -31 +20 @@
-index 7036495ad8..4bf7b1e104 100644
+index 3d81247a12..191bb20558 100644
@@ -34 +23 @@
-@@ -892,17 +892,27 @@ roc_nix_tm_node_parent_update(struct roc_nix *roc_nix, uint32_t node_id,
+@@ -881,17 +881,27 @@ roc_nix_tm_node_parent_update(struct roc_nix *roc_nix, uint32_t node_id,
@@ -72 +61 @@
-@@ -917,17 +927,27 @@ roc_nix_tm_node_parent_update(struct roc_nix *roc_nix, uint32_t node_id,
+@@ -906,17 +916,27 @@ roc_nix_tm_node_parent_update(struct roc_nix *roc_nix, uint32_t node_id,


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

* patch 'net/mlx5: fix thread termination check on Windows' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (31 preceding siblings ...)
  2022-11-11 10:33 ` patch 'common/cnxk: fix schedule weight update' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'examples/l2fwd-crypto: fix typo in error message' " Kevin Traynor
                   ` (12 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Tal Shnaiderman; +Cc: Viacheslav Ovsiienko, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 6aa04c9e9b25f105236224973a73e4bb0fe8cdc7 Mon Sep 17 00:00:00 2001
From: Tal Shnaiderman <talshn@nvidia.com>
Date: Wed, 12 Oct 2022 09:49:49 +0300
Subject: [PATCH] net/mlx5: fix thread termination check on Windows

[ upstream commit 5976328d91c3616b1ad841a9181e1da23a2980bf ]

The mlx5_is_thread_alive function always returns false
(terminated) regardless to the actual thread state.

Fixed to return the correct thread state.

Bugzilla ID: 1089
Fixes: 5d55a494f4e62f2 ("net/mlx5: split multi-thread flow handling per OS")

Signed-off-by: Tal Shnaiderman <talshn@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
 drivers/net/mlx5/windows/mlx5_flow_os.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/mlx5/windows/mlx5_flow_os.c b/drivers/net/mlx5/windows/mlx5_flow_os.c
index f5e3893ed4..0afe74cea8 100644
--- a/drivers/net/mlx5/windows/mlx5_flow_os.c
+++ b/drivers/net/mlx5/windows/mlx5_flow_os.c
@@ -263,5 +263,5 @@ mlx5_is_thread_alive(HANDLE thread_handle)
 	if (result == WAIT_OBJECT_0)
 		return false;
-	return false;
+	return true;
 }
 
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.878957499 +0000
+++ 0034-net-mlx5-fix-thread-termination-check-on-Windows.patch	2022-11-11 10:32:17.094300849 +0000
@@ -1 +1 @@
-From 5976328d91c3616b1ad841a9181e1da23a2980bf Mon Sep 17 00:00:00 2001
+From 6aa04c9e9b25f105236224973a73e4bb0fe8cdc7 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 5976328d91c3616b1ad841a9181e1da23a2980bf ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -22 +23 @@
-index 48d7da41b1..5013e9f012 100644
+index f5e3893ed4..0afe74cea8 100644


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

* patch 'examples/l2fwd-crypto: fix typo in error message' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (32 preceding siblings ...)
  2022-11-11 10:33 ` patch 'net/mlx5: fix thread termination check on Windows' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'test/crypto: fix wireless auth digest segment' " Kevin Traynor
                   ` (11 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Ali Alnubani; +Cc: dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 7e842d3d70592e5eff61f55f890f777031f51571 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 b1e2613ccf..8863a93f10 100644
--- a/examples/l2fwd-crypto/main.c
+++ b/examples/l2fwd-crypto/main.c
@@ -2809,5 +2809,5 @@ main(int argc, char **argv)
 	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 */
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.898667003 +0000
+++ 0035-examples-l2fwd-crypto-fix-typo-in-error-message.patch	2022-11-11 10:32:17.096300857 +0000
@@ -1 +1 @@
-From 26fbb735e3e6e1bb2e5e6b403dd179640c739467 Mon Sep 17 00:00:00 2001
+From 7e842d3d70592e5eff61f55f890f777031f51571 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 b1e2613ccf..8863a93f10 100644
@@ -20 +21 @@
-@@ -2782,5 +2782,5 @@ main(int argc, char **argv)
+@@ -2809,5 +2809,5 @@ main(int argc, char **argv)


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

* patch 'test/crypto: fix wireless auth digest segment' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (33 preceding siblings ...)
  2022-11-11 10:33 ` patch 'examples/l2fwd-crypto: fix typo in error message' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'baseband/acc100: fix memory leak' " Kevin Traynor
                   ` (10 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Ciara Power; +Cc: Fan Zhang, Pablo de Lara, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 627efa19b562edc73df7ece42a075f3425102400 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 da5dc4baa8..3c848f094b 100644
--- a/app/test/test_cryptodev.c
+++ b/app/test/test_cryptodev.c
@@ -3039,4 +3039,14 @@ create_wireless_algo_auth_cipher_operation(
 			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);
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.919680911 +0000
+++ 0036-test-crypto-fix-wireless-auth-digest-segment.patch	2022-11-11 10:32:17.104300889 +0000
@@ -1 +1 @@
-From dc3f6c5347b2b64899694c2f94a6af53c95d2b4d Mon Sep 17 00:00:00 2001
+From 627efa19b562edc73df7ece42a075f3425102400 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 da5dc4baa8..3c848f094b 100644
@@ -29 +30 @@
-@@ -2991,4 +2991,14 @@ create_wireless_algo_auth_cipher_operation(
+@@ -3039,4 +3039,14 @@ create_wireless_algo_auth_cipher_operation(


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

* patch 'baseband/acc100: fix memory leak' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (34 preceding siblings ...)
  2022-11-11 10:33 ` patch 'test/crypto: fix wireless auth digest segment' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'baseband/acc100: check turbo dec/enc input' " Kevin Traynor
                   ` (9 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Hernan Vargas; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From da8a0493be38ea2ea83267dee688e422778ae396 Mon Sep 17 00:00:00 2001
From: Hernan Vargas <hernan.vargas@intel.com>
Date: Thu, 20 Oct 2022 22:20:36 -0700
Subject: [PATCH] baseband/acc100: fix memory leak

[ upstream commit 36341139e48bdefbafcd6e550b9342af096f8be4 ]

Moved check for undefined device before allocating queue data structure.

Coverity issue: 375803, 375813, 375819, 375827, 375831
Fixes: 060e7672930 ("baseband/acc100: add queue configuration")

Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/baseband/acc100/rte_acc100_pmd.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c
index 6cdc6e65f7..9add3056ab 100644
--- a/drivers/baseband/acc100/rte_acc100_pmd.c
+++ b/drivers/baseband/acc100/rte_acc100_pmd.c
@@ -825,4 +825,8 @@ acc100_queue_setup(struct rte_bbdev *dev, uint16_t queue_id,
 	int16_t q_idx;
 
+	if (d == NULL) {
+		rte_bbdev_log(ERR, "Undefined device");
+		return -ENODEV;
+	}
 	/* Allocate the queue data structure. */
 	q = rte_zmalloc_socket(dev->device->driver->name, sizeof(*q),
@@ -832,8 +836,4 @@ acc100_queue_setup(struct rte_bbdev *dev, uint16_t queue_id,
 		return -ENOMEM;
 	}
-	if (d == NULL) {
-		rte_bbdev_log(ERR, "Undefined device");
-		return -ENODEV;
-	}
 
 	q->d = d;
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.948073944 +0000
+++ 0037-baseband-acc100-fix-memory-leak.patch	2022-11-11 10:32:17.107300901 +0000
@@ -1 +1 @@
-From 36341139e48bdefbafcd6e550b9342af096f8be4 Mon Sep 17 00:00:00 2001
+From da8a0493be38ea2ea83267dee688e422778ae396 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 36341139e48bdefbafcd6e550b9342af096f8be4 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -15 +16 @@
- drivers/baseband/acc/rte_acc100_pmd.c | 8 ++++----
+ drivers/baseband/acc100/rte_acc100_pmd.c | 8 ++++----
@@ -18,5 +19,5 @@
-diff --git a/drivers/baseband/acc/rte_acc100_pmd.c b/drivers/baseband/acc/rte_acc100_pmd.c
-index 7fec2283eb..7500ef6eb5 100644
---- a/drivers/baseband/acc/rte_acc100_pmd.c
-+++ b/drivers/baseband/acc/rte_acc100_pmd.c
-@@ -664,4 +664,8 @@ acc100_queue_setup(struct rte_bbdev *dev, uint16_t queue_id,
+diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c
+index 6cdc6e65f7..9add3056ab 100644
+--- a/drivers/baseband/acc100/rte_acc100_pmd.c
++++ b/drivers/baseband/acc100/rte_acc100_pmd.c
+@@ -825,4 +825,8 @@ acc100_queue_setup(struct rte_bbdev *dev, uint16_t queue_id,
@@ -31 +32 @@
-@@ -671,8 +675,4 @@ acc100_queue_setup(struct rte_bbdev *dev, uint16_t queue_id,
+@@ -832,8 +836,4 @@ acc100_queue_setup(struct rte_bbdev *dev, uint16_t queue_id,


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

* patch 'baseband/acc100: check turbo dec/enc input' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (35 preceding siblings ...)
  2022-11-11 10:33 ` patch 'baseband/acc100: fix memory leak' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'baseband/acc100: add null checks' " Kevin Traynor
                   ` (8 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Hernan Vargas; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 257dd80bd62dfe45348b8f81c4e5181e99d74318 Mon Sep 17 00:00:00 2001
From: Hernan Vargas <hernan.vargas@intel.com>
Date: Thu, 20 Oct 2022 22:20:38 -0700
Subject: [PATCH] baseband/acc100: check turbo dec/enc input

[ upstream commit 1d43b46139bb7a2f17ed3a17d4f6708d062253d0 ]

Add NULL check for the turbo decoder and encoder input length.

Fixes: 3bfc5f60403 ("baseband/acc100: add debug function to validate input")

Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/baseband/acc100/rte_acc100_pmd.c | 23 ++++++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)

diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c
index 9add3056ab..82d23af1a1 100644
--- a/drivers/baseband/acc100/rte_acc100_pmd.c
+++ b/drivers/baseband/acc100/rte_acc100_pmd.c
@@ -2087,4 +2087,9 @@ validate_enc_op(struct rte_bbdev_enc_op *op)
 	}
 
+	if (unlikely(turbo_enc->input.length == 0)) {
+		rte_bbdev_log(ERR, "input length null");
+		return -1;
+	}
+
 	if (turbo_enc->code_block_mode == RTE_BBDEV_TRANSPORT_BLOCK) {
 		tb = &turbo_enc->tb_params;
@@ -2106,9 +2111,10 @@ validate_enc_op(struct rte_bbdev_enc_op *op)
 			return -1;
 		}
-		if (tb->c_neg > (RTE_BBDEV_TURBO_MAX_CODE_BLOCKS - 1))
+		if (unlikely(tb->c_neg > 0)) {
 			rte_bbdev_log(ERR,
-					"c_neg (%u) is out of range 0 <= value <= %u",
-					tb->c_neg,
-					RTE_BBDEV_TURBO_MAX_CODE_BLOCKS - 1);
+					"c_neg (%u) expected to be null",
+					tb->c_neg);
+			return -1;
+		}
 		if (tb->c < 1 || tb->c > RTE_BBDEV_TURBO_MAX_CODE_BLOCKS) {
 			rte_bbdev_log(ERR,
@@ -2602,4 +2608,9 @@ validate_dec_op(struct rte_bbdev_dec_op *op)
 	}
 
+	if (unlikely(turbo_dec->input.length == 0)) {
+		rte_bbdev_log(ERR, "input length null");
+		return -1;
+	}
+
 	if (turbo_dec->code_block_mode == RTE_BBDEV_TRANSPORT_BLOCK) {
 		tb = &turbo_dec->tb_params;
@@ -2622,9 +2633,11 @@ validate_dec_op(struct rte_bbdev_dec_op *op)
 			return -1;
 		}
-		if (tb->c_neg > (RTE_BBDEV_TURBO_MAX_CODE_BLOCKS - 1))
+		if (unlikely(tb->c_neg > (RTE_BBDEV_TURBO_MAX_CODE_BLOCKS - 1))) {
 			rte_bbdev_log(ERR,
 					"c_neg (%u) is out of range 0 <= value <= %u",
 					tb->c_neg,
 					RTE_BBDEV_TURBO_MAX_CODE_BLOCKS - 1);
+					return -1;
+		}
 		if (tb->c < 1 || tb->c > RTE_BBDEV_TURBO_MAX_CODE_BLOCKS) {
 			rte_bbdev_log(ERR,
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.970605128 +0000
+++ 0038-baseband-acc100-check-turbo-dec-enc-input.patch	2022-11-11 10:32:17.110300913 +0000
@@ -1 +1 @@
-From 1d43b46139bb7a2f17ed3a17d4f6708d062253d0 Mon Sep 17 00:00:00 2001
+From 257dd80bd62dfe45348b8f81c4e5181e99d74318 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 1d43b46139bb7a2f17ed3a17d4f6708d062253d0 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -14 +15 @@
- drivers/baseband/acc/rte_acc100_pmd.c | 23 ++++++++++++++++++-----
+ drivers/baseband/acc100/rte_acc100_pmd.c | 23 ++++++++++++++++++-----
@@ -17,5 +18,5 @@
-diff --git a/drivers/baseband/acc/rte_acc100_pmd.c b/drivers/baseband/acc/rte_acc100_pmd.c
-index 577c107e9a..eba70654e8 100644
---- a/drivers/baseband/acc/rte_acc100_pmd.c
-+++ b/drivers/baseband/acc/rte_acc100_pmd.c
-@@ -1765,4 +1765,9 @@ validate_enc_op(struct rte_bbdev_enc_op *op, struct acc_queue *q)
+diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c
+index 9add3056ab..82d23af1a1 100644
+--- a/drivers/baseband/acc100/rte_acc100_pmd.c
++++ b/drivers/baseband/acc100/rte_acc100_pmd.c
+@@ -2087,4 +2087,9 @@ validate_enc_op(struct rte_bbdev_enc_op *op)
@@ -31 +32 @@
-@@ -1784,9 +1789,10 @@ validate_enc_op(struct rte_bbdev_enc_op *op, struct acc_queue *q)
+@@ -2106,9 +2111,10 @@ validate_enc_op(struct rte_bbdev_enc_op *op)
@@ -46 +47 @@
-@@ -2282,4 +2288,9 @@ validate_dec_op(struct rte_bbdev_dec_op *op, struct acc_queue *q)
+@@ -2602,4 +2608,9 @@ validate_dec_op(struct rte_bbdev_dec_op *op)
@@ -56 +57 @@
-@@ -2302,9 +2313,11 @@ validate_dec_op(struct rte_bbdev_dec_op *op, struct acc_queue *q)
+@@ -2622,9 +2633,11 @@ validate_dec_op(struct rte_bbdev_dec_op *op)


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

* patch 'baseband/acc100: add null checks' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (36 preceding siblings ...)
  2022-11-11 10:33 ` patch 'baseband/acc100: check turbo dec/enc input' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'baseband/acc100: fix input length for CRC24B' " Kevin Traynor
                   ` (7 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Hernan Vargas; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 4fb74afa15049708536aa5fdaa86999739136dfd Mon Sep 17 00:00:00 2001
From: Hernan Vargas <hernan.vargas@intel.com>
Date: Thu, 20 Oct 2022 22:20:39 -0700
Subject: [PATCH] baseband/acc100: add null checks

[ upstream commit 4a2f231ee139717f61d36a3df8aaab74644ca2b5 ]

Add unlikely checks for NULL operation values.

Fixes: f404dfe35cc ("baseband/acc100: support 4G processing")

Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/baseband/acc100/rte_acc100_pmd.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c
index 82d23af1a1..9eb7641f70 100644
--- a/drivers/baseband/acc100/rte_acc100_pmd.c
+++ b/drivers/baseband/acc100/rte_acc100_pmd.c
@@ -2503,4 +2503,8 @@ enqueue_enc_one_op_tb(struct acc100_queue *q, struct rte_bbdev_enc_op *op,
 
 	while (mbuf_total_left > 0 && r < c) {
+		if (unlikely(input == NULL)) {
+			rte_bbdev_log(ERR, "Not enough input segment");
+			return -EINVAL;
+		}
 		seg_total_left = rte_pktmbuf_data_len(input) - in_offset;
 		/* Set up DMA descriptor */
@@ -3534,4 +3538,6 @@ acc100_enqueue_ldpc_dec_tb(struct rte_bbdev_queue_data *q_data,
 		enqueued_cbs += ret;
 	}
+	if (unlikely(enqueued_cbs == 0))
+		return 0; /* Nothing to enqueue */
 
 	acc100_dma_enqueue(q, enqueued_cbs, &q_data->queue_stats);
@@ -4076,4 +4082,6 @@ acc100_dequeue_dec(struct rte_bbdev_queue_data *q_data,
 		op = (q->ring_addr + ((q->sw_ring_tail + dequeued_cbs)
 			& q->sw_ring_wrap_mask))->req.op_addr;
+		if (unlikely(op == NULL))
+			break;
 		if (op->turbo_dec.code_block_mode == RTE_BBDEV_TRANSPORT_BLOCK)
 			ret = dequeue_dec_one_op_tb(q, &ops[i], dequeued_cbs,
@@ -4121,4 +4129,6 @@ acc100_dequeue_ldpc_dec(struct rte_bbdev_queue_data *q_data,
 		op = (q->ring_addr + ((q->sw_ring_tail + dequeued_cbs)
 			& q->sw_ring_wrap_mask))->req.op_addr;
+		if (unlikely(op == NULL))
+			break;
 		if (op->ldpc_dec.code_block_mode == RTE_BBDEV_TRANSPORT_BLOCK)
 			ret = dequeue_dec_one_op_tb(q, &ops[i], dequeued_cbs,
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:17.992553176 +0000
+++ 0039-baseband-acc100-add-null-checks.patch	2022-11-11 10:32:17.113300926 +0000
@@ -1 +1 @@
-From 4a2f231ee139717f61d36a3df8aaab74644ca2b5 Mon Sep 17 00:00:00 2001
+From 4fb74afa15049708536aa5fdaa86999739136dfd Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 4a2f231ee139717f61d36a3df8aaab74644ca2b5 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -14 +15 @@
- drivers/baseband/acc/rte_acc100_pmd.c | 10 ++++++++++
+ drivers/baseband/acc100/rte_acc100_pmd.c | 10 ++++++++++
@@ -17,5 +18,5 @@
-diff --git a/drivers/baseband/acc/rte_acc100_pmd.c b/drivers/baseband/acc/rte_acc100_pmd.c
-index eba70654e8..e8ec70d954 100644
---- a/drivers/baseband/acc/rte_acc100_pmd.c
-+++ b/drivers/baseband/acc/rte_acc100_pmd.c
-@@ -2181,4 +2181,8 @@ enqueue_enc_one_op_tb(struct acc_queue *q, struct rte_bbdev_enc_op *op,
+diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c
+index 82d23af1a1..9eb7641f70 100644
+--- a/drivers/baseband/acc100/rte_acc100_pmd.c
++++ b/drivers/baseband/acc100/rte_acc100_pmd.c
+@@ -2503,4 +2503,8 @@ enqueue_enc_one_op_tb(struct acc100_queue *q, struct rte_bbdev_enc_op *op,
@@ -30 +31 @@
-@@ -3098,4 +3102,6 @@ acc100_enqueue_ldpc_dec_tb(struct rte_bbdev_queue_data *q_data,
+@@ -3534,4 +3538,6 @@ acc100_enqueue_ldpc_dec_tb(struct rte_bbdev_queue_data *q_data,
@@ -36,4 +37,4 @@
- 	acc_dma_enqueue(q, enqueued_cbs, &q_data->queue_stats);
-@@ -3626,4 +3632,6 @@ acc100_dequeue_dec(struct rte_bbdev_queue_data *q_data,
- 	for (i = 0; i < dequeue_num; ++i) {
- 		op = acc_op_tail(q, dequeued_cbs);
+ 	acc100_dma_enqueue(q, enqueued_cbs, &q_data->queue_stats);
+@@ -4076,4 +4082,6 @@ acc100_dequeue_dec(struct rte_bbdev_queue_data *q_data,
+ 		op = (q->ring_addr + ((q->sw_ring_tail + dequeued_cbs)
+ 			& q->sw_ring_wrap_mask))->req.op_addr;
@@ -44 +45 @@
-@@ -3671,4 +3679,6 @@ acc100_dequeue_ldpc_dec(struct rte_bbdev_queue_data *q_data,
+@@ -4121,4 +4129,6 @@ acc100_dequeue_ldpc_dec(struct rte_bbdev_queue_data *q_data,


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

* patch 'baseband/acc100: fix input length for CRC24B' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (37 preceding siblings ...)
  2022-11-11 10:33 ` patch 'baseband/acc100: add null checks' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'baseband/acc100: fix clearing PF IR outside handler' " Kevin Traynor
                   ` (6 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Hernan Vargas; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 78faac779b698f78651e40580a51979634ddd08b Mon Sep 17 00:00:00 2001
From: Hernan Vargas <hernan.vargas@intel.com>
Date: Thu, 20 Oct 2022 22:20:42 -0700
Subject: [PATCH] baseband/acc100: fix input length for CRC24B

[ upstream commit ec1424fffaffbde1d5932745f5cd8afec51cb5ea ]

Input length should be reduced only for CRC24B.

Fixes: 5ad5060f8f7 ("baseband/acc100: add LDPC processing functions")

Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/baseband/acc100/rte_acc100_pmd.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c
index 9eb7641f70..d96c40a98d 100644
--- a/drivers/baseband/acc100/rte_acc100_pmd.c
+++ b/drivers/baseband/acc100/rte_acc100_pmd.c
@@ -1636,6 +1636,5 @@ acc100_dma_desc_le_fill(struct rte_bbdev_enc_op *op,
 	K = (enc->basegraph == 1 ? 22 : 10) * enc->z_c;
 	in_length_in_bits = K - enc->n_filler;
-	if ((enc->op_flags & RTE_BBDEV_LDPC_CRC_24A_ATTACH) ||
-			(enc->op_flags & RTE_BBDEV_LDPC_CRC_24B_ATTACH))
+	if (enc->op_flags & RTE_BBDEV_LDPC_CRC_24B_ATTACH)
 		in_length_in_bits -= 24;
 	in_length_in_bytes = in_length_in_bits >> 3;
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:18.014934682 +0000
+++ 0040-baseband-acc100-fix-input-length-for-CRC24B.patch	2022-11-11 10:32:17.116300938 +0000
@@ -1 +1 @@
-From ec1424fffaffbde1d5932745f5cd8afec51cb5ea Mon Sep 17 00:00:00 2001
+From 78faac779b698f78651e40580a51979634ddd08b Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ec1424fffaffbde1d5932745f5cd8afec51cb5ea ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -14 +15 @@
- drivers/baseband/acc/rte_acc100_pmd.c | 3 +--
+ drivers/baseband/acc100/rte_acc100_pmd.c | 3 +--
@@ -17,5 +18,5 @@
-diff --git a/drivers/baseband/acc/rte_acc100_pmd.c b/drivers/baseband/acc/rte_acc100_pmd.c
-index b737374d71..7ec63dc470 100644
---- a/drivers/baseband/acc/rte_acc100_pmd.c
-+++ b/drivers/baseband/acc/rte_acc100_pmd.c
-@@ -1445,6 +1445,5 @@ acc100_dma_desc_le_fill(struct rte_bbdev_enc_op *op,
+diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c
+index 9eb7641f70..d96c40a98d 100644
+--- a/drivers/baseband/acc100/rte_acc100_pmd.c
++++ b/drivers/baseband/acc100/rte_acc100_pmd.c
+@@ -1636,6 +1636,5 @@ acc100_dma_desc_le_fill(struct rte_bbdev_enc_op *op,


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

* patch 'baseband/acc100: fix clearing PF IR outside handler' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (38 preceding siblings ...)
  2022-11-11 10:33 ` patch 'baseband/acc100: fix input length for CRC24B' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'baseband/acc100: fix device minimum alignment' " Kevin Traynor
                   ` (5 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Hernan Vargas; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 9d91b3709d5752a6953e1165362e5a466b792512 Mon Sep 17 00:00:00 2001
From: Hernan Vargas <hernan.vargas@intel.com>
Date: Thu, 20 Oct 2022 22:20:43 -0700
Subject: [PATCH] baseband/acc100: fix clearing PF IR outside handler

[ upstream commit 935745f56b9bf37ebece351170b47d3e6c215bc9 ]

Clearing of PF info ring outside of handler may cause interrupt to be
missed.
A condition in the ACC100 PMD implementation may cause an interrupt
functional handler call to be missed due to related bit being cleared
when checking PF info ring status.

Fixes: 06531464151 ("baseband/acc100: support interrupt")

Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/baseband/acc100/rte_acc100_pmd.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c
index d96c40a98d..f6406841ae 100644
--- a/drivers/baseband/acc100/rte_acc100_pmd.c
+++ b/drivers/baseband/acc100/rte_acc100_pmd.c
@@ -424,9 +424,10 @@ acc100_check_ir(struct acc100_device *acc100_dev)
 		if ((ring_data->int_nb < ACC100_PF_INT_DMA_DL_DESC_IRQ) || (
 				ring_data->int_nb >
-				ACC100_PF_INT_DMA_DL5G_DESC_IRQ))
+				ACC100_PF_INT_DMA_DL5G_DESC_IRQ)) {
 			rte_bbdev_log(WARNING, "InfoRing: ITR:%d Info:0x%x",
 				ring_data->int_nb, ring_data->detailed_info);
-		/* Initialize Info Ring entry and move forward */
-		ring_data->val = 0;
+			/* Initialize Info Ring entry and move forward */
+			ring_data->val = 0;
+		}
 		info_ring_head++;
 		ring_data = acc100_dev->info_ring +
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:18.037123441 +0000
+++ 0041-baseband-acc100-fix-clearing-PF-IR-outside-handler.patch	2022-11-11 10:32:17.118300946 +0000
@@ -1 +1 @@
-From 935745f56b9bf37ebece351170b47d3e6c215bc9 Mon Sep 17 00:00:00 2001
+From 9d91b3709d5752a6953e1165362e5a466b792512 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 935745f56b9bf37ebece351170b47d3e6c215bc9 ]
+
@@ -13 +14,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
- drivers/baseband/acc/rte_acc100_pmd.c | 7 ++++---
+ drivers/baseband/acc100/rte_acc100_pmd.c | 7 ++++---
@@ -21,5 +22,5 @@
-diff --git a/drivers/baseband/acc/rte_acc100_pmd.c b/drivers/baseband/acc/rte_acc100_pmd.c
-index 7ec63dc470..3bb93a1e07 100644
---- a/drivers/baseband/acc/rte_acc100_pmd.c
-+++ b/drivers/baseband/acc/rte_acc100_pmd.c
-@@ -263,9 +263,10 @@ acc100_check_ir(struct acc_device *acc100_dev)
+diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c
+index d96c40a98d..f6406841ae 100644
+--- a/drivers/baseband/acc100/rte_acc100_pmd.c
++++ b/drivers/baseband/acc100/rte_acc100_pmd.c
+@@ -424,9 +424,10 @@ acc100_check_ir(struct acc100_device *acc100_dev)


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

* patch 'baseband/acc100: fix device minimum alignment' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (39 preceding siblings ...)
  2022-11-11 10:33 ` patch 'baseband/acc100: fix clearing PF IR outside handler' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'baseband/acc100: fix close cleanup' " Kevin Traynor
                   ` (4 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Hernan Vargas; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 752dea925633374fed048f0c21d28cd4627d3b4a Mon Sep 17 00:00:00 2001
From: Hernan Vargas <hernan.vargas@intel.com>
Date: Thu, 20 Oct 2022 22:20:44 -0700
Subject: [PATCH] baseband/acc100: fix device minimum alignment

[ upstream commit badb3b79b970831ddc5c78997fb801bcaa08fe1b ]

Historical mistakes, there should be no 64B alignment requirement for
the buffer being processed. Any 1B alignment is sufficient.

Fixes: 9200ffa5cd5 ("baseband/acc100: add info get function")

Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/baseband/acc100/rte_acc100_pmd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c
index f6406841ae..00c31fe85b 100644
--- a/drivers/baseband/acc100/rte_acc100_pmd.c
+++ b/drivers/baseband/acc100/rte_acc100_pmd.c
@@ -1084,5 +1084,5 @@ acc100_dev_info_get(struct rte_bbdev *dev,
 	dev_info->default_queue_conf = default_queue_conf;
 	dev_info->cpu_flag_reqs = NULL;
-	dev_info->min_alignment = 64;
+	dev_info->min_alignment = 1;
 	dev_info->capabilities = bbdev_capabilities;
 #ifdef ACC100_EXT_MEM
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:18.059098275 +0000
+++ 0042-baseband-acc100-fix-device-minimum-alignment.patch	2022-11-11 10:32:17.121300958 +0000
@@ -1 +1 @@
-From badb3b79b970831ddc5c78997fb801bcaa08fe1b Mon Sep 17 00:00:00 2001
+From 752dea925633374fed048f0c21d28cd4627d3b4a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit badb3b79b970831ddc5c78997fb801bcaa08fe1b ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -15 +16 @@
- drivers/baseband/acc/rte_acc100_pmd.c | 2 +-
+ drivers/baseband/acc100/rte_acc100_pmd.c | 2 +-
@@ -18,5 +19,5 @@
-diff --git a/drivers/baseband/acc/rte_acc100_pmd.c b/drivers/baseband/acc/rte_acc100_pmd.c
-index 3bb93a1e07..600a10b9fb 100644
---- a/drivers/baseband/acc/rte_acc100_pmd.c
-+++ b/drivers/baseband/acc/rte_acc100_pmd.c
-@@ -939,5 +939,5 @@ acc100_dev_info_get(struct rte_bbdev *dev,
+diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c
+index f6406841ae..00c31fe85b 100644
+--- a/drivers/baseband/acc100/rte_acc100_pmd.c
++++ b/drivers/baseband/acc100/rte_acc100_pmd.c
+@@ -1084,5 +1084,5 @@ acc100_dev_info_get(struct rte_bbdev *dev,


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

* patch 'baseband/acc100: fix close cleanup' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (40 preceding siblings ...)
  2022-11-11 10:33 ` patch 'baseband/acc100: fix device minimum alignment' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'test/crypto: fix PDCP vectors' " Kevin Traynor
                   ` (3 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Hernan Vargas; +Cc: Maxime Coquelin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From c6b2befc2e3b11ba9bc9bad74bda285b3d2c4b3a Mon Sep 17 00:00:00 2001
From: Hernan Vargas <hernan.vargas@intel.com>
Date: Thu, 20 Oct 2022 22:20:46 -0700
Subject: [PATCH] baseband/acc100: fix close cleanup

[ upstream commit ba2262fe16cade81a18b353d580ec4229e1020a6 ]

Set local pointer to NULL after rte_free.
This needs to be set explicitly since logic may check for null pointers.

Fixes: 060e7672930 ("baseband/acc100: add queue configuration")

Signed-off-by: Hernan Vargas <hernan.vargas@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
---
 drivers/baseband/acc100/rte_acc100_pmd.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c
index 00c31fe85b..b59548315f 100644
--- a/drivers/baseband/acc100/rte_acc100_pmd.c
+++ b/drivers/baseband/acc100/rte_acc100_pmd.c
@@ -770,4 +770,7 @@ acc100_dev_close(struct rte_bbdev *dev)
 		rte_free(d->sw_rings_base);
 		d->sw_rings_base = NULL;
+		d->tail_ptrs = NULL;
+		d->info_ring = NULL;
+		d->harq_layout = NULL;
 	}
 	/* Ensure all in flight HW transactions are completed */
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:18.081362518 +0000
+++ 0043-baseband-acc100-fix-close-cleanup.patch	2022-11-11 10:32:17.124300970 +0000
@@ -1 +1 @@
-From ba2262fe16cade81a18b353d580ec4229e1020a6 Mon Sep 17 00:00:00 2001
+From c6b2befc2e3b11ba9bc9bad74bda285b3d2c4b3a Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ba2262fe16cade81a18b353d580ec4229e1020a6 ]
+
@@ -10 +11,0 @@
-Cc: stable@dpdk.org
@@ -15 +16 @@
- drivers/baseband/acc/rte_acc100_pmd.c | 3 +++
+ drivers/baseband/acc100/rte_acc100_pmd.c | 3 +++
@@ -18,5 +19,5 @@
-diff --git a/drivers/baseband/acc/rte_acc100_pmd.c b/drivers/baseband/acc/rte_acc100_pmd.c
-index a711862892..ad815ed76a 100644
---- a/drivers/baseband/acc/rte_acc100_pmd.c
-+++ b/drivers/baseband/acc/rte_acc100_pmd.c
-@@ -619,4 +619,7 @@ acc100_dev_close(struct rte_bbdev *dev)
+diff --git a/drivers/baseband/acc100/rte_acc100_pmd.c b/drivers/baseband/acc100/rte_acc100_pmd.c
+index 00c31fe85b..b59548315f 100644
+--- a/drivers/baseband/acc100/rte_acc100_pmd.c
++++ b/drivers/baseband/acc100/rte_acc100_pmd.c
+@@ -770,4 +770,7 @@ acc100_dev_close(struct rte_bbdev *dev)


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

* patch 'test/crypto: fix PDCP vectors' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (41 preceding siblings ...)
  2022-11-11 10:33 ` patch 'baseband/acc100: fix close cleanup' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'examples/ipsec-secgw: fix Tx checksum offload flag' " Kevin Traynor
                   ` (2 subsequent siblings)
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Anoob Joseph; +Cc: Akhil Goyal, Gagandeep Singh, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 75cf3660301c2b37d591e733d7c802772020f04c 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 81fd6e606b..c82bc50631 100644
--- a/app/test/test_cryptodev_security_pdcp_test_vectors.h
+++ b/app/test/test_cryptodev_security_pdcp_test_vectors.h
@@ -4249,5 +4249,5 @@ 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,
@@ -4263,5 +4263,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4277,5 +4277,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4291,5 +4291,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4306,5 +4306,5 @@ static uint8_t *pdcp_test_data_in[] = {
 
 	/* 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,
@@ -4320,5 +4320,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4334,5 +4334,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4348,5 +4348,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4363,5 +4363,5 @@ static uint8_t *pdcp_test_data_in[] = {
 
 	/* 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,
@@ -4377,5 +4377,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4391,5 +4391,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		     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,
@@ -4405,5 +4405,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4420,5 +4420,5 @@ static uint8_t *pdcp_test_data_in[] = {
 
 	/* 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,
@@ -4434,5 +4434,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4448,5 +4448,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4462,5 +4462,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4495,5 +4495,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4529,5 +4529,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4563,5 +4563,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4597,5 +4597,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4615,5 +4615,5 @@ 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,
@@ -4629,5 +4629,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4643,5 +4643,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4657,5 +4657,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4672,5 +4672,5 @@ static uint8_t *pdcp_test_data_in[] = {
 
 	/* 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,
@@ -4686,5 +4686,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4700,5 +4700,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4714,5 +4714,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4729,5 +4729,5 @@ static uint8_t *pdcp_test_data_in[] = {
 
 	/* 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,
@@ -4743,5 +4743,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4757,5 +4757,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4771,5 +4771,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4786,5 +4786,5 @@ static uint8_t *pdcp_test_data_in[] = {
 
 	/* 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,
@@ -4800,5 +4800,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4814,5 +4814,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4828,5 +4828,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4844,5 +4844,5 @@ 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,
@@ -4860,5 +4860,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4876,5 +4876,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4892,5 +4892,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4908,5 +4908,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4924,5 +4924,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4940,5 +4940,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4956,5 +4956,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4972,5 +4972,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -4988,5 +4988,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -5004,5 +5004,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -5020,5 +5020,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -5036,5 +5036,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -5052,5 +5052,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -5068,5 +5068,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -5084,5 +5084,5 @@ static uint8_t *pdcp_test_data_in[] = {
 		    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,
@@ -5539,5 +5539,5 @@ 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,
@@ -5555,5 +5555,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5561,5 +5561,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5571,5 +5571,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5577,5 +5577,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5587,5 +5587,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5593,5 +5593,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5604,5 +5604,5 @@ static uint8_t *pdcp_test_data_out[] = {
 
 	/* 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,
@@ -5620,5 +5620,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5626,5 +5626,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5636,5 +5636,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5642,5 +5642,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5652,5 +5652,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5658,5 +5658,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5669,5 +5669,5 @@ static uint8_t *pdcp_test_data_out[] = {
 
 	/* 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,
@@ -5686,5 +5686,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5692,5 +5692,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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 */
@@ -5703,5 +5703,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5709,5 +5709,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5719,5 +5719,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5725,5 +5725,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5735,5 +5735,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5751,5 +5751,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5757,5 +5757,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5767,5 +5767,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5773,5 +5773,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5783,5 +5783,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5789,5 +5789,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5818,5 +5818,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5852,5 +5852,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5885,5 +5885,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5917,5 +5917,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5933,5 +5933,5 @@ 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,
@@ -5949,5 +5949,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5955,5 +5955,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5965,5 +5965,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5971,5 +5971,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5981,5 +5981,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5987,5 +5987,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -5998,5 +5998,5 @@ static uint8_t *pdcp_test_data_out[] = {
 
 	/* 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,
@@ -6014,5 +6014,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -6020,5 +6020,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -6030,5 +6030,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -6036,5 +6036,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -6046,5 +6046,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -6052,5 +6052,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -6062,5 +6062,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -6079,5 +6079,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -6085,5 +6085,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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 */
@@ -6096,5 +6096,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -6102,5 +6102,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -6112,5 +6112,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -6118,5 +6118,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -6129,5 +6129,5 @@ static uint8_t *pdcp_test_data_out[] = {
 
 	/* 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,
@@ -6145,5 +6145,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -6151,5 +6151,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -6161,5 +6161,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -6167,5 +6167,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -6177,5 +6177,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -6183,5 +6183,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -6195,5 +6195,5 @@ 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,
@@ -6211,5 +6211,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -6217,5 +6217,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		    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,
@@ -6226,10 +6226,10 @@ static uint8_t *pdcp_test_data_out[] = {
 		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,
@@ -6240,10 +6240,10 @@ static uint8_t *pdcp_test_data_out[] = {
 		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,
@@ -6254,5 +6254,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		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,
@@ -6269,10 +6269,10 @@ static uint8_t *pdcp_test_data_out[] = {
 		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,
@@ -6283,10 +6283,10 @@ static uint8_t *pdcp_test_data_out[] = {
 		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,
@@ -6297,10 +6297,10 @@ static uint8_t *pdcp_test_data_out[] = {
 		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,
@@ -6311,5 +6311,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		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,
@@ -6325,10 +6325,10 @@ static uint8_t *pdcp_test_data_out[] = {
 		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,
@@ -6339,10 +6339,10 @@ static uint8_t *pdcp_test_data_out[] = {
 		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,
@@ -6353,10 +6353,10 @@ static uint8_t *pdcp_test_data_out[] = {
 		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,
@@ -6367,5 +6367,5 @@ static uint8_t *pdcp_test_data_out[] = {
 		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,
@@ -6381,10 +6381,10 @@ static uint8_t *pdcp_test_data_out[] = {
 		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,
@@ -6395,10 +6395,10 @@ static uint8_t *pdcp_test_data_out[] = {
 		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,
@@ -6409,10 +6409,10 @@ static uint8_t *pdcp_test_data_out[] = {
 		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,
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:18.103596323 +0000
+++ 0044-test-crypto-fix-PDCP-vectors.patch	2022-11-11 10:32:17.127300982 +0000
@@ -1 +1 @@
-From 8cbe74f19166a110fda59b8d48c85e7b33ab0a4f Mon Sep 17 00:00:00 2001
+From 75cf3660301c2b37d591e733d7c802772020f04c 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 81fd6e606b..c82bc50631 100644
@@ -26 +27 @@
-@@ -4265,5 +4265,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4249,5 +4249,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -33 +34 @@
-@@ -4279,5 +4279,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4263,5 +4263,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -40 +41 @@
-@@ -4293,5 +4293,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4277,5 +4277,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -47 +48 @@
-@@ -4307,5 +4307,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4291,5 +4291,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -54 +55 @@
-@@ -4322,5 +4322,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4306,5 +4306,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -61 +62 @@
-@@ -4336,5 +4336,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4320,5 +4320,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -68 +69 @@
-@@ -4350,5 +4350,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4334,5 +4334,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -75 +76 @@
-@@ -4364,5 +4364,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4348,5 +4348,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -82 +83 @@
-@@ -4379,5 +4379,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4363,5 +4363,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -89 +90 @@
-@@ -4393,5 +4393,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4377,5 +4377,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -96 +97 @@
-@@ -4407,5 +4407,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4391,5 +4391,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -103 +104 @@
-@@ -4421,5 +4421,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4405,5 +4405,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -110 +111 @@
-@@ -4436,5 +4436,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4420,5 +4420,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -117 +118 @@
-@@ -4450,5 +4450,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4434,5 +4434,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -124 +125 @@
-@@ -4464,5 +4464,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4448,5 +4448,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -131 +132 @@
-@@ -4478,5 +4478,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4462,5 +4462,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -138 +139 @@
-@@ -4511,5 +4511,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4495,5 +4495,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -145 +146 @@
-@@ -4545,5 +4545,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4529,5 +4529,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -152 +153 @@
-@@ -4579,5 +4579,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4563,5 +4563,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -159 +160 @@
-@@ -4613,5 +4613,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4597,5 +4597,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -166 +167 @@
-@@ -4631,5 +4631,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4615,5 +4615,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -173 +174 @@
-@@ -4645,5 +4645,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4629,5 +4629,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -180 +181 @@
-@@ -4659,5 +4659,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4643,5 +4643,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -187 +188 @@
-@@ -4673,5 +4673,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4657,5 +4657,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -194 +195 @@
-@@ -4688,5 +4688,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4672,5 +4672,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -201 +202 @@
-@@ -4702,5 +4702,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4686,5 +4686,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -208 +209 @@
-@@ -4716,5 +4716,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4700,5 +4700,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -215 +216 @@
-@@ -4730,5 +4730,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4714,5 +4714,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -222 +223 @@
-@@ -4745,5 +4745,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4729,5 +4729,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -229 +230 @@
-@@ -4759,5 +4759,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4743,5 +4743,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -236 +237 @@
-@@ -4773,5 +4773,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4757,5 +4757,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -243 +244 @@
-@@ -4787,5 +4787,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4771,5 +4771,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -250 +251 @@
-@@ -4802,5 +4802,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4786,5 +4786,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -257 +258 @@
-@@ -4816,5 +4816,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4800,5 +4800,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -264 +265 @@
-@@ -4830,5 +4830,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4814,5 +4814,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -271 +272 @@
-@@ -4844,5 +4844,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4828,5 +4828,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -278 +279 @@
-@@ -4860,5 +4860,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4844,5 +4844,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -285 +286 @@
-@@ -4876,5 +4876,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4860,5 +4860,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -292 +293 @@
-@@ -4892,5 +4892,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4876,5 +4876,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -299 +300 @@
-@@ -4908,5 +4908,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4892,5 +4892,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -306 +307 @@
-@@ -4924,5 +4924,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4908,5 +4908,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -313 +314 @@
-@@ -4940,5 +4940,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4924,5 +4924,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -320 +321 @@
-@@ -4956,5 +4956,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4940,5 +4940,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -327 +328 @@
-@@ -4972,5 +4972,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4956,5 +4956,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -334 +335 @@
-@@ -4988,5 +4988,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4972,5 +4972,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -341 +342 @@
-@@ -5004,5 +5004,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -4988,5 +4988,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -348 +349 @@
-@@ -5020,5 +5020,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -5004,5 +5004,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -355 +356 @@
-@@ -5036,5 +5036,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -5020,5 +5020,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -362 +363 @@
-@@ -5052,5 +5052,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -5036,5 +5036,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -369 +370 @@
-@@ -5068,5 +5068,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -5052,5 +5052,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -376 +377 @@
-@@ -5084,5 +5084,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -5068,5 +5068,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -383 +384 @@
-@@ -5100,5 +5100,5 @@ static uint8_t *pdcp_test_data_in[] = {
+@@ -5084,5 +5084,5 @@ static uint8_t *pdcp_test_data_in[] = {
@@ -390 +391 @@
-@@ -5555,5 +5555,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5539,5 +5539,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -397 +398 @@
-@@ -5571,5 +5571,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5555,5 +5555,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -404 +405 @@
-@@ -5577,5 +5577,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5561,5 +5561,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -411 +412 @@
-@@ -5587,5 +5587,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5571,5 +5571,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -418 +419 @@
-@@ -5593,5 +5593,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5577,5 +5577,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -425 +426 @@
-@@ -5603,5 +5603,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5587,5 +5587,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -432 +433 @@
-@@ -5609,5 +5609,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5593,5 +5593,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -439 +440 @@
-@@ -5620,5 +5620,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5604,5 +5604,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -446 +447 @@
-@@ -5636,5 +5636,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5620,5 +5620,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -453 +454 @@
-@@ -5642,5 +5642,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5626,5 +5626,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -460 +461 @@
-@@ -5652,5 +5652,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5636,5 +5636,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -467 +468 @@
-@@ -5658,5 +5658,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5642,5 +5642,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -474 +475 @@
-@@ -5668,5 +5668,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5652,5 +5652,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -481 +482 @@
-@@ -5674,5 +5674,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5658,5 +5658,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -488 +489 @@
-@@ -5685,5 +5685,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5669,5 +5669,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -495 +496 @@
-@@ -5702,5 +5702,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5686,5 +5686,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -502 +503 @@
-@@ -5708,5 +5708,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5692,5 +5692,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -509 +510 @@
-@@ -5719,5 +5719,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5703,5 +5703,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -516 +517 @@
-@@ -5725,5 +5725,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5709,5 +5709,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -523 +524 @@
-@@ -5735,5 +5735,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5719,5 +5719,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -530 +531 @@
-@@ -5741,5 +5741,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5725,5 +5725,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -537 +538 @@
-@@ -5751,5 +5751,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5735,5 +5735,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -544 +545 @@
-@@ -5767,5 +5767,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5751,5 +5751,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -551 +552 @@
-@@ -5773,5 +5773,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5757,5 +5757,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -558 +559 @@
-@@ -5783,5 +5783,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5767,5 +5767,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -565 +566 @@
-@@ -5789,5 +5789,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5773,5 +5773,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -572 +573 @@
-@@ -5799,5 +5799,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5783,5 +5783,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -579 +580 @@
-@@ -5805,5 +5805,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5789,5 +5789,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -586 +587 @@
-@@ -5834,5 +5834,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5818,5 +5818,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -593 +594 @@
-@@ -5868,5 +5868,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5852,5 +5852,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -600 +601 @@
-@@ -5901,5 +5901,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5885,5 +5885,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -607 +608 @@
-@@ -5933,5 +5933,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5917,5 +5917,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -614 +615 @@
-@@ -5949,5 +5949,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5933,5 +5933,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -621 +622 @@
-@@ -5965,5 +5965,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5949,5 +5949,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -628 +629 @@
-@@ -5971,5 +5971,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5955,5 +5955,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -635 +636 @@
-@@ -5981,5 +5981,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5965,5 +5965,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -642 +643 @@
-@@ -5987,5 +5987,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5971,5 +5971,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -649 +650 @@
-@@ -5997,5 +5997,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5981,5 +5981,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -656 +657 @@
-@@ -6003,5 +6003,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5987,5 +5987,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -663 +664 @@
-@@ -6014,5 +6014,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -5998,5 +5998,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -670 +671 @@
-@@ -6030,5 +6030,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6014,5 +6014,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -677 +678 @@
-@@ -6036,5 +6036,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6020,5 +6020,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -684 +685 @@
-@@ -6046,5 +6046,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6030,5 +6030,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -691 +692 @@
-@@ -6052,5 +6052,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6036,5 +6036,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -698 +699 @@
-@@ -6062,5 +6062,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6046,5 +6046,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -705 +706 @@
-@@ -6068,5 +6068,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6052,5 +6052,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -712 +713 @@
-@@ -6078,5 +6078,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6062,5 +6062,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -719 +720 @@
-@@ -6095,5 +6095,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6079,5 +6079,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -726 +727 @@
-@@ -6101,5 +6101,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6085,5 +6085,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -733 +734 @@
-@@ -6112,5 +6112,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6096,5 +6096,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -740 +741 @@
-@@ -6118,5 +6118,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6102,5 +6102,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -747 +748 @@
-@@ -6128,5 +6128,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6112,5 +6112,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -754 +755 @@
-@@ -6134,5 +6134,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6118,5 +6118,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -761 +762 @@
-@@ -6145,5 +6145,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6129,5 +6129,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -768 +769 @@
-@@ -6161,5 +6161,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6145,5 +6145,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -775 +776 @@
-@@ -6167,5 +6167,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6151,5 +6151,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -782 +783 @@
-@@ -6177,5 +6177,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6161,5 +6161,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -789 +790 @@
-@@ -6183,5 +6183,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6167,5 +6167,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -796 +797 @@
-@@ -6193,5 +6193,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6177,5 +6177,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -803 +804 @@
-@@ -6199,5 +6199,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6183,5 +6183,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -810 +811 @@
-@@ -6211,5 +6211,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6195,5 +6195,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -817 +818 @@
-@@ -6227,5 +6227,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6211,5 +6211,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -824 +825 @@
-@@ -6233,5 +6233,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6217,5 +6217,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -831 +832 @@
-@@ -6242,10 +6242,10 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6226,10 +6226,10 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -844 +845 @@
-@@ -6256,10 +6256,10 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6240,10 +6240,10 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -857 +858 @@
-@@ -6270,5 +6270,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6254,5 +6254,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -864 +865 @@
-@@ -6285,10 +6285,10 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6269,10 +6269,10 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -877 +878 @@
-@@ -6299,10 +6299,10 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6283,10 +6283,10 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -890 +891 @@
-@@ -6313,10 +6313,10 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6297,10 +6297,10 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -903 +904 @@
-@@ -6327,5 +6327,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6311,5 +6311,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -910 +911 @@
-@@ -6341,10 +6341,10 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6325,10 +6325,10 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -923 +924 @@
-@@ -6355,10 +6355,10 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6339,10 +6339,10 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -936 +937 @@
-@@ -6369,10 +6369,10 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6353,10 +6353,10 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -949 +950 @@
-@@ -6383,5 +6383,5 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6367,5 +6367,5 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -956 +957 @@
-@@ -6397,10 +6397,10 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6381,10 +6381,10 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -969 +970 @@
-@@ -6411,10 +6411,10 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6395,10 +6395,10 @@ static uint8_t *pdcp_test_data_out[] = {
@@ -982 +983 @@
-@@ -6425,10 +6425,10 @@ static uint8_t *pdcp_test_data_out[] = {
+@@ -6409,10 +6409,10 @@ static uint8_t *pdcp_test_data_out[] = {


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

* patch 'examples/ipsec-secgw: fix Tx checksum offload flag' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (42 preceding siblings ...)
  2022-11-11 10:33 ` patch 'test/crypto: fix PDCP vectors' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'crypto/qat: fix null hash algorithm digest size' " Kevin Traynor
  2022-11-11 10:33 ` patch 'net/mlx5: fix build with recent compilers' " Kevin Traynor
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Radu Nicolau; +Cc: Vladimir Medvedkin, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From dd7dafd2c23498d417161086d17951b51f92db66 Mon Sep 17 00:00:00 2001
From: Radu Nicolau <radu.nicolau@intel.com>
Date: Fri, 30 Sep 2022 13:40:55 +0100
Subject: [PATCH] examples/ipsec-secgw: fix Tx checksum offload flag

[ upstream commit c05f2e968867b9a86eaba528946bf421073f41a3 ]

Fix a typo in computing port mask for Tx checksum offload capability.

Fixes: 4edcee19fc20 ("examples/ipsec-secgw: use Tx checksum offload conditionally")

Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
Acked-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com>
---
 examples/ipsec-secgw/ipsec-secgw.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c
index 19ced948ec..365824889f 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/ipsec-secgw/ipsec-secgw.c
@@ -3357,5 +3357,5 @@ main(int32_t argc, char **argv)
 				req_tx_offloads[portid]);
 		if ((req_tx_offloads[portid] & RTE_ETH_TX_OFFLOAD_IPV4_CKSUM))
-			ipv4_cksum_port_mask = 1U << portid;
+			ipv4_cksum_port_mask |= 1U << portid;
 	}
 
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:18.129026315 +0000
+++ 0045-examples-ipsec-secgw-fix-Tx-checksum-offload-flag.patch	2022-11-11 10:32:17.129300990 +0000
@@ -1 +1 @@
-From c05f2e968867b9a86eaba528946bf421073f41a3 Mon Sep 17 00:00:00 2001
+From dd7dafd2c23498d417161086d17951b51f92db66 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit c05f2e968867b9a86eaba528946bf421073f41a3 ]
+
@@ -9 +10,0 @@
-Cc: stable@dpdk.org
@@ -18 +19 @@
-index e20bf50752..1d9982a786 100644
+index 19ced948ec..365824889f 100644
@@ -21 +22 @@
-@@ -2999,5 +2999,5 @@ main(int32_t argc, char **argv)
+@@ -3357,5 +3357,5 @@ main(int32_t argc, char **argv)


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

* patch 'crypto/qat: fix null hash algorithm digest size' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (43 preceding siblings ...)
  2022-11-11 10:33 ` patch 'examples/ipsec-secgw: fix Tx checksum offload flag' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  2022-11-11 10:33 ` patch 'net/mlx5: fix build with recent compilers' " Kevin Traynor
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Brian Dooley; +Cc: Ciara Power, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From b7df2495f831f3b785812f54db7c20768d0bc0bb 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 3697a038e5..f269e8992b 100644
--- a/drivers/crypto/qat/qat_sym_session.c
+++ b/drivers/crypto/qat/qat_sym_session.c
@@ -1819,5 +1819,10 @@ int qat_sym_cd_auth_set(struct qat_sym_session *cdesc,
 	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);
@@ -2080,8 +2085,14 @@ int qat_sym_cd_auth_set(struct qat_sym_session *cdesc,
 	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;
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:18.150113896 +0000
+++ 0046-crypto-qat-fix-null-hash-algorithm-digest-size.patch	2022-11-11 10:32:17.131300998 +0000
@@ -1 +1 @@
-From 7283c59e37b114e692a379234a9d34f0d2c538e7 Mon Sep 17 00:00:00 2001
+From b7df2495f831f3b785812f54db7c20768d0bc0bb 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 3697a038e5..f269e8992b 100644
@@ -22 +23 @@
-@@ -2053,5 +2053,10 @@ int qat_sym_cd_auth_set(struct qat_sym_session *cdesc,
+@@ -1819,5 +1819,10 @@ int qat_sym_cd_auth_set(struct qat_sym_session *cdesc,
@@ -34 +35 @@
-@@ -2421,8 +2426,14 @@ int qat_sym_cd_auth_set(struct qat_sym_session *cdesc,
+@@ -2080,8 +2085,14 @@ int qat_sym_cd_auth_set(struct qat_sym_session *cdesc,


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

* patch 'net/mlx5: fix build with recent compilers' has been queued to stable release 21.11.3
  2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
                   ` (44 preceding siblings ...)
  2022-11-11 10:33 ` patch 'crypto/qat: fix null hash algorithm digest size' " Kevin Traynor
@ 2022-11-11 10:33 ` Kevin Traynor
  45 siblings, 0 replies; 49+ messages in thread
From: Kevin Traynor @ 2022-11-11 10:33 UTC (permalink / raw)
  To: Bing Zhao; +Cc: Thomas Monjalon, dpdk stable

Hi,

FYI, your patch has been queued to stable release 21.11.3

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/14/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
From 81aba30795dfef41ab7d782ecdf3fa4cb3752a96 Mon Sep 17 00:00:00 2001
From: Bing Zhao <bingz@nvidia.com>
Date: Mon, 31 Oct 2022 20:24:56 +0200
Subject: [PATCH] net/mlx5: fix build with recent compilers

[ upstream commit ccc6ea5d9c90650e3a8e29ab45e18b9fffd3d061 ]

With some higher GCC/CLANG version, it is not recommended to use a
structure with a tailing flexible array inside another structure.
Accessing this array may be considered as a risk to corrupt the
following field even if it is by intention.

The error below was observed:

  drivers/net/mlx5/linux/mlx5_ethdev_os.c: In function 'mlx5_get_flag_dropless_rq':
  drivers/net/mlx5/linux/mlx5_ethdev_os.c:1679:42: error:
  invalid use of structure with flexible array member [-Werror=pedantic]
  1679 | struct ethtool_sset_info hdr;
       | ^~~

Changing it to memory dynamic allocation method will help to get
rid of this complain.

Fixes: e848218741ea ("net/mlx5: check delay drop settings in kernel driver")

Signed-off-by: Bing Zhao <bingz@nvidia.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
---
 drivers/net/mlx5/linux/mlx5_ethdev_os.c | 22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

diff --git a/drivers/net/mlx5/linux/mlx5_ethdev_os.c b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
index fadcbd7ef7..368d22de89 100644
--- a/drivers/net/mlx5/linux/mlx5_ethdev_os.c
+++ b/drivers/net/mlx5/linux/mlx5_ethdev_os.c
@@ -1683,8 +1683,5 @@ mlx5_get_mac(struct rte_eth_dev *dev, uint8_t (*mac)[RTE_ETHER_ADDR_LEN])
 int mlx5_get_flag_dropless_rq(struct rte_eth_dev *dev)
 {
-	struct {
-		struct ethtool_sset_info hdr;
-		uint32_t buf[1];
-	} sset_info;
+	struct ethtool_sset_info *sset_info = NULL;
 	struct ethtool_drvinfo drvinfo;
 	struct ifreq ifr;
@@ -1697,13 +1694,19 @@ int mlx5_get_flag_dropless_rq(struct rte_eth_dev *dev)
 	int ret;
 
-	sset_info.hdr.cmd = ETHTOOL_GSSET_INFO;
-	sset_info.hdr.reserved = 0;
-	sset_info.hdr.sset_mask = 1ULL << ETH_SS_PRIV_FLAGS;
+	sset_info = mlx5_malloc(0, sizeof(struct ethtool_sset_info) +
+			sizeof(uint32_t), 0, SOCKET_ID_ANY);
+	if (sset_info == NULL) {
+		rte_errno = ENOMEM;
+		return -rte_errno;
+	}
+	sset_info->cmd = ETHTOOL_GSSET_INFO;
+	sset_info->reserved = 0;
+	sset_info->sset_mask = 1ULL << ETH_SS_PRIV_FLAGS;
 	ifr.ifr_data = (caddr_t)&sset_info;
 	ret = mlx5_ifreq(dev, SIOCETHTOOL, &ifr);
 	if (!ret) {
-		const uint32_t *sset_lengths = sset_info.hdr.data;
+		const uint32_t *sset_lengths = sset_info->data;
 
-		len = sset_info.hdr.sset_mask ? sset_lengths[0] : 0;
+		len = sset_info->sset_mask ? sset_lengths[0] : 0;
 	} else if (ret == -EOPNOTSUPP) {
 		drvinfo.cmd = ETHTOOL_GDRVINFO;
@@ -1778,4 +1781,5 @@ int mlx5_get_flag_dropless_rq(struct rte_eth_dev *dev)
 exit:
 	mlx5_free(strings);
+	mlx5_free(sset_info);
 	return ret;
 }
-- 
2.38.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2022-11-11 10:32:18.170746756 +0000
+++ 0047-net-mlx5-fix-build-with-recent-compilers.patch	2022-11-11 10:32:17.132301002 +0000
@@ -1 +1 @@
-From ccc6ea5d9c90650e3a8e29ab45e18b9fffd3d061 Mon Sep 17 00:00:00 2001
+From 81aba30795dfef41ab7d782ecdf3fa4cb3752a96 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit ccc6ea5d9c90650e3a8e29ab45e18b9fffd3d061 ]
+
@@ -23 +24,0 @@
-Cc: stable@dpdk.org
@@ -32 +33 @@
-index 661d362dc0..72268c0c8a 100644
+index fadcbd7ef7..368d22de89 100644
@@ -35 +36 @@
-@@ -1676,8 +1676,5 @@ mlx5_get_mac(struct rte_eth_dev *dev, uint8_t (*mac)[RTE_ETHER_ADDR_LEN])
+@@ -1683,8 +1683,5 @@ mlx5_get_mac(struct rte_eth_dev *dev, uint8_t (*mac)[RTE_ETHER_ADDR_LEN])
@@ -45 +46 @@
-@@ -1690,13 +1687,19 @@ int mlx5_get_flag_dropless_rq(struct rte_eth_dev *dev)
+@@ -1697,13 +1694,19 @@ int mlx5_get_flag_dropless_rq(struct rte_eth_dev *dev)
@@ -70 +71 @@
-@@ -1771,4 +1774,5 @@ int mlx5_get_flag_dropless_rq(struct rte_eth_dev *dev)
+@@ -1778,4 +1781,5 @@ int mlx5_get_flag_dropless_rq(struct rte_eth_dev *dev)


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

* Re: patch 'net/iavf: add thread for event callbacks' has been queued to stable release 21.11.3
  2022-11-11 10:33 ` patch 'net/iavf: add thread for event callbacks' " Kevin Traynor
@ 2022-11-18 12:32   ` Kevin Traynor
  2022-11-21  4:48     ` Zhou, YidingX
  0 siblings, 1 reply; 49+ messages in thread
From: Kevin Traynor @ 2022-11-18 12:32 UTC (permalink / raw)
  To: Yiding Zhou; +Cc: Qi Zhang, dpdk stable

On 11/11/2022 10:33, Kevin Traynor wrote:
> Hi,
> 
> FYI, your patch has been queued to stable release 21.11.3
> 
> 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/14/22. So please
> shout if anyone has objections.
> 

This patch is causing a build failure on Windows [1]. I won't push it to 
to the dpdk-stable 21.11 branch. Please send a rebased version, or let 
me know if it should be dropped from 21.11.

> Also note that after the patch there's a diff of the upstream commit vs the
> patch applied to the branch. This will indicate if there was any rebasing
> needed to apply to the stable branch. If there were code changes for rebasing
> (ie: not only metadata diffs), please double check that the rebase was
> correctly done.
> 
> Queued patches are on a temporary branch at:
> https://github.com/kevintraynor/dpdk-stable
> 
> This queued commit can be viewed at:
> https://github.com/kevintraynor/dpdk-stable/commit/c346009ca9686fabd300f8afe688239426b5eebd
> 
> Thanks.
> 
> Kevin
> 
> ---
>  From c346009ca9686fabd300f8afe688239426b5eebd Mon Sep 17 00:00:00 2001
> From: Yiding Zhou <yidingx.zhou@intel.com>
> Date: Thu, 20 Oct 2022 13:00:22 +0800
> Subject: [PATCH] net/iavf: add thread for event callbacks
> 
> [ upstream commit cb5c1b91f76f436724cd09f26c7432b2775b519c ]
> 
> All callbacks registered for ethdev events are called in
> eal-intr-thread, and some of them execute virtchnl commands.
> Because interrupts are disabled in the intr thread, no response
> will be received for these commands. So all callbacks should
> be called in a new context.
> 
> When the device is bonded, the bond pmd registers a callback for
> the LSC event to execute virtchnl commands to reinitialize the
> device, and it would also raise the above issue.
> 
> This commit adds a new thread to call all event callbacks.
> 
> Fixes: 48de41ca11f0 ("net/avf: enable link status update")
> Fixes: 84108425054a ("net/iavf: support asynchronous virtual channel message")
> 
> Signed-off-by: Yiding Zhou <yidingx.zhou@intel.com>
> Acked-by: Qi Zhang <qi.z.zhang@intel.com>
> ---
>   drivers/net/iavf/iavf.h        |   2 +
>   drivers/net/iavf/iavf_ethdev.c |   5 ++
>   drivers/net/iavf/iavf_vchnl.c  | 153 +++++++++++++++++++++++++++++++--
>   3 files changed, 154 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/net/iavf/iavf.h b/drivers/net/iavf/iavf.h
> index 29692e3994..afffc1a13e 100644
> --- a/drivers/net/iavf/iavf.h
> +++ b/drivers/net/iavf/iavf.h
> @@ -401,4 +401,6 @@ _atomic_set_async_response_cmd(struct iavf_info *vf, enum virtchnl_ops ops)
>   int iavf_check_api_version(struct iavf_adapter *adapter);
>   int iavf_get_vf_resource(struct iavf_adapter *adapter);
> +void iavf_dev_event_handler_fini(void);
> +int iavf_dev_event_handler_init(void);
>   void iavf_handle_virtchnl_msg(struct rte_eth_dev *dev);
>   int iavf_enable_vlan_strip(struct iavf_adapter *adapter);
> diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
> index f835457e4f..11ddd6dc16 100644
> --- a/drivers/net/iavf/iavf_ethdev.c
> +++ b/drivers/net/iavf/iavf_ethdev.c
> @@ -2562,4 +2562,7 @@ iavf_dev_init(struct rte_eth_dev *eth_dev)
>   			&eth_dev->data->mac_addrs[0]);
>   
> +	if (iavf_dev_event_handler_init())
> +		goto init_vf_err;
> +
>   	if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_WB_ON_ITR) {
>   		/* register callback func to eal lib */
> @@ -2716,4 +2719,6 @@ iavf_dev_uninit(struct rte_eth_dev *dev)
>   	iavf_dev_close(dev);
>   
> +	iavf_dev_event_handler_fini();
> +
>   	return 0;
>   }
> diff --git a/drivers/net/iavf/iavf_vchnl.c b/drivers/net/iavf/iavf_vchnl.c
> index 1bd3559ec2..54c6e39e16 100644
> --- a/drivers/net/iavf/iavf_vchnl.c
> +++ b/drivers/net/iavf/iavf_vchnl.c
> @@ -3,4 +3,5 @@
>    */
>   
> +#include <fcntl.h>
>   #include <stdio.h>
>   #include <errno.h>
> @@ -12,4 +13,5 @@
>   #include <rte_byteorder.h>
>   #include <rte_common.h>
> +#include <rte_os_shim.h>
>   
>   #include <rte_debug.h>
> @@ -28,4 +30,144 @@
>   #define ASQ_DELAY_MS  1
>   
> +#define MAX_EVENT_PENDING 16
> +
> +struct iavf_event_element {
> +	TAILQ_ENTRY(iavf_event_element) next;
> +	struct rte_eth_dev *dev;
> +	enum rte_eth_event_type event;
> +	void *param;
> +	size_t param_alloc_size;
> +	uint8_t param_alloc_data[0];
> +};
> +
> +struct iavf_event_handler {
> +	uint32_t ndev;
> +	pthread_t tid;
> +	int fd[2];
> +	pthread_mutex_t lock;
> +	TAILQ_HEAD(event_list, iavf_event_element) pending;
> +};
> +
> +static struct iavf_event_handler event_handler = {
> +	.fd = {-1, -1},
> +};
> +
> +#ifndef TAILQ_FOREACH_SAFE
> +#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \
> +	for ((var) = TAILQ_FIRST((head)); \
> +		(var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
> +	(var) = (tvar))
> +#endif
> +
> +static void *
> +iavf_dev_event_handle(void *param __rte_unused)
> +{
> +	struct iavf_event_handler *handler = &event_handler;
> +	TAILQ_HEAD(event_list, iavf_event_element) pending;
> +
> +	while (true) {
> +		char unused[MAX_EVENT_PENDING];
> +		ssize_t nr = read(handler->fd[0], &unused, sizeof(unused));
> +		if (nr <= 0)
> +			break;
> +
> +		TAILQ_INIT(&pending);
> +		pthread_mutex_lock(&handler->lock);
> +		TAILQ_CONCAT(&pending, &handler->pending, next);
> +		pthread_mutex_unlock(&handler->lock);
> +
> +		struct iavf_event_element *pos, *save_next;
> +		TAILQ_FOREACH_SAFE(pos, &pending, next, save_next) {
> +			TAILQ_REMOVE(&pending, pos, next);
> +			rte_eth_dev_callback_process(pos->dev, pos->event, pos->param);
> +			rte_free(pos);
> +		}
> +	}
> +
> +	return NULL;
> +}
> +
> +static void
> +iavf_dev_event_post(struct rte_eth_dev *dev,
> +		enum rte_eth_event_type event,
> +		void *param, size_t param_alloc_size)
> +{
> +	struct iavf_event_handler *handler = &event_handler;
> +	char notify_byte;
> +	struct iavf_event_element *elem = rte_malloc(NULL, sizeof(*elem) + param_alloc_size, 0);
> +	if (!elem)
> +		return;
> +
> +	elem->dev = dev;
> +	elem->event = event;
> +	elem->param = param;
> +	elem->param_alloc_size = param_alloc_size;
> +	if (param && param_alloc_size) {
> +		rte_memcpy(elem->param_alloc_data, param, param_alloc_size);
> +		elem->param = elem->param_alloc_data;
> +	}
> +
> +	pthread_mutex_lock(&handler->lock);
> +	TAILQ_INSERT_TAIL(&handler->pending, elem, next);
> +	pthread_mutex_unlock(&handler->lock);
> +
> +	ssize_t nw = write(handler->fd[1], &notify_byte, 1);
> +	RTE_SET_USED(nw);
> +}
> +
> +int
> +iavf_dev_event_handler_init(void)
> +{
> +	struct iavf_event_handler *handler = &event_handler;
> +
> +	if (__atomic_add_fetch(&handler->ndev, 1, __ATOMIC_RELAXED) != 1)
> +		return 0;
> +#if defined(RTE_EXEC_ENV_IS_WINDOWS) && RTE_EXEC_ENV_IS_WINDOWS != 0
> +	int err = _pipe(handler->fd, MAX_EVENT_PENDING, O_BINARY);
> +#else
> +	int err = pipe(handler->fd);
> +#endif

../drivers/net/iavf/iavf_vchnl.c:128:12: error: implicit declaration of 
function 'pipe' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
         int err = pipe(handler->fd);
                   ^
../drivers/net/iavf/iavf_vchnl.c:128:12: note: did you mean '_pipe'?
C:\Program Files (x86)\Windows 
Kits\10\Include\10.0.18362.0\ucrt\corecrt_io.h:241:30: note: '_pipe' 
declared here
         _DCRTIMP int __cdecl _pipe(

From: https://dpdkdashboard.iol.unh.edu/results/dashboard/tarballs/22355/

> +	if (err != 0) {
> +		__atomic_sub_fetch(&handler->ndev, 1, __ATOMIC_RELAXED);
> +		return -1;
> +	}
> +
> +	TAILQ_INIT(&handler->pending);
> +	pthread_mutex_init(&handler->lock, NULL);
> +
> +	if (rte_ctrl_thread_create(&handler->tid, "iavf-event-thread",
> +				NULL, iavf_dev_event_handle, NULL)) {
> +		__atomic_sub_fetch(&handler->ndev, 1, __ATOMIC_RELAXED);
> +		return -1;
> +	}
> +
> +	return 0;
> +}
> +
> +void
> +iavf_dev_event_handler_fini(void)
> +{
> +	struct iavf_event_handler *handler = &event_handler;
> +
> +	if (__atomic_sub_fetch(&handler->ndev, 1, __ATOMIC_RELAXED) != 0)
> +		return;
> +
> +	int unused = pthread_cancel(handler->tid);
> +	RTE_SET_USED(unused);
> +	close(handler->fd[0]);
> +	close(handler->fd[1]);
> +	handler->fd[0] = -1;
> +	handler->fd[1] = -1;
> +
> +	pthread_join(handler->tid, NULL);
> +	pthread_mutex_destroy(&handler->lock);
> +
> +	struct iavf_event_element *pos, *save_next;
> +	TAILQ_FOREACH_SAFE(pos, &handler->pending, next, save_next) {
> +		TAILQ_REMOVE(&handler->pending, pos, next);
> +		rte_free(pos);
> +	}
> +}
> +
>   static uint32_t
>   iavf_convert_link_speed(enum virtchnl_link_speed virt_link_speed)
> @@ -279,6 +421,6 @@ iavf_handle_pf_event_msg(struct rte_eth_dev *dev, uint8_t *msg,
>   		PMD_DRV_LOG(DEBUG, "VIRTCHNL_EVENT_RESET_IMPENDING event");
>   		vf->vf_reset = true;
> -		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_RESET,
> -					      NULL);
> +		iavf_dev_event_post(dev, RTE_ETH_EVENT_INTR_RESET,
> +					      NULL, 0);
>   		break;
>   	case VIRTCHNL_EVENT_LINK_CHANGE:
> @@ -294,5 +436,5 @@ iavf_handle_pf_event_msg(struct rte_eth_dev *dev, uint8_t *msg,
>   		}
>   		iavf_dev_link_update(dev, 0);
> -		rte_eth_dev_callback_process(dev, RTE_ETH_EVENT_INTR_LSC, NULL);
> +		iavf_dev_event_post(dev, RTE_ETH_EVENT_INTR_LSC, NULL, 0);
>   		break;
>   	case VIRTCHNL_EVENT_PF_DRIVER_CLOSE:
> @@ -360,7 +502,6 @@ iavf_handle_virtchnl_msg(struct rte_eth_dev *dev)
>   						RTE_ETH_EVENT_IPSEC_UNKNOWN;
>   					desc.metadata = ev->ipsec_event_data;
> -					rte_eth_dev_callback_process(dev,
> -							RTE_ETH_EVENT_IPSEC,
> -							&desc);
> +					iavf_dev_event_post(dev, RTE_ETH_EVENT_IPSEC,
> +							&desc, sizeof(desc));
>   					return;
>   				}


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

* RE: patch 'net/iavf: add thread for event callbacks' has been queued to stable release 21.11.3
  2022-11-18 12:32   ` Kevin Traynor
@ 2022-11-21  4:48     ` Zhou, YidingX
  0 siblings, 0 replies; 49+ messages in thread
From: Zhou, YidingX @ 2022-11-21  4:48 UTC (permalink / raw)
  To: Kevin Traynor; +Cc: Zhang, Qi Z, dpdk stable



> On 11/11/2022 10:33, Kevin Traynor wrote:
> > Hi,
> >
> > FYI, your patch has been queued to stable release 21.11.3
> >
> > 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/14/22. So please
> > shout if anyone has objections.
> >
> 
> This patch is causing a build failure on Windows [1]. I won't push it to to the
> dpdk-stable 21.11 branch. Please send a rebased version, or let me know if it
> should be dropped from 21.11.
> 
> > Also note that after the patch there's a diff of the upstream commit
> > vs the patch applied to the branch. This will indicate if there was
> > any rebasing needed to apply to the stable branch. If there were code
> > changes for rebasing
> > (ie: not only metadata diffs), please double check that the rebase was
> > correctly done.
> >
> > Queued patches are on a temporary branch at:
> > https://github.com/kevintraynor/dpdk-stable
> >
> > This queued commit can be viewed at:
> > https://github.com/kevintraynor/dpdk-
> stable/commit/c346009ca9686fabd30
> > 0f8afe688239426b5eebd
> >
> > Thanks.
> >
> > Kevin
> >
> > ---
> >  From c346009ca9686fabd300f8afe688239426b5eebd Mon Sep 17 00:00:00
> > 2001
> > From: Yiding Zhou <yidingx.zhou@intel.com>
> > Date: Thu, 20 Oct 2022 13:00:22 +0800
> > Subject: [PATCH] net/iavf: add thread for event callbacks
> >
> > [ upstream commit cb5c1b91f76f436724cd09f26c7432b2775b519c ]
> >
> > All callbacks registered for ethdev events are called in
> > eal-intr-thread, and some of them execute virtchnl commands.
> > Because interrupts are disabled in the intr thread, no response will
> > be received for these commands. So all callbacks should be called in a
> > new context.
> >
> > When the device is bonded, the bond pmd registers a callback for the
> > LSC event to execute virtchnl commands to reinitialize the device, and
> > it would also raise the above issue.
> >
> > This commit adds a new thread to call all event callbacks.
> >
> > Fixes: 48de41ca11f0 ("net/avf: enable link status update")
> > Fixes: 84108425054a ("net/iavf: support asynchronous virtual channel
> > message")
> >
> > Signed-off-by: Yiding Zhou <yidingx.zhou@intel.com>
> > Acked-by: Qi Zhang <qi.z.zhang@intel.com>
> > ---
> >   drivers/net/iavf/iavf.h        |   2 +
> >   drivers/net/iavf/iavf_ethdev.c |   5 ++
> >   drivers/net/iavf/iavf_vchnl.c  | 153 +++++++++++++++++++++++++++++++--
> >   3 files changed, 154 insertions(+), 6 deletions(-)
> >
> > diff --git a/drivers/net/iavf/iavf.h b/drivers/net/iavf/iavf.h index
> > 29692e3994..afffc1a13e 100644
> > --- a/drivers/net/iavf/iavf.h
> > +++ b/drivers/net/iavf/iavf.h
> > @@ -401,4 +401,6 @@ _atomic_set_async_response_cmd(struct iavf_info
> *vf, enum virtchnl_ops ops)
> >   int iavf_check_api_version(struct iavf_adapter *adapter);
> >   int iavf_get_vf_resource(struct iavf_adapter *adapter);
> > +void iavf_dev_event_handler_fini(void);
> > +int iavf_dev_event_handler_init(void);
> >   void iavf_handle_virtchnl_msg(struct rte_eth_dev *dev);
> >   int iavf_enable_vlan_strip(struct iavf_adapter *adapter); diff --git
> > a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
> > index f835457e4f..11ddd6dc16 100644
> > --- a/drivers/net/iavf/iavf_ethdev.c
> > +++ b/drivers/net/iavf/iavf_ethdev.c
> > @@ -2562,4 +2562,7 @@ iavf_dev_init(struct rte_eth_dev *eth_dev)
> >   			&eth_dev->data->mac_addrs[0]);
> >
> > +	if (iavf_dev_event_handler_init())
> > +		goto init_vf_err;
> > +
> >   	if (vf->vf_res->vf_cap_flags & VIRTCHNL_VF_OFFLOAD_WB_ON_ITR)
> {
> >   		/* register callback func to eal lib */ @@ -2716,4 +2719,6
> @@
> > iavf_dev_uninit(struct rte_eth_dev *dev)
> >   	iavf_dev_close(dev);
> >
> > +	iavf_dev_event_handler_fini();
> > +
> >   	return 0;
> >   }
> > diff --git a/drivers/net/iavf/iavf_vchnl.c
> > b/drivers/net/iavf/iavf_vchnl.c index 1bd3559ec2..54c6e39e16 100644
> > --- a/drivers/net/iavf/iavf_vchnl.c
> > +++ b/drivers/net/iavf/iavf_vchnl.c
> > @@ -3,4 +3,5 @@
> >    */
> >
> > +#include <fcntl.h>
> >   #include <stdio.h>
> >   #include <errno.h>
> > @@ -12,4 +13,5 @@
> >   #include <rte_byteorder.h>
> >   #include <rte_common.h>
> > +#include <rte_os_shim.h>
> >
> >   #include <rte_debug.h>
> > @@ -28,4 +30,144 @@
> >   #define ASQ_DELAY_MS  1
> >
> > +#define MAX_EVENT_PENDING 16
> > +
> > +struct iavf_event_element {
> > +	TAILQ_ENTRY(iavf_event_element) next;
> > +	struct rte_eth_dev *dev;
> > +	enum rte_eth_event_type event;
> > +	void *param;
> > +	size_t param_alloc_size;
> > +	uint8_t param_alloc_data[0];
> > +};
> > +
> > +struct iavf_event_handler {
> > +	uint32_t ndev;
> > +	pthread_t tid;
> > +	int fd[2];
> > +	pthread_mutex_t lock;
> > +	TAILQ_HEAD(event_list, iavf_event_element) pending; };
> > +
> > +static struct iavf_event_handler event_handler = {
> > +	.fd = {-1, -1},
> > +};
> > +
> > +#ifndef TAILQ_FOREACH_SAFE
> > +#define TAILQ_FOREACH_SAFE(var, head, field, tvar) \
> > +	for ((var) = TAILQ_FIRST((head)); \
> > +		(var) && ((tvar) = TAILQ_NEXT((var), field), 1); \
> > +	(var) = (tvar))
> > +#endif
> > +
> > +static void *
> > +iavf_dev_event_handle(void *param __rte_unused) {
> > +	struct iavf_event_handler *handler = &event_handler;
> > +	TAILQ_HEAD(event_list, iavf_event_element) pending;
> > +
> > +	while (true) {
> > +		char unused[MAX_EVENT_PENDING];
> > +		ssize_t nr = read(handler->fd[0], &unused, sizeof(unused));
> > +		if (nr <= 0)
> > +			break;
> > +
> > +		TAILQ_INIT(&pending);
> > +		pthread_mutex_lock(&handler->lock);
> > +		TAILQ_CONCAT(&pending, &handler->pending, next);
> > +		pthread_mutex_unlock(&handler->lock);
> > +
> > +		struct iavf_event_element *pos, *save_next;
> > +		TAILQ_FOREACH_SAFE(pos, &pending, next, save_next) {
> > +			TAILQ_REMOVE(&pending, pos, next);
> > +			rte_eth_dev_callback_process(pos->dev, pos->event,
> pos->param);
> > +			rte_free(pos);
> > +		}
> > +	}
> > +
> > +	return NULL;
> > +}
> > +
> > +static void
> > +iavf_dev_event_post(struct rte_eth_dev *dev,
> > +		enum rte_eth_event_type event,
> > +		void *param, size_t param_alloc_size) {
> > +	struct iavf_event_handler *handler = &event_handler;
> > +	char notify_byte;
> > +	struct iavf_event_element *elem = rte_malloc(NULL, sizeof(*elem) +
> param_alloc_size, 0);
> > +	if (!elem)
> > +		return;
> > +
> > +	elem->dev = dev;
> > +	elem->event = event;
> > +	elem->param = param;
> > +	elem->param_alloc_size = param_alloc_size;
> > +	if (param && param_alloc_size) {
> > +		rte_memcpy(elem->param_alloc_data, param,
> param_alloc_size);
> > +		elem->param = elem->param_alloc_data;
> > +	}
> > +
> > +	pthread_mutex_lock(&handler->lock);
> > +	TAILQ_INSERT_TAIL(&handler->pending, elem, next);
> > +	pthread_mutex_unlock(&handler->lock);
> > +
> > +	ssize_t nw = write(handler->fd[1], &notify_byte, 1);
> > +	RTE_SET_USED(nw);
> > +}
> > +
> > +int
> > +iavf_dev_event_handler_init(void)
> > +{
> > +	struct iavf_event_handler *handler = &event_handler;
> > +
> > +	if (__atomic_add_fetch(&handler->ndev, 1, __ATOMIC_RELAXED) !=
> 1)
> > +		return 0;
> > +#if defined(RTE_EXEC_ENV_IS_WINDOWS) &&
> RTE_EXEC_ENV_IS_WINDOWS != 0
> > +	int err = _pipe(handler->fd, MAX_EVENT_PENDING, O_BINARY); #else
> > +	int err = pipe(handler->fd);
> > +#endif

I will try to build  a local windows environment, then rebase the patch and send it.
It may take a few days.

> 
> ../drivers/net/iavf/iavf_vchnl.c:128:12: error: implicit declaration of function
> 'pipe' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
>          int err = pipe(handler->fd);
>                    ^
> ../drivers/net/iavf/iavf_vchnl.c:128:12: note: did you mean '_pipe'?
> C:\Program Files (x86)\Windows
> Kits\10\Include\10.0.18362.0\ucrt\corecrt_io.h:241:30: note: '_pipe'
> declared here
>          _DCRTIMP int __cdecl _pipe(
> 
> From:
> https://dpdkdashboard.iol.unh.edu/results/dashboard/tarballs/22355/
> 
> > +	if (err != 0) {
> > +		__atomic_sub_fetch(&handler->ndev, 1,
> __ATOMIC_RELAXED);
> > +		return -1;
> > +	}
> > +
> > +	TAILQ_INIT(&handler->pending);
> > +	pthread_mutex_init(&handler->lock, NULL);
> > +
> > +	if (rte_ctrl_thread_create(&handler->tid, "iavf-event-thread",
> > +				NULL, iavf_dev_event_handle, NULL)) {
> > +		__atomic_sub_fetch(&handler->ndev, 1,
> __ATOMIC_RELAXED);
> > +		return -1;
> > +	}
> > +
> > +	return 0;
> > +}
> > +
> > +void
> > +iavf_dev_event_handler_fini(void)
> > +{
> > +	struct iavf_event_handler *handler = &event_handler;
> > +
> > +	if (__atomic_sub_fetch(&handler->ndev, 1, __ATOMIC_RELAXED) !=
> 0)
> > +		return;
> > +
> > +	int unused = pthread_cancel(handler->tid);
> > +	RTE_SET_USED(unused);
> > +	close(handler->fd[0]);
> > +	close(handler->fd[1]);
> > +	handler->fd[0] = -1;
> > +	handler->fd[1] = -1;
> > +
> > +	pthread_join(handler->tid, NULL);
> > +	pthread_mutex_destroy(&handler->lock);
> > +
> > +	struct iavf_event_element *pos, *save_next;
> > +	TAILQ_FOREACH_SAFE(pos, &handler->pending, next, save_next) {
> > +		TAILQ_REMOVE(&handler->pending, pos, next);
> > +		rte_free(pos);
> > +	}
> > +}
> > +
> >   static uint32_t
> >   iavf_convert_link_speed(enum virtchnl_link_speed virt_link_speed) @@
> > -279,6 +421,6 @@ iavf_handle_pf_event_msg(struct rte_eth_dev *dev,
> uint8_t *msg,
> >   		PMD_DRV_LOG(DEBUG,
> "VIRTCHNL_EVENT_RESET_IMPENDING event");
> >   		vf->vf_reset = true;
> > -		rte_eth_dev_callback_process(dev,
> RTE_ETH_EVENT_INTR_RESET,
> > -					      NULL);
> > +		iavf_dev_event_post(dev, RTE_ETH_EVENT_INTR_RESET,
> > +					      NULL, 0);
> >   		break;
> >   	case VIRTCHNL_EVENT_LINK_CHANGE:
> > @@ -294,5 +436,5 @@ iavf_handle_pf_event_msg(struct rte_eth_dev *dev,
> uint8_t *msg,
> >   		}
> >   		iavf_dev_link_update(dev, 0);
> > -		rte_eth_dev_callback_process(dev,
> RTE_ETH_EVENT_INTR_LSC, NULL);
> > +		iavf_dev_event_post(dev, RTE_ETH_EVENT_INTR_LSC, NULL,
> 0);
> >   		break;
> >   	case VIRTCHNL_EVENT_PF_DRIVER_CLOSE:
> > @@ -360,7 +502,6 @@ iavf_handle_virtchnl_msg(struct rte_eth_dev *dev)
> >
> 	RTE_ETH_EVENT_IPSEC_UNKNOWN;
> >   					desc.metadata = ev-
> >ipsec_event_data;
> > -					rte_eth_dev_callback_process(dev,
> > -
> 	RTE_ETH_EVENT_IPSEC,
> > -							&desc);
> > +					iavf_dev_event_post(dev,
> RTE_ETH_EVENT_IPSEC,
> > +							&desc, sizeof(desc));
> >   					return;
> >   				}


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

end of thread, other threads:[~2022-11-21  4:48 UTC | newest]

Thread overview: 49+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-11 10:32 patch 'event/sw: fix flow ID init in self test' has been queued to stable release 21.11.3 Kevin Traynor
2022-11-11 10:32 ` patch 'event/sw: fix log " Kevin Traynor
2022-11-11 10:32 ` patch 'eventdev/crypto: fix multi-process' " Kevin Traynor
2022-11-11 10:32 ` patch 'eventdev/eth_tx: fix queue delete' " Kevin Traynor
2022-11-11 10:32 ` patch 'gro: check payload length after trim' " Kevin Traynor
2022-11-11 10:32 ` patch 'doc: fix support table for Ethernet/VLAN flow items' " Kevin Traynor
2022-11-11 10:32 ` patch 'app/testpmd: skip port reset in secondary process' " Kevin Traynor
2022-11-11 10:32 ` patch 'net/bonding: fix descriptor limit reporting' " Kevin Traynor
2022-11-11 10:32 ` patch 'net/ionic: fix endianness for Rx and Tx' " Kevin Traynor
2022-11-11 10:33 ` patch 'net/ionic: fix endianness for RSS' " Kevin Traynor
2022-11-11 10:33 ` patch 'net/ionic: fix adapter name for logging' " Kevin Traynor
2022-11-11 10:33 ` patch 'net/ionic: fix Rx filter save' " Kevin Traynor
2022-11-11 10:33 ` patch 'net/ionic: fix reported error stats' " Kevin Traynor
2022-11-11 10:33 ` patch 'app/testpmd: remove jumbo offload' " Kevin Traynor
2022-11-11 10:33 ` patch 'net/nfp: fix internal buffer size and MTU check' " Kevin Traynor
2022-11-11 10:33 ` patch 'vhost: add non-blocking API for posting interrupt' " Kevin Traynor
2022-11-11 10:33 ` patch 'net/mlx5: fix thread workspace memory leak' " Kevin Traynor
2022-11-11 10:33 ` patch 'net/mlx5: fix RSS expansion buffer size' " Kevin Traynor
2022-11-11 10:33 ` patch 'net/mlx5: fix tunnel header with IPIP offload' " Kevin Traynor
2022-11-11 10:33 ` patch 'net/mlx5: fix null check in devargs parsing' " Kevin Traynor
2022-11-11 10:33 ` patch 'sched: fix subport profile configuration' " Kevin Traynor
2022-11-11 10:33 ` patch 'examples/qos_sched: fix number of subport profiles' " Kevin Traynor
2022-11-11 10:33 ` patch 'net/ixgbe: fix broadcast Rx on VF after promisc removal' " Kevin Traynor
2022-11-11 10:33 ` patch 'net/ixgbe: fix unexpected VLAN Rx in promisc mode on VF' " Kevin Traynor
2022-11-11 10:33 ` patch 'net/ice: fix null function pointer call' " Kevin Traynor
2022-11-11 10:33 ` patch 'net/iavf: fix IPsec flow create error check' " Kevin Traynor
2022-11-11 10:33 ` patch 'net/iavf: fix SPI " Kevin Traynor
2022-11-11 10:33 ` patch 'net/iavf: add thread for event callbacks' " Kevin Traynor
2022-11-18 12:32   ` Kevin Traynor
2022-11-21  4:48     ` Zhou, YidingX
2022-11-11 10:33 ` patch 'net/iavf: fix queue stop for large VF' " Kevin Traynor
2022-11-11 10:33 ` patch 'net/ice: support VXLAN-GPE tunnel offload' " Kevin Traynor
2022-11-11 10:33 ` patch 'net/iavf: fix handling of IPsec events' " Kevin Traynor
2022-11-11 10:33 ` patch 'net/cnxk: fix later skip to include mbuf private data' " Kevin Traynor
2022-11-11 10:33 ` patch 'common/cnxk: fix schedule weight update' " Kevin Traynor
2022-11-11 10:33 ` patch 'net/mlx5: fix thread termination check on Windows' " Kevin Traynor
2022-11-11 10:33 ` patch 'examples/l2fwd-crypto: fix typo in error message' " Kevin Traynor
2022-11-11 10:33 ` patch 'test/crypto: fix wireless auth digest segment' " Kevin Traynor
2022-11-11 10:33 ` patch 'baseband/acc100: fix memory leak' " Kevin Traynor
2022-11-11 10:33 ` patch 'baseband/acc100: check turbo dec/enc input' " Kevin Traynor
2022-11-11 10:33 ` patch 'baseband/acc100: add null checks' " Kevin Traynor
2022-11-11 10:33 ` patch 'baseband/acc100: fix input length for CRC24B' " Kevin Traynor
2022-11-11 10:33 ` patch 'baseband/acc100: fix clearing PF IR outside handler' " Kevin Traynor
2022-11-11 10:33 ` patch 'baseband/acc100: fix device minimum alignment' " Kevin Traynor
2022-11-11 10:33 ` patch 'baseband/acc100: fix close cleanup' " Kevin Traynor
2022-11-11 10:33 ` patch 'test/crypto: fix PDCP vectors' " Kevin Traynor
2022-11-11 10:33 ` patch 'examples/ipsec-secgw: fix Tx checksum offload flag' " Kevin Traynor
2022-11-11 10:33 ` patch 'crypto/qat: fix null hash algorithm digest size' " Kevin Traynor
2022-11-11 10:33 ` patch 'net/mlx5: fix build with recent compilers' " Kevin Traynor

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).