BuildRequires: libudev-devel
BuildRequires: libtool
BuildRequires: libxml2-devel
+BuildRequires: libuuid-devel
BuildRequires: make
BuildRequires: parted
BuildRequires: perl
# create the directory so cmake won't complain when looking at the imported
# target
file(MAKE_DIRECTORY ${DPDK_INCLUDE_DIR})
- foreach(c eal mempool mempool_ring mempool_stack ring)
+ foreach(c
+ pci bus_pci
+ eal
+ mempool mempool_ring mempool_stack ring)
add_library(dpdk::${c} STATIC IMPORTED)
add_dependencies(dpdk::${c} dpdk-ext)
set(dpdk_${c}_LIBRARY
find_package(CUnit REQUIRED)
if(LINUX)
find_package(aio REQUIRED)
+ find_package(uuid REQUIRED)
endif()
include(ExternalProject)
ExternalProject_Add(spdk-ext
BUILD_IN_SOURCE 1
INSTALL_COMMAND "true")
ExternalProject_Get_Property(spdk-ext source_dir)
- foreach(c nvme log env_dpdk util)
+ foreach(c nvme log lvol env_dpdk util)
add_library(spdk::${c} STATIC IMPORTED)
add_dependencies(spdk::${c} spdk-ext)
set_target_properties(spdk::${c} PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${source_dir}/include")
list(APPEND SPDK_LIBRARIES spdk::${c})
endforeach()
- list(APPEND iface_libs ${DPDK_LIBRARIES} rt)
set_target_properties(spdk::env_dpdk PROPERTIES
- INTERFACE_LINK_LIBRARIES "${iface_libs}")
+ INTERFACE_LINK_LIBRARIES "${DPDK_LIBRARIES};rt")
+ if(LINUX)
+ set_target_properties(spdk::lvol PROPERTIES
+ INTERFACE_LINK_LIBRARIES ${UUID_LIBRARIES})
+ endif()
set(SPDK_INCLUDE_DIR "${source_dir}/include")
unset(source_dir)
- unset(iface_libs)
endmacro()
HINTS $ENV{DPDK_DIR}/include)
set(components
- cmdline eal ethdev hash kvargs mbuf
+ pci bus_pci cmdline eal ethdev hash kvargs mbuf
mempool mempool_ring mempool_stack
pmd_bond pmd_vmxnet3_uio pmd_ixgbe pmd_i40e pmd_ring pmd_af_packet
ring)
--- /dev/null
+# Try to find libuuid
+# Once done, this will define
+#
+# UUID_FOUND - system has Profiler
+# UUID_INCLUDE_DIR - the Profiler include directories
+# UUID_LIBRARIES - link these to use Profiler
+
+if(UUID_INCLUDE_DIR AND UUID_LIBRARIES)
+ set(UUID_FIND_QUIETLY TRUE)
+endif()
+
+find_path(UUID_INCLUDE_DIR NAMES uuid/uuid.h)
+find_library(UUID_LIBRARIES NAMES uuid)
+set(UUID_LIBRARIES ${LIBUUID})
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(uuid
+ DEFAULT_MSG UUID_LIBRARIES UUID_INCLUDE_DIR)
+
+mark_as_advanced(UUID_LIBRARIES UUID_INCLUDE_DIR)
# no vm support
setconf CONFIG_RTE_LIBRTE_EAL_VMWARE_TSC_MAP_SUPPORT n
setconf CONFIG_RTE_LIBRTE_VHOST n
+setconf CONFIG_RTE_LIBRTE_VHOST_NUMA n
setconf CONFIG_RTE_LIBRTE_VMXNET3_PMD n
setconf CONFIG_RTE_LIBRTE_PMD_VHOST n
setconf CONFIG_RTE_APP_EVENTDEV n
# async/dpdk does not like it
setconf CONFIG_RTE_MBUF_REFCNT_ATOMIC n
+
+# balanced allocation of hugepages
+setconf CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES n
python3-all-dev,
python3-setuptools,
socat,
+ uuid-dev,
uuid-runtime,
valgrind,
virtualenv | python-virtualenv,