41 lines
1.1 KiB
Docker
41 lines
1.1 KiB
Docker
|
{% from "dockers/dockerfile-macros.j2" import install_debian_packages, install_python_wheels, copy_files %}
|
||
|
FROM docker-ptf
|
||
|
|
||
|
# Make apt-get non-interactive
|
||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||
|
|
||
|
# Set the apt source, update package cache and install necessary packages
|
||
|
RUN apt-get update \
|
||
|
&& apt-get upgrade -y \
|
||
|
&& apt-get dist-upgrade -y \
|
||
|
&& apt-get install -y \
|
||
|
python3-pip
|
||
|
|
||
|
RUN pip3 install crc16 \
|
||
|
netifaces \
|
||
|
getmac \
|
||
|
packet_helper \
|
||
|
psutil \
|
||
|
scapy==2.4.4 \
|
||
|
scapy_helper \
|
||
|
pysubnettree
|
||
|
|
||
|
COPY \
|
||
|
{% for deb in docker_ptf_sai_debs.split(' ') -%}
|
||
|
debs/{{ deb }}{{' '}}
|
||
|
{%- endfor -%}
|
||
|
debs/
|
||
|
|
||
|
RUN dpkg -i \
|
||
|
{% for deb in docker_ptf_sai_debs.split(' ') -%}
|
||
|
debs/{{ deb }}{{' '}}
|
||
|
{%- endfor %}
|
||
|
|
||
|
# Remove old ptf package
|
||
|
RUN dpkg -r python-ptf
|
||
|
|
||
|
# Install new ptf package
|
||
|
RUN git clone https://github.com/p4lang/ptf.git \
|
||
|
&& cd ptf \
|
||
|
&& python3.7 setup.py install --single-version-externally-managed --record /tmp/ptf_install.txt
|