Fix coverity CIDs 161048, 163895
[vpp.git] / dpdk / Makefile
index f8f1ca1..8e187cc 100644 (file)
@@ -29,15 +29,17 @@ 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_16.07_TARBALL_MD5_CKSUM := 690a2bb570103e58d12f9806e8bf21be
 DPDK_16.11_TARBALL_MD5_CKSUM := 06c1c577795360719d0b4fafaeee21e9
 DPDK_17.02_TARBALL_MD5_CKSUM := 6b9f7387c35641f4e8dbba3e528f2376
 DPDK_SOURCE := $(B)/dpdk-$(DPDK_VERSION)
+
 ifeq ($(DPDK_CRYPTO_SW_PMD),y)
 AESNIMB_LIB_TARBALL := v0.44.tar.gz
 AESNIMB_LIB_TARBALL_URL := http://github.com/01org/intel-ipsec-mb/archive/$(AESNIMB_LIB_TARBALL)
 AESNIMB_LIB_SOURCE := $(B)/intel-ipsec-mb-0.44
-export AESNI_MULTI_BUFFER_LIB_PATH=$(AESNIMB_LIB_SOURCE)
+ISA_L_CRYPTO_LIB_TARBALL := isa_l_crypto.tar.gz
+ISA_L_CRYPTO_LIB_TARBALL_URL := http://github.com/01org/isa-l_crypto/archive/master.tar.gz
+ISA_L_CRYPTO_LIB_SOURCE := $(B)/isa-l_crypto-master
 endif
 
 ifneq (,$(findstring clang,$(CC)))
@@ -84,6 +86,12 @@ else
 DPDK_EXTRA_CFLAGS := -g -O0
 endif
 
+ifeq ($(DPDK_CRYPTO_SW_PMD),y)
+DPDK_EXTRA_CFLAGS += -I$(ISA_L_CRYPTO_LIB_SOURCE)
+DPDK_EXTRA_LDFLAGS += -L$(ISA_L_CRYPTO_LIB_SOURCE)/.libs
+DPDK_MAKE_EXTRA_ARGS += AESNI_MULTI_BUFFER_LIB_PATH=$(AESNIMB_LIB_SOURCE)
+endif
+
 # assemble DPDK make arguments
 DPDK_MAKE_ARGS := -C $(DPDK_SOURCE) -j $(JOBS) \
        T=$(DPDK_TARGET) \
@@ -155,6 +163,10 @@ ifeq ($(DPDK_CRYPTO_SW_PMD),y)
                then cp $(DPDK_DOWNLOAD_DIR)/$(AESNIMB_LIB_TARBALL) $(CURDIR) ; \
                else curl -o $(CURDIR)/$(AESNIMB_LIB_TARBALL) -LO $(AESNIMB_LIB_TARBALL_URL) ; \
        fi
+       @if [ -e $(DPDK_DOWNLOAD_DIR)/$(ISA_L_CRYPTO_LIB_TARBALL) ] ; \
+               then cp $(DPDK_DOWNLOAD_DIR)/$(ISA_L_CRYPTO_LIB_TARBALL) $(CURDIR) ; \
+               else curl -o $(CURDIR)/$(ISA_L_CRYPTO_LIB_TARBALL) -LO $(ISA_L_CRYPTO_LIB_TARBALL_URL) ; \
+       fi
 endif
        @rm -f $(B)/.download.ok
 
@@ -175,6 +187,8 @@ $(B)/.extract.ok: $(B)/.download.ok
 ifeq ($(DPDK_CRYPTO_SW_PMD),y)
        @echo --- extracting $(AESNIMB_LIB_TARBALL) ---
        @tar --directory $(B) --extract --file $(CURDIR)/$(AESNIMB_LIB_TARBALL)
+       @echo --- extracting $(ISA_L_CRYPTO_LIB_TARBALL) ---
+       @tar --directory $(B) --extract --file $(CURDIR)/$(ISA_L_CRYPTO_LIB_TARBALL)
 endif
        @touch $@
 
@@ -197,6 +211,9 @@ patch: $(B)/.patch.ok
 $(B)/.config.ok: $(B)/.patch.ok $(B)/custom-config
 ifeq ($(DPDK_CRYPTO_SW_PMD),y)
        @make -C $(AESNIMB_LIB_SOURCE)
+       @cd $(ISA_L_CRYPTO_LIB_SOURCE) && ./autogen.sh && ./configure
+       @make -C $(ISA_L_CRYPTO_LIB_SOURCE)
+       @cp $(ISA_L_CRYPTO_LIB_SOURCE)/include $(ISA_L_CRYPTO_LIB_SOURCE)/isa-l_crypto -r
 endif
        @make $(DPDK_MAKE_ARGS) config
        @touch $@
@@ -209,6 +226,7 @@ $(B)/.build.ok: $(DPDK_SOURCE_FILES)
        @make $(DPDK_MAKE_ARGS) install
 ifeq ($(DPDK_CRYPTO_SW_PMD),y)
        @cp $(AESNIMB_LIB_SOURCE)/libIPSec_MB.a $(I)/lib/
+       @cp $(ISA_L_CRYPTO_LIB_SOURCE)/.libs/libisal_crypto.a $(I)/lib/
 endif
        @touch $@