What is Open vSwitch?
---------------------
-Open vSwitch is an Ethernet switch for virtual servers with the
-following features:
+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
+ * GRE, GRE over IPSEC, and CAPWAP tunneling
+ * 802.1ag connectivity fault management
+ * OpenFlow 1.0 plus numerous extensions
+ * Transactional configuration database with C and Python bindings
+ * Compatibility layer for Linux bridging code
+ * High-performance forwarding using a Linux kernel module
+
+The included Linux kernel module supports Linux 2.6.18 and up, with
+testing focused on 2.6.32 with Centos and Xen patches. Open vSwitch
+also has special support for Citrix XenServer and Red Hat Enterprise
+Linux hosts.
+
+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.
- * NIC bonding with automatic fail-over and source MAC-based TX
- load balancing ("SLB").
+What's here?
+------------
- * 802.1Q VLAN support.
+The main components of this distribution are:
- * Port mirroring, with optional VLAN tagging.
+ * ovs-vswitchd, a daemon that implements the switch, along with
+ a companion Linux kernel module for flow-based switching.
- * NetFlow v5 flow logging.
+ * ovsdb-server, a lightweight database server that ovs-vswitchd
+ queries to obtain its configuration.
- * Connectivity to an external OpenFlow controller, such as
- NOX.
+ * ovs-brcompatd, a daemon that allows ovs-vswitchd to act as a
+ drop-in replacement for the Linux bridge in many environments,
+ along with a companion Linux kernel module to intercept bridge
+ ioctls.
-What's here?
-------------
+ * 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.
-The most important components of this distribution are:
+ * ovs-appctl, a utility that sends commands to running Open
+ vSwitch daemons.
- - A Linux kernel module for flow-based switching, in the
- datapath directory.
+ * ovsdbmonitor, a GUI tool for remotely viewing OVS databases and
+ OpenFlow flow tables.
- - ovs-vswitchd, a daemon that implements the virtual switch.
+Open vSwitch also provides some tools:
- - ovs-dpctl, a tool for configuring the kernel module and
- controlling OpenFlow switches.
+ * ovs-controller, a simple OpenFlow controller.
-This distribution includes some additional software as well:
+ * ovs-ofctl, a utility for querying and controlling OpenFlow
+ switches and controllers.
- - secchan, a program that implements a simple OpenFlow switch
- (without the special features provided by ovs-vswitchd) using
- the same kernel module as ovs-vswitchd.
+ * ovs-pki, a utility for creating and managing the public-key
+ infrastructure for OpenFlow switches.
- - ovs-controller, a simple OpenFlow switch
+ * A patch to tcpdump that enables it to parse OpenFlow messages.
- - ovs-ofctl, a utility for querying and controlling OpenFlow
- switches and controllers.
+What other documentation is available?
+--------------------------------------
- - vlog-appctl, a utility that can control Open vSwitch daemons,
- adjusting their logging levels among other uses.
+To install Open vSwitch on a regular Linux machine, read INSTALL.Linux.
- - ovs-pki, a utility for creating and managing the public-key
- infrastructure for OpenFlow switches.
+To use Open vSwitch as a drop-in replacement for the Linux bridge,
+read INSTALL.bridge.
- - A patch to tcpdump that enables it to parse OpenFlow
- messages.
+To build RPMs for installing Open vSwitch on a Citrix XenServer host
+or resource pool, read INSTALL.XenServer.
-For installation instructions, read INSTALL. Each userspace program
-is also accompanied by a manpage.
+To build RPMs for installing Open vSwitch on a Red Hat Enterprise
+Linux host, read INSTALL.RHEL.
-Platform support
-----------------
+To use Open vSwitch with KVM on Linux, read INSTALL.Linux, then
+INSTALL.KVM.
-Our primary test environment is Debian GNU/Linux. Ports to other
-platforms are welcome. Please contact us with portability-related bug
-reports or patches.
+To install Open vSwitch without using a kernel module, read
+INSTALL.userspace.
-The testing of the kernel module has focused on version 2.6.18 from
-Xen and version 2.6.26 from kernel.org. Linux 2.6 releases from
-2.6.15 onward should also work.
+To learn how to set up SSL support for Open vSwitch, read INSTALL.SSL.
-GCC is the expected compiler.
+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
-------
-ovs-bugs@openvswitch.org
+bugs@openvswitch.org
http://openvswitch.org/