mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-29 09:44:26 +00:00
Merge pull request #8291 from volta-networks/isis_timer_unstable
isisd: avoid lsp_sched loop when unstable
This commit is contained in:
commit
cd28e264a3
@ -1561,15 +1561,25 @@ int _lsp_regenerate_schedule(struct isis_area *area, int level,
|
||||
/*
|
||||
* Schedule LSP refresh ASAP
|
||||
*/
|
||||
timeout = 0;
|
||||
|
||||
if (area->bfd_signalled_down) {
|
||||
sched_debug(
|
||||
"ISIS (%s): Scheduling immediately due to BDF 'down' message.",
|
||||
area->area_tag);
|
||||
area->bfd_signalled_down = false;
|
||||
area->bfd_force_spf_refresh = true;
|
||||
timeout = 0;
|
||||
} else {
|
||||
int64_t time_since_last = monotime_since(
|
||||
&area->last_lsp_refresh_event[lvl - 1],
|
||||
NULL);
|
||||
timeout = time_since_last < 100000L
|
||||
? (100000L - time_since_last)/1000
|
||||
: 0;
|
||||
if (timeout > 0)
|
||||
sched_debug(
|
||||
"ISIS (%s): Last generation was more than lsp_gen_interval ago. Scheduling for execution in %ld ms due to the instability timer.",
|
||||
area->area_tag, timeout);
|
||||
else
|
||||
sched_debug(
|
||||
"ISIS (%s): Last generation was more than lsp_gen_interval ago. Scheduling for execution now.",
|
||||
area->area_tag);
|
||||
|
Loading…
Reference in New Issue
Block a user