CSIT-518: Add testpmd numa awareness
[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_corelist=$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" = false ]; then
28         echo "The command sudo pkill testpmd failed"
29         exit 1
30     fi
31 fi
32
33 sudo rm -f ${TESTPMD_LOG}
34 sudo rm -f ${TESTPMD_PID}
35 sudo rm -f /dev/hugepages/*
36
37 #run the testpmd
38 cd ${ROOTDIR}
39 if [ "$jumbo_frames" = "yes" ]; then
40 tail -f /dev/null | nohup ./dpdk-16.07/x86_64-native-linuxapp-gcc/app/testpmd -l ${cpu_corelist} \
41     -n 4 -- --numa --nb-ports=2 --portmask=0x3 --nb-cores=${nb_cores} \
42     --max-pkt-len=9000 --txqflags=0 --forward-mode=io --rxq=${queue_nums} \
43     --txq=${queue_nums} --auto-start > ${TESTPMD_LOG} 2>&1 &
44 echo $! > ${TESTPMD_PID}
45 else
46 tail -f /dev/null | nohup ./dpdk-16.07/x86_64-native-linuxapp-gcc/app/testpmd -l ${cpu_corelist} \
47     -n 4 -- --numa --nb-ports=2 --portmask=0x3 --nb-cores=${nb_cores} \
48     --forward-mode=io --rxq=${queue_nums} --txq=${queue_nums} --auto-start > ${TESTPMD_LOG} 2>&1 &
49 echo $! > ${TESTPMD_PID}
50 fi
51
52 cd ${PWDDIR}