[PATCH 2/4] net/cnxk: restructure for cn10k datapath

Jerin Jacob jerinjacobk at gmail.com
Tue Jan 17 09:52:14 CET 2023


On Wed, Dec 21, 2022 at 2:46 PM Rahul Bhansali <rbhansali at 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 at marvell.com>

> 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.
>   */

>
> 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

1) There is build error[1], Please rebase to next-net-mrvl and fix the issue
2) Change 3/4 patch git comment subject to align with other patches
3)Is above 3 lines need to be added in everyfile, How about
a)Include this on parent file . Say cn10k_rx.h ?
b)Add a macro for this



[1]
FAILED: drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_rx_cn10k_rx_112_127_vec_mseg.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/e
t -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/mempool
/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-declaration
s -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-length
-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_112_127_vec_mseg.c.o -MF
drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_rx_cn10k_rx_112_127_vec_mseg.c.o.d
-o drivers/libtmp_rte_net_cnxk.a.p/net_cnxk_rx_cn10k_rx_112_127_vec_mseg.c.o
-c ../drivers/net/cnxk/rx/cn10k/rx_112_127_ve
c_mseg.c
../drivers/net/cnxk/rx/cn10k/rx_112_127_vec_mseg.c:8:2: error: #error
"roc_api.h is included"
    8 | #error "roc_api.h is included"

> +
>  #define T(name, sz, flags)                                                     \
>         NIX_TX_XMIT_VEC_MSEG(cn10k_nix_xmit_pkts_vec_mseg_##name, sz, flags)
>
> --
> 2.25.1
>


More information about the dev mailing list