dpdk: build sw cryptodev support with make verify 47/5847/8
authorSergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Wed, 22 Mar 2017 15:22:14 +0000 (15:22 +0000)
committerDamjan Marion <dmarion.lists@gmail.com>
Tue, 30 May 2017 09:31:29 +0000 (09:31 +0000)
Change-Id: Ica95b5d3d44563c93c89b2a3233171c3aa1f048d
Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
Makefile
dpdk/Makefile

index 946a858..f78549f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -427,22 +427,24 @@ define banner
        @echo " "
 endef
 
-verify: install-dep $(BR)/.bootstrap.ok dpdk-install-dev
+verify: install-dep $(BR)/.bootstrap.ok
+       make -C dpdk install-$(PKG) DPDK_CRYPTO_SW_PMD=y
        $(call banner,"Building for PLATFORM=vpp using gcc")
-       @make -C build-root PLATFORM=vpp TAG=vpp wipe-all install-packages
+       @make -C build-root PLATFORM=vpp TAG=vpp wipe-all install-packages \
+             vpp_uses_dpdk_cryptodev_sw=yes
 ifeq ($(OS_ID)-$(OS_VERSION_ID),ubuntu-16.04)
        $(call banner,"Installing dependencies")
        @sudo -E apt-get update
        @sudo -E apt-get $(CONFIRM) $(FORCE) install clang
        $(call banner,"Building for PLATFORM=vpp using clang")
-       @make -C build-root CC=clang PLATFORM=vpp TAG=vpp_clang wipe-all install-packages
+       @make -C build-root CC=clang PLATFORM=vpp TAG=vpp_clang \
+             wipe-all install-packages vpp_uses_dpdk_cryptodev_sw=yes
 endif
        $(call banner,"Building sample-plugin")
        @make -C build-root PLATFORM=vpp TAG=vpp sample-plugin-install
        $(call banner,"Building $(PKG) packages")
-       @make pkg-$(PKG)
+       @make pkg-$(PKG) vpp_uses_dpdk_cryptodev_sw=yes
 ifeq ($(OS_ID)-$(OS_VERSION_ID),ubuntu-16.04)
        @make test
 endif
 
-
index c6968d7..495b491 100644 (file)
@@ -26,7 +26,7 @@ DPDK_MLX5_PMD         ?= n
 B := $(DPDK_BUILD_DIR)
 I := $(DPDK_INSTALL_DIR)
 DPDK_VERSION ?= 17.05
-PKG_SUFFIX ?= vpp3
+PKG_SUFFIX ?= vpp4
 DPDK_BASE_URL ?= http://fast.dpdk.org/rel
 DPDK_TARBALL := dpdk-$(DPDK_VERSION).tar.xz
 DPDK_TAR_URL := $(DPDK_BASE_URL)/$(DPDK_TARBALL)
@@ -41,6 +41,7 @@ AESNIMB_LIB_SOURCE := $(B)/intel-ipsec-mb-0.44-gcm.2
 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
+ISA_L_CRYPTO_INSTALL_DIR := $(ISA_L_CRYPTO_LIB_SOURCE)/install
 endif
 
 ifneq (,$(findstring clang,$(CC)))
@@ -90,8 +91,8 @@ DPDK_EXTRA_CFLAGS := -g -O0
 endif
 
 ifeq ($(DPDK_CRYPTO_SW_PMD),y)
-DPDK_EXTRA_CFLAGS += -I$(I)/include
-DPDK_EXTRA_LDFLAGS += -L$(I)/lib
+DPDK_EXTRA_CFLAGS += -I$(ISA_L_CRYPTO_INSTALL_DIR)/include
+DPDK_EXTRA_LDFLAGS += -L$(ISA_L_CRYPTO_INSTALL_DIR)/lib
 DPDK_MAKE_EXTRA_ARGS += AESNI_MULTI_BUFFER_LIB_PATH=$(AESNIMB_LIB_SOURCE)
 endif
 
@@ -167,12 +168,14 @@ $(CURDIR)/$(AESNIMB_LIB_TARBALL):
                then cp $(DPDK_DOWNLOAD_DIR)/$(AESNIMB_LIB_TARBALL) $(CURDIR) ; \
                else curl -o $@ -LO $(AESNIMB_LIB_TARBALL_URL) ; \
        fi
+       @rm -f $(B)/.download.ok
 
 $(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
+       @rm -f $(B)/.download.ok
 
 DPDK_DOWNLOADS = $(CURDIR)/$(DPDK_TARBALL)
 ifeq ($(DPDK_CRYPTO_SW_PMD),y)
@@ -233,8 +236,10 @@ ifeq ($(DPDK_CRYPTO_SW_PMD),y)
        make -C $(AESNIMB_LIB_SOURCE) -j NO_GCM=y
        cp $(AESNIMB_LIB_SOURCE)/libIPSec_MB.a $(I)/lib/
        # Build ISA-L Crypto library
-       cd $(ISA_L_CRYPTO_LIB_SOURCE) && ./autogen.sh && ./configure --prefix=$(I)
+       cd $(ISA_L_CRYPTO_LIB_SOURCE) && ./autogen.sh && \
+         ./configure --prefix=$(ISA_L_CRYPTO_INSTALL_DIR) CFLAGS='-fPIC -DPIC -O2'
        make -C $(ISA_L_CRYPTO_LIB_SOURCE) -j install
+       cp $(ISA_L_CRYPTO_INSTALL_DIR)/lib/libisal_crypto.* $(I)/lib/
 endif
        @make $(DPDK_MAKE_ARGS) install
        @touch $@