= Open vSwitch (OVS) Switch = This page captures how an OVS openvswitch is set up on an Ubuntu 16 system and how it can be expanded to add !OpenFlow. == Setting up the openvswitch service == To run the OVS Switch on Ubuntu 16, execute the following: 1. Request your topology via omni or GENI Portal. Current default image version is Ubuntu 16, which will change over time. 2. On the node you plan to use as the switch run the following: {{{ sudo apt-get install openvswitch-switch -y }}} 3. Once OVS is installed, a service script is created 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 }}} 4. A script [https://raw.githubusercontent.com/GENI-NSF/geni-support/master/Utilities/geniovs.sh geniovs.sh] is available to the dataplane interface to the OVS bridge: {{{ wget https://raw.githubusercontent.com/GENI-NSF/geni-support/master/Utilities/geniovs.sh sh ./geniovs.sh }}} Your OVS switch is now ready to use! == OVS Switch from Custom Image == If you would like to skip the 4 steps above, and simply load a custom image that has the OVS service running with all dataplane interface on its bridge, then you can use the custom image below: {{{ }}} == Enable OpenFlow for OVS switch == If you have the openvswitch 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::6633 }}}