Re: [PATCH 01/13] net/sxe: add base driver directory and doc

Stephen Hemminger
2025-04-26T17:07:30Z

On Thu, 24 Apr 2025 19:36:40 -0700
Jie Liu <liujie5@linkdatatechnology.com> wrote:

> From: JieLiu <liujie5@linkdatatechnology.com>
>
> Adding a minimum maintainable directory structure for the
> network driver and request maintenance of the sxe driver.
>
> Signed-off-by: Jie Liu <liujie5@linkdatatechnology.com>

Build test failed for 32 bit x86

DPDK 25.07.0-rc0

User defined options
c_args : -m32
c_link_args: -m32

Found ninja-1.12.1 at /usr/bin/ninja
FAILED: drivers/libtmp_rte_net_sxe.a.p/net_sxe_pf_sxe_ethdev.c.o
cc -Idrivers/libtmp_rte_net_sxe.a.p -Idrivers -I../drivers -Idrivers/net/sxe -I../drivers/net/sxe -I../drivers/net/sxe/base -I../drivers/net/sxe/pf -I../drivers/net/sxe/vf -I../drivers/net/sxe/include/sxe -I../drivers/net/sxe/include -Ilib/ethdev -I../lib/ethdev -Ilib/eal/common -I../lib/eal/common -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 -I../kernel/linux -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/net -I../lib/net -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/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -I/usr/include/i386-linux-gnu -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=c11 -O3 -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-pointer-to-int-cast -D_GNU_SOURCE -m32 -fPIC -march=native -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-address-of-packed-member -Wno-vla -DSXE_DPDK -DSXE_HOST_DRIVER -DSXE_DPDK_L4_FEATURES -DSXE_DPDK_SRIOV -DSXE_DPDK_SIMD -DRTE_LOG_DEFAULT_LOGTYPE=pmd.net.sxe -MD -MQ drivers/libtmp_rte_net_sxe.a.p/net_sxe_pf_sxe_ethdev.c.o -MF drivers/libtmp_rte_net_sxe.a.p/net_sxe_pf_sxe_ethdev.c.o.d -o drivers/libtmp_rte_net_sxe.a.p/net_sxe_pf_sxe_ethdev.c.o -c ../drivers/net/sxe/pf/sxe_ethdev.c
../drivers/net/sxe/pf/sxe_ethdev.c: In function ‘sxe_dev_stop’:
../drivers/net/sxe/pf/sxe_ethdev.c:342:9: warning: value computed is not used [-Wunused-value]
342 | rte_atomic_exchange_explicit(&adapter->is_stopping, 1, rte_memory_order_seq_cst);
../drivers/net/sxe/pf/sxe_ethdev.c: At top level:
../drivers/net/sxe/pf/sxe_ethdev.c:740:35: error: initialization of ‘int (*)(struct rte_eth_dev *, const uint64_t *, uint64_t *, unsigned int)’ {aka ‘int (*)(struct rte_eth_dev *, const long long unsigned int *, long long unsigned int *, unsigned int)’} from incompatible pointer type ‘s32 (*)(struct rte_eth_dev *, const ulong *, ulong *, u32)’ {aka ‘int (*)(struct rte_eth_dev *, const long unsigned int *, long unsigned int *, unsigned int)’} [-Wincompatible-pointer-types]
740 | .xstats_get_by_id = sxe_xstats_get_by_id,
| ^~~~~~~~~~~~~~~~~~~~
../drivers/net/sxe/pf/sxe_ethdev.c:740:35: note: (near initialization for ‘sxe_eth_dev_ops.xstats_get_by_id’)
../drivers/net/sxe/pf/sxe_ethdev.c:742:35: error: initialization of ‘int (*)(struct rte_eth_dev *, const uint64_t *, struct rte_eth_xstat_name *, unsigned int)’ {aka ‘int (*)(struct rte_eth_dev *, const long long unsigned int *, struct rte_eth_xstat_name *, unsigned int)’} from incompatible pointer type ‘s32 (*)(struct rte_eth_dev *, const ulong *, struct rte_eth_xstat_name *, u32)’ {aka ‘int (*)(struct rte_eth_dev *, const long unsigned int *, struct rte_eth_xstat_name *, unsigned int)’} [-Wincompatible-pointer-types]
742 | .xstats_get_names_by_id = sxe_xstats_names_get_by_id,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../drivers/net/sxe/pf/sxe_ethdev.c:742:35: note: (near initialization for ‘sxe_eth_dev_ops.xstats_get_names_by_id’)
FAILED: drivers/libtmp_rte_net_sxe.a.p/net_sxe_pf_sxe_stats.c.o
cc -Idrivers/libtmp_rte_net_sxe.a.p -Idrivers -I../drivers -Idrivers/net/sxe -I../drivers/net/sxe -I../drivers/net/sxe/base -I../drivers/net/sxe/pf -I../drivers/net/sxe/vf -I../drivers/net/sxe/include/sxe -I../drivers/net/sxe/include -Ilib/ethdev -I../lib/ethdev -Ilib/eal/common -I../lib/eal/common -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 -I../kernel/linux -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry -I../lib/telemetry -Ilib/net -I../lib/net -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/hash -I../lib/hash -Ilib/rcu -I../lib/rcu -I/usr/include/i386-linux-gnu -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=c11 -O3 -include rte_config.h -Wvla -Wcast-qual -Wdeprecated -Wformat -Wformat-nonliteral -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wpointer-arith -Wsign-compare -Wstrict-prototypes -Wundef -Wwrite-strings -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-pointer-to-int-cast -D_GNU_SOURCE -m32 -fPIC -march=native -mrtm -DALLOW_EXPERIMENTAL_API -DALLOW_INTERNAL_API -Wno-format-truncation -Wno-address-of-packed-member -Wno-vla -DSXE_DPDK -DSXE_HOST_DRIVER -DSXE_DPDK_L4_FEATURES -DSXE_DPDK_SRIOV -DSXE_DPDK_SIMD -DRTE_LOG_DEFAULT_LOGTYPE=pmd.net.sxe -MD -MQ drivers/libtmp_rte_net_sxe.a.p/net_sxe_pf_sxe_stats.c.o -MF drivers/libtmp_rte_net_sxe.a.p/net_sxe_pf_sxe_stats.c.o.d -o drivers/libtmp_rte_net_sxe.a.p/net_sxe_pf_sxe_stats.c.o -c ../drivers/net/sxe/pf/sxe_stats.c
In file included from ../lib/eal/include/rte_debug.h:17,
from ../lib/eal/include/rte_bitops.h:23,
from ../lib/ethdev/rte_cman.h:8,
from ../lib/ethdev/rte_ethdev.h:159,
from ../drivers/net/sxe/pf/sxe_stats.h:8,
from ../drivers/net/sxe/pf/sxe_stats.c:5:
../drivers/net/sxe/pf/sxe_stats.c: In function ‘sxe_xstats_get’:
../drivers/net/sxe/pf/sxe_stats.c:237:60: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 6 has type ‘unsigned int’ [-Wformat=]
237 | SXE_XSTAT_MAC_CNT, SXE_XSTAT_FC_CNT);
| ^
../lib/log/rte_log.h:334:39: note: in definition of macro ‘RTE_LOG’
334 | RTE_LOGTYPE_ ## t, # t ": " __VA_ARGS__)
| ^
../drivers/net/sxe/base/sxe_logs.h:144:17: note: in expansion of macro ‘RTE_LOG_LINE_PREFIX’
144 | RTE_LOG_LINE_PREFIX(INFO, logtype, "%s(): ",\
| ^~~~~~~~~~~~~~~~~~~
../drivers/net/sxe/pf/sxe_stats.c:235:9: note: in expansion of macro ‘PMD_LOG_INFO’
235 | PMD_LOG_INFO(DRV, "xstat size:%u. hw xstat field cnt: %" SXE_PRIU64
| ^~~~~~~~~~~~
../drivers/net/sxe/pf/sxe_stats.c:237:60: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 7 has type ‘unsigned int’ [-Wformat=]
237 | SXE_XSTAT_MAC_CNT, SXE_XSTAT_FC_CNT);
| ^
../lib/log/rte_log.h:334:39: note: in definition of macro ‘RTE_LOG’
334 | RTE_LOGTYPE_ ## t, # t ": " __VA_ARGS__)
| ^
../drivers/net/sxe/base/sxe_logs.h:144:17: note: in expansion of macro ‘RTE_LOG_LINE_PREFIX’
144 | RTE_LOG_LINE_PREFIX(INFO, logtype, "%s(): ",\
| ^~~~~~~~~~~~~~~~~~~
../drivers/net/sxe/pf/sxe_stats.c:235:9: note: in expansion of macro ‘PMD_LOG_INFO’
235 | PMD_LOG_INFO(DRV, "xstat size:%u. hw xstat field cnt: %" SXE_PRIU64
| ^~~~~~~~~~~~
../drivers/net/sxe/pf/sxe_stats.c: In function ‘sxe_xstats_names_get’:
../drivers/net/sxe/pf/sxe_stats.c:349:60: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 5 has type ‘unsigned int’ [-Wformat=]
349 | SXE_XSTAT_CNT, usr_cnt, ret);
| ^
../lib/log/rte_log.h:334:39: note: in definition of macro ‘RTE_LOG’
334 | RTE_LOGTYPE_ ## t, # t ": " __VA_ARGS__)
| ^
../drivers/net/sxe/base/sxe_logs.h:156:17: note: in expansion of macro ‘RTE_LOG_LINE_PREFIX’
156 | RTE_LOG_LINE_PREFIX(ERR, logtype, "%s(): ",\
| ^~~~~~~~~~~~~~~~~~~
../drivers/net/sxe/pf/sxe_stats.c:348:17: note: in expansion of macro ‘PMD_LOG_ERR’
348 | PMD_LOG_ERR(DRV, "max: %" SXE_PRIU64 " usr_cnt:%u invalid.(err:%d)",
| ^~~~~~~~~~~
../drivers/net/sxe/pf/sxe_stats.c: At top level:
../drivers/net/sxe/pf/sxe_stats.c:441:5: error: conflicting types for ‘sxe_xstats_get_by_id’; have ‘s32(struct rte_eth_dev *, const u64 *, u64 *, u32)’ {aka ‘int(struct rte_eth_dev *, const long long unsigned int *, long long unsigned int *, unsigned int)’}
441 | s32 sxe_xstats_get_by_id(struct rte_eth_dev *eth_dev,
| ^~~~~~~~~~~~~~~~~~~~
../drivers/net/sxe/pf/sxe_stats.h:51:5: note: previous declaration of ‘sxe_xstats_get_by_id’ with type ‘s32(struct rte_eth_dev *, const ulong *, ulong *, u32)’ {aka ‘int(struct rte_eth_dev *, const long unsigned int *, long unsigned int *, unsigned int)’}
51 | s32 sxe_xstats_get_by_id(struct rte_eth_dev *eth_dev,
| ^~~~~~~~~~~~~~~~~~~~
../drivers/net/sxe/pf/sxe_stats.c:484:5: error: conflicting types for ‘sxe_xstats_names_get_by_id’; have ‘s32(struct rte_eth_dev *, const u64 *, struct rte_eth_xstat_name *, u32)’ {aka ‘int(struct rte_eth_dev *, const long long unsigned int *, struct rte_eth_xstat_name *, unsigned int)’}
484 | s32 sxe_xstats_names_get_by_id(struct rte_eth_dev *eth_dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../drivers/net/sxe/pf/sxe_stats.h:61:5: note: previous declaration of ‘sxe_xstats_names_get_by_id’ with type ‘s32(struct rte_eth_dev *, const ulong *, struct rte_eth_xstat_name *, u32)’ {aka ‘int(struct rte_eth_dev *, const long unsigned int *, struct rte_eth_xstat_name *, unsigned int)’}
61 | s32 sxe_xstats_names_get_by_id(struct rte_eth_dev *eth_dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../lib/eal/include/rte_dev.h:20,
from ../lib/eal/include/dev_driver.h:9,
from ../lib/ethdev/ethdev_driver.h:19,
from ../drivers/net/sxe/pf/sxe_tx.c:12:
../drivers/net/sxe/pf/sxe_tx.c: In function ‘sxe_tx_function_set’:
../drivers/net/sxe/pf/sxe_tx.c:75:69: warning: format ‘%llx’ expects argument of type ‘long long unsigned int’, but argument 5 has type ‘long unsigned int’ [-Wformat=]
75 | (unsigned long)txq->offloads);
| ^
../lib/log/rte_log.h:334:39: note: in definition of macro ‘RTE_LOG’
334 | RTE_LOGTYPE_ ## t, # t ": " __VA_ARGS__)
| ^
../drivers/net/sxe/base/sxe_logs.h:144:17: note: in expansion of macro ‘RTE_LOG_LINE_PREFIX’
144 | RTE_LOG_LINE_PREFIX(INFO, logtype, "%s(): ",\
| ^~~~~~~~~~~~~~~~~~~
../drivers/net/sxe/pf/sxe_tx.c:74:17: note: in expansion of macro ‘PMD_LOG_INFO’
74 | PMD_LOG_INFO(INIT, " - offloads = 0x%" SXE_PRIX64,
| ^~~~~~~~~~~~
ninja: build stopped: subcommand failed.