What is Open vSwitch?
---------------------
-Open vSwitch is a versatile software-based Ethernet switch with the
-following features:
-
- * NIC bonding with automatic fail-over and source MAC-based TX
- load balancing ("SLB").
-
- * 802.1Q VLAN support.
-
- * Port mirroring, with optional VLAN tagging.
-
- * NetFlow v5 flow logging.
-
- * Connectivity to an external OpenFlow controller, such as NOX.
-
-Open vSwitch supports Linux 2.6.15 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 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), SPAN, RSPAN, and ERSPAN 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.
What's here?
------------
* 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-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
* 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.
+ * 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.
- * vlog-appctl, a utility that can control Open vSwitch daemons,
- adjusting their logging levels among other uses.
+ * ovs-appctl, a utility that sends commands to running Open
+ vSwitch daemons.
-Open vSwitch also provides an OpenFlow implementation and tools for
-those interested in OpenFlow but not additional Open vSwitch features:
+ * ovsdbmonitor, a GUI tool for remotely viewing OVS databases and
+ OpenFlow flow tables.
- * 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.
+Open vSwitch also provides some tools:
* ovs-controller, a simple OpenFlow controller.
To install Open vSwitch on a regular Linux machine, read INSTALL.Linux.
+To use Open vSwitch as a drop-in replacement for the Linux bridge,
+read INSTALL.bridge.
+
To build RPMs for installing Open vSwitch on a Citrix XenServer host
or resource pool, read INSTALL.XenServer.
-To learn set up SSL support for Open vSwitch, read INSTALL.SSL.
+To build RPMs for installing Open vSwitch on a Red Hat Enterprise
+Linux host, read INSTALL.RHEL.
+
+To use Open vSwitch with KVM on Linux, read INSTALL.Linux, then
+INSTALL.KVM.
+
+To install Open vSwitch without using a kernel module, read
+INSTALL.userspace.
+
+To learn how to set up SSL support for Open vSwitch, read INSTALL.SSL.
Each Open vSwitch userspace program is accompanied by a manpage. Many
of the manpages are customized to your configuration as part of the