diff options
Diffstat (limited to 'ospfd/ospf_route.c')
| -rw-r--r-- | ospfd/ospf_route.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ospfd/ospf_route.c b/ospfd/ospf_route.c index 6360d8ec60..9b9b61bdb3 100644 --- a/ospfd/ospf_route.c +++ b/ospfd/ospf_route.c @@ -986,6 +986,16 @@ void ospf_prune_unreachable_routers(struct route_table *rtrs) &or->u.std.area_id); } + /* Unset the DNA flag on lsa, if the router + * which generated this lsa is no longer + * reachabele. + */ + (CHECK_FLAG(or->u.std.origin->ls_age, + DO_NOT_AGE)) + ? UNSET_FLAG(or->u.std.origin->ls_age, + DO_NOT_AGE) + : 0; + listnode_delete(paths, or); ospf_route_free(or); } |
