1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
|
..
Licensed under the Apache License, Version 2.0 (the "License"); you may
not use this file except in compliance with the License. You may obtain
a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations
under the License.
Convention for heading levels in Open vSwitch documentation:
======= Heading 0 (reserved for the title in a document)
------- Heading 1
~~~~~~~ Heading 2
+++++++ Heading 3
''''''' Heading 4
Avoid deeper levels because they do not render well.
=======
General
=======
Q: What is Open vSwitch?
A: Open vSwitch is a production quality open source software switch
designed to be used as a vswitch in virtualized server environments. A
vswitch forwards traffic between different VMs on the same physical host
and also forwards traffic between VMs and the physical network. Open
vSwitch supports standard management interfaces (e.g. sFlow, NetFlow,
IPFIX, RSPAN, CLI), and is open to programmatic extension and control using
OpenFlow and the OVSDB management protocol.
Open vSwitch as designed to be compatible with modern switching chipsets.
This means that it can be ported to existing high-fanout switches allowing
the same flexible control of the physical infrastructure as the virtual
infrastructure. It also means that Open vSwitch will be able to take
advantage of on-NIC switching chipsets as their functionality matures.
Q: What virtualization platforms can use Open vSwitch?
A: Open vSwitch can currently run on any Linux-based virtualization
platform (kernel 3.10 and newer), including: KVM and VirtualBox.
As of Linux 3.3 it is part of the mainline kernel. The bulk of the
code is written in platform- independent C and is easily ported to
other environments. We welcome inquires about integrating Open
vSwitch with other virtualization platforms.
Q: How can I try Open vSwitch?
A: The Open vSwitch source code can be built on a Linux system. You can
build and experiment with Open vSwitch on any Linux machine. Packages for
various Linux distributions are available on many platforms, including:
Debian, Ubuntu, Fedora.
You may also download and run a virtualization platform that already has
Open vSwitch integrated. Be aware that the version integrated with a
particular platform may not be the most recent Open vSwitch release.
Q: Does Open vSwitch only work on Linux?
A: No, Open vSwitch has been ported to a number of different operating
systems and hardware platforms. Most of the development work occurs on
Linux, but the code should be portable to any POSIX system. We've seen
Open vSwitch ported to a number of different platforms, including FreeBSD,
Windows, and even non-POSIX embedded systems.
By definition, the Open vSwitch Linux kernel module only works on Linux and
will provide the highest performance. However, a userspace datapath is
available that should be very portable.
Q: What's involved with porting Open vSwitch to a new platform or switching ASIC?
A: :doc:`/topics/porting` describes how one would go about porting Open
vSwitch to a new operating system or hardware platform.
Q: Why would I use Open vSwitch instead of the Linux bridge?
A: Open vSwitch is specially designed to make it easier to manage VM
network configuration and monitor state spread across many physical hosts
in dynamic virtualized environments. Refer to :doc:`/intro/why-ovs` for a
more detailed description of how Open vSwitch relates to the Linux Bridge.
Q: How is Open vSwitch related to distributed virtual switches like the VMware
vNetwork distributed switch or the Cisco Nexus 1000V?
A: Distributed vswitch applications (e.g., VMware vNetwork distributed
switch, Cisco Nexus 1000V) provide a centralized way to configure and
monitor the network state of VMs that are spread across many physical
hosts. Open vSwitch is not a distributed vswitch itself, rather it runs on
each physical host and supports remote management in a way that makes it
easier for developers of virtualization/cloud management platforms to offer
distributed vswitch capabilities.
To aid in distribution, Open vSwitch provides two open protocols that are
specially designed for remote management in virtualized network
environments: OpenFlow, which exposes flow-based forwarding state, and the
OVSDB management protocol, which exposes switch port state. In addition to
the switch implementation itself, Open vSwitch includes tools (ovs-ofctl,
ovs-vsctl) that developers can script and extend to provide distributed
vswitch capabilities that are closely integrated with their virtualization
management platform.
Q: Why doesn't Open vSwitch support distribution?
A: Open vSwitch is intended to be a useful component for building flexible
network infrastructure. There are many different approaches to distribution
which balance trade-offs between simplicity, scalability, hardware
compatibility, convergence times, logical forwarding model, etc. The goal
of Open vSwitch is to be able to support all as a primitive building block
rather than choose a particular point in the distributed design space.
Q: How can I contribute to the Open vSwitch Community?
A: You can start by joining the mailing lists and helping to answer
questions. You can also suggest improvements to documentation. If you
have a feature or bug you would like to work on, send a mail to one of the
:doc:`mailing lists </internals/mailing-lists>`.
Q: Why can I no longer connect to my OpenFlow controller or OVSDB manager?
A: Starting in OVS 2.4, we switched the default ports to the IANA-specified
port numbers for OpenFlow (6633->6653) and OVSDB (6632->6640). We
recommend using these port numbers, but if you cannot, all the programs
allow overriding the default port. See the appropriate man page.
|