
This patch adds a source build of DPDK 17.11.5 to the openvswitch image and enables DPDK during build time of openvswitch. Moreover, it bumps the version of openvswitch from 2.8.1 to 2.10.1. Change-Id: I2d188ce6fc4c33e1b7e38cb6c8ff330677ee1902
69 lines
1.9 KiB
Docker
69 lines
1.9 KiB
Docker
FROM k8s.gcr.io/debian-iptables-amd64:v10
|
|
LABEL maintainer="pete.birley@att.com"
|
|
|
|
ARG OVS_VERSION=2.10.1
|
|
ARG DPDK_VERSION=17.11.5
|
|
|
|
RUN set -ex ;\
|
|
export DEBIAN_FRONTEND=noninteractive ;\
|
|
apt-get update ;\
|
|
apt-get upgrade -y ;\
|
|
apt-get install --no-install-recommends -y \
|
|
bash ;\
|
|
apt-get install --no-install-recommends -y \
|
|
build-essential \
|
|
curl \
|
|
libatomic1 \
|
|
libssl1.1 \
|
|
openssl \
|
|
uuid-runtime \
|
|
graphviz \
|
|
autoconf \
|
|
automake \
|
|
bzip2 \
|
|
debhelper \
|
|
dh-autoreconf \
|
|
libssl-dev \
|
|
libtool \
|
|
python-all \
|
|
python-six \
|
|
python-twisted-conch \
|
|
python-zopeinterface \
|
|
libnuma-dev \
|
|
linux-headers-amd64 ;\
|
|
TMP_DIR=$(mktemp -d) ;\
|
|
curl -sSL http://fast.dpdk.org/rel/dpdk-${DPDK_VERSION}.tar.xz | tar xJ -C ${TMP_DIR} --strip-components=1 ;\
|
|
export DPDK_DIR=${TMP_DIR} ;\
|
|
cd ${DPDK_DIR} ;\
|
|
export DPDK_TARGET=x86_64-native-linuxapp-gcc ;\
|
|
export DPDK_BUILD=${DPDK_DIR}/${DPDK_TARGET} ;\
|
|
export RTE_KERNELDIR=/usr/src/$(ls -1 /usr/src/ | grep amd64) ;\
|
|
make install T=${DPDK_TARGET} DESTDIR=install ;\
|
|
TMP_DIR=$(mktemp -d) ;\
|
|
curl -sSL http://openvswitch.org/releases/openvswitch-${OVS_VERSION}.tar.gz | tar xz -C ${TMP_DIR} --strip-components=1 ;\
|
|
cd ${TMP_DIR} ;\
|
|
./boot.sh ;\
|
|
./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc --with-dpdk=$DPDK_BUILD ;\
|
|
make ;\
|
|
make install ;\
|
|
cd / ;\
|
|
rm -rf ${DPDK_DIR} ;\
|
|
rm -rf ${TMP_DIR} ;\
|
|
apt-get purge --auto-remove -y \
|
|
build-essential \
|
|
curl \
|
|
graphviz \
|
|
autoconf \
|
|
automake \
|
|
bzip2 \
|
|
debhelper \
|
|
dh-autoreconf \
|
|
libssl-dev \
|
|
libtool \
|
|
python-all \
|
|
python-six \
|
|
python-twisted-conch \
|
|
python-zopeinterface ;\
|
|
clean-install \
|
|
iproute2 ;\
|