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