diff options
author | Thomas F Herbert <therbert@redhat.com> | 2017-08-29 16:07:51 -0400 |
---|---|---|
committer | Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> | 2017-09-12 18:42:32 +0000 |
commit | 4b0ac82a739bf7f1233ebb61269e27aa4cf9ab36 (patch) | |
tree | 6bb4c5a9c3cc6b16859143c89ec12eadc4cd5051 | |
parent | d9226b25f145c64e5bc4a38c3fee7e9b2eaac2de (diff) |
Add option to build without multi-buffer crypto.
JIRA VPP-498
This patch also allows RPMs to be built without multi-
buffer crypto for some RPM based downstream distros that
don't have sufficiently new nasm or don't have an USA
export license for multi-buffer crypto.
The default is to build WITH multi-buffer crypto
for x86-64. This patch allows optional building without
multi-buffer crypto.
To build without multi-buffer crypto, set the AESNI
environment variable to n.
To build rpm packages without multi-buffer crypto,
build the rpms with the option turned off.
make build AESNI=n
or..
make pkg-rpm --without aesni
---How to test this patch on a Centos build.---
Build as above and verify that nasm isn't executed during
the build process.
vpp may be installed and the dpdk plugin may be inspected to
verify that the multi-buffer code isn't present.
Change-Id: I8c5cfd4cdd9eb2b96772a687eaa54560806e001b
Signed-off-by: Thomas F Herbert <therbert@redhat.com>
-rw-r--r-- | Makefile | 3 | ||||
-rw-r--r-- | dpdk/Makefile | 5 | ||||
-rw-r--r-- | extras/rpm/vpp.spec | 12 |
3 files changed, 15 insertions, 5 deletions
@@ -17,6 +17,7 @@ CCACHE_DIR?=$(BR)/.ccache GDB?=gdb PLATFORM?=vpp SAMPLE_PLUGIN?=no +export AESNI?=y ,:=, define disable_plugins @@ -94,7 +95,7 @@ endif RPM_DEPENDS += chrpath libffi-devel rpm-build ifeq ($(OS_ID),fedora) RPM_DEPENDS += nasm -else +else ifeq ($(findstring y,$(AESNI)),y) RPM_DEPENDS += https://kojipkgs.fedoraproject.org//packages/nasm/2.12.02/2.fc26/x86_64/nasm-2.12.02-2.fc26.x86_64.rpm endif diff --git a/dpdk/Makefile b/dpdk/Makefile index afe50c4ba7b..4e0ad4f3690 100644 --- a/dpdk/Makefile +++ b/dpdk/Makefile @@ -34,14 +34,13 @@ DPDK_17.08_TARBALL_MD5_CKSUM := 0641f59ea8ea98afefa7cfa2699f6241 DPDK_SOURCE := $(B)/dpdk-$(DPDK_VERSION) MACHINE=$(shell uname -m) -AESNI ?= n 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 @@ -49,6 +48,8 @@ AESNI = y $(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 diff --git a/extras/rpm/vpp.spec b/extras/rpm/vpp.spec index 439e6bdaf41..6c14b039b3f 100644 --- a/extras/rpm/vpp.spec +++ b/extras/rpm/vpp.spec @@ -1,3 +1,4 @@ +%bcond_without aesni %define _vpp_build_dir build-tool-native %define _unitdir /lib/systemd/system %define _topdir %(pwd) @@ -41,7 +42,9 @@ BuildRequires: python-devel, python-virtualenv %endif BuildRequires: glibc-static, java-1.8.0-openjdk, java-1.8.0-openjdk-devel yum-utils, redhat-lsb BuildRequires: apr-devel +%if %{with aesni} BuildRequires: nasm +%endif BuildRequires: numactl-devel BuildRequires: autoconf automake libtool byacc bison flex @@ -120,8 +123,13 @@ This package contains the python bindings for the vpp api groupadd -f -r vpp %build -make bootstrap -make -C build-root PLATFORM=vpp TAG=%{_vpp_tag} install-packages +%if %{with aesni} + make bootstrap + make -C build-root PLATFORM=vpp TAG=%{_vpp_tag} install-packages +%else + make bootstrap AESNI=n + make -C build-root PLATFORM=vpp AESNI=n TAG=%{_vpp_tag} install-packages +%endif cd %{_mu_build_dir}/../src/vpp-api/python && %py2_build %install |