Add the DPDK l3fwd performance test case.
[csit.git] / dpdk-tests / dpdk_scripts / run_l2fwd.sh
index 80ed14a..20c41d6 100755 (executable)
@@ -3,7 +3,7 @@
 set -x
 
 # Setting variables
 set -x
 
 # Setting variables
-DPDK_VERSION=dpdk-17.02
+DPDK_VERSION=dpdk-17.05
 ROOTDIR=/tmp/openvpp-testing
 TESTPMDLOG=screenlog.0
 PWDDIR=$(pwd)
 ROOTDIR=/tmp/openvpp-testing
 TESTPMDLOG=screenlog.0
 PWDDIR=$(pwd)
@@ -41,6 +41,33 @@ else
     echo "testpmd is not running"
 fi
 
     echo "testpmd is not running"
 fi
 
+# Try to kill the l3fwd
+sudo pgrep l3fwd
+if [ $? -eq "0" ]; then
+    success=false
+    sudo pkill l3fwd
+    echo "RC = $?"
+    for attempt in {1..5}; do
+        echo "Checking if l3fwd is still alive, attempt nr ${attempt}"
+        sudo pgrep l3fwd
+        if [ $? -eq "1" ]; then
+            echo "l3fwd is dead"
+            success=true
+            break
+        fi
+        echo "l3fwd is still alive, waiting 1 second"
+        sleep 1
+    done
+    if [ "$success" = false ]; then
+        echo "The command sudo pkill l3fwd failed"
+        sudo pkill -9 l3fwd
+        echo "RC = $?"
+        exit 1
+    fi
+else
+    echo "l3fwd is not running"
+fi
+
 # Remove hugepages
 sudo rm -f /dev/hugepages/*
 
 # Remove hugepages
 sudo rm -f /dev/hugepages/*
 
@@ -49,18 +76,40 @@ sleep 2
 cd ${ROOTDIR}/${DPDK_VERSION}/
 rm -f ${TESTPMDLOG}
 if [ "$jumbo_frames" = "yes" ]; then
 cd ${ROOTDIR}/${DPDK_VERSION}/
 rm -f ${TESTPMDLOG}
 if [ "$jumbo_frames" = "yes" ]; then
-    sudo sh -c "screen -dmSL DPDK-test ./x86_64-native-linuxapp-gcc/app/testpmd -l ${cpu_corelist} \
-        -n 4 -- --numa --nb-ports=2 --portmask=0x3 --nb-cores=${nb_cores} \
-        --max-pkt-len=9000 --txqflags=0 --forward-mode=io --rxq=${queue_nums} \
-        --txq=${queue_nums} --auto-start"
-    sleep 10
-    cat ${TESTPMDLOG}
+    sudo sh -c "screen -dmSL DPDK-test ./x86_64-native-linuxapp-gcc/app/testpmd \
+        -l ${cpu_corelist} -n 4 -- \
+        --numa \
+        --nb-ports=2 \
+        --portmask=0x3 \
+        --nb-cores=${nb_cores} \
+        --max-pkt-len=9000 \
+        --txqflags=0 \
+        --forward-mode=io \
+        --rxq=${queue_nums} \
+        --txq=$((${nb_cores} + 1)) \
+        --burst=64 \
+        --rxd=1024 \
+        --txd=1024 \
+        --disable-link-check \
+        --auto-start"
 else
 else
-    sudo sh -c "screen -dmSL DPDK-test ./x86_64-native-linuxapp-gcc/app/testpmd -l ${cpu_corelist} \
-        -n 4 -- --numa --nb-ports=2 --portmask=0x3 --nb-cores=${nb_cores} \
-        --forward-mode=io --rxq=${queue_nums} --txq=${queue_nums} --auto-start"
-    sleep 10
-    cat ${TESTPMDLOG}
+    sudo sh -c "screen -dmSL DPDK-test ./x86_64-native-linuxapp-gcc/app/testpmd \
+        -l ${cpu_corelist} -n 4 -- \
+        --numa \
+        --nb-ports=2 \
+        --portmask=0x3 \
+        --nb-cores=${nb_cores} \
+        --forward-mode=io \
+        --rxq=${queue_nums} \
+        --txq=$((${nb_cores} + 1)) \
+        --burst=64 \
+        --rxd=1024 \
+        --txd=1024 \
+        --disable-link-check \
+        --auto-start"
 fi
 
 fi
 
+sleep 10
+less -r ${TESTPMDLOG}
+
 cd ${PWDDIR}
 cd ${PWDDIR}