* same mbuf cacheline0 layout for 32-bit and 64-bit. This makes
* working on vector drivers easier.
*/
- RTE_STD_C11
- union {
- rte_iova_t buf_iova;
- rte_iova_t buf_physaddr; /**< deprecated */
- } __rte_aligned(sizeof(rte_iova_t));
+ rte_iova_t buf_iova __rte_aligned(sizeof(rte_iova_t));
/* next 8 bytes are initialised on RX descriptor rearm */
RTE_MARKER64 rearm_data;
* or non-atomic) is controlled by the CONFIG_RTE_MBUF_REFCNT_ATOMIC
* config option.
*/
- RTE_STD_C11
- union {
- rte_atomic16_t refcnt_atomic; /**< Atomically accessed refcnt */
- /** Non-atomically accessed refcnt */
- uint16_t refcnt;
- };
+ uint16_t refcnt;
uint16_t nb_segs; /**< Number of segments. */
/** Input port (16 bits to support more than 256 virtual ports).
struct rte_mbuf_ext_shared_info {
rte_mbuf_extbuf_free_callback_t free_cb; /**< Free callback function */
void *fcb_opaque; /**< Free callback argument */
- RTE_STD_C11
- union {
- rte_atomic16_t refcnt_atomic; /**< Atomically accessed refcnt */
- uint16_t refcnt;
- };
+ uint16_t refcnt;
};
/**< Maximum number of nb_segs allowed. */