patch 'examples/ipsec-secgw: revert SA salt endianness' has been queued to stable release 21.11.8

Kevin Traynor ktraynor at redhat.com
Fri Aug 23 18:19:23 CEST 2024


Hi,

FYI, your patch has been queued to stable release 21.11.8

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 08/28/24. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://github.com/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
>From 698684c13c18acdc2c90aeeeca47ac0ef87c7c88 Mon Sep 17 00:00:00 2001
From: Vladimir Medvedkin <vladimir.medvedkin at intel.com>
Date: Mon, 29 Jul 2024 12:57:54 +0000
Subject: [PATCH] examples/ipsec-secgw: revert SA salt endianness

[ upstream commit 7f9b2c926a5192440eaecf0cb80cc45ac8d9a0f2 ]

The previous commit swapped the bytes of SA salt which
led to incorrect work of the ipsec-secgw application.
This patch reverts the previous commit and changes
the type of the salt field in the ipsec_sa structure.

Fixes: e6bfd9676109 ("examples/ipsec-secgw: fix SA salt endianness")

Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin at intel.com>
Acked-by: Radu Nicolau <radu.nicolau at intel.com>
---
 examples/ipsec-secgw/ipsec.h |  2 +-
 examples/ipsec-secgw/sa.c    | 13 ++++++-------
 2 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/examples/ipsec-secgw/ipsec.h b/examples/ipsec-secgw/ipsec.h
index 080579c51a..0b38c43ce9 100644
--- a/examples/ipsec-secgw/ipsec.h
+++ b/examples/ipsec-secgw/ipsec.h
@@ -109,5 +109,5 @@ struct ipsec_sa {
 	uint32_t cdev_id_qp;
 	uint64_t seq;
-	uint32_t salt;
+	rte_be32_t salt;
 	uint32_t fallback_sessions;
 	enum rte_crypto_cipher_algorithm cipher_algo;
diff --git a/examples/ipsec-secgw/sa.c b/examples/ipsec-secgw/sa.c
index af3a92f53e..49d16f055b 100644
--- a/examples/ipsec-secgw/sa.c
+++ b/examples/ipsec-secgw/sa.c
@@ -366,5 +366,4 @@ parse_sa_tokens(char **tokens, uint32_t n_tokens,
 	uint32_t *ri /*rule index*/;
 	struct ipsec_sa_cnt *sa_cnt;
-	rte_be32_t salt; /*big-endian salt*/
 	uint32_t cipher_algo_p = 0;
 	uint32_t auth_algo_p = 0;
@@ -501,6 +500,6 @@ parse_sa_tokens(char **tokens, uint32_t n_tokens,
 				key_len -= 4;
 				rule->cipher_key_len = key_len;
-				memcpy(&salt, &rule->cipher_key[key_len], 4);
-				rule->salt = rte_be_to_cpu_32(salt);
+				memcpy(&rule->salt,
+					&rule->cipher_key[key_len], 4);
 			}
 
@@ -566,6 +565,6 @@ parse_sa_tokens(char **tokens, uint32_t n_tokens,
 				rule->auth_key_len = key_len;
 				rule->iv_len = algo->iv_len;
-				memcpy(&salt, &rule->auth_key[key_len], 4);
-				rule->salt = rte_be_to_cpu_32(salt);
+				memcpy(&rule->salt,
+					&rule->auth_key[key_len], 4);
 			}
 
@@ -625,6 +624,6 @@ parse_sa_tokens(char **tokens, uint32_t n_tokens,
 			key_len -= 4;
 			rule->cipher_key_len = key_len;
-			memcpy(&salt, &rule->cipher_key[key_len], 4);
-			rule->salt = rte_be_to_cpu_32(salt);
+			memcpy(&rule->salt,
+				&rule->cipher_key[key_len], 4);
 
 			aead_algo_p = 1;
-- 
2.46.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2024-08-23 17:18:13.721282594 +0100
+++ 0135-examples-ipsec-secgw-revert-SA-salt-endianness.patch	2024-08-23 17:18:09.899430731 +0100
@@ -1 +1 @@
-From 7f9b2c926a5192440eaecf0cb80cc45ac8d9a0f2 Mon Sep 17 00:00:00 2001
+From 698684c13c18acdc2c90aeeeca47ac0ef87c7c88 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 7f9b2c926a5192440eaecf0cb80cc45ac8d9a0f2 ]
+
@@ -12 +13,0 @@
-Cc: stable at dpdk.org
@@ -22 +23 @@
-index a83fd2283b..1fe6b97168 100644
+index 080579c51a..0b38c43ce9 100644
@@ -25,2 +26,2 @@
-@@ -118,5 +118,5 @@ struct __rte_cache_aligned ipsec_sa {
- 	struct cdev_qp *cqp[RTE_MAX_LCORE];
+@@ -109,5 +109,5 @@ struct ipsec_sa {
+ 	uint32_t cdev_id_qp;
@@ -33 +34 @@
-index 8aa9aca739..c4bac17cd7 100644
+index af3a92f53e..49d16f055b 100644
@@ -36 +37 @@
-@@ -375,5 +375,4 @@ parse_sa_tokens(char **tokens, uint32_t n_tokens,
+@@ -366,5 +366,4 @@ parse_sa_tokens(char **tokens, uint32_t n_tokens,
@@ -42 +43 @@
-@@ -510,6 +509,6 @@ parse_sa_tokens(char **tokens, uint32_t n_tokens,
+@@ -501,6 +500,6 @@ parse_sa_tokens(char **tokens, uint32_t n_tokens,
@@ -51 +52 @@
-@@ -575,6 +574,6 @@ parse_sa_tokens(char **tokens, uint32_t n_tokens,
+@@ -566,6 +565,6 @@ parse_sa_tokens(char **tokens, uint32_t n_tokens,
@@ -60 +61 @@
-@@ -634,6 +633,6 @@ parse_sa_tokens(char **tokens, uint32_t n_tokens,
+@@ -625,6 +624,6 @@ parse_sa_tokens(char **tokens, uint32_t n_tokens,



More information about the stable mailing list