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

> Remove documentation relating to backporting upstream changes to the OOT
> kernel module. This turns out to be most of the documentation for kernel
> changes. And I have reworked the remaining kernel datapath in the
> interest of readability.
>
> 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.
>
> Signed-off-by: Simon Horman <ho...@ovn.org>

Hi Simon,

One suggestion below, the rest looks good to me.

//Eelco

> ---
>  .../internals/contributing/backporting-patches.rst | 175 
> ++-------------------
>  1 file changed, 13 insertions(+), 162 deletions(-)
>
> diff --git a/Documentation/internals/contributing/backporting-patches.rst 
> b/Documentation/internals/contributing/backporting-patches.rst
> index 2007a429c7bc..ade0f74b6050 100644
> --- a/Documentation/internals/contributing/backporting-patches.rst
> +++ b/Documentation/internals/contributing/backporting-patches.rst
> @@ -49,19 +49,8 @@ most recent `branch-X.Y`, then earlier `branch-X.Z`, and 
> so on. The most common
>  kind of patch in this category is a bugfix which affects main and other
>  branches.
>
> -For Linux datapath code, the primary development branch is in the `net-next`_
> -tree as described in the section below, and patch discussion occurs on the
> -`netdev`__ mailing list. Patches are first applied to the upstream branch by 
> the
> -networking maintainers, then the contributor backports the patch to an Open
> -vSwitch branch. Patches in this category may include features which have
> -been applied upstream, or bugfixes to the Open vSwitch datapath code.
> -
> -The practice for Linux datapath code described above is currently only
> -applicable to bugfixes for Open vSwitch 2.17. This is because all earlier
> -versions are EOL and all subsequent versions do not include the Linux
> -datapath as it is now maintained as part of the upstream Linux kernel.
> -
> -__ https://lore.kernel.org/netdev/
> +Changes to the Linux kernel components in Open vSwitch go through review in
> +the upstream Linux Netdev community as described in the section below.
>

Maybe remove the kernel reference from this section completely, as it’s 
mentioned below in a seperate section?

>  Changes to userspace components
>  -------------------------------
> @@ -93,155 +82,17 @@ in the same manner as described above.
>  Changes to Linux kernel components
>  ----------------------------------
>
> -The Linux kernel components in Open vSwitch go through initial review in the
> -upstream Linux netdev community before they go into the Open vSwitch tree. As
> -such, backports from upstream to the Open vSwitch tree may include bugfixes 
> or
> -new features. The `Netdev Maintainer Handbook`_ describes the general
> -process for merging patches to the upstream Linux tree.
> -
> -To keep track of the changes which are made upstream against the changes 
> which
> -have been backported to the Open vSwitch tree, backports should be done in 
> the
> -order that they are applied to the upstream `net-next`_ tree. For example, if
> -the git history in ``linux/net/openvswitch/`` in the `net-next` tree lists
> -patches A, B and C that were applied (in that order), then the backports of
> -these patches to ``openvswitch/datapath/`` should be done submitted in the
> -order A, B, then C.
> -
> -Patches that are proposed against the Open vSwitch tree, including backports,
> -should follow the guidelines described in :doc:`submitting-patches`. Ideally,
> -a series which backports new functionality would also include a series of
> -patches for the userspace components which show how to use the new
> -functionality, and include tests to validate the behaviour. However, in the
> -interests of keeping the Open vSwitch tree in sync with upstream `net-next`,
> -contributors may send Open vSwitch kernel module changes independently of
> -userspace changes.
> -
> -.. _Netdev Maintainer Handbook: 
> https://docs.kernel.org/process/maintainer-netdev.html
> -.. _net-next: 
> https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git
> -
> -How to backport kernel patches
> -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> -
> -These instructions only apply to Open vSwitch releases 2.17 and older.
> -As of Open vSwitch branch 3.0 the Open vSwitch kernel module is no
> -longer supported and only the Linux openvswitch kernel module is used.
> -In the case of Open vSwitch releases 2.17 and older, kernel backports
> -may be required for bux fixes and feature implementation so these
> -instructions are preserved for that reason.
> -
> -First, the patch should be submitted upstream to `netdev`. When the patch has
> -been applied to `net-next`, it is ready to be backported. Starting from the
> -Linux tree, use ``git format-patch`` to format each patch that should be
> -backported. For each of these patches, they may only include changes to
> -``linux/net/openvswitch/``, or they may include changes to other directories.
> -Depending on which files the patch touches, the backport may be easier or 
> more
> -difficult to undertake.
> -
> -Start by formatting the relevant patches from the Linux tree. For example, to
> -format the last 5 patches to ``net/openvswitch``, going back from OVS commit
> -``1234c0ffee5``, placing them into ``/tmp/``:
> -
> -::
> -
> -    $ git format-patch -5 1234c0ffee5 net/openvswitch/ -o /tmp
> -
> -Next, change into the Open vSwitch directory and apply the patch:
> -
> -::
> -
> -    $ git am -p3 --reject --directory=datapath/ <patch>
> +Changes to the Linux kernel components in Open vSwitch go through review in
> +the upstream Linux Netdev community. The `Netdev Maintainer Handbook`_
> +describes the general process for merging patches to the upstream Linux
> +kernel networking subsystem.
>
> -If this is successful, proceed to the next patch:
> +Backports to older kernel versions are handled via the `Stable tree`_
> +mechanism.
>
> -::
> -
> -    $ git am --continue
> -
> -If this is unsuccessful, the above command applies all changes that it can
> -to the working tree, and leaves rejected hunks in corresponding \*.rej
> -files. Proceed by using ``git diff`` to identify the changes, and edit the
> -files so that the hunk matches what the file looks like when the
> -corresponding commit is checked out in the linux tree. When all hunks are
> -fixed, add the files to the index using ``git add``.
> -
> -
> -If the patch only changes filepaths under ``linux/net/openvswitch``, then 
> most
> -likely the patch is fully backported. At this point, review the patch's 
> changes
> -and compare with the latest upstream code for the modified functions.
> -Occasionally, there may be bugs introduced in a particular patch which were
> -fixed in a later patch upstream. To prevent breakage in the OVS tree, 
> consider
> -rolling later bugfixes into the current patch - particularly if they are 
> small,
> -clear bugfixes in the logic of this patch. Then proceed to the next patch 
> using
> -``git am --continue``. If you made any changes to the patch compared with the
> -original version, describe the changes in the commit message.
> -
> -If the changes affects other paths, then you may also need to backport 
> function
> -definitions from the upstream tree into the ``datapath/linux/compat``
> -directory. First, attempt to compile the datapath. If this is successful, 
> then
> -most likely there is no further work required. As per the previous paragraph,
> -consider reviewing and backporting any minor fixes to this code if 
> applicable,
> -then proceed to the next patch using ``git am --continue``.
> -
> -If compilation fails, the compiler will show which functions are missing or
> -broken. Typically this should match with some function definitions provided 
> in
> -the patch file. The following command will attempt to apply all such changes
> -from the patch into the ``openvswitch/datapath/linux/compat`` directory; Like
> -the previous ``git am`` command above, it may succeed or fail. If it 
> succeeds,
> -review the patch and proceed to the next patch using ``git am --continue``.
> -
> -::
> -
> -    $ git am -p3 --reject --directory='datapath/linux/compat/' <patch>
> -
> -For each conflicting hunk, attempt to resolve the change so that the function
> -reflects what the function looks like in the upstream Linux tree. After
> -resolving these changes, compile the changes, add the modified files to the
> -index using ``git add``, review the patch, and proceed to the next patch 
> using
> -``git am --continue``.
> +Backports for Linux datapath code are no longer accepted into the Open
> +vSwitch tree as that code is not present in the Open vSwitch distribution
> +since Open vSwitch 3.0.
>
> -Submission
> -~~~~~~~~~~
> -
> -Once the patches are all assembled and working on the Open vSwitch tree, they
> -need to be formatted again using ``git format-patch``. The common format for
> -commit messages for Linux backport patches is as follows:
> -
> -::
> -
> -    datapath: Remove incorrect WARN_ONCE().
> -
> -    Upstream commit:
> -        commit c6b2aafffc6934be72d96855c9a1d88970597fbc
> -        Author: Jarno Rajahalme <ja...@ovn.org>
> -        Date:   Mon Aug 1 19:08:29 2016 -0700
> -
> -        openvswitch: Remove incorrect WARN_ONCE().
> -
> -        ovs_ct_find_existing() issues a warning if an existing conntrack 
> entry
> -        classified as IP_CT_NEW is found, with the premise that this should
> -        not happen.  However, a newly confirmed, non-expected conntrack entry
> -        remains IP_CT_NEW as long as no reply direction traffic is seen.  
> This
> -        has resulted into somewhat confusing kernel log messages.  This patch
> -        removes this check and warning.
> -
> -        Fixes: 289f2253 ("openvswitch: Find existing conntrack entry after 
> upcall.")
> -        Suggested-by: Joe Stringer <j...@ovn.org>
> -        Signed-off-by: Jarno Rajahalme <ja...@ovn.org>
> -        Acked-by: Joe Stringer <j...@ovn.org>
> -
> -    Signed-off-by: Jarno Rajahalme <ja...@ovn.org>
> -
> -The upstream commit SHA should be the one that appears in Linus' tree so that
> -reviewers can compare the backported patch with the one upstream.  Note that
> -the subject line for the backported patch replaces the original patch's
> -``openvswitch`` prefix with ``datapath``. Patches which only affect the
> -``datapath/linux/compat`` directory should be prefixed with ``compat``.
> -
> -The contents of a backport should be equivalent to the changes made by the
> -original patch; explain any variations from the original patch in the commit
> -message - For instance if you rolled in a bugfix. Reviewers will verify that
> -the changes made by the backport patch are the same as the changes made in 
> the
> -original commit which the backport is based upon. Patch submission should
> -otherwise follow the regular steps described in :doc:`submitting-patches`. In
> -particular, if performing kernel patch backports, pay attention to
> -:ref:`datapath-testing`.
> +.. _Netdev Maintainer Handbook: 
> https://docs.kernel.org/process/maintainer-netdev.html
> +.. _Stable tree: 
> https://docs.kernel.org/process/maintainer-netdev.html#stable-tree
>
> -- 
> 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