-
Notifications
You must be signed in to change notification settings - Fork 35
Expand file tree
/
Copy pathDockerfile.IntelP4.rhel
More file actions
54 lines (43 loc) · 1.3 KB
/
Dockerfile.IntelP4.rhel
File metadata and controls
54 lines (43 loc) · 1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
FROM registry.ci.openshift.org/ocp/4.22:base-rhel9
ARG P4_NAME=fxp-net_linux-networking
ENV P4_NAME $P4_NAME
ARG TARGETOS
ARG TARGETARCH
ENV ARCHSUFFIX="aarch64"
COPY . /src
WORKDIR /src
RUN dnf install -y \
kmod \
gettext \
python3-devel \
pciutils \
libnl3 \
libedit \
net-tools \
libatomic \
libconfig \
gcc gcc-c++ \
&& dnf clean all \
&& python3 -m ensurepip --upgrade
RUN mkdir -p /opt/${P4_NAME}
COPY cmd/intelvsp/$P4_NAME/* /opt/${P4_NAME}/
COPY cmd/intelvsp/p4sdk/entrypoint.sh /
COPY cmd/intelvsp/p4sdk/es2k_skip_p4.conf.template /
WORKDIR /
# Add steps for cachito
ENV REMOTE_SOURCES=${REMOTE_SOURCES:-"./openshift/"}
ENV REMOTE_SOURCES_DIR=${REMOTE_SOURCES_DIR:-"/cachito"}
COPY ${REMOTE_SOURCES} ${REMOTE_SOURCES_DIR}
COPY openshift/install-dpu-p4.sh .
RUN chmod +x install-dpu-p4.sh \
&& ./install-dpu-p4.sh
# Remove packages which are only needed for cachito
RUN dnf remove -y gcc gcc-c++ \
&& dnf clean all \
&& rm -rf /var/cache/dnf
#TODO: Update to newer package, according to release.
COPY ./cmd/intelvsp/p4runtime-2023.11.0/p4 /opt/p4rt_proto
COPY ./cmd/intelvsp/p4runtime-2023.11.0/copy_p4rt_python_deps.sh /opt/p4rt_proto/
RUN chmod a+x /opt/p4rt_proto/copy_p4rt_python_deps.sh
RUN /opt/p4rt_proto/copy_p4rt_python_deps.sh
ENTRYPOINT ["/entrypoint.sh"]