summaryrefslogtreecommitdiff
path: root/support/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'support/CMakeLists.txt')
-rw-r--r--support/CMakeLists.txt44
1 files changed, 24 insertions, 20 deletions
diff --git a/support/CMakeLists.txt b/support/CMakeLists.txt
index 82da9d9..7da7ce8 100644
--- a/support/CMakeLists.txt
+++ b/support/CMakeLists.txt
@@ -104,25 +104,28 @@ set_property(TARGET libcmocka PROPERTY IMPORTED_LOCATION ${INSTALL_DIR}/lib64/li
set_property(TARGET libcmocka PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include)
# Merge multiple patches into one patch file
-set(DPDK_PATCH_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dpdk)
+set(DPDK_VERSION 23.11.1)
+set(DPDK_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/dpdk)
+set(DPDK_PATCH_DIR ${DPDK_SOURCE_DIR})
set(MERGED_PATCH_FILE "${CMAKE_BINARY_DIR}/merged_patches.patch")
-set(DPDP_PATCH_FILES ${DPDK_PATCH_DIR}/dpdk-21.11.4-memzone-namesize.patch
- ${DPDK_PATCH_DIR}/dpdk-21.11.4-fm10k-rxtx-vec.patch
- ${DPDK_PATCH_DIR}/dpdk-21.11.4-mempool-ops-get-count.patch
- ${DPDK_PATCH_DIR}/dpdk-21.11.4-bypass-flow-err-func.patch
- ${DPDK_PATCH_DIR}/dpdk-21.11.4-fix-dup-msl-name-sec-process.patch
- ${DPDK_PATCH_DIR}/dpdk-21.11.4-fix-af-packet-run-as-slave-of-bond.patch
- ${DPDK_PATCH_DIR}/dpdk-21.11.4-mp-max-fds.patch
- ${DPDK_PATCH_DIR}/dpdk-21.11.4-dpdk-devbind-dump.patch
- ${DPDK_PATCH_DIR}/dpdk-21.11.4-dpdk-hugepages-path.patch
- ${DPDK_PATCH_DIR}/dpdk-21.11.4-dpdk-pcapng-path.patch
- ${DPDK_PATCH_DIR}/dpdk-21.11.4-extend-max-virtqueue-pairs.patch
- ${DPDK_PATCH_DIR}/dpdk-21.11.4-dpdk-pdum-offset-c.patch
- ${DPDK_PATCH_DIR}/dpdk-21.11.4-dpdk-pdum-offset-h.patch
- ${DPDK_PATCH_DIR}/dpdk-21.11.4-dpdk-pdum-offset-app.patch
- ${DPDK_PATCH_DIR}/dpdk-21.11.4-macro-adjust.patch
+set(DPDK_PATCH_FILES ${DPDK_PATCH_DIR}/dpdk-${DPDK_VERSION}-memzone-namesize.patch
+ ${DPDK_PATCH_DIR}/dpdk-${DPDK_VERSION}-fm10k-rxtx-vec.patch
+ ${DPDK_PATCH_DIR}/dpdk-${DPDK_VERSION}-mempool-ops-get-count.patch
+ ${DPDK_PATCH_DIR}/dpdk-${DPDK_VERSION}-bypass-flow-err-func.patch
+ ${DPDK_PATCH_DIR}/dpdk-${DPDK_VERSION}-fix-dup-msl-name-sec-process.patch
+ ${DPDK_PATCH_DIR}/dpdk-${DPDK_VERSION}-fix-af-packet-run-as-slave-of-bond.patch
+ ${DPDK_PATCH_DIR}/dpdk-${DPDK_VERSION}-mp-max-fds.patch
+ ${DPDK_PATCH_DIR}/dpdk-${DPDK_VERSION}-dpdk-devbind-dump.patch
+ ${DPDK_PATCH_DIR}/dpdk-${DPDK_VERSION}-dpdk-hugepages-path.patch
+ ${DPDK_PATCH_DIR}/dpdk-${DPDK_VERSION}-dpdk-pcapng-path.patch
+ ${DPDK_PATCH_DIR}/dpdk-${DPDK_VERSION}-dpdk-pdum-offset-c.patch
+ ${DPDK_PATCH_DIR}/dpdk-${DPDK_VERSION}-dpdk-pdum-offset-h.patch
+ ${DPDK_PATCH_DIR}/dpdk-${DPDK_VERSION}-dpdk-pdum-offset-app.patch
+ ${DPDK_PATCH_DIR}/dpdk-${DPDK_VERSION}-mlx5_glue_dlopen_info.patch
+ ${DPDK_PATCH_DIR}/dpdk-${DPDK_VERSION}-revert-fix-devargs-in-secondary-process.patch
+ ${DPDK_PATCH_DIR}/dpdk-${DPDK_VERSION}-fix-legacy_mem_init.patch
)
-execute_process(COMMAND cat ${DPDP_PATCH_FILES} OUTPUT_FILE ${MERGED_PATCH_FILE})
+execute_process(COMMAND cat ${DPDK_PATCH_FILES} OUTPUT_FILE ${MERGED_PATCH_FILE})
if(CMAKE_BUILD_TYPE STREQUAL "Debug")
set(DPDK_BUILD_TYPE debug)
@@ -140,10 +143,11 @@ crypto/bcmfs,crypto/ccp,crypto/nitrox,crypto/null,crypto/openssl,crypto/schedule
# Although default_library=static has been set, both dynamic and static libraries are compiled. a little strange
ExternalProject_Add(dpdk PREFIX dpdk
- URL ${CMAKE_CURRENT_SOURCE_DIR}/dpdk/dpdk-21.11.4.tar.xz
- URL_MD5 b24201da07d3fd87cacc2aa03586aed3
+ URL ${DPDK_SOURCE_DIR}/dpdk-${DPDK_VERSION}.tar.xz
+ URL_MD5 382d5fdd8ecb1d8e0be6d70dfc5eec96
PATCH_COMMAND
COMMAND patch -Ns -p1 -i ${MERGED_PATCH_FILE}
+ COMMAND ${CMAKE_COMMAND} -E chdir <SOURCE_DIR> bash ${DPDK_SOURCE_DIR}/dpdk-config-set.sh
CONFIGURE_COMMAND
COMMAND meson -Dmax_lcores=256 -Dc_args=-DRTE_ETHDEV_PROFILE_WITH_VTUNE -Ddisable_drivers=${DPDK_MESON_DISABLED_DRIVERS} -Dprefix=<INSTALL_DIR> -Dcpu_instruction_set=${MACHINE} -Dibverbs_link=dlopen -Dbuildtype=${DPDK_BUILD_TYPE} build
BUILD_COMMAND ${CMAKE_COMMAND} -E chdir <SOURCE_DIR>/build ninja
@@ -166,5 +170,5 @@ set_target_properties(libdpdk PROPERTIES
IMPORTED_LOCATION ${M_LIB}
INTERFACE_LINK_DIRECTORIES ${INSTALL_DIR}/lib64
INTERFACE_INCLUDE_DIRECTORIES ${INSTALL_DIR}/include
- INTERFACE_LINK_LIBRARIES "-Wl,--whole-archive;${INSTALL_DIR}/lib64/libdpdk.a;-Wl,--no-whole-archive;rt;m;dl;pcap;numa;ibverbs;mlx5"
+ INTERFACE_LINK_LIBRARIES "-Wl,--whole-archive;${INSTALL_DIR}/lib64/libdpdk.a;-Wl,--no-whole-archive;rt;m;dl;pcap;numa;ibverbs;mlx5;mtcr_ul"
)