cryptodev: Automatically download and build ISA-L Crypto library
Change-Id: I5454053461e6fb98e7f58f9562efde3590bb7cb5 Signed-off-by: Radu Nicolau <radu.nicolau@intel.com>
This commit is contained in:

committed by
Damjan Marion

parent
770e89e6b9
commit
2e3677bb20
@@ -33,11 +33,14 @@ DPDK_16.07_TARBALL_MD5_CKSUM := 690a2bb570103e58d12f9806e8bf21be
|
|||||||
DPDK_16.11_TARBALL_MD5_CKSUM := 06c1c577795360719d0b4fafaeee21e9
|
DPDK_16.11_TARBALL_MD5_CKSUM := 06c1c577795360719d0b4fafaeee21e9
|
||||||
DPDK_17.02_TARBALL_MD5_CKSUM := 6b9f7387c35641f4e8dbba3e528f2376
|
DPDK_17.02_TARBALL_MD5_CKSUM := 6b9f7387c35641f4e8dbba3e528f2376
|
||||||
DPDK_SOURCE := $(B)/dpdk-$(DPDK_VERSION)
|
DPDK_SOURCE := $(B)/dpdk-$(DPDK_VERSION)
|
||||||
|
|
||||||
ifeq ($(DPDK_CRYPTO_SW_PMD),y)
|
ifeq ($(DPDK_CRYPTO_SW_PMD),y)
|
||||||
AESNIMB_LIB_TARBALL := v0.44.tar.gz
|
AESNIMB_LIB_TARBALL := v0.44.tar.gz
|
||||||
AESNIMB_LIB_TARBALL_URL := http://github.com/01org/intel-ipsec-mb/archive/$(AESNIMB_LIB_TARBALL)
|
AESNIMB_LIB_TARBALL_URL := http://github.com/01org/intel-ipsec-mb/archive/$(AESNIMB_LIB_TARBALL)
|
||||||
AESNIMB_LIB_SOURCE := $(B)/intel-ipsec-mb-0.44
|
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
|
endif
|
||||||
|
|
||||||
ifneq (,$(findstring clang,$(CC)))
|
ifneq (,$(findstring clang,$(CC)))
|
||||||
@@ -84,6 +87,12 @@ else
|
|||||||
DPDK_EXTRA_CFLAGS := -g -O0
|
DPDK_EXTRA_CFLAGS := -g -O0
|
||||||
endif
|
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
|
# assemble DPDK make arguments
|
||||||
DPDK_MAKE_ARGS := -C $(DPDK_SOURCE) -j $(JOBS) \
|
DPDK_MAKE_ARGS := -C $(DPDK_SOURCE) -j $(JOBS) \
|
||||||
T=$(DPDK_TARGET) \
|
T=$(DPDK_TARGET) \
|
||||||
@@ -155,6 +164,10 @@ ifeq ($(DPDK_CRYPTO_SW_PMD),y)
|
|||||||
then cp $(DPDK_DOWNLOAD_DIR)/$(AESNIMB_LIB_TARBALL) $(CURDIR) ; \
|
then cp $(DPDK_DOWNLOAD_DIR)/$(AESNIMB_LIB_TARBALL) $(CURDIR) ; \
|
||||||
else curl -o $(CURDIR)/$(AESNIMB_LIB_TARBALL) -LO $(AESNIMB_LIB_TARBALL_URL) ; \
|
else curl -o $(CURDIR)/$(AESNIMB_LIB_TARBALL) -LO $(AESNIMB_LIB_TARBALL_URL) ; \
|
||||||
fi
|
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
|
endif
|
||||||
@rm -f $(B)/.download.ok
|
@rm -f $(B)/.download.ok
|
||||||
|
|
||||||
@@ -175,6 +188,8 @@ $(B)/.extract.ok: $(B)/.download.ok
|
|||||||
ifeq ($(DPDK_CRYPTO_SW_PMD),y)
|
ifeq ($(DPDK_CRYPTO_SW_PMD),y)
|
||||||
@echo --- extracting $(AESNIMB_LIB_TARBALL) ---
|
@echo --- extracting $(AESNIMB_LIB_TARBALL) ---
|
||||||
@tar --directory $(B) --extract --file $(CURDIR)/$(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
|
endif
|
||||||
@touch $@
|
@touch $@
|
||||||
|
|
||||||
@@ -197,6 +212,9 @@ patch: $(B)/.patch.ok
|
|||||||
$(B)/.config.ok: $(B)/.patch.ok $(B)/custom-config
|
$(B)/.config.ok: $(B)/.patch.ok $(B)/custom-config
|
||||||
ifeq ($(DPDK_CRYPTO_SW_PMD),y)
|
ifeq ($(DPDK_CRYPTO_SW_PMD),y)
|
||||||
@make -C $(AESNIMB_LIB_SOURCE)
|
@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
|
endif
|
||||||
@make $(DPDK_MAKE_ARGS) config
|
@make $(DPDK_MAKE_ARGS) config
|
||||||
@touch $@
|
@touch $@
|
||||||
@@ -209,6 +227,7 @@ $(B)/.build.ok: $(DPDK_SOURCE_FILES)
|
|||||||
@make $(DPDK_MAKE_ARGS) install
|
@make $(DPDK_MAKE_ARGS) install
|
||||||
ifeq ($(DPDK_CRYPTO_SW_PMD),y)
|
ifeq ($(DPDK_CRYPTO_SW_PMD),y)
|
||||||
@cp $(AESNIMB_LIB_SOURCE)/libIPSec_MB.a $(I)/lib/
|
@cp $(AESNIMB_LIB_SOURCE)/libIPSec_MB.a $(I)/lib/
|
||||||
|
@cp $(ISA_L_CRYPTO_LIB_SOURCE)/.libs/libisal_crypto.a $(I)/lib/
|
||||||
endif
|
endif
|
||||||
@touch $@
|
@touch $@
|
||||||
|
|
||||||
|
@@ -49,7 +49,7 @@ else
|
|||||||
DPDK_LD_FLAGS = -Wl,--whole-archive,-l:libdpdk.a,--no-whole-archive,-lm,-ldl
|
DPDK_LD_FLAGS = -Wl,--whole-archive,-l:libdpdk.a,--no-whole-archive,-lm,-ldl
|
||||||
endif
|
endif
|
||||||
if WITH_DPDK_CRYPTO_SW
|
if WITH_DPDK_CRYPTO_SW
|
||||||
DPDK_LD_ADD = -lIPSec_MB
|
DPDK_LD_ADD = -lIPSec_MB -lisal_crypto
|
||||||
endif
|
endif
|
||||||
if WITH_DPDK_MLX5_PMD
|
if WITH_DPDK_MLX5_PMD
|
||||||
DPDK_LD_FLAGS += -libverbs -lmlx5 -lnuma
|
DPDK_LD_FLAGS += -libverbs -lmlx5 -lnuma
|
||||||
|
Reference in New Issue
Block a user