X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=dpdk%2FMakefile;h=053fe76520513907e3ca7143d42a3ee8973d8799;hb=34eb5d423d8d5851d0e901114d359c91acf05c4e;hp=ebe62bb5a2344542816dbd424b6618d1e7984d45;hpb=60bd3028270b1ae297def6f14b65e24a3697a3ed;p=vpp.git diff --git a/dpdk/Makefile b/dpdk/Makefile index ebe62bb5a23..053fe765205 100644 --- a/dpdk/Makefile +++ b/dpdk/Makefile @@ -27,26 +27,32 @@ DPDK_FAILSAFE_PMD ?= n B := $(DPDK_BUILD_DIR) I := $(DPDK_INSTALL_DIR) -DPDK_VERSION ?= 18.02.1 -PKG_SUFFIX ?= vpp1 +DPDK_VERSION ?= 18.05 +PKG_SUFFIX ?= vpp2 DPDK_BASE_URL ?= http://fast.dpdk.org/rel DPDK_TARBALL := dpdk-$(DPDK_VERSION).tar.xz DPDK_TAR_URL := $(DPDK_BASE_URL)/$(DPDK_TARBALL) -DPDK_17.11_TARBALL_MD5_CKSUM := 53ee9e054a8797c9e67ffa0eb5d0c701 -DPDK_18.02.1_TARBALL_MD5_CKSUM := 3bbb5468f662e1f7472d4abc5c4cf08e -DPDK_SOURCE := $(B)/dpdk-stable-$(DPDK_VERSION) +DPDK_18.05_TARBALL_MD5_CKSUM := 9fc86367cd9407ff6a8dfea56c4eddc4 +DPDK_18.08_TARBALL_MD5_CKSUM := da5e7fb25ab063c47e53929fb8c58be5 MACHINE=$(shell uname -m) +# replace dot with space, and if 3rd word exists we deal with stable dpdk rel +ifeq ($(word 3,$(subst ., ,$(DPDK_VERSION))),) +DPDK_SOURCE := $(B)/dpdk-$(DPDK_VERSION) +else +DPDK_SOURCE := $(B)/dpdk-stable-$(DPDK_VERSION) +endif + NASM_BASE_URL := http://www.nasm.us/pub/nasm/releasebuilds NASM_VER := 2.13.01 NASM_TARBALL := nasm-$(NASM_VER).tar.xz NASM_TAR_URL := $(NASM_BASE_URL)/$(NASM_VER)/$(NASM_TARBALL) NASM_SOURCE := $(B)/nasm-$(NASM_VER) -ifeq ($(DPDK_VERSION),17.11) -IPSEC_MB_VER ?= 0.47 -else +ifneq (,$(findstring 18.02,$(DPDK_VERSION))) IPSEC_MB_VER ?= 0.48 +else +IPSEC_MB_VER ?= 0.49 endif ifeq ($(MACHINE),$(filter $(MACHINE),x86_64)) @@ -80,7 +86,8 @@ DPDK_TUNE ?= core-avx2 # ARM64 ############################################################################## else ifeq ($(MACHINE),aarch64) -export CROSS="" +CROSS := +export CROSS DPDK_TARGET ?= arm64-armv8a-linuxapp-$(DPDK_CC) DPDK_MACHINE ?= armv8a DPDK_TUNE ?= generic @@ -123,6 +130,7 @@ ifneq (,$(findstring $(MIDR_PARTNUM),$(CPU_PART_CAVIUM_THUNDERX) \ $(CPU_PART_CAVIUM_THUNDERX_81XX) $(CPU_PART_CAVIUM_THUNDERX_83XX))) DPDK_TARGET = arm64-thunderx-linuxapp-$(DPDK_CC) DPDK_MACHINE = thunderx +DPDK_CACHE_LINE_SIZE := 128 else $(warning Unknown Cavium CPU) endif @@ -144,7 +152,11 @@ JOBS := $(if $(shell [ -f /proc/cpuinfo ] && head /proc/cpuinfo),\ $(shell grep -c ^processor /proc/cpuinfo), 2) # compiler/linker custom arguments +ifeq ($(DPDK_CC),clang) +DPDK_CPU_CFLAGS := -fPIE -fPIC +else DPDK_CPU_CFLAGS := -pie -fPIC +endif ifeq ($(DPDK_DEBUG),n) DPDK_EXTRA_CFLAGS := -g -mtune=$(DPDK_TUNE) @@ -152,6 +164,11 @@ else DPDK_EXTRA_CFLAGS := -g -O0 endif +ifeq ($(AESNI),y) +IPSEC_MB_BUILD_PATH := $(B)/intel-ipsec-mb-$(IPSEC_MB_VER) +DPDK_EXTRA_CFLAGS += -L$(IPSEC_MB_BUILD_PATH) -I$(IPSEC_MB_BUILD_PATH) +endif + DPDK_MAKE_EXTRA_ARGS += AESNI_MULTI_BUFFER_LIB_PATH=$(AESNIMB_LIB_SOURCE) # assemble DPDK make arguments @@ -199,12 +216,12 @@ $(B)/custom-config: $(B)/.patch.ok Makefile $(call set,RTE_LIBRTE_PMD_AESNI_GCM,$(AESNI)) $(call set,RTE_LIBRTE_MLX4_PMD,$(DPDK_MLX4_PMD)) $(call set,RTE_LIBRTE_MLX5_PMD,$(DPDK_MLX5_PMD)) + $(call set,RTE_LIBRTE_PMD_SOFTNIC,n) $(call set,RTE_LIBRTE_MLX4_DLOPEN_DEPS,$(DPDK_MLX4_PMD)) $(call set,RTE_LIBRTE_MLX5_DLOPEN_DEPS,$(DPDK_MLX5_PMD)) $(call set,RTE_LIBRTE_PMD_TAP,$(DPDK_TAP_PMD)) $(call set,RTE_LIBRTE_PMD_FAILSAFE,$(DPDK_FAILSAFE_PMD)) @# not needed - $(call set,RTE_LIBRTE_TIMER,n) $(call set,RTE_LIBRTE_CFGFILE,n) $(call set,RTE_LIBRTE_LPM,n) $(call set,RTE_LIBRTE_ACL,n) @@ -302,7 +319,7 @@ build-nasm: build-ipsec-mb: mkdir -p $(I)/lib/ # Do not build GCM stuff if we are building ISA_L - make -C $(AESNIMB_LIB_SOURCE) -j \ + make -C $(AESNIMB_LIB_SOURCE) -j SHARED=n \ EXTRA_CFLAGS=-fPIC NASM=$(NASM_SOURCE)/nasm cp $(AESNIMB_LIB_SOURCE)/libIPSec_MB.a $(I)/lib/