penguin/monok8s

k8s image for Mono Gateway Dev Kit

clitools/docker/dpdk.Dockerfile

raw ยท 1240 bytes

ARG TAG=dev
ARG DOCKER_IMAGE_ROOT=monok8s

FROM alpine:3.22 AS build

RUN apk add --no-cache \
  bash \
  build-base \
  linux-headers \
  meson \
  ninja \
  pkgconf \
  python3 \
  py3-elftools \
  coreutils \
  file \
  git \
  bsd-compat-headers

RUN mkdir /src

WORKDIR /src

ARG DPDK_TAR
ARG DPDK_VERSION

COPY ${DPDK_TAR} /tmp/

RUN set -eux; \
    mkdir -p /src/dpdk; \
    tar -xf "/tmp/$(basename "${DPDK_TAR}")" -C /src/dpdk --strip-components=1

RUN set -eux; \
    meson setup /src/dpdk/build /src/dpdk \
      --buildtype=release \
      -Dplatform=dpaa \
      -Dtests=false \
      -Ddisable_drivers=crypto/*,compress/*,baseband/*,dma/*,event/*,regex/*,ml/*,gpu/*,raw/*,net/pcap,net/tap,net/vhost,net/virtio,net/ixgbe,net/i40e,net/txgbe,net/ring,net/af_packet; \
    meson configure /src/dpdk/build | tee /tmp/meson-config.txt; \
    grep -Ei 'dpaa|platform|disable_drivers' /tmp/meson-config.txt || true; \
    ninja -C /src/dpdk/build; \
    DESTDIR=/out ninja -C /src/dpdk/build install

RUN set -eux; \
    mkdir -p /artifact/bin; \
    test -x /src/dpdk/build/app/dpdk-testpmd; \
    cp -r /src/dpdk/build/app/dpdk-testpmd /artifact/bin/

FROM scratch AS export
COPY --from=build /out/ /
COPY --from=build /artifact/ /