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
d105721a22
commit
e888e87097
@ -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…
x
Reference in New Issue
Block a user