5 # set arch, default to x86_64 if none given
8 # dpdk prefers "arm64" to "aarch64" and does not allow arm64 native target
9 if [ $ARCH == "aarch64" ]; then
18 ROOTDIR=/tmp/TLDK-testing
21 DPDK_PACKAGE=${DPDK_DIR}"-"${DPDK_VERSION}.tar.xz
23 # compile and install the DPDK
25 sudo tar xvf ${DPDK_PACKAGE}
26 sudo mv dpdk-stable-${DPDK_VERSION} dpdk
30 sudo sed -i 's/^CONFIG_RTE_LIBRTE_PMD_PCAP=n/CONFIG_RTE_LIBRTE_PMD_PCAP=y/g' ./config/common_base
31 sudo make install T=${ARCH}-${MACHINE}-linuxapp-gcc
35 export RTE_SDK=${ROOTDIR}/${DPDK_DIR}/
36 export RTE_TARGET=${ARCH}-${MACHINE}-linuxapp-gcc
41 sudo killall -9 l4fwd 2>/dev/null
46 if [ "$pid" != "" ]; then
47 echo "terminate the l4fwd failed!"
51 # check and setup the hugepages
52 SYS_HUGEPAGE=$(cat /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages)
53 if [ ${SYS_HUGEPAGE} -lt 1024 ]; then
54 MOUNT=$(mount | grep /mnt/huge)
55 while [ "${MOUNT}" != "" ]
59 MOUNT=$(mount | grep /mnt/huge)
62 echo 1024 | sudo tee /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
63 echo 1024 | sudo tee /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages
65 sudo mkdir -p /mnt/huge
66 sudo mount -t hugetlbfs nodev /mnt/huge/
67 test $? -eq 0 || exit 1