From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 4667042468; Wed, 25 Jan 2023 05:59:11 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D594E40223; Wed, 25 Jan 2023 05:59:10 +0100 (CET) Received: from mail-vk1-f175.google.com (mail-vk1-f175.google.com [209.85.221.175]) by mails.dpdk.org (Postfix) with ESMTP id 9279940150 for ; Wed, 25 Jan 2023 05:59:08 +0100 (CET) Received: by mail-vk1-f175.google.com with SMTP id 12so8659396vkj.12 for ; Tue, 24 Jan 2023 20:59:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=yX+HVA6xkxYQ0YqVIZfey3ju6dEOvYSuVNxPG7Kd1S8=; b=JCzxUKW9STyihwyjyUYZtc3pJaR6wOz8Jo/clh60Cn/W3eGBIwn3VO/pvztGxb8pJN 29Lw8p3u1PDBBw8b+0l/M4h3fkLsdtEj+tGL0pXpW/9aR6i24DwC8mtAn6FPHRksQkIl zTxjOJo10/ZUxbFUEQJ1yy1BQM9V3hi08968EKGuboDChUHtGSfRQiBv3StxCNrOsuAs eE0fMRApjBl1hnfeQGtwBxj3CRn+8jjOH0n0iK6pIEe7veDNWymJT/8W9XTHQNBF+oLf RfBmUfmHIoQpub5WGrdvAlRmQ0ZVwA6D2u3BOi8rTeaGPm21LAO/gFPJqNUHtGRsMAUq qvtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=yX+HVA6xkxYQ0YqVIZfey3ju6dEOvYSuVNxPG7Kd1S8=; b=t0nCrTj36x6nONBB6lLD0cPYd6G7AmHGrzk5tup6e3KHwZ0eakEHJypZqbLixa1bLv MmHptQovHIOnN/v49t11nWarMLuAblSAAmks/fntOwCzsqAA4kE042NrpCknhzkvwMHA jhkazNFKAZSKvJ4vPvpCcC6dJsw/JM256t6FNRTnGqiF+fl4mNCyNLHYasYuNb6B2g8j SfmkV5Ak1vNmMd1//WDzhy7kMYw9SgStWJmqRd+rJFga1uHEnRn/jzUjdYaJbVNOvdV/ a3z7I6326TwFTVfyR4zJ9kpav7CklUer1drCsjnJI53R6eMjQaITuhao8ZNotfSi0ZKV eu8A== X-Gm-Message-State: AFqh2kqEn3DLFSLTXjHjVT/3E9fF1ad0xVuy4R/UeIM71tdA8mJxdSnI iOs1KB3wrhW0m+9yL/jmjviketdY+TRf+TfPCTqjoITGiSI= X-Google-Smtp-Source: AMrXdXuPpFTC69WEyv16hFC5uWywwPMp//CsxpKoztvHnNjpw+5lgiGmseVKy2NZYVS56wB6pvBwtOq2P8PhbmGPxWk= X-Received: by 2002:a1f:a002:0:b0:3d5:d30f:81c2 with SMTP id j2-20020a1fa002000000b003d5d30f81c2mr3948958vke.14.1674622747044; Tue, 24 Jan 2023 20:59:07 -0800 (PST) MIME-Version: 1.0 References: <20221221091549.967801-1-rbhansali@marvell.com> <20230118102703.910617-1-rbhansali@marvell.com> <20230118102703.910617-2-rbhansali@marvell.com> In-Reply-To: <20230118102703.910617-2-rbhansali@marvell.com> From: Jerin Jacob Date: Wed, 25 Jan 2023 10:28:40 +0530 Message-ID: Subject: Re: [PATCH v2 2/4] net/cnxk: restructure for cn10k datapath To: Rahul Bhansali Cc: dev@dpdk.org, Nithin Dabilpuram , Kiran Kumar K , Sunil Kumar Kori , Satha Rao , jerinj@marvell.com Content-Type: text/plain; charset="UTF-8" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org On Wed, Jan 18, 2023 at 3:57 PM Rahul Bhansali 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 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 > #include > - > -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 > > /* 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 > +#include > #include > +#include "cn10k_rxtx.h" > > -#include > +#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 > + > +/* 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 > - > #include > +#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 > > #include "roc_api.h" > +#include > > #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 > + > +/* 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 >