From: Guillaume Nault <gnault@redhat.com>
To: Alejandro Colomar <alx@kernel.org>
Cc: linux-man@vger.kernel.org
Subject: Re: [PATCH] rtnetlink.7: Document metrics attributes (RTAX_*).
Date: Wed, 8 Oct 2025 16:41:19 +0200 [thread overview]
Message-ID: <aOZ4D47TGxNPWqSE@debian> (raw)
In-Reply-To: <accjbqimswux57cgstzl2jrtqlnbxsuqhmmfjqguat7fk7kzlz@oy545lcy52to>
On Thu, Oct 02, 2025 at 11:33:09PM +0200, Alejandro Colomar wrote:
> Hi Guillaume,
>
> On Fri, Sep 19, 2025 at 12:53:55PM +0200, Guillaume Nault wrote:
> > Add a brief explanation of the RTAX attributes that can be used in
> > RTA_METRICS.
> >
> > Signed-off-by: Guillaume Nault <gnault@redhat.com>
> > ---
> > man/man7/rtnetlink.7 | 49 +++++++++++++++++++++++++++++++++++++++++++-
> > 1 file changed, 48 insertions(+), 1 deletion(-)
> >
> > diff --git a/man/man7/rtnetlink.7 b/man/man7/rtnetlink.7
> > index cb9f5155f..a04edce79 100644
> > --- a/man/man7/rtnetlink.7
> > +++ b/man/man7/rtnetlink.7
> > @@ -342,7 +342,11 @@ RTA_OIF:int:Output interface index
> > RTA_GATEWAY:protocol address:The gateway of the route
> > RTA_PRIORITY:int:Priority of route
> > RTA_PREFSRC:protocol address:Preferred source address
> > -RTA_METRICS:int:Route metric
> > +RTA_METRICS::T{
> > +Route metrics
> > +.br
> > +(see below).
> > +T}
> > RTA_MULTIPATH::T{
> > Multipath nexthop data
> > .br
> > @@ -384,6 +388,49 @@ routes (in seconds)
> > T}
> > .TE
> > .IP
> > +.B RTA_METRICS
> > +contains an array of
> > +.I struct rtattr
> > +with their corresponding attributes:
> > +.IP
> > +.in +4n
>
> I would use
>
> .RS
> .IP
>
> and get rid of the .in +4n.
I have no preference, I was just following the commands used elsewhere
in this man page.
> > +.TS
> > +tab(:);
> > +c s s
> > +lb l l.
> > +Attributes
> > +rta_type:Value type:Description
> > +_
> > +RTAX_UNSPEC:-:unspecified
> > +RTAX_LOCK:__u32:Bit field indicating which RTAX_* attributes are locked
> > +RTAX_MTU:__u32:Maximum Transmission Unit for this route
> > +RTAX_WINDOW:__u32:Maximum size of the receive window for this route
> > +RTAX_RTT:__u32:Estimated round-trip time for this route
> > +RTAX_RTTVAR:__u32:Estimated round-trip time variation for this route
> > +RTAX_SSTHRESH:__u32:Slow start threshold to use for this route
> > +RTAX_CWND:__u32:Maximum size of the congestion window for this route
> > +RTAX_ADVMSS:__u32:Maximum Segment Size to advertise for this route
> > +RTAX_REORDERING:__u32:Initial reordering level of packets for this route
> > +RTAX_HOPLIMIT:__u32:Hop limit (TTL) to use for this route
> > +RTAX_INITCWND:__u32:Initial congestion window to use for this route
> > +RTAX_FEATURES:__u32:Features to enable for this route specifically
> > +RTAX_RTO_MIN:__u32:Minimum Retransmission TimeOut to use for this route
> > +RTAX_INITRWND:__u32:Initial size of the receive window for this route
> > +RTAX_QUICKACK:__u32:Use quick ack for this route
> > +RTAX_CC_ALGO:asciiz string:Congestion Control algorithm to use for this route
> > +RTAX_FASTOPEN_NO_COOKIE:__u32:Allow TCP Fast Open without cookie
> > +.TE
>
> And here use .RE.
Okay, I'll use .RS/.RE in v2.
> > +.IP
> > +Metrics that are locked with
> > +.B RTAX_LOCK
> > +take precedence over the values normally used by the kernel
> > +(computed or assigned by a sysctl or setsockopt(2)).
> > +Therefore, some metrics, like
> > +.BR RTAX_RTO_MIN ,
> > +have no effect unless their bit is set in
> > +.BR RTAX_LOCK .
> > +.in
>
> I find this placement of .in weird. The preceding paragraph isn't
> indented by it. I think I prefer using .RS/.RE, and then you'd have to
> put .RE before this paragraph to get the same indentation.
>
> Here's how your patch looks like:
>
> $ MANWIDTH=72 diffman-git HEAD 2>/dev/null
> --- HEAD^:man/man7/rtnetlink.7
> +++ HEAD:man/man7/rtnetlink.7
> @@ -218,7 +218,8 @@ DESCRIPTION
> RTA_GATEWAY protocol address The gateway of the route
> RTA_PRIORITY int Priority of route
> RTA_PREFSRC protocol address Preferred source address
> - RTA_METRICS int Route metric
> + RTA_METRICS Route metrics
> + (see below).
> RTA_MULTIPATH Multipath nexthop data
> (see below).
> RTA_PROTOINFO No longer used
> @@ -242,6 +243,37 @@ DESCRIPTION
> RTA_EXPIRES int Expire time for IPv6
> routes (in seconds)
>
> + RTA_METRICS contains an array of struct rtattr with their
> + corresponding attributes:
> +
> + Attributes
> + rta_type Value type Description
> + ──────────────────────────────────────────────────────────────────────────────────────────────────
> + RTAX_UNSPEC ‐ unspecified
> + RTAX_LOCK __u32 Bit field indicating which RTAX_* attributes are locked
> + RTAX_MTU __u32 Maximum Transmission Unit for this route
> + RTAX_WINDOW __u32 Maximum size of the receive window for this route
> + RTAX_RTT __u32 Estimated round‐trip time for this route
> + RTAX_RTTVAR __u32 Estimated round‐trip time variation for this route
> + RTAX_SSTHRESH __u32 Slow start threshold to use for this route
> + RTAX_CWND __u32 Maximum size of the congestion window for this route
> + RTAX_ADVMSS __u32 Maximum Segment Size to advertise for this route
> + RTAX_REORDERING __u32 Initial reordering level of packets for this route
> + RTAX_HOPLIMIT __u32 Hop limit (TTL) to use for this route
> + RTAX_INITCWND __u32 Initial congestion window to use for this route
> + RTAX_FEATURES __u32 Features to enable for this route specifically
> + RTAX_RTO_MIN __u32 Minimum Retransmission TimeOut to use for this route
> + RTAX_INITRWND __u32 Initial size of the receive window for this route
> + RTAX_QUICKACK __u32 Use quick ack for this route
> + RTAX_CC_ALGO asciiz string Congestion Control algorithm to use for this route
> + RTAX_FASTOPEN_NO_COOKIE __u32 Allow TCP Fast Open without cookie
> +
> + Metrics that are locked with RTAX_LOCK take precedence over
> + the values normally used by the kernel (computed or as‐
> + signed by a sysctl or setsockopt(2)). Therefore, some met‐
> + rics, like RTAX_RTO_MIN, have no effect unless their bit is
> + set in RTAX_LOCK.
> +
> RTA_MULTIPATH contains several packed instances of struct
> rtnexthop together with nested RTAs (RTA_GATEWAY):
>
> Is this indentation what you intended?
Yes. Is that indentation confusing? I can change it if necessary.
>
> Have a lovely night!
> Alex
>
> > +.IP
> > .B RTA_MULTIPATH
> > contains several packed instances of
> > .I struct rtnexthop
> > --
> > 2.47.3
> >
>
> --
> <https://www.alejandro-colomar.es>
> Use port 80 (that is, <...:80/>).
next prev parent reply other threads:[~2025-10-08 14:41 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-19 10:53 [PATCH] rtnetlink.7: Document metrics attributes (RTAX_*) Guillaume Nault
2025-10-02 14:43 ` Guillaume Nault
2025-10-02 14:59 ` Alejandro Colomar
2025-10-02 15:06 ` Guillaume Nault
2025-10-02 21:33 ` Alejandro Colomar
2025-10-08 14:41 ` Guillaume Nault [this message]
2025-10-08 16:05 ` Alejandro Colomar
2025-10-08 18:51 ` Guillaume Nault
2025-10-12 21:28 ` Alejandro Colomar
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=aOZ4D47TGxNPWqSE@debian \
--to=gnault@redhat.com \
--cc=alx@kernel.org \
--cc=linux-man@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox