Commit 1e71cfcf authored by Paolo Abeni's avatar Paolo Abeni

Merge branch 'docs-update-and-move-the-netdev-faq'

Jakub Kicinski says:

====================
docs: update and move the netdev-FAQ

A section of documentation for tree-specific process quirks had
been created a while back. There's only one tree in it, so far,
the tip tree, but the contents seem to answer similar questions
as we answer in the netdev-FAQ. Move the netdev-FAQ.

Take this opportunity to touch up and update a few sections.

v3: remove some confrontational? language from patch 7
v2: remove non-git in patch 3
    add patch 5
====================

Link: https://lore.kernel.org/r/20220330042505.2902770-1-kuba@kernel.orgSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parents f9512d65 8df01363
...@@ -658,7 +658,7 @@ when: ...@@ -658,7 +658,7 @@ when:
.. Links .. Links
.. _Documentation/process/: https://www.kernel.org/doc/html/latest/process/ .. _Documentation/process/: https://www.kernel.org/doc/html/latest/process/
.. _netdev-FAQ: ../networking/netdev-FAQ.rst .. _netdev-FAQ: Documentation/process/maintainer-netdev.rst
.. _selftests: .. _selftests:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/testing/selftests/bpf/ https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/tools/testing/selftests/bpf/
.. _Documentation/dev-tools/kselftest.rst: .. _Documentation/dev-tools/kselftest.rst:
......
Linux Networking Documentation Linux Networking Documentation
============================== ==============================
Refer to :ref:`netdev-FAQ` for a guide on netdev development process specifics.
Contents: Contents:
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
netdev-FAQ
af_xdp af_xdp
bareudp bareudp
batman-adv batman-adv
......
...@@ -16,3 +16,4 @@ Contents: ...@@ -16,3 +16,4 @@ Contents:
:maxdepth: 2 :maxdepth: 2
maintainer-tip maintainer-tip
maintainer-netdev
...@@ -16,12 +16,10 @@ Note that some subsystems (e.g. wireless drivers) which have a high ...@@ -16,12 +16,10 @@ Note that some subsystems (e.g. wireless drivers) which have a high
volume of traffic have their own specific mailing lists. volume of traffic have their own specific mailing lists.
The netdev list is managed (like many other Linux mailing lists) through The netdev list is managed (like many other Linux mailing lists) through
VGER (http://vger.kernel.org/) and archives can be found below: VGER (http://vger.kernel.org/) with archives available at
https://lore.kernel.org/netdev/
- http://marc.info/?l=linux-netdev Aside from subsystems like those mentioned above, all network-related
- http://www.spinics.net/lists/netdev/
Aside from subsystems like that mentioned above, all network-related
Linux development (i.e. RFC, review, comments, etc.) takes place on Linux development (i.e. RFC, review, comments, etc.) takes place on
netdev. netdev.
...@@ -37,6 +35,17 @@ for the future release. You can find the trees here: ...@@ -37,6 +35,17 @@ for the future release. You can find the trees here:
- https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git - https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
- https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git - https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git
How do I indicate which tree (net vs. net-next) my patch should be in?
----------------------------------------------------------------------
To help maintainers and CI bots you should explicitly mark which tree
your patch is targeting. Assuming that you use git, use the prefix
flag::
git format-patch --subject-prefix='PATCH net-next' start..finish
Use ``net`` instead of ``net-next`` (always lower case) in the above for
bug-fix ``net`` content.
How often do changes from these trees make it to the mainline Linus tree? How often do changes from these trees make it to the mainline Linus tree?
------------------------------------------------------------------------- -------------------------------------------------------------------------
To understand this, you need to know a bit of background information on To understand this, you need to know a bit of background information on
...@@ -61,8 +70,12 @@ relating to vX.Y ...@@ -61,8 +70,12 @@ relating to vX.Y
An announcement indicating when ``net-next`` has been closed is usually An announcement indicating when ``net-next`` has been closed is usually
sent to netdev, but knowing the above, you can predict that in advance. sent to netdev, but knowing the above, you can predict that in advance.
IMPORTANT: Do not send new ``net-next`` content to netdev during the .. warning::
period during which ``net-next`` tree is closed. Do not send new ``net-next`` content to netdev during the
period during which ``net-next`` tree is closed.
RFC patches sent for review only are obviously welcome at any time
(use ``--subject-prefix='RFC net-next'`` with ``git format-patch``).
Shortly after the two weeks have passed (and vX.Y-rc1 is released), the Shortly after the two weeks have passed (and vX.Y-rc1 is released), the
tree for ``net-next`` reopens to collect content for the next (vX.Y+1) tree for ``net-next`` reopens to collect content for the next (vX.Y+1)
...@@ -90,41 +103,35 @@ Load the mainline (Linus) page here: ...@@ -90,41 +103,35 @@ Load the mainline (Linus) page here:
and note the top of the "tags" section. If it is rc1, it is early in and note the top of the "tags" section. If it is rc1, it is early in
the dev cycle. If it was tagged rc7 a week ago, then a release is the dev cycle. If it was tagged rc7 a week ago, then a release is
probably imminent. probably imminent. If the most recent tag is a final release tag
(without an ``-rcN`` suffix) - we are most likely in a merge window
and ``net-next`` is closed.
How do I indicate which tree (net vs. net-next) my patch should be in? How can I tell the status of a patch I've sent?
---------------------------------------------------------------------- -----------------------------------------------
Firstly, think whether you have a bug fix or new "next-like" content.
Then once decided, assuming that you use git, use the prefix flag, i.e.
::
git format-patch --subject-prefix='PATCH net-next' start..finish
Use ``net`` instead of ``net-next`` (always lower case) in the above for
bug-fix ``net`` content. If you don't use git, then note the only magic
in the above is just the subject text of the outgoing e-mail, and you
can manually change it yourself with whatever MUA you are comfortable
with.
I sent a patch and I'm wondering what happened to it - how can I tell whether it got merged?
--------------------------------------------------------------------------------------------
Start by looking at the main patchworks queue for netdev: Start by looking at the main patchworks queue for netdev:
https://patchwork.kernel.org/project/netdevbpf/list/ https://patchwork.kernel.org/project/netdevbpf/list/
The "State" field will tell you exactly where things are at with your The "State" field will tell you exactly where things are at with your
patch. patch. Patches are indexed by the ``Message-ID`` header of the emails
which carried them so if you have trouble finding your patch append
the value of ``Message-ID`` to the URL above.
The above only says "Under Review". How can I find out more? How long before my patch is accepted?
------------------------------------------------------------- -------------------------------------
Generally speaking, the patches get triaged quickly (in less than Generally speaking, the patches get triaged quickly (in less than
48h). So be patient. Asking the maintainer for status updates on your 48h). But be patient, if your patch is active in patchwork (i.e. it's
listed on the project's patch list) the chances it was missed are close to zero.
Asking the maintainer for status updates on your
patch is a good way to ensure your patch is ignored or pushed to the patch is a good way to ensure your patch is ignored or pushed to the
bottom of the priority list. bottom of the priority list.
I submitted multiple versions of the patch series. Should I directly update patchwork for the previous versions of these patch series? Should I directly update patchwork state of my own patches?
-------------------------------------------------------------------------------------------------------------------------------------- -----------------------------------------------------------
No, please don't interfere with the patch status on patchwork, leave It may be tempting to help the maintainers and update the state of your
own patches when you post a new version or spot a bug. Please do not do that.
Interfering with the patch status on patchwork will only cause confusion. Leave
it to the maintainer to figure out what is the most recent and current it to the maintainer to figure out what is the most recent and current
version that should be applied. If there is any doubt, the maintainer version that should be applied. If there is any doubt, the maintainer
will reply and ask what should be done. will reply and ask what should be done.
...@@ -135,6 +142,17 @@ No, please resend the entire patch series and make sure you do number your ...@@ -135,6 +142,17 @@ No, please resend the entire patch series and make sure you do number your
patches such that it is clear this is the latest and greatest set of patches patches such that it is clear this is the latest and greatest set of patches
that can be applied. that can be applied.
I have received review feedback, when should I post a revised version of the patches?
-------------------------------------------------------------------------------------
Allow at least 24 hours to pass between postings. This will ensure reviewers
from all geographical locations have a chance to chime in. Do not wait
too long (weeks) between postings either as it will make it harder for reviewers
to recall all the context.
Make sure you address all the feedback in your new posting. Do not post a new
version of the code if the discussion about the previous version is still
ongoing, unless directly instructed by a reviewer.
I submitted multiple versions of a patch series and it looks like a version other than the last one has been accepted, what should I do? I submitted multiple versions of a patch series and it looks like a version other than the last one has been accepted, what should I do?
---------------------------------------------------------------------------------------------------------------------------------------- ----------------------------------------------------------------------------------------------------------------------------------------
There is no revert possible, once it is pushed out, it stays like that. There is no revert possible, once it is pushed out, it stays like that.
...@@ -165,10 +183,10 @@ it is requested that you make it look like this:: ...@@ -165,10 +183,10 @@ it is requested that you make it look like this::
* another line of text * another line of text
*/ */
I am working in existing code that has the former comment style and not the latter. Should I submit new code in the former style or the latter? I am working in existing code which uses non-standard formatting. Which formatting should I use?
----------------------------------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------
Make it the latter style, so that eventually all code in the domain Make your code follow the most recent guidelines, so that eventually all code
of netdev is of this format. in the domain of netdev is in the preferred format.
I found a bug that might have possible security implications or similar. Should I mail the main netdev maintainer off-list? I found a bug that might have possible security implications or similar. Should I mail the main netdev maintainer off-list?
--------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------
...@@ -180,11 +198,15 @@ as possible alternative mechanisms. ...@@ -180,11 +198,15 @@ as possible alternative mechanisms.
What level of testing is expected before I submit my change? What level of testing is expected before I submit my change?
------------------------------------------------------------ ------------------------------------------------------------
If your changes are against ``net-next``, the expectation is that you At the very minimum your changes must survive an ``allyesconfig`` and an
have tested by layering your changes on top of ``net-next``. Ideally ``allmodconfig`` build with ``W=1`` set without new warnings or failures.
you will have done run-time testing specific to your change, but at a
minimum, your changes should survive an ``allyesconfig`` and an Ideally you will have done run-time testing specific to your change,
``allmodconfig`` build without new warnings or failures. and the patch series contains a set of kernel selftest for
``tools/testing/selftests/net`` or using the KUnit framework.
You are expected to test your changes on top of the relevant networking
tree (``net`` or ``net-next``) and not e.g. a stable tree or ``linux-next``.
How do I post corresponding changes to user space components? How do I post corresponding changes to user space components?
------------------------------------------------------------- -------------------------------------------------------------
...@@ -198,7 +220,7 @@ or the user space project is not reviewed on netdev include a link ...@@ -198,7 +220,7 @@ or the user space project is not reviewed on netdev include a link
to a public repo where user space patches can be seen. to a public repo where user space patches can be seen.
In case user space tooling lives in a separate repository but is In case user space tooling lives in a separate repository but is
reviewed on netdev (e.g. patches to `iproute2` tools) kernel and reviewed on netdev (e.g. patches to ``iproute2`` tools) kernel and
user space patches should form separate series (threads) when posted user space patches should form separate series (threads) when posted
to the mailing list, e.g.:: to the mailing list, e.g.::
...@@ -231,18 +253,18 @@ traffic if we can help it. ...@@ -231,18 +253,18 @@ traffic if we can help it.
netdevsim is great, can I extend it for my out-of-tree tests? netdevsim is great, can I extend it for my out-of-tree tests?
------------------------------------------------------------- -------------------------------------------------------------
No, `netdevsim` is a test vehicle solely for upstream tests. No, ``netdevsim`` is a test vehicle solely for upstream tests.
(Please add your tests under tools/testing/selftests/.) (Please add your tests under ``tools/testing/selftests/``.)
We also give no guarantees that `netdevsim` won't change in the future We also give no guarantees that ``netdevsim`` won't change in the future
in a way which would break what would normally be considered uAPI. in a way which would break what would normally be considered uAPI.
Is netdevsim considered a "user" of an API? Is netdevsim considered a "user" of an API?
------------------------------------------- -------------------------------------------
Linux kernel has a long standing rule that no API should be added unless Linux kernel has a long standing rule that no API should be added unless
it has a real, in-tree user. Mock-ups and tests based on `netdevsim` are it has a real, in-tree user. Mock-ups and tests based on ``netdevsim`` are
strongly encouraged when adding new APIs, but `netdevsim` in itself strongly encouraged when adding new APIs, but ``netdevsim`` in itself
is **not** considered a use case/user. is **not** considered a use case/user.
Any other tips to help ensure my net/net-next patch gets OK'd? Any other tips to help ensure my net/net-next patch gets OK'd?
......
...@@ -13661,6 +13661,7 @@ B: mailto:netdev@vger.kernel.org ...@@ -13661,6 +13661,7 @@ B: mailto:netdev@vger.kernel.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
T: git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git T: git git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git
F: Documentation/networking/ F: Documentation/networking/
F: Documentation/process/maintainer-netdev.rst
F: include/linux/in.h F: include/linux/in.h
F: include/linux/net.h F: include/linux/net.h
F: include/linux/netdevice.h F: include/linux/netdevice.h
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment