summaryrefslogtreecommitdiff
path: root/proto/ospf
diff options
context:
space:
mode:
authorOndrej Zajicek (work) <santiago@crfreenet.org>2018-12-17 17:01:08 +0100
committerOndrej Zajicek (work) <santiago@crfreenet.org>2018-12-17 17:01:08 +0100
commitcea2e25f417866129ce7e78f1c078e993743173c (patch)
tree0863e3cb218fa8c89d7ca5046102947ce163b774 /proto/ospf
parent1cab2b4a7cffb7ad604dcbd200267733ef079973 (diff)
OSPF: Fix wrong LSA collisions detection
In some circumstances (old LSA flushed but not acknowledged and not removed) origination of a new LSA may wrongly triggers LSA collision code. The patch fixes that. Thanks to Asbjorn Mikkelsen for the bugreport and @mdelagueronniere for the original patch.
Diffstat (limited to 'proto/ospf')
-rw-r--r--proto/ospf/topology.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/proto/ospf/topology.c b/proto/ospf/topology.c
index 03b77349..e58f1375 100644
--- a/proto/ospf/topology.c
+++ b/proto/ospf/topology.c
@@ -404,6 +404,8 @@ ospf_refresh_lsa(struct ospf_proto *p, struct top_hash_entry *en)
void
ospf_flush_lsa(struct ospf_proto *p, struct top_hash_entry *en)
{
+ en->nf = NULL;
+
if (en->next_lsa_body)
{
mb_free(en->next_lsa_body);