Install Open vSwitch v2.0 from RPM on RedHat Fedora

Install Open vSwitch v2.0 from RPM on RedHat Fedora

Open Vswitch Lab

Install Open vSwitch v2.0 from RPM on RedHat Fedora

This post is for installing OVS from RedHat RPM binaries. If you want to build Open vSwitch from source please see this post. Open vSwitch v2.0 introduces some really important features, at the top of the list is multi-threaded support in vswitchd. This will increase flow instantiation rates significantly into the upstream kernel module. A rough guess would be from less then 10k per/sec to 10x that w/ multithreaded support. I would imagine there will be a single threaded implementation for a single trace, serial hardware switch needs. This release also includes experimental support for OpenFlow v1.1, v1.2 and v1.3 along with some new OVSDB tables that have some cool potential such as IPFIX.

Lastly, is the important support for “remote_ip=flow” and “local_ip=flow” options that are enabling us to push multiple keys/VNIs over a single overlay tunnel in the OVSDB OpenDaylight project. This was supported in previous versions but different matching options have been added. An example of a VXLAN tunnel carrying multiple tenants or network IDs or whatever your segmentation strategy is:

Without the v1.0+ multi-table support you are left with only one key per tunnel like so:

With OpenFlow v1.1+ multiiple tables are now available. This is great for multi-tenant keys. An example output from 3 OpenStack NetworkID is the following:

Download and Install Open vSwitch 2.0 RPM

I ran into a dbus services bug with an error of the following:

A symlink will workaround the bug so you may want verify you have the latest NetworkManager patches:

If you have an existing installation from package, you can query and remove it with the following:

Then remove the existing. You can always upgrade but the extra step may avoid potential issues removing the kernel module:

Pull down the OVS 2.0 Fedora RPM.

OVS installation output:

Verify the OVS version:

Open vSwitch Troubleshooting Commands

Troubleshooting on your own is the best way to learn a system, and hey, we have Google.
An easy way to troubleshoot and learn about the Open vSwitch file locations is to merely look at the running processes.

Also take a look at the ovs startup script if you want to adjust any startup values, logs etc.

Another easy place to spot errors is to look at the OVS logs and system logs.

Some handy commands that are worth committing to memory or maybe a cheat sheet or two:

  • ovs-dpctl dump-flows Show the current OpenFlow tables entries for a given bridge
  • ovs-ofctl dump-flows List implemented flows in the OVS kernel module
  • ovs-ofctl snoop Display all OpenFlow messages (this is very cool):
  • ovs-appctl fdb/show List L2 MAC table key/val of Port, VLAN, MAC, entry age
  • ovsdb-client dump Show the OVSDB tables and any values
  • ovs-dpctl show Show information on each datapath in the OVS instance

Finally, the OVS FAQ is very extensive and the guys there do an awesome job keeping it up to date. The listserv goes back a few years and has almost any question you could imagine already asked and answered there so give it a search before asking, I bet you will find your answer.

Open vSwitch FAQ →
Open vSwitch LSV →

Happy hacking and thanks for stopping by!

About the Author

Brent SalisburyBrent has worked in both the Enterprise and vendor sides. In 2014 Brent left RedHat to be a co-founder of, a startup with a focus on reliable, scalable and performant Docker networking. In 2015, Docker Inc. acquired Socketplane. Now working at Docker, he is part of an engineering team that is building community and working to make sure the users experience of Docker networking is as satisfying as the rest of the amazing project that is fundamentally changing the infrastructure market as fast as anything the industry has experienced since the micro processor.View all posts by Brent Salisbury →