From 435aadddc8167d6b5551c2884510776bca574ea6 Mon Sep 17 00:00:00 2001 From: Ciara Loftus Date: Thu, 4 Aug 2016 11:44:40 +0100 Subject: netdev-dpdk: Make libnuma dependencies optional Prior to this patch, OVS with DPDK required the libnuma packages to build. This patch removes this dependency, making it only a requirement when the CONFIG_RTE_LIBRTE_VHOST_NUMA option is detected as enabled in the DPDK build. Signed-off-by: Ciara Loftus Acked-by: Daniele Di Proietto --- .travis.yml | 1 - INSTALL.DPDK-ADVANCED.md | 2 +- INSTALL.DPDK.md | 2 +- acinclude.m4 | 14 ++++++++++++-- rhel/openvswitch-fedora.spec.in | 2 -- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index a46994d3a..4ae6a5b02 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,6 @@ addons: packages: - bc - gcc-multilib - - libnuma-dev - libssl-dev - llvm-dev - libjemalloc1 diff --git a/INSTALL.DPDK-ADVANCED.md b/INSTALL.DPDK-ADVANCED.md index c8d69aebb..0ab43d42e 100755 --- a/INSTALL.DPDK-ADVANCED.md +++ b/INSTALL.DPDK-ADVANCED.md @@ -181,7 +181,7 @@ right PCIe slot. CONFIG_RTE_LIBRTE_VHOST_NUMA=y, vHost User ports automatically detect the NUMA socket of the QEMU vCPUs and will be serviced by a PMD from the same node provided a core on this node is enabled in the - pmd-cpu-mask. + pmd-cpu-mask. libnuma packages are required for this feature. ### 3.7 Compiler Optimizations diff --git a/INSTALL.DPDK.md b/INSTALL.DPDK.md index 0dae2ab5b..253d0226e 100644 --- a/INSTALL.DPDK.md +++ b/INSTALL.DPDK.md @@ -21,7 +21,7 @@ The DPDK support of Open vSwitch is considered 'experimental'. ### Prerequisites -* Required: DPDK 16.07, libnuma +* Required: DPDK 16.07 * Hardware: [DPDK Supported NICs] when physical ports in use ## 2. Building and Installation diff --git a/acinclude.m4 b/acinclude.m4 index f02166d7d..bbbad238a 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -209,7 +209,17 @@ AC_DEFUN([OVS_CHECK_DPDK], [ [AC_DEFINE([VHOST_CUSE], [1], [DPDK vhost-cuse support enabled, vhost-user disabled.]) DPDK_EXTRA_LIB="-lfuse"]) - AC_SEARCH_LIBS([get_mempolicy],[numa],[],[AC_MSG_ERROR([unable to find libnuma, install the dependency package])]) + AC_COMPILE_IFELSE([ + AC_LANG_PROGRAM( + [ + #include +#if RTE_LIBRTE_VHOST_NUMA +#error +#endif + ], []) + ], [], + [AC_SEARCH_LIBS([get_mempolicy],[numa],[],[AC_MSG_ERROR([unable to find libnuma, install the dependency package])]) + DPDK_EXTRA_LIB="-lnuma"]) # On some systems we have to add -ldl to link with dpdk # @@ -221,7 +231,7 @@ AC_DEFUN([OVS_CHECK_DPDK], [ DPDKLIB_FOUND=false save_LIBS=$LIBS for extras in "" "-ldl"; do - LIBS="$DPDK_LIB $extras $save_LIBS $DPDK_EXTRA_LIB -lnuma" + LIBS="$DPDK_LIB $extras $save_LIBS $DPDK_EXTRA_LIB" AC_LINK_IFELSE( [AC_LANG_PROGRAM([#include #include ], diff --git a/rhel/openvswitch-fedora.spec.in b/rhel/openvswitch-fedora.spec.in index 34c0f37f2..0657e8151 100644 --- a/rhel/openvswitch-fedora.spec.in +++ b/rhel/openvswitch-fedora.spec.in @@ -54,8 +54,6 @@ BuildRequires: libcap-ng libcap-ng-devel %endif %if %{with dpdk} BuildRequires: dpdk-devel >= 2.2.0 -BuildRequires: numactl-devel -Requires: numactl-libs Provides: %{name}-dpdk = %{version}-%{release} %endif -- cgit v1.2.1