* [dpdk-dev] [PATCH] app/test: fix build with ring pmd but no bond pmd
@ 2020-05-27 14:57 Bruce Richardson
2020-06-29 10:09 ` David Marchand
0 siblings, 1 reply; 5+ messages in thread
From: Bruce Richardson @ 2020-05-27 14:57 UTC (permalink / raw)
To: dev; +Cc: Bruce Richardson, reshma.pattan
If the bonding pmd is disabled, all autotest associated with it should be
disabled. However, some of those tests also depended upon the ring PMD so
were placed in a block depending on that driver - and unfortunately that
driver alone. This caused build failures if the ring PMD was enabled but
the bonding PMD disabled, due to missing header files and driver libs.
This error can be reproduced by configuring DPDK using e.g.
meson configure -Ddisable_drivers=net/[!r]* build
(which will disable all drivers not starting with "r"), and then building
using ninja.
Fix this by moving all link bonding autotests to the one block and putting
a second conditional check within that block for those also requiring the
ring PMD.
Fixes: 7f6ef1664027 ("test/bonding: allow disabling driver")
Fixes: 207b1c813f39 ("test: fix build without ring PMD")
Cc: reshma.pattan@intel.com
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
app/test/meson.build | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/app/test/meson.build b/app/test/meson.build
index 1715ddbcb..dc2474699 100644
--- a/app/test/meson.build
+++ b/app/test/meson.build
@@ -350,6 +350,10 @@ if dpdk_conf.has('RTE_LIBRTE_BOND_PMD')
test_deps += 'pmd_bond'
test_sources += ['test_link_bonding.c', 'test_link_bonding_rssconf.c']
driver_test_names += ['link_bonding_autotest', 'link_bonding_rssconf_autotest']
+ if dpdk_conf.has('RTE_LIBRTE_RING_PMD')
+ test_sources += 'test_link_bonding_mode4.c'
+ driver_test_names += 'link_bonding_mode4_autotest'
+ endif
endif
if dpdk_conf.has('RTE_LIBRTE_RING_PMD')
test_deps += 'pmd_ring'
@@ -358,7 +362,6 @@ if dpdk_conf.has('RTE_LIBRTE_RING_PMD')
test_sources += 'test_event_eth_tx_adapter.c'
test_sources += 'test_bitratestats.c'
test_sources += 'test_latencystats.c'
- test_sources += 'test_link_bonding_mode4.c'
test_sources += 'sample_packet_forward.c'
test_sources += 'test_pdump.c'
fast_tests += [['ring_pmd_autotest', true]]
@@ -366,7 +369,6 @@ if dpdk_conf.has('RTE_LIBRTE_RING_PMD')
fast_tests += [['event_eth_tx_adapter_autotest', false]]
fast_tests += [['bitratestats_autotest', true]]
fast_tests += [['latencystats_autotest', true]]
- driver_test_names += 'link_bonding_mode4_autotest'
fast_tests += [['pdump_autotest', true]]
endif
--
2.25.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-dev] [PATCH] app/test: fix build with ring pmd but no bond pmd
2020-05-27 14:57 [dpdk-dev] [PATCH] app/test: fix build with ring pmd but no bond pmd Bruce Richardson
@ 2020-06-29 10:09 ` David Marchand
2020-06-29 13:03 ` Bruce Richardson
2020-07-01 9:11 ` David Marchand
0 siblings, 2 replies; 5+ messages in thread
From: David Marchand @ 2020-06-29 10:09 UTC (permalink / raw)
To: Bruce Richardson; +Cc: dev, Pattan, Reshma
On Wed, May 27, 2020 at 4:58 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> If the bonding pmd is disabled, all autotest associated with it should be
> disabled. However, some of those tests also depended upon the ring PMD so
> were placed in a block depending on that driver - and unfortunately that
> driver alone. This caused build failures if the ring PMD was enabled but
> the bonding PMD disabled, due to missing header files and driver libs.
>
> This error can be reproduced by configuring DPDK using e.g.
>
> meson configure -Ddisable_drivers=net/[!r]* build
>
> (which will disable all drivers not starting with "r"), and then building
> using ninja.
>
> Fix this by moving all link bonding autotests to the one block and putting
> a second conditional check within that block for those also requiring the
> ring PMD.
>
> Fixes: 7f6ef1664027 ("test/bonding: allow disabling driver")
> Fixes: 207b1c813f39 ("test: fix build without ring PMD")
> Cc: reshma.pattan@intel.com
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
> app/test/meson.build | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/app/test/meson.build b/app/test/meson.build
> index 1715ddbcb..dc2474699 100644
> --- a/app/test/meson.build
> +++ b/app/test/meson.build
> @@ -350,6 +350,10 @@ if dpdk_conf.has('RTE_LIBRTE_BOND_PMD')
> test_deps += 'pmd_bond'
> test_sources += ['test_link_bonding.c', 'test_link_bonding_rssconf.c']
> driver_test_names += ['link_bonding_autotest', 'link_bonding_rssconf_autotest']
> + if dpdk_conf.has('RTE_LIBRTE_RING_PMD')
> + test_sources += 'test_link_bonding_mode4.c'
> + driver_test_names += 'link_bonding_mode4_autotest'
> + endif
> endif
> if dpdk_conf.has('RTE_LIBRTE_RING_PMD')
> test_deps += 'pmd_ring'
> @@ -358,7 +362,6 @@ if dpdk_conf.has('RTE_LIBRTE_RING_PMD')
> test_sources += 'test_event_eth_tx_adapter.c'
> test_sources += 'test_bitratestats.c'
> test_sources += 'test_latencystats.c'
> - test_sources += 'test_link_bonding_mode4.c'
> test_sources += 'sample_packet_forward.c'
> test_sources += 'test_pdump.c'
> fast_tests += [['ring_pmd_autotest', true]]
> @@ -366,7 +369,6 @@ if dpdk_conf.has('RTE_LIBRTE_RING_PMD')
> fast_tests += [['event_eth_tx_adapter_autotest', false]]
> fast_tests += [['bitratestats_autotest', true]]
> fast_tests += [['latencystats_autotest', true]]
> - driver_test_names += 'link_bonding_mode4_autotest'
> fast_tests += [['pdump_autotest', true]]
> endif
>
> --
> 2.25.1
>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Just a note.
Looking at the makefile counterpart, I can see that if we disable the
null driver, we would have an issue too.
--
David Marchand
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-dev] [PATCH] app/test: fix build with ring pmd but no bond pmd
2020-06-29 10:09 ` David Marchand
@ 2020-06-29 13:03 ` Bruce Richardson
2020-07-01 7:50 ` David Marchand
2020-07-01 9:11 ` David Marchand
1 sibling, 1 reply; 5+ messages in thread
From: Bruce Richardson @ 2020-06-29 13:03 UTC (permalink / raw)
To: David Marchand; +Cc: dev, Pattan, Reshma
On Mon, Jun 29, 2020 at 12:09:20PM +0200, David Marchand wrote:
> On Wed, May 27, 2020 at 4:58 PM Bruce Richardson
> <bruce.richardson@intel.com> wrote:
> >
> > If the bonding pmd is disabled, all autotest associated with it should be
> > disabled. However, some of those tests also depended upon the ring PMD so
> > were placed in a block depending on that driver - and unfortunately that
> > driver alone. This caused build failures if the ring PMD was enabled but
> > the bonding PMD disabled, due to missing header files and driver libs.
> >
> > This error can be reproduced by configuring DPDK using e.g.
> >
> > meson configure -Ddisable_drivers=net/[!r]* build
> >
> > (which will disable all drivers not starting with "r"), and then building
> > using ninja.
> >
> > Fix this by moving all link bonding autotests to the one block and putting
> > a second conditional check within that block for those also requiring the
> > ring PMD.
> >
> > Fixes: 7f6ef1664027 ("test/bonding: allow disabling driver")
> > Fixes: 207b1c813f39 ("test: fix build without ring PMD")
> > Cc: reshma.pattan@intel.com
> >
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> > ---
> > app/test/meson.build | 6 ++++--
> > 1 file changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/app/test/meson.build b/app/test/meson.build
> > index 1715ddbcb..dc2474699 100644
> > --- a/app/test/meson.build
> > +++ b/app/test/meson.build
> > @@ -350,6 +350,10 @@ if dpdk_conf.has('RTE_LIBRTE_BOND_PMD')
> > test_deps += 'pmd_bond'
> > test_sources += ['test_link_bonding.c', 'test_link_bonding_rssconf.c']
> > driver_test_names += ['link_bonding_autotest', 'link_bonding_rssconf_autotest']
> > + if dpdk_conf.has('RTE_LIBRTE_RING_PMD')
> > + test_sources += 'test_link_bonding_mode4.c'
> > + driver_test_names += 'link_bonding_mode4_autotest'
> > + endif
> > endif
> > if dpdk_conf.has('RTE_LIBRTE_RING_PMD')
> > test_deps += 'pmd_ring'
> > @@ -358,7 +362,6 @@ if dpdk_conf.has('RTE_LIBRTE_RING_PMD')
> > test_sources += 'test_event_eth_tx_adapter.c'
> > test_sources += 'test_bitratestats.c'
> > test_sources += 'test_latencystats.c'
> > - test_sources += 'test_link_bonding_mode4.c'
> > test_sources += 'sample_packet_forward.c'
> > test_sources += 'test_pdump.c'
> > fast_tests += [['ring_pmd_autotest', true]]
> > @@ -366,7 +369,6 @@ if dpdk_conf.has('RTE_LIBRTE_RING_PMD')
> > fast_tests += [['event_eth_tx_adapter_autotest', false]]
> > fast_tests += [['bitratestats_autotest', true]]
> > fast_tests += [['latencystats_autotest', true]]
> > - driver_test_names += 'link_bonding_mode4_autotest'
> > fast_tests += [['pdump_autotest', true]]
> > endif
> >
> > --
> > 2.25.1
> >
>
> Reviewed-by: David Marchand <david.marchand@redhat.com>
>
> Just a note.
> Looking at the makefile counterpart, I can see that if we disable the
> null driver, we would have an issue too.
>
I'm not actually seeing an error with it in meson builds. Running a quick
test using build parameter "-Ddisable_drivers=net/null" shows no errors, so
I think we may be ok here.
Regards,
/Bruce
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-dev] [PATCH] app/test: fix build with ring pmd but no bond pmd
2020-06-29 13:03 ` Bruce Richardson
@ 2020-07-01 7:50 ` David Marchand
0 siblings, 0 replies; 5+ messages in thread
From: David Marchand @ 2020-07-01 7:50 UTC (permalink / raw)
To: Bruce Richardson; +Cc: dev, Pattan, Reshma
On Mon, Jun 29, 2020 at 3:05 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
> > Just a note.
> > Looking at the makefile counterpart, I can see that if we disable the
> > null driver, we would have an issue too.
> >
> I'm not actually seeing an error with it in meson builds. Running a quick
> test using build parameter "-Ddisable_drivers=net/null" shows no errors, so
> I think we may be ok here.
I would expect an issue at runtime, as the bonding driver test wants
to use null ports.
But yes, the build is fine.
--
David Marchand
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [dpdk-dev] [PATCH] app/test: fix build with ring pmd but no bond pmd
2020-06-29 10:09 ` David Marchand
2020-06-29 13:03 ` Bruce Richardson
@ 2020-07-01 9:11 ` David Marchand
1 sibling, 0 replies; 5+ messages in thread
From: David Marchand @ 2020-07-01 9:11 UTC (permalink / raw)
To: Bruce Richardson; +Cc: dev, Pattan, Reshma
On Mon, Jun 29, 2020 at 12:09 PM David Marchand
<david.marchand@redhat.com> wrote:
> On Wed, May 27, 2020 at 4:58 PM Bruce Richardson
> <bruce.richardson@intel.com> wrote:
> >
> > If the bonding pmd is disabled, all autotest associated with it should be
> > disabled. However, some of those tests also depended upon the ring PMD so
> > were placed in a block depending on that driver - and unfortunately that
> > driver alone. This caused build failures if the ring PMD was enabled but
> > the bonding PMD disabled, due to missing header files and driver libs.
> >
> > This error can be reproduced by configuring DPDK using e.g.
> >
> > meson configure -Ddisable_drivers=net/[!r]* build
> >
> > (which will disable all drivers not starting with "r"), and then building
> > using ninja.
> >
> > Fix this by moving all link bonding autotests to the one block and putting
> > a second conditional check within that block for those also requiring the
> > ring PMD.
> >
> > Fixes: 7f6ef1664027 ("test/bonding: allow disabling driver")
> > Fixes: 207b1c813f39 ("test: fix build without ring PMD")
> >
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> Reviewed-by: David Marchand <david.marchand@redhat.com>
Applied, thanks.
--
David Marchand
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-07-01 9:11 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-27 14:57 [dpdk-dev] [PATCH] app/test: fix build with ring pmd but no bond pmd Bruce Richardson
2020-06-29 10:09 ` David Marchand
2020-06-29 13:03 ` Bruce Richardson
2020-07-01 7:50 ` David Marchand
2020-07-01 9:11 ` David Marchand
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).