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
This commit is contained in:
parent
f25fa6abb2
commit
42cb3aa492
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=196649
@ -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) {
|
||||
|
Loading…
Reference in New Issue
Block a user