Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
VAPI: Ensure type definitions are generated in same order as .api file.
[vpp.git]
/
dpdk
/
Makefile
diff --git
a/dpdk/Makefile
b/dpdk/Makefile
index
afe50c4
..
40c7b9a
100644
(file)
--- a/
dpdk/Makefile
+++ b/
dpdk/Makefile
@@
-17,6
+17,7
@@
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_DOWNLOAD_DIR ?= $(HOME)/Downloads
DPDK_DEBUG ?= n
DPDK_MLX4_PMD ?= n
@@
-24,42
+25,39
@@
DPDK_MLX5_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.02
PKG_SUFFIX ?= vpp1
DPDK_BASE_URL ?= http://fast.dpdk.org/rel
DPDK_TARBALL := dpdk-$(DPDK_VERSION).tar.xz
DPDK_TAR_URL := $(DPDK_BASE_URL)/$(DPDK_TARBALL)
PKG_SUFFIX ?= vpp1
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.
05_TARBALL_MD5_CKSUM := 0a68c31cd6a6cabeed0a4331073e4c05
-DPDK_1
7.08_TARBALL_MD5_CKSUM := 0641f59ea8ea98afefa7cfa2699f6241
+DPDK_17.
11_TARBALL_MD5_CKSUM := 53ee9e054a8797c9e67ffa0eb5d0c701
+DPDK_1
8.02_TARBALL_MD5_CKSUM := ca13077a014a2102c6e10153dfa3b920
DPDK_SOURCE := $(B)/dpdk-$(DPDK_VERSION)
MACHINE=$(shell uname -m)
DPDK_SOURCE := $(B)/dpdk-$(DPDK_VERSION)
MACHINE=$(shell uname -m)
-AESNI ?= n
-ISA_L_CRYPTO_LIB := n
+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)
-IPSEC_MB_VER ?= 0.46
-ISA_L_CRYPTO_VER := 2.18.0
+ifeq ($(DPDK_VERSION),17.11)
+IPSEC_MB_VER ?= 0.47
+else
+IPSEC_MB_VER ?= 0.48
+endif
ifeq ($(MACHINE),$(filter $(MACHINE),x86_64))
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
+ AESNI ?= y
$(info Building IPSec-MB $(IPSEC_MB_VER) library)
$(info Building IPSec-MB $(IPSEC_MB_VER) library)
+else
+ AESNI ?= N
endif
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)
endif
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)
-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)))
@@
-141,11
+139,10
@@
endif
# NB: GNU Make 4.2 will let us use '$(file </proc/cpuinfo)' to both test
# for file presence and content; for now this will have to do.
JOBS := $(if $(shell [ -f /proc/cpuinfo ] && head /proc/cpuinfo),\
# NB: GNU Make 4.2 will let us use '$(file </proc/cpuinfo)' to both test
# for file presence and content; for now this will have to do.
JOBS := $(if $(shell [ -f /proc/cpuinfo ] && head /proc/cpuinfo),\
- $(shell
expr 2 '*' $$(grep -c ^processor /proc/cpuinfo)
), 2)
+ $(shell
grep -c ^processor /proc/cpuinfo
), 2)
# compiler/linker custom arguments
DPDK_CPU_CFLAGS := -pie -fPIC
# compiler/linker custom arguments
DPDK_CPU_CFLAGS := -pie -fPIC
-DPDK_EXTRA_LDFLAGS := -g
ifeq ($(DPDK_DEBUG),n)
DPDK_EXTRA_CFLAGS := -g -mtune=$(DPDK_TUNE)
ifeq ($(DPDK_DEBUG),n)
DPDK_EXTRA_CFLAGS := -g -mtune=$(DPDK_TUNE)
@@
-153,10
+150,6
@@
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
-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
@@
-185,6
+178,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)
@@
-203,6
+197,8
@@
$(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))
@# not needed
$(call set,RTE_LIBRTE_PMD_TAP,n)
$(call set,RTE_LIBRTE_TIMER,n)
@# not needed
$(call set,RTE_LIBRTE_PMD_TAP,n)
$(call set,RTE_LIBRTE_TIMER,n)
@@
-214,8
+210,15
@@
$(B)/custom-config: $(B)/.patch.ok Makefile
$(call set,RTE_LIBRTE_PORT,n)
$(call set,RTE_LIBRTE_TABLE,n)
$(call set,RTE_LIBRTE_PIPELINE,n)
$(call set,RTE_LIBRTE_PORT,n)
$(call set,RTE_LIBRTE_TABLE,n)
$(call set,RTE_LIBRTE_PIPELINE,n)
+ $(call set,RTE_LIBRTE_FLOW_CLASSIFY,n)
$(call set,RTE_KNI_KMOD,n)
$(call set,RTE_EAL_IGB_UIO,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):
@@
-225,25
+228,23
@@
$(CURDIR)/$(DPDK_TARBALL):
fi
@rm -f $(B)/.download.ok
fi
@rm -f $(B)/.download.ok
+$(CURDIR)/$(NASM_TARBALL):
+ @if [ -e $(DPDK_DOWNLOAD_DIR)/$(NASM_TARBALL) ] ; \
+ then cp $(DPDK_DOWNLOAD_DIR)/$(NASM_TARBALL) $(CURDIR) ; \
+ else curl -o $(CURDIR)/$(NASM_TARBALL) -LO $(NASM_TAR_URL) ; \
+ fi
+
$(CURDIR)/$(AESNIMB_LIB_TARBALL):
@if [ -e $(DPDK_DOWNLOAD_DIR)/$(AESNIMB_LIB_TARBALL) ] ; \
then cp $(DPDK_DOWNLOAD_DIR)/$(AESNIMB_LIB_TARBALL) $(CURDIR) ; \
else curl -o $@ -LO $(AESNIMB_LIB_TARBALL_URL) ; \
fi
$(CURDIR)/$(AESNIMB_LIB_TARBALL):
@if [ -e $(DPDK_DOWNLOAD_DIR)/$(AESNIMB_LIB_TARBALL) ] ; \
then cp $(DPDK_DOWNLOAD_DIR)/$(AESNIMB_LIB_TARBALL) $(CURDIR) ; \
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)/$(DPDK_TARBALL)
ifeq ($(AESNI),y)
+DPDK_DOWNLOADS += $(CURDIR)/$(NASM_TARBALL)
DPDK_DOWNLOADS += $(CURDIR)/$(AESNIMB_LIB_TARBALL)
endif
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)
@@
-260,12
+261,10
@@
$(B)/.extract.ok: $(B)/.download.ok
@echo --- extracting $(DPDK_TARBALL) ---
@tar --directory $(B) --extract --file $(CURDIR)/$(DPDK_TARBALL)
ifeq ($(AESNI),y)
@echo --- extracting $(DPDK_TARBALL) ---
@tar --directory $(B) --extract --file $(CURDIR)/$(DPDK_TARBALL)
ifeq ($(AESNI),y)
+ @echo --- extracting $(NASM_TARBALL) ---
+ @tar --directory $(B) --extract --file $(CURDIR)/$(NASM_TARBALL)
@echo --- extracting $(AESNIMB_LIB_TARBALL) ---
@tar --directory $(B) --extract --file $(CURDIR)/$(AESNIMB_LIB_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 $@
@@
-292,22
+291,18
@@
$(B)/.config.ok: $(B)/.patch.ok $(B)/custom-config
.PHONY: config
config: $(B)/.config.ok
.PHONY: config
config: $(B)/.config.ok
+.PHONY: build-nasm
+build-nasm:
+ cd $(NASM_SOURCE) && sh configure && make -j
+
.PHONY: build-ipsec-mb
build-ipsec-mb:
mkdir -p $(I)/lib/
# Do not build GCM stuff if we are building ISA_L
.PHONY: build-ipsec-mb
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)
+ make -C $(AESNIMB_LIB_SOURCE) -j \
+ 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
@@
-315,11
+310,9
@@
build-dpdk:
# Order matters
ifeq ($(AESNI),y)
# Order matters
ifeq ($(AESNI),y)
+BUILD_TARGETS += build-nasm
BUILD_TARGETS += build-ipsec-mb
endif
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)
@@
-360,6
+353,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