[dpdk-dev] [PATCH] app/test: fix build with ring pmd but no bond pmd

David Marchand david.marchand at redhat.com
Mon Jun 29 12:09:20 CEST 2020


On Wed, May 27, 2020 at 4:58 PM Bruce Richardson
<bruce.richardson at 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 at intel.com
>
> Signed-off-by: Bruce Richardson <bruce.richardson at 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 at 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



More information about the dev mailing list