summaryrefslogtreecommitdiff
path: root/ospfd/ospf_lsa.c
diff options
context:
space:
mode:
Diffstat (limited to 'ospfd/ospf_lsa.c')
-rw-r--r--ospfd/ospf_lsa.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/ospfd/ospf_lsa.c b/ospfd/ospf_lsa.c
index 18eed79e..15a6a4c4 100644
--- a/ospfd/ospf_lsa.c
+++ b/ospfd/ospf_lsa.c
@@ -2451,7 +2451,10 @@ ospf_router_lsa_install (struct ospf *ospf,
if (rt_recalc)
ospf_spf_calculate_schedule (ospf);
- if (IS_LSA_SELF (new))
+ /* Only install LSA if it is originated/refreshed by us.
+ * If LSA was received by flooding, the RECEIVED flag is set so do
+ * not link the LSA */
+ if (IS_LSA_SELF (new) && !CHECK_FLAG (new->flags, OSPF_LSA_RECEIVED))
{
/* Set router-LSA refresh timer. */
OSPF_TIMER_OFF (area->t_router_lsa_self);