On Mon, Feb 20, 2023 at 12:14 AM Stephen Hemminger <step...@networkplumber.org> wrote: > > The command line arguments are stored in node_action_pair > and the name[] was sized to PATH_MAX which does not exist on Windows. > Since the name is either "CREATE" or "ATTACH" it is not > related to PATH_MAX (4096). > > With this fix driver builds ok on windows, but need to modify the > test meson build to skip the eventdev test on Windows. > > Signed-off-by: Stephen Hemminger <step...@networkplumber.org> > Acked-by: Tyler Retzlaff <roret...@linux.microsoft.com> > --- > app/test/meson.build | 2 +- > drivers/net/ring/meson.build | 6 ------ > drivers/net/ring/rte_eth_ring.c | 4 +++- > 3 files changed, 4 insertions(+), 8 deletions(-) > > diff --git a/app/test/meson.build b/app/test/meson.build > index f34d19e3c3cb..a713f0382280 100644 > --- a/app/test/meson.build > +++ b/app/test/meson.build > @@ -390,7 +390,7 @@ if dpdk_conf.has('RTE_NET_BOND') > driver_test_names += 'link_bonding_mode4_autotest' > endif > endif > -if dpdk_conf.has('RTE_NET_RING') > +if dpdk_conf.has('RTE_LIB_EVENTDEV') and dpdk_conf.has('RTE_NET_RING') > test_deps += 'net_ring' > test_sources += 'test_pmd_ring_perf.c' > test_sources += 'test_pmd_ring.c' > diff --git a/drivers/net/ring/meson.build b/drivers/net/ring/meson.build > index 72792e26b05a..3534a3cc2287 100644 > --- a/drivers/net/ring/meson.build > +++ b/drivers/net/ring/meson.build > @@ -1,12 +1,6 @@ > # SPDX-License-Identifier: BSD-3-Clause > # Copyright(c) 2017 Intel Corporation > > -if is_windows > - build = false > - reason = 'not supported on Windows' > - subdir_done() > -endif > - > sources = files('rte_eth_ring.c') > headers = files('rte_eth_ring.h') > pmd_supports_disable_iova_as_pa = true > diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c > index bd5a47dd9017..e8bc9b627102 100644 > --- a/drivers/net/ring/rte_eth_ring.c > +++ b/drivers/net/ring/rte_eth_ring.c > @@ -9,6 +9,7 @@ > #include <ethdev_driver.h> > #include <rte_malloc.h> > #include <rte_memcpy.h> > +#include <rte_os_shim.h>
Is it still needed, since this patch drops use of PATH_MAX? > #include <rte_string_fns.h> > #include <bus_vdev_driver.h> > #include <rte_kvargs.h> > @@ -17,6 +18,7 @@ > #define ETH_RING_NUMA_NODE_ACTION_ARG "nodeaction" > #define ETH_RING_ACTION_CREATE "CREATE" > #define ETH_RING_ACTION_ATTACH "ATTACH" > +#define ETH_RING_ACTION_MAX_LEN 8 /* CREATE | ACTION */ > #define ETH_RING_INTERNAL_ARG "internal" > #define ETH_RING_INTERNAL_ARG_MAX_LEN 19 /* "0x..16chars..\0" */ > > @@ -539,7 +541,7 @@ eth_dev_ring_create(const char *name, > } > > struct node_action_pair { > - char name[PATH_MAX]; > + char name[ETH_RING_ACTION_MAX_LEN]; > unsigned int node; > enum dev_action action; > }; > -- > 2.39.1 > -- David Marchand