[ovs-dev] --with-dpdk configure option issue

Bodireddy, Bhanuprakash bhanuprakash.bodireddy at intel.com
Wed Jun 1 15:14:41 UTC 2016


>-----Original Message-----
>From: Mauricio Vásquez [mailto:mauriciovasquezbernal at gmail.com]
>Sent: Wednesday, June 1, 2016 3:37 PM
>To: Bodireddy, Bhanuprakash <bhanuprakash.bodireddy at intel.com>
>Cc: ovs dev <dev at openvswitch.org>
>Subject: Re: --with-dpdk configure option issue
>
>
>
>On Wed, Jun 1, 2016 at 3:29 PM, Bodireddy, Bhanuprakash
><bhanuprakash.bodireddy at intel.com> wrote:
>>-----Original Message-----
>>From: Mauricio Vásquez [mailto:mauriciovasquezbernal at gmail.com]
>>Sent: Wednesday, June 1, 2016 11:17 AM
>>To: ovs dev <dev at openvswitch.org>
>>Cc: Bodireddy, Bhanuprakash <bhanuprakash.bodireddy at intel.com>
>>Subject: --with-dpdk configure option issue
>>
>>Dear All,
>>I noticed that when I run the command
>>./configure --with-dpdk=$SOME_NON_EXISTING_ENV_VAR
>>it does not give me an error, somewhere it says:
>>"checking whether dpdk datapath is enabled... no" but there is not an
>explicit
>>error.
>>I think this behavior should be avoided, an explicit error should be printed to
>>avoid any possible confusion, as for example when DPDK_BUILD is not set.
>
>Thanks for reporting this issue.  This is treated more a misconfiguration than a
>bug. Please see below.
>The configure script was modified to handle auto discovery of DPDK library if
>present in standard search paths with ' ./configure --with-dpdk' option.
>It also handles other valid options as listed below in case (a),(b),(c), (e). All the
>below options will set string 'with_dpdk' in OVS_CHECK_DPDK function in
>acinclude.m4.
>
>(a)  ./configure --with-dpdk=$DPDK_BUILD                       [ $with_dpdk will be a
>valid $DPDK_BUILD dir]
>(b)  ./configure --with-dpdk=$DPDK_BUILD/install         [ $with_dpdk will be a
>valid $DPDK_BUILD/install dir]
>(c)   ./configure --without-dpdk.                                              [$with_dpdk will be
>'no']
>(d)  ./configure --with-dpdk=""                                                [$with_dpdk will be an
>empty string]
>(e)  ./configure                                                                                [ $with_dpdk will be an
>empty string]
>
>In case (d), when empty string is passed to --with-dpdk option, it's not known
>if user has invoked case (d) or case (e).  Hence I throw dpdk datapath isn't
>enabled as part of configuration.
>i.e "checking whether dpdk datapath is enabled... no".
>
>I had a look at the autotools documentation and I think there is a way to
>distinguish between cases (d) and (e).
>What do you think about something like this?
>
>diff --git a/acinclude.m4 b/acinclude.m4
>index f3de855..9314d82 100644
>--- a/acinclude.m4
>+++ b/acinclude.m4
>@@ -161,10 +161,11 @@ dnl Configure DPDK source tree
> AC_DEFUN([OVS_CHECK_DPDK], [
>   AC_ARG_WITH([dpdk],
>               [AC_HELP_STRING([--with-dpdk=/path/to/dpdk],
>-                              [Specify the DPDK build directory])])
>+                              [Specify the DPDK build directory])],
>+               [have_dpdk=true])
>
>   AC_MSG_CHECKING([whether dpdk datapath is enabled])
>-  if test -z "$with_dpdk" || test "$with_dpdk" = no; then
>+  if test "$have_dpdk" != true; then
>     AC_MSG_RESULT([no])
>     DPDKLIB_FOUND=false
>   else

This looks fine, but for one minor issue when using ./configure --without-dpdk option.
Below it says dpdk datapath is still enabled and errors out..

checking whether dpdk datapath is enabled... yes
checking for no/include/rte_config.h... no
checking for no/include/dpdk/rte_config.h... no
configure: error: Could not find DPDK libraries in no/lib

I don’t think anyone would use '--without-dpdk' explicitly to avoid building DPDK datapath with OVS.

Regards,
Bhanu Prakash.

>
>>
>>Bhanuprakash, I CC'ed you because you are author of 40b5ea86319f
>>("acinclude: Autodetect DPDK location when configuring OVS"), then I think
>>you know how  to fix it.
>>Mauricio V,



More information about the dev mailing list