mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-06-19 21:13:53 +00:00
ospfd: make ospf_maxage_lsa_remover actually yield
ospf_maxage_lsa_remover whould check whether to yield, but run on anyway. Signed-off-by: Christian Franke <chris@opensourcerouting.org> Signed-off-by: Joachim Nilsson <troglobit@gmail.com> Signed-off-by: David Lamparter <equinox@diac24.net>
This commit is contained in:
parent
77ef01392f
commit
4de8bf0011
@ -2843,6 +2843,9 @@ ospf_maxage_lsa_remover (struct thread *thread)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* There is at least one neighbor from which we still await an ack
|
||||||
|
* for that LSA, so we are not allowed to remove it from our lsdb yet
|
||||||
|
* as per RFC 2328 section 14 para 4 a) */
|
||||||
if (lsa->retransmit_counter > 0)
|
if (lsa->retransmit_counter > 0)
|
||||||
{
|
{
|
||||||
reschedule = 1;
|
reschedule = 1;
|
||||||
@ -2851,7 +2854,10 @@ ospf_maxage_lsa_remover (struct thread *thread)
|
|||||||
|
|
||||||
/* TODO: maybe convert this function to a work-queue */
|
/* TODO: maybe convert this function to a work-queue */
|
||||||
if (thread_should_yield (thread))
|
if (thread_should_yield (thread))
|
||||||
OSPF_TIMER_ON (ospf->t_maxage, ospf_maxage_lsa_remover, 0);
|
{
|
||||||
|
OSPF_TIMER_ON (ospf->t_maxage, ospf_maxage_lsa_remover, 0);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* Remove LSA from the LSDB */
|
/* Remove LSA from the LSDB */
|
||||||
if (IS_LSA_SELF (lsa))
|
if (IS_LSA_SELF (lsa))
|
||||||
|
Loading…
Reference in New Issue
Block a user