diff options
author | Qun Wan <qun.wan@intel.com> | 2017-03-30 14:36:56 -0400 |
---|---|---|
committer | Peter Mikus <pmikus@cisco.com> | 2017-06-07 05:24:57 +0000 |
commit | 7436d8bdf60bca9b80fb76781e1f709bbcd435da (patch) | |
tree | 53a49da5dd22a88cf70c22848468f6d3a336a050 /TLDK-tests/tldk_scripts | |
parent | d058458cb57eaa68c9aafe03fa823e7489664bf0 (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-x | TLDK-tests/tldk_scripts/install_tldk.sh | 52 | ||||
-rwxr-xr-x | TLDK-tests/tldk_scripts/run_tldk.sh | 51 |
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 |