Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
NAT: Buufer overflow for memcpy()
[vpp.git]
/
dpdk
/
Makefile
diff --git
a/dpdk/Makefile
b/dpdk/Makefile
index
afe50c4
..
9c9708c
100644
(file)
--- a/
dpdk/Makefile
+++ b/
dpdk/Makefile
@@
-25,7
+25,7
@@
DPDK_MLX5_PMD ?= n
B := $(DPDK_BUILD_DIR)
I := $(DPDK_INSTALL_DIR)
DPDK_VERSION ?= 17.08
B := $(DPDK_BUILD_DIR)
I := $(DPDK_INSTALL_DIR)
DPDK_VERSION ?= 17.08
-PKG_SUFFIX ?= vpp
1
+PKG_SUFFIX ?= vpp
2
DPDK_BASE_URL ?= http://fast.dpdk.org/rel
DPDK_TARBALL := dpdk-$(DPDK_VERSION).tar.xz
DPDK_TAR_URL := $(DPDK_BASE_URL)/$(DPDK_TARBALL)
DPDK_BASE_URL ?= http://fast.dpdk.org/rel
DPDK_TARBALL := dpdk-$(DPDK_VERSION).tar.xz
DPDK_TAR_URL := $(DPDK_BASE_URL)/$(DPDK_TARBALL)
@@
-34,14
+34,19
@@
DPDK_17.08_TARBALL_MD5_CKSUM := 0641f59ea8ea98afefa7cfa2699f6241
DPDK_SOURCE := $(B)/dpdk-$(DPDK_VERSION)
MACHINE=$(shell uname -m)
DPDK_SOURCE := $(B)/dpdk-$(DPDK_VERSION)
MACHINE=$(shell uname -m)
-AESNI ?= 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)
+
ISA_L_CRYPTO_LIB := n
IPSEC_MB_VER ?= 0.46
ISA_L_CRYPTO_VER := 2.18.0
ifeq ($(MACHINE),$(filter $(MACHINE),x86_64))
ISA_L_CRYPTO_LIB := n
IPSEC_MB_VER ?= 0.46
ISA_L_CRYPTO_VER := 2.18.0
ifeq ($(MACHINE),$(filter $(MACHINE),x86_64))
-
AESNI
= y
+
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
# 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
@@
-49,6
+54,8
@@
AESNI = y
$(info Building ISA-L Crypto $(ISA_L_CRYPTO_VER) library)
endif
$(info Building IPSec-MB $(IPSEC_MB_VER) library)
$(info Building ISA-L Crypto $(ISA_L_CRYPTO_VER) library)
endif
$(info Building IPSec-MB $(IPSEC_MB_VER) library)
+else
+ AESNI ?= N
endif
AESNIMB_LIB_TARBALL := v$(IPSEC_MB_VER).tar.gz
endif
AESNIMB_LIB_TARBALL := v$(IPSEC_MB_VER).tar.gz
@@
-145,7
+152,6
@@
JOBS := $(if $(shell [ -f /proc/cpuinfo ] && head /proc/cpuinfo),\
# 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)
@@
-225,6
+231,12
@@
$(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) ; \
$(CURDIR)/$(AESNIMB_LIB_TARBALL):
@if [ -e $(DPDK_DOWNLOAD_DIR)/$(AESNIMB_LIB_TARBALL) ] ; \
then cp $(DPDK_DOWNLOAD_DIR)/$(AESNIMB_LIB_TARBALL) $(CURDIR) ; \
@@
-239,6
+251,7
@@
$(CURDIR)/$(ISA_L_CRYPTO_LIB_TARBALL):
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
ifeq ($(ISA_L_CRYPTO_LIB),y)
DPDK_DOWNLOADS += $(CURDIR)/$(AESNIMB_LIB_TARBALL)
endif
ifeq ($(ISA_L_CRYPTO_LIB),y)
@@
-260,6
+273,8
@@
$(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)
endif
@echo --- extracting $(AESNIMB_LIB_TARBALL) ---
@tar --directory $(B) --extract --file $(CURDIR)/$(AESNIMB_LIB_TARBALL)
endif
@@
-292,11
+307,16
@@
$(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 NO_GCM=$(ISA_L_CRYPTO_LIB) \
+ DEBUG=$(DPDK_DEBUG) EXTRA_CFLAGS=-fPIC NASM=$(NASM_SOURCE)/nasm
cp $(AESNIMB_LIB_SOURCE)/libIPSec_MB.a $(I)/lib/
.PHONY: build-isal-crypto
cp $(AESNIMB_LIB_SOURCE)/libIPSec_MB.a $(I)/lib/
.PHONY: build-isal-crypto
@@
-315,6
+335,7
@@
build-dpdk:
# Order matters
ifeq ($(AESNI),y)
# Order matters
ifeq ($(AESNI),y)
+BUILD_TARGETS += build-nasm
BUILD_TARGETS += build-ipsec-mb
endif
ifeq ($(ISA_L_CRYPTO_LIB),y)
BUILD_TARGETS += build-ipsec-mb
endif
ifeq ($(ISA_L_CRYPTO_LIB),y)