]>
Commit | Line | Data |
---|---|---|
e3639cbd BP |
1 | Open vSwitch |
2 | ============ | |
d25e2f57 PK |
3 | |
4 | Build Status: | |
5 | ------------- | |
6 | ||
7 | [![Build Status](https://travis-ci.org/openvswitch/ovs.png)](https://travis-ci.org/openvswitch/ovs) | |
064af421 BP |
8 | |
9 | What is Open vSwitch? | |
10 | --------------------- | |
11 | ||
e5660bae KA |
12 | Open vSwitch is a multilayer software switch licensed under the open |
13 | source Apache 2 license. Our goal is to implement a production | |
14 | quality switch platform that supports standard management interfaces | |
c9d3af4e BP |
15 | and opens the forwarding functions to programmatic extension and |
16 | control. | |
e5660bae KA |
17 | |
18 | Open vSwitch is well suited to function as a virtual switch in VM | |
19 | environments. In addition to exposing standard control and visibility | |
20 | interfaces to the virtual networking layer, it was designed to support | |
21 | distribution across multiple physical servers. Open vSwitch supports | |
22 | multiple Linux-based virtualization technologies including | |
23 | Xen/XenServer, KVM, and VirtualBox. | |
24 | ||
25 | The bulk of the code is written in platform-independent C and is | |
26 | easily ported to other environments. The current release of Open | |
27 | vSwitch supports the following features: | |
28 | ||
d25e2f57 PK |
29 | * Standard 802.1Q VLAN model with trunk and access ports |
30 | * NIC bonding with or without LACP on upstream switch | |
31 | * NetFlow, sFlow(R), and mirroring for increased visibility | |
32 | * QoS (Quality of Service) configuration, plus policing | |
33 | * Geneve, GRE, GRE over IPSEC, VXLAN, and LISP tunneling | |
34 | * 802.1ag connectivity fault management | |
35 | * OpenFlow 1.0 plus numerous extensions | |
36 | * Transactional configuration database with C and Python bindings | |
37 | * High-performance forwarding using a Linux kernel module | |
064af421 | 38 | |
8063e095 | 39 | The included Linux kernel module supports Linux 3.10 and up. |
d377243b BP |
40 | |
41 | Open vSwitch can also operate, at a cost in performance, entirely in | |
42 | userspace, without assistance from a kernel module. This userspace | |
43 | implementation should be easier to port than the kernel-based switch. | |
44 | It is considered experimental. | |
4b11d5e8 | 45 | |
064af421 BP |
46 | What's here? |
47 | ------------ | |
48 | ||
4b11d5e8 BP |
49 | The main components of this distribution are: |
50 | ||
d25e2f57 PK |
51 | * ovs-vswitchd, a daemon that implements the switch, along with |
52 | a companion Linux kernel module for flow-based switching. | |
53 | * ovsdb-server, a lightweight database server that ovs-vswitchd | |
54 | queries to obtain its configuration. | |
55 | * ovs-dpctl, a tool for configuring the switch kernel module. | |
56 | * Scripts and specs for building RPMs for Citrix XenServer and Red | |
57 | Hat Enterprise Linux. The XenServer RPMs allow Open vSwitch to | |
58 | be installed on a Citrix XenServer host as a drop-in replacement | |
59 | for its switch, with additional functionality. | |
60 | * ovs-vsctl, a utility for querying and updating the configuration | |
61 | of ovs-vswitchd. | |
62 | * ovs-appctl, a utility that sends commands to running Open | |
3b135da3 | 63 | vSwitch daemons. |
064af421 | 64 | |
045b2e5c | 65 | Open vSwitch also provides some tools: |
064af421 | 66 | |
d25e2f57 PK |
67 | * ovs-ofctl, a utility for querying and controlling OpenFlow |
68 | switches and controllers. | |
69 | * ovs-pki, a utility for creating and managing the public-key | |
70 | infrastructure for OpenFlow switches. | |
71 | * ovs-testcontroller, a simple OpenFlow controller that may be useful | |
72 | for testing (though not for production). | |
73 | * A patch to tcpdump that enables it to parse OpenFlow messages. | |
064af421 | 74 | |
4b11d5e8 BP |
75 | What other documentation is available? |
76 | -------------------------------------- | |
064af421 | 77 | |
6494ea4c | 78 | To install Open vSwitch on a regular Linux or FreeBSD host, please |
9feb1017 | 79 | read [INSTALL.md]. For specifics around installation on a specific |
6494ea4c | 80 | platform, please see one of these files: |
064af421 | 81 | |
9feb1017 TG |
82 | - [INSTALL.Debian.md] |
83 | - [INSTALL.Fedora.md] | |
84 | - [INSTALL.RHEL.md] | |
85 | - [INSTALL.XenServer.md] | |
c483d489 | 86 | |
6494ea4c | 87 | To use Open vSwitch... |
5fca1acd | 88 | |
9feb1017 | 89 | - ...with Docker on Linux, read [INSTALL.Docker.md] |
ec8f0f0c | 90 | |
9feb1017 | 91 | - ...with KVM on Linux, read [INSTALL.md], read [INSTALL.KVM.md] |
064af421 | 92 | |
9feb1017 | 93 | - ...with Libvirt, read [INSTALL.Libvirt.md]. |
c434706a | 94 | |
9feb1017 | 95 | - ...without using a kernel module, read [INSTALL.userspace.md]. |
8a984481 | 96 | |
0c87efe4 MV |
97 | - ...with DPDK, read [INSTALL.DPDK.md]. |
98 | ||
9b897c91 AA |
99 | - ...with SELinux, read [INSTALL.SELinux.md]. |
100 | ||
9feb1017 | 101 | For answers to common questions, read [FAQ.md]. |
d377243b | 102 | |
9feb1017 | 103 | To learn how to set up SSL support for Open vSwitch, read [INSTALL.SSL.md]. |
064af421 | 104 | |
eeecce05 | 105 | To learn about some advanced features of the Open vSwitch software |
9feb1017 | 106 | switch, read the [tutorial/Tutorial.md]. |
eeecce05 | 107 | |
4b11d5e8 BP |
108 | Each Open vSwitch userspace program is accompanied by a manpage. Many |
109 | of the manpages are customized to your configuration as part of the | |
110 | build process, so we recommend building Open vSwitch before reading | |
111 | the manpages. | |
064af421 | 112 | |
d25e2f57 | 113 | Contact |
064af421 BP |
114 | ------- |
115 | ||
37ea6436 | 116 | bugs@openvswitch.org |
9feb1017 TG |
117 | |
118 | [INSTALL.md]:INSTALL.md | |
119 | [INSTALL.Debian.md]:INSTALL.Debian.md | |
120 | [INSTALL.Docker.md]:INSTALL.Docker.md | |
0c87efe4 | 121 | [INSTALL.DPDK.md]:INSTALL.DPDK.md |
9feb1017 TG |
122 | [INSTALL.Fedora.md]:INSTALL.Fedora.md |
123 | [INSTALL.KVM.md]:INSTALL.KVM.md | |
124 | [INSTALL.Libvirt.md]:INSTALL.Libvirt.md | |
125 | [INSTALL.RHEL.md]:INSTALL.RHEL.md | |
a6844f44 | 126 | [INSTALL.SELinux.md]:INSTALL.SELinux.md |
9feb1017 TG |
127 | [INSTALL.SSL.md]:INSTALL.SSL.md |
128 | [INSTALL.userspace.md]:INSTALL.userspace.md | |
129 | [INSTALL.XenServer.md]:INSTALL.XenServer.md | |
130 | [FAQ.md]:FAQ.md | |
131 | [tutorial/Tutorial.md]:tutorial/Tutorial.md |