]> git.proxmox.com Git - ovs.git/blame - Documentation/faq/releases.rst
Documentation: Fix kernel support matrix
[ovs.git] / Documentation / faq / releases.rst
CommitLineData
11e02906
SF
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========
25Releases
26========
27
28Q: 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
5813d810
SF
37 For more information on the Open vSwitch release process, refer to
38 :doc:`/internals/release-process`.
11e02906
SF
39
40Q: 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
27b5fbb2 67 2.7.x 3.10 to 4.9
49705e1b 68 2.8.x 3.10 to 4.12
4a67e420 69 2.9.x 3.10 to 4.13
dff2a6e9
GR
70 2.10.x 3.16 to 4.17
71 2.11.x 3.16 to 4.18
72 2.12.x 3.16 to 5.0
73 2.14.x 3.16 to 5.5
11e02906
SF
74 ============ ==============
75
76 Open vSwitch userspace should also work with the Linux kernel module built
77 into Linux 3.3 and later.
78
79 Open vSwitch userspace is not sensitive to the Linux kernel version. It
80 should build against almost any kernel, certainly against 2.6.32 and later.
81
dff2a6e9
GR
82 Open vSwitch branches 2.10 through 2.14 will still compile against the
83 RHEL and CentOS 7 3.10 based kernels since they have diverged from the
84 Linux kernel.org 3.10 kernels.
85
11e02906
SF
86Q: Are all features available with all datapaths?
87
88 A: Open vSwitch supports different datapaths on different platforms. Each
89 datapath has a different feature set: the following tables try to summarize
90 the status.
91
92 Supported datapaths:
93
94 Linux upstream
95 The datapath implemented by the kernel module shipped with Linux
96 upstream. Since features have been gradually introduced into the kernel,
97 the table mentions the first Linux release whose OVS module supports the
98 feature.
99
100 Linux OVS tree
101 The datapath implemented by the Linux kernel module distributed with the
102 OVS source tree.
103
104 Userspace
653eedff
BP
105 This datapath supports conventional system devices as well as
106 DPDK and AF_XDP devices when support for those is built. This
107 is the only datapath that works on NetBSD, FreeBSD and Mac OSX.
11e02906
SF
108
109 Hyper-V
110 Also known as the Windows datapath.
111
653eedff
BP
112 The following table lists the datapath supported features from an
113 Open vSwitch user's perspective. The "Linux upstream" column
114 lists the Linux kernel version that introduced a given feature
115 into its kernel module. The "Linux OVS tree" and "Userspace"
116 columns list the Open vSwitch release versions that introduced a
117 given feature into the included kernel module or the userspace
118 datapath, respectively.
11e02906 119
4ea96698
DB
120 ========================== ============== ============== ========= =======
121 Feature Linux upstream Linux OVS tree Userspace Hyper-V
122 ========================== ============== ============== ========= =======
653eedff 123 Connection tracking 4.3 2.5 2.6 YES
5623ed2d 124 Conntrack Fragment Reass. 4.3 2.6 2.12 YES
2078901a 125 Conntrack Timeout Policies 5.2 2.12 2.14 NO
a7f33fdb 126 Conntrack Zone Limit 4.18 2.10 2.13 YES
13ede8c1 127 Conntrack NAT 4.6 2.6 2.8 YES
653eedff
BP
128 Tunnel - LISP NO 2.11 NO NO
129 Tunnel - STT NO 2.4 NO YES
130 Tunnel - GRE 3.11 1.0 2.4 YES
131 Tunnel - VXLAN 3.12 1.10 2.4 YES
132 Tunnel - Geneve 3.18 2.4 2.4 YES
133 Tunnel - GRE-IPv6 4.18 2.6 2.6 NO
134 Tunnel - VXLAN-IPv6 4.3 2.6 2.6 NO
135 Tunnel - Geneve-IPv6 4.4 2.6 2.6 NO
136 Tunnel - ERSPAN 4.18 2.10 2.10 NO
137 Tunnel - ERSPAN-IPv6 4.18 2.10 2.10 NO
8c2b63b7 138 Tunnel - GTP-U NO NO 2.14 NO
653eedff
BP
139 QoS - Policing YES 1.1 2.6 NO
140 QoS - Shaping YES 1.1 NO NO
141 sFlow YES 1.0 1.0 NO
142 IPFIX 3.10 1.11 1.11 YES
143 Set action YES 1.0 1.0 PARTIAL
144 NIC Bonding YES 1.0 1.0 YES
145 Multiple VTEPs YES 1.10 1.10 YES
13ede8c1 146 Meter action 4.15 2.10 2.7 NO
cbff5189 147 check_pkt_len action 5.2 2.12 2.12 NO
4ea96698 148 ========================== ============== ============== ========= =======
11e02906
SF
149
150 Do note, however:
151
152 * Only a limited set of flow fields is modifiable via the set action by the
153 Hyper-V datapath.
11e02906 154
b50268e8
DB
155 * Userspace datapath support, in some cases, is dependent on the associated
156 interface types. For example, DPDK interfaces support ingress and egress
157 policing, but not shaping.
158
11e02906
SF
159 The following table lists features that do not *directly* impact an Open
160 vSwitch user, e.g. because their absence can be hidden by the ofproto layer
161 (usually this comes with a performance penalty).
162
163 ===================== ============== ============== ========= =======
164 Feature Linux upstream Linux OVS tree Userspace Hyper-V
165 ===================== ============== ============== ========= =======
166 SCTP flows 3.12 YES YES YES
167 MPLS 3.19 YES YES YES
168 UFID 4.0 YES YES NO
169 Megaflows 3.12 YES YES NO
170 Masked set action 4.0 YES YES NO
171 Recirculation 3.19 YES YES YES
172 TCP flags matching 3.13 YES YES NO
173 Validate flow actions YES YES N/A NO
174 Multiple datapaths YES YES YES NO
175 Tunnel TSO - STT N/A YES NO YES
176 ===================== ============== ============== ========= =======
177
178Q: What DPDK version does each Open vSwitch release work with?
179
180 A: The following table lists the DPDK version against which the given
181 versions of Open vSwitch will successfully build.
182
489b23fe 183 ============ =======
11e02906 184 Open vSwitch DPDK
489b23fe 185 ============ =======
11e02906
SF
186 2.2.x 1.6
187 2.3.x 1.6
188 2.4.x 2.0
189 2.5.x 2.2
489b23fe 190 2.6.x 16.07.2
b5355b0d 191 2.7.x 16.11.9
dad35c4f 192 2.8.x 17.05.2
bafb398b
IS
193 2.9.x 17.11.4
194 2.10.x 17.11.4
486139d9
TK
195 2.11.x 18.11.6
196 2.12.x 18.11.6
197 2.13.x 19.11.0
489b23fe 198 ============ =======
11e02906 199
6b71df2f
KT
200Q: Are all the DPDK releases that OVS versions work with maintained?
201
202 No. DPDK follows YY.MM.n (Year.Month.Number) versioning.
203
204 Typically, all DPDK releases get a stable YY.MM.1 update with bugfixes 3
205 months after the YY.MM.0 release. In some cases there may also be a
206 YY.MM.2 release.
207
208 DPDK LTS releases start once a year at YY.11.0 and are maintained for
209 two years, with YY.MM.n+1 releases around every 3 months.
210
211 The latest information about DPDK stable and LTS releases can be found
212 at `DPDK stable`_.
213
214.. _DPDK stable: http://dpdk.org/doc/guides/contributing/stable.html
215
8f60b9bb 216Q: I get an error like this when I configure Open vSwitch:
11e02906 217
8f60b9bb
SF
218 configure: error: Linux kernel in <dir> is version <x>, but
219 version newer than <y> is not supported (please refer to the
220 FAQ for advice)
11e02906 221
8f60b9bb 222 What should I do?
11e02906
SF
223
224 A: You have the following options:
225
226 - Use the Linux kernel module supplied with the kernel that you are using.
227 (See also the following FAQ.)
228
229 - If there is a newer released version of Open vSwitch, consider building
230 that one, because it may support the kernel that you are building
231 against. (To find out, consult the table in the previous FAQ.)
232
233 - The Open vSwitch "master" branch may support the kernel that you are
234 using, so consider building the kernel module from "master".
235
236 All versions of Open vSwitch userspace are compatible with all versions of
237 the Open vSwitch kernel module, so you do not have to use the kernel module
238 from one source along with the userspace programs from the same source.
239
240Q: What features are not available in the Open vSwitch kernel datapath that
241ships as part of the upstream Linux kernel?
242
243 A: The kernel module in upstream Linux does not include support for LISP.
244 Work is in progress to add support for LISP to the upstream Linux version
245 of the Open vSwitch kernel module. For now, if you need this feature, use
246 the kernel module from the Open vSwitch distribution instead of the
247 upstream Linux kernel module.
248
249 Certain features require kernel support to function or to have reasonable
250 performance. If the ovs-vswitchd log file indicates that a feature is not
251 supported, consider upgrading to a newer upstream Linux release or using
252 the kernel module paired with the userspace distribution.
253
254Q: Why do tunnels not work when using a kernel module other than the one
255packaged with Open vSwitch?
256
257 A: Support for tunnels was added to the upstream Linux kernel module after
258 the rest of Open vSwitch. As a result, some kernels may contain support for
259 Open vSwitch but not tunnels. The minimum kernel version that supports each
260 tunnel protocol is:
261
262 ======== ============
263 Protocol Linux Kernel
264 ======== ============
265 GRE 3.11
266 VXLAN 3.12
267 Geneve 3.18
da5b26ad 268 ERSPAN 4.18
11e02906
SF
269 LISP not upstream
270 STT not upstream
271 ======== ============
272
273 If you are using a version of the kernel that is older than the one listed
274 above, it is still possible to use that tunnel protocol. However, you must
275 compile and install the kernel module included with the Open vSwitch
276 distribution rather than the one on your machine. If problems persist after
277 doing this, check to make sure that the module that is loaded is the one
278 you expect.
279
280Q: Why are UDP tunnel checksums not computed for VXLAN or Geneve?
281
282 A: Generating outer UDP checksums requires kernel support that was not part
283 of the initial implementation of these protocols. If using the upstream
284 Linux Open vSwitch module, you must use kernel 4.0 or newer. The
285 out-of-tree modules from Open vSwitch release 2.4 and later support UDP
286 checksums.
287
288Q: What features are not available when using the userspace datapath?
289
290 A: Tunnel virtual ports are not supported, as described in the previous
291 answer. It is also not possible to use queue-related actions. On Linux
292 kernels before 2.6.39, maximum-sized VLAN packets may not be transmitted.
293
294Q: Should userspace or kernel be upgraded first to minimize downtime?
295
296 A. In general, the Open vSwitch userspace should be used with the kernel
297 version included in the same release or with the version from upstream
298 Linux. However, when upgrading between two releases of Open vSwitch it is
299 best to migrate userspace first to reduce the possibility of
300 incompatibilities.
301
302Q: What happened to the bridge compatibility feature?
303
304 A: Bridge compatibility was a feature of Open vSwitch 1.9 and earlier.
305 When it was enabled, Open vSwitch imitated the interface of the Linux
306 kernel "bridge" module. This allowed users to drop Open vSwitch into
307 environments designed to use the Linux kernel bridge module without
308 adapting the environment to use Open vSwitch.
309
310 Open vSwitch 1.10 and later do not support bridge compatibility. The
311 feature was dropped because version 1.10 adopted a new internal
312 architecture that made bridge compatibility difficult to maintain. Now
313 that many environments use OVS directly, it would be rarely useful in any
314 case.
315
316 To use bridge compatibility, install OVS 1.9 or earlier, including the
317 accompanying kernel modules (both the main and bridge compatibility
318 modules), following the instructions that come with the release. Be sure
319 to start the ovs-brcompatd daemon.