From: Alex Henrie <alexhenrie24@xxxxxxxxx> Date: Mon, 4 Nov 2024 21:14:20 -0700 > struct ifa_cacheinfo contains the address's creation time, update time, > preferred lifetime, and valid lifetime. See > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/uapi/linux/if_addr.h?h=v6.11#n60 > > Signed-off-by: Alex Henrie <alexhenrie24@xxxxxxxxx> > --- > man/man7/rtnetlink.7 | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/man/man7/rtnetlink.7 b/man/man7/rtnetlink.7 > index 86ed459bb..b05654315 100644 > --- a/man/man7/rtnetlink.7 > +++ b/man/man7/rtnetlink.7 > @@ -176,7 +176,15 @@ IFA_BROADCAST:raw protocol address:broadcast address > IFA_ANYCAST:raw protocol address:anycast address > IFA_CACHEINFO:struct ifa_cacheinfo:Address information > .TE > -.\" FIXME Document struct ifa_cacheinfo > +.IP > +.EX > +struct ifa_cacheinfo { > + __u32 ifa_prefered; /* Preferred lifetime in seconds, -1 = forever */ > + __u32 ifa_valid; /* Valid lifetime in seconds, -1 = forever */ -1 should be rather 0xFFFFFFFF (INFINITY_LIFE_TIME) as it's unsigned. Also, it would be nice to mention that ifa_prefered must be less than or equal to ifa_valid (ifa_prefered <= ifa_valid) and 0 is invalid for ifa_valid. 0 <= ifa_prefered <= ifa_valid 0 < ifa_valid <= 0xFFFFFFFF > + __u32 cstamp; /* Creation timestamp in hundredths of seconds */ > + __u32 tstamp; /* Update timestamp in hundredths of seconds */ > +}; Maybe the explanation can follow the struct here as sentences. > +.EE > .TP > .B RTM_NEWROUTE > .TQ > -- > 2.47.0