From: Hangbin Liu <liuhangbin@gmail.com>
To: Jakub Kicinski <kuba@kernel.org>
Cc: bridge@lists.linux-foundation.org, netdev@vger.kernel.org,
Nikolay Aleksandrov <razor@blackwall.org>,
Ido Schimmel <idosch@nvidia.com>, Roopa Prabhu <roopa@nvidia.com>
Subject: Re: [Bridge] [Question] Any plan to write/update the bridge doc?
Date: Tue, 25 Apr 2023 11:58:14 +0800 [thread overview]
Message-ID: <ZEdP1tSiGAgvy7s8@Laptop-X1> (raw)
In-Reply-To: <20230424142800.3d519650@kernel.org>
On Mon, Apr 24, 2023 at 02:28:00PM -0700, Jakub Kicinski wrote:
> On Mon, 24 Apr 2023 17:25:08 +0800 Hangbin Liu wrote:
> > Maybe someone already has asked. The only official Linux bridge document I
> > got is a very ancient wiki page[1] or the ip link man page[2][3]. As there are
> > many bridge stp/vlan/multicast paramegers. Should we add a detailed kernel
> > document about each parameter? The parameter showed in ip link page seems
> > a little brief.
> >
> > I'd like to help do this work. But apparently neither my English nor my
> > understanding of the code is good enough. Anyway, if you want, I can help
> > write a draft version first and you (bridge maintainers) keep working on this.
> >
> > [1] https://wiki.linuxfoundation.org/networking/bridge
> > [2] https://man7.org/linux/man-pages/man8/bridge.8.html
> > [3] https://man7.org/linux/man-pages/man8/ip-link.8.html
>
> Sounds like we have 2 votes for the CLI man pages but I'd like to
> register a vote for in-kernel documentation.
>
> I work at a large company so my perspective may differ but from what
> I see:
>
> - users who want to call the kernel API should not have to look at
> the CLI's man
> - man pages use archaic and arcane markup, I'd like to know how many
> people actually know how it works and how many copy / paste / look;
> ReST is prevalent, simple and commonly understood
+1 for the obscure man page syntax. I can only do copy/paste when update it..
> - in-kernel docs are rendered on the web as soon as they hit linux-next
> - we can make sure documentation is provided with the kernel changes,
> in an ideal world it doesn't matter but in practice the CLI support
> may never happen (no to mention that iproute does not hold all CLI)
Yes. I saw bpf code add the doc in the header file (include/uapi/linux/bpf.h)
and generate to syscall page[1] or man page[2] directly. Another example is the
statistics.rst document, which takes *struct rtnl_link_stats64* description
drectly from the if_link.h. This should save a lot works to maintain another
file in Documentation. Maybe we can strive in this direction?
For example, we can just add descriptions for the enum in if_bridge.h and
if_link.h when add new features.
>
> Obviously if Stephen and Ido prefer to document the bridge CLI that's
> perfectly fine, it's their call :) For new sections of uAPI, however,
> I personally find in-kernel docs superior.
I understand the hard work to maintain docs in 3 different places with
different syntax (ip-link, bridge, in-kernel). Since we will sync the uapi
headers from kernel to iproute2. Can we use the similar way like kernel does
in iproute2. i.e. Link the header file's description in a document and
convert it to man page via rst2man? With this way we only need to maintain
the doc in 1 place, the kernel uapi headers.
NOTE: there may still need some adjustment in the iproute2 man page when add
new arguments.
[1] https://docs.kernel.org/userspace-api/ebpf/syscall.html
[2] https://man7.org/linux/man-pages/man7/bpf-helpers.7.html
[3] https://docs.kernel.org/networking/statistics.html
Thanks
Hangbin
WARNING: multiple messages have this Message-ID (diff)
From: Hangbin Liu <liuhangbin@gmail.com>
To: Jakub Kicinski <kuba@kernel.org>
Cc: netdev@vger.kernel.org, Roopa Prabhu <roopa@nvidia.com>,
Nikolay Aleksandrov <razor@blackwall.org>,
Ido Schimmel <idosch@nvidia.com>,
bridge@lists.linux-foundation.org
Subject: Re: [Question] Any plan to write/update the bridge doc?
Date: Tue, 25 Apr 2023 11:58:14 +0800 [thread overview]
Message-ID: <ZEdP1tSiGAgvy7s8@Laptop-X1> (raw)
In-Reply-To: <20230424142800.3d519650@kernel.org>
On Mon, Apr 24, 2023 at 02:28:00PM -0700, Jakub Kicinski wrote:
> On Mon, 24 Apr 2023 17:25:08 +0800 Hangbin Liu wrote:
> > Maybe someone already has asked. The only official Linux bridge document I
> > got is a very ancient wiki page[1] or the ip link man page[2][3]. As there are
> > many bridge stp/vlan/multicast paramegers. Should we add a detailed kernel
> > document about each parameter? The parameter showed in ip link page seems
> > a little brief.
> >
> > I'd like to help do this work. But apparently neither my English nor my
> > understanding of the code is good enough. Anyway, if you want, I can help
> > write a draft version first and you (bridge maintainers) keep working on this.
> >
> > [1] https://wiki.linuxfoundation.org/networking/bridge
> > [2] https://man7.org/linux/man-pages/man8/bridge.8.html
> > [3] https://man7.org/linux/man-pages/man8/ip-link.8.html
>
> Sounds like we have 2 votes for the CLI man pages but I'd like to
> register a vote for in-kernel documentation.
>
> I work at a large company so my perspective may differ but from what
> I see:
>
> - users who want to call the kernel API should not have to look at
> the CLI's man
> - man pages use archaic and arcane markup, I'd like to know how many
> people actually know how it works and how many copy / paste / look;
> ReST is prevalent, simple and commonly understood
+1 for the obscure man page syntax. I can only do copy/paste when update it..
> - in-kernel docs are rendered on the web as soon as they hit linux-next
> - we can make sure documentation is provided with the kernel changes,
> in an ideal world it doesn't matter but in practice the CLI support
> may never happen (no to mention that iproute does not hold all CLI)
Yes. I saw bpf code add the doc in the header file (include/uapi/linux/bpf.h)
and generate to syscall page[1] or man page[2] directly. Another example is the
statistics.rst document, which takes *struct rtnl_link_stats64* description
drectly from the if_link.h. This should save a lot works to maintain another
file in Documentation. Maybe we can strive in this direction?
For example, we can just add descriptions for the enum in if_bridge.h and
if_link.h when add new features.
>
> Obviously if Stephen and Ido prefer to document the bridge CLI that's
> perfectly fine, it's their call :) For new sections of uAPI, however,
> I personally find in-kernel docs superior.
I understand the hard work to maintain docs in 3 different places with
different syntax (ip-link, bridge, in-kernel). Since we will sync the uapi
headers from kernel to iproute2. Can we use the similar way like kernel does
in iproute2. i.e. Link the header file's description in a document and
convert it to man page via rst2man? With this way we only need to maintain
the doc in 1 place, the kernel uapi headers.
NOTE: there may still need some adjustment in the iproute2 man page when add
new arguments.
[1] https://docs.kernel.org/userspace-api/ebpf/syscall.html
[2] https://man7.org/linux/man-pages/man7/bpf-helpers.7.html
[3] https://docs.kernel.org/networking/statistics.html
Thanks
Hangbin
next prev parent reply other threads:[~2023-04-25 3:58 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-24 9:25 [Bridge] [Question] Any plan to write/update the bridge doc? Hangbin Liu
2023-04-24 9:25 ` Hangbin Liu
2023-04-24 15:46 ` [Bridge] " Ido Schimmel
2023-04-24 15:46 ` Ido Schimmel
2023-04-24 15:59 ` [Bridge] " Stephen Hemminger
2023-04-24 15:59 ` Stephen Hemminger
2023-04-25 8:04 ` [Bridge] " Nikolay Aleksandrov
2023-04-25 8:04 ` Nikolay Aleksandrov
2023-04-27 3:38 ` [Bridge] " Hangbin Liu
2023-04-27 3:38 ` Hangbin Liu
2023-04-24 21:28 ` [Bridge] " Jakub Kicinski
2023-04-24 21:28 ` Jakub Kicinski
2023-04-24 22:08 ` [Bridge] " Stephen Hemminger
2023-04-24 22:08 ` Stephen Hemminger
2023-04-25 3:58 ` Hangbin Liu [this message]
2023-04-25 3:58 ` Hangbin Liu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZEdP1tSiGAgvy7s8@Laptop-X1 \
--to=liuhangbin@gmail.com \
--cc=bridge@lists.linux-foundation.org \
--cc=idosch@nvidia.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=razor@blackwall.org \
--cc=roopa@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.