[Bug 263982] IPv6 Router Advertisement - Route Information Option

From: <bugzilla-noreply_at_freebsd.org>
Date: Sat, 16 Nov 2024 01:10:06 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=263982

--- Comment #5 from David T <dxdt@dev.snart.me> ---
UPDATE: a few things to look out for

I just learned that NetworkManager ignores lifetime value in RA messages. What
it also ignores is the RIO with zero prefix length, which is in violation of
RFC 4191. Pushing default route with an RIO is valid, inferred from following:

> When a type C host receives a Router Advertisement, it modifies its
   Routing Table as follows.  When processing a Router Advertisement, a
   type C host first updates a ::/0 route based on the Router Lifetime
   and Default Router Preference in the Router Advertisement message
   header.  Then as the host processes Route Information Options in the
   Router Advertisement message body, it updates its routing table for
   each such option.  The Router Preference and Lifetime values in a
   ::/0 Route Information Option override the preference and lifetime
   values in the Router Advertisement header.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/blob/main/src/core/ndisc/nm-lndp-ndisc.c#L243

Bugs like these may have prompted pfSense devs to use RIO to push default
route. There could be some implementations that ignore the lifetime value in
the header but honor lifetime value in the RIO. I'd suggest carefully reviewing
RFC 4191 before implementing it in rtsold.

The lifetime field is crucial when making the network fault-tolerant against
router failures.

-- 
You are receiving this mail because:
You are the assignee for the bug.