CSIT-517: DPDK initialization and teardown
[csit.git] / dpdk-tests / dpdk_scripts / run_l2fwd.sh
1 #!/bin/bash
2
3 ROOTDIR=/tmp/openvpp-testing
4 PWDDIR=$(pwd)
5
6 TESTPMD_LOG=/tmp/testpmd.log
7 TESTPMD_PID=/tmp/testpmd.pid
8
9 cpu_coremask=$1
10 nb_cores=$2
11 queue_nums=$3
12 jumbo_frames=$4
13
14 #kill the testpmd
15 sudo pgrep testpmd
16 if [ $? -eq "0" ]; then
17     success=false
18     sudo pkill testpmd
19     for attempt in {1..5}; do
20         sudo pgrep testpmd
21         if [ $? -eq "1" ]; then
22             success=true
23             break
24         fi
25         sleep 1
26     done
27     if [ ${success} -eq false ]; then
28         echo "The command sudo pkill testpmd failed"
29         exit 1
30     fi
31 fi
32
33 sudo rm -f ${TESTPMD_PID}
34
35 #run the testpmd
36 cd ${ROOTDIR}
37 if [ "$jumbo_frames" = "yes" ]; then
38 #sudo sh -c "screen -dmS DPDK-test ./dpdk-16.07/x86_64-native-linuxapp-gcc/app/testpmd -c ${cpu_coremask} \
39 #    -n 4 -- --nb-ports=2 --portmask=0x3 --nb-cores=${nb_cores} \
40 #    --max-pkt-len=9000 --txqflags=0 --forward-mode=io --rxq=${queue_nums} \
41 #    --txq=${queue_nums} --auto-start"
42 tail -f /dev/null | nohup ./dpdk-16.07/x86_64-native-linuxapp-gcc/app/testpmd -c ${cpu_coremask} \
43     -n 4 -- --nb-ports=2 --portmask=0x3 --nb-cores=${nb_cores} \
44     --max-pkt-len=9000 --txqflags=0 --forward-mode=io --rxq=${queue_nums} \
45     --txq=${queue_nums} --auto-start > ${TESTPMD_LOG} 2>&1 &
46 echo $! > ${TESTPMD_PID}
47 else
48 #sudo sh -c "screen -dmS DPDK-test ./dpdk-16.07/x86_64-native-linuxapp-gcc/app/testpmd -c ${cpu_coremask} \
49 #    -n 4 -- --nb-ports=2 --portmask=0x3 --nb-cores=${nb_cores} \
50 #    --forward-mode=io --rxq=${queue_nums} --txq=${queue_nums} --auto-start"
51 tail -f /dev/null | nohup ./dpdk-16.07/x86_64-native-linuxapp-gcc/app/testpmd -c ${cpu_coremask} \
52     -n 4 -- --nb-ports=2 --portmask=0x3 --nb-cores=${nb_cores} \
53     --forward-mode=io --rxq=${queue_nums} --txq=${queue_nums} --auto-start > ${TESTPMD_LOG} 2>&1 &
54 echo $! > ${TESTPMD_PID}
55 fi
56
57 cd ${PWDDIR}