Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Poison freed memory objects
[vpp.git]
/
dpdk
/
Makefile
diff --git
a/dpdk/Makefile
b/dpdk/Makefile
index
cc59c0c
..
78df15b
100644
(file)
--- a/
dpdk/Makefile
+++ b/
dpdk/Makefile
@@
-17,47
+17,46
@@
SHELL := /bin/bash
DPDK_BUILD_DIR ?= $(CURDIR)/_build
DPDK_INSTALL_DIR ?= $(CURDIR)/_install
DPDK_PKTMBUF_HEADROOM ?= 128
DPDK_BUILD_DIR ?= $(CURDIR)/_build
DPDK_INSTALL_DIR ?= $(CURDIR)/_install
DPDK_PKTMBUF_HEADROOM ?= 128
+DPDK_CACHE_LINE_SIZE ?= 64
DPDK_DOWNLOAD_DIR ?= $(HOME)/Downloads
DPDK_DEBUG ?= n
DPDK_MLX4_PMD ?= n
DPDK_MLX5_PMD ?= n
DPDK_DOWNLOAD_DIR ?= $(HOME)/Downloads
DPDK_DEBUG ?= n
DPDK_MLX4_PMD ?= n
DPDK_MLX5_PMD ?= n
+DPDK_TAP_PMD ?= n
+DPDK_FAILSAFE_PMD ?= n
B := $(DPDK_BUILD_DIR)
I := $(DPDK_INSTALL_DIR)
B := $(DPDK_BUILD_DIR)
I := $(DPDK_INSTALL_DIR)
-DPDK_VERSION ?= 1
7.08
+DPDK_VERSION ?= 1
8.05
PKG_SUFFIX ?= vpp2
PKG_SUFFIX ?= vpp2
-DPDK_BASE_URL ?= http://
static
.dpdk.org/rel
+DPDK_BASE_URL ?= http://
fast
.dpdk.org/rel
DPDK_TARBALL := dpdk-$(DPDK_VERSION).tar.xz
DPDK_TAR_URL := $(DPDK_BASE_URL)/$(DPDK_TARBALL)
DPDK_TARBALL := dpdk-$(DPDK_VERSION).tar.xz
DPDK_TAR_URL := $(DPDK_BASE_URL)/$(DPDK_TARBALL)
-DPDK_1
7.08_TARBALL_MD5_CKSUM := 537ff038915fefd0f210905fafcadb4b
-DPDK_1
7.11_TARBALL_MD5_CKSUM := 53ee9e054a8797c9e67ffa0eb5d0c701
+DPDK_1
8.02.2_TARBALL_MD5_CKSUM := 75ad6d39b513649744e49c9fcbbb9ca5
+DPDK_1
8.05_TARBALL_MD5_CKSUM := 9fc86367cd9407ff6a8dfea56c4eddc4
MACHINE=$(shell uname -m)
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)
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)
-ISA_L_CRYPTO_LIB := n
-
-ifeq ($(DPDK_VERSION),17.08)
-IPSEC_MB_VER ?= 0.46
-DPDK_SOURCE := $(B)/dpdk-stable-$(DPDK_VERSION)
+ifneq (,$(findstring 18.02,$(DPDK_VERSION)))
+IPSEC_MB_VER ?= 0.48
else
else
-IPSEC_MB_VER ?= 0.47
-DPDK_SOURCE := $(B)/dpdk-$(DPDK_VERSION)
+IPSEC_MB_VER ?= 0.49
endif
endif
-ISA_L_CRYPTO_VER := 2.18.0
ifeq ($(MACHINE),$(filter $(MACHINE),x86_64))
AESNI ?= y
ifeq ($(MACHINE),$(filter $(MACHINE),x86_64))
AESNI ?= y
-# DPDK pre 17.08 depends on ISA-L Crypto library for GCM PMD
- ifneq ($(firstword $(sort $(DPDK_VERSION), 17.08)), 17.08)
- ISA_L_CRYPTO_LIB = y
- IPSEC_MB_VER = 0.45
- $(info Building ISA-L Crypto $(ISA_L_CRYPTO_VER) library)
- endif
$(info Building IPSec-MB $(IPSEC_MB_VER) library)
else
AESNI ?= N
$(info Building IPSec-MB $(IPSEC_MB_VER) library)
else
AESNI ?= N
@@
-67,11
+66,6
@@
AESNIMB_LIB_TARBALL := v$(IPSEC_MB_VER).tar.gz
AESNIMB_LIB_TARBALL_URL := http://github.com/01org/intel-ipsec-mb/archive/$(AESNIMB_LIB_TARBALL)
AESNIMB_LIB_SOURCE := $(B)/intel-ipsec-mb-$(IPSEC_MB_VER)
AESNIMB_LIB_TARBALL_URL := http://github.com/01org/intel-ipsec-mb/archive/$(AESNIMB_LIB_TARBALL)
AESNIMB_LIB_SOURCE := $(B)/intel-ipsec-mb-$(IPSEC_MB_VER)
-ISA_L_CRYPTO_LIB_TARBALL := v$(ISA_L_CRYPTO_VER).tar.gz
-ISA_L_CRYPTO_LIB_TARBALL_URL := http://github.com/01org/isa-l_crypto/archive/$(ISA_L_CRYPTO_LIB_TARBALL)
-ISA_L_CRYPTO_LIB_SOURCE := $(B)/isa-l_crypto-$(ISA_L_CRYPTO_VER)
-ISA_L_CRYPTO_INSTALL_DIR := $(ISA_L_CRYPTO_LIB_SOURCE)/install
-
ifneq (,$(findstring clang,$(CC)))
DPDK_CC=clang
else ifneq (,$(findstring icc,$(CC)))
ifneq (,$(findstring clang,$(CC)))
DPDK_CC=clang
else ifneq (,$(findstring icc,$(CC)))
@@
-92,7
+86,8
@@
DPDK_TUNE ?= core-avx2
# ARM64
##############################################################################
else ifeq ($(MACHINE),aarch64)
# ARM64
##############################################################################
else ifeq ($(MACHINE),aarch64)
-export CROSS=""
+CROSS :=
+export CROSS
DPDK_TARGET ?= arm64-armv8a-linuxapp-$(DPDK_CC)
DPDK_MACHINE ?= armv8a
DPDK_TUNE ?= generic
DPDK_TARGET ?= arm64-armv8a-linuxapp-$(DPDK_CC)
DPDK_MACHINE ?= armv8a
DPDK_TUNE ?= generic
@@
-135,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
$(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
else
$(warning Unknown Cavium CPU)
endif
@@
-156,7
+152,11
@@
JOBS := $(if $(shell [ -f /proc/cpuinfo ] && head /proc/cpuinfo),\
$(shell grep -c ^processor /proc/cpuinfo), 2)
# compiler/linker custom arguments
$(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
DPDK_CPU_CFLAGS := -pie -fPIC
+endif
ifeq ($(DPDK_DEBUG),n)
DPDK_EXTRA_CFLAGS := -g -mtune=$(DPDK_TUNE)
ifeq ($(DPDK_DEBUG),n)
DPDK_EXTRA_CFLAGS := -g -mtune=$(DPDK_TUNE)
@@
-164,10
+164,11
@@
else
DPDK_EXTRA_CFLAGS := -g -O0
endif
DPDK_EXTRA_CFLAGS := -g -O0
endif
-ifeq ($(
ISA_L_CRYPTO_LIB
),y)
-DPDK_EXTRA_CFLAGS += -I$(ISA_L_CRYPTO_INSTALL_DIR)/include -Wl,-z,muldefs
-DPDK_EXTRA_
LDFLAGS += -L$(I)/lib
+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
endif
+
DPDK_MAKE_EXTRA_ARGS += AESNI_MULTI_BUFFER_LIB_PATH=$(AESNIMB_LIB_SOURCE)
# assemble DPDK make arguments
DPDK_MAKE_EXTRA_ARGS += AESNI_MULTI_BUFFER_LIB_PATH=$(AESNIMB_LIB_SOURCE)
# assemble DPDK make arguments
@@
-196,6
+197,7
@@
$(B)/custom-config: $(B)/.patch.ok Makefile
@# modify options
$(call set,RTE_MAX_LCORE,256)
$(call set,RTE_PKTMBUF_HEADROOM,$(DPDK_PKTMBUF_HEADROOM))
@# modify options
$(call set,RTE_MAX_LCORE,256)
$(call set,RTE_PKTMBUF_HEADROOM,$(DPDK_PKTMBUF_HEADROOM))
+ $(call set,RTE_CACHE_LINE_SIZE,$(DPDK_CACHE_LINE_SIZE))
$(call set,RTE_LIBEAL_USE_HPET,y)
$(call set,RTE_BUILD_COMBINE_LIBS,y)
$(call set,RTE_PCI_CONFIG,y)
$(call set,RTE_LIBEAL_USE_HPET,y)
$(call set,RTE_BUILD_COMBINE_LIBS,y)
$(call set,RTE_PCI_CONFIG,y)
@@
-214,9
+216,11
@@
$(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_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_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
@# not needed
- $(call set,RTE_LIBRTE_PMD_TAP,n)
- $(call set,RTE_LIBRTE_TIMER,n)
$(call set,RTE_LIBRTE_CFGFILE,n)
$(call set,RTE_LIBRTE_LPM,n)
$(call set,RTE_LIBRTE_ACL,n)
$(call set,RTE_LIBRTE_CFGFILE,n)
$(call set,RTE_LIBRTE_LPM,n)
$(call set,RTE_LIBRTE_ACL,n)
@@
-228,6
+232,12
@@
$(B)/custom-config: $(B)/.patch.ok Makefile
$(call set,RTE_LIBRTE_FLOW_CLASSIFY,n)
$(call set,RTE_KNI_KMOD,n)
$(call set,RTE_EAL_IGB_UIO,n)
$(call set,RTE_LIBRTE_FLOW_CLASSIFY,n)
$(call set,RTE_KNI_KMOD,n)
$(call set,RTE_EAL_IGB_UIO,n)
+ @# currently broken in 18.02
+ $(call set,RTE_LIBRTE_DPAA_BUS,n)
+ $(call set,RTE_LIBRTE_DPAA_MEMPOOL,n)
+ $(call set,RTE_LIBRTE_DPAA_PMD,n)
+ $(call set,RTE_LIBRTE_PMD_DPAA_SEC,n)
+ $(call set,RTE_LIBRTE_PMD_DPAA_EVENTDEV,n)
@rm -f .config.ok
$(CURDIR)/$(DPDK_TARBALL):
@rm -f .config.ok
$(CURDIR)/$(DPDK_TARBALL):
@@
-249,20
+259,11
@@
$(CURDIR)/$(AESNIMB_LIB_TARBALL):
else curl -o $@ -LO $(AESNIMB_LIB_TARBALL_URL) ; \
fi
else curl -o $@ -LO $(AESNIMB_LIB_TARBALL_URL) ; \
fi
-$(CURDIR)/$(ISA_L_CRYPTO_LIB_TARBALL):
- @if [ -e $(DPDK_DOWNLOAD_DIR)/$(ISA_L_CRYPTO_LIB_TARBALL) ] ; \
- then cp $(DPDK_DOWNLOAD_DIR)/$(ISA_L_CRYPTO_LIB_TARBALL) $(CURDIR) ; \
- else curl -o $@ -LO $(ISA_L_CRYPTO_LIB_TARBALL_URL) ; \
- fi
-
DPDK_DOWNLOADS = $(CURDIR)/$(DPDK_TARBALL)
ifeq ($(AESNI),y)
DPDK_DOWNLOADS += $(CURDIR)/$(NASM_TARBALL)
DPDK_DOWNLOADS += $(CURDIR)/$(AESNIMB_LIB_TARBALL)
endif
DPDK_DOWNLOADS = $(CURDIR)/$(DPDK_TARBALL)
ifeq ($(AESNI),y)
DPDK_DOWNLOADS += $(CURDIR)/$(NASM_TARBALL)
DPDK_DOWNLOADS += $(CURDIR)/$(AESNIMB_LIB_TARBALL)
endif
-ifeq ($(ISA_L_CRYPTO_LIB),y)
-DPDK_DOWNLOADS += $(CURDIR)/$(ISA_L_CRYPTO_LIB_TARBALL)
-endif
$(B)/.download.ok: $(DPDK_DOWNLOADS)
@mkdir -p $(B)
$(B)/.download.ok: $(DPDK_DOWNLOADS)
@mkdir -p $(B)
@@
-283,10
+284,6
@@
ifeq ($(AESNI),y)
@tar --directory $(B) --extract --file $(CURDIR)/$(NASM_TARBALL)
@echo --- extracting $(AESNIMB_LIB_TARBALL) ---
@tar --directory $(B) --extract --file $(CURDIR)/$(AESNIMB_LIB_TARBALL)
@tar --directory $(B) --extract --file $(CURDIR)/$(NASM_TARBALL)
@echo --- extracting $(AESNIMB_LIB_TARBALL) ---
@tar --directory $(B) --extract --file $(CURDIR)/$(AESNIMB_LIB_TARBALL)
-endif
-ifeq ($(ISA_L_CRYPTO_LIB),y)
- @echo --- extracting $(ISA_L_CRYPTO_LIB_TARBALL) ---
- @tar --directory $(B) --extract --file $(CURDIR)/$(ISA_L_CRYPTO_LIB_TARBALL)
endif
@touch $@
endif
@touch $@
@@
-321,19
+318,10
@@
build-nasm:
build-ipsec-mb:
mkdir -p $(I)/lib/
# Do not build GCM stuff if we are building ISA_L
build-ipsec-mb:
mkdir -p $(I)/lib/
# Do not build GCM stuff if we are building ISA_L
- make -C $(AESNIMB_LIB_SOURCE) -j
NO_GCM=$(ISA_L_CRYPTO_LIB)
\
-
DEBUG=$(DPDK_DEBUG)
EXTRA_CFLAGS=-fPIC NASM=$(NASM_SOURCE)/nasm
+ make -C $(AESNIMB_LIB_SOURCE) -j
SHARED=n
\
+ EXTRA_CFLAGS=-fPIC NASM=$(NASM_SOURCE)/nasm
cp $(AESNIMB_LIB_SOURCE)/libIPSec_MB.a $(I)/lib/
cp $(AESNIMB_LIB_SOURCE)/libIPSec_MB.a $(I)/lib/
-.PHONY: build-isal-crypto
-build-isal-crypto:
- mkdir -p $(I)/lib/
- cd $(ISA_L_CRYPTO_LIB_SOURCE) && ./autogen.sh && \
- ./configure --prefix=$(ISA_L_CRYPTO_INSTALL_DIR) \
- --libdir=$(ISA_L_CRYPTO_INSTALL_DIR)/lib CFLAGS='-fPIC -DPIC -O2'
- make -C $(ISA_L_CRYPTO_LIB_SOURCE) -j install
- cp $(ISA_L_CRYPTO_INSTALL_DIR)/lib/libisal_crypto.a $(I)/lib/
-
.PHONY: build-dpdk
build-dpdk:
@if [ ! -e $(B)/.config.ok ] ; then echo 'Please run "make config" first' && false ; fi
.PHONY: build-dpdk
build-dpdk:
@if [ ! -e $(B)/.config.ok ] ; then echo 'Please run "make config" first' && false ; fi
@@
-344,9
+332,6
@@
ifeq ($(AESNI),y)
BUILD_TARGETS += build-nasm
BUILD_TARGETS += build-ipsec-mb
endif
BUILD_TARGETS += build-nasm
BUILD_TARGETS += build-ipsec-mb
endif
-ifeq ($(ISA_L_CRYPTO_LIB),y)
-BUILD_TARGETS += build-isal-crypto
-endif
BUILD_TARGETS += build-dpdk
$(B)/.build.ok: $(BUILD_TARGETS)
BUILD_TARGETS += build-dpdk
$(B)/.build.ok: $(BUILD_TARGETS)
@@
-387,6
+372,11
@@
build-deb: $(DEV_DEB)
install-deb:
ifneq ($(INSTALLED_DEB_VER),$(DPDK_VERSION)-$(PKG_SUFFIX))
install-deb:
ifneq ($(INSTALLED_DEB_VER),$(DPDK_VERSION)-$(PKG_SUFFIX))
+ @echo "=========================================================="
+ @echo " Out of date DPDK package installed."
+ @echo " Installed: $(INSTALLED_DEB_VER)"
+ @echo " Needed: $(DPDK_VERSION)-$(PKG_SUFFIX)"
+ @echo "=========================================================="
@make $(DEV_DEB)
@sudo dpkg -i $(DEV_DEB)
else
@make $(DEV_DEB)
@sudo dpkg -i $(DEV_DEB)
else