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