TLDK udwfwd test case:
[csit.git] / TLDK-tests / tldk_scripts / install_tldk.sh
1 #!/bin/bash
2
3 DPDK_VERSION=dpdk
4
5 ROOTDIR=/tmp/TLDK-testing
6 PWDDIR=$(pwd)
7 DPDK_DIR=dpdk
8
9 # compile and install the DPDK
10 cd ${ROOTDIR}
11 tar xvf dpdk-16.11.1.tar.xz
12 mv dpdk-stable-16.11.1 dpdk
13 echo $PWD
14 echo ${DPDK_PACKAGE}
15 cd ./${DPDK_DIR}
16 sed -i 's/^CONFIG_RTE_LIBRTE_PMD_PCAP=n/CONFIG_RTE_LIBRTE_PMD_PCAP=y/g' ./config/common_base
17 make install T=x86_64-native-linuxapp-gcc
18 cd ${PWDDIR}
19
20 # compile the TLDK
21 export RTE_SDK=${ROOTDIR}/${DPDK_DIR}/
22 export RTE_TARGET=x86_64-native-linuxapp-gcc
23 cd ${ROOTDIR}/tldk
24 make all
25 cd ${PWDDIR}
26
27 sudo killall -9 udpfwd 2>/dev/null
28
29 pid=`pgrep udpfwd`
30 if [ "$pid" != "" ]; then
31     echo "terminate the udpfwd failed!"
32     exit 1
33 fi
34
35 # check and setup the hugepages
36 SYS_HUGEPAGE=$(cat /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages)
37 if [ ${SYS_HUGEPAGE} -lt 1024 ]; then
38     MOUNT=$(mount | grep /mnt/huge)
39     while [ "${MOUNT}" != "" ]
40     do
41         sudo umount /mnt/huge
42         sleep 1
43         MOUNT=$(mount | grep /mnt/huge)
44     done
45
46     echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
47     echo 1024 > /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages
48
49     sudo mkdir -p /mnt/huge
50     sudo mount -t hugetlbfs nodev /mnt/huge/
51     test $? -eq 0 || exit 1
52 fi