]> git.proxmox.com Git - mirror_ovs.git/blame_incremental - README.md
tests: Change ADD_OF_PORTS from macro to shell function.
[mirror_ovs.git] / README.md
... / ...
CommitLineData
1Open vSwitch
2============
3
4Build Status:
5-------------
6
7[![Build Status](https://travis-ci.org/openvswitch/ovs.png)](https://travis-ci.org/openvswitch/ovs)
8
9What is Open vSwitch?
10---------------------
11
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
15and opens the forwarding functions to programmatic extension and
16control.
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
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
38
39The included Linux kernel module supports Linux 2.6.32 and up, with
40testing focused on 2.6.32 with Centos and Xen patches. Open vSwitch
41also has special support for Citrix XenServer and Red Hat Enterprise
42Linux hosts.
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.
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
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
66 vSwitch daemons.
67
68Open vSwitch also provides some tools:
69
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.
77
78What other documentation is available?
79--------------------------------------
80
81To install Open vSwitch on a regular Linux or FreeBSD host, please
82read [INSTALL.md]. For specifics around installation on a specific
83platform, please see one of these files:
84
85- [INSTALL.Debian.md]
86- [INSTALL.Fedora.md]
87- [INSTALL.RHEL.md]
88- [INSTALL.XenServer.md]
89
90To use Open vSwitch...
91
92- ...with Docker on Linux, read [INSTALL.Docker.md]
93
94- ...with KVM on Linux, read [INSTALL.md], read [INSTALL.KVM.md]
95
96- ...with Libvirt, read [INSTALL.Libvirt.md].
97
98- ...without using a kernel module, read [INSTALL.userspace.md].
99
100For answers to common questions, read [FAQ.md].
101
102To learn how to set up SSL support for Open vSwitch, read [INSTALL.SSL.md].
103
104To learn about some advanced features of the Open vSwitch software
105switch, read the [tutorial/Tutorial.md].
106
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.
111
112Contact
113-------
114
115bugs@openvswitch.org
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