RTE_MARKER typedefs are a GCC extension unsupported by MSVC. Remove RTE_MARKER fields from rte_mbuf struct.
Maintain alignment of fields after removed cacheline1 marker by placing C11 alignas(RTE_CACHE_LINE_MIN_SIZE). Signed-off-by: Tyler Retzlaff <roret...@linux.microsoft.com> Reviewed-by: Morten Brørup <m...@smartsharesystems.com> Acked-by: Stephen Hemminger <step...@networkplumber.org> --- doc/guides/rel_notes/release_24_07.rst | 3 +++ lib/security/rte_security_driver.h | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/doc/guides/rel_notes/release_24_07.rst b/doc/guides/rel_notes/release_24_07.rst index b240ee5..c191f53 100644 --- a/doc/guides/rel_notes/release_24_07.rst +++ b/doc/guides/rel_notes/release_24_07.rst @@ -71,6 +71,9 @@ Removed Items * mbuf: ``RTE_MARKER`` fields ``cacheline0`` and ``cacheline1`` have been removed from ``struct rte_mbuf``. +* security: ``RTE_MARKER`` fields ``cacheline0`` and ``cacheline1`` + have been removed from ``struct rte_security_session``. + API Changes ----------- diff --git a/lib/security/rte_security_driver.h b/lib/security/rte_security_driver.h index 09829ab..18a1e3c 100644 --- a/lib/security/rte_security_driver.h +++ b/lib/security/rte_security_driver.h @@ -12,6 +12,8 @@ * RTE Security Common Definitions */ +#include <stdalign.h> + #ifdef __cplusplus extern "C" { #endif @@ -24,7 +26,6 @@ * Security session to be used by library for internal usage */ struct rte_security_session { - RTE_MARKER cacheline0; uint64_t opaque_data; /**< Opaque user defined data */ uint64_t fast_mdata; @@ -32,7 +33,7 @@ struct rte_security_session { rte_iova_t driver_priv_data_iova; /**< session private data IOVA address */ - alignas(RTE_CACHE_LINE_MIN_SIZE) RTE_MARKER cacheline1; + alignas(RTE_CACHE_LINE_MIN_SIZE) uint8_t driver_priv_data[]; /**< Private session material, variable size (depends on driver) */ }; -- 1.8.3.1