The kernel module was removed from the OVS source tree in 3.0 and most of the documentation for it was removed in 3.6. But some docs still have a few references. Releases FAQ mentions it when talking about feature support table, man page for vswitchd mentions it when talking about tunnel checksums and the datapath version column, checkpatch script mentions it in the comment about datapath directory.
Clean those up. Also clean up the language to avoid specifically emphasizing the "upstream" word in the docs mentioning kernel module where it is not necessary, as there is only one. Signed-off-by: Ilya Maximets <[email protected]> --- There will be a conflict with the Windows support removal, but it's not hard to resolve. Documentation/faq/releases.rst | 123 ++++++++++++++++----------------- utilities/checkpatch.py | 7 +- vswitchd/vswitch.xml | 23 ++---- 3 files changed, 68 insertions(+), 85 deletions(-) diff --git a/Documentation/faq/releases.rst b/Documentation/faq/releases.rst index 1db42ad5c..3b7d81109 100644 --- a/Documentation/faq/releases.rst +++ b/Documentation/faq/releases.rst @@ -55,9 +55,9 @@ Q: Are all features available with all datapaths? Supported datapaths: - Linux upstream - The datapath implemented by the kernel module shipped with Linux - upstream. Since features have been gradually introduced into the kernel, + Linux kernel + The datapath implemented by the module shipped with upstream Linux + kernel. Since features have been gradually introduced into the kernel, the table mentions the first Linux release whose OVS module supports the feature. @@ -70,46 +70,45 @@ Q: Are all features available with all datapaths? Also known as the Windows datapath. The following table lists the datapath supported features from an - Open vSwitch user's perspective. The "Linux upstream" column - lists the Linux kernel version that introduced a given feature - into its kernel module. The "Linux OVS tree" and "Userspace" - columns list the Open vSwitch release versions that introduced a - given feature into the included kernel module or the userspace - datapath, respectively. - - ========================== ============== ========= ======= - Feature Linux upstream Userspace Hyper-V - ========================== ============== ========= ======= - Connection tracking 4.3 2.6 YES - Connection tracking-IPv6 YES YES 3.0 - Conntrack Fragment Reass. 4.3 2.12 YES - Conntrack IPv6 Fragment 4.3 2.12 3.1 - Conntrack Timeout Policies 5.2 2.14 NO - Conntrack Zone Limit 4.18 2.13 YES - Conntrack NAT 4.6 2.8 YES - Conntrack NAT6 4.6 2.8 3.0 - Conntrack Helper Persist. YES 3.3 NO - Tunnel - GRE 3.11 2.4 YES - Tunnel - VXLAN 3.12 2.4 YES - Tunnel - Geneve 3.18 2.4 YES - Tunnel - GRE-IPv6 4.18 2.6 NO - Tunnel - VXLAN-IPv6 4.3 2.6 NO - Tunnel - Geneve-IPv6 4.4 2.6 3.0 - Tunnel - ERSPAN 4.18 2.10 NO - Tunnel - ERSPAN-IPv6 4.18 2.10 NO - Tunnel - GTP-U NO 2.14 NO - Tunnel - SRv6 NO 3.2 NO - Tunnel - Bareudp 5.7 NO NO - QoS - Policing YES 2.6 NO - QoS - Shaping YES NO NO - sFlow YES 1.0 NO - IPFIX 3.10 1.11 YES - Set action YES 1.0 PARTIAL - NIC Bonding YES 1.0 YES - Multiple VTEPs YES 1.10 YES - Meter action 4.15 2.7 NO - check_pkt_len action 5.2 2.12 NO - ========================== ============== ========= ======= + Open vSwitch user's perspective. The "Linux kernel" column lists the + upstream Linux kernel version that introduced a given feature into its + kernel module. The "Userspace" columns list the Open vSwitch release + versions that introduced a given feature into the built-in userspace + datapath. + + ========================== ============ ========= ======= + Feature Linux kernel Userspace Hyper-V + ========================== ============ ========= ======= + Connection tracking 4.3 2.6 YES + Connection tracking-IPv6 YES YES 3.0 + Conntrack Fragment Reass. 4.3 2.12 YES + Conntrack IPv6 Fragment 4.3 2.12 3.1 + Conntrack Timeout Policies 5.2 2.14 NO + Conntrack Zone Limit 4.18 2.13 YES + Conntrack NAT 4.6 2.8 YES + Conntrack NAT6 4.6 2.8 3.0 + Conntrack Helper Persist. YES 3.3 NO + Tunnel - GRE 3.11 2.4 YES + Tunnel - VXLAN 3.12 2.4 YES + Tunnel - Geneve 3.18 2.4 YES + Tunnel - GRE-IPv6 4.18 2.6 NO + Tunnel - VXLAN-IPv6 4.3 2.6 NO + Tunnel - Geneve-IPv6 4.4 2.6 3.0 + Tunnel - ERSPAN 4.18 2.10 NO + Tunnel - ERSPAN-IPv6 4.18 2.10 NO + Tunnel - GTP-U NO 2.14 NO + Tunnel - SRv6 NO 3.2 NO + Tunnel - Bareudp 5.7 NO NO + QoS - Policing YES 2.6 NO + QoS - Shaping YES NO NO + sFlow YES 1.0 NO + IPFIX 3.10 1.11 YES + Set action YES 1.0 PARTIAL + NIC Bonding YES 1.0 YES + Multiple VTEPs YES 1.10 YES + Meter action 4.15 2.7 NO + check_pkt_len action 5.2 2.12 NO + ========================== ============ ========= ======= Do note, however: @@ -124,19 +123,19 @@ Q: Are all features available with all datapaths? vSwitch user, e.g. because their absence can be hidden by the ofproto layer (usually this comes with a performance penalty). - ===================== ============== ============== ========= ======= - Feature Linux upstream Linux OVS tree Userspace Hyper-V - ===================== ============== ============== ========= ======= - SCTP flows 3.12 YES YES YES - MPLS 3.19 YES YES YES - UFID 4.0 YES YES NO - Megaflows 3.12 YES YES NO - Masked set action 4.0 YES YES NO - Recirculation 3.19 YES YES YES - TCP flags matching 3.13 YES YES NO - Validate flow actions YES YES N/A NO - Multiple datapaths YES YES YES NO - ===================== ============== ============== ========= ======= + ===================== ============ ========= ======= + Feature Linux kernel Userspace Hyper-V + ===================== ============ ========= ======= + SCTP flows 3.12 YES YES + MPLS 3.19 YES YES + UFID 4.0 YES NO + Megaflows 3.12 YES NO + Masked set action 4.0 YES NO + Recirculation 3.19 YES YES + TCP flags matching 3.13 YES NO + Validate flow actions YES N/A NO + Multiple datapaths YES YES NO + ===================== ============ ========= ======= Q: What DPDK version does each Open vSwitch release work with? @@ -196,8 +195,7 @@ ships as part of the upstream Linux kernel? feature is not supported, consider upgrading to a newer upstream Linux release. -Q: Why do tunnels not work when using a kernel module other than the one -packaged with Open vSwitch? +Q: Why do tunnels not work when using a Linux kernel module? A: Support for tunnels was added to the upstream Linux kernel module after the rest of Open vSwitch. As a result, some kernels may contain support for @@ -227,11 +225,10 @@ Q: What features are not available when using the userspace datapath? Q: Should userspace or kernel be upgraded first to minimize downtime? - A. In general, the Open vSwitch userspace should be used with the kernel - version included in the same release or with the version from upstream - Linux. However, when upgrading between two releases of Open vSwitch it is - best to migrate userspace first to reduce the possibility of - incompatibilities. + A. In general, the Open vSwitch userspace should work with any kernel + version from upstream Linux. However, when upgrading between two releases + of Open vSwitch it is best to migrate userspace first to reduce the + possibility of incompatibilities. Q: What happened to the bridge compatibility feature? diff --git a/utilities/checkpatch.py b/utilities/checkpatch.py index 9a10b78a9..8fe56e6b0 100755 --- a/utilities/checkpatch.py +++ b/utilities/checkpatch.py @@ -1058,10 +1058,11 @@ def ovs_checkpatch_parse(text, filename, author=None, committer=None): interim_line_check(current_file, cmp_line, lineno) continue - # Skip files which have /datapath in them, since they are - # linux or windows coding standards - if current_file.startswith('datapath'): + # Skip files which have /datapath-windows in them, since they are + # windows coding standards + if current_file.startswith('datapath-windows'): continue + # Linux headers use Linux kernel coding style for the most part. if current_file.startswith('include/linux'): continue # "sparse" includes could be copy-pasted from different sources diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml index b7a5afc0a..e3ee9d9ce 100644 --- a/vswitchd/vswitch.xml +++ b/vswitchd/vswitch.xml @@ -3210,14 +3210,11 @@ </p> <p> - When using the upstream Linux kernel module, computation of - checksums for <code>geneve</code> and <code>vxlan</code> requires - Linux kernel version 4.0 or higher. <code>gre</code> and + When using the Linux kernel datapath, computation of checksums + for <code>geneve</code> and <code>vxlan</code> requires Linux + kernel version 4.0 or higher. <code>gre</code> and <code>ip6gre</code> support checksums for all versions of Open vSwitch that support GRE. - The out of tree kernel module distributed as part of OVS - can compute all tunnel checksums on any kernel version that it - is compatible with. </p> </column> @@ -6243,17 +6240,6 @@ ovs-vsctl add-port br0 p1 -- \ </p> <ul> - <li> - When the kernel module included in the Open vSwitch source tree is - used, this column reports the Open vSwitch version from which the - module was taken. - </li> - - <li> - When the kernel module that is part of the upstream Linux kernel is - used, this column reports <code><unknown></code>. - </li> - <li> When the datapath is built into the <code>ovs-vswitchd</code> binary, this column reports <code><built-in></code>. A @@ -6262,8 +6248,7 @@ ovs-vsctl add-port br0 p1 -- \ </li> <li> - Other datapaths (such as the Hyper-V kernel datapath) currently - report <code><unknown></code>. + Other datapaths currently report <code><unknown></code>. </li> </ul> -- 2.53.0 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
