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