NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/55091 CVS commit: [netbsd-7-1] src/sys/netinet6



The following reply was made to PR kern/55091; it has been noted by GNATS.

From: "Martin Husemann" <martin%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc: 
Subject: PR/55091 CVS commit: [netbsd-7-1] src/sys/netinet6
Date: Wed, 15 Apr 2020 14:58:41 +0000

 Module Name:	src
 Committed By:	martin
 Date:		Wed Apr 15 14:58:41 UTC 2020
 
 Modified Files:
 	src/sys/netinet6 [netbsd-7-1]: nd6_rtr.c
 
 Log Message:
 Pull up following revision(s) (requested by kim in ticket #1727):
 
 	sys/netinet6/nd6_rtr.c: revision 1.148 (via patch)
 
 Fix default route selection
 
 The primary issue was that in revision 1.79 a check was added in the
 nd6_defrouter_select() search loop to ignore the entry if RA processing
 is enabled on its interface.  In practice this results in all entries
 being ignored.
 
 This fix reverses the condition, so that an entry is ignored when RA
 processing is NOT enabled on its interface.  Further, the entry is
 only ignored for being selected as the default router.  The currently
 installed router must be identified regardless of the (current) status
 of its interface, so that we can delete the route before installing a
 new one.
 
 I also added error logging when adding or deleting a route fails. This
 should help the administrator (or kernel developer) in noticing possible
 problems.
 
 Finally, if deleting a route fails, the corresponding default route
 entry no longer has its "installed" flag cleared, so that deletion will
 be retried.  At a minimum, this will cause repeated messages about the
 failed deletion as opposed to only getting repeated messages about the
 installation of a new default route failing.
 
 Fixes PR kern/55091 and also PR bin/54997 as far as the behaviour
 observed with ndp(8).
 
 
 To generate a diff of this commit:
 cvs rdiff -u -r1.93.2.3 -r1.93.2.3.6.1 src/sys/netinet6/nd6_rtr.c
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.
 


Home | Main Index | Thread Index | Old Index