[PATCH v4 30/39] ipsec: use C11 alignas
Tyler Retzlaff
roretzla at linux.microsoft.com
Wed Feb 14 17:35:55 CET 2024
* Move __rte_aligned from the end of {struct,union} definitions to
be between {struct,union} and tag.
The placement between {struct,union} and the tag allows the desired
alignment to be imparted on the type regardless of the toolchain being
used for all of GCC, LLVM, MSVC compilers building both C and C++.
* Replace use of __rte_aligned(a) on variables/fields with alignas(a).
Signed-off-by: Tyler Retzlaff <roretzla at linux.microsoft.com>
Acked-by: Morten Brørup <mb at smartsharesystems.com>
---
lib/ipsec/rte_ipsec.h | 4 ++--
lib/ipsec/sa.h | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/lib/ipsec/rte_ipsec.h b/lib/ipsec/rte_ipsec.h
index 44cecab..f15f6f2 100644
--- a/lib/ipsec/rte_ipsec.h
+++ b/lib/ipsec/rte_ipsec.h
@@ -55,7 +55,7 @@ struct rte_ipsec_sa_pkt_func {
* - pointer to security/crypto session, plus other related data
* - session/device specific functions to prepare/process IPsec packets.
*/
-struct rte_ipsec_session {
+struct __rte_cache_aligned rte_ipsec_session {
/**
* SA that session belongs to.
* Note that multiple sessions can belong to the same SA.
@@ -77,7 +77,7 @@ struct rte_ipsec_session {
};
/** functions to prepare/process IPsec packets */
struct rte_ipsec_sa_pkt_func pkt_func;
-} __rte_cache_aligned;
+};
/**
* Checks that inside given rte_ipsec_session crypto/security fields
diff --git a/lib/ipsec/sa.h b/lib/ipsec/sa.h
index 4b30bea..2560d33 100644
--- a/lib/ipsec/sa.h
+++ b/lib/ipsec/sa.h
@@ -75,7 +75,7 @@ enum sa_algo_type {
ALGO_TYPE_MAX
};
-struct rte_ipsec_sa {
+struct __rte_cache_aligned rte_ipsec_sa {
uint64_t type; /* type of given SA */
uint64_t udata; /* user defined */
@@ -141,7 +141,7 @@ struct rte_ipsec_sa {
} errors;
} statistics;
-} __rte_cache_aligned;
+};
int
ipsec_sa_pkt_func_select(const struct rte_ipsec_session *ss,
--
1.8.3.1
More information about the dev
mailing list