blob: a5f485107d64188c9922a0902cc5930a1a0dbf43 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
metadata:
format: Lava-Test Test Definition 1.0
name: ovs-odp-server-multinode
description: "OVS on top of ODP-DPDK - this runs as part of a multinode setup and tests
the performance of odp-ovs. This initial effort covers simple PHY-to-PHY
forwarding in a setup with two machines connected back to back trough two
network interfaces. The other machine will usually run netmap-pkt-gen-multinode
to generate packets and measure the rate of packets forwarded by odp-ovs."
maintainer:
- ciprian.barbu@linaro.org
os:
- ubuntu
scope:
- functional
- performance
devices:
- x86
params:
LINUX_HEADERS_DEB: "/linux-headers.deb"
ODP_OVS_GIT: "git://git.linaro.org/lng/odp-ovs.git"
ODP_OVS_REV: "odp-v0"
NIC_PATTERN: "82599"
install:
deps:
- git
- binutils
- gcc
- make
- autoconf
- libtool
- automake
- patch
- pciutils
- python-numpy
- libpcap-dev
- openssl
- libssl-dev
- curl
- uuid-runtime
- bzip2
- lshw
git-repos:
- url: git://git.linaro.org/lng/check-odp
steps:
- echo 'RUNNING depmod'
- depmod
- echo 'CLONING odp-ovs'
- git clone $ODP_OVS_GIT odp-ovs
- cd odp-ovs
- git checkout $ODP_OVS_REV
- ifconfig -a
- lshw -class network
run:
steps:
- set -x
- echo 'COMPILING ODP-DPDK'
- cd check-odp
- lava-test-case compile-odp-dpdk --shell CLEANUP=0 ./build-dpdk.sh
- echo 'COMPILING ODP-OVS'
- cd ..
- cd odp-ovs
- ./boot.sh
- lava-test-case configure-odp-ovs --shell ./configure --with-odp=../check-odp/new-build --with-odp-debug=yes --prefix=/usr
- lava-test-case make-odp-ovs --shell make -j 4
- make install
- cd ..
- echo 'CONFIGURE hugetlbfs'
- lava-test-case set-1024-hugetlbfs --shell 'echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages'
- mkdir -p /mnt/huge
- lava-test-case mount-hugetlbfs --shell mount -t hugetlbfs nodev /mnt/huge
- sleep 5
- echo 'PREPARE DPDK'
- lava-test-case insert-uio --shell modprobe uio
- lava-test-case insert-igb-uio --shell insmod check-odp/DPDK/x86_64-native-linuxapp-gcc/kmod/igb_uio.ko
- echo 'BIND DPDK NICs'
- lava-test-case dpdk-nic-status-before --shell check-odp/DPDK/tools/dpdk_nic_bind.py --status
- lava-test-case dpdk-nic-bind --shell ./common/scripts/odp-ovs/ovs-odp-dpdk-nic-bind-$NIC_PATTERN.sh check-odp/DPDK
- lava-test-case dpdk-nic-status-after --shell check-odp/DPDK/tools/dpdk_nic_bind.py --status
- sleep 5
- echo 'STARTING ODP-OVS'
- lava-test-case start-odp-ovs --shell 'ODP_PLATFORM_PARAMS="-n 3 -- -p 3" odp-ovs/debian/openvswitch-switch.init start'
- echo 'ENABLING ODP mode'
- lava-test-case enable-odp-mode --shell 'ovs-vsctl set Open_vSwitch . other_config:odp=true'
- echo 'ADDING bridge'
- lava-test-case add-bridge --shell 'ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev'
- sleep 3
- echo 'ADDING ports'
- lava-test-case add-port0 --shell 'ovs-vsctl add-port br0 odp:0 -- set Interface odp:0 type=odp'
- lava-test-case add-port1 --shell 'ovs-vsctl add-port br0 odp:1 -- set Interface odp:1 type=odp'
- sleep 3
- echo 'ADDING flows'
- lava-test-case show-flows --shell ovs-ofctl show br0
- lava-test-case add-flow1 --shell 'ovs-ofctl add-flow br0 in_port=1,action=output:2'
- lava-test-case add-flow2 --shell 'ovs-ofctl add-flow br0 in_port=2,action=output:1'
- lava-sync ready
- lava-sync l2fwd-done
- lava-test-case del-br --shell 'ovs-vsctl del-br br0'
|