Dpdk allows users to create a config that includes other config files and then 
override values.

Eg.
defconfig_x86_64-native_vhost_cuse-linuxapp-gcc:

#include "defconfig_x86_64-native-linuxapp-gcc"
CONFIG_RTE_BUILD_COMBINE_LIBS=y
CONFIG_RTE_BUILD_SHARED_LIB=n
CONFIG_RTE_LIBRTE_VHOST=y
CONFIG_RTE_LIBRTE_VHOST_USER=n

This allows you to have both a vhostuser and vhostcuse config in the same 
source tree without the need to replicate everything in those config files just 
to change a couple of settings. The resultant .config file has all of the 
settings from the included files with the updated settings at the end. The 
resultant rte_config.h contains multiple undefs and defines for the overridden 
settings.

Eg.
> grep RTE_LIBRTE_VHOST_USER 
> x86_64-native_vhost_cuse-linuxapp-gcc/include/rte_config.h
#undef RTE_LIBRTE_VHOST_USER
#define RTE_LIBRTE_VHOST_USER 1
#undef RTE_LIBRTE_VHOST_USER

The current mechanism to detect the RTE_LIBRTE_VHOST_USER setting merely greps 
the rte_config.h file for the string "define RTE_LIBRTE_VHOST_USER 1" rather 
than the final setting of RTE_LIBRTE_VHOST_USER. The following patch changes 
this test to detect the final setting of RTE_LIBRTE_VHOST_USER.

Gary

Author: Gary Mussar <gmus...@ciena.com>
Date:   Fri Jun 26 16:49:03 2015 -0400

    Fix detection of vhost_cuse in dpdk rte_config.h

    Signed-off-by: Gary Mussar <gmus...@ciena.com>
---
 acinclude.m4 | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/acinclude.m4 b/acinclude.m4
index 20391ec..ef6523a 100644
--- a/acinclude.m4
+++ b/acinclude.m4
@@ -221,8 +221,13 @@ AC_DEFUN([OVS_CHECK_DPDK], [
     AC_SUBST([DPDK_vswitchd_LDFLAGS])
     AC_DEFINE([DPDK_NETDEV], [1], [System uses the DPDK module.])

-    OVS_GREP_IFELSE([$RTE_SDK/include/rte_config.h], [define 
RTE_LIBRTE_VHOST_USER 1],
+    AC_LANG_PUSH(C)
+    AC_EGREP_CPP([int vhost = 1;], [
+#include <$RTE_SDK/include/rte_config.h>
+int vhost = RTE_LIBRTE_VHOST_USER;
+],
                     [], [AC_DEFINE([VHOST_CUSE], [1], [DPDK vhost-cuse support 
enabled, vhost-user
+    AC_LANG_POP()
   else
     RTE_SDK=
   fi
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to