[v5,9/9] app/testpmd: enable building testpmd on Windows
Checks
Commit Message
From: Jie Zhou <jizh@microsoft.com>
- Disable unsupported Apps on Windows
- Enable building of testpmd on Windows
Signed-off-by: Jie Zhou <jizh@microsoft.com>
Signed-off-by: Jie Zhou <jizh@linux.microsoft.com>
---
app/meson.build | 4 ----
app/pdump/meson.build | 6 ++++++
app/proc-info/meson.build | 6 ++++++
app/test-acl/meson.build | 6 ++++++
app/test-bbdev/meson.build | 6 ++++++
app/test-cmdline/meson.build | 6 ++++++
app/test-compress-perf/meson.build | 6 ++++++
app/test-crypto-perf/meson.build | 6 ++++++
app/test-eventdev/meson.build | 6 ++++++
app/test-fib/meson.build | 6 ++++++
app/test-flow-perf/meson.build | 6 ++++++
app/test-pipeline/meson.build | 6 ++++++
app/test-regex/meson.build | 6 ++++++
app/test-sad/meson.build | 6 ++++++
app/test/meson.build | 6 ++++++
15 files changed, 84 insertions(+), 4 deletions(-)
Comments
> Subject: [dpdk-dev] [PATCH v5 9/9] app/testpmd: enable building testpmd
> on Windows
>
> External email: Use caution opening links or attachments
>
>
> From: Jie Zhou <jizh@microsoft.com>
>
> - Disable unsupported Apps on Windows
> - Enable building of testpmd on Windows
>
> Signed-off-by: Jie Zhou <jizh@microsoft.com>
> Signed-off-by: Jie Zhou <jizh@linux.microsoft.com>
> ---
> app/meson.build | 4 ----
> app/pdump/meson.build | 6 ++++++
> app/proc-info/meson.build | 6 ++++++
> app/test-acl/meson.build | 6 ++++++
> app/test-bbdev/meson.build | 6 ++++++
> app/test-cmdline/meson.build | 6 ++++++
> app/test-compress-perf/meson.build | 6 ++++++
> app/test-crypto-perf/meson.build | 6 ++++++
> app/test-eventdev/meson.build | 6 ++++++
> app/test-fib/meson.build | 6 ++++++
> app/test-flow-perf/meson.build | 6 ++++++
> app/test-pipeline/meson.build | 6 ++++++
> app/test-regex/meson.build | 6 ++++++
> app/test-sad/meson.build | 6 ++++++
> app/test/meson.build | 6 ++++++
> 15 files changed, 84 insertions(+), 4 deletions(-)
>
Building testpmd results in 2 warnings in clang:
../app/test-pmd/config.c:4254:1: warning: unused function 'print_fdir_mask' [-Wunused-function]
print_fdir_mask(struct rte_eth_fdir_masks *mask)
^
../app/test-pmd/config.c:4289:1: warning: unused function 'print_fdir_flex_payload' [-Wunused-function]
print_fdir_flex_payload(struct rte_eth_fdir_flex_conf *flex_conf, uint32_t num)
^
2 warnings generated.
18/04/2021 19:21, Tal Shnaiderman:
> Building testpmd results in 2 warnings in clang:
>
> ../app/test-pmd/config.c:4254:1: warning: unused function 'print_fdir_mask' [-Wunused-function]
> print_fdir_mask(struct rte_eth_fdir_masks *mask)
> ^
> ../app/test-pmd/config.c:4289:1: warning: unused function 'print_fdir_flex_payload' [-Wunused-function]
> print_fdir_flex_payload(struct rte_eth_fdir_flex_conf *flex_conf, uint32_t num)
> ^
> 2 warnings generated.
Why all tests are passing in the CI?
I feel there is something wrong. We must test with -werror.
> Subject: Re: [dpdk-dev] [PATCH v5 9/9] app/testpmd: enable building
> testpmd on Windows
>
> External email: Use caution opening links or attachments
>
>
> 18/04/2021 19:21, Tal Shnaiderman:
> > Building testpmd results in 2 warnings in clang:
> >
> > ../app/test-pmd/config.c:4254:1: warning: unused function
> > 'print_fdir_mask' [-Wunused-function] print_fdir_mask(struct
> > rte_eth_fdir_masks *mask) ^
> > ../app/test-pmd/config.c:4289:1: warning: unused function
> > 'print_fdir_flex_payload' [-Wunused-function]
> > print_fdir_flex_payload(struct rte_eth_fdir_flex_conf *flex_conf,
> > uint32_t num) ^
> > 2 warnings generated.
>
> Why all tests are passing in the CI?
> I feel there is something wrong. We must test with -werror.
I know that the UNH Windows CI runs with -werror however the test didn't run on clang yet [1].
This patch passed Intel compilation test on Windows, however I don't know if -werror is used there [2].
[1] - https://lab.dpdk.org/results/dashboard/patchsets/16593/
[2] - http://mails.dpdk.org/archives/test-report/2021-April/188796.html
> Subject: Re: [dpdk-dev] [PATCH v5 9/9] app/testpmd: enable building
> testpmd on Windows
>
> External email: Use caution opening links or attachments
>
>
> > Subject: Re: [dpdk-dev] [PATCH v5 9/9] app/testpmd: enable building
> > testpmd on Windows
> >
> > External email: Use caution opening links or attachments
> >
> >
> > 18/04/2021 19:21, Tal Shnaiderman:
> > > Building testpmd results in 2 warnings in clang:
> > >
> > > ../app/test-pmd/config.c:4254:1: warning: unused function
> > > 'print_fdir_mask' [-Wunused-function] print_fdir_mask(struct
> > > rte_eth_fdir_masks *mask) ^
> > > ../app/test-pmd/config.c:4289:1: warning: unused function
> > > 'print_fdir_flex_payload' [-Wunused-function]
> > > print_fdir_flex_payload(struct rte_eth_fdir_flex_conf *flex_conf,
> > > uint32_t num) ^
> > > 2 warnings generated.
> >
> > Why all tests are passing in the CI?
> > I feel there is something wrong. We must test with -werror.
>
> I know that the UNH Windows CI runs with -werror however the test didn't
> run on clang yet [1].
> This patch passed Intel compilation test on Windows, however I don't know if
> -werror is used there [2].
>
> [1] - https://lab.dpdk.org/results/dashboard/patchsets/16593/
> [2] - http://mails.dpdk.org/archives/test-report/2021-April/188796.html
Update: the UNH test run a few minutes ago and as expected, failed with the compilation warnings.
For some reason however the test appears as 'passed' in patchwork.
On Sun, Apr 18, 2021 at 07:20:18PM +0000, Tal Shnaiderman wrote:
> > Subject: Re: [dpdk-dev] [PATCH v5 9/9] app/testpmd: enable building
> > testpmd on Windows
> >
> > External email: Use caution opening links or attachments
> >
> >
> > > Subject: Re: [dpdk-dev] [PATCH v5 9/9] app/testpmd: enable building
> > > testpmd on Windows
> > >
> > > External email: Use caution opening links or attachments
> > >
> > >
> > > 18/04/2021 19:21, Tal Shnaiderman:
> > > > Building testpmd results in 2 warnings in clang:
> > > >
> > > > ../app/test-pmd/config.c:4254:1: warning: unused function
> > > > 'print_fdir_mask' [-Wunused-function] print_fdir_mask(struct
> > > > rte_eth_fdir_masks *mask) ^
> > > > ../app/test-pmd/config.c:4289:1: warning: unused function
> > > > 'print_fdir_flex_payload' [-Wunused-function]
> > > > print_fdir_flex_payload(struct rte_eth_fdir_flex_conf *flex_conf,
> > > > uint32_t num) ^
> > > > 2 warnings generated.
> > >
> > > Why all tests are passing in the CI?
> > > I feel there is something wrong. We must test with -werror.
> >
> > I know that the UNH Windows CI runs with -werror however the test didn't
> > run on clang yet [1].
> > This patch passed Intel compilation test on Windows, however I don't know if
> > -werror is used there [2].
> >
> > [1] - https://lab.dpdk.org/results/dashboard/patchsets/16593/
> > [2] - http://mails.dpdk.org/archives/test-report/2021-April/188796.html
>
> Update: the UNH test run a few minutes ago and as expected, failed with the compilation warnings.
> For some reason however the test appears as 'passed' in patchwork.
This cannot be repro'd on my Win10 + clang 10 system. Notice that the UNH is using Win2019 + clang 9. These two functions print_fdir_mask and print_fdir_flex_payload triggered "unused function" warning are both called in fdir_get_infos, and fdir_get_infos is called under "#if defined(RTE_NET_I40E) || defined(RTE_NET_IXGBE)".
I can add #if defined(RTE_NET_I40E) || defined(RTE_NET_IXGBE) for the print_fdir_mask and prting_fdir_flex_payload as well, but it's not clear to me why fdir_get_infos is not called when i40e is already enabled on Windows.
@@ -1,10 +1,6 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017-2019 Intel Corporation
-if is_windows
- subdir_done()
-endif
-
apps = [
'pdump',
'proc-info',
@@ -1,5 +1,11 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
+if is_windows
+ build = false
+ reason = 'not supported on Windows'
+ subdir_done()
+endif
+
sources = files('main.c')
deps += ['ethdev', 'kvargs', 'pdump']
@@ -1,5 +1,11 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
+if is_windows
+ build = false
+ reason = 'not supported on Windows'
+ subdir_done()
+endif
+
sources = files('main.c')
deps += ['ethdev', 'metrics', 'security']
@@ -1,5 +1,11 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2019 Intel Corporation
+if is_windows
+ build = false
+ reason = 'not supported on Windows'
+ subdir_done()
+endif
+
sources = files('main.c')
deps += ['acl', 'net']
@@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
+if is_windows
+ build = false
+ reason = 'not supported on Windows'
+ subdir_done()
+endif
+
sources = files('main.c',
'test_bbdev.c',
'test_bbdev_perf.c',
@@ -1,5 +1,11 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2019 Intel Corporation
+if is_windows
+ build = false
+ reason = 'not supported on Windows'
+ subdir_done()
+endif
+
sources = files('commands.c', 'cmdline_test.c')
deps += 'cmdline'
@@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
+if is_windows
+ build = false
+ reason = 'not supported on Windows'
+ subdir_done()
+endif
+
sources = files('comp_perf_options_parse.c',
'main.c',
'comp_perf_test_verify.c',
@@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Intel Corporation
+if is_windows
+ build = false
+ reason = 'not supported on Windows'
+ subdir_done()
+endif
+
sources = files('cperf_ops.c',
'cperf_options_parsing.c',
'cperf_test_common.c',
@@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Cavium, Inc
+if is_windows
+ build = false
+ reason = 'not supported on Windows'
+ subdir_done()
+endif
+
sources = files('evt_main.c',
'evt_options.c',
'evt_test.c',
@@ -1,5 +1,11 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2019 Intel Corporation
+if is_windows
+ build = false
+ reason = 'not supported on Windows'
+ subdir_done()
+endif
+
sources = files('main.c')
deps += ['fib', 'lpm', 'net']
@@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2020 Mellanox Technologies, Ltd
+if is_windows
+ build = false
+ reason = 'not supported on Windows'
+ subdir_done()
+endif
+
sources = files(
'actions_gen.c',
'flow_gen.c',
@@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2019 Intel Corporation
+if is_windows
+ build = false
+ reason = 'not supported on Windows'
+ subdir_done()
+endif
+
sources = files(
'config.c',
'init.c',
@@ -1,5 +1,11 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright 2020 Mellanox Technologies, Ltd
+if is_windows
+ build = false
+ reason = 'not supported on Windows'
+ subdir_done()
+endif
+
sources = files('main.c')
deps = ['regexdev']
@@ -1,5 +1,11 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2019 Intel Corporation
+if is_windows
+ build = false
+ reason = 'not supported on Windows'
+ subdir_done()
+endif
+
sources = files('main.c')
deps += ['ipsec', 'net']
@@ -1,6 +1,12 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
+if is_windows
+ build = false
+ reason = 'not supported on Windows'
+ subdir_done()
+endif
+
if not get_option('tests')
subdir_done()
endif