From: Christian Franke Date: Sun, 30 Jul 2017 17:27:25 +0000 (+0200) Subject: isisd: only process overload info from fragment #0 X-Git-Tag: frr-4.0-dev~465^2~1 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=39a275aa0fefda85913e454d82bccf536032ddd7;p=mirror%2Ffrr.git isisd: only process overload info from fragment #0 Signed-off-by: Christian Franke --- diff --git a/isisd/isis_spf.c b/isisd/isis_spf.c index bf70c61e4c..740f087ee7 100644 --- a/isisd/isis_spf.c +++ b/isisd/isis_spf.c @@ -674,6 +674,12 @@ static int isis_spf_process_lsp(struct isis_spftree *spftree, && !mt_router_info) return ISIS_OK; + /* RFC3787 section 4 SHOULD ignore overload bit in pseudo LSPs */ + bool no_overload = (pseudo_lsp + || (spftree->mtid == ISIS_MT_IPV4_UNICAST + && !ISIS_MASK_LSP_OL_BIT(lsp->hdr.lsp_bits)) + || (mt_router_info && !mt_router_info->overload)); + lspfragloop: if (lsp->hdr.seqno == 0) { zlog_warn( @@ -686,12 +692,7 @@ lspfragloop: print_sys_hostname(lsp->hdr.lsp_id)); #endif /* EXTREME_DEBUG */ - /* RFC3787 section 4 SHOULD ignore overload bit in pseudo LSPs */ - if (pseudo_lsp || (spftree->mtid == ISIS_MT_IPV4_UNICAST - && !ISIS_MASK_LSP_OL_BIT(lsp->hdr.lsp_bits)) - || (mt_router_info && !mt_router_info->overload)) - - { + if (no_overload) { if (pseudo_lsp || spftree->mtid == ISIS_MT_IPV4_UNICAST) { struct isis_oldstyle_reach *r; for (r = (struct isis_oldstyle_reach *)