#!/bin/bash

if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then
    set -x
fi
set -o errexit
set -o nounset
set -o pipefail


unset ARCH

echo "############################################################"
echo "# Build DPDK                                               #"
echo "############################################################"


mkdir /tmp/dpdk
cd /tmp/dpdk
wget https://fast.dpdk.org/rel/$DIB_DPDK_VER.tar.gz
cd $DIB_DPDK_VER
meson build
cd build
ninja && ninja install
ldconfig

echo "############################################################"
echo "# Build TRex                                               #"
echo "############################################################"


mkdir /tmp/trex
cd /tmp/trex
git clone https://github.com/cisco-system-traffic-generator/trex-core.git -b $DIB_TREX_VER $DIB_TREX_VER --depth=1
cd $DIB_TREX_VER/linux_dpdk/
./b configure --no-mlx=mlx4 && ./b build


echo "############################################################"
echo "# Hugepages                                                #"
echo "############################################################"

ADD_TO_GRUB=$(cat /etc/default/grub.d/50-cloudimg-settings.cfg | grep GRUB_CMDLINE_LINUX_DEF | sed 's/.$/ default_hugepagesz=1G hugepagesz=1G hugepages=2"/')
sed -i "/GRUB_CMDLINE_LINUX_DEF/c $ADD_TO_GRUB" /etc/default/grub.d/50-cloudimg-settings.cfg


# clean
export ARCH=amd64
rm -Rf /tmp/perftest
