HomeFreeBSD

nd6: Fix the routing table subscription

Description

nd6: Fix the routing table subscription

The nd6 code listens for RTM_DELETE events so that it can mark the
corresponding default router as inactive in the case where the default
route is deleted. A subsequent RA from the router may then reinstall
the default route.

Commit fedeb08b6a58e broke this for non-multipath routes, as
rib_decompose_notification() only invokes the callback for multipath
routes. Restore the old behaviour. Also ensure that we update the
router only for RTM_DELETE notifications, lost in commit 2259a03020fe0.

Reviewed by: bz
Fixes: fedeb08b6a58 ("Introduce scalable route multipath.")
Fixes: 2259a03020fe ("Rework part of routing code to reduce difference to D26449.")
MFC after: 2 weeks
Sponsored by: Klara, Inc.
Sponsored by: Bell Tower Integration
Differential Revision: https://reviews.freebsd.org/D46020

(cherry picked from commit a48df53e4249499be3e8779dd30888a405aa81ae)

Details

Provenance
markjAuthored on Jul 25 2024, 2:26 PM
Reviewer
rGfedeb08b6a58: Introduce scalable route multipath.
Differential Revision
D46020: nd6: Fix the routing table subscription
Parents
rG03bef9971d73: libnv: verify that string is null terminated
Branches
Unknown
Tags
Unknown