aboutsummaryrefslogtreecommitdiffstats
path: root/tests/tldk/tldk_scripts
diff options
context:
space:
mode:
Diffstat (limited to 'tests/tldk/tldk_scripts')
-rwxr-xr-xtests/tldk/tldk_scripts/install_tldk.sh57
-rwxr-xr-xtests/tldk/tldk_scripts/run_tldk.sh53
2 files changed, 110 insertions, 0 deletions
diff --git a/tests/tldk/tldk_scripts/install_tldk.sh b/tests/tldk/tldk_scripts/install_tldk.sh
new file mode 100755
index 0000000000..0cc65f949e
--- /dev/null
+++ b/tests/tldk/tldk_scripts/install_tldk.sh
@@ -0,0 +1,57 @@
+#!/bin/bash
+
+set -x
+
+DPDK_VERSION=16.11.1
+
+ROOTDIR=/tmp/TLDK-testing
+PWDDIR=$(pwd)
+DPDK_DIR=dpdk
+DPDK_PACKAGE=${DPDK_DIR}"-"${DPDK_VERSION}.tar.xz
+
+# compile and install the DPDK
+cd ${ROOTDIR}
+sudo tar xvf ${DPDK_PACKAGE}
+sudo mv dpdk-stable-${DPDK_VERSION} dpdk
+echo $PWD
+echo ${DPDK_PACKAGE}
+cd ./${DPDK_DIR}
+sudo sed -i 's/^CONFIG_RTE_LIBRTE_PMD_PCAP=n/CONFIG_RTE_LIBRTE_PMD_PCAP=y/g' ./config/common_base
+sudo make install T=x86_64-native-linuxapp-gcc
+cd ${PWDDIR}
+
+# compile the TLDK
+export RTE_SDK=${ROOTDIR}/${DPDK_DIR}/
+export RTE_TARGET=x86_64-native-linuxapp-gcc
+cd ${ROOTDIR}/tldk
+make all
+cd ${PWDDIR}
+
+sudo killall -9 l4fwd 2>/dev/null
+
+sleep 5
+
+pid=`pgrep l4fwd`
+if [ "$pid" != "" ]; then
+ echo "terminate the l4fwd failed!"
+ exit 1
+fi
+
+# check and setup the hugepages
+SYS_HUGEPAGE=$(cat /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages)
+if [ ${SYS_HUGEPAGE} -lt 1024 ]; then
+ MOUNT=$(mount | grep /mnt/huge)
+ while [ "${MOUNT}" != "" ]
+ do
+ sudo umount /mnt/huge
+ sleep 1
+ MOUNT=$(mount | grep /mnt/huge)
+ done
+
+ echo 1024 | sudo tee /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
+ echo 1024 | sudo tee /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages
+
+ sudo mkdir -p /mnt/huge
+ sudo mount -t hugetlbfs nodev /mnt/huge/
+ test $? -eq 0 || exit 1
+fi
diff --git a/tests/tldk/tldk_scripts/run_tldk.sh b/tests/tldk/tldk_scripts/run_tldk.sh
new file mode 100755
index 0000000000..0f56f02dfc
--- /dev/null
+++ b/tests/tldk/tldk_scripts/run_tldk.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+set -x
+
+ROOTDIR=/tmp/TLDK-testing
+PWDDIR=$(pwd)
+
+rx_file=$1
+tx_file=$2
+nic_pci=$3
+fe_cfg=$4
+be_cfg=$5
+IPv4_addr=$6
+IPv6_addr=$7
+
+echo $IPv4_addr
+
+#kill the l4fwd
+sudo killall -9 l4fwd 2>/dev/null
+
+sleep 2
+
+pid=`pgrep l4fwd`
+if [ "$pid" != "" ]; then
+ echo "terminate the l4fwd failed!"
+ exit 1
+fi
+
+#mount the hugepages again
+sudo umount /mnt/huge
+sudo mount -t hugetlbfs nodev /mnt/huge/
+test $? -eq 0 || exit 1
+
+sleep 2
+
+#run the l4fwd with tag U
+# need to install libpcap, libpcap-dev to use --vdev
+cd ${ROOTDIR}
+if [ "$IPv6_addr" == "NONE" ]; then
+sudo sh -c "nohup ./tldk/x86_64-native-linuxapp-gcc/app/l4fwd --lcore='0' \
+ -n 2 --vdev 'eth_pcap1,rx_pcap=${rx_file},tx_pcap=${tx_file}' \
+ -b ${nic_pci} -- -P -U -R 0x1000 -S 0x1000 -s 0x20 -f ${fe_cfg} -b ${be_cfg} \
+ port=0,lcore=0,rx_offload=0,tx_offload=0,ipv4=${IPv4_addr} &"
+elif [ "$IPv4_addr" == "NONE" ]; then
+sudo sh -c "nohup ./tldk/x86_64-native-linuxapp-gcc/app/l4fwd --lcore='0' \
+ -n 2 --vdev 'eth_pcap1,rx_pcap=${rx_file},tx_pcap=${tx_file}' \
+ -b ${nic_pci} -- -P -U -R 0x1000 -S 0x1000 -s 0x20 -f ${fe_cfg} -b ${be_cfg} \
+ port=0,lcore=0,rx_offload=0,tx_offload=0,ipv6=${IPv6_addr} &"
+fi
+
+cd ${PWDDIR}
+
+sleep 10