From: Christian Franke Date: Tue, 10 Nov 2015 17:32:11 +0000 (+0100) Subject: isisd: fix assertion in LSP refresh timer calculation X-Git-Tag: frr-2.0-rc1~1014 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=f3d2b2813d0b4b710c055aa71f487b290e2a91db;p=mirror%2Ffrr.git isisd: fix assertion in LSP refresh timer calculation Signed-off-by: Christian Franke Acked-by: Donald Sharp --- diff --git a/isisd/isis_lsp.c b/isisd/isis_lsp.c index 725288e311..17141477f4 100644 --- a/isisd/isis_lsp.c +++ b/isisd/isis_lsp.c @@ -1087,6 +1087,8 @@ lsp_rem_lifetime (struct isis_area *area, int level) 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 @@ lsp_refresh_time (struct isis_lsp *lsp, u_int16_t rem_lifetime) 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; }