Skip to content
Open vSwitch
C Python Groff Shell Makefile C++ Other
Latest commit 7d8eadc May 23, 2016 @joestringer joestringer ovs-vtep: Make compatible with python2.7 and 3.
Translate commandline calls to UTF-8, appease flake8 and use six's
integer types. This allows the testsuite to pass when using python3 as
your default system python version.

Signed-off-by: Joe Stringer <joe@ovn.org>
Tested-by: Darrell Ball <dlu998@gmail.com>
Failed to load latest commit information.
.travis Update relevant artifacts to add support for DPDK 16.04. Apr 15, 2016
Documentation dist-docs: Include Documentation/ in dist-docs. Feb 9, 2016
build-aux cksum: Refine schema cksum validation Apr 22, 2016
datapath-windows datapath-windows: o/p buffer must fit NL error message May 25, 2016
datapath compat: Remove skbuff header helper backports. May 3, 2016
debian debian: Fix treatment of upstream version that contains hyphens. Apr 22, 2016
include list.h: Define OVS_LIST_POISON statically May 28, 2016
lib util: Drop 'date' and 'time' arguments from ovs_set_program_name May 26, 2016
m4 build-windows: Update for msys Apr 12, 2016
ofproto xlate: Skip recirculation for output and set actions May 27, 2016
ovn ovn-nbctl: Fix memory leak reported by Valgrind. May 19, 2016
ovsdb ovsdb-idlc.in: Autogenerate partial map updates functions. May 18, 2016
python python: Add TCP passive-mode to IDL. May 20, 2016
rhel rhel: Packaging for OVN is split as per functionality Mar 24, 2016
selinux rhel: provide our own SELinux custom policy package Feb 25, 2016
tests xlate: Skip recirculation for output and set actions May 27, 2016
third-party Move lib/ofp-print.h to include/openvswitch directory Apr 14, 2016
tutorial ovn: Fix link in tutorial Apr 21, 2016
utilities ovs-vtep: Make compatible with python2.7 and 3. May 31, 2016
vswitchd netdev-dpdk.c: Add ingress-policing functionality. May 24, 2016
vtep ovs-vtep: Make compatible with python2.7 and 3. May 31, 2016
windows Add build system for compiling under MSVC x64 Sep 29, 2015
xenserver tests: Add ability to automatically rerun failed tests. Feb 24, 2016
.gitignore tests: enable basic lcov code coverage reporting support Mar 18, 2016
.travis.yml travis: support OS X builds Mar 23, 2016
AUTHORS util: Drop 'date' and 'time' arguments from ovs_set_program_name May 26, 2016
CONTRIBUTING.md checkpatch.py: A simple script for finding patch issues Mar 31, 2016
COPYING Increase prerequisite from Python 2.4 to Python 2.7. Jun 23, 2015
CodingStyle.md CodingStyle: recommend PEP 8 for Python code Feb 19, 2015
DESIGN.md Document how to match any packet with a VLAN header. Mar 10, 2016
FAQ.md FAQ: Update feature table. May 2, 2016
INSTALL.DPDK.md netdev-dpdk.c: Add ingress-policing functionality. May 24, 2016
INSTALL.Debian.md doc: Add more cross references between docs Oct 30, 2014
INSTALL.Docker.md ovn-docker: Update overlay mode for new tcp ports. Apr 7, 2016
INSTALL.Fedora.md rhel: Packaging for OVN is split as per functionality Mar 25, 2016
INSTALL.KVM.md doc: Add more cross references between docs Oct 30, 2014
INSTALL.Libvirt.md doc: Add more cross references between docs Oct 30, 2014
INSTALL.NetBSD.md INSTALL.NetBSD.md: Update for six Mar 24, 2016
INSTALL.RHEL.md rhel: Clarify instructions for RHEL 7. Jan 29, 2016
INSTALL.SELinux.md rhel: provide our own SELinux custom policy package Feb 26, 2016
INSTALL.SSL.md INSTALL.SSL.md: Fix arguments to "ovs-pki req" command. Nov 29, 2015
INSTALL.Windows.md datapath-windows: Update documentation Oct 2, 2015
INSTALL.XenServer.md Increase prerequisite from Python 2.4 to Python 2.7. Jun 23, 2015
INSTALL.md vagrant: Update default box to Fedora-23. May 25, 2016
INSTALL.userspace.md specify -w to set variables for sysctl(8) on NetBSD Apr 7, 2015
IntegrationGuide.md doc: Convert docs to Markdown language Oct 28, 2014
MAINTAINERS.md MAINTAINERS: convert to .md format. Jan 29, 2016
Makefile.am cksum: Refine schema cksum validation Apr 22, 2016
NEWS netdev-dpdk.c: Add ingress-policing functionality. May 24, 2016
NOTICE datapath-windows: Add Connection Tracking Support Apr 14, 2016
OPENFLOW-1.1+.md Move lib/ofp-util.h to include/openvswitch directory Apr 14, 2016
PORTING.md doc: Add more cross references between docs Oct 30, 2014
README-lisp.md doc: Convert docs to Markdown language Oct 28, 2014
README-native-tunneling.md docs: Fix typo in README-native-tunneling.md Aug 24, 2015
README.md datapath: Drop support for kernel older than 3.10 Mar 14, 2016
REPORTING-BUGS.md SECURITY: New document describing proposed security process for OVS. Jan 6, 2015
SECURITY.md SECURITY.md: Increase embargo period from 3-5 to 10-15 business days. Apr 10, 2016
TODO.md TODO.md: Remove old item. Nov 6, 2015
Vagrantfile vagrant: Enable silent-rules for configure. May 25, 2016
WHY-OVS.md doc: Convert docs to Markdown language Oct 28, 2014
acinclude.m4 acinclude.m4: Fix skb_get_hash function detection May 16, 2016
appveyor.yml appveyor: Update OpenSSL version May 17, 2016
boot.sh debian: Check for accurate Debian changelog version at build time too. Jul 21, 2010
configure.ac configure: Check for presence of Python 3. Feb 22, 2016
manpages.mk ovs-ofctl: Update manpage for --color option. Mar 18, 2016

README.md

Open vSwitch

Build Status:

Build Status

What is Open vSwitch?

Open vSwitch is a multilayer software switch licensed under the open source Apache 2 license. Our goal is to implement a production quality switch platform that supports standard management interfaces and opens the forwarding functions to programmatic extension and control.

Open vSwitch is well suited to function as a virtual switch in VM environments. In addition to exposing standard control and visibility interfaces to the virtual networking layer, it was designed to support distribution across multiple physical servers. Open vSwitch supports multiple Linux-based virtualization technologies including Xen/XenServer, KVM, and VirtualBox.

The bulk of the code is written in platform-independent C and is easily ported to other environments. The current release of Open vSwitch supports the following features:

  • Standard 802.1Q VLAN model with trunk and access ports
  • NIC bonding with or without LACP on upstream switch
  • NetFlow, sFlow(R), and mirroring for increased visibility
  • QoS (Quality of Service) configuration, plus policing
  • Geneve, GRE, GRE over IPSEC, VXLAN, and LISP tunneling
  • 802.1ag connectivity fault management
  • OpenFlow 1.0 plus numerous extensions
  • Transactional configuration database with C and Python bindings
  • High-performance forwarding using a Linux kernel module

The included Linux kernel module supports Linux 3.10 and up.

Open vSwitch can also operate, at a cost in performance, entirely in userspace, without assistance from a kernel module. This userspace implementation should be easier to port than the kernel-based switch. It is considered experimental.

What's here?

The main components of this distribution are:

  • ovs-vswitchd, a daemon that implements the switch, along with a companion Linux kernel module for flow-based switching.
  • ovsdb-server, a lightweight database server that ovs-vswitchd queries to obtain its configuration.
  • ovs-dpctl, a tool for configuring the switch kernel module.
  • Scripts and specs for building RPMs for Citrix XenServer and Red Hat Enterprise Linux. The XenServer RPMs allow Open vSwitch to be installed on a Citrix XenServer host as a drop-in replacement for its switch, with additional functionality.
  • ovs-vsctl, a utility for querying and updating the configuration of ovs-vswitchd.
  • ovs-appctl, a utility that sends commands to running Open vSwitch daemons.

Open vSwitch also provides some tools:

  • ovs-ofctl, a utility for querying and controlling OpenFlow switches and controllers.
  • ovs-pki, a utility for creating and managing the public-key infrastructure for OpenFlow switches.
  • ovs-testcontroller, a simple OpenFlow controller that may be useful for testing (though not for production).
  • A patch to tcpdump that enables it to parse OpenFlow messages.

What other documentation is available?

To install Open vSwitch on a regular Linux or FreeBSD host, please read INSTALL.md. For specifics around installation on a specific platform, please see one of these files:

To use Open vSwitch...

For answers to common questions, read FAQ.md.

To learn how to set up SSL support for Open vSwitch, read INSTALL.SSL.md.

To learn about some advanced features of the Open vSwitch software switch, read the tutorial/Tutorial.md.

Each Open vSwitch userspace program is accompanied by a manpage. Many of the manpages are customized to your configuration as part of the build process, so we recommend building Open vSwitch before reading the manpages.

Contact

bugs@openvswitch.org

Something went wrong with that request. Please try again.