]> git.proxmox.com Git - mirror_ovs.git/blame - README.rst
doc: Add info on vhost tx retries.
[mirror_ovs.git] / README.rst
CommitLineData
cb82799b
IM
1.. NOTE(stephenfin): If making changes to this file, ensure that the
2 start-after/end-before lines found in 'Documentation/intro/what-is-ovs'
3 are kept up-to-date.
2eaf6a08 4
b1fe1c94
SF
5============
6Open vSwitch
7============
8
b1fe1c94
SF
9.. image:: https://travis-ci.org/openvswitch/ovs.png
10 :target: https://travis-ci.org/openvswitch/ovs
a7dc063b
AGS
11.. image:: https://ci.appveyor.com/api/projects/status/github/openvswitch/ovs?branch=master&svg=true&retina=true
12 :target: https://ci.appveyor.com/project/blp/ovs/history
f5ff25f5
IM
13.. image:: https://api.cirrus-ci.com/github/openvswitch/ovs.svg
14 :target: https://cirrus-ci.com/github/openvswitch/ovs
b1fe1c94
SF
15
16What is Open vSwitch?
17---------------------
18
19Open vSwitch is a multilayer software switch licensed under the open source
20Apache 2 license. Our goal is to implement a production quality switch
21platform that supports standard management interfaces and opens the forwarding
22functions to programmatic extension and control.
23
24Open vSwitch is well suited to function as a virtual switch in VM environments.
25In addition to exposing standard control and visibility interfaces to the
26virtual networking layer, it was designed to support distribution across
27multiple physical servers. Open vSwitch supports multiple Linux-based
28virtualization technologies including Xen/XenServer, KVM, and VirtualBox.
29
30The bulk of the code is written in platform-independent C and is easily ported
31to other environments. The current release of Open vSwitch supports the
32following features:
33
34- Standard 802.1Q VLAN model with trunk and access ports
35- NIC bonding with or without LACP on upstream switch
36- NetFlow, sFlow(R), and mirroring for increased visibility
37- QoS (Quality of Service) configuration, plus policing
38- Geneve, GRE, VXLAN, STT, and LISP tunneling
39- 802.1ag connectivity fault management
40- OpenFlow 1.0 plus numerous extensions
41- Transactional configuration database with C and Python bindings
42- High-performance forwarding using a Linux kernel module
43
44The included Linux kernel module supports Linux 3.10 and up.
45
602e24ee
IS
46Open vSwitch can also operate entirely in userspace without assistance from
47a kernel module. This userspace implementation should be easier to port than
48the kernel-based switch. OVS in userspace can access Linux or DPDK devices.
389e90e3
IS
49Note Open vSwitch with userspace datapath and non DPDK devices is considered
50experimental and comes with a cost in performance.
b1fe1c94
SF
51
52What's here?
53------------
54
55The main components of this distribution are:
56
57- ovs-vswitchd, a daemon that implements the switch, along with a companion
58 Linux kernel module for flow-based switching.
59- ovsdb-server, a lightweight database server that ovs-vswitchd queries to
60 obtain its configuration.
61- ovs-dpctl, a tool for configuring the switch kernel module.
62- Scripts and specs for building RPMs for Citrix XenServer and Red Hat
63 Enterprise Linux. The XenServer RPMs allow Open vSwitch to be installed on a
64 Citrix XenServer host as a drop-in replacement for its switch, with
65 additional functionality.
66- ovs-vsctl, a utility for querying and updating the configuration of
67 ovs-vswitchd.
68- ovs-appctl, a utility that sends commands to running Open vSwitch daemons.
69
70Open vSwitch also provides some tools:
71
72- ovs-ofctl, a utility for querying and controlling OpenFlow switches and
73 controllers.
74- ovs-pki, a utility for creating and managing the public-key infrastructure
75 for OpenFlow switches.
76- ovs-testcontroller, a simple OpenFlow controller that may be useful for
77 testing (though not for production).
78- A patch to tcpdump that enables it to parse OpenFlow messages.
79
80What other documentation is available?
81--------------------------------------
82
795752a3
SF
83.. TODO(stephenfin): Update with a link to the hosting site of the docs, once
84 we know where that is
b1fe1c94 85
795752a3
SF
86To install Open vSwitch on a regular Linux or FreeBSD host, please read the
87`installation guide <Documentation/intro/install/general.rst>`__. For specifics
88around installation on a specific platform, refer to one of the `other
89installation guides <Documentation/intro/install/index.rst>`__
b1fe1c94 90
11e02906 91For answers to common questions, refer to the `FAQ <Documentation/faq>`__.
b1fe1c94 92
b1fe1c94 93To learn about some advanced features of the Open vSwitch software switch, read
e12569bb 94the `tutorial <Documentation/tutorials/ovs-advanced.rst>`__.
b1fe1c94
SF
95
96Each Open vSwitch userspace program is accompanied by a manpage. Many of the
97manpages are customized to your configuration as part of the build process, so
98we recommend building Open vSwitch before reading the manpages.
99
888cf44d
AK
100License
101-------
102
103The following is a summary of the licensing of files in this distribution.
104As mentioned, Open vSwitch is licensed under the open source Apache 2 license.
105Some files may be marked specifically with a different license, in which case
106that license applies to the file in question.
107
108
109Files under the datapath directory are licensed under the GNU General Public
110License, version 2.
111
112File build-aux/cccl is licensed under the GNU General Public License, version 2.
113
114The following files are licensed under the 2-clause BSD license.
115 include/windows/getopt.h
116 lib/getopt_long.c
117 lib/conntrack-tcp.c
118
119The following files are licensed under the 3-clause BSD-license
120 include/windows/netinet/icmp6.h
121 include/windows/netinet/ip6.h
122 lib/strsep.c
123
124Files under the xenserver directory are licensed on a file-by-file basis.
125Refer to each file for details.
126
127Files lib/sflow*.[ch] are licensed under the terms of either the
128Sun Industry Standards Source License 1.1, that is available at:
129 http://host-sflow.sourceforge.net/sissl.html
130or the InMon sFlow License, that is available at:
131 http://www.inmon.com/technology/sflowlicense.txt
132
b1fe1c94
SF
133Contact
134-------
135
136bugs@openvswitch.org