isisd: fix assertion in LSP refresh timer calculation
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Acked-by: Donald Sharp <sharpd@cumulusnetworks.com>
diff --git a/isisd/isis_lsp.c b/isisd/isis_lsp.c
index 9ac0221..2b478b1 100644
--- a/isisd/isis_lsp.c
+++ b/isisd/isis_lsp.c
@@ -1087,6 +1087,8 @@
MAX_AGE_JITTER);
/* No jitter if the max refresh will be less than configure gen interval */
+ /* N.B. this calucation is acceptable since rem_lifetime is in [332,65535] at
+ * this point */
if (area->lsp_gen_interval[level - 1] > (rem_lifetime - 300))
rem_lifetime = area->max_lsp_lifetime[level - 1];
@@ -1110,7 +1112,8 @@
refresh_time > (rem_lifetime - 300))
refresh_time = rem_lifetime - 300;
- assert (area->lsp_gen_interval[level - 1] < refresh_time);
+ /* In cornercases, refresh_time might be <= lsp_gen_interval, however
+ * we accept this violation to satisfy refresh_time <= rem_lifetime - 300 */
return refresh_time;
}