]> git.proxmox.com Git - ovs.git/blame - README.md
netdev-dpdk: Change phy rx burst size.
[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
37418c86 39The included Linux kernel module supports Linux 2.6.32 and up, with
c9d3af4e 40testing focused on 2.6.32 with Centos and Xen patches. Open vSwitch
c434706a
BP
41also has special support for Citrix XenServer and Red Hat Enterprise
42Linux hosts.
d377243b
BP
43
44Open vSwitch can also operate, at a cost in performance, entirely in
45userspace, without assistance from a kernel module. This userspace
46implementation should be easier to port than the kernel-based switch.
47It is considered experimental.
4b11d5e8 48
064af421
BP
49What's here?
50------------
51
4b11d5e8
BP
52The main components of this distribution are:
53
d25e2f57
PK
54* ovs-vswitchd, a daemon that implements the switch, along with
55 a companion Linux kernel module for flow-based switching.
56* ovsdb-server, a lightweight database server that ovs-vswitchd
57 queries to 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
60 Hat Enterprise Linux. The XenServer RPMs allow Open vSwitch to
61 be installed on a Citrix XenServer host as a drop-in replacement
62 for its switch, with additional functionality.
63* ovs-vsctl, a utility for querying and updating the configuration
64 of ovs-vswitchd.
65* ovs-appctl, a utility that sends commands to running Open
3b135da3 66 vSwitch daemons.
064af421 67
045b2e5c 68Open vSwitch also provides some tools:
064af421 69
d25e2f57
PK
70* ovs-ofctl, a utility for querying and controlling OpenFlow
71 switches and controllers.
72* ovs-pki, a utility for creating and managing the public-key
73 infrastructure for OpenFlow switches.
74* ovs-testcontroller, a simple OpenFlow controller that may be useful
75 for testing (though not for production).
76* A patch to tcpdump that enables it to parse OpenFlow messages.
064af421 77
4b11d5e8
BP
78What other documentation is available?
79--------------------------------------
064af421 80
6494ea4c 81To install Open vSwitch on a regular Linux or FreeBSD host, please
9feb1017 82read [INSTALL.md]. For specifics around installation on a specific
6494ea4c 83platform, please see one of these files:
064af421 84
9feb1017
TG
85- [INSTALL.Debian.md]
86- [INSTALL.Fedora.md]
87- [INSTALL.RHEL.md]
88- [INSTALL.XenServer.md]
c483d489 89
6494ea4c 90To use Open vSwitch...
5fca1acd 91
9feb1017 92- ...with Docker on Linux, read [INSTALL.Docker.md]
ec8f0f0c 93
9feb1017 94- ...with KVM on Linux, read [INSTALL.md], read [INSTALL.KVM.md]
064af421 95
9feb1017 96- ...with Libvirt, read [INSTALL.Libvirt.md].
c434706a 97
9feb1017 98- ...without using a kernel module, read [INSTALL.userspace.md].
8a984481 99
9feb1017 100For answers to common questions, read [FAQ.md].
d377243b 101
9feb1017 102To learn how to set up SSL support for Open vSwitch, read [INSTALL.SSL.md].
064af421 103
eeecce05 104To learn about some advanced features of the Open vSwitch software
9feb1017 105switch, read the [tutorial/Tutorial.md].
eeecce05 106
4b11d5e8
BP
107Each Open vSwitch userspace program is accompanied by a manpage. Many
108of the manpages are customized to your configuration as part of the
109build process, so we recommend building Open vSwitch before reading
110the manpages.
064af421 111
d25e2f57 112Contact
064af421
BP
113-------
114
37ea6436 115bugs@openvswitch.org
9feb1017
TG
116
117[INSTALL.md]:INSTALL.md
118[INSTALL.Debian.md]:INSTALL.Debian.md
119[INSTALL.Docker.md]:INSTALL.Docker.md
120[INSTALL.Fedora.md]:INSTALL.Fedora.md
121[INSTALL.KVM.md]:INSTALL.KVM.md
122[INSTALL.Libvirt.md]:INSTALL.Libvirt.md
123[INSTALL.RHEL.md]:INSTALL.RHEL.md
124[INSTALL.SSL.md]:INSTALL.SSL.md
125[INSTALL.userspace.md]:INSTALL.userspace.md
126[INSTALL.XenServer.md]:INSTALL.XenServer.md
127[FAQ.md]:FAQ.md
128[tutorial/Tutorial.md]:tutorial/Tutorial.md