svn commit: r196649 - head/sys/netinet6
Qing Li
qingli at FreeBSD.org
Sun Aug 30 02:07:23 UTC 2009
Author: qingli
Date: Sun Aug 30 02:07:23 2009
New Revision: 196649
URL: http://svn.freebsd.org/changeset/base/196649
Log:
Prefix on-link verification is being performed on statically
configured prefixes. Since these statically configured prefixes
do not have any associated advertising routers, these prefixes
are treated as unreachable and those prefix routes are deleted
from the routing table. Therefore bypass prefixes that are not
learned from router advertisements during prefix on-link check.
Reviewed by: hrs
Modified:
head/sys/netinet6/nd6_rtr.c
Modified: head/sys/netinet6/nd6_rtr.c
==============================================================================
--- head/sys/netinet6/nd6_rtr.c Sat Aug 29 21:53:08 2009 (r196648)
+++ head/sys/netinet6/nd6_rtr.c Sun Aug 30 02:07:23 2009 (r196649)
@@ -1415,6 +1415,9 @@ pfxlist_onlink_check()
if (pr->ndpr_raf_onlink == 0)
continue;
+ if (pr->ndpr_raf_auto == 0)
+ continue;
+
if ((pr->ndpr_stateflags & NDPRF_DETACHED) == 0 &&
find_pfxlist_reachable_router(pr) == NULL)
pr->ndpr_stateflags |= NDPRF_DETACHED;
@@ -1431,6 +1434,9 @@ pfxlist_onlink_check()
if (pr->ndpr_raf_onlink == 0)
continue;
+ if (pr->ndpr_raf_auto == 0)
+ continue;
+
if ((pr->ndpr_stateflags & NDPRF_DETACHED) != 0)
pr->ndpr_stateflags &= ~NDPRF_DETACHED;
}
@@ -1454,6 +1460,9 @@ pfxlist_onlink_check()
if (pr->ndpr_raf_onlink == 0)
continue;
+ if (pr->ndpr_raf_auto == 0)
+ continue;
+
if ((pr->ndpr_stateflags & NDPRF_DETACHED) != 0 &&
(pr->ndpr_stateflags & NDPRF_ONLINK) != 0) {
if ((e = nd6_prefix_offlink(pr)) != 0) {
More information about the svn-src-all
mailing list