X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=tests%2Ftldk%2Ftldk_scripts%2Frun_tldk.sh;h=10ad5b27fa04705425be0f158a5004cedc89f197;hp=0f56f02dfc6a930742e8c14b7f1f0ad47ec471dc;hb=c7eb2002bcd007520309feb3e11a26ff847a4e05;hpb=6721e7f09aa95bff6622068332a3f56afad9c87b diff --git a/tests/tldk/tldk_scripts/run_tldk.sh b/tests/tldk/tldk_scripts/run_tldk.sh index 0f56f02dfc..10ad5b27fa 100755 --- a/tests/tldk/tldk_scripts/run_tldk.sh +++ b/tests/tldk/tldk_scripts/run_tldk.sh @@ -2,6 +2,17 @@ set -x +# set arch, default to x86_64 if none given +ARCH=${1:-"x86_64"} + +# dpdk prefers "arm64" to "aarch64" and does not allow arm64 native target +if [ $ARCH == "aarch64" ]; then + ARCH="arm64" + MACHINE="armv8a" +else + MACHINE="native" +fi + ROOTDIR=/tmp/TLDK-testing PWDDIR=$(pwd) @@ -15,15 +26,31 @@ 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 +# Try to kill the l4fwd +sudo pgrep l4fwd +if [ $? -eq "0" ]; then + success=false + sudo pkill l4fwd + echo "RC = $?" + for attempt in {1..5}; do + echo "Checking if l4fwd is still alive, attempt nr ${attempt}" + sudo pgrep l4fwd + if [ $? -eq "1" ]; then + echo "l4fwd is dead" + success=true + break + fi + echo "l4fwd is still alive, waiting 1 second" + sleep 1 + done + if [ "$success" = false ]; then + echo "The command sudo pkill l4fwd failed" + sudo pkill -9 l4fwd + echo "RC = $?" + exit 1 + fi +else + echo "l4fwd is not running" fi #mount the hugepages again @@ -37,12 +64,12 @@ sleep 2 # 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' \ +sudo sh -c "nohup ./tldk/${ARCH}-${MACHINE}-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' \ +sudo sh -c "nohup ./tldk/${ARCH}-${MACHINE}-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} &" @@ -50,4 +77,6 @@ fi cd ${PWDDIR} +ps -elf | grep l4fwd + sleep 10