aboutsummaryrefslogtreecommitdiffstats
path: root/TLDK-tests/tldk_scripts
diff options
context:
space:
mode:
authorQun Wan <qun.wan@intel.com>2017-03-30 14:36:56 -0400
committerPeter Mikus <pmikus@cisco.com>2017-06-07 05:24:57 +0000
commit7436d8bdf60bca9b80fb76781e1f709bbcd435da (patch)
tree53a49da5dd22a88cf70c22848468f6d3a336a050 /TLDK-tests/tldk_scripts
parentd058458cb57eaa68c9aafe03fa823e7489664bf0 (diff)
TLDK udwfwd test case:
- ip fragement for ipv4 - ip reassemble for ipv4 - ip checksum for ipv4 - ip checksum for ipv6 - ip fragment for ipv6 added the genpcap.py script to generate the pcap files and corresponding test scripts Change-Id: I01329dbb0ecd3c3a5dd7a63ef1dea01b2e717da5 Signed-off-by: qun wan <qun.wan@intel.com>
Diffstat (limited to 'TLDK-tests/tldk_scripts')
-rwxr-xr-xTLDK-tests/tldk_scripts/install_tldk.sh52
-rwxr-xr-xTLDK-tests/tldk_scripts/run_tldk.sh51
2 files changed, 103 insertions, 0 deletions
diff --git a/TLDK-tests/tldk_scripts/install_tldk.sh b/TLDK-tests/tldk_scripts/install_tldk.sh
new file mode 100755
index 0000000000..8941cfce4b
--- /dev/null
+++ b/TLDK-tests/tldk_scripts/install_tldk.sh
@@ -0,0 +1,52 @@
+#!/bin/bash
+
+DPDK_VERSION=dpdk
+
+ROOTDIR=/tmp/TLDK-testing
+PWDDIR=$(pwd)
+DPDK_DIR=dpdk
+
+# compile and install the DPDK
+cd ${ROOTDIR}
+tar xvf dpdk-16.11.1.tar.xz
+mv dpdk-stable-16.11.1 dpdk
+echo $PWD
+echo ${DPDK_PACKAGE}
+cd ./${DPDK_DIR}
+sed -i 's/^CONFIG_RTE_LIBRTE_PMD_PCAP=n/CONFIG_RTE_LIBRTE_PMD_PCAP=y/g' ./config/common_base
+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 udpfwd 2>/dev/null
+
+pid=`pgrep udpfwd`
+if [ "$pid" != "" ]; then
+ echo "terminate the udpfwd 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 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
+ echo 1024 > /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/TLDK-tests/tldk_scripts/run_tldk.sh b/TLDK-tests/tldk_scripts/run_tldk.sh
new file mode 100755
index 0000000000..747f5498a0
--- /dev/null
+++ b/TLDK-tests/tldk_scripts/run_tldk.sh
@@ -0,0 +1,51 @@
+#!/bin/bash
+
+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