]>
Commit | Line | Data |
---|---|---|
064af421 BP |
1 | Open vSwitch <http://openvswitch.org> |
2 | ||
3 | What is Open vSwitch? | |
4 | --------------------- | |
5 | ||
e5660bae KA |
6 | Open vSwitch is a multilayer software switch licensed under the open |
7 | source Apache 2 license. Our goal is to implement a production | |
8 | quality switch platform that supports standard management interfaces | |
c9d3af4e BP |
9 | and opens the forwarding functions to programmatic extension and |
10 | control. | |
e5660bae KA |
11 | |
12 | Open vSwitch is well suited to function as a virtual switch in VM | |
13 | environments. In addition to exposing standard control and visibility | |
14 | interfaces to the virtual networking layer, it was designed to support | |
15 | distribution across multiple physical servers. Open vSwitch supports | |
16 | multiple Linux-based virtualization technologies including | |
17 | Xen/XenServer, KVM, and VirtualBox. | |
18 | ||
19 | The bulk of the code is written in platform-independent C and is | |
20 | easily ported to other environments. The current release of Open | |
21 | vSwitch supports the following features: | |
22 | ||
c9d3af4e BP |
23 | * Standard 802.1Q VLAN model with trunk and access ports |
24 | * NIC bonding with or without LACP on upstream switch | |
9ae7ddc0 | 25 | * NetFlow, sFlow(R), and mirroring for increased visibility |
c9d3af4e BP |
26 | * QoS (Quality of Service) configuration, plus policing |
27 | * GRE, GRE over IPSEC, and CAPWAP tunneling | |
28 | * 802.1ag connectivity fault management | |
29 | * OpenFlow 1.0 plus numerous extensions | |
30 | * Transactional configuration database with C and Python bindings | |
31 | * Compatibility layer for Linux bridging code | |
32 | * High-performance forwarding using a Linux kernel module | |
064af421 | 33 | |
9884eaad | 34 | The included Linux kernel module supports Linux 2.6.18 and up, with |
c9d3af4e | 35 | testing focused on 2.6.32 with Centos and Xen patches. Open vSwitch |
c434706a BP |
36 | also has special support for Citrix XenServer and Red Hat Enterprise |
37 | Linux hosts. | |
d377243b BP |
38 | |
39 | Open vSwitch can also operate, at a cost in performance, entirely in | |
40 | userspace, without assistance from a kernel module. This userspace | |
41 | implementation should be easier to port than the kernel-based switch. | |
42 | It is considered experimental. | |
4b11d5e8 | 43 | |
064af421 BP |
44 | What's here? |
45 | ------------ | |
46 | ||
4b11d5e8 BP |
47 | The main components of this distribution are: |
48 | ||
f30f26be JP |
49 | * ovs-vswitchd, a daemon that implements the switch, along with |
50 | a companion Linux kernel module for flow-based switching. | |
064af421 | 51 | |
3b12adda BP |
52 | * ovsdb-server, a lightweight database server that ovs-vswitchd |
53 | queries to obtain its configuration. | |
54 | ||
f30f26be JP |
55 | * ovs-brcompatd, a daemon that allows ovs-vswitchd to act as a |
56 | drop-in replacement for the Linux bridge in many environments, | |
57 | along with a companion Linux kernel module to intercept bridge | |
58 | ioctls. | |
064af421 | 59 | |
f30f26be | 60 | * ovs-dpctl, a tool for configuring the switch kernel module. |
064af421 | 61 | |
c434706a BP |
62 | * Scripts and specs for building RPMs for Citrix XenServer and Red |
63 | Hat Enterprise Linux. The XenServer RPMs allow Open vSwitch to | |
64 | be installed on a Citrix XenServer host as a drop-in replacement | |
65 | for its switch, with additional functionality. | |
4b11d5e8 | 66 | |
3b135da3 BP |
67 | * ovs-vsctl, a utility for querying and updating the configuration |
68 | of ovs-vswitchd. | |
69 | ||
70 | * ovs-appctl, a utility that sends commands to running Open | |
71 | vSwitch daemons. | |
064af421 | 72 | |
436f27dd AS |
73 | * ovsdbmonitor, a GUI tool for remotely viewing OVS databases and |
74 | OpenFlow flow tables. | |
75 | ||
045b2e5c | 76 | Open vSwitch also provides some tools: |
064af421 | 77 | |
f30f26be | 78 | * ovs-controller, a simple OpenFlow controller. |
064af421 | 79 | |
f30f26be JP |
80 | * ovs-ofctl, a utility for querying and controlling OpenFlow |
81 | switches and controllers. | |
064af421 | 82 | |
f30f26be JP |
83 | * ovs-pki, a utility for creating and managing the public-key |
84 | infrastructure for OpenFlow switches. | |
064af421 | 85 | |
f30f26be | 86 | * A patch to tcpdump that enables it to parse OpenFlow messages. |
064af421 | 87 | |
4b11d5e8 BP |
88 | What other documentation is available? |
89 | -------------------------------------- | |
064af421 | 90 | |
f6eb6b20 | 91 | To install Open vSwitch on a regular Linux machine, read INSTALL. |
064af421 | 92 | |
c483d489 BP |
93 | For answers to common questions, read FAQ. |
94 | ||
5fca1acd BP |
95 | To use Open vSwitch as a drop-in replacement for the Linux bridge, |
96 | read INSTALL.bridge. | |
97 | ||
4b11d5e8 BP |
98 | To build RPMs for installing Open vSwitch on a Citrix XenServer host |
99 | or resource pool, read INSTALL.XenServer. | |
064af421 | 100 | |
c434706a BP |
101 | To build RPMs for installing Open vSwitch on a Red Hat Enterprise |
102 | Linux host, read INSTALL.RHEL. | |
103 | ||
f6eb6b20 | 104 | To use Open vSwitch with KVM on Linux, read INSTALL, then |
6cdd6a87 TD |
105 | INSTALL.KVM. |
106 | ||
8a984481 AA |
107 | To use Open vSwitch with Libvirt, read INSTALL.Libvirt. |
108 | ||
d377243b BP |
109 | To install Open vSwitch without using a kernel module, read |
110 | INSTALL.userspace. | |
111 | ||
15b619e2 | 112 | To learn how to set up SSL support for Open vSwitch, read INSTALL.SSL. |
064af421 | 113 | |
4b11d5e8 BP |
114 | Each Open vSwitch userspace program is accompanied by a manpage. Many |
115 | of the manpages are customized to your configuration as part of the | |
116 | build process, so we recommend building Open vSwitch before reading | |
117 | the manpages. | |
064af421 BP |
118 | |
119 | Contact | |
120 | ------- | |
121 | ||
37ea6436 | 122 | bugs@openvswitch.org |
064af421 | 123 | http://openvswitch.org/ |