summaryrefslogtreecommitdiff
path: root/tools/sppc/build/ubuntu/spp/Dockerfile.16.04
blob: e43a20b1c88cb7fd850e6312fe2bb5985a962d62 (plain)
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
55
FROM ubuntu:16.04

ARG rte_sdk
ARG rte_target
ARG home_dir
ARG dpdk_repo
ARG dpdk_branch
ARG spp_repo
ARG spp_branch
ARG spp_dir

ENV http_proxy ${http_proxy}
ENV https_proxy ${https_proxy}
ENV no_proxy ${no_proxy}
ENV RTE_SDK ${rte_sdk}
ENV RTE_TARGET ${rte_target}
ENV SPP_DIR ${spp_dir}
ENV PATH ${rte_sdk}/${rte_target}/app:${PATH}
ENV PATH ${home_dir}/${spp_dir}/src/primary/${rte_target}/:${PATH}
ENV PATH ${home_dir}/${spp_dir}/src/nfv/${rte_target}/:${PATH}
ENV PATH ${home_dir}/${spp_dir}/src/vf/${rte_target}/:${PATH}
ENV PATH ${home_dir}/${spp_dir}/src/vm/${rte_target}/:${PATH}

RUN apt-get update && apt-get install -y \
    git \
    gcc \
    python \
    pciutils \
    make \
    libnuma-dev \
    gcc-multilib \
    libarchive-dev \
    linux-headers-$(uname -r) \
    libpcap-dev \
    liblz4-dev \
    liblz4-tool \
    pkg-config \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

WORKDIR $home_dir
RUN git clone ${dpdk_branch} ${dpdk_repo}
RUN git clone ${spp_branch} ${spp_repo}

# Compile DPDK and SPP
WORKDIR ${rte_sdk}
RUN make -j install T=${rte_target}

WORKDIR ${home_dir}/${spp_dir}
RUN make -j

# Set working directory when container is launched
WORKDIR ${home_dir}
ADD env.sh ${home_dir}/env.sh
RUN echo "source ${home_dir}/env.sh" >> ${home_dir}/.bashrc