]> git.proxmox.com Git - ovs.git/blame - README.md
Fix copyright statements from commit f1ab6e06
[ovs.git] / README.md
CommitLineData
e3639cbd
BP
1Open vSwitch
2============
d25e2f57
PK
3
4Build Status:
5-------------
6
7[![Build Status](https://travis-ci.org/openvswitch/ovs.png)](https://travis-ci.org/openvswitch/ovs)
064af421
BP
8
9What is Open vSwitch?
10---------------------
11
e5660bae
KA
12Open vSwitch is a multilayer software switch licensed under the open
13source Apache 2 license. Our goal is to implement a production
14quality switch platform that supports standard management interfaces
c9d3af4e
BP
15and opens the forwarding functions to programmatic extension and
16control.
e5660bae
KA
17
18Open vSwitch is well suited to function as a virtual switch in VM
19environments. In addition to exposing standard control and visibility
20interfaces to the virtual networking layer, it was designed to support
21distribution across multiple physical servers. Open vSwitch supports
22multiple Linux-based virtualization technologies including
23Xen/XenServer, KVM, and VirtualBox.
24
25The bulk of the code is written in platform-independent C and is
26easily ported to other environments. The current release of Open
27vSwitch 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 39The included Linux kernel module supports Linux 3.10 and up.
d377243b
BP
40
41Open vSwitch can also operate, at a cost in performance, entirely in
42userspace, without assistance from a kernel module. This userspace
43implementation should be easier to port than the kernel-based switch.
44It is considered experimental.
4b11d5e8 45
064af421
BP
46What's here?
47------------
48
4b11d5e8
BP
49The 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 65Open 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
75What other documentation is available?
76--------------------------------------
064af421 77
6494ea4c 78To install Open vSwitch on a regular Linux or FreeBSD host, please
9feb1017 79read [INSTALL.md]. For specifics around installation on a specific
6494ea4c 80platform, 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 87To 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 101For answers to common questions, read [FAQ.md].
d377243b 102
9feb1017 103To learn how to set up SSL support for Open vSwitch, read [INSTALL.SSL.md].
064af421 104
eeecce05 105To learn about some advanced features of the Open vSwitch software
9feb1017 106switch, read the [tutorial/Tutorial.md].
eeecce05 107
4b11d5e8
BP
108Each Open vSwitch userspace program is accompanied by a manpage. Many
109of the manpages are customized to your configuration as part of the
110build process, so we recommend building Open vSwitch before reading
111the manpages.
064af421 112
d25e2f57 113Contact
064af421
BP
114-------
115
37ea6436 116bugs@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