]> git.proxmox.com Git - ovs.git/blob - Documentation/faq/releases.rst
59252fa0fa5fbf52d9eb2b87004d57776aa2009b
[ovs.git] / Documentation / faq / releases.rst
1 ..
2 Licensed under the Apache License, Version 2.0 (the "License"); you may
3 not use this file except in compliance with the License. You may obtain
4 a copy of the License at
5
6 http://www.apache.org/licenses/LICENSE-2.0
7
8 Unless required by applicable law or agreed to in writing, software
9 distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
10 WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
11 License for the specific language governing permissions and limitations
12 under the License.
13
14 Convention for heading levels in Open vSwitch documentation:
15
16 ======= Heading 0 (reserved for the title in a document)
17 ------- Heading 1
18 ~~~~~~~ Heading 2
19 +++++++ Heading 3
20 ''''''' Heading 4
21
22 Avoid deeper levels because they do not render well.
23
24 ========
25 Releases
26 ========
27
28 Q: What does it mean for an Open vSwitch release to be LTS (long-term support)?
29
30 A: All official releases have been through a comprehensive testing process
31 and are suitable for production use. Planned releases occur twice a year.
32 If a significant bug is identified in an LTS release, we will provide an
33 updated release that includes the fix. Releases that are not LTS may not
34 be fixed and may just be supplanted by the next major release. The current
35 LTS release is 2.5.x.
36
37 For more information on the Open vSwitch release process, refer to
38 :doc:`/internals/release-process`.
39
40 Q: What Linux kernel versions does each Open vSwitch release work with?
41
42 A: The following table lists the Linux kernel versions against which the
43 given versions of the Open vSwitch kernel module will successfully build.
44 The Linux kernel versions are upstream kernel versions, so Linux kernels
45 modified from the upstream sources may not build in some cases even if they
46 are based on a supported version. This is most notably true of Red Hat
47 Enterprise Linux (RHEL) kernels, which are extensively modified from
48 upstream.
49
50 ============ ==============
51 Open vSwitch Linux kernel
52 ============ ==============
53 1.4.x 2.6.18 to 3.2
54 1.5.x 2.6.18 to 3.2
55 1.6.x 2.6.18 to 3.2
56 1.7.x 2.6.18 to 3.3
57 1.8.x 2.6.18 to 3.4
58 1.9.x 2.6.18 to 3.8
59 1.10.x 2.6.18 to 3.8
60 1.11.x 2.6.18 to 3.8
61 2.0.x 2.6.32 to 3.10
62 2.1.x 2.6.32 to 3.11
63 2.3.x 2.6.32 to 3.14
64 2.4.x 2.6.32 to 4.0
65 2.5.x 2.6.32 to 4.3
66 2.6.x 3.10 to 4.7
67 2.7.x 3.10 to 4.9
68 2.8.x 3.10 to 4.12
69 2.9.x 3.10 to 4.15
70 ============ ==============
71
72 Open vSwitch userspace should also work with the Linux kernel module built
73 into Linux 3.3 and later.
74
75 Open vSwitch userspace is not sensitive to the Linux kernel version. It
76 should build against almost any kernel, certainly against 2.6.32 and later.
77
78 Q: Are all features available with all datapaths?
79
80 A: Open vSwitch supports different datapaths on different platforms. Each
81 datapath has a different feature set: the following tables try to summarize
82 the status.
83
84 Supported datapaths:
85
86 Linux upstream
87 The datapath implemented by the kernel module shipped with Linux
88 upstream. Since features have been gradually introduced into the kernel,
89 the table mentions the first Linux release whose OVS module supports the
90 feature.
91
92 Linux OVS tree
93 The datapath implemented by the Linux kernel module distributed with the
94 OVS source tree.
95
96 Userspace
97 Also known as DPDK, dpif-netdev or dummy datapath. It is the only
98 datapath that works on NetBSD, FreeBSD and Mac OSX.
99
100 Hyper-V
101 Also known as the Windows datapath.
102
103 The following table lists the datapath supported features from an Open
104 vSwitch user's perspective.
105
106 ===================== ============== ============== ========= =======
107 Feature Linux upstream Linux OVS tree Userspace Hyper-V
108 ===================== ============== ============== ========= =======
109 NAT 4.6 YES Yes NO
110 Connection tracking 4.3 YES PARTIAL PARTIAL
111 Tunnel - LISP NO YES NO NO
112 Tunnel - STT NO YES NO YES
113 Tunnel - GRE 3.11 YES YES YES
114 Tunnel - VXLAN 3.12 YES YES YES
115 Tunnel - Geneve 3.18 YES YES YES
116 Tunnel - GRE-IPv6 NO NO YES NO
117 Tunnel - VXLAN-IPv6 4.3 YES YES NO
118 Tunnel - Geneve-IPv6 4.4 YES YES NO
119 QoS - Policing YES YES YES NO
120 QoS - Shaping YES YES NO NO
121 sFlow YES YES YES NO
122 IPFIX 3.10 YES YES NO
123 Set action YES YES YES PARTIAL
124 NIC Bonding YES YES YES YES
125 Multiple VTEPs YES YES YES YES
126 ===================== ============== ============== ========= =======
127
128 Do note, however:
129
130 * Only a limited set of flow fields is modifiable via the set action by the
131 Hyper-V datapath.
132
133 The following table lists features that do not *directly* impact an Open
134 vSwitch user, e.g. because their absence can be hidden by the ofproto layer
135 (usually this comes with a performance penalty).
136
137 ===================== ============== ============== ========= =======
138 Feature Linux upstream Linux OVS tree Userspace Hyper-V
139 ===================== ============== ============== ========= =======
140 SCTP flows 3.12 YES YES YES
141 MPLS 3.19 YES YES YES
142 UFID 4.0 YES YES NO
143 Megaflows 3.12 YES YES NO
144 Masked set action 4.0 YES YES NO
145 Recirculation 3.19 YES YES YES
146 TCP flags matching 3.13 YES YES NO
147 Validate flow actions YES YES N/A NO
148 Multiple datapaths YES YES YES NO
149 Tunnel TSO - STT N/A YES NO YES
150 ===================== ============== ============== ========= =======
151
152 Q: What DPDK version does each Open vSwitch release work with?
153
154 A: The following table lists the DPDK version against which the given
155 versions of Open vSwitch will successfully build.
156
157 ============ =======
158 Open vSwitch DPDK
159 ============ =======
160 2.2.x 1.6
161 2.3.x 1.6
162 2.4.x 2.0
163 2.5.x 2.2
164 2.6.x 16.07.2
165 2.7.x 16.11.5
166 2.8.x 17.05.2
167 2.9.x 17.11.1
168 ============ =======
169
170 Q: I get an error like this when I configure Open vSwitch:
171
172 configure: error: Linux kernel in <dir> is version <x>, but
173 version newer than <y> is not supported (please refer to the
174 FAQ for advice)
175
176 What should I do?
177
178 A: You have the following options:
179
180 - Use the Linux kernel module supplied with the kernel that you are using.
181 (See also the following FAQ.)
182
183 - If there is a newer released version of Open vSwitch, consider building
184 that one, because it may support the kernel that you are building
185 against. (To find out, consult the table in the previous FAQ.)
186
187 - The Open vSwitch "master" branch may support the kernel that you are
188 using, so consider building the kernel module from "master".
189
190 All versions of Open vSwitch userspace are compatible with all versions of
191 the Open vSwitch kernel module, so you do not have to use the kernel module
192 from one source along with the userspace programs from the same source.
193
194 Q: What features are not available in the Open vSwitch kernel datapath that
195 ships as part of the upstream Linux kernel?
196
197 A: The kernel module in upstream Linux does not include support for LISP.
198 Work is in progress to add support for LISP to the upstream Linux version
199 of the Open vSwitch kernel module. For now, if you need this feature, use
200 the kernel module from the Open vSwitch distribution instead of the
201 upstream Linux kernel module.
202
203 Certain features require kernel support to function or to have reasonable
204 performance. If the ovs-vswitchd log file indicates that a feature is not
205 supported, consider upgrading to a newer upstream Linux release or using
206 the kernel module paired with the userspace distribution.
207
208 Q: Why do tunnels not work when using a kernel module other than the one
209 packaged with Open vSwitch?
210
211 A: Support for tunnels was added to the upstream Linux kernel module after
212 the rest of Open vSwitch. As a result, some kernels may contain support for
213 Open vSwitch but not tunnels. The minimum kernel version that supports each
214 tunnel protocol is:
215
216 ======== ============
217 Protocol Linux Kernel
218 ======== ============
219 GRE 3.11
220 VXLAN 3.12
221 Geneve 3.18
222 LISP not upstream
223 STT not upstream
224 ======== ============
225
226 If you are using a version of the kernel that is older than the one listed
227 above, it is still possible to use that tunnel protocol. However, you must
228 compile and install the kernel module included with the Open vSwitch
229 distribution rather than the one on your machine. If problems persist after
230 doing this, check to make sure that the module that is loaded is the one
231 you expect.
232
233 Q: Why are UDP tunnel checksums not computed for VXLAN or Geneve?
234
235 A: Generating outer UDP checksums requires kernel support that was not part
236 of the initial implementation of these protocols. If using the upstream
237 Linux Open vSwitch module, you must use kernel 4.0 or newer. The
238 out-of-tree modules from Open vSwitch release 2.4 and later support UDP
239 checksums.
240
241 Q: What features are not available when using the userspace datapath?
242
243 A: Tunnel virtual ports are not supported, as described in the previous
244 answer. It is also not possible to use queue-related actions. On Linux
245 kernels before 2.6.39, maximum-sized VLAN packets may not be transmitted.
246
247 Q: Should userspace or kernel be upgraded first to minimize downtime?
248
249 A. In general, the Open vSwitch userspace should be used with the kernel
250 version included in the same release or with the version from upstream
251 Linux. However, when upgrading between two releases of Open vSwitch it is
252 best to migrate userspace first to reduce the possibility of
253 incompatibilities.
254
255 Q: What happened to the bridge compatibility feature?
256
257 A: Bridge compatibility was a feature of Open vSwitch 1.9 and earlier.
258 When it was enabled, Open vSwitch imitated the interface of the Linux
259 kernel "bridge" module. This allowed users to drop Open vSwitch into
260 environments designed to use the Linux kernel bridge module without
261 adapting the environment to use Open vSwitch.
262
263 Open vSwitch 1.10 and later do not support bridge compatibility. The
264 feature was dropped because version 1.10 adopted a new internal
265 architecture that made bridge compatibility difficult to maintain. Now
266 that many environments use OVS directly, it would be rarely useful in any
267 case.
268
269 To use bridge compatibility, install OVS 1.9 or earlier, including the
270 accompanying kernel modules (both the main and bridge compatibility
271 modules), following the instructions that come with the release. Be sure
272 to start the ovs-brcompatd daemon.