[v4,30/39] ipsec: use C11 alignas
Checks
Commit Message
* 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@linux.microsoft.com>
Acked-by: Morten Brørup <mb@smartsharesystems.com>
---
lib/ipsec/rte_ipsec.h | 4 ++--
lib/ipsec/sa.h | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
@@ -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
@@ -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,