diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c
index 25091de881..fe19615b14 100644
--- a/app/test-pmd/csumonly.c
+++ b/app/test-pmd/csumonly.c
@@ -86,7 +86,7 @@ struct testpmd_offload_info {
 struct simple_gre_hdr {
 	uint16_t flags;
 	uint16_t proto;
-} __attribute__((__packed__));
+} __rte_packed;
 
 static uint16_t
 get_udptcp_checksum(void *l3_hdr, void *l4_hdr, uint16_t ethertype)
diff --git a/app/test/test_efd.c b/app/test/test_efd.c
index a779a71f2d..e3e5e30ea6 100644
--- a/app/test/test_efd.c
+++ b/app/test/test_efd.c
@@ -30,7 +30,7 @@ struct flow_key {
 	uint16_t port_src;
 	uint16_t port_dst;
 	uint8_t proto;
-} __attribute__((packed));
+} __rte_packed;
 
 int efd_logtype_test;
 
diff --git a/app/test/test_hash.c b/app/test/test_hash.c
index fbd5725c68..ade473d5d4 100644
--- a/app/test/test_hash.c
+++ b/app/test/test_hash.c
@@ -67,7 +67,7 @@ struct flow_key {
 	uint16_t port_src;
 	uint16_t port_dst;
 	uint8_t proto;
-} __attribute__((packed));
+} __rte_packed;
 
 int hash_logtype_test;
 
diff --git a/app/test/test_member.c b/app/test/test_member.c
index 748ddcc266..40aa4c8627 100644
--- a/app/test/test_member.c
+++ b/app/test/test_member.c
@@ -25,7 +25,7 @@ struct flow_key {
 	uint16_t port_src;
 	uint16_t port_dst;
 	uint8_t proto;
-} __attribute__((packed));
+} __rte_packed;
 
 /* Set ID Macros for multimatch test usage */
 #define M_MATCH_S 1	/* Not start with 0 since by default 0 means no match */
diff --git a/doc/guides/prog_guide/packet_classif_access_ctrl.rst b/doc/guides/prog_guide/packet_classif_access_ctrl.rst
index 2945eacf55..0345512b9e 100644
--- a/doc/guides/prog_guide/packet_classif_access_ctrl.rst
+++ b/doc/guides/prog_guide/packet_classif_access_ctrl.rst
@@ -161,7 +161,7 @@ To define classification for the IPv6 2-tuple: <protocol, IPv6 source address> o
         uint8_t hop_limits;    /* Hop limits. */
         uint8_t src_addr[16];  /* IP address of source host. */
         uint8_t dst_addr[16];  /* IP address of destination host(s). */
-    } __attribute__((__packed__));
+    } __rte_packed;
 
 The following array of field definitions can be used:
 
diff --git a/drivers/baseband/fpga_lte_fec/fpga_lte_fec.c b/drivers/baseband/fpga_lte_fec/fpga_lte_fec.c
index 8bd10b401a..abc5a1bf6e 100644
--- a/drivers/baseband/fpga_lte_fec/fpga_lte_fec.c
+++ b/drivers/baseband/fpga_lte_fec/fpga_lte_fec.c
@@ -114,7 +114,7 @@ enum {
 };
 
 /* FPGA LTE FEC DMA Encoding Request Descriptor */
-struct __attribute__((__packed__)) fpga_dma_enc_desc {
+struct __rte_packed fpga_dma_enc_desc {
 	uint32_t done:1,
 		rsrvd0:11,
 		error:4,
@@ -151,7 +151,7 @@ struct __attribute__((__packed__)) fpga_dma_enc_desc {
 };
 
 /* FPGA LTE FEC DMA Decoding Request Descriptor */
-struct __attribute__((__packed__)) fpga_dma_dec_desc {
+struct __rte_packed fpga_dma_dec_desc {
 	uint32_t done:1,
 		iter:5,
 		rsrvd0:2,
@@ -197,7 +197,7 @@ union fpga_dma_desc {
 };
 
 /* FPGA LTE FEC Ring Control Register */
-struct __attribute__((__packed__)) fpga_ring_ctrl_reg {
+struct __rte_packed fpga_ring_ctrl_reg {
 	uint64_t ring_base_addr;
 	uint64_t ring_head_addr;
 	uint16_t ring_size:11;
diff --git a/drivers/bus/dpaa/include/fsl_fman.h b/drivers/bus/dpaa/include/fsl_fman.h
index 1d1ce86719..5705ebfdce 100644
--- a/drivers/bus/dpaa/include/fsl_fman.h
+++ b/drivers/bus/dpaa/include/fsl_fman.h
@@ -40,7 +40,7 @@ struct fm_status_t {
 	unsigned int phe:1; /* Header Error during parsing */
 	unsigned int frdr:1; /* Frame Dropped by disabled port */
 	unsigned int reserved5:4;
-} __attribute__ ((__packed__));
+} __rte_packed;
 
 /* Set MAC address for a particular interface */
 int fman_if_add_mac_addr(struct fman_if *p, uint8_t *eth, uint8_t addr_num);
diff --git a/drivers/bus/ifpga/rte_bus_ifpga.h b/drivers/bus/ifpga/rte_bus_ifpga.h
index 88a6289642..9d6659ae37 100644
--- a/drivers/bus/ifpga/rte_bus_ifpga.h
+++ b/drivers/bus/ifpga/rte_bus_ifpga.h
@@ -36,7 +36,7 @@ TAILQ_HEAD(ifpga_afu_drv_list, rte_afu_driver);
 struct rte_afu_uuid {
 	uint64_t uuid_low;
 	uint64_t uuid_high;
-} __attribute__ ((packed));
+} __rte_packed;
 
 #define IFPGA_BUS_DEV_PORT_MAX 4
 
@@ -47,7 +47,7 @@ struct rte_afu_uuid {
 struct rte_afu_id {
 	struct rte_afu_uuid uuid;
 	int      port; /**< port number */
-} __attribute__ ((packed));
+} __rte_packed;
 
 /**
  * A structure PR (Partial Reconfiguration) configuration AFU driver.
@@ -81,7 +81,7 @@ struct rte_afu_device {
 	struct rte_intr_handle intr_handle;     /**< Interrupt handle */
 	struct rte_afu_driver *driver;          /**< Associated driver */
 	char path[IFPGA_BUS_BITSTREAM_PATH_MAX_LEN];
-} __attribute__ ((packed));
+} __rte_packed;
 
 /**
  * @internal
diff --git a/drivers/common/iavf/iavf_osdep.h b/drivers/common/iavf/iavf_osdep.h
index 0bf040d639..011b19336e 100644
--- a/drivers/common/iavf/iavf_osdep.h
+++ b/drivers/common/iavf/iavf_osdep.h
@@ -149,12 +149,12 @@ struct iavf_dma_mem {
 	u64 pa;
 	u32 size;
 	const void *zone;
-} __attribute__((packed));
+} __rte_packed;
 
 struct iavf_virt_mem {
 	void *va;
 	u32 size;
-} __attribute__((packed));
+} __rte_packed;
 
 /* SW spinlock */
 struct iavf_spinlock {
diff --git a/drivers/crypto/caam_jr/caam_jr_desc.h b/drivers/crypto/caam_jr/caam_jr_desc.h
index 64e0c00bc8..135d51c392 100644
--- a/drivers/crypto/caam_jr/caam_jr_desc.h
+++ b/drivers/crypto/caam_jr/caam_jr_desc.h
@@ -263,7 +263,7 @@ struct load_command_s {
  */
 struct sec_sd_t {
 	uint32_t rsvd[MAX_DESC_SIZE_WORDS];
-} __attribute__((packed) __rte_aligned(64);
+} __rte_packed __rte_aligned(64);
 
 /* Structure encompassing a job descriptor which processes
  * a single packet from a context. The job descriptor references
@@ -280,6 +280,6 @@ struct sec_job_descriptor_t {
 	uint32_t in_ext_length;
 	struct load_command_s load_dpovrd;
 	uint32_t dpovrd;
-} __attribute__((packed) __rte_aligned(64);
+} __rte_packed __rte_aligned(64);
 
 #endif
diff --git a/drivers/mempool/octeontx/octeontx_fpavf.c b/drivers/mempool/octeontx/octeontx_fpavf.c
index 63f8fb3b50..0ff234913d 100644
--- a/drivers/mempool/octeontx/octeontx_fpavf.c
+++ b/drivers/mempool/octeontx/octeontx_fpavf.c
@@ -46,20 +46,20 @@ struct octeontx_mbox_fpa_cfg {
 	uint64_t	aura_cfg;
 };
 
-struct __attribute__((__packed__)) gen_req {
+struct __rte_packed gen_req {
 	uint32_t	value;
 };
 
-struct __attribute__((__packed__)) idn_req {
+struct __rte_packed idn_req {
 	uint8_t	domain_id;
 };
 
-struct __attribute__((__packed__)) gen_resp {
+struct __rte_packed gen_resp {
 	uint16_t	domain_id;
 	uint16_t	vfid;
 };
 
-struct __attribute__((__packed__)) dcfg_resp {
+struct __rte_packed dcfg_resp {
 	uint8_t	sso_count;
 	uint8_t	ssow_count;
 	uint8_t	fpa_count;
diff --git a/drivers/net/ark/ark_pktchkr.h b/drivers/net/ark/ark_pktchkr.h
index a50f428bf1..b362281776 100644
--- a/drivers/net/ark/ark_pktchkr.h
+++ b/drivers/net/ark/ark_pktchkr.h
@@ -37,7 +37,7 @@ struct ark_pkt_chkr_stat_regs {
 	uint32_t pkts_missing;
 	uint32_t min_latency;
 	uint32_t max_latency;
-} __attribute__ ((packed));
+} __rte_packed;
 
 struct ark_pkt_chkr_ctl_regs {
 	uint32_t pkt_ctrl;
@@ -53,7 +53,7 @@ struct ark_pkt_chkr_ctl_regs {
 	uint32_t dst_mac_addr_h;
 	uint32_t eth_type;
 	uint32_t hdr_dw[7];
-} __attribute__ ((packed));
+} __rte_packed;
 
 struct ark_pkt_chkr_inst {
 	struct rte_eth_dev_info *dev_info;
diff --git a/drivers/net/ark/ark_pktdir.h b/drivers/net/ark/ark_pktdir.h
index 314e6dea9d..4afd128f95 100644
--- a/drivers/net/ark/ark_pktdir.h
+++ b/drivers/net/ark/ark_pktdir.h
@@ -26,7 +26,7 @@ struct ark_pkt_dir_regs {
 	uint32_t ctrl;
 	uint32_t status;
 	uint32_t stall_cnt;
-} __attribute__ ((packed));
+} __rte_packed;
 
 struct ark_pkt_dir_inst {
 	volatile struct ark_pkt_dir_regs *regs;
diff --git a/drivers/net/ark/ark_pktgen.h b/drivers/net/ark/ark_pktgen.h
index 0e5f76aa28..c61dfee6db 100644
--- a/drivers/net/ark/ark_pktgen.h
+++ b/drivers/net/ark/ark_pktgen.h
@@ -41,7 +41,7 @@ struct ark_pkt_gen_regs {
 	uint32_t hdr_dw[7];
 	uint32_t start_offset;
 	uint32_t bytes_per_cycle;
-} __attribute__ ((packed));
+} __rte_packed;
 
 struct ark_pkt_gen_inst {
 	struct rte_eth_dev_info *dev_info;
diff --git a/drivers/net/atlantic/atl_types.h b/drivers/net/atlantic/atl_types.h
index c200a1fadb..e813d9f326 100644
--- a/drivers/net/atlantic/atl_types.h
+++ b/drivers/net/atlantic/atl_types.h
@@ -12,6 +12,8 @@
 #include <netinet/in.h>
 #include <pthread.h>
 
+#include <rte_common.h>
+
 typedef uint8_t		u8;
 typedef int8_t		s8;
 typedef uint16_t	u16;
diff --git a/drivers/net/atlantic/hw_atl/hw_atl_utils.h b/drivers/net/atlantic/hw_atl/hw_atl_utils.h
index 81caffaedf..d8fab010cf 100644
--- a/drivers/net/atlantic/hw_atl/hw_atl_utils.h
+++ b/drivers/net/atlantic/hw_atl/hw_atl_utils.h
@@ -27,10 +27,10 @@ struct hw_atl_txd_s {
 			u32 ct_idx:1;
 			u32 ct_en:1;
 			u32 pay_len:18;
-		} __attribute__((__packed__));
+		} __rte_packed;
 		u64 flags;
 	};
-} __attribute__((__packed__));
+} __rte_packed;
 
 /* Hardware tx context descriptor */
 union hw_atl_txc_s {
@@ -51,8 +51,8 @@ union hw_atl_txc_s {
 		u32 l3_len:9;
 		u32 l4_len:8;
 		u32 mss_len:16;
-	} __attribute__((__packed__));
-} __attribute__((__packed__));
+	} __rte_packed;
+} __rte_packed;
 
 enum aq_tx_desc_type {
 	tx_desc_type_desc = 1,
@@ -73,7 +73,7 @@ enum aq_tx_desc_cmd {
 struct hw_atl_rxd_s {
 	u64 buf_addr;
 	u64 hdr_addr;
-} __attribute__((__packed__));
+} __rte_packed;
 
 /* Hardware rx descriptor writeback */
 struct hw_atl_rxd_wb_s {
@@ -89,7 +89,7 @@ struct hw_atl_rxd_wb_s {
 	u16 pkt_len;
 	u16 next_desc_ptr;
 	u16 vlan;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct hw_atl_stats_s {
 	u32 uprc;
@@ -107,7 +107,7 @@ struct hw_atl_stats_s {
 	u32 ubrc;
 	u32 ubtc;
 	u32 dpc;
-} __attribute__((__packed__));
+} __rte_packed;
 
 union ip_addr {
 	struct {
@@ -117,7 +117,7 @@ union ip_addr {
 		u8 padding[12];
 		u8 addr[4];
 	} v4;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct hw_aq_atl_utils_fw_rpc {
 	u32 msg_id;
@@ -226,13 +226,13 @@ struct hw_aq_atl_utils_fw_rpc {
 		} msg_del_id;
 
 	};
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct hw_aq_atl_utils_mbox_header {
 	u32 version;
 	u32 transaction_id;
 	u32 error;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct hw_aq_info {
 	u8 reserved[6];
@@ -244,13 +244,13 @@ struct hw_aq_info {
 	u8 reserved2[32];
 	u32 caps_lo;
 	u32 caps_hi;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct hw_aq_atl_utils_mbox {
 	struct hw_aq_atl_utils_mbox_header header;
 	struct hw_atl_stats_s stats;
 	struct hw_aq_info info;
-} __attribute__((__packed__));
+} __rte_packed;
 
 /* fw2x */
 typedef u16	in_port_t;
@@ -261,7 +261,7 @@ typedef u32	fw_offset_t;
 
 struct ip6_addr {
 	u32 addr[4];
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct offload_ka_v4 {
 	u32 timeout;
@@ -273,7 +273,7 @@ struct offload_ka_v4 {
 	u32 ack_num;
 	ip4_addr_t local_ip;
 	ip4_addr_t remote_ip;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct offload_ka_v6 {
 	u32 timeout;
@@ -285,7 +285,7 @@ struct offload_ka_v6 {
 	u32 ack_num;
 	struct ip6_addr local_ip;
 	struct ip6_addr remote_ip;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct offload_ip_info {
 	u8 v4_local_addr_count;
@@ -296,14 +296,14 @@ struct offload_ip_info {
 	fw_offset_t v4_prefix;
 	fw_offset_t v6_addr;
 	fw_offset_t v6_prefix;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct offload_port_info {
 	u16 udp_port_count;
 	u16 tcp_port_count;
 	fw_offset_t udp_port;
 	fw_offset_t tcp_port;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct offload_ka_info {
 	u16 v4_ka_count;
@@ -312,14 +312,14 @@ struct offload_ka_info {
 	u32 retry_interval;
 	fw_offset_t v4_ka;
 	fw_offset_t v6_ka;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct offload_rr_info {
 	u32 rr_count;
 	u32 rr_buf_len;
 	fw_offset_t rr_id_x;
 	fw_offset_t rr_buf;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct offload_info {
 	u32 version;		// current version is 0x00000000
@@ -335,14 +335,14 @@ struct offload_info {
 	struct offload_ka_info kas;
 	struct offload_rr_info rrs;
 	u8 buf[0];
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct smbus_request {
 	u32 msg_id; /* not used */
 	u32 device_id;
 	u32 address;
 	u32 length;
-} __attribute__((__packed__));
+} __rte_packed;
 
 enum macsec_msg_type {
 	macsec_cfg_msg = 0,
@@ -358,7 +358,7 @@ struct macsec_cfg {
 	uint32_t egress_threshold;
 	uint32_t ingress_threshold;
 	uint32_t interrupts_enabled;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct add_rx_sc {
 	uint32_t index;
@@ -376,7 +376,7 @@ struct add_rx_sc {
 	uint32_t anti_replay_window; /* default 0 */
 	/* 1: auto_rollover enabled (when SA next_pn is saturated */
 	uint32_t an_rol;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct add_tx_sc {
 	uint32_t index;
@@ -391,26 +391,26 @@ struct add_tx_sc {
 	uint32_t da_mask; /* 0: ignore mac_da */
 	uint32_t protect;
 	uint32_t curr_an; /* SA index which currently used */
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct add_rx_sa {
 	uint32_t index;
 	uint32_t next_pn;
 	uint32_t key[4]; /* 128 bit key */
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct add_tx_sa {
 	uint32_t index;
 	uint32_t next_pn;
 	uint32_t key[4]; /* 128 bit key */
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct get_stats {
 	uint32_t version_only;
 	uint32_t ingress_sa_index;
 	uint32_t egress_sa_index;
 	uint32_t egress_sc_index;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct macsec_stats {
 	uint32_t api_version;
@@ -471,7 +471,7 @@ struct macsec_stats {
 	uint32_t ingress_threshold_expired;
 	uint32_t egress_expired;
 	uint32_t ingress_expired;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct macsec_msg_fw_request {
 	uint32_t offset; /* not used */
@@ -485,12 +485,12 @@ struct macsec_msg_fw_request {
 		struct add_tx_sa txsa;
 		struct get_stats stats;
 	};
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct macsec_msg_fw_response {
 	uint32_t result;
 	struct macsec_stats stats;
-} __attribute__((__packed__));
+} __rte_packed;
 
 #define HAL_ATLANTIC_UTILS_CHIP_MIPS         0x00000001U
 #define HAL_ATLANTIC_UTILS_CHIP_TPO2         0x00000002U
diff --git a/drivers/net/atlantic/hw_atl/hw_atl_utils_fw2x.c b/drivers/net/atlantic/hw_atl/hw_atl_utils_fw2x.c
index 55dc728d32..3a7faf405c 100644
--- a/drivers/net/atlantic/hw_atl/hw_atl_utils_fw2x.c
+++ b/drivers/net/atlantic/hw_atl/hw_atl_utils_fw2x.c
@@ -40,7 +40,7 @@
 struct fw2x_msg_wol_pattern {
 	u8 mask[16];
 	u32 crc;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct fw2x_msg_wol {
 	u32 msg_id;
@@ -53,7 +53,7 @@ struct fw2x_msg_wol {
 	u16 reserved;
 	u32 link_up_timeout;
 	u32 link_down_timeout;
-} __attribute__((__packed__));
+} __rte_packed;
 
 static int aq_fw2x_set_link_speed(struct aq_hw_s *self, u32 speed);
 static int aq_fw2x_set_state(struct aq_hw_s *self,
diff --git a/drivers/net/avp/rte_avp_common.h b/drivers/net/avp/rte_avp_common.h
index ab7d175083..4e82ec0b81 100644
--- a/drivers/net/avp/rte_avp_common.h
+++ b/drivers/net/avp/rte_avp_common.h
@@ -69,7 +69,7 @@ struct rte_avp_device_config {
 	uint16_t num_tx_queues;	/**< Number of active transmit queues */
 	uint16_t num_rx_queues;	/**< Number of active receive queues */
 	uint8_t if_up; /**< 1: interface up, 0: interface down */
-} __attribute__ ((__packed__));
+} __rte_packed;
 
 /*
  * Structure for AVP request.
@@ -83,7 +83,7 @@ struct rte_avp_request {
 	struct rte_avp_device_config config; /**< Queue configuration */
 	};
 	int32_t result;	/**< Result for processing request */
-} __attribute__ ((__packed__));
+} __rte_packed;
 
 /*
  * FIFO struct mapped in a shared memory. It describes a circular buffer FIFO
@@ -116,7 +116,7 @@ struct rte_avp_desc {
 	uint32_t pad3;
 	uint16_t vlan_tci; /**< VLAN Tag Control Identifier (CPU order). */
 	uint32_t pad4;
-} __attribute__ ((__packed__)) __rte_cache_aligned;
+} __rte_packed __rte_cache_aligned;
 
 
 /**{ AVP device features */
diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h
index 68786a89bf..dfdf8556b2 100644
--- a/drivers/net/bnxt/bnxt.h
+++ b/drivers/net/bnxt/bnxt.h
@@ -188,13 +188,13 @@ enum bnxt_hw_context {
 struct bnxt_vlan_table_entry {
 	uint16_t		tpid;
 	uint16_t		vid;
-} __attribute__((packed));
+} __rte_packed;
 
 struct bnxt_vlan_antispoof_table_entry {
 	uint16_t		tpid;
 	uint16_t		vid;
 	uint16_t		mask;
-} __attribute__((packed));
+} __rte_packed;
 
 struct bnxt_child_vf_info {
 	void			*req_buf;
diff --git a/drivers/net/bnxt/hsi_struct_def_dpdk.h b/drivers/net/bnxt/hsi_struct_def_dpdk.h
index c2bae0f675..e5fd5d109d 100644
--- a/drivers/net/bnxt/hsi_struct_def_dpdk.h
+++ b/drivers/net/bnxt/hsi_struct_def_dpdk.h
@@ -39,7 +39,7 @@ struct hwrm_cmd_hdr {
 	 * point to a physically contiguous block of memory.
 	 */
 	uint64_t	resp_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* This is the HWRM response header. */
 /* hwrm_resp_hdr (size:64b/8B) */
@@ -52,7 +52,7 @@ struct hwrm_resp_hdr {
 	uint16_t	seq_id;
 	/* The length of the response data in number of bytes. */
 	uint16_t	resp_len;
-} __attribute__((packed));
+} __rte_packed;
 
 /*
  * TLV encapsulated message. Use the TLV type field of the
@@ -147,7 +147,7 @@ struct tlv {
 	 * and it must be an integer multiple of 8B.
 	 */
 	uint16_t	length;
-} __attribute__((packed));
+} __rte_packed;
 
 /* Input */
 /* input (size:128b/16B) */
@@ -180,7 +180,7 @@ struct input {
 	 * and must be cleared to zero before the request is made.
 	 */
 	uint64_t	resp_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* Output */
 /* output (size:64b/8B) */
@@ -203,7 +203,7 @@ struct output {
 	 * memory.
 	 */
 	uint16_t	resp_len;
-} __attribute__((packed));
+} __rte_packed;
 
 /* Short Command Structure */
 /* hwrm_short_input (size:128b/16B) */
@@ -239,7 +239,7 @@ struct hwrm_short_input {
 	 * This area must be 16B aligned.
 	 */
 	uint64_t	req_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /*
  * Command numbering
@@ -679,7 +679,7 @@ struct cmd_nums {
 	#define HWRM_NVM_RAW_WRITE_BLK                    UINT32_C(0xffff)
 	#define HWRM_LAST                                HWRM_NVM_RAW_WRITE_BLK
 	uint16_t	unused_0[3];
-} __attribute__((packed));
+} __rte_packed;
 
 /* Return Codes */
 /* ret_codes (size:64b/8B) */
@@ -785,7 +785,7 @@ struct ret_codes {
 	#define HWRM_ERR_CODE_LAST \
 		HWRM_ERR_CODE_CMD_NOT_SUPPORTED
 	uint16_t	unused_0[3];
-} __attribute__((packed));
+} __rte_packed;
 
 /* Output */
 /* hwrm_err_output (size:128b/16B) */
@@ -825,7 +825,7 @@ struct hwrm_err_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 /*
  * Following is the signature for HWRM message field that indicates not
  * applicable (All F's). Need to cast it the size of the field if needed.
@@ -923,7 +923,7 @@ struct hwrm_ver_get_input {
 	 */
 	uint8_t	hwrm_intf_upd;
 	uint8_t	unused_0[5];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_ver_get_output (size:1408b/176B) */
 struct hwrm_ver_get_output {
@@ -1398,7 +1398,7 @@ struct hwrm_ver_get_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /* bd_base (size:64b/8B) */
 struct bd_base {
@@ -1444,7 +1444,7 @@ struct bd_base {
 	#define BD_BASE_TYPE_TX_BD_LONG_INLINE  UINT32_C(0x11)
 	#define BD_BASE_TYPE_LAST              BD_BASE_TYPE_TX_BD_LONG_INLINE
 	uint8_t	unused_1[7];
-} __attribute__((packed));
+} __rte_packed;
 
 /* tx_bd_short (size:128b/16B) */
 struct tx_bd_short {
@@ -1553,7 +1553,7 @@ struct tx_bd_short {
 	 * This value must be valid on all BDs of a packet.
 	 */
 	uint64_t	address;
-} __attribute__((packed));
+} __rte_packed;
 
 /* tx_bd_long (size:128b/16B) */
 struct tx_bd_long {
@@ -1660,7 +1660,7 @@ struct tx_bd_long {
 	 * This value must be valid on all BDs of a packet.
 	 */
 	uint64_t	address;
-} __attribute__((packed));
+} __rte_packed;
 
 /* Last 16 bytes of tx_bd_long. */
 /* tx_bd_long_hi (size:128b/16B) */
@@ -1850,7 +1850,7 @@ struct tx_bd_long_hi {
 	#define TX_BD_LONG_CFA_META_KEY_VLAN_TAG        (UINT32_C(0x1) << 28)
 	#define TX_BD_LONG_CFA_META_KEY_LAST \
 		TX_BD_LONG_CFA_META_KEY_VLAN_TAG
-} __attribute__((packed));
+} __rte_packed;
 
 /*
  * This structure is used to inform the NIC of packet data that needs to be
@@ -2063,7 +2063,7 @@ struct tx_bd_long_inline {
 		(UINT32_C(0x1) << 28)
 	#define TX_BD_LONG_INLINE_CFA_META_KEY_LAST \
 		TX_BD_LONG_INLINE_CFA_META_KEY_VLAN_TAG
-} __attribute__((packed));
+} __rte_packed;
 
 /* tx_bd_empty (size:128b/16B) */
 struct tx_bd_empty {
@@ -2081,7 +2081,7 @@ struct tx_bd_empty {
 	uint8_t	unused_2;
 	uint8_t	unused_3[3];
 	uint8_t	unused_4[8];
-} __attribute__((packed));
+} __rte_packed;
 
 /* rx_prod_pkt_bd (size:128b/16B) */
 struct rx_prod_pkt_bd {
@@ -2139,7 +2139,7 @@ struct rx_prod_pkt_bd {
 	 * be placed in host memory.
 	 */
 	uint64_t	address;
-} __attribute__((packed));
+} __rte_packed;
 
 /* rx_prod_bfr_bd (size:128b/16B) */
 struct rx_prod_bfr_bd {
@@ -2168,7 +2168,7 @@ struct rx_prod_bfr_bd {
 	 * be placed in host memory.
 	 */
 	uint64_t	address;
-} __attribute__((packed));
+} __rte_packed;
 
 /* rx_prod_agg_bd (size:128b/16B) */
 struct rx_prod_agg_bd {
@@ -2207,7 +2207,7 @@ struct rx_prod_agg_bd {
 	 * be placed in host memory.
 	 */
 	uint64_t	address;
-} __attribute__((packed));
+} __rte_packed;
 
 /* cmpl_base (size:128b/16B) */
 struct cmpl_base {
@@ -2292,7 +2292,7 @@ struct cmpl_base {
 	#define CMPL_BASE_INFO3_SFT 1
 	/* info4 is 32 b */
 	uint32_t	info4;
-} __attribute__((packed));
+} __rte_packed;
 
 /* tx_cmpl (size:128b/16B) */
 struct tx_cmpl {
@@ -2391,7 +2391,7 @@ struct tx_cmpl {
 	uint16_t	unused_1;
 	/* unused3 is 32 b */
 	uint32_t	unused_2;
-} __attribute__((packed));
+} __rte_packed;
 
 /* rx_pkt_cmpl (size:128b/16B) */
 struct rx_pkt_cmpl {
@@ -2589,7 +2589,7 @@ struct rx_pkt_cmpl {
 	 * based on the mode bits and key value in the VNIC.
 	 */
 	uint32_t	rss_hash;
-} __attribute__((packed));
+} __rte_packed;
 
 /* Last 16 bytes of rx_pkt_cmpl. */
 /* rx_pkt_cmpl_hi (size:128b/16B) */
@@ -2935,7 +2935,7 @@ struct rx_pkt_cmpl_hi {
 	 */
 	#define RX_PKT_CMPL_REORDER_MASK UINT32_C(0xffffff)
 	#define RX_PKT_CMPL_REORDER_SFT 0
-} __attribute__((packed));
+} __rte_packed;
 
 /*
  * This TPA completion structure is used on devices where the
@@ -3100,7 +3100,7 @@ struct rx_tpa_start_cmpl {
 	 * based on the mode bits and key value in the VNIC.
 	 */
 	uint32_t	rss_hash;
-} __attribute__((packed));
+} __rte_packed;
 
 /*
  * Last 16 bytes of rx_tpa_start_cmpl.
@@ -3217,7 +3217,7 @@ struct rx_tpa_start_cmpl_hi {
 	 */
 	#define RX_TPA_START_CMPL_INNER_L4_SIZE_MASK  UINT32_C(0xf8000000)
 	#define RX_TPA_START_CMPL_INNER_L4_SIZE_SFT   27
-} __attribute__((packed));
+} __rte_packed;
 
 /*
  * This TPA completion structure is used on devices where the
@@ -3374,7 +3374,7 @@ struct rx_tpa_end_cmpl {
 	 *     option is present in the packet.
 	 */
 	uint32_t	tsdelta;
-} __attribute__((packed));
+} __rte_packed;
 
 /*
  * Last 16 bytes of rx_tpa_end_cmpl.
@@ -3450,7 +3450,7 @@ struct rx_tpa_end_cmpl_hi {
 	 * completion that corresponds to this TPA end completion.
 	 */
 	uint32_t	start_opaque;
-} __attribute__((packed));
+} __rte_packed;
 
 /*
  * This TPA completion structure is used on devices where the
@@ -3621,7 +3621,7 @@ struct rx_tpa_v2_start_cmpl {
 	 * based on the mode bits and key value in the VNIC.
 	 */
 	uint32_t	rss_hash;
-} __attribute__((packed));
+} __rte_packed;
 
 /*
  * Last 16 bytes of rx_tpa_v2_start_cmpl.
@@ -3836,7 +3836,7 @@ struct rx_tpa_v2_start_cmpl_hi {
 	 */
 	#define RX_TPA_V2_START_CMPL_INNER_L4_SIZE_MASK  UINT32_C(0xf8000000)
 	#define RX_TPA_V2_START_CMPL_INNER_L4_SIZE_SFT   27
-} __attribute__((packed));
+} __rte_packed;
 
 /*
  * This TPA completion structure is used on devices where the
@@ -3967,7 +3967,7 @@ struct rx_tpa_v2_end_cmpl {
 	 *     option is present in the packet.
 	 */
 	uint32_t	tsdelta;
-} __attribute__((packed));
+} __rte_packed;
 
 /*
  * Last 16 bytes of rx_tpa_v2_end_cmpl.
@@ -4077,7 +4077,7 @@ struct rx_tpa_v2_end_cmpl_hi {
 	 * completion that corresponds to this TPA end completion.
 	 */
 	uint32_t	start_opaque;
-} __attribute__((packed));
+} __rte_packed;
 
 /*
  * This TPA completion structure is used on devices where the
@@ -4131,7 +4131,7 @@ struct rx_tpa_v2_abuf_cmpl {
 	 */
 	uint16_t	agg_id;
 	uint32_t	unused_1;
-} __attribute__((packed));
+} __rte_packed;
 
 /* rx_abuf_cmpl (size:128b/16B) */
 struct rx_abuf_cmpl {
@@ -4175,7 +4175,7 @@ struct rx_abuf_cmpl {
 	#define RX_ABUF_CMPL_V     UINT32_C(0x1)
 	/* unused3 is 32 b */
 	uint32_t	unused_2;
-} __attribute__((packed));
+} __rte_packed;
 
 /* eject_cmpl (size:128b/16B) */
 struct eject_cmpl {
@@ -4257,7 +4257,7 @@ struct eject_cmpl {
 	uint16_t	reserved16;
 	/* unused3 is 32 b */
 	uint32_t	unused_2;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cmpl (size:128b/16B) */
 struct hwrm_cmpl {
@@ -4290,7 +4290,7 @@ struct hwrm_cmpl {
 	#define HWRM_CMPL_V     UINT32_C(0x1)
 	/* unused4 is 32 b */
 	uint32_t	unused_3;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_fwd_req_cmpl (size:128b/16B) */
 struct hwrm_fwd_req_cmpl {
@@ -4339,7 +4339,7 @@ struct hwrm_fwd_req_cmpl {
 	/* Address of forwarded request. */
 	#define HWRM_FWD_REQ_CMPL_REQ_BUF_ADDR_MASK UINT32_C(0xfffffffe)
 	#define HWRM_FWD_REQ_CMPL_REQ_BUF_ADDR_SFT 1
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_fwd_resp_cmpl (size:128b/16B) */
 struct hwrm_fwd_resp_cmpl {
@@ -4380,7 +4380,7 @@ struct hwrm_fwd_resp_cmpl {
 	/* Address of forwarded request. */
 	#define HWRM_FWD_RESP_CMPL_RESP_BUF_ADDR_MASK UINT32_C(0xfffffffe)
 	#define HWRM_FWD_RESP_CMPL_RESP_BUF_ADDR_SFT 1
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl (size:128b/16B) */
 struct hwrm_async_event_cmpl {
@@ -4550,7 +4550,7 @@ struct hwrm_async_event_cmpl {
 	uint16_t	timestamp_hi;
 	/* Event specific data */
 	uint32_t	event_data1;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_link_status_change (size:128b/16B) */
 struct hwrm_async_event_cmpl_link_status_change {
@@ -4629,7 +4629,7 @@ struct hwrm_async_event_cmpl_link_status_change {
 		UINT32_C(0xff00000)
 	#define HWRM_ASYNC_EVENT_CMPL_LINK_STATUS_CHANGE_EVENT_DATA1_PF_ID_SFT \
 		20
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_link_mtu_change (size:128b/16B) */
 struct hwrm_async_event_cmpl_link_mtu_change {
@@ -4679,7 +4679,7 @@ struct hwrm_async_event_cmpl_link_mtu_change {
 	#define HWRM_ASYNC_EVENT_CMPL_LINK_MTU_CHANGE_EVENT_DATA1_NEW_MTU_MASK \
 		UINT32_C(0xffff)
 	#define HWRM_ASYNC_EVENT_CMPL_LINK_MTU_CHANGE_EVENT_DATA1_NEW_MTU_SFT 0
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_link_speed_change (size:128b/16B) */
 struct hwrm_async_event_cmpl_link_speed_change {
@@ -4774,7 +4774,7 @@ struct hwrm_async_event_cmpl_link_speed_change {
 		UINT32_C(0xffff0000)
 	#define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CHANGE_EVENT_DATA1_PORT_ID_SFT \
 		16
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_dcb_config_change (size:128b/16B) */
 struct hwrm_async_event_cmpl_dcb_config_change {
@@ -4855,7 +4855,7 @@ struct hwrm_async_event_cmpl_dcb_config_change {
 		(UINT32_C(0xff) << 24)
 	#define HWRM_ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_EVENT_DATA1_RECOMMEND_L2_PRIORITY_LAST \
 		HWRM_ASYNC_EVENT_CMPL_DCB_CONFIG_CHANGE_EVENT_DATA1_RECOMMEND_L2_PRIORITY_NONE
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_port_conn_not_allowed (size:128b/16B) */
 struct hwrm_async_event_cmpl_port_conn_not_allowed {
@@ -4931,7 +4931,7 @@ struct hwrm_async_event_cmpl_port_conn_not_allowed {
 		(UINT32_C(0x3) << 16)
 	#define HWRM_ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_LAST \
 		HWRM_ASYNC_EVENT_CMPL_PORT_CONN_NOT_ALLOWED_EVENT_DATA1_ENFORCEMENT_POLICY_PWRDOWN
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_link_speed_cfg_not_allowed (size:128b/16B) */
 struct hwrm_async_event_cmpl_link_speed_cfg_not_allowed {
@@ -4984,7 +4984,7 @@ struct hwrm_async_event_cmpl_link_speed_cfg_not_allowed {
 		UINT32_C(0xffff)
 	#define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_NOT_ALLOWED_EVENT_DATA1_PORT_ID_SFT \
 		0
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_link_speed_cfg_change (size:128b/16B) */
 struct hwrm_async_event_cmpl_link_speed_cfg_change {
@@ -5053,7 +5053,7 @@ struct hwrm_async_event_cmpl_link_speed_cfg_change {
 	 */
 	#define HWRM_ASYNC_EVENT_CMPL_LINK_SPEED_CFG_CHANGE_EVENT_DATA1_ILLEGAL_LINK_SPEED_CFG \
 		UINT32_C(0x20000)
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_port_phy_cfg_change (size:128b/16B) */
 struct hwrm_async_event_cmpl_port_phy_cfg_change {
@@ -5129,7 +5129,7 @@ struct hwrm_async_event_cmpl_port_phy_cfg_change {
 	 */
 	#define HWRM_ASYNC_EVENT_CMPL_PORT_PHY_CFG_CHANGE_EVENT_DATA1_PAUSE_CFG_CHANGE \
 		UINT32_C(0x40000)
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_reset_notify (size:128b/16B) */
 struct hwrm_async_event_cmpl_reset_notify {
@@ -5229,7 +5229,7 @@ struct hwrm_async_event_cmpl_reset_notify {
 		UINT32_C(0xffff0000)
 	#define HWRM_ASYNC_EVENT_CMPL_RESET_NOTIFY_EVENT_DATA1_DELAY_IN_100MS_TICKS_SFT \
 		16
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_error_recovery (size:128b/16B) */
 struct hwrm_async_event_cmpl_error_recovery {
@@ -5298,7 +5298,7 @@ struct hwrm_async_event_cmpl_error_recovery {
 	 */
 	#define HWRM_ASYNC_EVENT_CMPL_ERROR_RECOVERY_EVENT_DATA1_FLAGS_RECOVERY_ENABLED \
 		UINT32_C(0x2)
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_func_drvr_unload (size:128b/16B) */
 struct hwrm_async_event_cmpl_func_drvr_unload {
@@ -5349,7 +5349,7 @@ struct hwrm_async_event_cmpl_func_drvr_unload {
 		UINT32_C(0xffff)
 	#define HWRM_ASYNC_EVENT_CMPL_FUNC_DRVR_UNLOAD_EVENT_DATA1_FUNC_ID_SFT \
 		0
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_func_drvr_load (size:128b/16B) */
 struct hwrm_async_event_cmpl_func_drvr_load {
@@ -5398,7 +5398,7 @@ struct hwrm_async_event_cmpl_func_drvr_load {
 	#define HWRM_ASYNC_EVENT_CMPL_FUNC_DRVR_LOAD_EVENT_DATA1_FUNC_ID_MASK \
 		UINT32_C(0xffff)
 	#define HWRM_ASYNC_EVENT_CMPL_FUNC_DRVR_LOAD_EVENT_DATA1_FUNC_ID_SFT 0
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_func_flr_proc_cmplt (size:128b/16B) */
 struct hwrm_async_event_cmpl_func_flr_proc_cmplt {
@@ -5451,7 +5451,7 @@ struct hwrm_async_event_cmpl_func_flr_proc_cmplt {
 		UINT32_C(0xffff)
 	#define HWRM_ASYNC_EVENT_CMPL_FUNC_FLR_PROC_CMPLT_EVENT_DATA1_FUNC_ID_SFT \
 		0
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_pf_drvr_unload (size:128b/16B) */
 struct hwrm_async_event_cmpl_pf_drvr_unload {
@@ -5504,7 +5504,7 @@ struct hwrm_async_event_cmpl_pf_drvr_unload {
 	#define HWRM_ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_EVENT_DATA1_PORT_MASK \
 		UINT32_C(0x70000)
 	#define HWRM_ASYNC_EVENT_CMPL_PF_DRVR_UNLOAD_EVENT_DATA1_PORT_SFT    16
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_pf_drvr_load (size:128b/16B) */
 struct hwrm_async_event_cmpl_pf_drvr_load {
@@ -5557,7 +5557,7 @@ struct hwrm_async_event_cmpl_pf_drvr_load {
 	#define HWRM_ASYNC_EVENT_CMPL_PF_DRVR_LOAD_EVENT_DATA1_PORT_MASK \
 		UINT32_C(0x70000)
 	#define HWRM_ASYNC_EVENT_CMPL_PF_DRVR_LOAD_EVENT_DATA1_PORT_SFT    16
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_vf_flr (size:128b/16B) */
 struct hwrm_async_event_cmpl_vf_flr {
@@ -5609,7 +5609,7 @@ struct hwrm_async_event_cmpl_vf_flr {
 	#define HWRM_ASYNC_EVENT_CMPL_VF_FLR_EVENT_DATA1_PF_ID_MASK \
 		UINT32_C(0xff0000)
 	#define HWRM_ASYNC_EVENT_CMPL_VF_FLR_EVENT_DATA1_PF_ID_SFT 16
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_vf_mac_addr_change (size:128b/16B) */
 struct hwrm_async_event_cmpl_vf_mac_addr_change {
@@ -5661,7 +5661,7 @@ struct hwrm_async_event_cmpl_vf_mac_addr_change {
 		UINT32_C(0xffff)
 	#define HWRM_ASYNC_EVENT_CMPL_VF_MAC_ADDR_CHANGE_EVENT_DATA1_VF_ID_SFT \
 		0
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_pf_vf_comm_status_change (size:128b/16B) */
 struct hwrm_async_event_cmpl_pf_vf_comm_status_change {
@@ -5717,7 +5717,7 @@ struct hwrm_async_event_cmpl_pf_vf_comm_status_change {
 	 */
 	#define HWRM_ASYNC_EVENT_CMPL_PF_VF_COMM_STATUS_CHANGE_EVENT_DATA1_COMM_ESTABLISHED \
 		UINT32_C(0x1)
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_vf_cfg_change (size:128b/16B) */
 struct hwrm_async_event_cmpl_vf_cfg_change {
@@ -5802,7 +5802,7 @@ struct hwrm_async_event_cmpl_vf_cfg_change {
 	 */
 	#define HWRM_ASYNC_EVENT_CMPL_VF_CFG_CHANGE_EVENT_DATA1_TRUSTED_VF_CFG_CHANGE \
 		UINT32_C(0x10)
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_llfc_pfc_change (size:128b/16B) */
 struct hwrm_async_event_cmpl_llfc_pfc_change {
@@ -5881,7 +5881,7 @@ struct hwrm_async_event_cmpl_llfc_pfc_change {
 		UINT32_C(0x1fffe0)
 	#define HWRM_ASYNC_EVENT_CMPL_LLFC_PFC_CHANGE_EVENT_DATA1_PORT_ID_SFT \
 		5
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_default_vnic_change (size:128b/16B) */
 struct hwrm_async_event_cmpl_default_vnic_change {
@@ -5963,7 +5963,7 @@ struct hwrm_async_event_cmpl_default_vnic_change {
 		UINT32_C(0x3fffc00)
 	#define HWRM_ASYNC_EVENT_CMPL_DEFAULT_VNIC_CHANGE_EVENT_DATA1_VF_ID_SFT \
 		10
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_hw_flow_aged (size:128b/16B) */
 struct hwrm_async_event_cmpl_hw_flow_aged {
@@ -6030,7 +6030,7 @@ struct hwrm_async_event_cmpl_hw_flow_aged {
 		(UINT32_C(0x1) << 31)
 	#define HWRM_ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_DATA1_FLOW_DIRECTION_LAST \
 		HWRM_ASYNC_EVENT_CMPL_HW_FLOW_AGED_EVENT_DATA1_FLOW_DIRECTION_TX
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_eem_cache_flush_req (size:128b/16B) */
 struct hwrm_async_event_cmpl_eem_cache_flush_req {
@@ -6078,7 +6078,7 @@ struct hwrm_async_event_cmpl_eem_cache_flush_req {
 	uint16_t	timestamp_hi;
 	/* Event specific data */
 	uint32_t	event_data1;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_eem_cache_flush_done (size:128b/16B) */
 struct hwrm_async_event_cmpl_eem_cache_flush_done {
@@ -6134,7 +6134,7 @@ struct hwrm_async_event_cmpl_eem_cache_flush_done {
 		UINT32_C(0xffff)
 	#define HWRM_ASYNC_EVENT_CMPL_EEM_CACHE_FLUSH_DONE_EVENT_DATA1_FID_SFT \
 		0
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_tcp_flag_action_change (size:128b/16B) */
 struct hwrm_async_event_cmpl_tcp_flag_action_change {
@@ -6182,7 +6182,7 @@ struct hwrm_async_event_cmpl_tcp_flag_action_change {
 	uint16_t	timestamp_hi;
 	/* Event specific data */
 	uint32_t	event_data1;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_eem_flow_active (size:128b/16B) */
 struct hwrm_async_event_cmpl_eem_flow_active {
@@ -6282,7 +6282,7 @@ struct hwrm_async_event_cmpl_eem_flow_active {
 		(UINT32_C(0x1) << 31)
 	#define HWRM_ASYNC_EVENT_CMPL_EEM_FLOW_ACTIVE_EVENT_DATA1_MODE_LAST \
 		HWRM_ASYNC_EVENT_CMPL_EEM_FLOW_ACTIVE_EVENT_DATA1_MODE_1
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_eem_cfg_change (size:128b/16B) */
 struct hwrm_async_event_cmpl_eem_cfg_change {
@@ -6339,7 +6339,7 @@ struct hwrm_async_event_cmpl_eem_cfg_change {
 	 */
 	#define HWRM_ASYNC_EVENT_CMPL_EEM_CFG_CHANGE_EVENT_DATA1_EEM_RX_ENABLE \
 		UINT32_C(0x2)
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_quiesce_done (size:128b/16B) */
 struct hwrm_async_event_cmpl_quiesce_done {
@@ -6412,7 +6412,7 @@ struct hwrm_async_event_cmpl_quiesce_done {
 	/* Time stamp for error event */
 	#define HWRM_ASYNC_EVENT_CMPL_QUIESCE_DONE_EVENT_DATA1_TIMESTAMP \
 		UINT32_C(0x1)
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_fw_trace_msg (size:128b/16B) */
 struct hwrm_async_event_cmpl_fw_trace_msg {
@@ -6519,7 +6519,7 @@ struct hwrm_async_event_cmpl_fw_trace_msg {
 	#define HWRM_ASYNC_EVENT_CMPL_FW_TRACE_MSG_EVENT_DATA1_BYTE9_MASK \
 		UINT32_C(0xff000000)
 	#define HWRM_ASYNC_EVENT_CMPL_FW_TRACE_MSG_EVENT_DATA1_BYTE9_SFT 24
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_async_event_cmpl_hwrm_error (size:128b/16B) */
 struct hwrm_async_event_cmpl_hwrm_error {
@@ -6582,7 +6582,7 @@ struct hwrm_async_event_cmpl_hwrm_error {
 	/* Time stamp for error event */
 	#define HWRM_ASYNC_EVENT_CMPL_HWRM_ERROR_EVENT_DATA1_TIMESTAMP \
 		UINT32_C(0x1)
-} __attribute__((packed));
+} __rte_packed;
 
 /*******************
  * hwrm_func_reset *
@@ -6665,7 +6665,7 @@ struct hwrm_func_reset_input {
 	#define HWRM_FUNC_RESET_INPUT_FUNC_RESET_LEVEL_LAST \
 		HWRM_FUNC_RESET_INPUT_FUNC_RESET_LEVEL_RESETVF
 	uint8_t	unused_0;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_reset_output (size:128b/16B) */
 struct hwrm_func_reset_output {
@@ -6686,7 +6686,7 @@ struct hwrm_func_reset_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /********************
  * hwrm_func_getfid *
@@ -6737,7 +6737,7 @@ struct hwrm_func_getfid_input {
 	 */
 	uint16_t	pci_id;
 	uint8_t	unused_0[2];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_getfid_output (size:128b/16B) */
 struct hwrm_func_getfid_output {
@@ -6763,7 +6763,7 @@ struct hwrm_func_getfid_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************
  * hwrm_func_vf_alloc *
@@ -6813,7 +6813,7 @@ struct hwrm_func_vf_alloc_input {
 	uint16_t	first_vf_id;
 	/* The number of virtual functions requested. */
 	uint16_t	num_vfs;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_vf_alloc_output (size:128b/16B) */
 struct hwrm_func_vf_alloc_output {
@@ -6836,7 +6836,7 @@ struct hwrm_func_vf_alloc_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*********************
  * hwrm_func_vf_free *
@@ -6889,7 +6889,7 @@ struct hwrm_func_vf_free_input {
 	 * 0xFFFF - Cleanup all children of this PF.
 	 */
 	uint16_t	num_vfs;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_vf_free_output (size:128b/16B) */
 struct hwrm_func_vf_free_output {
@@ -6910,7 +6910,7 @@ struct hwrm_func_vf_free_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /********************
  * hwrm_func_vf_cfg *
@@ -7153,7 +7153,7 @@ struct hwrm_func_vf_cfg_input {
 	/* The number of HW ring groups requested for the VF. */
 	uint16_t	num_hw_ring_grps;
 	uint8_t	unused_0[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_vf_cfg_output (size:128b/16B) */
 struct hwrm_func_vf_cfg_output {
@@ -7174,7 +7174,7 @@ struct hwrm_func_vf_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*******************
  * hwrm_func_qcaps *
@@ -7218,7 +7218,7 @@ struct hwrm_func_qcaps_input {
 	 */
 	uint16_t	fid;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_qcaps_output (size:640b/80B) */
 struct hwrm_func_qcaps_output {
@@ -7560,7 +7560,7 @@ struct hwrm_func_qcaps_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /******************
  * hwrm_func_qcfg *
@@ -7604,7 +7604,7 @@ struct hwrm_func_qcfg_input {
 	 */
 	uint16_t	fid;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_qcfg_output (size:704b/88B) */
 struct hwrm_func_qcfg_output {
@@ -8025,7 +8025,7 @@ struct hwrm_func_qcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*****************
  * hwrm_func_cfg *
@@ -8655,7 +8655,7 @@ struct hwrm_func_cfg_input {
 	 * be reserved for this function on the RX side.
 	 */
 	uint16_t	num_mcast_filters;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_cfg_output (size:128b/16B) */
 struct hwrm_func_cfg_output {
@@ -8676,7 +8676,7 @@ struct hwrm_func_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /********************
  * hwrm_func_qstats *
@@ -8733,7 +8733,7 @@ struct hwrm_func_qstats_input {
 	#define HWRM_FUNC_QSTATS_INPUT_FLAGS_LAST \
 		HWRM_FUNC_QSTATS_INPUT_FLAGS_ROCE_ONLY
 	uint8_t	unused_0[5];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_qstats_output (size:1408b/176B) */
 struct hwrm_func_qstats_output {
@@ -8815,7 +8815,7 @@ struct hwrm_func_qstats_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***********************
  * hwrm_func_clr_stats *
@@ -8859,7 +8859,7 @@ struct hwrm_func_clr_stats_input {
 	 */
 	uint16_t	fid;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_clr_stats_output (size:128b/16B) */
 struct hwrm_func_clr_stats_output {
@@ -8880,7 +8880,7 @@ struct hwrm_func_clr_stats_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**************************
  * hwrm_func_vf_resc_free *
@@ -8923,7 +8923,7 @@ struct hwrm_func_vf_resc_free_input {
 	 */
 	uint16_t	vf_id;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_vf_resc_free_output (size:128b/16B) */
 struct hwrm_func_vf_resc_free_output {
@@ -8944,7 +8944,7 @@ struct hwrm_func_vf_resc_free_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************
  * hwrm_func_drv_rgtr *
@@ -9168,7 +9168,7 @@ struct hwrm_func_drv_rgtr_input {
 	uint16_t	ver_upd;
 	/* This is the 16bit patch version of the driver. */
 	uint16_t	ver_patch;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_drv_rgtr_output (size:128b/16B) */
 struct hwrm_func_drv_rgtr_output {
@@ -9196,7 +9196,7 @@ struct hwrm_func_drv_rgtr_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /************************
  * hwrm_func_drv_unrgtr *
@@ -9241,7 +9241,7 @@ struct hwrm_func_drv_unrgtr_input {
 	#define HWRM_FUNC_DRV_UNRGTR_INPUT_FLAGS_PREPARE_FOR_SHUTDOWN \
 		UINT32_C(0x1)
 	uint8_t	unused_0[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_drv_unrgtr_output (size:128b/16B) */
 struct hwrm_func_drv_unrgtr_output {
@@ -9262,7 +9262,7 @@ struct hwrm_func_drv_unrgtr_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************
  * hwrm_func_buf_rgtr *
@@ -9376,7 +9376,7 @@ struct hwrm_func_buf_rgtr_input {
 	 * HWRM.
 	 */
 	uint64_t	resp_buf_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_buf_rgtr_output (size:128b/16B) */
 struct hwrm_func_buf_rgtr_output {
@@ -9397,7 +9397,7 @@ struct hwrm_func_buf_rgtr_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /************************
  * hwrm_func_buf_unrgtr *
@@ -9446,7 +9446,7 @@ struct hwrm_func_buf_unrgtr_input {
 	 */
 	uint16_t	vf_id;
 	uint8_t	unused_0[2];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_buf_unrgtr_output (size:128b/16B) */
 struct hwrm_func_buf_unrgtr_output {
@@ -9467,7 +9467,7 @@ struct hwrm_func_buf_unrgtr_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************
  * hwrm_func_drv_qver *
@@ -9513,7 +9513,7 @@ struct hwrm_func_drv_qver_input {
 	 */
 	uint16_t	fid;
 	uint8_t	unused_0[2];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_drv_qver_output (size:256b/32B) */
 struct hwrm_func_drv_qver_output {
@@ -9575,7 +9575,7 @@ struct hwrm_func_drv_qver_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /****************************
  * hwrm_func_resource_qcaps *
@@ -9619,7 +9619,7 @@ struct hwrm_func_resource_qcaps_input {
 	 */
 	uint16_t	fid;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_resource_qcaps_output (size:448b/56B) */
 struct hwrm_func_resource_qcaps_output {
@@ -9705,7 +9705,7 @@ struct hwrm_func_resource_qcaps_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*********************************
  * hwrm_func_backing_store_qcaps *
@@ -9742,7 +9742,7 @@ struct hwrm_func_backing_store_qcaps_input {
 	 * point to a physically contiguous block of memory.
 	 */
 	uint64_t	resp_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_backing_store_qcaps_output (size:640b/80B) */
 struct hwrm_func_backing_store_qcaps_output {
@@ -9872,7 +9872,7 @@ struct hwrm_func_backing_store_qcaps_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*******************************
  * hwrm_func_backing_store_cfg *
@@ -10886,7 +10886,7 @@ struct hwrm_func_backing_store_cfg_input {
 	uint16_t	mrav_entry_size;
 	/* Number of bytes that have been allocated for each context entry. */
 	uint16_t	tim_entry_size;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_backing_store_cfg_output (size:128b/16B) */
 struct hwrm_func_backing_store_cfg_output {
@@ -10907,7 +10907,7 @@ struct hwrm_func_backing_store_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /********************************
  * hwrm_func_backing_store_qcfg *
@@ -10944,7 +10944,7 @@ struct hwrm_func_backing_store_qcfg_input {
 	 * point to a physically contiguous block of memory.
 	 */
 	uint64_t	resp_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_backing_store_qcfg_output (size:1920b/240B) */
 struct hwrm_func_backing_store_qcfg_output {
@@ -11821,7 +11821,7 @@ struct hwrm_func_backing_store_qcfg_output {
 	 * is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /****************************
  * hwrm_error_recovery_qcfg *
@@ -11859,7 +11859,7 @@ struct hwrm_error_recovery_qcfg_input {
 	 */
 	uint64_t	resp_addr;
 	uint8_t	unused_0[8];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_error_recovery_qcfg_output (size:1664b/208B) */
 struct hwrm_error_recovery_qcfg_output {
@@ -12188,7 +12188,7 @@ struct hwrm_error_recovery_qcfg_output {
 	 * is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***********************
  * hwrm_func_vlan_qcfg *
@@ -12233,7 +12233,7 @@ struct hwrm_func_vlan_qcfg_input {
 	 */
 	uint16_t	fid;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_vlan_qcfg_output (size:320b/40B) */
 struct hwrm_func_vlan_qcfg_output {
@@ -12279,7 +12279,7 @@ struct hwrm_func_vlan_qcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************
  * hwrm_func_vlan_cfg *
@@ -12380,7 +12380,7 @@ struct hwrm_func_vlan_cfg_input {
 	/* Future use. */
 	uint32_t	rsvd2;
 	uint8_t	unused_3[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_vlan_cfg_output (size:128b/16B) */
 struct hwrm_func_vlan_cfg_output {
@@ -12401,7 +12401,7 @@ struct hwrm_func_vlan_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*******************************
  * hwrm_func_vf_vnic_ids_query *
@@ -12448,7 +12448,7 @@ struct hwrm_func_vf_vnic_ids_query_input {
 	uint32_t	max_vnic_id_cnt;
 	/* This is the address for VF VNIC ID table */
 	uint64_t	vnic_id_tbl_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_vf_vnic_ids_query_output (size:128b/16B) */
 struct hwrm_func_vf_vnic_ids_query_output {
@@ -12475,7 +12475,7 @@ struct hwrm_func_vf_vnic_ids_query_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***********************
  * hwrm_func_vf_bw_cfg *
@@ -12579,7 +12579,7 @@ struct hwrm_func_vf_bw_cfg_input {
 		(UINT32_C(0xf) << 12)
 	#define HWRM_FUNC_VF_BW_CFG_INPUT_VFN_RATE_LAST \
 		HWRM_FUNC_VF_BW_CFG_INPUT_VFN_RATE_PCT_100
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_vf_bw_cfg_output (size:128b/16B) */
 struct hwrm_func_vf_bw_cfg_output {
@@ -12600,7 +12600,7 @@ struct hwrm_func_vf_bw_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /************************
  * hwrm_func_vf_bw_qcfg *
@@ -12649,7 +12649,7 @@ struct hwrm_func_vf_bw_qcfg_input {
 	/* The physical VF id of interest */
 	#define HWRM_FUNC_VF_BW_QCFG_INPUT_VFN_VFID_MASK UINT32_C(0xfff)
 	#define HWRM_FUNC_VF_BW_QCFG_INPUT_VFN_VFID_SFT 0
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_vf_bw_qcfg_output (size:960b/120B) */
 struct hwrm_func_vf_bw_qcfg_output {
@@ -12738,7 +12738,7 @@ struct hwrm_func_vf_bw_qcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***************************
  * hwrm_func_drv_if_change *
@@ -12791,7 +12791,7 @@ struct hwrm_func_drv_if_change_input {
 	 */
 	#define HWRM_FUNC_DRV_IF_CHANGE_INPUT_FLAGS_UP     UINT32_C(0x1)
 	uint32_t	unused;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_drv_if_change_output (size:128b/16B) */
 struct hwrm_func_drv_if_change_output {
@@ -12827,7 +12827,7 @@ struct hwrm_func_drv_if_change_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*******************************
  * hwrm_func_host_pf_ids_query *
@@ -12913,7 +12913,7 @@ struct hwrm_func_host_pf_ids_query_input {
 	#define HWRM_FUNC_HOST_PF_IDS_QUERY_INPUT_FILTER_LAST \
 		HWRM_FUNC_HOST_PF_IDS_QUERY_INPUT_FILTER_ROCE
 	uint8_t	unused_1[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_func_host_pf_ids_query_output (size:128b/16B) */
 struct hwrm_func_host_pf_ids_query_output {
@@ -13033,7 +13033,7 @@ struct hwrm_func_host_pf_ids_query_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*********************
  * hwrm_port_phy_cfg *
@@ -13575,7 +13575,7 @@ struct hwrm_port_phy_cfg_input {
 	#define HWRM_PORT_PHY_CFG_INPUT_TX_LPI_TIMER_MASK UINT32_C(0xffffff)
 	#define HWRM_PORT_PHY_CFG_INPUT_TX_LPI_TIMER_SFT 0
 	uint32_t	unused_3;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_phy_cfg_output (size:128b/16B) */
 struct hwrm_port_phy_cfg_output {
@@ -13596,7 +13596,7 @@ struct hwrm_port_phy_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_phy_cfg_cmd_err (size:64b/8B) */
 struct hwrm_port_phy_cfg_cmd_err {
@@ -13625,7 +13625,7 @@ struct hwrm_port_phy_cfg_cmd_err {
 	#define HWRM_PORT_PHY_CFG_CMD_ERR_CODE_LAST \
 		HWRM_PORT_PHY_CFG_CMD_ERR_CODE_RETRY
 	uint8_t	unused_0[7];
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************
  * hwrm_port_phy_qcfg *
@@ -13665,7 +13665,7 @@ struct hwrm_port_phy_qcfg_input {
 	/* Port ID of port that is to be queried. */
 	uint16_t	port_id;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_phy_qcfg_output (size:768b/96B) */
 struct hwrm_port_phy_qcfg_output {
@@ -14513,7 +14513,7 @@ struct hwrm_port_phy_qcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*********************
  * hwrm_port_mac_cfg *
@@ -14914,7 +14914,7 @@ struct hwrm_port_mac_cfg_input {
 	 */
 	int32_t	ptp_freq_adj_ppb;
 	uint8_t	unused_1[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_mac_cfg_output (size:128b/16B) */
 struct hwrm_port_mac_cfg_output {
@@ -14968,7 +14968,7 @@ struct hwrm_port_mac_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************
  * hwrm_port_mac_qcfg *
@@ -15008,7 +15008,7 @@ struct hwrm_port_mac_qcfg_input {
 	/* Port ID of port that is to be configured. */
 	uint16_t	port_id;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_mac_qcfg_output (size:192b/24B) */
 struct hwrm_port_mac_qcfg_output {
@@ -15258,7 +15258,7 @@ struct hwrm_port_mac_qcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**************************
  * hwrm_port_mac_ptp_qcfg *
@@ -15298,7 +15298,7 @@ struct hwrm_port_mac_ptp_qcfg_input {
 	/* Port ID of port that is being queried. */
 	uint16_t	port_id;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_mac_ptp_qcfg_output (size:640b/80B) */
 struct hwrm_port_mac_ptp_qcfg_output {
@@ -15373,7 +15373,7 @@ struct hwrm_port_mac_ptp_qcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /* Port Tx Statistics Formats */
 /* tx_port_stats (size:3264b/408B) */
@@ -15514,7 +15514,7 @@ struct tx_port_stats {
 	uint64_t	tx_stat_discard;
 	/* Total Tx Error Drops per Port reported by STATS block */
 	uint64_t	tx_stat_error;
-} __attribute__((packed));
+} __rte_packed;
 
 /* Port Rx Statistics Formats */
 /* rx_port_stats (size:4224b/528B) */
@@ -15729,7 +15729,7 @@ struct rx_port_stats {
 	/* Total Rx Discards per Port reported by STATS block */
 	uint64_t	rx_stat_discard;
 	uint64_t	rx_stat_err;
-} __attribute__((packed));
+} __rte_packed;
 
 /********************
  * hwrm_port_qstats *
@@ -15779,7 +15779,7 @@ struct hwrm_port_qstats_input {
 	 * Rx port statistics will be stored
 	 */
 	uint64_t	rx_stat_host_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_qstats_output (size:128b/16B) */
 struct hwrm_port_qstats_output {
@@ -15804,7 +15804,7 @@ struct hwrm_port_qstats_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /* Port Tx Statistics extended Formats */
 /* tx_port_stats_ext (size:2048b/256B) */
@@ -15873,7 +15873,7 @@ struct tx_port_stats_ext {
 	uint64_t	pfc_pri7_tx_duration_us;
 	/* Number of times, a XON -> XOFF and XOFF -> XON transitions occur for priority 7 */
 	uint64_t	pfc_pri7_tx_transitions;
-} __attribute__((packed));
+} __rte_packed;
 
 /* Port Rx Statistics extended Formats */
 /* rx_port_stats_ext (size:3648b/456B) */
@@ -15995,7 +15995,7 @@ struct rx_port_stats_ext {
 	uint64_t	rx_discard_packets_cos6;
 	/* Total number of rx discard packets count on cos queue 7 */
 	uint64_t	rx_discard_packets_cos7;
-} __attribute__((packed));
+} __rte_packed;
 
 /************************
  * hwrm_port_qstats_ext *
@@ -16055,7 +16055,7 @@ struct hwrm_port_qstats_ext_input {
 	 * Rx port statistics will be stored
 	 */
 	uint64_t	rx_stat_host_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_qstats_ext_output (size:128b/16B) */
 struct hwrm_port_qstats_ext_output {
@@ -16088,7 +16088,7 @@ struct hwrm_port_qstats_ext_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*************************
  * hwrm_port_lpbk_qstats *
@@ -16125,7 +16125,7 @@ struct hwrm_port_lpbk_qstats_input {
 	 * point to a physically contiguous block of memory.
 	 */
 	uint64_t	resp_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_lpbk_qstats_output (size:768b/96B) */
 struct hwrm_port_lpbk_qstats_output {
@@ -16166,7 +16166,7 @@ struct hwrm_port_lpbk_qstats_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***********************
  * hwrm_port_clr_stats *
@@ -16217,7 +16217,7 @@ struct hwrm_port_clr_stats_input {
 	 */
 	#define HWRM_PORT_CLR_STATS_INPUT_FLAGS_ROCE_COUNTERS     UINT32_C(0x1)
 	uint8_t	unused_0[5];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_clr_stats_output (size:128b/16B) */
 struct hwrm_port_clr_stats_output {
@@ -16238,7 +16238,7 @@ struct hwrm_port_clr_stats_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***********************
  * hwrm_port_phy_qcaps *
@@ -16278,7 +16278,7 @@ struct hwrm_port_phy_qcaps_input {
 	/* Port ID of port that is being queried. */
 	uint16_t	port_id;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_phy_qcaps_output (size:192b/24B) */
 struct hwrm_port_phy_qcaps_output {
@@ -16508,7 +16508,7 @@ struct hwrm_port_phy_qcaps_output {
 	#define HWRM_PORT_PHY_QCAPS_OUTPUT_VALID_MASK \
 		UINT32_C(0xff000000)
 	#define HWRM_PORT_PHY_QCAPS_OUTPUT_VALID_SFT             24
-} __attribute__((packed));
+} __rte_packed;
 
 /****************************
  * hwrm_port_phy_mdio_write *
@@ -16564,7 +16564,7 @@ struct hwrm_port_phy_mdio_write_input {
 	uint8_t	cl45_mdio;
 	/*  */
 	uint8_t	unused_1[7];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_phy_mdio_write_output (size:128b/16B) */
 struct hwrm_port_phy_mdio_write_output {
@@ -16585,7 +16585,7 @@ struct hwrm_port_phy_mdio_write_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***************************
  * hwrm_port_phy_mdio_read *
@@ -16639,7 +16639,7 @@ struct hwrm_port_phy_mdio_read_input {
 	uint8_t	cl45_mdio;
 	/*  */
 	uint8_t	unused_1;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_phy_mdio_read_output (size:128b/16B) */
 struct hwrm_port_phy_mdio_read_output {
@@ -16662,7 +16662,7 @@ struct hwrm_port_phy_mdio_read_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*********************
  * hwrm_port_led_cfg *
@@ -17065,7 +17065,7 @@ struct hwrm_port_led_cfg_input {
 	uint8_t	led3_group_id;
 	/* Reserved field. */
 	uint8_t	rsvd3;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_led_cfg_output (size:128b/16B) */
 struct hwrm_port_led_cfg_output {
@@ -17086,7 +17086,7 @@ struct hwrm_port_led_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************
  * hwrm_port_led_qcfg *
@@ -17126,7 +17126,7 @@ struct hwrm_port_led_qcfg_input {
 	/* Port ID of port whose LED configuration is being queried. */
 	uint16_t	port_id;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_led_qcfg_output (size:448b/56B) */
 struct hwrm_port_led_qcfg_output {
@@ -17392,7 +17392,7 @@ struct hwrm_port_led_qcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***********************
  * hwrm_port_led_qcaps *
@@ -17432,7 +17432,7 @@ struct hwrm_port_led_qcaps_input {
 	/* Port ID of port whose LED configuration is being queried. */
 	uint16_t	port_id;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_led_qcaps_output (size:384b/48B) */
 struct hwrm_port_led_qcaps_output {
@@ -17744,7 +17744,7 @@ struct hwrm_port_led_qcaps_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***********************
  * hwrm_port_prbs_test *
@@ -17851,7 +17851,7 @@ struct hwrm_port_prbs_test_input {
 	 * bit1 = lane1 ..bit31 = lane31
 	 */
 	uint32_t	rx_lane_map;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_prbs_test_output (size:128b/16B) */
 struct hwrm_port_prbs_test_output {
@@ -17875,7 +17875,7 @@ struct hwrm_port_prbs_test_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************
  * hwrm_port_dsc_dump *
@@ -17983,7 +17983,7 @@ struct hwrm_port_dsc_dump_input {
 	 */
 	#define HWRM_PORT_DSC_DUMP_INPUT_DSC_DUMP_CONFIG_START_RETRIEVE \
 		UINT32_C(0x1)
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_dsc_dump_output (size:128b/16B) */
 struct hwrm_port_dsc_dump_output {
@@ -18007,7 +18007,7 @@ struct hwrm_port_dsc_dump_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /******************************
  * hwrm_port_sfp_sideband_cfg *
@@ -18127,7 +18127,7 @@ struct hwrm_port_sfp_sideband_cfg_input {
 	/* When this bit is set to '1', the module will be powered down. */
 	#define HWRM_PORT_SFP_SIDEBAND_CFG_INPUT_FLAGS_PWR_DIS \
 		UINT32_C(0x40)
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_sfp_sideband_cfg_output (size:128b/16B) */
 struct hwrm_port_sfp_sideband_cfg_output {
@@ -18148,7 +18148,7 @@ struct hwrm_port_sfp_sideband_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*******************************
  * hwrm_port_sfp_sideband_qcfg *
@@ -18188,7 +18188,7 @@ struct hwrm_port_sfp_sideband_qcfg_input {
 	/* Port ID of port that is to be queried. */
 	uint16_t	port_id;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_sfp_sideband_qcfg_output (size:192b/24B) */
 struct hwrm_port_sfp_sideband_qcfg_output {
@@ -18271,7 +18271,7 @@ struct hwrm_port_sfp_sideband_qcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************************
  * hwrm_port_phy_mdio_bus_acquire *
@@ -18326,7 +18326,7 @@ struct hwrm_port_phy_mdio_bus_acquire_input {
 	 */
 	uint16_t	mdio_bus_timeout;
 	uint8_t	unused_0[2];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_phy_mdio_bus_acquire_output (size:128b/16B) */
 struct hwrm_port_phy_mdio_bus_acquire_output {
@@ -18353,7 +18353,7 @@ struct hwrm_port_phy_mdio_bus_acquire_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************************
  * hwrm_port_phy_mdio_bus_release *
@@ -18398,7 +18398,7 @@ struct hwrm_port_phy_mdio_bus_release_input {
 	 */
 	uint16_t	client_id;
 	uint8_t	unused_0[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_phy_mdio_bus_release_output (size:128b/16B) */
 struct hwrm_port_phy_mdio_bus_release_output {
@@ -18422,7 +18422,7 @@ struct hwrm_port_phy_mdio_bus_release_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***********************
  * hwrm_queue_qportcfg *
@@ -18489,7 +18489,7 @@ struct hwrm_queue_qportcfg_input {
 	#define HWRM_QUEUE_QPORTCFG_INPUT_DRV_QMAP_CAP_LAST \
 		HWRM_QUEUE_QPORTCFG_INPUT_DRV_QMAP_CAP_ENABLED
 	uint8_t	unused_0;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_queue_qportcfg_output (size:256b/32B) */
 struct hwrm_queue_qportcfg_output {
@@ -18875,7 +18875,7 @@ struct hwrm_queue_qportcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*******************
  * hwrm_queue_qcfg *
@@ -18927,7 +18927,7 @@ struct hwrm_queue_qcfg_input {
 		HWRM_QUEUE_QCFG_INPUT_FLAGS_PATH_RX
 	/* Queue ID of the queue. */
 	uint32_t	queue_id;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_queue_qcfg_output (size:128b/16B) */
 struct hwrm_queue_qcfg_output {
@@ -18973,7 +18973,7 @@ struct hwrm_queue_qcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /******************
  * hwrm_queue_cfg *
@@ -19056,7 +19056,7 @@ struct hwrm_queue_cfg_input {
 	#define HWRM_QUEUE_CFG_INPUT_SERVICE_PROFILE_LAST \
 		HWRM_QUEUE_CFG_INPUT_SERVICE_PROFILE_UNKNOWN
 	uint8_t	unused_0[7];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_queue_cfg_output (size:128b/16B) */
 struct hwrm_queue_cfg_output {
@@ -19077,7 +19077,7 @@ struct hwrm_queue_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*****************************
  * hwrm_queue_pfcenable_qcfg *
@@ -19121,7 +19121,7 @@ struct hwrm_queue_pfcenable_qcfg_input {
 	 */
 	uint16_t	port_id;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_queue_pfcenable_qcfg_output (size:128b/16B) */
 struct hwrm_queue_pfcenable_qcfg_output {
@@ -19167,7 +19167,7 @@ struct hwrm_queue_pfcenable_qcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /****************************
  * hwrm_queue_pfcenable_cfg *
@@ -19236,7 +19236,7 @@ struct hwrm_queue_pfcenable_cfg_input {
 	 */
 	uint16_t	port_id;
 	uint8_t	unused_0[2];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_queue_pfcenable_cfg_output (size:128b/16B) */
 struct hwrm_queue_pfcenable_cfg_output {
@@ -19257,7 +19257,7 @@ struct hwrm_queue_pfcenable_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***************************
  * hwrm_queue_pri2cos_qcfg *
@@ -19321,7 +19321,7 @@ struct hwrm_queue_pri2cos_qcfg_input {
 	 */
 	uint8_t	port_id;
 	uint8_t	unused_0[3];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_queue_pri2cos_qcfg_output (size:192b/24B) */
 struct hwrm_queue_pri2cos_qcfg_output {
@@ -19408,7 +19408,7 @@ struct hwrm_queue_pri2cos_qcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**************************
  * hwrm_queue_pri2cos_cfg *
@@ -19564,7 +19564,7 @@ struct hwrm_queue_pri2cos_cfg_input {
 	 */
 	uint8_t	pri7_cos_queue_id;
 	uint8_t	unused_0[7];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_queue_pri2cos_cfg_output (size:128b/16B) */
 struct hwrm_queue_pri2cos_cfg_output {
@@ -19585,7 +19585,7 @@ struct hwrm_queue_pri2cos_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**************************
  * hwrm_queue_cos2bw_qcfg *
@@ -19629,7 +19629,7 @@ struct hwrm_queue_cos2bw_qcfg_input {
 	 */
 	uint16_t	port_id;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_queue_cos2bw_qcfg_output (size:896b/112B) */
 struct hwrm_queue_cos2bw_qcfg_output {
@@ -20628,7 +20628,7 @@ struct hwrm_queue_cos2bw_qcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*************************
  * hwrm_queue_cos2bw_cfg *
@@ -21699,7 +21699,7 @@ struct hwrm_queue_cos2bw_cfg_input {
 	 */
 	uint8_t	queue_id7_bw_weight;
 	uint8_t	unused_1[5];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_queue_cos2bw_cfg_output (size:128b/16B) */
 struct hwrm_queue_cos2bw_cfg_output {
@@ -21720,7 +21720,7 @@ struct hwrm_queue_cos2bw_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*************************
  * hwrm_queue_dscp_qcaps *
@@ -21764,7 +21764,7 @@ struct hwrm_queue_dscp_qcaps_input {
 	 */
 	uint8_t	port_id;
 	uint8_t	unused_0[7];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_queue_dscp_qcaps_output (size:128b/16B) */
 struct hwrm_queue_dscp_qcaps_output {
@@ -21790,7 +21790,7 @@ struct hwrm_queue_dscp_qcaps_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /****************************
  * hwrm_queue_dscp2pri_qcfg *
@@ -21842,7 +21842,7 @@ struct hwrm_queue_dscp2pri_qcfg_input {
 	/* Size of the buffer pointed to by dest_data_addr. */
 	uint16_t	dest_data_buffer_size;
 	uint8_t	unused_1[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_queue_dscp2pri_qcfg_output (size:128b/16B) */
 struct hwrm_queue_dscp2pri_qcfg_output {
@@ -21873,7 +21873,7 @@ struct hwrm_queue_dscp2pri_qcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***************************
  * hwrm_queue_dscp2pri_cfg *
@@ -21943,7 +21943,7 @@ struct hwrm_queue_dscp2pri_cfg_input {
 	 */
 	uint16_t	entry_cnt;
 	uint8_t	unused_0[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_queue_dscp2pri_cfg_output (size:128b/16B) */
 struct hwrm_queue_dscp2pri_cfg_output {
@@ -21964,7 +21964,7 @@ struct hwrm_queue_dscp2pri_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*************************
  * hwrm_queue_mpls_qcaps *
@@ -22008,7 +22008,7 @@ struct hwrm_queue_mpls_qcaps_input {
 	 */
 	uint8_t	port_id;
 	uint8_t	unused_0[7];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_queue_mpls_qcaps_output (size:128b/16B) */
 struct hwrm_queue_mpls_qcaps_output {
@@ -22047,7 +22047,7 @@ struct hwrm_queue_mpls_qcaps_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /******************************
  * hwrm_queue_mplstc2pri_qcfg *
@@ -22091,7 +22091,7 @@ struct hwrm_queue_mplstc2pri_qcfg_input {
 	 */
 	uint8_t	port_id;
 	uint8_t	unused_0[7];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_queue_mplstc2pri_qcfg_output (size:192b/24B) */
 struct hwrm_queue_mplstc2pri_qcfg_output {
@@ -22168,7 +22168,7 @@ struct hwrm_queue_mplstc2pri_qcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*****************************
  * hwrm_queue_mplstc2pri_cfg *
@@ -22301,7 +22301,7 @@ struct hwrm_queue_mplstc2pri_cfg_input {
 	 * be changed before traffic has started.
 	 */
 	uint8_t	tc7_pri_queue_id;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_queue_mplstc2pri_cfg_output (size:128b/16B) */
 struct hwrm_queue_mplstc2pri_cfg_output {
@@ -22322,7 +22322,7 @@ struct hwrm_queue_mplstc2pri_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*******************
  * hwrm_vnic_alloc *
@@ -22366,7 +22366,7 @@ struct hwrm_vnic_alloc_input {
 	 */
 	#define HWRM_VNIC_ALLOC_INPUT_FLAGS_DEFAULT     UINT32_C(0x1)
 	uint8_t	unused_0[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_vnic_alloc_output (size:128b/16B) */
 struct hwrm_vnic_alloc_output {
@@ -22389,7 +22389,7 @@ struct hwrm_vnic_alloc_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /******************
  * hwrm_vnic_free *
@@ -22429,7 +22429,7 @@ struct hwrm_vnic_free_input {
 	/* Logical vnic ID */
 	uint32_t	vnic_id;
 	uint8_t	unused_0[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_vnic_free_output (size:128b/16B) */
 struct hwrm_vnic_free_output {
@@ -22450,7 +22450,7 @@ struct hwrm_vnic_free_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*****************
  * hwrm_vnic_cfg *
@@ -22661,7 +22661,7 @@ struct hwrm_vnic_cfg_input {
 	 */
 	uint16_t	queue_id;
 	uint8_t	unused0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_vnic_cfg_output (size:128b/16B) */
 struct hwrm_vnic_cfg_output {
@@ -22682,7 +22682,7 @@ struct hwrm_vnic_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /******************
  * hwrm_vnic_qcfg *
@@ -22730,7 +22730,7 @@ struct hwrm_vnic_qcfg_input {
 	/* ID of Virtual Function whose VNIC resource is being queried. */
 	uint16_t	vf_id;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_vnic_qcfg_output (size:256b/32B) */
 struct hwrm_vnic_qcfg_output {
@@ -22844,7 +22844,7 @@ struct hwrm_vnic_qcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*******************
  * hwrm_vnic_qcaps *
@@ -22883,7 +22883,7 @@ struct hwrm_vnic_qcaps_input {
 	uint64_t	resp_addr;
 	uint32_t	enables;
 	uint8_t	unused_0[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_vnic_qcaps_output (size:192b/24B) */
 struct hwrm_vnic_qcaps_output {
@@ -22987,7 +22987,7 @@ struct hwrm_vnic_qcaps_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*********************
  * hwrm_vnic_tpa_cfg *
@@ -23172,7 +23172,7 @@ struct hwrm_vnic_tpa_cfg_input {
 	 * and can be queried using hwrm_vnic_tpa_qcfg.
 	 */
 	uint32_t	min_agg_len;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_vnic_tpa_cfg_output (size:128b/16B) */
 struct hwrm_vnic_tpa_cfg_output {
@@ -23193,7 +23193,7 @@ struct hwrm_vnic_tpa_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*********************
  * hwrm_vnic_rss_cfg *
@@ -23323,7 +23323,7 @@ struct hwrm_vnic_rss_cfg_input {
 	/* Index to the rss indirection table. */
 	uint16_t	rss_ctx_idx;
 	uint8_t	unused_1[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_vnic_rss_cfg_output (size:128b/16B) */
 struct hwrm_vnic_rss_cfg_output {
@@ -23344,7 +23344,7 @@ struct hwrm_vnic_rss_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_vnic_rss_cfg_cmd_err (size:64b/8B) */
 struct hwrm_vnic_rss_cfg_cmd_err {
@@ -23365,7 +23365,7 @@ struct hwrm_vnic_rss_cfg_cmd_err {
 	#define HWRM_VNIC_RSS_CFG_CMD_ERR_CODE_LAST \
 		HWRM_VNIC_RSS_CFG_CMD_ERR_CODE_INTERFACE_NOT_READY
 	uint8_t	unused_0[7];
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************
  * hwrm_vnic_rss_qcfg *
@@ -23405,7 +23405,7 @@ struct hwrm_vnic_rss_qcfg_input {
 	/* Index to the rss indirection table. */
 	uint16_t	rss_ctx_idx;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_vnic_rss_qcfg_output (size:512b/64B) */
 struct hwrm_vnic_rss_qcfg_output {
@@ -23508,7 +23508,7 @@ struct hwrm_vnic_rss_qcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**************************
  * hwrm_vnic_plcmodes_cfg *
@@ -23651,7 +23651,7 @@ struct hwrm_vnic_plcmodes_cfg_input {
 	 */
 	uint16_t	hds_threshold;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_vnic_plcmodes_cfg_output (size:128b/16B) */
 struct hwrm_vnic_plcmodes_cfg_output {
@@ -23672,7 +23672,7 @@ struct hwrm_vnic_plcmodes_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***************************
  * hwrm_vnic_plcmodes_qcfg *
@@ -23712,7 +23712,7 @@ struct hwrm_vnic_plcmodes_qcfg_input {
 	/* Logical vnic ID */
 	uint32_t	vnic_id;
 	uint8_t	unused_0[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_vnic_plcmodes_qcfg_output (size:192b/24B) */
 struct hwrm_vnic_plcmodes_qcfg_output {
@@ -23801,7 +23801,7 @@ struct hwrm_vnic_plcmodes_qcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************************
  * hwrm_vnic_rss_cos_lb_ctx_alloc *
@@ -23838,7 +23838,7 @@ struct hwrm_vnic_rss_cos_lb_ctx_alloc_input {
 	 * point to a physically contiguous block of memory.
 	 */
 	uint64_t	resp_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_vnic_rss_cos_lb_ctx_alloc_output (size:128b/16B) */
 struct hwrm_vnic_rss_cos_lb_ctx_alloc_output {
@@ -23861,7 +23861,7 @@ struct hwrm_vnic_rss_cos_lb_ctx_alloc_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*********************************
  * hwrm_vnic_rss_cos_lb_ctx_free *
@@ -23901,7 +23901,7 @@ struct hwrm_vnic_rss_cos_lb_ctx_free_input {
 	/* rss_cos_lb_ctx_id is 16 b */
 	uint16_t	rss_cos_lb_ctx_id;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_vnic_rss_cos_lb_ctx_free_output (size:128b/16B) */
 struct hwrm_vnic_rss_cos_lb_ctx_free_output {
@@ -23922,7 +23922,7 @@ struct hwrm_vnic_rss_cos_lb_ctx_free_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*******************
  * hwrm_ring_alloc *
@@ -24235,7 +24235,7 @@ struct hwrm_ring_alloc_input {
 	 * record.
 	 */
 	uint64_t	cq_handle;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_ring_alloc_output (size:128b/16B) */
 struct hwrm_ring_alloc_output {
@@ -24263,7 +24263,7 @@ struct hwrm_ring_alloc_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /******************
  * hwrm_ring_free *
@@ -24320,7 +24320,7 @@ struct hwrm_ring_free_input {
 	/* Physical number of ring allocated. */
 	uint16_t	ring_id;
 	uint8_t	unused_1[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_ring_free_output (size:128b/16B) */
 struct hwrm_ring_free_output {
@@ -24341,7 +24341,7 @@ struct hwrm_ring_free_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*******************
  * hwrm_ring_reset *
@@ -24394,7 +24394,7 @@ struct hwrm_ring_reset_input {
 	/* Physical number of the ring. */
 	uint16_t	ring_id;
 	uint8_t	unused_1[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_ring_reset_output (size:128b/16B) */
 struct hwrm_ring_reset_output {
@@ -24417,7 +24417,7 @@ struct hwrm_ring_reset_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**************************
  * hwrm_ring_aggint_qcaps *
@@ -24454,7 +24454,7 @@ struct hwrm_ring_aggint_qcaps_input {
 	 * point to a physically contiguous block of memory.
 	 */
 	uint64_t	resp_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_ring_aggint_qcaps_output (size:384b/48B) */
 struct hwrm_ring_aggint_qcaps_output {
@@ -24567,7 +24567,7 @@ struct hwrm_ring_aggint_qcaps_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**************************************
  * hwrm_ring_cmpl_ring_qaggint_params *
@@ -24607,7 +24607,7 @@ struct hwrm_ring_cmpl_ring_qaggint_params_input {
 	/* Physical number of completion ring. */
 	uint16_t	ring_id;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_ring_cmpl_ring_qaggint_params_output (size:256b/32B) */
 struct hwrm_ring_cmpl_ring_qaggint_params_output {
@@ -24674,7 +24674,7 @@ struct hwrm_ring_cmpl_ring_qaggint_params_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*****************************************
  * hwrm_ring_cmpl_ring_cfg_aggint_params *
@@ -24810,7 +24810,7 @@ struct hwrm_ring_cmpl_ring_cfg_aggint_params_input {
 	#define HWRM_RING_CMPL_RING_CFG_AGGINT_PARAMS_INPUT_ENABLES_NUM_CMPL_AGGR_INT \
 		UINT32_C(0x20)
 	uint8_t	unused_0[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_ring_cmpl_ring_cfg_aggint_params_output (size:128b/16B) */
 struct hwrm_ring_cmpl_ring_cfg_aggint_params_output {
@@ -24831,7 +24831,7 @@ struct hwrm_ring_cmpl_ring_cfg_aggint_params_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***********************
  * hwrm_ring_grp_alloc *
@@ -24889,7 +24889,7 @@ struct hwrm_ring_grp_alloc_input {
 	 * with the ring group.
 	 */
 	uint16_t	sc;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_ring_grp_alloc_output (size:128b/16B) */
 struct hwrm_ring_grp_alloc_output {
@@ -24916,7 +24916,7 @@ struct hwrm_ring_grp_alloc_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************
  * hwrm_ring_grp_free *
@@ -24956,7 +24956,7 @@ struct hwrm_ring_grp_free_input {
 	/* This is the ring group ID value. */
 	uint32_t	ring_group_id;
 	uint8_t	unused_0[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_ring_grp_free_output (size:128b/16B) */
 struct hwrm_ring_grp_free_output {
@@ -24977,7 +24977,7 @@ struct hwrm_ring_grp_free_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 /*
  * special reserved flow ID to identify per function default
  * flows for vSwitch offload
@@ -25409,7 +25409,7 @@ struct hwrm_cfa_l2_filter_alloc_input {
 	 * 2 - Below the given filter
 	 */
 	uint64_t	l2_filter_id_hint;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_l2_filter_alloc_output (size:192b/24B) */
 struct hwrm_cfa_l2_filter_alloc_output {
@@ -25475,7 +25475,7 @@ struct hwrm_cfa_l2_filter_alloc_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***************************
  * hwrm_cfa_l2_filter_free *
@@ -25517,7 +25517,7 @@ struct hwrm_cfa_l2_filter_free_input {
 	 * context.
 	 */
 	uint64_t	l2_filter_id;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_l2_filter_free_output (size:128b/16B) */
 struct hwrm_cfa_l2_filter_free_output {
@@ -25538,7 +25538,7 @@ struct hwrm_cfa_l2_filter_free_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**************************
  * hwrm_cfa_l2_filter_cfg *
@@ -25645,7 +25645,7 @@ struct hwrm_cfa_l2_filter_cfg_input {
 	 * mirrored.
 	 */
 	uint32_t	new_mirror_vnic_id;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_l2_filter_cfg_output (size:128b/16B) */
 struct hwrm_cfa_l2_filter_cfg_output {
@@ -25666,7 +25666,7 @@ struct hwrm_cfa_l2_filter_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***************************
  * hwrm_cfa_l2_set_rx_mask *
@@ -25827,7 +25827,7 @@ struct hwrm_cfa_l2_set_rx_mask_input {
 	 */
 	uint32_t	num_vlan_tags;
 	uint8_t	unused_1[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_l2_set_rx_mask_output (size:128b/16B) */
 struct hwrm_cfa_l2_set_rx_mask_output {
@@ -25848,7 +25848,7 @@ struct hwrm_cfa_l2_set_rx_mask_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_l2_set_rx_mask_cmd_err (size:64b/8B) */
 struct hwrm_cfa_l2_set_rx_mask_cmd_err {
@@ -25866,7 +25866,7 @@ struct hwrm_cfa_l2_set_rx_mask_cmd_err {
 	#define HWRM_CFA_L2_SET_RX_MASK_CMD_ERR_CODE_LAST \
 		HWRM_CFA_L2_SET_RX_MASK_CMD_ERR_CODE_NTUPLE_FILTER_CONFLICT_ERR
 	uint8_t	unused_0[7];
-} __attribute__((packed));
+} __rte_packed;
 
 /*******************************
  * hwrm_cfa_vlan_antispoof_cfg *
@@ -25920,7 +25920,7 @@ struct hwrm_cfa_vlan_antispoof_cfg_input {
 	 * for the 12-bit VLAN ID.
 	 */
 	uint64_t	vlan_tag_mask_tbl_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_vlan_antispoof_cfg_output (size:128b/16B) */
 struct hwrm_cfa_vlan_antispoof_cfg_output {
@@ -25941,7 +25941,7 @@ struct hwrm_cfa_vlan_antispoof_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /********************************
  * hwrm_cfa_vlan_antispoof_qcfg *
@@ -25998,7 +25998,7 @@ struct hwrm_cfa_vlan_antispoof_qcfg_input {
 	 * the mask value should be 0xfff for the 12-bit VLAN ID.
 	 */
 	uint64_t	vlan_tag_mask_tbl_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_vlan_antispoof_qcfg_output (size:128b/16B) */
 struct hwrm_cfa_vlan_antispoof_qcfg_output {
@@ -26021,7 +26021,7 @@ struct hwrm_cfa_vlan_antispoof_qcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /********************************
  * hwrm_cfa_tunnel_filter_alloc *
@@ -26268,7 +26268,7 @@ struct hwrm_cfa_tunnel_filter_alloc_input {
 	 * mirrored.
 	 */
 	uint32_t	mirror_vnic_id;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_tunnel_filter_alloc_output (size:192b/24B) */
 struct hwrm_cfa_tunnel_filter_alloc_output {
@@ -26331,7 +26331,7 @@ struct hwrm_cfa_tunnel_filter_alloc_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*******************************
  * hwrm_cfa_tunnel_filter_free *
@@ -26370,7 +26370,7 @@ struct hwrm_cfa_tunnel_filter_free_input {
 	uint64_t	resp_addr;
 	/* This value is an opaque id into CFA data structures. */
 	uint64_t	tunnel_filter_id;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_tunnel_filter_free_output (size:128b/16B) */
 struct hwrm_cfa_tunnel_filter_free_output {
@@ -26391,7 +26391,7 @@ struct hwrm_cfa_tunnel_filter_free_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***************************************
  * hwrm_cfa_redirect_tunnel_type_alloc *
@@ -26482,7 +26482,7 @@ struct hwrm_cfa_redirect_tunnel_type_alloc_input {
 	#define HWRM_CFA_REDIRECT_TUNNEL_TYPE_ALLOC_INPUT_FLAGS_MODIFY_DST \
 		UINT32_C(0x1)
 	uint8_t	unused_0[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_redirect_tunnel_type_alloc_output (size:128b/16B) */
 struct hwrm_cfa_redirect_tunnel_type_alloc_output {
@@ -26503,7 +26503,7 @@ struct hwrm_cfa_redirect_tunnel_type_alloc_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**************************************
  * hwrm_cfa_redirect_tunnel_type_free *
@@ -26589,7 +26589,7 @@ struct hwrm_cfa_redirect_tunnel_type_free_input {
 	#define HWRM_CFA_REDIRECT_TUNNEL_TYPE_FREE_INPUT_TUNNEL_TYPE_LAST \
 		HWRM_CFA_REDIRECT_TUNNEL_TYPE_FREE_INPUT_TUNNEL_TYPE_ANYTUNNEL
 	uint8_t	unused_0[5];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_redirect_tunnel_type_free_output (size:128b/16B) */
 struct hwrm_cfa_redirect_tunnel_type_free_output {
@@ -26610,7 +26610,7 @@ struct hwrm_cfa_redirect_tunnel_type_free_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**************************************
  * hwrm_cfa_redirect_tunnel_type_info *
@@ -26696,7 +26696,7 @@ struct hwrm_cfa_redirect_tunnel_type_info_input {
 	#define HWRM_CFA_REDIRECT_TUNNEL_TYPE_INFO_INPUT_TUNNEL_TYPE_LAST \
 		HWRM_CFA_REDIRECT_TUNNEL_TYPE_INFO_INPUT_TUNNEL_TYPE_ANYTUNNEL
 	uint8_t	unused_0[5];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_redirect_tunnel_type_info_output (size:128b/16B) */
 struct hwrm_cfa_redirect_tunnel_type_info_output {
@@ -26719,7 +26719,7 @@ struct hwrm_cfa_redirect_tunnel_type_info_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_vxlan_ipv4_hdr (size:128b/16B) */
 struct hwrm_vxlan_ipv4_hdr {
@@ -26745,7 +26745,7 @@ struct hwrm_vxlan_ipv4_hdr {
 	uint32_t	src_ip_addr;
 	/* IPv4 destination address. */
 	uint32_t	dest_ip_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_vxlan_ipv6_hdr (size:320b/40B) */
 struct hwrm_vxlan_ipv6_hdr {
@@ -26781,7 +26781,7 @@ struct hwrm_vxlan_ipv6_hdr {
 	uint32_t	src_ip_addr[4];
 	/* IPv6 destination address. */
 	uint32_t	dest_ip_addr[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_encap_data_vxlan (size:640b/80B) */
 struct hwrm_cfa_encap_data_vxlan {
@@ -26826,7 +26826,7 @@ struct hwrm_cfa_encap_data_vxlan {
 	/* VXLAN header flags field. */
 	uint8_t	hdr_flags;
 	uint8_t	unused[3];
-} __attribute__((packed));
+} __rte_packed;
 
 /*******************************
  * hwrm_cfa_encap_record_alloc *
@@ -26917,7 +26917,7 @@ struct hwrm_cfa_encap_record_alloc_input {
 	uint8_t	unused_0[3];
 	/* This value is encap data used for the given encap type. */
 	uint32_t	encap_data[20];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_encap_record_alloc_output (size:128b/16B) */
 struct hwrm_cfa_encap_record_alloc_output {
@@ -26940,7 +26940,7 @@ struct hwrm_cfa_encap_record_alloc_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /******************************
  * hwrm_cfa_encap_record_free *
@@ -26980,7 +26980,7 @@ struct hwrm_cfa_encap_record_free_input {
 	/* This value is an opaque id into CFA data structures. */
 	uint32_t	encap_record_id;
 	uint8_t	unused_0[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_encap_record_free_output (size:128b/16B) */
 struct hwrm_cfa_encap_record_free_output {
@@ -27001,7 +27001,7 @@ struct hwrm_cfa_encap_record_free_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /********************************
  * hwrm_cfa_ntuple_filter_alloc *
@@ -27376,7 +27376,7 @@ struct hwrm_cfa_ntuple_filter_alloc_input {
 	 * the pri_hint.
 	 */
 	uint64_t	ntuple_filter_id_hint;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_ntuple_filter_alloc_output (size:192b/24B) */
 struct hwrm_cfa_ntuple_filter_alloc_output {
@@ -27439,7 +27439,7 @@ struct hwrm_cfa_ntuple_filter_alloc_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_ntuple_filter_alloc_cmd_err (size:64b/8B) */
 struct hwrm_cfa_ntuple_filter_alloc_cmd_err {
@@ -27457,7 +27457,7 @@ struct hwrm_cfa_ntuple_filter_alloc_cmd_err {
 	#define HWRM_CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_LAST \
 		HWRM_CFA_NTUPLE_FILTER_ALLOC_CMD_ERR_CODE_RX_MASK_VLAN_CONFLICT_ERR
 	uint8_t	unused_0[7];
-} __attribute__((packed));
+} __rte_packed;
 
 /*******************************
  * hwrm_cfa_ntuple_filter_free *
@@ -27496,7 +27496,7 @@ struct hwrm_cfa_ntuple_filter_free_input {
 	uint64_t	resp_addr;
 	/* This value is an opaque id into CFA data structures. */
 	uint64_t	ntuple_filter_id;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_ntuple_filter_free_output (size:128b/16B) */
 struct hwrm_cfa_ntuple_filter_free_output {
@@ -27517,7 +27517,7 @@ struct hwrm_cfa_ntuple_filter_free_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /******************************
  * hwrm_cfa_ntuple_filter_cfg *
@@ -27617,7 +27617,7 @@ struct hwrm_cfa_ntuple_filter_cfg_input {
 	#define HWRM_CFA_NTUPLE_FILTER_CFG_INPUT_NEW_METER_INSTANCE_ID_LAST \
 		HWRM_CFA_NTUPLE_FILTER_CFG_INPUT_NEW_METER_INSTANCE_ID_INVALID
 	uint8_t	unused_1[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_ntuple_filter_cfg_output (size:128b/16B) */
 struct hwrm_cfa_ntuple_filter_cfg_output {
@@ -27638,7 +27638,7 @@ struct hwrm_cfa_ntuple_filter_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**************************
  * hwrm_cfa_em_flow_alloc *
@@ -27981,7 +27981,7 @@ struct hwrm_cfa_em_flow_alloc_input {
 	/* Logical ID of the encapsulation record. */
 	uint32_t	encap_record_id;
 	uint8_t	unused_2[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_em_flow_alloc_output (size:192b/24B) */
 struct hwrm_cfa_em_flow_alloc_output {
@@ -28044,7 +28044,7 @@ struct hwrm_cfa_em_flow_alloc_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*************************
  * hwrm_cfa_em_flow_free *
@@ -28083,7 +28083,7 @@ struct hwrm_cfa_em_flow_free_input {
 	uint64_t	resp_addr;
 	/* This value is an opaque id into CFA data structures. */
 	uint64_t	em_filter_id;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_em_flow_free_output (size:128b/16B) */
 struct hwrm_cfa_em_flow_free_output {
@@ -28104,7 +28104,7 @@ struct hwrm_cfa_em_flow_free_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /************************
  * hwrm_cfa_meter_qcaps *
@@ -28141,7 +28141,7 @@ struct hwrm_cfa_meter_qcaps_input {
 	 * point to a physically contiguous block of memory.
 	 */
 	uint64_t	resp_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_meter_qcaps_output (size:320b/40B) */
 struct hwrm_cfa_meter_qcaps_output {
@@ -28217,7 +28217,7 @@ struct hwrm_cfa_meter_qcaps_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /********************************
  * hwrm_cfa_meter_profile_alloc *
@@ -28464,7 +28464,7 @@ struct hwrm_cfa_meter_profile_alloc_input {
 		(UINT32_C(0x7) << 29)
 	#define HWRM_CFA_METER_PROFILE_ALLOC_INPUT_EXCESS_PEAK_BURST_BW_VALUE_UNIT_LAST \
 		HWRM_CFA_METER_PROFILE_ALLOC_INPUT_EXCESS_PEAK_BURST_BW_VALUE_UNIT_INVALID
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_meter_profile_alloc_output (size:128b/16B) */
 struct hwrm_cfa_meter_profile_alloc_output {
@@ -28495,7 +28495,7 @@ struct hwrm_cfa_meter_profile_alloc_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*******************************
  * hwrm_cfa_meter_profile_free *
@@ -28559,7 +28559,7 @@ struct hwrm_cfa_meter_profile_free_input {
 	#define HWRM_CFA_METER_PROFILE_FREE_INPUT_METER_PROFILE_ID_LAST \
 		HWRM_CFA_METER_PROFILE_FREE_INPUT_METER_PROFILE_ID_INVALID
 	uint8_t	unused_1[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_meter_profile_free_output (size:128b/16B) */
 struct hwrm_cfa_meter_profile_free_output {
@@ -28580,7 +28580,7 @@ struct hwrm_cfa_meter_profile_free_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /******************************
  * hwrm_cfa_meter_profile_cfg *
@@ -28830,7 +28830,7 @@ struct hwrm_cfa_meter_profile_cfg_input {
 		(UINT32_C(0x7) << 29)
 	#define HWRM_CFA_METER_PROFILE_CFG_INPUT_EXCESS_PEAK_BURST_BW_VALUE_UNIT_LAST \
 		HWRM_CFA_METER_PROFILE_CFG_INPUT_EXCESS_PEAK_BURST_BW_VALUE_UNIT_INVALID
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_meter_profile_cfg_output (size:128b/16B) */
 struct hwrm_cfa_meter_profile_cfg_output {
@@ -28851,7 +28851,7 @@ struct hwrm_cfa_meter_profile_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*********************************
  * hwrm_cfa_meter_instance_alloc *
@@ -28916,7 +28916,7 @@ struct hwrm_cfa_meter_instance_alloc_input {
 	#define HWRM_CFA_METER_INSTANCE_ALLOC_INPUT_METER_PROFILE_ID_LAST \
 		HWRM_CFA_METER_INSTANCE_ALLOC_INPUT_METER_PROFILE_ID_INVALID
 	uint8_t	unused_1[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_meter_instance_alloc_output (size:128b/16B) */
 struct hwrm_cfa_meter_instance_alloc_output {
@@ -28947,7 +28947,7 @@ struct hwrm_cfa_meter_instance_alloc_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*******************************
  * hwrm_cfa_meter_instance_cfg *
@@ -29019,7 +29019,7 @@ struct hwrm_cfa_meter_instance_cfg_input {
 	 */
 	uint16_t	meter_instance_id;
 	uint8_t	unused_1[2];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_meter_instance_cfg_output (size:128b/16B) */
 struct hwrm_cfa_meter_instance_cfg_output {
@@ -29040,7 +29040,7 @@ struct hwrm_cfa_meter_instance_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /********************************
  * hwrm_cfa_meter_instance_free *
@@ -29104,7 +29104,7 @@ struct hwrm_cfa_meter_instance_free_input {
 	#define HWRM_CFA_METER_INSTANCE_FREE_INPUT_METER_INSTANCE_ID_LAST \
 		HWRM_CFA_METER_INSTANCE_FREE_INPUT_METER_INSTANCE_ID_INVALID
 	uint8_t	unused_1[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_meter_instance_free_output (size:128b/16B) */
 struct hwrm_cfa_meter_instance_free_output {
@@ -29125,7 +29125,7 @@ struct hwrm_cfa_meter_instance_free_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*******************************
  * hwrm_cfa_decap_filter_alloc *
@@ -29427,7 +29427,7 @@ struct hwrm_cfa_decap_filter_alloc_input {
 	 * information of the decap filter.
 	 */
 	uint16_t	l2_ctxt_ref_id;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_decap_filter_alloc_output (size:128b/16B) */
 struct hwrm_cfa_decap_filter_alloc_output {
@@ -29450,7 +29450,7 @@ struct hwrm_cfa_decap_filter_alloc_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /******************************
  * hwrm_cfa_decap_filter_free *
@@ -29490,7 +29490,7 @@ struct hwrm_cfa_decap_filter_free_input {
 	/* This value is an opaque id into CFA data structures. */
 	uint32_t	decap_filter_id;
 	uint8_t	unused_0[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_decap_filter_free_output (size:128b/16B) */
 struct hwrm_cfa_decap_filter_free_output {
@@ -29511,7 +29511,7 @@ struct hwrm_cfa_decap_filter_free_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***********************
  * hwrm_cfa_flow_alloc *
@@ -29793,7 +29793,7 @@ struct hwrm_cfa_flow_alloc_input {
 		UINT32_C(0xff)
 	#define HWRM_CFA_FLOW_ALLOC_INPUT_TUNNEL_TYPE_LAST \
 		HWRM_CFA_FLOW_ALLOC_INPUT_TUNNEL_TYPE_ANYTUNNEL
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_flow_alloc_output (size:256b/32B) */
 struct hwrm_cfa_flow_alloc_output {
@@ -29860,7 +29860,7 @@ struct hwrm_cfa_flow_alloc_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_flow_alloc_cmd_err (size:64b/8B) */
 struct hwrm_cfa_flow_alloc_cmd_err {
@@ -29888,7 +29888,7 @@ struct hwrm_cfa_flow_alloc_cmd_err {
 	#define HWRM_CFA_FLOW_ALLOC_CMD_ERR_CODE_LAST \
 		HWRM_CFA_FLOW_ALLOC_CMD_ERR_CODE_FLOW_CTXT_DB
 	uint8_t	unused_0[7];
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************
  * hwrm_cfa_flow_free *
@@ -29932,7 +29932,7 @@ struct hwrm_cfa_flow_free_input {
 	uint32_t	flow_counter_id;
 	/* This value identifies a set of CFA data structures used for a flow. */
 	uint64_t	ext_flow_handle;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_flow_free_output (size:256b/32B) */
 struct hwrm_cfa_flow_free_output {
@@ -29957,7 +29957,7 @@ struct hwrm_cfa_flow_free_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_flow_action_data (size:960b/120B) */
 struct hwrm_cfa_flow_action_data {
@@ -30038,7 +30038,7 @@ struct hwrm_cfa_flow_action_data {
 	uint8_t	unused[7];
 	/* This value is encap data for the associated encap type. */
 	uint32_t	encap_data[20];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_flow_tunnel_hdr_data (size:64b/8B) */
 struct hwrm_cfa_flow_tunnel_hdr_data {
@@ -30094,7 +30094,7 @@ struct hwrm_cfa_flow_tunnel_hdr_data {
 	 * Virtual Network Identifier (VNI).
 	 */
 	uint32_t	tunnel_id;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_flow_l4_key_data (size:64b/8B) */
 struct hwrm_cfa_flow_l4_key_data {
@@ -30103,7 +30103,7 @@ struct hwrm_cfa_flow_l4_key_data {
 	/* The value of destination port. */
 	uint16_t	l4_dst_port;
 	uint32_t	unused;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_flow_l3_key_data (size:512b/64B) */
 struct hwrm_cfa_flow_l3_key_data {
@@ -30117,7 +30117,7 @@ struct hwrm_cfa_flow_l3_key_data {
 	/* NAT IPv4/IPv6 address. */
 	uint32_t	nat_ip_address[4];
 	uint32_t	unused[2];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_flow_l2_key_data (size:448b/56B) */
 struct hwrm_cfa_flow_l2_key_data {
@@ -30150,7 +30150,7 @@ struct hwrm_cfa_flow_l2_key_data {
 	/* Inner VLAN TCI. */
 	uint16_t	ivlan_tci;
 	uint8_t	unused[8];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_flow_key_data (size:4160b/520B) */
 struct hwrm_cfa_flow_key_data {
@@ -30180,7 +30180,7 @@ struct hwrm_cfa_flow_key_data {
 	uint32_t	l4_key_data[2];
 	/* Flow associated L4 header mask info. */
 	uint32_t	l4_key_mask[2];
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************
  * hwrm_cfa_flow_info *
@@ -30238,7 +30238,7 @@ struct hwrm_cfa_flow_info_input {
 	uint8_t	unused_0[6];
 	/* This value identifies a set of CFA data structures used for a flow. */
 	uint64_t	ext_flow_handle;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_flow_info_output (size:5632b/704B) */
 struct hwrm_cfa_flow_info_output {
@@ -30291,7 +30291,7 @@ struct hwrm_cfa_flow_info_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***********************
  * hwrm_cfa_flow_flush *
@@ -30404,7 +30404,7 @@ struct hwrm_cfa_flow_flush_input {
 	uint16_t	num_flows;
 	/* Pointer to the PBL, or PDL depending on number of levels */
 	uint64_t	page_dir;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_flow_flush_output (size:128b/16B) */
 struct hwrm_cfa_flow_flush_output {
@@ -30425,7 +30425,7 @@ struct hwrm_cfa_flow_flush_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***********************
  * hwrm_cfa_flow_stats *
@@ -30505,7 +30505,7 @@ struct hwrm_cfa_flow_stats_input {
 	uint32_t	flow_id_8;
 	/* Flow ID of a flow. */
 	uint32_t	flow_id_9;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_flow_stats_output (size:1408b/176B) */
 struct hwrm_cfa_flow_stats_output {
@@ -30566,7 +30566,7 @@ struct hwrm_cfa_flow_stats_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***********************************
  * hwrm_cfa_flow_aging_timer_reset *
@@ -30613,7 +30613,7 @@ struct hwrm_cfa_flow_aging_timer_reset_input {
 	uint32_t	flow_timer;
 	/* This value identifies a set of CFA data structures used for a flow. */
 	uint64_t	ext_flow_handle;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_flow_aging_timer_reset_output (size:128b/16B) */
 struct hwrm_cfa_flow_aging_timer_reset_output {
@@ -30634,7 +30634,7 @@ struct hwrm_cfa_flow_aging_timer_reset_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***************************
  * hwrm_cfa_flow_aging_cfg *
@@ -30738,7 +30738,7 @@ struct hwrm_cfa_flow_aging_cfg_input {
 	#define HWRM_CFA_FLOW_AGING_CFG_INPUT_EEM_CTX_MEM_TYPE_LAST \
 		HWRM_CFA_FLOW_AGING_CFG_INPUT_EEM_CTX_MEM_TYPE_EJECTION_DATA
 	uint8_t	unused_1[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_flow_aging_cfg_output (size:128b/16B) */
 struct hwrm_cfa_flow_aging_cfg_output {
@@ -30759,7 +30759,7 @@ struct hwrm_cfa_flow_aging_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /****************************
  * hwrm_cfa_flow_aging_qcfg *
@@ -30807,7 +30807,7 @@ struct hwrm_cfa_flow_aging_qcfg_input {
 	#define HWRM_CFA_FLOW_AGING_QCFG_INPUT_FLAGS_PATH_LAST \
 		HWRM_CFA_FLOW_AGING_QCFG_INPUT_FLAGS_PATH_RX
 	uint8_t	unused_0[7];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_flow_aging_qcfg_output (size:320b/40B) */
 struct hwrm_cfa_flow_aging_qcfg_output {
@@ -30844,7 +30844,7 @@ struct hwrm_cfa_flow_aging_qcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*****************************
  * hwrm_cfa_flow_aging_qcaps *
@@ -30892,7 +30892,7 @@ struct hwrm_cfa_flow_aging_qcaps_input {
 	#define HWRM_CFA_FLOW_AGING_QCAPS_INPUT_FLAGS_PATH_LAST \
 		HWRM_CFA_FLOW_AGING_QCAPS_INPUT_FLAGS_PATH_RX
 	uint8_t	unused_0[7];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_flow_aging_qcaps_output (size:256b/32B) */
 struct hwrm_cfa_flow_aging_qcaps_output {
@@ -30921,7 +30921,7 @@ struct hwrm_cfa_flow_aging_qcaps_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************************
  * hwrm_cfa_tcp_flag_process_qcfg *
@@ -30958,7 +30958,7 @@ struct hwrm_cfa_tcp_flag_process_qcfg_input {
 	 * point to a physically contiguous block of memory.
 	 */
 	uint64_t	resp_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_tcp_flag_process_qcfg_output (size:192b/24B) */
 struct hwrm_cfa_tcp_flag_process_qcfg_output {
@@ -30987,7 +30987,7 @@ struct hwrm_cfa_tcp_flag_process_qcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************
  * hwrm_cfa_pair_info *
@@ -31037,7 +31037,7 @@ struct hwrm_cfa_pair_info_input {
 	uint8_t	pair_vfid;
 	/* Pair name (32 byte string). */
 	char	pair_name[32];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_pair_info_output (size:576b/72B) */
 struct hwrm_cfa_pair_info_output {
@@ -31108,7 +31108,7 @@ struct hwrm_cfa_pair_info_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***************************************
  * hwrm_cfa_redirect_query_tunnel_type *
@@ -31148,7 +31148,7 @@ struct hwrm_cfa_redirect_query_tunnel_type_input {
 	/* The source function id. */
 	uint16_t	src_fid;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_redirect_query_tunnel_type_output (size:128b/16B) */
 struct hwrm_cfa_redirect_query_tunnel_type_output {
@@ -31213,7 +31213,7 @@ struct hwrm_cfa_redirect_query_tunnel_type_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*************************
  * hwrm_cfa_ctx_mem_rgtr *
@@ -31284,7 +31284,7 @@ struct hwrm_cfa_ctx_mem_rgtr_input {
 	uint32_t	unused_0;
 	/* Pointer to the PBL, or PDL depending on number of levels */
 	uint64_t	page_dir;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_ctx_mem_rgtr_output (size:128b/16B) */
 struct hwrm_cfa_ctx_mem_rgtr_output {
@@ -31310,7 +31310,7 @@ struct hwrm_cfa_ctx_mem_rgtr_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***************************
  * hwrm_cfa_ctx_mem_unrgtr *
@@ -31353,7 +31353,7 @@ struct hwrm_cfa_ctx_mem_unrgtr_input {
 	 */
 	uint16_t	ctx_id;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_ctx_mem_unrgtr_output (size:128b/16B) */
 struct hwrm_cfa_ctx_mem_unrgtr_output {
@@ -31374,7 +31374,7 @@ struct hwrm_cfa_ctx_mem_unrgtr_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*************************
  * hwrm_cfa_ctx_mem_qctx *
@@ -31417,7 +31417,7 @@ struct hwrm_cfa_ctx_mem_qctx_input {
 	 */
 	uint16_t	ctx_id;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_ctx_mem_qctx_output (size:256b/32B) */
 struct hwrm_cfa_ctx_mem_qctx_output {
@@ -31472,7 +31472,7 @@ struct hwrm_cfa_ctx_mem_qctx_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**************************
  * hwrm_cfa_ctx_mem_qcaps *
@@ -31509,7 +31509,7 @@ struct hwrm_cfa_ctx_mem_qcaps_input {
 	 * point to a physically contiguous block of memory.
 	 */
 	uint64_t	resp_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_ctx_mem_qcaps_output (size:128b/16B) */
 struct hwrm_cfa_ctx_mem_qcaps_output {
@@ -31532,7 +31532,7 @@ struct hwrm_cfa_ctx_mem_qcaps_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************
  * hwrm_cfa_eem_qcaps *
@@ -31588,7 +31588,7 @@ struct hwrm_cfa_eem_qcaps_input {
 	#define HWRM_CFA_EEM_QCAPS_INPUT_FLAGS_PREFERRED_OFFLOAD \
 		UINT32_C(0x4)
 	uint32_t	unused_0;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_eem_qcaps_output (size:320b/40B) */
 struct hwrm_cfa_eem_qcaps_output {
@@ -31689,7 +31689,7 @@ struct hwrm_cfa_eem_qcaps_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /********************
  * hwrm_cfa_eem_cfg *
@@ -31772,7 +31772,7 @@ struct hwrm_cfa_eem_cfg_input {
 	uint16_t	fid_ctx_id;
 	uint16_t	unused_2;
 	uint32_t	unused_3;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_eem_cfg_output (size:128b/16B) */
 struct hwrm_cfa_eem_cfg_output {
@@ -31793,7 +31793,7 @@ struct hwrm_cfa_eem_cfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*********************
  * hwrm_cfa_eem_qcfg *
@@ -31836,7 +31836,7 @@ struct hwrm_cfa_eem_qcfg_input {
 	/* When set to 1, indicates the configuration is the RX flow. */
 	#define HWRM_CFA_EEM_QCFG_INPUT_FLAGS_PATH_RX     UINT32_C(0x2)
 	uint32_t	unused_0;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_eem_qcfg_output (size:256b/32B) */
 struct hwrm_cfa_eem_qcfg_output {
@@ -31879,7 +31879,7 @@ struct hwrm_cfa_eem_qcfg_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*******************
  * hwrm_cfa_eem_op *
@@ -31955,7 +31955,7 @@ struct hwrm_cfa_eem_op_input {
 	#define HWRM_CFA_EEM_OP_INPUT_OP_EEM_CLEANUP UINT32_C(0x3)
 	#define HWRM_CFA_EEM_OP_INPUT_OP_LAST \
 		HWRM_CFA_EEM_OP_INPUT_OP_EEM_CLEANUP
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_eem_op_output (size:128b/16B) */
 struct hwrm_cfa_eem_op_output {
@@ -31976,7 +31976,7 @@ struct hwrm_cfa_eem_op_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /********************************
  * hwrm_cfa_adv_flow_mgnt_qcaps *
@@ -32014,7 +32014,7 @@ struct hwrm_cfa_adv_flow_mgnt_qcaps_input {
 	 */
 	uint64_t	resp_addr;
 	uint32_t	unused_0[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_adv_flow_mgnt_qcaps_output (size:128b/16B) */
 struct hwrm_cfa_adv_flow_mgnt_qcaps_output {
@@ -32142,7 +32142,7 @@ struct hwrm_cfa_adv_flow_mgnt_qcaps_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /******************
  * hwrm_cfa_tflib *
@@ -32187,7 +32187,7 @@ struct hwrm_cfa_tflib_input {
 	uint8_t	unused0[4];
 	/* TFLIB request data. */
 	uint32_t	tf_req[26];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_cfa_tflib_output (size:5632b/704B) */
 struct hwrm_cfa_tflib_output {
@@ -32217,7 +32217,7 @@ struct hwrm_cfa_tflib_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /******************************
  * hwrm_tunnel_dst_port_query *
@@ -32277,7 +32277,7 @@ struct hwrm_tunnel_dst_port_query_input {
 	#define HWRM_TUNNEL_DST_PORT_QUERY_INPUT_TUNNEL_TYPE_LAST \
 		HWRM_TUNNEL_DST_PORT_QUERY_INPUT_TUNNEL_TYPE_VXLAN_GPE_V6
 	uint8_t	unused_0[7];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_tunnel_dst_port_query_output (size:128b/16B) */
 struct hwrm_tunnel_dst_port_query_output {
@@ -32316,7 +32316,7 @@ struct hwrm_tunnel_dst_port_query_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /******************************
  * hwrm_tunnel_dst_port_alloc *
@@ -32388,7 +32388,7 @@ struct hwrm_tunnel_dst_port_alloc_input {
 	 */
 	uint16_t	tunnel_dst_port_val;
 	uint8_t	unused_1[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_tunnel_dst_port_alloc_output (size:128b/16B) */
 struct hwrm_tunnel_dst_port_alloc_output {
@@ -32414,7 +32414,7 @@ struct hwrm_tunnel_dst_port_alloc_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*****************************
  * hwrm_tunnel_dst_port_free *
@@ -32480,7 +32480,7 @@ struct hwrm_tunnel_dst_port_free_input {
 	 */
 	uint16_t	tunnel_dst_port_id;
 	uint8_t	unused_1[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_tunnel_dst_port_free_output (size:128b/16B) */
 struct hwrm_tunnel_dst_port_free_output {
@@ -32501,7 +32501,7 @@ struct hwrm_tunnel_dst_port_free_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /* Periodic statistics context DMA to host. */
 /* ctx_hw_stats (size:1280b/160B) */
@@ -32546,7 +32546,7 @@ struct ctx_hw_stats {
 	uint64_t	tpa_events;
 	/* Number of TPA aborts */
 	uint64_t	tpa_aborts;
-} __attribute__((packed));
+} __rte_packed;
 
 /* Periodic statistics context DMA to host. */
 /* ctx_hw_stats_ext (size:1344b/168B) */
@@ -32593,7 +32593,7 @@ struct ctx_hw_stats_ext {
 	uint64_t	rx_tpa_bytes;
 	/* Number of TPA errors */
 	uint64_t	rx_tpa_errors;
-} __attribute__((packed));
+} __rte_packed;
 
 /* Periodic Engine statistics context DMA to host. */
 /* ctx_eng_stats (size:512b/64B) */
@@ -32639,7 +32639,7 @@ struct ctx_eng_stats {
 	 * the unit is count of clock cycles
 	 */
 	uint64_t	cdd_engine_usage;
-} __attribute__((packed));
+} __rte_packed;
 
 /***********************
  * hwrm_stat_ctx_alloc *
@@ -32717,7 +32717,7 @@ struct hwrm_stat_ctx_alloc_input {
 	 * for the periodic DMA updates.
 	 */
 	uint16_t	stats_dma_length;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_stat_ctx_alloc_output (size:128b/16B) */
 struct hwrm_stat_ctx_alloc_output {
@@ -32740,7 +32740,7 @@ struct hwrm_stat_ctx_alloc_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************
  * hwrm_stat_ctx_free *
@@ -32780,7 +32780,7 @@ struct hwrm_stat_ctx_free_input {
 	/* ID of the statistics context that is being queried. */
 	uint32_t	stat_ctx_id;
 	uint8_t	unused_0[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_stat_ctx_free_output (size:128b/16B) */
 struct hwrm_stat_ctx_free_output {
@@ -32803,7 +32803,7 @@ struct hwrm_stat_ctx_free_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***********************
  * hwrm_stat_ctx_query *
@@ -32843,7 +32843,7 @@ struct hwrm_stat_ctx_query_input {
 	/* ID of the statistics context that is being queried. */
 	uint32_t	stat_ctx_id;
 	uint8_t	unused_0[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_stat_ctx_query_output (size:1408b/176B) */
 struct hwrm_stat_ctx_query_output {
@@ -32904,7 +32904,7 @@ struct hwrm_stat_ctx_query_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***************************
  * hwrm_stat_ctx_eng_query *
@@ -32944,7 +32944,7 @@ struct hwrm_stat_ctx_eng_query_input {
 	/* ID of the statistics context that is being queried. */
 	uint32_t	stat_ctx_id;
 	uint8_t	unused_0[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_stat_ctx_eng_query_output (size:640b/80B) */
 struct hwrm_stat_ctx_eng_query_output {
@@ -33006,7 +33006,7 @@ struct hwrm_stat_ctx_eng_query_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***************************
  * hwrm_stat_ctx_clr_stats *
@@ -33046,7 +33046,7 @@ struct hwrm_stat_ctx_clr_stats_input {
 	/* ID of the statistics context that is being queried. */
 	uint32_t	stat_ctx_id;
 	uint8_t	unused_0[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_stat_ctx_clr_stats_output (size:128b/16B) */
 struct hwrm_stat_ctx_clr_stats_output {
@@ -33067,7 +33067,7 @@ struct hwrm_stat_ctx_clr_stats_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /********************
  * hwrm_pcie_qstats *
@@ -33116,7 +33116,7 @@ struct hwrm_pcie_qstats_input {
 	 * PCIe statistics will be stored
 	 */
 	uint64_t	pcie_stat_host_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_pcie_qstats_output (size:128b/16B) */
 struct hwrm_pcie_qstats_output {
@@ -33139,7 +33139,7 @@ struct hwrm_pcie_qstats_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /* PCIe Statistics Formats */
 /* pcie_ctx_hw_stats (size:768b/96B) */
@@ -33175,7 +33175,7 @@ struct pcie_ctx_hw_stats {
 	 * to Recovery
 	 */
 	uint64_t	pcie_recovery_histogram;
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************
  * hwrm_exec_fwd_resp *
@@ -33228,7 +33228,7 @@ struct hwrm_exec_fwd_resp_input {
 	 */
 	uint16_t	encap_resp_target_id;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_exec_fwd_resp_output (size:128b/16B) */
 struct hwrm_exec_fwd_resp_output {
@@ -33249,7 +33249,7 @@ struct hwrm_exec_fwd_resp_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /************************
  * hwrm_reject_fwd_resp *
@@ -33302,7 +33302,7 @@ struct hwrm_reject_fwd_resp_input {
 	 */
 	uint16_t	encap_resp_target_id;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_reject_fwd_resp_output (size:128b/16B) */
 struct hwrm_reject_fwd_resp_output {
@@ -33323,7 +33323,7 @@ struct hwrm_reject_fwd_resp_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*****************
  * hwrm_fwd_resp *
@@ -33391,7 +33391,7 @@ struct hwrm_fwd_resp_input {
 	uint64_t	encap_resp_addr;
 	/* This is an encapsulated response. */
 	uint32_t	encap_resp[24];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_fwd_resp_output (size:128b/16B) */
 struct hwrm_fwd_resp_output {
@@ -33412,7 +33412,7 @@ struct hwrm_fwd_resp_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*****************************
  * hwrm_fwd_async_event_cmpl *
@@ -33461,7 +33461,7 @@ struct hwrm_fwd_async_event_cmpl_input {
 	uint8_t	unused_0[6];
 	/* This is an encapsulated asynchronous event completion. */
 	uint32_t	encap_async_event_cmpl[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_fwd_async_event_cmpl_output (size:128b/16B) */
 struct hwrm_fwd_async_event_cmpl_output {
@@ -33482,7 +33482,7 @@ struct hwrm_fwd_async_event_cmpl_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**************************
  * hwrm_nvm_raw_write_blk *
@@ -33531,7 +33531,7 @@ struct hwrm_nvm_raw_write_blk_input {
 	uint32_t	dest_addr;
 	/* Length of data to be written, in bytes. */
 	uint32_t	len;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_raw_write_blk_output (size:128b/16B) */
 struct hwrm_nvm_raw_write_blk_output {
@@ -33552,7 +33552,7 @@ struct hwrm_nvm_raw_write_blk_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*****************
  * hwrm_nvm_read *
@@ -33602,7 +33602,7 @@ struct hwrm_nvm_read_input {
 	/* The length of the data to be read, in bytes. */
 	uint32_t	len;
 	uint8_t	unused_1[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_read_output (size:128b/16B) */
 struct hwrm_nvm_read_output {
@@ -33623,7 +33623,7 @@ struct hwrm_nvm_read_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*********************
  * hwrm_nvm_raw_dump *
@@ -33669,7 +33669,7 @@ struct hwrm_nvm_raw_dump_input {
 	uint32_t	offset;
 	/* Total length of NVRAM contents to be read, in bytes. */
 	uint32_t	len;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_raw_dump_output (size:128b/16B) */
 struct hwrm_nvm_raw_dump_output {
@@ -33690,7 +33690,7 @@ struct hwrm_nvm_raw_dump_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /****************************
  * hwrm_nvm_get_dir_entries *
@@ -33732,7 +33732,7 @@ struct hwrm_nvm_get_dir_entries_input {
 	 * This is the host address where the directory will be written.
 	 */
 	uint64_t	host_dest_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_get_dir_entries_output (size:128b/16B) */
 struct hwrm_nvm_get_dir_entries_output {
@@ -33753,7 +33753,7 @@ struct hwrm_nvm_get_dir_entries_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*************************
  * hwrm_nvm_get_dir_info *
@@ -33790,7 +33790,7 @@ struct hwrm_nvm_get_dir_info_input {
 	 * point to a physically contiguous block of memory.
 	 */
 	uint64_t	resp_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_get_dir_info_output (size:192b/24B) */
 struct hwrm_nvm_get_dir_info_output {
@@ -33815,7 +33815,7 @@ struct hwrm_nvm_get_dir_info_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /******************
  * hwrm_nvm_write *
@@ -33891,7 +33891,7 @@ struct hwrm_nvm_write_input {
 	 */
 	uint32_t	dir_item_length;
 	uint32_t	unused_0;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_write_output (size:128b/16B) */
 struct hwrm_nvm_write_output {
@@ -33919,7 +33919,7 @@ struct hwrm_nvm_write_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_write_cmd_err (size:64b/8B) */
 struct hwrm_nvm_write_cmd_err {
@@ -33937,7 +33937,7 @@ struct hwrm_nvm_write_cmd_err {
 	#define HWRM_NVM_WRITE_CMD_ERR_CODE_LAST \
 		HWRM_NVM_WRITE_CMD_ERR_CODE_NO_SPACE
 	uint8_t	unused_0[7];
-} __attribute__((packed));
+} __rte_packed;
 
 /*******************
  * hwrm_nvm_modify *
@@ -33990,7 +33990,7 @@ struct hwrm_nvm_modify_input {
 	 */
 	uint32_t	len;
 	uint8_t	unused_1[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_modify_output (size:128b/16B) */
 struct hwrm_nvm_modify_output {
@@ -34011,7 +34011,7 @@ struct hwrm_nvm_modify_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***************************
  * hwrm_nvm_find_dir_entry *
@@ -34080,7 +34080,7 @@ struct hwrm_nvm_find_dir_entry_input {
 	#define HWRM_NVM_FIND_DIR_ENTRY_INPUT_OPT_ORDINAL_LAST \
 		HWRM_NVM_FIND_DIR_ENTRY_INPUT_OPT_ORDINAL_GT
 	uint8_t	unused_0[3];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_find_dir_entry_output (size:256b/32B) */
 struct hwrm_nvm_find_dir_entry_output {
@@ -34114,7 +34114,7 @@ struct hwrm_nvm_find_dir_entry_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /****************************
  * hwrm_nvm_erase_dir_entry *
@@ -34154,7 +34154,7 @@ struct hwrm_nvm_erase_dir_entry_input {
 	/* Directory Entry Index */
 	uint16_t	dir_idx;
 	uint8_t	unused_0[6];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_erase_dir_entry_output (size:128b/16B) */
 struct hwrm_nvm_erase_dir_entry_output {
@@ -34175,7 +34175,7 @@ struct hwrm_nvm_erase_dir_entry_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /*************************
  * hwrm_nvm_get_dev_info *
@@ -34212,7 +34212,7 @@ struct hwrm_nvm_get_dev_info_input {
 	 * point to a physically contiguous block of memory.
 	 */
 	uint64_t	resp_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_get_dev_info_output (size:256b/32B) */
 struct hwrm_nvm_get_dev_info_output {
@@ -34249,7 +34249,7 @@ struct hwrm_nvm_get_dev_info_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**************************
  * hwrm_nvm_mod_dir_entry *
@@ -34308,7 +34308,7 @@ struct hwrm_nvm_mod_dir_entry_input {
 	 * value of the content in the directory entry.
 	 */
 	uint32_t	checksum;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_mod_dir_entry_output (size:128b/16B) */
 struct hwrm_nvm_mod_dir_entry_output {
@@ -34329,7 +34329,7 @@ struct hwrm_nvm_mod_dir_entry_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**************************
  * hwrm_nvm_verify_update *
@@ -34382,7 +34382,7 @@ struct hwrm_nvm_verify_update_input {
 	 */
 	uint16_t	dir_ext;
 	uint8_t	unused_0[2];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_verify_update_output (size:128b/16B) */
 struct hwrm_nvm_verify_update_output {
@@ -34403,7 +34403,7 @@ struct hwrm_nvm_verify_update_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /***************************
  * hwrm_nvm_install_update *
@@ -34480,7 +34480,7 @@ struct hwrm_nvm_install_update_input {
 	#define HWRM_NVM_INSTALL_UPDATE_INPUT_FLAGS_ALLOWED_TO_DEFRAG \
 		UINT32_C(0x4)
 	uint8_t	unused_0[2];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_install_update_output (size:192b/24B) */
 struct hwrm_nvm_install_update_output {
@@ -34549,7 +34549,7 @@ struct hwrm_nvm_install_update_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_install_update_cmd_err (size:64b/8B) */
 struct hwrm_nvm_install_update_cmd_err {
@@ -34567,7 +34567,7 @@ struct hwrm_nvm_install_update_cmd_err {
 	#define HWRM_NVM_INSTALL_UPDATE_CMD_ERR_CODE_LAST \
 		HWRM_NVM_INSTALL_UPDATE_CMD_ERR_CODE_NO_SPACE
 	uint8_t	unused_0[7];
-} __attribute__((packed));
+} __rte_packed;
 
 /******************
  * hwrm_nvm_flush *
@@ -34604,7 +34604,7 @@ struct hwrm_nvm_flush_input {
 	 * point to a physically contiguous block of memory.
 	 */
 	uint64_t	resp_addr;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_flush_output (size:128b/16B) */
 struct hwrm_nvm_flush_output {
@@ -34625,7 +34625,7 @@ struct hwrm_nvm_flush_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_flush_cmd_err (size:64b/8B) */
 struct hwrm_nvm_flush_cmd_err {
@@ -34641,7 +34641,7 @@ struct hwrm_nvm_flush_cmd_err {
 	#define HWRM_NVM_FLUSH_CMD_ERR_CODE_LAST \
 		HWRM_NVM_FLUSH_CMD_ERR_CODE_FAIL
 	uint8_t	unused_0[7];
-} __attribute__((packed));
+} __rte_packed;
 
 /*************************
  * hwrm_nvm_get_variable *
@@ -34718,7 +34718,7 @@ struct hwrm_nvm_get_variable_input {
 	#define HWRM_NVM_GET_VARIABLE_INPUT_FLAGS_FACTORY_DFLT \
 		UINT32_C(0x1)
 	uint8_t	unused_0;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_get_variable_output (size:128b/16B) */
 struct hwrm_nvm_get_variable_output {
@@ -34757,7 +34757,7 @@ struct hwrm_nvm_get_variable_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_get_variable_cmd_err (size:64b/8B) */
 struct hwrm_nvm_get_variable_cmd_err {
@@ -34777,7 +34777,7 @@ struct hwrm_nvm_get_variable_cmd_err {
 	#define HWRM_NVM_GET_VARIABLE_CMD_ERR_CODE_LAST \
 		HWRM_NVM_GET_VARIABLE_CMD_ERR_CODE_LEN_TOO_SHORT
 	uint8_t	unused_0[7];
-} __attribute__((packed));
+} __rte_packed;
 
 /*************************
  * hwrm_nvm_set_variable *
@@ -34875,7 +34875,7 @@ struct hwrm_nvm_set_variable_input {
 	#define HWRM_NVM_SET_VARIABLE_INPUT_FLAGS_FACTORY_DEFAULT \
 		UINT32_C(0x80)
 	uint8_t	unused_0;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_set_variable_output (size:128b/16B) */
 struct hwrm_nvm_set_variable_output {
@@ -34896,7 +34896,7 @@ struct hwrm_nvm_set_variable_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_set_variable_cmd_err (size:64b/8B) */
 struct hwrm_nvm_set_variable_cmd_err {
@@ -34914,7 +34914,7 @@ struct hwrm_nvm_set_variable_cmd_err {
 	#define HWRM_NVM_SET_VARIABLE_CMD_ERR_CODE_LAST \
 		HWRM_NVM_SET_VARIABLE_CMD_ERR_CODE_CORRUPT_VAR
 	uint8_t	unused_0[7];
-} __attribute__((packed));
+} __rte_packed;
 
 /****************************
  * hwrm_nvm_validate_option *
@@ -34985,7 +34985,7 @@ struct hwrm_nvm_validate_option_input {
 	/* index for the 4th dimensions */
 	uint16_t	index_3;
 	uint8_t	unused_0[2];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_validate_option_output (size:128b/16B) */
 struct hwrm_nvm_validate_option_output {
@@ -35013,7 +35013,7 @@ struct hwrm_nvm_validate_option_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t	valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_nvm_validate_option_cmd_err (size:64b/8B) */
 struct hwrm_nvm_validate_option_cmd_err {
@@ -35027,7 +35027,7 @@ struct hwrm_nvm_validate_option_cmd_err {
 	#define HWRM_NVM_VALIDATE_OPTION_CMD_ERR_CODE_LAST \
 		HWRM_NVM_VALIDATE_OPTION_CMD_ERR_CODE_UNKNOWN
 	uint8_t	unused_0[7];
-} __attribute__((packed));
+} __rte_packed;
 
 /*****************
  * hwrm_fw_reset *
@@ -35127,7 +35127,7 @@ struct hwrm_fw_reset_input {
 	 */
 	#define HWRM_FW_RESET_INPUT_FLAGS_RESET_GRACEFUL     UINT32_C(0x1)
 	uint8_t unused_0[4];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_fw_reset_output (size:128b/16B) */
 struct hwrm_fw_reset_output {
@@ -35164,7 +35164,7 @@ struct hwrm_fw_reset_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t valid;
-} __attribute__((packed));
+} __rte_packed;
 
 /**********************
  * hwrm_port_ts_query *
@@ -35222,7 +35222,7 @@ struct hwrm_port_ts_query_input {
 	/* Port ID of port that is being queried. */
 	uint16_t	port_id;
 	uint8_t		unused_0[2];
-} __attribute__((packed));
+} __rte_packed;
 
 /* hwrm_port_ts_query_output (size:192b/24B) */
 struct hwrm_port_ts_query_output {
@@ -35250,6 +35250,6 @@ struct hwrm_port_ts_query_output {
 	 * the order of writes has to be such that this field is written last.
 	 */
 	uint8_t		valid;
-} __attribute__((packed));
+} __rte_packed;
 
 #endif /* _HSI_STRUCT_DEF_DPDK_H_ */
diff --git a/drivers/net/bonding/rte_eth_bond_8023ad.h b/drivers/net/bonding/rte_eth_bond_8023ad.h
index 0b5d0a4351..11a71a55e5 100644
--- a/drivers/net/bonding/rte_eth_bond_8023ad.h
+++ b/drivers/net/bonding/rte_eth_bond_8023ad.h
@@ -54,13 +54,13 @@ enum rte_bond_8023ad_agg_selection {
 struct slow_protocol {
 	uint8_t subtype;
 	uint8_t reserved_119[119];
-} __attribute__((__packed__));
+} __rte_packed;
 
 /** Generic slow protocol frame type structure */
 struct slow_protocol_frame {
 	struct rte_ether_hdr eth_hdr;
 	struct slow_protocol slow_protocol;
-} __attribute__((__packed__)) __rte_aligned(2);
+} __rte_packed __rte_aligned(2);
 
 struct port_params {
 	uint16_t system_priority;
@@ -73,7 +73,7 @@ struct port_params {
 	/**< Priority of this (unused in current implementation) */
 	uint16_t port_number;
 	/**< Port number. It corresponds to slave port id. */
-} __attribute__((__packed__)) __rte_aligned(2);
+} __rte_packed __rte_aligned(2);
 
 struct lacpdu_actor_partner_params {
 	uint8_t tlv_type_info;
@@ -81,7 +81,7 @@ struct lacpdu_actor_partner_params {
 	struct port_params port_params;
 	uint8_t state;
 	uint8_t reserved_3[3];
-} __attribute__((__packed__)) __rte_aligned(2);
+} __rte_packed __rte_aligned(2);
 
 /** LACPDU structure (5.4.2 in 802.1AX documentation). */
 struct lacpdu {
@@ -99,13 +99,13 @@ struct lacpdu {
 	uint8_t tlv_type_terminator;
 	uint8_t terminator_length;
 	uint8_t reserved_50[50];
-} __attribute__((__packed__)) __rte_aligned(2);
+} __rte_packed __rte_aligned(2);
 
 /** LACPDU frame: Contains ethernet header and LACPDU. */
 struct lacpdu_header {
 	struct rte_ether_hdr eth_hdr;
 	struct lacpdu lacpdu;
-} __attribute__((__packed__)) __rte_aligned(2);
+} __rte_packed __rte_aligned(2);
 
 struct marker {
 	uint8_t subtype;
@@ -121,12 +121,12 @@ struct marker {
 	uint8_t tlv_type_terminator;
 	uint8_t terminator_length;
 	uint8_t reserved_90[90];
-} __attribute__((__packed__)) __rte_aligned(2);
+} __rte_packed __rte_aligned(2);
 
 struct marker_header {
 	struct rte_ether_hdr eth_hdr;
 	struct marker marker;
-} __attribute__((__packed__)) __rte_aligned(2);
+} __rte_packed __rte_aligned(2);
 
 struct rte_eth_bond_8023ad_conf {
 	uint32_t fast_periodic_ms;
diff --git a/drivers/net/dpaa/dpaa_rxtx.h b/drivers/net/dpaa/dpaa_rxtx.h
index 75b093c1e0..4f896fba11 100644
--- a/drivers/net/dpaa/dpaa_rxtx.h
+++ b/drivers/net/dpaa/dpaa_rxtx.h
@@ -170,8 +170,8 @@ struct dpaa_eth_parse_results_t {
 			uint16_t      vlan:1;
 			uint16_t      ethernet:1;
 #endif
-		} __attribute__((__packed__));
-	 } __attribute__((__packed__));
+		} __rte_packed;
+	 } __rte_packed;
 	 union {
 		uint16_t              l3r;	/**< Layer 3 result */
 		struct {
@@ -198,8 +198,8 @@ struct dpaa_eth_parse_results_t {
 			uint16_t      first_ipv6:1;
 			uint16_t      first_ipv4:1;
 #endif
-		} __attribute__((__packed__));
-	 } __attribute__((__packed__));
+		} __rte_packed;
+	 } __rte_packed;
 	 union {
 		uint8_t               l4r;	/**< Layer 4 result */
 		struct{
@@ -214,8 +214,8 @@ struct dpaa_eth_parse_results_t {
 			uint8_t        l4_info_err:1;
 			uint8_t        l4_type:3;
 #endif
-		} __attribute__((__packed__));
-	 } __attribute__((__packed__));
+		} __rte_packed;
+	 } __rte_packed;
 	 uint8_t     cplan;		 /**< Classification plan id */
 	 uint16_t    nxthdr;		 /**< Next Header  */
 	 uint16_t    cksum;		 /**< Checksum */
@@ -231,7 +231,7 @@ struct dpaa_eth_parse_results_t {
 	 uint8_t     gre_off;		 /**< GRE offset */
 	 uint8_t     l4_off;		 /**< Layer 4 offset */
 	 uint8_t     nxthdr_off;	 /**< Parser end point */
-} __attribute__ ((__packed__));
+} __rte_packed;
 
 /* The structure is the Prepended Data to the Frame which is used by FMAN */
 struct annotations_t {
diff --git a/drivers/net/dpaa2/base/dpaa2_hw_dpni_annot.h b/drivers/net/dpaa2/base/dpaa2_hw_dpni_annot.h
index 4dd7be1d59..7e5e499b6a 100644
--- a/drivers/net/dpaa2/base/dpaa2_hw_dpni_annot.h
+++ b/drivers/net/dpaa2/base/dpaa2_hw_dpni_annot.h
@@ -37,7 +37,7 @@ struct dpaa2_fas {
 	uint8_t ppid;
 	__le16 ifpid;
 	__le32 status;
-}  __attribute__((__packed__));
+}  __rte_packed;
 
 /**
  * HW Packet Annotation  Register structures
diff --git a/drivers/net/enic/base/vnic_devcmd.h b/drivers/net/enic/base/vnic_devcmd.h
index 09477ab1ce..a2f577f1e3 100644
--- a/drivers/net/enic/base/vnic_devcmd.h
+++ b/drivers/net/enic/base/vnic_devcmd.h
@@ -772,7 +772,7 @@ struct filter_usnic_id {
 	uint16_t ethtype;
 	uint8_t proto_version;
 	uint32_t usnic_id;
-} __attribute__((packed));
+} __rte_packed;
 
 #define FILTER_FIELD_5TUP_PROTO  FILTER_FIELD_VALID(1)
 #define FILTER_FIELD_5TUP_SRC_AD FILTER_FIELD_VALID(2)
@@ -801,7 +801,7 @@ struct filter_ipv4_5tuple {
 	uint32_t dst_addr;
 	uint16_t src_port;
 	uint16_t dst_port;
-} __attribute__((packed));
+} __rte_packed;
 
 #define FILTER_FIELD_VMQ_VLAN   FILTER_FIELD_VALID(1)
 #define FILTER_FIELD_VMQ_MAC    FILTER_FIELD_VALID(2)
@@ -815,7 +815,7 @@ struct filter_mac_vlan {
 	uint32_t flags;
 	uint16_t vlan;
 	uint8_t mac_addr[6];
-} __attribute__((packed));
+} __rte_packed;
 
 #define FILTER_FIELD_VLAN_IP_3TUP_VLAN      FILTER_FIELD_VALID(1)
 #define FILTER_FIELD_VLAN_IP_3TUP_L3_PROTO  FILTER_FIELD_VALID(2)
@@ -839,7 +839,7 @@ struct filter_vlan_ip_3tuple {
 	} u;
 	uint32_t l4_protocol;
 	uint16_t dst_port;
-} __attribute__((packed));
+} __rte_packed;
 
 #define FILTER_GENERIC_1_BYTES 64
 
@@ -877,8 +877,8 @@ struct filter_generic_1 {
 							 * " don't care"
 							 */
 		uint8_t val[FILTER_GENERIC_1_KEY_LEN];
-	} __attribute__((packed)) layer[FILTER_GENERIC_1_NUM_LAYERS];
-} __attribute__((packed));
+	} __rte_packed layer[FILTER_GENERIC_1_NUM_LAYERS];
+} __rte_packed;
 
 /* Specifies the filter_action type. */
 enum {
@@ -892,7 +892,7 @@ struct filter_action {
 	union {
 		uint32_t rq_idx;
 	} u;
-} __attribute__((packed));
+} __rte_packed;
 
 #define FILTER_ACTION_RQ_STEERING_FLAG	(1 << 0)
 #define FILTER_ACTION_FILTER_ID_FLAG	(1 << 1)
@@ -911,7 +911,7 @@ struct filter_action_v2 {
 	uint32_t flags;               /* use FILTER_ACTION_XXX_FLAG defines */
 	uint16_t filter_id;
 	uint8_t reserved[32];         /* for future expansion */
-} __attribute__((packed));
+} __rte_packed;
 
 /* Specifies the filter type. */
 enum filter_type {
@@ -949,7 +949,7 @@ struct filter {
 		struct filter_mac_vlan mac_vlan;
 		struct filter_vlan_ip_3tuple vlan_3tuple;
 	} u;
-} __attribute__((packed));
+} __rte_packed;
 
 /*
  * This is a strict superset of "struct filter" and exists only
@@ -969,7 +969,7 @@ struct filter_v2 {
 		struct filter_vlan_ip_3tuple vlan_3tuple;
 		struct filter_generic_1 generic_1;
 	} u;
-} __attribute__((packed));
+} __rte_packed;
 
 enum {
 	CLSF_TLV_FILTER = 0,
diff --git a/drivers/net/i40e/base/i40e_osdep.h b/drivers/net/i40e/base/i40e_osdep.h
index 8a2d82a8d0..17eee94533 100644
--- a/drivers/net/i40e/base/i40e_osdep.h
+++ b/drivers/net/i40e/base/i40e_osdep.h
@@ -158,7 +158,7 @@ struct i40e_dma_mem {
 	u64 pa;
 	u32 size;
 	const void *zone;
-} __attribute__((packed));
+} __rte_packed;
 
 #define i40e_allocate_dma_mem(h, m, unused, s, a) \
 			i40e_allocate_dma_mem_d(h, m, s, a)
@@ -167,7 +167,7 @@ struct i40e_dma_mem {
 struct i40e_virt_mem {
 	void *va;
 	u32 size;
-} __attribute__((packed));
+} __rte_packed;
 
 #define i40e_allocate_virt_mem(h, m, s) i40e_allocate_virt_mem_d(h, m, s)
 #define i40e_free_virt_mem(h, m) i40e_free_virt_mem_d(h, m)
diff --git a/drivers/net/ice/base/ice_osdep.h b/drivers/net/ice/base/ice_osdep.h
index a4a2994c76..aac8969eb8 100644
--- a/drivers/net/ice/base/ice_osdep.h
+++ b/drivers/net/ice/base/ice_osdep.h
@@ -126,7 +126,7 @@ writeq(uint64_t value, volatile void *addr)
 #define __maybe_unused  __attribute__((unused))
 #endif
 #ifndef __packed
-#define __packed  __attribute__((packed))
+#define __packed  __rte_packed
 #endif
 
 #ifndef BIT_ULL
@@ -180,12 +180,12 @@ struct ice_dma_mem {
 	u64 pa;
 	u32 size;
 	const void *zone;
-} __attribute__((packed));
+} __rte_packed;
 
 struct ice_virt_mem {
 	void *va;
 	u32 size;
-} __attribute__((packed));
+} __rte_packed;
 
 #define ice_malloc(h, s)    rte_zmalloc(NULL, s, 0)
 #define ice_calloc(h, c, s) rte_zmalloc(NULL, (c) * (s), 0)
diff --git a/drivers/net/nfp/nfp_net_pmd.h b/drivers/net/nfp/nfp_net_pmd.h
index f0142e1ff7..cb2d19afe6 100644
--- a/drivers/net/nfp/nfp_net_pmd.h
+++ b/drivers/net/nfp/nfp_net_pmd.h
@@ -182,7 +182,7 @@ struct nfp_net_tx_desc {
 				__le16 vlan; /* VLAN tag to add if indicated */
 			};
 			__le16 data_len;    /* Length of frame + meta data */
-		} __attribute__((__packed__));
+		} __rte_packed;
 		__le32 vals[4];
 	};
 };
@@ -278,7 +278,7 @@ struct nfp_net_rx_desc {
 			uint8_t dd;
 
 			__le32 dma_addr_lo;
-		} __attribute__((__packed__)) fld;
+		} __rte_packed fld;
 
 		/* RX descriptor */
 		struct {
@@ -288,7 +288,7 @@ struct nfp_net_rx_desc {
 
 			__le16 flags;
 			__le16 vlan;
-		} __attribute__((__packed__)) rxd;
+		} __rte_packed rxd;
 
 		__le32 vals[2];
 	};
diff --git a/drivers/net/softnic/rte_eth_softnic_cli.c b/drivers/net/softnic/rte_eth_softnic_cli.c
index bc95f16439..932ec15f49 100644
--- a/drivers/net/softnic/rte_eth_softnic_cli.c
+++ b/drivers/net/softnic/rte_eth_softnic_cli.c
@@ -3358,7 +3358,7 @@ struct pkt_key_qinq {
 	uint16_t svlan;
 	uint16_t ethertype_cvlan;
 	uint16_t cvlan;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct pkt_key_ipv4_5tuple {
 	uint8_t time_to_live;
@@ -3368,7 +3368,7 @@ struct pkt_key_ipv4_5tuple {
 	uint32_t da;
 	uint16_t sp;
 	uint16_t dp;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct pkt_key_ipv6_5tuple {
 	uint16_t payload_length;
@@ -3378,15 +3378,15 @@ struct pkt_key_ipv6_5tuple {
 	uint8_t da[16];
 	uint16_t sp;
 	uint16_t dp;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct pkt_key_ipv4_addr {
 	uint32_t addr;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct pkt_key_ipv6_addr {
 	uint8_t addr[16];
-} __attribute__((__packed__));
+} __rte_packed;
 
 static uint32_t
 parse_match(char **tokens,
diff --git a/drivers/net/tap/tap_bpf_program.c b/drivers/net/tap/tap_bpf_program.c
index 532e8838fe..20c310e5e7 100644
--- a/drivers/net/tap/tap_bpf_program.c
+++ b/drivers/net/tap/tap_bpf_program.c
@@ -75,14 +75,14 @@ struct ipv4_l3_l4_tuple {
 	__u32    dst_addr;
 	__u16    dport;
 	__u16    sport;
-} __attribute__((packed));
+} __rte_packed;
 
 struct ipv6_l3_l4_tuple {
 	__u8        src_addr[16];
 	__u8        dst_addr[16];
 	__u16       dport;
 	__u16       sport;
-} __attribute__((packed));
+} __rte_packed;
 
 static const __u8 def_rss_key[TAP_RSS_HASH_KEY_SIZE] = {
 	0xd1, 0x81, 0xc6, 0x2c,
diff --git a/drivers/net/tap/tap_rss.h b/drivers/net/tap/tap_rss.h
index 17606b2d6e..176e7180bd 100644
--- a/drivers/net/tap/tap_rss.h
+++ b/drivers/net/tap/tap_rss.h
@@ -35,6 +35,6 @@ struct rss_key {
 	__u32 key_size;
 	__u32 queues[TAP_MAX_QUEUES];
 	__u32 nb_queues;
-} __attribute__((packed));
+} __rte_packed;
 
 #endif /* _TAP_RSS_H_ */
diff --git a/drivers/net/virtio/virtio_pci.h b/drivers/net/virtio/virtio_pci.h
index 7433d2f085..302d6c3e7a 100644
--- a/drivers/net/virtio/virtio_pci.h
+++ b/drivers/net/virtio/virtio_pci.h
@@ -305,7 +305,7 @@ struct virtio_net_config {
 	uint16_t   status;
 	uint16_t   max_virtqueue_pairs;
 	uint16_t   mtu;
-} __attribute__((packed));
+} __rte_packed;
 
 /*
  * How many bits to shift physical queue address written to QUEUE_PFN.
diff --git a/drivers/net/virtio/virtio_user/vhost_user.c b/drivers/net/virtio/virtio_user/vhost_user.c
index d8e083ba8b..74b82e56e4 100644
--- a/drivers/net/virtio/virtio_user/vhost_user.c
+++ b/drivers/net/virtio/virtio_user/vhost_user.c
@@ -43,7 +43,7 @@ struct vhost_user_msg {
 		struct vhost_memory memory;
 	} payload;
 	int fds[VHOST_MEMORY_MAX_NREGIONS];
-} __attribute((packed));
+} __rte_packed;
 
 #define VHOST_USER_HDR_SIZE offsetof(struct vhost_user_msg, payload.u64)
 #define VHOST_USER_PAYLOAD_SIZE \
diff --git a/drivers/net/virtio/virtqueue.h b/drivers/net/virtio/virtqueue.h
index d8cf5d4e2f..e3d38b5a67 100644
--- a/drivers/net/virtio/virtqueue.h
+++ b/drivers/net/virtio/virtqueue.h
@@ -182,7 +182,7 @@ enum { VTNET_RQ = 0, VTNET_TQ = 1, VTNET_CQ = 2 };
 struct virtio_net_ctrl_mac {
 	uint32_t entries;
 	uint8_t macs[][RTE_ETHER_ADDR_LEN];
-} __attribute__((__packed__));
+} __rte_packed;
 
 #define VIRTIO_NET_CTRL_MAC    1
 #define VIRTIO_NET_CTRL_MAC_TABLE_SET        0
@@ -215,7 +215,7 @@ struct virtio_net_ctrl_mac {
 struct virtio_net_ctrl_hdr {
 	uint8_t class;
 	uint8_t cmd;
-} __attribute__((packed));
+} __rte_packed;
 
 typedef uint8_t virtio_net_ctrl_ack;
 
diff --git a/drivers/raw/dpaa2_qdma/dpaa2_qdma.h b/drivers/raw/dpaa2_qdma/dpaa2_qdma.h
index 1bce1a4d64..017638075d 100644
--- a/drivers/raw/dpaa2_qdma/dpaa2_qdma.h
+++ b/drivers/raw/dpaa2_qdma/dpaa2_qdma.h
@@ -155,7 +155,7 @@ struct qdma_sdd {
 			uint32_t wrttype:4;
 		} write_cmd;
 	};
-} __attribute__ ((__packed__));
+} __rte_packed;
 
 /** Represents a DPDMAI raw device */
 struct dpaa2_dpdmai_dev {
diff --git a/drivers/raw/ifpga/base/opae_hw_api.h b/drivers/raw/ifpga/base/opae_hw_api.h
index cdf369fce5..cf8ff93a69 100644
--- a/drivers/raw/ifpga/base/opae_hw_api.h
+++ b/drivers/raw/ifpga/base/opae_hw_api.h
@@ -309,7 +309,7 @@ static inline void opae_adapter_remove_acc(struct opae_adapter *adapter,
 
 struct opae_ether_addr {
 	unsigned char addr_bytes[OPAE_ETHER_ADDR_LEN];
-} __attribute__((__packed__));
+} __rte_packed;
 
 /* OPAE vBNG network API*/
 int opae_manager_read_mac_rom(struct opae_manager *mgr, int port,
diff --git a/drivers/raw/ioat/rte_ioat_spec.h b/drivers/raw/ioat/rte_ioat_spec.h
index 305e36dedb..c6e7929b2c 100644
--- a/drivers/raw/ioat/rte_ioat_spec.h
+++ b/drivers/raw/ioat/rte_ioat_spec.h
@@ -67,7 +67,7 @@ struct rte_ioat_registers {
 	uint8_t		reserved2[0x8];	/* 0xA0 */
 	uint32_t	chanerr;	/* 0xA8 */
 	uint32_t	chanerrmask;	/* 0xAC */
-} __attribute__((packed));
+} __rte_packed;
 
 #define RTE_IOAT_CHANCMD_RESET			0x20
 #define RTE_IOAT_CHANCMD_SUSPEND		0x04
diff --git a/drivers/vdpa/ifc/base/ifcvf.h b/drivers/vdpa/ifc/base/ifcvf.h
index 9be2770fea..eb04a94067 100644
--- a/drivers/vdpa/ifc/base/ifcvf.h
+++ b/drivers/vdpa/ifc/base/ifcvf.h
@@ -100,7 +100,7 @@ struct ifcvf_net_config {
 	u8    mac[6];
 	u16   status;
 	u16   max_virtqueue_pairs;
-} __attribute__((packed));
+} __rte_packed;
 
 struct ifcvf_pci_mem_resource {
 	u64      phys_addr; /**< Physical address, 0 if not resource. */
diff --git a/examples/ip_pipeline/cli.c b/examples/ip_pipeline/cli.c
index 3e23f4e7b7..d79699e2ed 100644
--- a/examples/ip_pipeline/cli.c
+++ b/examples/ip_pipeline/cli.c
@@ -2671,7 +2671,7 @@ struct pkt_key_qinq {
 	uint16_t svlan;
 	uint16_t ethertype_cvlan;
 	uint16_t cvlan;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct pkt_key_ipv4_5tuple {
 	uint8_t time_to_live;
@@ -2681,7 +2681,7 @@ struct pkt_key_ipv4_5tuple {
 	uint32_t da;
 	uint16_t sp;
 	uint16_t dp;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct pkt_key_ipv6_5tuple {
 	uint16_t payload_length;
@@ -2691,15 +2691,15 @@ struct pkt_key_ipv6_5tuple {
 	uint8_t da[16];
 	uint16_t sp;
 	uint16_t dp;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct pkt_key_ipv4_addr {
 	uint32_t addr;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct pkt_key_ipv6_addr {
 	uint8_t addr[16];
-} __attribute__((__packed__));
+} __rte_packed;
 
 static uint32_t
 parse_match(char **tokens,
diff --git a/examples/ipsec-secgw/ipsec.h b/examples/ipsec-secgw/ipsec.h
index 4f2fd61840..a70a4c4f4e 100644
--- a/examples/ipsec-secgw/ipsec.h
+++ b/examples/ipsec-secgw/ipsec.h
@@ -231,7 +231,7 @@ struct cnt_blk {
 	uint32_t salt;
 	uint64_t iv;
 	uint32_t cnt;
-} __attribute__((packed));
+} __rte_packed;
 
 struct traffic_type {
 	const uint8_t *data[MAX_PKT_BURST * 2];
diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index e90d18b24f..bb132441d9 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -280,7 +280,7 @@ struct ipv4_5tuple {
 	uint16_t port_dst;
 	uint16_t port_src;
 	uint8_t  proto;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct ipv6_5tuple {
 	uint8_t  ip_dst[IPV6_ADDR_LEN];
@@ -288,7 +288,7 @@ struct ipv6_5tuple {
 	uint16_t port_dst;
 	uint16_t port_src;
 	uint8_t  proto;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct ipv4_l3fwd_route {
 	struct ipv4_5tuple key;
diff --git a/examples/l3fwd/l3fwd_em.c b/examples/l3fwd/l3fwd_em.c
index 1226709106..7dab299526 100644
--- a/examples/l3fwd/l3fwd_em.c
+++ b/examples/l3fwd/l3fwd_em.c
@@ -48,7 +48,7 @@ struct ipv4_5tuple {
 	uint16_t port_dst;
 	uint16_t port_src;
 	uint8_t  proto;
-} __attribute__((__packed__));
+} __rte_packed;
 
 union ipv4_5tuple_host {
 	struct {
@@ -71,7 +71,7 @@ struct ipv6_5tuple {
 	uint16_t port_dst;
 	uint16_t port_src;
 	uint8_t  proto;
-} __attribute__((__packed__));
+} __rte_packed;
 
 union ipv6_5tuple_host {
 	struct {
diff --git a/examples/performance-thread/l3fwd-thread/main.c b/examples/performance-thread/l3fwd-thread/main.c
index ad540fd842..73a811c99e 100644
--- a/examples/performance-thread/l3fwd-thread/main.c
+++ b/examples/performance-thread/l3fwd-thread/main.c
@@ -331,7 +331,7 @@ struct ipv4_5tuple {
 	uint16_t port_dst;
 	uint16_t port_src;
 	uint8_t  proto;
-} __attribute__((__packed__));
+} __rte_packed;
 
 union ipv4_5tuple_host {
 	struct {
@@ -354,7 +354,7 @@ struct ipv6_5tuple {
 	uint16_t port_dst;
 	uint16_t port_src;
 	uint8_t  proto;
-} __attribute__((__packed__));
+} __rte_packed;
 
 union ipv6_5tuple_host {
 	struct {
diff --git a/examples/ptpclient/ptpclient.c b/examples/ptpclient/ptpclient.c
index a1a7ae699a..6fcd1aa26e 100644
--- a/examples/ptpclient/ptpclient.c
+++ b/examples/ptpclient/ptpclient.c
@@ -62,7 +62,7 @@ struct tstamp {
 	uint16_t   sec_msb;
 	uint32_t   sec_lsb;
 	uint32_t   ns;
-}  __attribute__((packed));
+}  __rte_packed;
 
 struct clock_id {
 	uint8_t id[8];
@@ -71,7 +71,7 @@ struct clock_id {
 struct port_id {
 	struct clock_id        clock_id;
 	uint16_t               port_number;
-}  __attribute__((packed));
+}  __rte_packed;
 
 struct ptp_header {
 	uint8_t              msg_type;
@@ -86,30 +86,30 @@ struct ptp_header {
 	uint16_t             seq_id;
 	uint8_t              control;
 	int8_t               log_message_interval;
-} __attribute__((packed));
+} __rte_packed;
 
 struct sync_msg {
 	struct ptp_header   hdr;
 	struct tstamp       origin_tstamp;
-} __attribute__((packed));
+} __rte_packed;
 
 struct follow_up_msg {
 	struct ptp_header   hdr;
 	struct tstamp       precise_origin_tstamp;
 	uint8_t             suffix[0];
-} __attribute__((packed));
+} __rte_packed;
 
 struct delay_req_msg {
 	struct ptp_header   hdr;
 	struct tstamp       origin_tstamp;
-} __attribute__((packed));
+} __rte_packed;
 
 struct delay_resp_msg {
 	struct ptp_header    hdr;
 	struct tstamp        rx_tstamp;
 	struct port_id       req_port_id;
 	uint8_t              suffix[0];
-} __attribute__((packed));
+} __rte_packed;
 
 struct ptp_message {
 	union {
@@ -118,7 +118,7 @@ struct ptp_message {
 		struct delay_req_msg       delay_req;
 		struct follow_up_msg       follow_up;
 		struct delay_resp_msg      delay_resp;
-	} __attribute__((packed));
+	} __rte_packed;
 };
 
 struct ptpv2_data_slave_ordinary {
diff --git a/examples/vhost_blk/blk_spec.h b/examples/vhost_blk/blk_spec.h
index 5875e2f869..594bd6a29b 100644
--- a/examples/vhost_blk/blk_spec.h
+++ b/examples/vhost_blk/blk_spec.h
@@ -90,6 +90,6 @@ struct vhost_user_msg {
 		struct vhost_memory_padded memory;
 		struct vhost_user_config cfg;
 	} payload;
-} __attribute((packed));
+} __rte_packed;
 
 #endif
diff --git a/lib/librte_eal/common/eal_private.h b/lib/librte_eal/common/eal_private.h
index ddcfbe2e44..8536ed70bb 100644
--- a/lib/librte_eal/common/eal_private.h
+++ b/lib/librte_eal/common/eal_private.h
@@ -57,7 +57,7 @@ struct rte_config {
 	 * DPDK instances
 	 */
 	struct rte_mem_config *mem_config;
-} __attribute__((__packed__));
+} __rte_packed;
 
 /**
  * Get the global configuration structure.
diff --git a/lib/librte_eal/common/include/rte_memzone.h b/lib/librte_eal/common/include/rte_memzone.h
index f478fa9e67..091c9522f7 100644
--- a/lib/librte_eal/common/include/rte_memzone.h
+++ b/lib/librte_eal/common/include/rte_memzone.h
@@ -68,7 +68,7 @@ struct rte_memzone {
 	int32_t socket_id;                /**< NUMA socket ID. */
 
 	uint32_t flags;                   /**< Characteristics of this memzone. */
-} __attribute__((__packed__));
+} __rte_packed;
 
 /**
  * Reserve a portion of physical memory.
diff --git a/lib/librte_efd/rte_efd.c b/lib/librte_efd/rte_efd.c
index 4deeb17924..6a799556d4 100644
--- a/lib/librte_efd/rte_efd.c
+++ b/lib/librte_efd/rte_efd.c
@@ -207,7 +207,7 @@ struct efd_offline_chunk_rules {
 struct efd_online_group_entry {
 	efd_hashfunc_t hash_idx[RTE_EFD_VALUE_NUM_BITS];
 	efd_lookuptbl_t lookup_table[RTE_EFD_VALUE_NUM_BITS];
-} __attribute__((__packed__));
+} __rte_packed;
 
 /**
  * A single chunk record, containing EFD_TARGET_CHUNK_NUM_RULES rules.
@@ -223,7 +223,7 @@ struct efd_online_chunk {
 
 	struct efd_online_group_entry groups[EFD_CHUNK_NUM_GROUPS];
 	/**< Array of all the groups in the chunk. */
-} __attribute__((__packed__));
+} __rte_packed;
 
 /**
  * EFD table structure
diff --git a/lib/librte_ip_frag/rte_ip_frag.h b/lib/librte_ip_frag/rte_ip_frag.h
index 0c0d95f47a..66edd7e33a 100644
--- a/lib/librte_ip_frag/rte_ip_frag.h
+++ b/lib/librte_ip_frag/rte_ip_frag.h
@@ -131,7 +131,7 @@ struct ipv6_extension_fragment {
 	uint8_t reserved;               /**< Reserved */
 	uint16_t frag_data;             /**< All fragmentation data */
 	uint32_t id;                    /**< Packet ID */
-} __attribute__((__packed__));
+} __rte_packed;
 
 
 
diff --git a/lib/librte_ipsec/crypto.h b/lib/librte_ipsec/crypto.h
index f8fbf8d4f3..3d03034590 100644
--- a/lib/librte_ipsec/crypto.h
+++ b/lib/librte_ipsec/crypto.h
@@ -19,7 +19,7 @@ struct aesctr_cnt_blk {
 	uint32_t nonce;
 	uint64_t iv;
 	uint32_t cnt;
-} __attribute__((packed));
+} __rte_packed;
 
  /*
   * AES-GCM devices have some specific requirements for IV and AAD formats.
@@ -30,7 +30,7 @@ struct aead_gcm_iv {
 	uint32_t salt;
 	uint64_t iv;
 	uint32_t cnt;
-} __attribute__((packed));
+} __rte_packed;
 
 struct aead_gcm_aad {
 	uint32_t spi;
@@ -44,12 +44,12 @@ struct aead_gcm_aad {
 		uint64_t u64;
 	} sqn;
 	uint32_t align0; /* align to 16B boundary */
-} __attribute__((packed));
+} __rte_packed;
 
 struct gcm_esph_iv {
 	struct rte_esp_hdr esph;
 	uint64_t iv;
-} __attribute__((packed));
+} __rte_packed;
 
 static inline void
 aes_ctr_cnt_blk_fill(struct aesctr_cnt_blk *ctr, uint64_t iv, uint32_t nonce)
diff --git a/lib/librte_net/rte_arp.h b/lib/librte_net/rte_arp.h
index 79a764fc85..feb0eb3e49 100644
--- a/lib/librte_net/rte_arp.h
+++ b/lib/librte_net/rte_arp.h
@@ -26,7 +26,7 @@ struct rte_arp_ipv4 {
 	uint32_t          arp_sip;  /**< sender IP address */
 	struct rte_ether_addr arp_tha;  /**< target hardware address */
 	uint32_t          arp_tip;  /**< target IP address */
-} __attribute__((__packed__)) __rte_aligned(2);
+} __rte_packed __rte_aligned(2);
 
 /**
  * ARP header.
@@ -47,7 +47,7 @@ struct rte_arp_hdr {
 #define	RTE_ARP_OP_INVREPLY   9 /* response identifying peer */
 
 	struct rte_arp_ipv4 arp_data;
-} __attribute__((__packed__)) __rte_aligned(2);
+} __rte_packed __rte_aligned(2);
 
 /**
  * @warning
diff --git a/lib/librte_net/rte_esp.h b/lib/librte_net/rte_esp.h
index bc7b20a964..464c513e2b 100644
--- a/lib/librte_net/rte_esp.h
+++ b/lib/librte_net/rte_esp.h
@@ -23,7 +23,7 @@ extern "C" {
 struct rte_esp_hdr {
 	rte_be32_t spi;  /**< Security Parameters Index */
 	rte_be32_t seq;  /**< packet sequence number */
-} __attribute__((__packed__));
+} __rte_packed;
 
 /**
  * ESP Trailer
@@ -31,7 +31,7 @@ struct rte_esp_hdr {
 struct rte_esp_tail {
 	uint8_t pad_len;     /**< number of pad bytes (0-255) */
 	uint8_t next_proto;  /**< IPv4 or IPv6 or next layer header */
-} __attribute__((__packed__));
+} __rte_packed;
 
 #ifdef __cplusplus
 }
diff --git a/lib/librte_net/rte_ether.h b/lib/librte_net/rte_ether.h
index 850c0fa387..0ae4e75b6c 100644
--- a/lib/librte_net/rte_ether.h
+++ b/lib/librte_net/rte_ether.h
@@ -283,7 +283,7 @@ struct rte_ether_hdr {
 struct rte_vlan_hdr {
 	uint16_t vlan_tci; /**< Priority (3) + CFI (1) + Identifier Code (12) */
 	uint16_t eth_proto;/**< Ethernet type of encapsulated frame. */
-} __attribute__((__packed__));
+} __rte_packed;
 
 
 
diff --git a/lib/librte_net/rte_gre.h b/lib/librte_net/rte_gre.h
index b5279ede17..ac3ddaada3 100644
--- a/lib/librte_net/rte_gre.h
+++ b/lib/librte_net/rte_gre.h
@@ -35,7 +35,7 @@ struct rte_gre_hdr {
 	uint16_t ver:3;  /**< Version Number */
 #endif
 	uint16_t proto;  /**< Protocol Type */
-} __attribute__((__packed__));
+} __rte_packed;
 
 #ifdef __cplusplus
 }
diff --git a/lib/librte_net/rte_gtp.h b/lib/librte_net/rte_gtp.h
index 59267c07b7..104384cc53 100644
--- a/lib/librte_net/rte_gtp.h
+++ b/lib/librte_net/rte_gtp.h
@@ -32,7 +32,7 @@ struct rte_gtp_hdr {
 	uint8_t msg_type;     /**< GTP message type */
 	uint16_t plen;        /**< Total payload length */
 	uint32_t teid;        /**< Tunnel endpoint ID */
-} __attribute__((__packed__));
+} __rte_packed;
 
 /** GTP header length */
 #define RTE_ETHER_GTP_HLEN \
diff --git a/lib/librte_net/rte_icmp.h b/lib/librte_net/rte_icmp.h
index e0aeed443e..4429e8e29f 100644
--- a/lib/librte_net/rte_icmp.h
+++ b/lib/librte_net/rte_icmp.h
@@ -31,7 +31,7 @@ struct rte_icmp_hdr {
 	rte_be16_t icmp_cksum;  /* ICMP packet checksum. */
 	rte_be16_t icmp_ident;  /* ICMP packet identifier. */
 	rte_be16_t icmp_seq_nb; /* ICMP packet sequence number. */
-} __attribute__((__packed__));
+} __rte_packed;
 
 /* ICMP packet types */
 #define RTE_IP_ICMP_ECHO_REPLY   0
diff --git a/lib/librte_net/rte_ip.h b/lib/librte_net/rte_ip.h
index 1ceb7b7931..a69430f9b7 100644
--- a/lib/librte_net/rte_ip.h
+++ b/lib/librte_net/rte_ip.h
@@ -41,7 +41,7 @@ struct rte_ipv4_hdr {
 	rte_be16_t hdr_checksum;	/**< header checksum */
 	rte_be32_t src_addr;		/**< source address */
 	rte_be32_t dst_addr;		/**< destination address */
-} __attribute__((__packed__));
+} __rte_packed;
 
 /** Create IPv4 address */
 #define RTE_IPV4(a, b, c, d) ((uint32_t)(((a) & 0xff) << 24) | \
@@ -360,7 +360,7 @@ struct rte_ipv6_hdr {
 	uint8_t  hop_limits;	/**< Hop limits. */
 	uint8_t  src_addr[16];	/**< IP address of source host. */
 	uint8_t  dst_addr[16];	/**< IP address of destination host(s). */
-} __attribute__((__packed__));
+} __rte_packed;
 
 /* IPv6 vtc_flow: IPv / TC / flow_label */
 #define RTE_IPV6_HDR_FL_SHIFT 0
diff --git a/lib/librte_net/rte_mpls.h b/lib/librte_net/rte_mpls.h
index 32b6431219..db91707e67 100644
--- a/lib/librte_net/rte_mpls.h
+++ b/lib/librte_net/rte_mpls.h
@@ -33,7 +33,7 @@ struct rte_mpls_hdr {
 	uint8_t tag_lsb:4;  /**< label(lsb) */
 #endif
 	uint8_t  ttl;       /**< Time to live. */
-} __attribute__((__packed__));
+} __rte_packed;
 
 #ifdef __cplusplus
 }
diff --git a/lib/librte_net/rte_sctp.h b/lib/librte_net/rte_sctp.h
index ab38be7689..965682dc2b 100644
--- a/lib/librte_net/rte_sctp.h
+++ b/lib/librte_net/rte_sctp.h
@@ -30,7 +30,7 @@ struct rte_sctp_hdr {
 	rte_be16_t dst_port; /**< Destin port. */
 	rte_be32_t tag;      /**< Validation tag. */
 	rte_be32_t cksum;    /**< Checksum. */
-} __attribute__((__packed__));
+} __rte_packed;
 
 #ifdef __cplusplus
 }
diff --git a/lib/librte_net/rte_tcp.h b/lib/librte_net/rte_tcp.h
index 06f623da83..506ac4e8ce 100644
--- a/lib/librte_net/rte_tcp.h
+++ b/lib/librte_net/rte_tcp.h
@@ -35,7 +35,7 @@ struct rte_tcp_hdr {
 	rte_be16_t rx_win;   /**< RX flow control window. */
 	rte_be16_t cksum;    /**< TCP checksum. */
 	rte_be16_t tcp_urp;  /**< TCP urgent pointer, if any. */
-} __attribute__((__packed__));
+} __rte_packed;
 
 /**
  * TCP Flags
diff --git a/lib/librte_net/rte_udp.h b/lib/librte_net/rte_udp.h
index 01c26b3de5..6135494c4a 100644
--- a/lib/librte_net/rte_udp.h
+++ b/lib/librte_net/rte_udp.h
@@ -30,7 +30,7 @@ struct rte_udp_hdr {
 	rte_be16_t dst_port;    /**< UDP destination port. */
 	rte_be16_t dgram_len;   /**< UDP datagram length */
 	rte_be16_t dgram_cksum; /**< UDP datagram checksum */
-} __attribute__((__packed__));
+} __rte_packed;
 
 #ifdef __cplusplus
 }
diff --git a/lib/librte_net/rte_vxlan.h b/lib/librte_net/rte_vxlan.h
index 63fc27240f..c23c10c9eb 100644
--- a/lib/librte_net/rte_vxlan.h
+++ b/lib/librte_net/rte_vxlan.h
@@ -31,7 +31,7 @@ extern "C" {
 struct rte_vxlan_hdr {
 	uint32_t vx_flags; /**< flag (8) + Reserved (24). */
 	uint32_t vx_vni;   /**< VNI (24) + Reserved (8). */
-} __attribute__((__packed__));
+} __rte_packed;
 
 /** VXLAN tunnel header length. */
 #define RTE_ETHER_VXLAN_HLEN \
@@ -48,7 +48,7 @@ struct rte_vxlan_gpe_hdr {
 	uint8_t reserved[2]; /**< Reserved (16). */
 	uint8_t proto;       /**< next-protocol (8). */
 	uint32_t vx_vni;     /**< VNI (24) + Reserved (8). */
-} __attribute__((__packed__));
+} __rte_packed;
 
 /** VXLAN-GPE tunnel header length. */
 #define RTE_ETHER_VXLAN_GPE_HLEN (sizeof(struct rte_udp_hdr) + \
diff --git a/lib/librte_pipeline/rte_table_action.c b/lib/librte_pipeline/rte_table_action.c
index e6af23b688..98f3438774 100644
--- a/lib/librte_pipeline/rte_table_action.c
+++ b/lib/librte_pipeline/rte_table_action.c
@@ -64,7 +64,7 @@ lb_cfg_check(struct rte_table_action_lb_config *cfg)
 
 struct lb_data {
 	uint32_t out[RTE_TABLE_ACTION_LB_TABLE_SIZE];
-} __attribute__((__packed__));
+} __rte_packed;
 
 static int
 lb_apply(struct lb_data *data,
@@ -111,7 +111,7 @@ mtr_cfg_check(struct rte_table_action_mtr_config *mtr)
 struct mtr_trtcm_data {
 	struct rte_meter_trtcm trtcm;
 	uint64_t stats[RTE_COLORS];
-} __attribute__((__packed__));
+} __rte_packed;
 
 #define MTR_TRTCM_DATA_METER_PROFILE_ID_GET(data)          \
 	(((data)->stats[RTE_COLOR_GREEN] & 0xF8LLU) >> 3)
@@ -361,7 +361,7 @@ tm_cfg_check(struct rte_table_action_tm_config *tm)
 struct tm_data {
 	uint32_t queue_id;
 	uint32_t reserved;
-} __attribute__((__packed__));
+} __rte_packed;
 
 static int
 tm_apply_check(struct rte_table_action_tm_params *p,
@@ -471,7 +471,7 @@ struct encap_mpls_data {
 	struct rte_ether_hdr ether;
 	uint32_t mpls[RTE_TABLE_ACTION_MPLS_LABELS_MAX];
 	uint32_t mpls_count;
-} __attribute__((__packed__)) __rte_aligned(2);
+} __rte_packed __rte_aligned(2);
 
 #define PPP_PROTOCOL_IP                                    0x0021
 
@@ -494,7 +494,7 @@ struct encap_vxlan_ipv4_data {
 	struct rte_ipv4_hdr ipv4;
 	struct rte_udp_hdr udp;
 	struct rte_vxlan_hdr vxlan;
-} __attribute__((__packed__)) __rte_aligned(2);
+} __rte_packed __rte_aligned(2);
 
 struct encap_vxlan_ipv4_vlan_data {
 	struct rte_ether_hdr ether;
@@ -502,14 +502,14 @@ struct encap_vxlan_ipv4_vlan_data {
 	struct rte_ipv4_hdr ipv4;
 	struct rte_udp_hdr udp;
 	struct rte_vxlan_hdr vxlan;
-} __attribute__((__packed__)) __rte_aligned(2);
+} __rte_packed __rte_aligned(2);
 
 struct encap_vxlan_ipv6_data {
 	struct rte_ether_hdr ether;
 	struct rte_ipv6_hdr ipv6;
 	struct rte_udp_hdr udp;
 	struct rte_vxlan_hdr vxlan;
-} __attribute__((__packed__)) __rte_aligned(2);
+} __rte_packed __rte_aligned(2);
 
 struct encap_vxlan_ipv6_vlan_data {
 	struct rte_ether_hdr ether;
@@ -517,14 +517,14 @@ struct encap_vxlan_ipv6_vlan_data {
 	struct rte_ipv6_hdr ipv6;
 	struct rte_udp_hdr udp;
 	struct rte_vxlan_hdr vxlan;
-} __attribute__((__packed__)) __rte_aligned(2);
+} __rte_packed __rte_aligned(2);
 
 struct encap_qinq_pppoe_data {
 	struct rte_ether_hdr ether;
 	struct rte_vlan_hdr svlan;
 	struct rte_vlan_hdr cvlan;
 	struct pppoe_ppp_hdr pppoe_ppp;
-} __attribute__((__packed__)) __rte_aligned(2);
+} __rte_packed __rte_aligned(2);
 
 static size_t
 encap_data_size(struct rte_table_action_encap_config *encap)
@@ -1209,12 +1209,12 @@ nat_cfg_check(struct rte_table_action_nat_config *nat)
 struct nat_ipv4_data {
 	uint32_t addr;
 	uint16_t port;
-} __attribute__((__packed__));
+} __rte_packed;
 
 struct nat_ipv6_data {
 	uint8_t addr[16];
 	uint16_t port;
-} __attribute__((__packed__));
+} __rte_packed;
 
 static size_t
 nat_data_size(struct rte_table_action_nat_config *nat __rte_unused,
@@ -1505,7 +1505,7 @@ ttl_cfg_check(struct rte_table_action_ttl_config *ttl)
 
 struct ttl_data {
 	uint32_t n_packets;
-} __attribute__((__packed__));
+} __rte_packed;
 
 #define TTL_INIT(data, decrement)                         \
 	((data)->n_packets = (decrement) ? 1 : 0)
@@ -1589,7 +1589,7 @@ stats_cfg_check(struct rte_table_action_stats_config *stats)
 struct stats_data {
 	uint64_t n_packets;
 	uint64_t n_bytes;
-} __attribute__((__packed__));
+} __rte_packed;
 
 static int
 stats_apply(struct stats_data *data,
@@ -1614,7 +1614,7 @@ pkt_work_stats(struct stats_data *data,
  */
 struct time_data {
 	uint64_t time;
-} __attribute__((__packed__));
+} __rte_packed;
 
 static int
 time_apply(struct time_data *data,
@@ -1727,7 +1727,7 @@ struct sym_crypto_data {
 	/** Private data size to store cipher iv / aad. */
 	uint8_t iv_aad_data[32];
 
-} __attribute__((__packed__));
+} __rte_packed;
 
 static int
 sym_crypto_cfg_check(struct rte_table_action_sym_crypto_config *cfg)
@@ -2070,7 +2070,7 @@ pkt_work_sym_crypto(struct rte_mbuf *mbuf, struct sym_crypto_data *data,
  */
 struct tag_data {
 	uint32_t tag;
-} __attribute__((__packed__));
+} __rte_packed;
 
 static int
 tag_apply(struct tag_data *data,
@@ -2114,7 +2114,7 @@ pkt4_work_tag(struct rte_mbuf *mbuf0,
  */
 struct decap_data {
 	uint16_t n;
-} __attribute__((__packed__));
+} __rte_packed;
 
 static int
 decap_apply(struct decap_data *data,
diff --git a/lib/librte_vhost/vhost_user.h b/lib/librte_vhost/vhost_user.h
index 86c364a935..1f65efa4a9 100644
--- a/lib/librte_vhost/vhost_user.h
+++ b/lib/librte_vhost/vhost_user.h
@@ -148,7 +148,7 @@ typedef struct VhostUserMsg {
 	} payload;
 	int fds[VHOST_MEMORY_MAX_NREGIONS];
 	int fd_num;
-} __attribute((packed)) VhostUserMsg;
+} __rte_packed VhostUserMsg;
 
 #define VHOST_USER_HDR_SIZE offsetof(VhostUserMsg, payload.u64)
 
