[v3,3/4] net/cnxk: restructure for cn10k datapath

Message ID 20230125113126.2860273-3-rbhansali@marvell.com (mailing list archive)
State Accepted, archived
Delegated to: Jerin Jacob
Headers
Series [v3,1/4] common/cnxk: restructure for cn10k datapath |

Checks

Context Check Description
ci/checkpatch warning coding style issues

Commit Message

Rahul Bhansali Jan. 25, 2023, 11:31 a.m. UTC
  Restructure for separate cn10k datapath functionality to reduce
recompilation time in case of any changes in control path.

New cnxk_ethdev_dp.h and cn10k_rxtx.h files are created to have
macros, functions as required for datapath with minimal dependency
on roc changes.

Signed-off-by: Rahul Bhansali <rbhansali@marvell.com>
---
Changes in v3: Reorder patch in series for compilation fix.
Changes in v2: No changes.

 drivers/net/cnxk/cn10k_ethdev.h               |  71 +-------
 drivers/net/cnxk/cn10k_rx.h                   |   5 +-
 drivers/net/cnxk/cn10k_rxtx.h                 | 116 ++++++++++++
 drivers/net/cnxk/cn10k_tx.h                   |   2 +-
 drivers/net/cnxk/cnxk_ethdev.h                | 157 +---------------
 drivers/net/cnxk/cnxk_ethdev_dp.h             | 167 ++++++++++++++++++
 drivers/net/cnxk/rx/cn10k/rx_0_15.c           |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_0_15_mseg.c      |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_0_15_vec.c       |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_0_15_vec_mseg.c  |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_112_127.c        |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_112_127_mseg.c   |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_112_127_vec.c    |   5 +-
 .../net/cnxk/rx/cn10k/rx_112_127_vec_mseg.c   |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_16_31.c          |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_16_31_mseg.c     |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_16_31_vec.c      |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_16_31_vec_mseg.c |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_32_47.c          |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_32_47_mseg.c     |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_32_47_vec.c      |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_32_47_vec_mseg.c |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_48_63.c          |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_48_63_mseg.c     |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_48_63_vec.c      |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_48_63_vec_mseg.c |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_64_79.c          |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_64_79_mseg.c     |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_64_79_vec.c      |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_64_79_vec_mseg.c |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_80_95.c          |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_80_95_mseg.c     |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_80_95_vec.c      |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_80_95_vec_mseg.c |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_96_111.c         |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_96_111_mseg.c    |   5 +-
 drivers/net/cnxk/rx/cn10k/rx_96_111_vec.c     |   5 +-
 .../net/cnxk/rx/cn10k/rx_96_111_vec_mseg.c    |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_0_15.c           |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_0_15_mseg.c      |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_0_15_vec.c       |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_0_15_vec_mseg.c  |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_112_127.c        |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_112_127_mseg.c   |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_112_127_vec.c    |   5 +-
 .../net/cnxk/tx/cn10k/tx_112_127_vec_mseg.c   |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_16_31.c          |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_16_31_mseg.c     |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_16_31_vec.c      |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_16_31_vec_mseg.c |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_32_47.c          |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_32_47_mseg.c     |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_32_47_vec.c      |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_32_47_vec_mseg.c |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_48_63.c          |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_48_63_mseg.c     |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_48_63_vec.c      |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_48_63_vec_mseg.c |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_64_79.c          |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_64_79_mseg.c     |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_64_79_vec.c      |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_64_79_vec_mseg.c |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_80_95.c          |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_80_95_mseg.c     |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_80_95_vec.c      |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_80_95_vec_mseg.c |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_96_111.c         |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_96_111_mseg.c    |   5 +-
 drivers/net/cnxk/tx/cn10k/tx_96_111_vec.c     |   5 +-
 .../net/cnxk/tx/cn10k/tx_96_111_vec_mseg.c    |   5 +-
 70 files changed, 545 insertions(+), 293 deletions(-)
 create mode 100644 drivers/net/cnxk/cn10k_rxtx.h
 create mode 100644 drivers/net/cnxk/cnxk_ethdev_dp.h

--
2.25.1
  

Patch

diff --git a/drivers/net/cnxk/cn10k_ethdev.h b/drivers/net/cnxk/cn10k_ethdev.h
index c843ba9881..55d7f88716 100644
--- a/drivers/net/cnxk/cn10k_ethdev.h
+++ b/drivers/net/cnxk/cn10k_ethdev.h
@@ -6,52 +6,7 @@ 

 #include <cnxk_ethdev.h>
 #include <cnxk_security.h>
-
-struct cn10k_eth_txq {
-	uint64_t send_hdr_w0;
-	int64_t fc_cache_pkts;
-	uint64_t *fc_mem;
-	uintptr_t lmt_base;
-	rte_iova_t io_addr;
-	uint16_t sqes_per_sqb_log2;
-	int16_t nb_sqb_bufs_adj;
-	rte_iova_t cpt_io_addr;
-	uint64_t sa_base;
-	uint64_t *cpt_fc;
-	uint16_t cpt_desc;
-	int32_t *cpt_fc_sw;
-	uint64_t lso_tun_fmt;
-	uint64_t ts_mem;
-	uint64_t mark_flag : 8;
-	uint64_t mark_fmt : 48;
-	struct cnxk_eth_txq_comp tx_compl;
-} __plt_cache_aligned;
-
-struct cn10k_eth_rxq {
-	uint64_t mbuf_initializer;
-	uintptr_t desc;
-	void *lookup_mem;
-	uintptr_t cq_door;
-	uint64_t wdata;
-	int64_t *cq_status;
-	uint32_t head;
-	uint32_t qmask;
-	uint32_t available;
-	uint16_t data_off;
-	uint64_t sa_base;
-	uint64_t lmt_base;
-	uint64_t meta_aura;
-	uint16_t rq;
-	struct cnxk_timesync_info *tstamp;
-} __plt_cache_aligned;
-
-/* Private data in sw rsvd area of struct roc_ot_ipsec_inb_sa */
-struct cn10k_inb_priv_data {
-	void *userdata;
-	int reass_dynfield_off;
-	int reass_dynflag_bit;
-	struct cnxk_eth_sec_sess *eth_sec;
-};
+#include <cn10k_rxtx.h>

 /* Private data in sw rsvd area of struct roc_ot_ipsec_outb_sa */
 struct cn10k_outb_priv_data {
@@ -64,26 +19,6 @@  struct cn10k_outb_priv_data {
 	uint32_t sa_idx;
 };

-struct cn10k_sec_sess_priv {
-	union {
-		struct {
-			uint32_t sa_idx;
-			uint8_t inb_sa : 1;
-			uint8_t outer_ip_ver : 1;
-			uint8_t mode : 1;
-			uint8_t roundup_byte : 5;
-			uint8_t roundup_len;
-			uint16_t partial_len : 10;
-			uint16_t chksum : 2;
-			uint16_t dec_ttl : 1;
-			uint16_t nixtx_off : 1;
-			uint16_t rsvd : 2;
-		};
-
-		uint64_t u64;
-	};
-} __rte_packed;
-
 /* Rx and Tx routines */
 void cn10k_eth_set_rx_function(struct rte_eth_dev *eth_dev);
 void cn10k_eth_set_tx_function(struct rte_eth_dev *eth_dev);
@@ -95,8 +30,4 @@  void cn10k_eth_sec_ops_override(void);
 void cn10k_eth_sec_sso_work_cb(uint64_t *gw, void *args,
 			       uint32_t soft_exp_event);

-#define LMT_OFF(lmt_addr, lmt_num, offset)                                     \
-	(void *)((uintptr_t)(lmt_addr) +                                       \
-		 ((uint64_t)(lmt_num) << ROC_LMT_LINE_SIZE_LOG2) + (offset))
-
 #endif /* __CN10K_ETHDEV_H__ */
diff --git a/drivers/net/cnxk/cn10k_rx.h b/drivers/net/cnxk/cn10k_rx.h
index 38e82486ed..9fdb5565e9 100644
--- a/drivers/net/cnxk/cn10k_rx.h
+++ b/drivers/net/cnxk/cn10k_rx.h
@@ -4,10 +4,11 @@ 
 #ifndef __CN10K_RX_H__
 #define __CN10K_RX_H__

-#include <rte_ether.h>
+#include <rte_ethdev.h>
 #include <rte_vect.h>
+#include "cn10k_rxtx.h"

-#include <cnxk_ethdev.h>
+#define NSEC_PER_SEC             1000000000L

 #define NIX_RX_OFFLOAD_NONE	     (0)
 #define NIX_RX_OFFLOAD_RSS_F	     BIT(0)
diff --git a/drivers/net/cnxk/cn10k_rxtx.h b/drivers/net/cnxk/cn10k_rxtx.h
new file mode 100644
index 0000000000..c256d54307
--- /dev/null
+++ b/drivers/net/cnxk/cn10k_rxtx.h
@@ -0,0 +1,116 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 Marvell.
+ */
+
+#ifndef __CN10K_RXTX_H__
+#define __CN10K_RXTX_H__
+
+#include <rte_security.h>
+
+/* ROC Constants */
+#include "roc_constants.h"
+
+/* Platform definition */
+#include "roc_platform.h"
+
+/* IO */
+#if defined(__aarch64__)
+#include "roc_io.h"
+#else
+#include "roc_io_generic.h"
+#endif
+
+/* HW structure definition */
+#include "hw/cpt.h"
+#include "hw/nix.h"
+#include "hw/npa.h"
+#include "hw/npc.h"
+#include "hw/ssow.h"
+
+#include "roc_ie_ot.h"
+
+/* NPA */
+#include "roc_npa_dp.h"
+
+/* SSO */
+#include "roc_sso_dp.h"
+
+/* CPT */
+#include "roc_cpt.h"
+
+/* NIX Inline dev */
+#include "roc_nix_inl_dp.h"
+
+#include "cnxk_ethdev_dp.h"
+
+struct cn10k_eth_txq {
+	uint64_t send_hdr_w0;
+	int64_t fc_cache_pkts;
+	uint64_t *fc_mem;
+	uintptr_t lmt_base;
+	rte_iova_t io_addr;
+	uint16_t sqes_per_sqb_log2;
+	int16_t nb_sqb_bufs_adj;
+	rte_iova_t cpt_io_addr;
+	uint64_t sa_base;
+	uint64_t *cpt_fc;
+	uint16_t cpt_desc;
+	int32_t *cpt_fc_sw;
+	uint64_t lso_tun_fmt;
+	uint64_t ts_mem;
+	uint64_t mark_flag : 8;
+	uint64_t mark_fmt : 48;
+	struct cnxk_eth_txq_comp tx_compl;
+} __plt_cache_aligned;
+
+struct cn10k_eth_rxq {
+	uint64_t mbuf_initializer;
+	uintptr_t desc;
+	void *lookup_mem;
+	uintptr_t cq_door;
+	uint64_t wdata;
+	int64_t *cq_status;
+	uint32_t head;
+	uint32_t qmask;
+	uint32_t available;
+	uint16_t data_off;
+	uint64_t sa_base;
+	uint64_t lmt_base;
+	uint64_t meta_aura;
+	uint16_t rq;
+	struct cnxk_timesync_info *tstamp;
+} __plt_cache_aligned;
+
+/* Private data in sw rsvd area of struct roc_ot_ipsec_inb_sa */
+struct cn10k_inb_priv_data {
+	void *userdata;
+	int reass_dynfield_off;
+	int reass_dynflag_bit;
+	struct cnxk_eth_sec_sess *eth_sec;
+};
+
+struct cn10k_sec_sess_priv {
+	union {
+		struct {
+			uint32_t sa_idx;
+			uint8_t inb_sa : 1;
+			uint8_t outer_ip_ver : 1;
+			uint8_t mode : 1;
+			uint8_t roundup_byte : 5;
+			uint8_t roundup_len;
+			uint16_t partial_len : 10;
+			uint16_t chksum : 2;
+			uint16_t dec_ttl : 1;
+			uint16_t nixtx_off : 1;
+			uint16_t rsvd : 2;
+		};
+
+		uint64_t u64;
+	};
+} __rte_packed;
+
+#define LMT_OFF(lmt_addr, lmt_num, offset)                                     \
+	(void *)((uintptr_t)(lmt_addr) +                                       \
+		 ((uint64_t)(lmt_num) << ROC_LMT_LINE_SIZE_LOG2) + (offset))
+
+#endif /* __CN10K_RXTX_H__ */
diff --git a/drivers/net/cnxk/cn10k_tx.h b/drivers/net/cnxk/cn10k_tx.h
index c51de742ad..1c1ce9642a 100644
--- a/drivers/net/cnxk/cn10k_tx.h
+++ b/drivers/net/cnxk/cn10k_tx.h
@@ -5,8 +5,8 @@ 
 #define __CN10K_TX_H__

 #include <rte_vect.h>
-
 #include <rte_eventdev.h>
+#include "cn10k_rxtx.h"

 #define NIX_TX_OFFLOAD_NONE	      (0)
 #define NIX_TX_OFFLOAD_L3_L4_CSUM_F   BIT(0)
diff --git a/drivers/net/cnxk/cnxk_ethdev.h b/drivers/net/cnxk/cnxk_ethdev.h
index ea8c70b8b7..f0eab4244c 100644
--- a/drivers/net/cnxk/cnxk_ethdev.h
+++ b/drivers/net/cnxk/cnxk_ethdev.h
@@ -22,6 +22,7 @@ 
 #include <rte_tm_driver.h>

 #include "roc_api.h"
+#include <cnxk_ethdev_dp.h>

 #define CNXK_ETH_DEV_PMD_VERSION "1.0"

@@ -48,19 +49,6 @@ 
 /* LPB & SPB */
 #define CNXK_NIX_NUM_POOLS_MAX 2

-/* If PTP is enabled additional SEND MEM DESC is required which
- * takes 2 words, hence max 7 iova address are possible
- */
-#if defined(RTE_LIBRTE_IEEE1588)
-#define CNXK_NIX_TX_NB_SEG_MAX 7
-#else
-#define CNXK_NIX_TX_NB_SEG_MAX 9
-#endif
-
-#define CNXK_NIX_TX_MSEG_SG_DWORDS                                             \
-	((RTE_ALIGN_MUL_CEIL(CNXK_NIX_TX_NB_SEG_MAX, 3) / 3) +                 \
-	 CNXK_NIX_TX_NB_SEG_MAX)
-
 #define CNXK_NIX_RSS_L3_L4_SRC_DST                                             \
 	(RTE_ETH_RSS_L3_SRC_ONLY | RTE_ETH_RSS_L3_DST_ONLY |                   \
 	 RTE_ETH_RSS_L4_SRC_ONLY | RTE_ETH_RSS_L4_DST_ONLY)
@@ -111,63 +99,14 @@ 
 #define RSS_DMAC_INDEX 5

 /* Default mark value used when none is provided. */
-#define CNXK_FLOW_ACTION_FLAG_DEFAULT 0xffff
 #define CNXK_NIX_MTR_COUNT_MAX	      73 /* 64(leaf) + 8(mid) + 1(top) */

 /* Default cycle counter mask */
 #define CNXK_CYCLECOUNTER_MASK     0xffffffffffffffffULL
-#define CNXK_NIX_TIMESYNC_RX_OFFSET 8
-
-#define PTYPE_NON_TUNNEL_WIDTH	  16
-#define PTYPE_TUNNEL_WIDTH	  12
-#define PTYPE_NON_TUNNEL_ARRAY_SZ BIT(PTYPE_NON_TUNNEL_WIDTH)
-#define PTYPE_TUNNEL_ARRAY_SZ	  BIT(PTYPE_TUNNEL_WIDTH)
-#define PTYPE_ARRAY_SZ                                                         \
-	((PTYPE_NON_TUNNEL_ARRAY_SZ + PTYPE_TUNNEL_ARRAY_SZ) * sizeof(uint16_t))
-
-/* NIX_RX_PARSE_S's ERRCODE + ERRLEV (12 bits) */
-#define ERRCODE_ERRLEN_WIDTH 12
-#define ERR_ARRAY_SZ	     ((BIT(ERRCODE_ERRLEN_WIDTH)) * sizeof(uint32_t))

 /* Fastpath lookup */
 #define CNXK_NIX_FASTPATH_LOOKUP_MEM "cnxk_nix_fastpath_lookup_mem"

-#define CNXK_NIX_UDP_TUN_BITMASK                                               \
-	((1ull << (RTE_MBUF_F_TX_TUNNEL_VXLAN >> 45)) |                               \
-	 (1ull << (RTE_MBUF_F_TX_TUNNEL_GENEVE >> 45)))
-
-/* Subtype from inline outbound error event */
-#define CNXK_ETHDEV_SEC_OUTB_EV_SUB 0xFFUL
-
-/* SPI will be in 20 bits of tag */
-#define CNXK_ETHDEV_SPI_TAG_MASK 0xFFFFFUL
-
-#define CNXK_NIX_PFC_CHAN_COUNT 16
-
-#define CNXK_TM_MARK_VLAN_DEI BIT_ULL(0)
-#define CNXK_TM_MARK_IP_DSCP  BIT_ULL(1)
-#define CNXK_TM_MARK_IP_ECN   BIT_ULL(2)
-
-#define CNXK_TM_MARK_MASK                                                      \
-	(CNXK_TM_MARK_VLAN_DEI | CNXK_TM_MARK_IP_DSCP | CNXK_TM_MARK_IP_ECN)
-
-#define CNXK_TX_MARK_FMT_MASK (0xFFFFFFFFFFFFull)
-
-struct cnxk_eth_txq_comp {
-	uintptr_t desc_base;
-	uintptr_t cq_door;
-	int64_t *cq_status;
-	uint64_t wdata;
-	uint32_t head;
-	uint32_t qmask;
-	uint32_t nb_desc_mask;
-	uint32_t available;
-	uint32_t sqe_id;
-	bool ena;
-	struct rte_mbuf **ptr;
-	rte_spinlock_t ext_buf_lock;
-};
-
 struct cnxk_fc_cfg {
 	enum rte_eth_fc_mode mode;
 	uint8_t rx_pause;
@@ -191,15 +130,6 @@  struct cnxk_eth_qconf {
 	uint8_t valid;
 };

-struct cnxk_timesync_info {
-	uint8_t rx_ready;
-	uint64_t rx_tstamp;
-	uint64_t rx_tstamp_dynflag;
-	int tstamp_dynfield_offset;
-	rte_iova_t tx_tstamp_iova;
-	uint64_t *tx_tstamp;
-} __plt_cache_aligned;
-
 struct cnxk_meter_node {
 #define MAX_PRV_MTR_NODES 10
 	TAILQ_ENTRY(cnxk_meter_node) next;
@@ -711,89 +641,4 @@  int nix_priority_flow_ctrl_rq_conf(struct rte_eth_dev *eth_dev, uint16_t qid,
 int nix_priority_flow_ctrl_sq_conf(struct rte_eth_dev *eth_dev, uint16_t qid,
 				   uint8_t rx_pause, uint8_t tc);

-/* Inlines */
-static __rte_always_inline uint64_t
-cnxk_pktmbuf_detach(struct rte_mbuf *m)
-{
-	struct rte_mempool *mp = m->pool;
-	uint32_t mbuf_size, buf_len;
-	struct rte_mbuf *md;
-	uint16_t priv_size;
-	uint16_t refcount;
-
-	/* Update refcount of direct mbuf */
-	md = rte_mbuf_from_indirect(m);
-	refcount = rte_mbuf_refcnt_update(md, -1);
-
-	priv_size = rte_pktmbuf_priv_size(mp);
-	mbuf_size = (uint32_t)(sizeof(struct rte_mbuf) + priv_size);
-	buf_len = rte_pktmbuf_data_room_size(mp);
-
-	m->priv_size = priv_size;
-	m->buf_addr = (char *)m + mbuf_size;
-	rte_mbuf_iova_set(m, rte_mempool_virt2iova(m) + mbuf_size);
-	m->buf_len = (uint16_t)buf_len;
-	rte_pktmbuf_reset_headroom(m);
-	m->data_len = 0;
-	m->ol_flags = 0;
-	m->next = NULL;
-	m->nb_segs = 1;
-
-	/* Now indirect mbuf is safe to free */
-	rte_pktmbuf_free(m);
-
-	if (refcount == 0) {
-		rte_mbuf_refcnt_set(md, 1);
-		md->data_len = 0;
-		md->ol_flags = 0;
-		md->next = NULL;
-		md->nb_segs = 1;
-		return 0;
-	} else {
-		return 1;
-	}
-}
-
-static __rte_always_inline uint64_t
-cnxk_nix_prefree_seg(struct rte_mbuf *m)
-{
-	if (likely(rte_mbuf_refcnt_read(m) == 1)) {
-		if (!RTE_MBUF_DIRECT(m))
-			return cnxk_pktmbuf_detach(m);
-
-		m->next = NULL;
-		m->nb_segs = 1;
-		return 0;
-	} else if (rte_mbuf_refcnt_update(m, -1) == 0) {
-		if (!RTE_MBUF_DIRECT(m))
-			return cnxk_pktmbuf_detach(m);
-
-		rte_mbuf_refcnt_set(m, 1);
-		m->next = NULL;
-		m->nb_segs = 1;
-		return 0;
-	}
-
-	/* Mbuf is having refcount more than 1 so need not to be freed */
-	return 1;
-}
-
-static inline rte_mbuf_timestamp_t *
-cnxk_nix_timestamp_dynfield(struct rte_mbuf *mbuf,
-			    struct cnxk_timesync_info *info)
-{
-	return RTE_MBUF_DYNFIELD(mbuf, info->tstamp_dynfield_offset,
-				 rte_mbuf_timestamp_t *);
-}
-
-static __rte_always_inline uintptr_t
-cnxk_nix_sa_base_get(uint16_t port, const void *lookup_mem)
-{
-	uintptr_t sa_base_tbl;
-
-	sa_base_tbl = (uintptr_t)lookup_mem;
-	sa_base_tbl += PTYPE_ARRAY_SZ + ERR_ARRAY_SZ;
-	return *((const uintptr_t *)sa_base_tbl + port);
-}
-
 #endif /* __CNXK_ETHDEV_H__ */
diff --git a/drivers/net/cnxk/cnxk_ethdev_dp.h b/drivers/net/cnxk/cnxk_ethdev_dp.h
new file mode 100644
index 0000000000..a812c78eda
--- /dev/null
+++ b/drivers/net/cnxk/cnxk_ethdev_dp.h
@@ -0,0 +1,167 @@ 
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2022 Marvell.
+ */
+#ifndef __CNXK_ETHDEV_DP_H__
+#define __CNXK_ETHDEV_DP_H__
+
+#include <rte_mbuf.h>
+
+/* If PTP is enabled additional SEND MEM DESC is required which
+ * takes 2 words, hence max 7 iova address are possible
+ */
+#if defined(RTE_LIBRTE_IEEE1588)
+#define CNXK_NIX_TX_NB_SEG_MAX 7
+#else
+#define CNXK_NIX_TX_NB_SEG_MAX 9
+#endif
+
+#define CNXK_NIX_TX_MSEG_SG_DWORDS                                             \
+	((RTE_ALIGN_MUL_CEIL(CNXK_NIX_TX_NB_SEG_MAX, 3) / 3) +                 \
+	 CNXK_NIX_TX_NB_SEG_MAX)
+
+/* Default mark value used when none is provided. */
+#define CNXK_FLOW_ACTION_FLAG_DEFAULT 0xffff
+#define CNXK_NIX_TIMESYNC_RX_OFFSET 8
+
+#define PTYPE_NON_TUNNEL_WIDTH	  16
+#define PTYPE_TUNNEL_WIDTH	  12
+#define PTYPE_NON_TUNNEL_ARRAY_SZ BIT(PTYPE_NON_TUNNEL_WIDTH)
+#define PTYPE_TUNNEL_ARRAY_SZ	  BIT(PTYPE_TUNNEL_WIDTH)
+#define PTYPE_ARRAY_SZ                                                         \
+	((PTYPE_NON_TUNNEL_ARRAY_SZ + PTYPE_TUNNEL_ARRAY_SZ) * sizeof(uint16_t))
+
+/* NIX_RX_PARSE_S's ERRCODE + ERRLEV (12 bits) */
+#define ERRCODE_ERRLEN_WIDTH 12
+#define ERR_ARRAY_SZ	     ((BIT(ERRCODE_ERRLEN_WIDTH)) * sizeof(uint32_t))
+
+#define CNXK_NIX_UDP_TUN_BITMASK                                               \
+	((1ull << (RTE_MBUF_F_TX_TUNNEL_VXLAN >> 45)) |                               \
+	 (1ull << (RTE_MBUF_F_TX_TUNNEL_GENEVE >> 45)))
+
+/* Subtype from inline outbound error event */
+#define CNXK_ETHDEV_SEC_OUTB_EV_SUB 0xFFUL
+
+/* SPI will be in 20 bits of tag */
+#define CNXK_ETHDEV_SPI_TAG_MASK 0xFFFFFUL
+
+#define CNXK_NIX_PFC_CHAN_COUNT 16
+
+#define CNXK_TM_MARK_VLAN_DEI BIT_ULL(0)
+#define CNXK_TM_MARK_IP_DSCP  BIT_ULL(1)
+#define CNXK_TM_MARK_IP_ECN   BIT_ULL(2)
+
+#define CNXK_TM_MARK_MASK                                                      \
+	(CNXK_TM_MARK_VLAN_DEI | CNXK_TM_MARK_IP_DSCP | CNXK_TM_MARK_IP_ECN)
+
+#define CNXK_TX_MARK_FMT_MASK (0xFFFFFFFFFFFFull)
+
+struct cnxk_eth_txq_comp {
+	uintptr_t desc_base;
+	uintptr_t cq_door;
+	int64_t *cq_status;
+	uint64_t wdata;
+	uint32_t head;
+	uint32_t qmask;
+	uint32_t nb_desc_mask;
+	uint32_t available;
+	uint32_t sqe_id;
+	bool ena;
+	struct rte_mbuf **ptr;
+	rte_spinlock_t ext_buf_lock;
+};
+
+struct cnxk_timesync_info {
+	uint8_t rx_ready;
+	uint64_t rx_tstamp;
+	uint64_t rx_tstamp_dynflag;
+	int tstamp_dynfield_offset;
+	rte_iova_t tx_tstamp_iova;
+	uint64_t *tx_tstamp;
+} __plt_cache_aligned;
+
+/* Inlines */
+static __rte_always_inline uint64_t
+cnxk_pktmbuf_detach(struct rte_mbuf *m)
+{
+	struct rte_mempool *mp = m->pool;
+	uint32_t mbuf_size, buf_len;
+	struct rte_mbuf *md;
+	uint16_t priv_size;
+	uint16_t refcount;
+
+	/* Update refcount of direct mbuf */
+	md = rte_mbuf_from_indirect(m);
+	refcount = rte_mbuf_refcnt_update(md, -1);
+
+	priv_size = rte_pktmbuf_priv_size(mp);
+	mbuf_size = (uint32_t)(sizeof(struct rte_mbuf) + priv_size);
+	buf_len = rte_pktmbuf_data_room_size(mp);
+
+	m->priv_size = priv_size;
+	m->buf_addr = (char *)m + mbuf_size;
+	rte_mbuf_iova_set(m, rte_mempool_virt2iova(m) + mbuf_size);
+	m->buf_len = (uint16_t)buf_len;
+	rte_pktmbuf_reset_headroom(m);
+	m->data_len = 0;
+	m->ol_flags = 0;
+	m->next = NULL;
+	m->nb_segs = 1;
+
+	/* Now indirect mbuf is safe to free */
+	rte_pktmbuf_free(m);
+
+	if (refcount == 0) {
+		rte_mbuf_refcnt_set(md, 1);
+		md->data_len = 0;
+		md->ol_flags = 0;
+		md->next = NULL;
+		md->nb_segs = 1;
+		return 0;
+	} else {
+		return 1;
+	}
+}
+
+static __rte_always_inline uint64_t
+cnxk_nix_prefree_seg(struct rte_mbuf *m)
+{
+	if (likely(rte_mbuf_refcnt_read(m) == 1)) {
+		if (!RTE_MBUF_DIRECT(m))
+			return cnxk_pktmbuf_detach(m);
+
+		m->next = NULL;
+		m->nb_segs = 1;
+		return 0;
+	} else if (rte_mbuf_refcnt_update(m, -1) == 0) {
+		if (!RTE_MBUF_DIRECT(m))
+			return cnxk_pktmbuf_detach(m);
+
+		rte_mbuf_refcnt_set(m, 1);
+		m->next = NULL;
+		m->nb_segs = 1;
+		return 0;
+	}
+
+	/* Mbuf is having refcount more than 1 so need not to be freed */
+	return 1;
+}
+
+static inline rte_mbuf_timestamp_t *
+cnxk_nix_timestamp_dynfield(struct rte_mbuf *mbuf,
+			    struct cnxk_timesync_info *info)
+{
+	return RTE_MBUF_DYNFIELD(mbuf, info->tstamp_dynfield_offset,
+				 rte_mbuf_timestamp_t *);
+}
+
+static __rte_always_inline uintptr_t
+cnxk_nix_sa_base_get(uint16_t port, const void *lookup_mem)
+{
+	uintptr_t sa_base_tbl;
+
+	sa_base_tbl = (uintptr_t)lookup_mem;
+	sa_base_tbl += PTYPE_ARRAY_SZ + ERR_ARRAY_SZ;
+	return *((const uintptr_t *)sa_base_tbl + port);
+}
+
+#endif /* __CNXK_ETHDEV_DP_H__ */
diff --git a/drivers/net/cnxk/rx/cn10k/rx_0_15.c b/drivers/net/cnxk/rx/cn10k/rx_0_15.c
index 5087bad1b0..4447f4760b 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_0_15.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_0_15.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV(cn10k_nix_recv_pkts_##name, flags)                         \
 	NIX_RX_RECV(cn10k_nix_recv_pkts_reas_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_0_15_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_0_15_mseg.c
index 1db51c0b2b..7fcdc99f6f 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_0_15_mseg.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_0_15_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_mseg_##name, flags)               \
 	NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_reas_mseg_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_0_15_vec.c b/drivers/net/cnxk/rx/cn10k/rx_0_15_vec.c
index 17a7bbdfe4..c018aff2a7 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_0_15_vec.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_0_15_vec.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_vec_##name, flags)                 \
 	NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_reas_vec_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_0_15_vec_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_0_15_vec_mseg.c
index c795c5a0c3..093885ef67 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_0_15_vec_mseg.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_0_15_vec_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_vec_mseg_##name, flags)       \
 	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_reas_vec_mseg_##name,         \
diff --git a/drivers/net/cnxk/rx/cn10k/rx_112_127.c b/drivers/net/cnxk/rx/cn10k/rx_112_127.c
index 3298313c3f..5b060dc499 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_112_127.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_112_127.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV(cn10k_nix_recv_pkts_##name, flags)                         \
 	NIX_RX_RECV(cn10k_nix_recv_pkts_reas_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_112_127_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_112_127_mseg.c
index 1c4528436a..af2eb0944a 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_112_127_mseg.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_112_127_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_mseg_##name, flags)               \
 	NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_reas_mseg_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_112_127_vec.c b/drivers/net/cnxk/rx/cn10k/rx_112_127_vec.c
index 8943cc6ea5..b451d33d59 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_112_127_vec.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_112_127_vec.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_vec_##name, flags)                 \
 	NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_reas_vec_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_112_127_vec_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_112_127_vec_mseg.c
index cd16537dd7..961cf7547b 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_112_127_vec_mseg.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_112_127_vec_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_vec_mseg_##name, flags)       \
 	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_reas_vec_mseg_##name,         \
diff --git a/drivers/net/cnxk/rx/cn10k/rx_16_31.c b/drivers/net/cnxk/rx/cn10k/rx_16_31.c
index c65e170712..59ca07f619 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_16_31.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_16_31.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV(cn10k_nix_recv_pkts_##name, flags)                         \
 	NIX_RX_RECV(cn10k_nix_recv_pkts_reas_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_16_31_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_16_31_mseg.c
index 8f2c9d1732..4a11d3907c 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_16_31_mseg.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_16_31_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_mseg_##name, flags)               \
 	NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_reas_mseg_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_16_31_vec.c b/drivers/net/cnxk/rx/cn10k/rx_16_31_vec.c
index 809d288fdb..d2f5304ff3 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_16_31_vec.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_16_31_vec.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_vec_##name, flags)                 \
 	NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_reas_vec_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_16_31_vec_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_16_31_vec_mseg.c
index d30608a0fd..274665fdc7 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_16_31_vec_mseg.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_16_31_vec_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_vec_mseg_##name, flags)       \
 	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_reas_vec_mseg_##name,         \
diff --git a/drivers/net/cnxk/rx/cn10k/rx_32_47.c b/drivers/net/cnxk/rx/cn10k/rx_32_47.c
index fdc0fdabaa..e6458bef89 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_32_47.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_32_47.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV(cn10k_nix_recv_pkts_##name, flags)                         \
 	NIX_RX_RECV(cn10k_nix_recv_pkts_reas_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_32_47_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_32_47_mseg.c
index 9837bc6a66..0b2ce03b65 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_32_47_mseg.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_32_47_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_mseg_##name, flags)               \
 	NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_reas_mseg_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_32_47_vec.c b/drivers/net/cnxk/rx/cn10k/rx_32_47_vec.c
index 27436ca35d..fd7b43840b 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_32_47_vec.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_32_47_vec.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_vec_##name, flags)                 \
 	NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_reas_vec_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_32_47_vec_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_32_47_vec_mseg.c
index f324de9f8c..d1527224e4 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_32_47_vec_mseg.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_32_47_vec_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_vec_mseg_##name, flags)       \
 	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_reas_vec_mseg_##name,         \
diff --git a/drivers/net/cnxk/rx/cn10k/rx_48_63.c b/drivers/net/cnxk/rx/cn10k/rx_48_63.c
index 73fc2f9e90..610d14a25f 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_48_63.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_48_63.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV(cn10k_nix_recv_pkts_##name, flags)                         \
 	NIX_RX_RECV(cn10k_nix_recv_pkts_reas_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_48_63_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_48_63_mseg.c
index 51d31a734a..6d709cdf8b 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_48_63_mseg.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_48_63_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_mseg_##name, flags)               \
 	NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_reas_mseg_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_48_63_vec.c b/drivers/net/cnxk/rx/cn10k/rx_48_63_vec.c
index a9b7627c96..4006550699 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_48_63_vec.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_48_63_vec.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_vec_##name, flags)                 \
 	NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_reas_vec_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_48_63_vec_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_48_63_vec_mseg.c
index 0088acbdce..61158ad0ca 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_48_63_vec_mseg.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_48_63_vec_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_vec_mseg_##name, flags)       \
 	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_reas_vec_mseg_##name,         \
diff --git a/drivers/net/cnxk/rx/cn10k/rx_64_79.c b/drivers/net/cnxk/rx/cn10k/rx_64_79.c
index fc65d8ec23..e374c9fbc0 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_64_79.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_64_79.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV(cn10k_nix_recv_pkts_##name, flags)                         \
 	NIX_RX_RECV(cn10k_nix_recv_pkts_reas_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_64_79_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_64_79_mseg.c
index 5670f6a6ab..e3d06aaf27 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_64_79_mseg.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_64_79_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_mseg_##name, flags)               \
 	NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_reas_mseg_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_64_79_vec.c b/drivers/net/cnxk/rx/cn10k/rx_64_79_vec.c
index 1911feff5c..6045c227fb 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_64_79_vec.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_64_79_vec.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_vec_##name, flags)                 \
 	NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_reas_vec_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_64_79_vec_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_64_79_vec_mseg.c
index 8302f415a1..6101be67b9 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_64_79_vec_mseg.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_64_79_vec_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_vec_mseg_##name, flags)       \
 	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_reas_vec_mseg_##name,   \
diff --git a/drivers/net/cnxk/rx/cn10k/rx_80_95.c b/drivers/net/cnxk/rx/cn10k/rx_80_95.c
index 5d507a4f72..4b8984ccb9 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_80_95.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_80_95.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV(cn10k_nix_recv_pkts_##name, flags)                         \
 	NIX_RX_RECV(cn10k_nix_recv_pkts_reas_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_80_95_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_80_95_mseg.c
index 91456ecad5..cb271c0afc 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_80_95_mseg.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_80_95_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_mseg_##name, flags)               \
 	NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_reas_mseg_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_80_95_vec.c b/drivers/net/cnxk/rx/cn10k/rx_80_95_vec.c
index 407f7ca076..146cea33da 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_80_95_vec.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_80_95_vec.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_vec_##name, flags)                 \
 	NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_reas_vec_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_80_95_vec_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_80_95_vec_mseg.c
index c2d4a3df63..bc51fc6c9c 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_80_95_vec_mseg.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_80_95_vec_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_vec_mseg_##name, flags)       \
 	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_reas_vec_mseg_##name,         \
diff --git a/drivers/net/cnxk/rx/cn10k/rx_96_111.c b/drivers/net/cnxk/rx/cn10k/rx_96_111.c
index 1075734360..09f6efb95d 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_96_111.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_96_111.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV(cn10k_nix_recv_pkts_##name, flags)                         \
 	NIX_RX_RECV(cn10k_nix_recv_pkts_reas_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_96_111_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_96_111_mseg.c
index 4040a3ec1f..085e2787ac 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_96_111_mseg.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_96_111_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_mseg_##name, flags)               \
 	NIX_RX_RECV_MSEG(cn10k_nix_recv_pkts_reas_mseg_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_96_111_vec.c b/drivers/net/cnxk/rx/cn10k/rx_96_111_vec.c
index 24e888dc86..0f4e117baf 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_96_111_vec.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_96_111_vec.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_vec_##name, flags)                 \
 	NIX_RX_RECV_VEC(cn10k_nix_recv_pkts_reas_vec_##name, flags | NIX_RX_REAS_F)
diff --git a/drivers/net/cnxk/rx/cn10k/rx_96_111_vec_mseg.c b/drivers/net/cnxk/rx/cn10k/rx_96_111_vec_mseg.c
index 8ff7e419bb..37f7f61341 100644
--- a/drivers/net/cnxk/rx/cn10k/rx_96_111_vec_mseg.c
+++ b/drivers/net/cnxk/rx/cn10k/rx_96_111_vec_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_rx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define R(name, flags)                                                         \
 	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_vec_mseg_##name, flags)       \
 	NIX_RX_RECV_VEC_MSEG(cn10k_nix_recv_pkts_reas_vec_mseg_##name,         \
diff --git a/drivers/net/cnxk/tx/cn10k/tx_0_15.c b/drivers/net/cnxk/tx/cn10k/tx_0_15.c
index d2f6288878..c4495baea5 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_0_15.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_0_15.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags) NIX_TX_XMIT(cn10k_nix_xmit_pkts_##name, sz, flags)

 NIX_TX_FASTPATH_MODES_0_15
diff --git a/drivers/net/cnxk/tx/cn10k/tx_0_15_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_0_15_mseg.c
index 17f53f4008..ce7f59b24b 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_0_15_mseg.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_0_15_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_MSEG(cn10k_nix_xmit_pkts_mseg_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_0_15_vec.c b/drivers/net/cnxk/tx/cn10k/tx_0_15_vec.c
index 4d3936ddcc..dffc40974e 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_0_15_vec.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_0_15_vec.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_VEC(cn10k_nix_xmit_pkts_vec_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_0_15_vec_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_0_15_vec_mseg.c
index 032d2190c1..d0e8042815 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_0_15_vec_mseg.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_0_15_vec_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_VEC_MSEG(cn10k_nix_xmit_pkts_vec_mseg_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_112_127.c b/drivers/net/cnxk/tx/cn10k/tx_112_127.c
index 0cf2d3553e..81fd139fc6 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_112_127.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_112_127.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags) NIX_TX_XMIT(cn10k_nix_xmit_pkts_##name, sz, flags)

 NIX_TX_FASTPATH_MODES_112_127
diff --git a/drivers/net/cnxk/tx/cn10k/tx_112_127_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_112_127_mseg.c
index 08b7809af6..9129c5c330 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_112_127_mseg.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_112_127_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_MSEG(cn10k_nix_xmit_pkts_mseg_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_112_127_vec.c b/drivers/net/cnxk/tx/cn10k/tx_112_127_vec.c
index 9e2f1d7db3..df6e9ed680 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_112_127_vec.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_112_127_vec.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_VEC(cn10k_nix_xmit_pkts_vec_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_112_127_vec_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_112_127_vec_mseg.c
index 9797de238f..c144e71232 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_112_127_vec_mseg.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_112_127_vec_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_VEC_MSEG(cn10k_nix_xmit_pkts_vec_mseg_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_16_31.c b/drivers/net/cnxk/tx/cn10k/tx_16_31.c
index bf243c6855..41e77c48e7 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_16_31.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_16_31.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags) NIX_TX_XMIT(cn10k_nix_xmit_pkts_##name, sz, flags)

 NIX_TX_FASTPATH_MODES_16_31
diff --git a/drivers/net/cnxk/tx/cn10k/tx_16_31_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_16_31_mseg.c
index dde27f0944..527b009c4b 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_16_31_mseg.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_16_31_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_MSEG(cn10k_nix_xmit_pkts_mseg_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_16_31_vec.c b/drivers/net/cnxk/tx/cn10k/tx_16_31_vec.c
index cae2ab8af5..36eca00f1d 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_16_31_vec.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_16_31_vec.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_VEC(cn10k_nix_xmit_pkts_vec_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_16_31_vec_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_16_31_vec_mseg.c
index 0b5d9e47d1..8bd3311de6 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_16_31_vec_mseg.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_16_31_vec_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_VEC_MSEG(cn10k_nix_xmit_pkts_vec_mseg_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_32_47.c b/drivers/net/cnxk/tx/cn10k/tx_32_47.c
index dde45c024e..7dcd9a4fb7 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_32_47.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_32_47.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags) NIX_TX_XMIT(cn10k_nix_xmit_pkts_##name, sz, flags)

 NIX_TX_FASTPATH_MODES_32_47
diff --git a/drivers/net/cnxk/tx/cn10k/tx_32_47_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_32_47_mseg.c
index 257c392f27..987667951f 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_32_47_mseg.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_32_47_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_MSEG(cn10k_nix_xmit_pkts_mseg_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_32_47_vec.c b/drivers/net/cnxk/tx/cn10k/tx_32_47_vec.c
index 7a833022f7..e5edce2f0c 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_32_47_vec.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_32_47_vec.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_VEC(cn10k_nix_xmit_pkts_vec_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_32_47_vec_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_32_47_vec_mseg.c
index c66edbc211..e9f940ddb1 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_32_47_vec_mseg.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_32_47_vec_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_VEC_MSEG(cn10k_nix_xmit_pkts_vec_mseg_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_48_63.c b/drivers/net/cnxk/tx/cn10k/tx_48_63.c
index a42bac3fca..7bc735bd80 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_48_63.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_48_63.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags) NIX_TX_XMIT(cn10k_nix_xmit_pkts_##name, sz, flags)

 NIX_TX_FASTPATH_MODES_48_63
diff --git a/drivers/net/cnxk/tx/cn10k/tx_48_63_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_48_63_mseg.c
index 9aece25db7..6a1d0a3e69 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_48_63_mseg.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_48_63_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_MSEG(cn10k_nix_xmit_pkts_mseg_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_48_63_vec.c b/drivers/net/cnxk/tx/cn10k/tx_48_63_vec.c
index 1b854e5d87..95e5a1663b 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_48_63_vec.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_48_63_vec.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_VEC(cn10k_nix_xmit_pkts_vec_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_48_63_vec_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_48_63_vec_mseg.c
index 18389c309f..d46587b5b0 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_48_63_vec_mseg.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_48_63_vec_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_VEC_MSEG(cn10k_nix_xmit_pkts_vec_mseg_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_64_79.c b/drivers/net/cnxk/tx/cn10k/tx_64_79.c
index 9638ec04e8..0819c770c0 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_64_79.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_64_79.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags) NIX_TX_XMIT(cn10k_nix_xmit_pkts_##name, sz, flags)

 NIX_TX_FASTPATH_MODES_64_79
diff --git a/drivers/net/cnxk/tx/cn10k/tx_64_79_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_64_79_mseg.c
index e002c72d58..45af7e8687 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_64_79_mseg.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_64_79_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_MSEG(cn10k_nix_xmit_pkts_mseg_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_64_79_vec.c b/drivers/net/cnxk/tx/cn10k/tx_64_79_vec.c
index 762ff4da49..8247564779 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_64_79_vec.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_64_79_vec.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_VEC(cn10k_nix_xmit_pkts_vec_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_64_79_vec_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_64_79_vec_mseg.c
index 794cbe8650..58426c976a 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_64_79_vec_mseg.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_64_79_vec_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_VEC_MSEG(cn10k_nix_xmit_pkts_vec_mseg_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_80_95.c b/drivers/net/cnxk/tx/cn10k/tx_80_95.c
index a4cdf3bb18..d690633724 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_80_95.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_80_95.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags) NIX_TX_XMIT(cn10k_nix_xmit_pkts_##name, sz, flags)

 NIX_TX_FASTPATH_MODES_80_95
diff --git a/drivers/net/cnxk/tx/cn10k/tx_80_95_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_80_95_mseg.c
index 114e90b1f9..5b01eded11 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_80_95_mseg.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_80_95_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_MSEG(cn10k_nix_xmit_pkts_mseg_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_80_95_vec.c b/drivers/net/cnxk/tx/cn10k/tx_80_95_vec.c
index c9bb93b4c6..0f6545a33e 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_80_95_vec.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_80_95_vec.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_VEC(cn10k_nix_xmit_pkts_vec_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_80_95_vec_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_80_95_vec_mseg.c
index c0c7c02a27..ad1f0ce4df 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_80_95_vec_mseg.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_80_95_vec_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_VEC_MSEG(cn10k_nix_xmit_pkts_vec_mseg_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_96_111.c b/drivers/net/cnxk/tx/cn10k/tx_96_111.c
index 3244322164..2688e502e2 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_96_111.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_96_111.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags) NIX_TX_XMIT(cn10k_nix_xmit_pkts_##name, sz, flags)

 NIX_TX_FASTPATH_MODES_96_111
diff --git a/drivers/net/cnxk/tx/cn10k/tx_96_111_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_96_111_mseg.c
index cc8182da2d..c18b4ba7da 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_96_111_mseg.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_96_111_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_MSEG(cn10k_nix_xmit_pkts_mseg_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_96_111_vec.c b/drivers/net/cnxk/tx/cn10k/tx_96_111_vec.c
index 422d2e4e1c..94ffcb74a8 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_96_111_vec.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_96_111_vec.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_VEC(cn10k_nix_xmit_pkts_vec_##name, sz, flags)

diff --git a/drivers/net/cnxk/tx/cn10k/tx_96_111_vec_mseg.c b/drivers/net/cnxk/tx/cn10k/tx_96_111_vec_mseg.c
index dbefae02e0..ad1d124968 100644
--- a/drivers/net/cnxk/tx/cn10k/tx_96_111_vec_mseg.c
+++ b/drivers/net/cnxk/tx/cn10k/tx_96_111_vec_mseg.c
@@ -2,9 +2,12 @@ 
  * Copyright(C) 2022 Marvell.
  */

-#include "cn10k_ethdev.h"
 #include "cn10k_tx.h"

+#ifdef _ROC_API_H_
+#error "roc_api.h is included"
+#endif
+
 #define T(name, sz, flags)                                                     \
 	NIX_TX_XMIT_VEC_MSEG(cn10k_nix_xmit_pkts_vec_mseg_##name, sz, flags)