wiki:HowTo/SetupOVSSwitch

Version 11 (modified by Vic Thomas, 7 years ago) (diff)

--

Open vSwitch (OVS) Switch

This page shows how to:

  1. Use an OVS Switch from a self-configuring Custom Image available to all experimenters
  2. Or, set up and configure OVS on Ubuntu 16
  3. Turn an OVS switch set up using one of the above methods into an OpenFlow switch.

1. Use the self-configuring OVS Switch Custom Image (InstaGENI)

A self-configuring custom image that has OVS installed is available to all GENI experimenters. This image, on startup, automatically:

  1. Creates a bridge (switch)
  2. Adds all data plane interface to ports on the bridge
  3. Puts the bridge in standalone more

The following RSpec snippet includes the URL and URN for this custom image:

 <disk_image url="https://www.instageni.sox.net/image_metadata.php?uuid=93e879bf-5c25-11e7-9a2c-000000000000" name="urn:publicid:IDN+instageni.sox.net+image+ch-geni-net:OVSnonOF:0"/>

Your OVS switch is now ready to use and each of your dataplane interfaces will be part of the OVS bridge "br0"!

Note: IP is disabled on all data plane interfaces of the VM containing this OVS switch. A file /tmp/InterfacesInfo on the OVS switch includes all interface information before IP was shutdown.

2. Install and create an OVS switch on Ubuntu 16

If you want to install and configure OVS on Ubuntu 16 instead of using the custom image described above, follow the following steps:

  1. Request your topology via omni or GENI Portal. Current default image version is Ubuntu 16, which will change over time.
  1. On the node you plan to use as the switch run the following:
     sudo apt-get install openvswitch-switch -y 
    
  1. Once OVS is installed, a service script is available on your node, /etc/systemd/system/multi-user.target.wants/openvswitch-switch.service. This systemd script allows you to stop and start the openvswitch as a service. Note that the openvswitch service is automatically started for you when installing the software, to check its status:
    sudo systemctl status openvswitch-switch
    
  1. A script geniovs.sh is available to create an OVS bridge and add the dataplane interfaces:
    wget https://raw.githubusercontent.com/GENI-NSF/geni-support/master/Utilities/geniovs.sh
    bash ./geniovs.sh
    

Your OVS switch is now ready to use!

3. Enable OpenFlow for OVS switch

If you have the Open vSwtich service running and would like to add OpenFlow to the mix, simply execute the following:

  sudo ovs-vsctl set-fail-mode br0 secure
  sudo ovs-vsctl set-controller br0 tcp:<controller_ip>:6633