[PATCH v10 20/30] examples/ipsec_secgw: replace packed attributes
Andre Muezerie
andremue at linux.microsoft.com
Thu Jan 9 03:46:04 CET 2025
MSVC struct packing is not compatible with GCC. Replace macro
__rte_packed with __rte_packed_begin to push existing pack value
and set packing to 1-byte and macro __rte_packed_end to restore
the pack value prior to the push.
Macro __rte_packed_end is deliberately utilized to trigger a
MSVC compiler warning if no existing packing has been pushed allowing
easy identification of locations where the __rte_packed_begin is
missing.
Signed-off-by: Andre Muezerie <andremue at linux.microsoft.com>
---
examples/ipsec-secgw/ipsec.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/examples/ipsec-secgw/ipsec.h b/examples/ipsec-secgw/ipsec.h
index f12f57e2d5..e3cc43ef3b 100644
--- a/examples/ipsec-secgw/ipsec.h
+++ b/examples/ipsec-secgw/ipsec.h
@@ -274,11 +274,11 @@ struct socket_ctx {
struct rte_mempool *session_pool;
};
-struct cnt_blk {
+struct __rte_packed_begin cnt_blk {
uint32_t salt;
uint64_t iv;
uint32_t cnt;
-} __rte_packed;
+} __rte_packed_end;
struct __rte_cache_aligned lcore_rx_queue {
uint16_t port_id;
--
2.47.0.vfs.0.3
More information about the dev
mailing list