From 0990006efb477aed360b2bb9ccd311b6cd5d7f34 Mon Sep 17 00:00:00 2001 From: Saikrishna Edupuganti Date: Wed, 3 Jun 2020 23:05:17 -0700 Subject: [PATCH] Provide dpdk-stable 3 LTS and 1 recent release MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Testpmd manifests of the last 3 LTS and 1 latest release from stable repo to help test actual DPDK app instead of sleep. Currently 17.11 and 19.11 are the only functioning ones without privileged. ``` NAME READY STATUS RESTARTS AGE dpdk-1711 1/1 Running 0 3m5s dpdk-1811 0/1 Error 0 3m5s dpdk-1911 1/1 Running 0 3m5s dpdk-2002 0/1 Error 0 3m5s ``` ``` EAL: PCI device 0000:07:06.4 on NUMA socket 0 EAL: probe driver: 8086:154c net_i40e_vf EAL: Getting a vfio_dev_fd for 0000:07:06.4 failed EAL: Requested device 0000:07:06.4 cannot be used … testpmd: No probed ethernet devices EAL: Error - exiting with code: 1 Cause: Invalid port 1 ``` Signed-off-by: Saikrishna Edupuganti --- .../test/sriov/2-pod-dpdk-ver.yaml | 100 ++++++++++++++++++ .../9-multi-network/test/sriov/Dockerfile | 17 +++ 2 files changed, 117 insertions(+) create mode 100644 clr-k8s-examples/9-multi-network/test/sriov/2-pod-dpdk-ver.yaml create mode 100644 clr-k8s-examples/9-multi-network/test/sriov/Dockerfile diff --git a/clr-k8s-examples/9-multi-network/test/sriov/2-pod-dpdk-ver.yaml b/clr-k8s-examples/9-multi-network/test/sriov/2-pod-dpdk-ver.yaml new file mode 100644 index 0000000..1d323e0 --- /dev/null +++ b/clr-k8s-examples/9-multi-network/test/sriov/2-pod-dpdk-ver.yaml @@ -0,0 +1,100 @@ +--- +apiVersion: v1 +kind: Pod +metadata: + name: dpdk-1711 + annotations: + k8s.v1.cni.cncf.io/networks: sriov-net-dpdk +spec: + restartPolicy: Never + containers: + - name: dpdk + image: krsna1729/dpdk:17.11 + stdin: true + tty: true + command: [ "/bin/bash", "-c"] + args: + - ls -l /dev/vfio; + testpmd --no-huge -m 2048 -- --stats-period=10 --nb-port=1 --port-topology=chained --auto-start --total-num-mbufs=2048 --forward-mode=macswap; + securityContext: + capabilities: + add: + - IPC_LOCK + resources: + limits: + intel.com/sriov_vfio: '1' +--- +apiVersion: v1 +kind: Pod +metadata: + name: dpdk-1811 + annotations: + k8s.v1.cni.cncf.io/networks: sriov-net-dpdk +spec: + restartPolicy: Never + containers: + - name: dpdk + image: krsna1729/dpdk:18.11 + stdin: true + tty: true + command: [ "/bin/bash", "-c"] + args: + - ls -l /dev/vfio; + testpmd --no-huge -m 2048 -- --stats-period=10 --nb-port=1 --port-topology=chained --auto-start --total-num-mbufs=2048 --forward-mode=macswap; + securityContext: + capabilities: + add: + - IPC_LOCK + resources: + limits: + intel.com/sriov_vfio: '1' +--- +apiVersion: v1 +kind: Pod +metadata: + name: dpdk-1911 + annotations: + k8s.v1.cni.cncf.io/networks: sriov-net-dpdk +spec: + restartPolicy: Never + containers: + - name: dpdk + image: krsna1729/dpdk:19.11 + stdin: true + tty: true + command: [ "/bin/bash", "-c"] + args: + - ls -l /dev/vfio; + testpmd --no-huge -m 2048 -- --stats-period=10 --nb-port=1 --port-topology=chained --auto-start --total-num-mbufs=2048 --forward-mode=macswap; + securityContext: + capabilities: + add: + - IPC_LOCK + resources: + limits: + intel.com/sriov_vfio: '1' +--- +apiVersion: v1 +kind: Pod +metadata: + name: dpdk-2002 + annotations: + k8s.v1.cni.cncf.io/networks: sriov-net-dpdk +spec: + restartPolicy: Never + containers: + - name: dpdk + image: krsna1729/dpdk:20.02 + stdin: true + tty: true + command: [ "/bin/bash", "-c"] + args: + - ls -l /dev/vfio; + testpmd --no-huge -m 2048 -- --stats-period=10 --nb-port=1 --port-topology=chained --auto-start --total-num-mbufs=2048 --forward-mode=macswap; + securityContext: + capabilities: + add: + - IPC_LOCK + resources: + limits: + intel.com/sriov_vfio: '1' diff --git a/clr-k8s-examples/9-multi-network/test/sriov/Dockerfile b/clr-k8s-examples/9-multi-network/test/sriov/Dockerfile new file mode 100644 index 0000000..7d1a99e --- /dev/null +++ b/clr-k8s-examples/9-multi-network/test/sriov/Dockerfile @@ -0,0 +1,17 @@ +FROM ubuntu:bionic as ubuntu-build +RUN apt-get update && \ + apt-get -y install \ + build-essential \ + git \ + libnuma-dev + +ARG DPDK_VER='master' +ENV DPDK_DIR='/dpdk' +ENV RTE_TARGET='x86_64-native-linuxapp-gcc' +RUN git clone -b $DPDK_VER -q --depth 1 http://dpdk.org/git/dpdk-stable $DPDK_DIR 2>&1 +RUN cd ${DPDK_DIR} && \ + sed -ri 's,(IGB_UIO=).*,\1n,' config/common_linux* && \ + sed -ri 's,(KNI_KMOD=).*,\1n,' config/common_linux* && \ + make config T=x86_64-native-linuxapp-gcc && \ + make -j $CPUS +ENV PATH="$PATH:$DPDK_DIR/build/app/"