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
+(e.g. NetFlow, sFlow(R), RSPAN, ERSPAN, IOS-like CLI), 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:
+
+ * Visibility into inter-VM communication via NetFlow, sFlow, SPAN,
+ and RSPAN
+ * Standard 802.1Q VLAN model with trunking
+ * Per VM policing
+ * NIC bonding with source-MAC load balancing
+ * Kernel-based forwarding
+ * Support for OpenFlow
+ * Compatibility layer for the Linux bridging code
+
+The included Linux kernel module supports Linux 2.6.18 and up, with
+testing focused on 2.6.18 with Centos and Xen patches and version
+2.6.26 from kernel.org. Open vSwitch also has special support for
+Citrix XenServer 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 that 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 an OpenFlow implementation and tools for
+those interested in OpenFlow but not additional Open vSwitch features:
- - ovs-dpctl, a tool for configuring the kernel module and
- controlling OpenFlow switches.
+ * ovs-openflowd, an alternative to ovs-vswitchd that implements a
+ simple OpenFlow switch, without the special features provided by
+ ovs-vswitchd.
-This distribution includes some additional software as well:
+ * ovs-controller, a simple OpenFlow controller.
- - 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-ofctl, a utility for querying and controlling OpenFlow
+ switches and controllers.
- - ovs-controller, a simple OpenFlow switch
+ * ovs-pki, a utility for creating and managing the public-key
+ infrastructure for OpenFlow switches.
- - ovs-ofctl, a utility for querying and controlling OpenFlow
- switches and controllers.
+ * A patch to tcpdump that enables it to parse OpenFlow messages.
- - vlog-appctl, a utility that can control Open vSwitch daemons,
- adjusting their logging levels among other uses.
+What other documentation is available?
+--------------------------------------
- - ovs-pki, a utility for creating and managing the public-key
- infrastructure for OpenFlow switches.
+To install Open vSwitch on a regular Linux machine, read INSTALL.Linux.
- - A patch to tcpdump that enables it to parse OpenFlow
- messages.
+To use Open vSwitch as a drop-in replacement for the Linux bridge,
+read INSTALL.bridge.
-For installation instructions, read INSTALL. Each userspace program
-is also accompanied by a manpage.
+To build RPMs for installing Open vSwitch on a Citrix XenServer host
+or resource pool, read INSTALL.XenServer.
-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/