[v2,2/4] net/cnxk: restructure for cn10k datapath
Checks
Commit Message
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 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
Comments
On Wed, Jan 18, 2023 at 3:57 PM Rahul Bhansali <rbhansali@marvell.com> wrote:
>
> 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>
Please rebase to next-net-mrvl. Still there buid issues
[1047/3094] Compiling C object
drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_rx_cn10k_rx_32_47_vec.c.o
FAILED: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_rx_cn10k_rx_32_47_vec.c.o
ccache gcc -Idrivers/libtmp_rte_net_cnxk.a.p -Idrivers -I../drivers
-Idrivers/net/cnxk -I../drivers/net/cnxk -Ilib/ethdev -I../lib/ethdev
-I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include
-Ilib/eal/linux/include -I../lib/
eal/linux/include -Ilib/eal/x86/include -I../lib/eal/x86/include
-Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal
-Ilib/kvargs -I../lib/kvargs -Ilib/metrics -I../lib/metrics
-Ilib/telemetry -I../lib/telemetry -Ilib/net -I../lib/n
et -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring
-I../lib/ring -Ilib/meter -I../lib/meter -Idrivers/bus/pci
-I../drivers/bus/pci -I../drivers/bus/pci/linux -Ilib/pci -I../lib/pci
-Idrivers/bus/vdev -I../drivers/bus/vdev
-Ilib/cryptodev -I../lib/cryptodev -Ilib/rcu -I../lib/rcu
-Ilib/eventdev -I../lib/eventdev -Ilib/hash -I../lib/hash -Ilib/timer
-I../lib/timer -Ilib/security -I../lib/security -Idrivers/common/cnxk
-I../drivers/common/cnxk -Idrivers/mempoo
l/cnxk -I../drivers/mempool/cnxk -fdiagnostics-color=always
-D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -O2 -g
-include rte_config.h -Wcast-qual -Wdeprecated -Wformat
-Wformat-nonliteral -Wformat-security -Wmissing-declaratio
ns -Wmissing-prototypes -Wnested-externs -Wold-style-definition
-Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef
-Wwrite-strings -Wno-address-of-packed-member -Wno-packed-not-aligned
-Wno-missing-field-initializers -Wno-zero-lengt
h-bounds -D_GNU_SOURCE -fPIC -march=native -DALLOW_EXPERIMENTAL_API
-DALLOW_INTERNAL_API -Wno-format-truncation -flax-vector-conversions
-Wno-strict-aliasing -DRTE_LOG_DEFAULT_LOGTYPE=pmd.net.cnxk -MD -MQ
drivers/libtmp_rte_net_cnxk.a.p/net
_cnxk_rx_cn10k_rx_32_47_vec.c.o -MF
drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_rx_cn10k_rx_32_47_vec.c.o.d
-o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_rx_cn10k_rx_32_47_vec.c.o
-c ../drivers/net/cnxk/rx/cn10k/rx_32_47_vec.c
../drivers/net/cnxk/rx/cn10k/rx_32_47_vec.c:8:2: error: #error
"roc_api.h is included"
8 | #error "roc_api.h is included"
| ^~~~~
> ---
> 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
>
> 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)
>
> --
> 2.25.1
>
> -----Original Message-----
> From: Jerin Jacob <jerinjacobk@gmail.com>
> Sent: Wednesday, January 25, 2023 10:29 AM
> To: Rahul Bhansali <rbhansali@marvell.com>
> Cc: dev@dpdk.org; Nithin Kumar Dabilpuram <ndabilpuram@marvell.com>;
> Kiran Kumar Kokkilagadda <kirankumark@marvell.com>; Sunil Kumar Kori
> <skori@marvell.com>; Satha Koteswara Rao Kottidi
> <skoteshwar@marvell.com>; Jerin Jacob Kollanukkaran <jerinj@marvell.com>
> Subject: [EXT] Re: [PATCH v2 2/4] net/cnxk: restructure for cn10k datapath
>
> External Email
>
> ----------------------------------------------------------------------
> On Wed, Jan 18, 2023 at 3:57 PM Rahul Bhansali <rbhansali@marvell.com>
> wrote:
> >
> > 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>
>
>
> Please rebase to next-net-mrvl. Still there buid issues
Ack. I was checking build with all patches in series not with individual patch. Will send the next version.
>
> [1047/3094] Compiling C object
> drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_rx_cn10k_rx_32_47_vec.c.o
> FAILED: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_rx_cn10k_rx_32_47_vec.c.o
> ccache gcc -Idrivers/libtmp_rte_net_cnxk.a.p -Idrivers -I../drivers
> -Idrivers/net/cnxk -I../drivers/net/cnxk -Ilib/ethdev -I../lib/ethdev
> -I. -I.. -Iconfig -I../config -Ilib/eal/include -I../lib/eal/include
> -Ilib/eal/linux/include -I../lib/
> eal/linux/include -Ilib/eal/x86/include -I../lib/eal/x86/include
> -Ilib/eal/common -I../lib/eal/common -Ilib/eal -I../lib/eal
> -Ilib/kvargs -I../lib/kvargs -Ilib/metrics -I../lib/metrics
> -Ilib/telemetry -I../lib/telemetry -Ilib/net -I../lib/n
> et -Ilib/mbuf -I../lib/mbuf -Ilib/mempool -I../lib/mempool -Ilib/ring
> -I../lib/ring -Ilib/meter -I../lib/meter -Idrivers/bus/pci
> -I../drivers/bus/pci -I../drivers/bus/pci/linux -Ilib/pci -I../lib/pci
> -Idrivers/bus/vdev -I../drivers/bus/vdev
> -Ilib/cryptodev -I../lib/cryptodev -Ilib/rcu -I../lib/rcu
> -Ilib/eventdev -I../lib/eventdev -Ilib/hash -I../lib/hash -Ilib/timer
> -I../lib/timer -Ilib/security -I../lib/security -Idrivers/common/cnxk
> -I../drivers/common/cnxk -Idrivers/mempoo
> l/cnxk -I../drivers/mempool/cnxk -fdiagnostics-color=always
> -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -Werror -O2 -g
> -include rte_config.h -Wcast-qual -Wdeprecated -Wformat
> -Wformat-nonliteral -Wformat-security -Wmissing-declaratio
> ns -Wmissing-prototypes -Wnested-externs -Wold-style-definition
> -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef
> -Wwrite-strings -Wno-address-of-packed-member -Wno-packed-not-aligned
> -Wno-missing-field-initializers -Wno-zero-lengt
> h-bounds -D_GNU_SOURCE -fPIC -march=native -DALLOW_EXPERIMENTAL_API
> -DALLOW_INTERNAL_API -Wno-format-truncation -flax-vector-conversions
> -Wno-strict-aliasing -DRTE_LOG_DEFAULT_LOGTYPE=pmd.net.cnxk -MD -MQ
> drivers/libtmp_rte_net_cnxk.a.p/net
> _cnxk_rx_cn10k_rx_32_47_vec.c.o -MF
> drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_rx_cn10k_rx_32_47_vec.c.o.d
> -o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_rx_cn10k_rx_32_47_vec.c.o
> -c ../drivers/net/cnxk/rx/cn10k/rx_32_47_vec.c
> ../drivers/net/cnxk/rx/cn10k/rx_32_47_vec.c:8:2: error: #error
> "roc_api.h is included"
> 8 | #error "roc_api.h is included"
> | ^~~~~
>
> > ---
> > 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
> >
> > 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)
> >
> > --
> > 2.25.1
> >
@@ -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__ */
@@ -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)
new file mode 100644
@@ -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__ */
@@ -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)
@@ -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__ */
new file mode 100644
@@ -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__ */
@@ -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)
@@ -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)
@@ -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)
@@ -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, \
@@ -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)
@@ -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)
@@ -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)
@@ -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, \
@@ -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)
@@ -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)
@@ -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)
@@ -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, \
@@ -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)
@@ -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)
@@ -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)
@@ -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, \
@@ -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)
@@ -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)
@@ -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)
@@ -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, \
@@ -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)
@@ -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)
@@ -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)
@@ -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, \
@@ -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)
@@ -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)
@@ -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)
@@ -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, \
@@ -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)
@@ -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)
@@ -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)
@@ -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, \
@@ -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
@@ -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)
@@ -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)
@@ -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)
@@ -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
@@ -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)
@@ -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)
@@ -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)
@@ -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
@@ -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)
@@ -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)
@@ -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)
@@ -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
@@ -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)
@@ -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)
@@ -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)
@@ -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
@@ -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)
@@ -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)
@@ -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)
@@ -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
@@ -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)
@@ -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)
@@ -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)
@@ -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
@@ -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)
@@ -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)
@@ -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)
@@ -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
@@ -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)
@@ -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)
@@ -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)