[PATCH v4 2/9] net/ring: build on Windows
David Marchand
david.marchand at redhat.com
Thu Mar 9 22:10:03 CET 2023
On Mon, Feb 20, 2023 at 12:14 AM Stephen Hemminger
<stephen at 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 <stephen at networkplumber.org>
> Acked-by: Tyler Retzlaff <roretzla at 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
More information about the dev
mailing list