Home > Open-vSwitch-Testing

Open-vSwitch-Testing

Open-vSwitch-Testing is a project mainly written in Shell, it's free.

A simple testing suite to compare Open vSwitch networking to standard bridging

This package contains a simple set of scripts to aid in testing Open vSwitch. In particular, to compare to standard Linux bridging.

Requirements

  1. A working Open vSwitch Installation.

  2. Currently there is only support for KVM, but other platforms, such as Xen should be able to be supported. Patches welcome :)

Instructions for working with KVM and Open vSwitch have been committed. See: INSTALL.KVM (in a release > 1.0.0) or http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=blob_plain;f=INSTALL.KVM;hb=6cdd6a87ac43b4d7cc4cfe99f2ae4435afd38951

  1. Primary testing has been done on Ubuntu 10.04.

Dependencies include:

  • nbd-client

Install

./install.sh /full/path/to/pre-compiled/openvswitch/source/directory

Usage

At minimum you'll need:

1) A base guest disk image in qcow2 format, which you can create with qemu-img -f qcow2 and then install into it or you can use a tool such as ubuntu-vm-builder, Stacklet, or other guest image creation tool to make a base image. You can also convert a raw disk image to qcow2 with qemu-img convert. Be sure to install an SSH server that starts at boot in the images.

See also the section below "Other Notes" that describes the files included in the default install.

2)A file named mac_addr that is stored in: /usr/local/etc/ovs-testing/guests// that contains a valid MAC address (e.g 00:11:22:BB:AA:DD)

Two simple examples are included (guest1 and guest2), but a base qcow2 is still needed. Since when the guests are started, they will get a temporary copy on write disk image based on that base image.

Beyond that, to run benchmarks (such as iperf, netperf, and netpipe-tcp) you'll need to have them available and be able to install them on the appropriate systems and guests.

It is easiest to setup ssh keys for the user that will run the tests, but if you choose not to you will be prompted for ssh passwords

To generate graphs, you'll need gnuplot.

Example usage:

ovst-setup-network ovs eth0 br0 10.0.0.100 ovst-start-guest ovs /path/to/base/image.qcow2 guest1 ovst-start-guest ovs /path/to/base/image.qcow2 guest2 ovst-run-net-test netpipe guest1_ip guest2_ip guest1-guest2-netpipe.out ovst-generate-graph guest1-guest2-netpipe.out

Other Notes

During install, a symlink to the openvswitch source tree is made Other scripts, such as ovst-setup-network set that OVS_ROOT as /usr/local/src/ovs-src (the symlink). That can be overridden at runtime by setting OVS_ROOT on the command line.

Example: export OVS_ROOT=/root/src/open-vswitch-1.x.x; ovst-setup-network ovs eth0 br0 10.0.0.100

To copy any custom files into the guest, you can add them here: /usr/local/etc/ovs-testing/guests//copy_into_filesystem/

Included in the default install are /etc/network/interface files that hard code the guest1 and guest2 ip addresses to 10.0.0.201 and .202 respectively

Previous:Git-Test