On 22 Apr 2025, at 17:46, Simon Horman wrote:

> Remove documentation relating to the OOT kernel module.
> Support for the OOT module was removed in the v3.0 release of Open vSwitch.
> And is now no longer supported by any maintained versions of Open vSwitch.
>
> I have left the following text referring to the OOT module,
> to document that is is no longer supported.
>
>   Q: What Linux kernel versions does each Open vSwitch release work with?
>
>     A: ...
>
>     Building the Linux kernel module from the Open vSwitch source tree was
>     deprecated starting with Open vSwitch 2.15.  And the kernel module
>     source code was completely removed from the Open vSwitch source tree in
>     3.0 release.
>
> Signed-off-by: Simon Horman <ho...@ovn.org>

Thanks for taking the time to unravel this. One small comment below.


//Eelco

> ---
>  Documentation/faq/releases.rst | 170 
> +++++++++--------------------------------
>  1 file changed, 38 insertions(+), 132 deletions(-)
>
> diff --git a/Documentation/faq/releases.rst b/Documentation/faq/releases.rst
> index 666609c6d29d..35eacf768754 100644
> --- a/Documentation/faq/releases.rst
> +++ b/Documentation/faq/releases.rst
> @@ -39,55 +39,12 @@ Q: What does it mean for an Open vSwitch release to be 
> LTS (long-term support)?
>
>  Q: What Linux kernel versions does each Open vSwitch release work with?
>
> -    A: The following table lists the Linux kernel versions against which the
> -    given versions of the Open vSwitch kernel module will successfully build.
> -    The Linux kernel versions are upstream kernel versions, so Linux kernels
> -    modified from the upstream sources may not build in some cases even if 
> they
> -    are based on a supported version.  This is most notably true of Red Hat
> -    Enterprise Linux (RHEL) kernels, which are extensively modified from
> -    upstream.
> -
> -    ============ ==============
> -    Open vSwitch Linux kernel
> -    ============ ==============
> -    1.4.x        2.6.18 to 3.2
> -    1.5.x        2.6.18 to 3.2
> -    1.6.x        2.6.18 to 3.2
> -    1.7.x        2.6.18 to 3.3
> -    1.8.x        2.6.18 to 3.4
> -    1.9.x        2.6.18 to 3.8
> -    1.10.x       2.6.18 to 3.8
> -    1.11.x       2.6.18 to 3.8
> -    2.0.x        2.6.32 to 3.10
> -    2.1.x        2.6.32 to 3.11
> -    2.3.x        2.6.32 to 3.14
> -    2.4.x        2.6.32 to 4.0
> -    2.5.x        2.6.32 to 4.3
> -    2.6.x        3.10 to 4.7
> -    2.7.x        3.10 to 4.9
> -    2.8.x        3.10 to 4.12
> -    2.9.x        3.10 to 4.13
> -    2.10.x       3.16 to 4.17
> -    2.11.x       3.16 to 4.18
> -    2.12.x       3.16 to 5.0
> -    2.13.x       3.16 to 5.0
> -    2.14.x       3.16 to 5.5
> -    2.15.x       3.16 to 5.8
> -    2.16.x       3.16 to 5.8
> -    2.17.x       3.16 to 5.8
> -    3.0+         N/A
> -    ============ ==============
> -
> -    Open vSwitch userspace should also work with the Linux kernel module 
> built
> -    into Linux 3.3 and later.
> +    A: Open vSwitch userspace should also work with the kernel module shipped
> +    with Linux upstream 3.3 and later.
>
>      Open vSwitch userspace is not sensitive to the Linux kernel version.  It
>      should build against almost any kernel, certainly against 2.6.32 and 
> later.
>
> -    Open vSwitch branches 2.10 through 2.14 will still compile against the
> -    RHEL and CentOS 7 3.10 based kernels since they have diverged from the
> -    Linux kernel.org 3.10 kernels.
> -

The resulting change looks a bit contradictory:

  Q: What Linux kernel versions does each Open vSwitch release work with?

      A: Open vSwitch userspace should also work with the kernel module shipped
      with Linux upstream 3.3 and later.

      Open vSwitch userspace is not sensitive to the Linux kernel version.  It
      should build against almost any kernel, certainly against 2.6.32 and 
later.

Maybe also remove the second paragraph?

>      Building the Linux kernel module from the Open vSwitch source tree was
>      deprecated starting with Open vSwitch 2.15.  And the kernel module
>      source code was completely removed from the Open vSwitch source tree in
> @@ -107,12 +64,6 @@ Q: Are all features available with all datapaths?
>        the table mentions the first Linux release whose OVS module supports 
> the
>        feature.
>
> -    Linux OVS tree
> -      The datapath implemented by the Linux kernel module distributed with
> -      the OVS source tree. This datapath is deprecated starting with OVS
> -      2.15 and support capped at Linux kernel version 5.8.  As of OVS 3.0
> -      the Linux OVS tree is no longer supported.
> -
>      Userspace
>        This datapath supports conventional system devices as well as
>        DPDK and AF_XDP devices when support for those is built.  This
> @@ -129,39 +80,39 @@ Q: Are all features available with all datapaths?
>      given feature into the included kernel module or the userspace
>      datapath, respectively.
>
> -    ========================== ============== ============== ========= 
> =======
> -    Feature                    Linux upstream Linux OVS tree Userspace 
> Hyper-V
> -    ========================== ============== ============== ========= 
> =======
> -    Connection tracking             4.3            2.5          2.6      YES
> -    Connection tracking-IPv6        YES            YES          YES      3.0
> -    Conntrack Fragment Reass.       4.3            2.6          2.12     YES
> -    Conntrack IPv6 Fragment         4.3            2.6          2.12     3.1
> -    Conntrack Timeout Policies      5.2            2.12         2.14     NO
> -    Conntrack Zone Limit            4.18           2.10         2.13     YES
> -    Conntrack NAT                   4.6            2.6          2.8      YES
> -    Conntrack NAT6                  4.6            2.6          2.8      3.0
> -    Conntrack Helper Persist.       YES            YES          3.3      NO
> -    Tunnel - GRE                    3.11           1.0          2.4      YES
> -    Tunnel - VXLAN                  3.12           1.10         2.4      YES
> -    Tunnel - Geneve                 3.18           2.4          2.4      YES
> -    Tunnel - GRE-IPv6               4.18           2.6          2.6      NO
> -    Tunnel - VXLAN-IPv6             4.3            2.6          2.6      NO
> -    Tunnel - Geneve-IPv6            4.4            2.6          2.6      3.0
> -    Tunnel - ERSPAN                 4.18           2.10         2.10     NO
> -    Tunnel - ERSPAN-IPv6            4.18           2.10         2.10     NO
> -    Tunnel - GTP-U                  NO             NO           2.14     NO
> -    Tunnel - SRv6                   NO             NO           3.2      NO
> -    Tunnel - Bareudp                5.7            NO           NO       NO
> -    QoS - Policing                  YES            1.1          2.6      NO
> -    QoS - Shaping                   YES            1.1          NO       NO
> -    sFlow                           YES            1.0          1.0      NO
> -    IPFIX                           3.10           1.11         1.11     YES
> -    Set action                      YES            1.0          1.0    
> PARTIAL
> -    NIC Bonding                     YES            1.0          1.0      YES
> -    Multiple VTEPs                  YES            1.10         1.10     YES
> -    Meter action                    4.15           2.10         2.7      NO
> -    check_pkt_len action            5.2            2.12         2.12     NO
> -    ========================== ============== ============== ========= 
> =======
> +    ========================== ============== ========= =======
> +    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
> +    ========================== ============== ========= =======
>
>      Do note, however:
>
> @@ -238,43 +189,13 @@ Q: Are all the DPDK releases that OVS versions work 
> with maintained?
>
>  .. _DPDK stable: http://doc.dpdk.org/guides-24.11/contributing/stable.html
>
> -Q: I get an error like this when I configure Open vSwitch:
> -
> -        configure: error: Linux kernel in <dir> is version <x>, but
> -        version newer than <y> is not supported (please refer to the
> -        FAQ for advice)
> -
> -    What should I do?
> -
> -    A: You have the following options:
> -
> -    - Use the Linux kernel module supplied with the kernel that you are 
> using.
> -      (See also the following FAQ.)
> -
> -    - If there is a newer released version of Open vSwitch, consider building
> -      that one, because it may support the kernel that you are building
> -      against.  (To find out, consult the table in the previous FAQ.)
> -
> -    - For Open vSwitch releases prior to 3.0, the corresponding Open
> -      vSwitch branch may support the kernel that you are using, so consider
> -      building the kernel module from that branch.  For Open vSwitch 2.17,
> -      the only non EOL release to which this applies, the branch is
> -      "branch-2.17".
> -
> -    All versions of Open vSwitch userspace are compatible with all versions 
> of
> -    the Open vSwitch kernel module, so you do not have to use the kernel 
> module
> -    from one source along with the userspace programs from the same source.
> -
>  Q: What features are not available in the Open vSwitch kernel datapath that
>  ships as part of the upstream Linux kernel?
>
>      A: Certain features require kernel support to function or to have
>      reasonable performance.  If the ovs-vswitchd log file indicates that a
>      feature is not supported, consider upgrading to a newer upstream Linux
> -    release or using the kernel module paired with the userspace 
> distribution.
> -
> -    Please note that as of Open vSwitch 3.0 the kernel module is no longer
> -    part of the Open vSwitch distribution.
> +    release.
>
>  Q: Why do tunnels not work when using a kernel module other than the one
>  packaged with Open vSwitch?
> @@ -293,26 +214,11 @@ packaged with Open vSwitch?
>      ERSPAN   4.18
>      ======== ============
>
> -    If you are using a version of the kernel that is older than the one 
> listed
> -    above, it is still possible to use that tunnel protocol. However, you 
> must
> -    compile and install the kernel module included with the Open vSwitch
> -    distribution rather than the one on your machine. If problems persist 
> after
> -    doing this, check to make sure that the module that is loaded is the one
> -    you expect.
> -
> -    Please note that as of Open vSwitch 3.0 the kernel module is no longer
> -    part of the Open vSwitch distribution.
> -
>  Q: Why are UDP tunnel checksums not computed for VXLAN or Geneve?
>
>      A: Generating outer UDP checksums requires kernel support that was not 
> part
> -    of the initial implementation of these protocols. If using the upstream
> -    Linux Open vSwitch module, you must use kernel 4.0 or newer. The
> -    out-of-tree modules from Open vSwitch release 2.4 and later support UDP
> -    checksums.
> -
> -    Please note that as of Open vSwitch 3.0 the kernel module is no longer
> -    part of the Open vSwitch distribution.
> +    of the initial implementation of these protocols. The kernel modules
> +    shipped with upstream Linux 4.0 and later support UDP checksums.
>
>  Q: What features are not available when using the userspace datapath?
>
>
> -- 
> 2.47.2
>
> _______________________________________________
> dev mailing list
> d...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev

_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to