summaryrefslogtreecommitdiff
path: root/ubuntu/ovs-odp-dpdk-server-multinode.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'ubuntu/ovs-odp-dpdk-server-multinode.yaml')
-rw-r--r--ubuntu/ovs-odp-dpdk-server-multinode.yaml100
1 files changed, 100 insertions, 0 deletions
diff --git a/ubuntu/ovs-odp-dpdk-server-multinode.yaml b/ubuntu/ovs-odp-dpdk-server-multinode.yaml
new file mode 100644
index 0000000..a5f4851
--- /dev/null
+++ b/ubuntu/ovs-odp-dpdk-server-multinode.yaml
@@ -0,0 +1,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'