Merge "run ipv6 test case on more pods"
[yardstick.git] / yardstick / benchmark / scenarios / networking / testpmd_fwd.bash
1 #!/bin/sh
2
3 set -e
4
5 # Commandline arguments
6 DST_MAC=$1         # MAC address of the peer port
7
8 load_modules()
9 {
10     if lsmod | grep "uio" &> /dev/null ; then
11     echo "uio module is loaded"
12     else
13     modprobe uio
14     fi
15
16     if lsmod | grep "igb_uio" &> /dev/null ; then
17     echo "igb_uio module is loaded"
18     else
19     insmod /dpdk/x86_64-native-linuxapp-gcc/kmod/igb_uio.ko
20     fi
21
22     if lsmod | grep "rte_kni" &> /dev/null ; then
23     echo "rte_kni module is loaded"
24     else
25     insmod /dpdk/x86_64-native-linuxapp-gcc/kmod/rte_kni.ko
26     fi
27 }
28
29 change_permissions()
30 {
31     chmod 777 /sys/bus/pci/drivers/virtio-pci/*
32     chmod 777 /sys/bus/pci/drivers/igb_uio/*
33 }
34
35 add_interface_to_dpdk(){
36     interfaces=$(lspci |grep Eth |tail -n +2 |awk '{print $1}')
37     /dpdk/tools/dpdk-devbind.py --bind=igb_uio $interfaces
38 }
39
40 run_testpmd()
41 {
42     blacklist=$(lspci |grep Eth |awk '{print $1}'|head -1)
43     cd /dpdk
44     sudo ./destdir/bin/testpmd -c 0x07 -n 4 -b $blacklist -- -a --eth-peer=1,$DST_MAC --forward-mode=mac
45 }
46
47 main()
48 {
49     load_modules
50     change_permissions
51     add_interface_to_dpdk
52     run_testpmd
53 }
54
55 main