DPDK patches and discussions
 help / color / Atom feed
* [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, back to index

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

DPDK patches and discussions

Archives are clonable:
	git clone --mirror http://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ http://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev


Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/ public-inbox