mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-04-30 08:44:14 +00:00
ospf6d: Link LSAs are not getting MAX_AGE in neighbor
When the ospf6 daemon goes down, it originates MAX_AGE LSAs for all the self-originated LSAs so that it gets flushed from the neighbor's database. But the link-LSAs are not getting MAX_AGE. Set the self-originated link-LSAs age to MAX_AGE and flood it Signed-off-by: Yash Ranjan <ranjany@vmware.com>
This commit is contained in:
parent
45af60f0bb
commit
e161c2dc9e
@ -853,11 +853,12 @@ int ospf6_lsa_refresh(struct thread *thread)
|
|||||||
|
|
||||||
void ospf6_flush_self_originated_lsas_now(struct ospf6 *ospf6)
|
void ospf6_flush_self_originated_lsas_now(struct ospf6 *ospf6)
|
||||||
{
|
{
|
||||||
struct listnode *node;
|
struct listnode *node, *nnode;
|
||||||
struct ospf6_area *oa;
|
struct ospf6_area *oa;
|
||||||
struct ospf6_lsa *lsa;
|
struct ospf6_lsa *lsa;
|
||||||
const struct route_node *end = NULL;
|
const struct route_node *end = NULL;
|
||||||
uint32_t type, adv_router;
|
uint32_t type, adv_router;
|
||||||
|
struct ospf6_interface *oi;
|
||||||
|
|
||||||
ospf6->inst_shutdown = 1;
|
ospf6->inst_shutdown = 1;
|
||||||
|
|
||||||
@ -872,6 +873,19 @@ void ospf6_flush_self_originated_lsas_now(struct ospf6 *ospf6)
|
|||||||
|
|
||||||
lsa = ospf6_lsdb_next(end, lsa);
|
lsa = ospf6_lsdb_next(end, lsa);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (ALL_LIST_ELEMENTS(oa->if_list, node, nnode, oi)) {
|
||||||
|
end = ospf6_lsdb_head(oi->lsdb_self, 0, 0,
|
||||||
|
ospf6->router_id, &lsa);
|
||||||
|
while (lsa) {
|
||||||
|
/* RFC 2328 (14.1): Set MAXAGE */
|
||||||
|
lsa->header->age = htons(OSPF_LSA_MAXAGE);
|
||||||
|
/* Flood MAXAGE LSA*/
|
||||||
|
ospf6_flood(NULL, lsa);
|
||||||
|
|
||||||
|
lsa = ospf6_lsdb_next(end, lsa);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type = htons(OSPF6_LSTYPE_AS_EXTERNAL);
|
type = htons(OSPF6_LSTYPE_AS_EXTERNAL);
|
||||||
|
Loading…
Reference in New Issue
Block a user