OSPF: Fix ECMP external merging

The variable nfa is not cleaned before each loop iteration and can have
a wrong value of nfa.nhs_reuse from the previous step.

Thanks to Bernardo Figueiredo for the bugreport and analysis.
This commit is contained in:
Ondrej Zajicek (work) 2016-12-15 15:31:25 +01:00
parent 9e7d3a7810
commit 7d95c44572

View file

@ -1405,7 +1405,6 @@ ospf_ext_spf(struct ospf_proto *p)
struct top_hash_entry *en;
struct ospf_lsa_ext_local rt;
ort *nf1, *nf2;
orta nfa = {};
ip_addr rtid;
u32 br_metric;
struct ospf_area *atmp;
@ -1414,6 +1413,8 @@ ospf_ext_spf(struct ospf_proto *p)
WALK_SLIST(en, p->lsal)
{
orta nfa = {};
/* 16.4. (1) */
if ((en->lsa_type != LSA_T_EXT) && (en->lsa_type != LSA_T_NSSA))
continue;