mirror of
https://github.com/intel/intel-device-plugins-for-kubernetes.git
synced 2025-06-03 03:59:37 +00:00

ipp-crypto repository did not provide a tag with the necessary changes included until recently so we were using the master branch. Now the tag was added (and master broke our build) so we move to use it. Signed-off-by: Mikko Ylinen <mikko.ylinen@intel.com>
70 lines
3.0 KiB
Docker
70 lines
3.0 KiB
Docker
ARG FINAL_BASE_IMAGE=clearlinux:base
|
|
|
|
FROM clearlinux:base as builder
|
|
|
|
ARG QAT_DRIVER_RELEASE="qat1.7.l.4.10.0-00014"
|
|
ARG QAT_ENGINE_VERSION="v0.5.46"
|
|
ARG IPSEC_MB_VERSION="v0.54"
|
|
ARG IPP_CRYPTO_VERSION="ippcp_2020u2"
|
|
|
|
RUN swupd bundle-add --skip-diskspace-check devpkg-systemd devpkg-openssl c-basic wget git && \
|
|
git clone -b $QAT_ENGINE_VERSION https://github.com/intel/QAT_Engine && \
|
|
git clone -b $IPP_CRYPTO_VERSION https://github.com/intel/ipp-crypto && \
|
|
git clone -b $IPSEC_MB_VERSION https://github.com/intel/intel-ipsec-mb && \
|
|
wget https://01.org/sites/default/files/downloads/$QAT_DRIVER_RELEASE.tar.gz && \
|
|
tar xf *.tar.gz
|
|
|
|
RUN sed -i -e 's/cmn_ko$//' -e 's/lac_kernel$//' quickassist/Makefile && \
|
|
KERNEL_SOURCE_ROOT=/tmp ./configure && \
|
|
make quickassist-all adf-ctl-all && \
|
|
install -m 755 build/libqat_s.so /usr/lib/ && \
|
|
install -m 755 build/libusdm_drv_s.so /usr/lib/ && \
|
|
install -m 755 build/adf_ctl /usr/bin/ && \
|
|
cd /ipp-crypto/sources/ippcp/crypto_mb && \
|
|
cmake . -B"../build" \
|
|
-DOPENSSL_INCLUDE_DIR=/usr/include/openssl \
|
|
-DOPENSSL_LIBRARIES=/usr/lib64 \
|
|
-DOPENSSL_ROOT_DIR=/usr/bin/openssl && \
|
|
cd ../build && \
|
|
make crypto_mb && make install && \
|
|
install -m 755 bin/vfy_ifma_cp_rsa_mb /usr/bin/ && \
|
|
install -m 755 bin/vfy_ifma_rsa_mb /usr/bin/ && \
|
|
cd /intel-ipsec-mb && \
|
|
make && make install LIB_INSTALL_DIR=/usr/lib64
|
|
|
|
RUN cd /QAT_Engine && \
|
|
./autogen.sh && \
|
|
./configure \
|
|
--enable-ipsec_offload \
|
|
--enable-multibuff_offload \
|
|
--with-openssl_install_dir=/usr/lib64 \
|
|
--with-multibuff_install_dir=/usr/local \
|
|
--enable-openssl_install_build_arch_path && \
|
|
sed -i -e 's:^\(const char \*engine_qat_id = \).*:\1"avx512";:' e_qat.c && \
|
|
make && make install && \
|
|
mv /usr/lib64/engines-1.1/qat.so /usr/lib64/engines-1.1/avx512.so && \
|
|
make clean && git restore e_qat.c && \
|
|
./configure \
|
|
--with-qat_dir=/ \
|
|
--disable-ipsec_offload \
|
|
--disable-multibuff_offload \
|
|
--with-openssl_install_dir=/usr/lib64 \
|
|
--with-qat_install_dir=/usr/lib \
|
|
--enable-openssl_install_build_arch_path && \
|
|
make && make install
|
|
|
|
FROM $FINAL_BASE_IMAGE
|
|
|
|
COPY --from=builder /usr/lib/libqat_s.so /usr/lib/
|
|
COPY --from=builder /usr/lib/libusdm_drv_s.so /usr/lib/
|
|
COPY --from=builder /usr/lib64/libIPSec_MB.so.0 /usr/lib64/
|
|
COPY --from=builder /usr/bin/adf_ctl /usr/bin
|
|
COPY --from=builder /usr/bin/vfy_ifma_cp_rsa_mb /usr/bin
|
|
COPY --from=builder /usr/bin/vfy_ifma_rsa_mb /usr/bin
|
|
COPY --from=builder /usr/lib64/engines-1.1/avx512.so /usr/lib64/engines-1.1/avx512.so
|
|
COPY --from=builder /usr/lib64/engines-1.1/qat.so /usr/lib64/engines-1.1/qat.so
|
|
COPY --from=builder /LICENSE.GPL /usr/share/package-licenses/libqat/LICENSE.GPL
|
|
COPY --from=builder /QAT_Engine/LICENSE /usr/share/package-licenses/QAT_Engine/LICENSE
|
|
COPY --from=builder /ipp-crypto/LICENSE /usr/share/package-licenses/ipp-crypto/LICENSE
|
|
COPY --from=builder /intel-ipsec-mb/LICENSE /usr/share/package-licenses/intel-ipsec-mb/LICENSE
|