summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ospf6d/ospf6_flood.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/ospf6d/ospf6_flood.c b/ospf6d/ospf6_flood.c
index 186eac35a..fa43c37ac 100644
--- a/ospf6d/ospf6_flood.c
+++ b/ospf6d/ospf6_flood.c
@@ -1028,15 +1028,8 @@ void ospf6_receive_lsa(struct ospf6_neighbor *from,
if (old)
ospf6_flood_clear(old);
- /* (b) immediately flood and (c) remove from all retrans-list */
- /* Prevent self-originated LSA to be flooded. this is to make
- reoriginated instance of the LSA not to be rejected by other
- routers
- due to MinLSArrival. */
self_originated = (new->header->adv_router
== from->ospf6_if->area->ospf6->router_id);
- if (!self_originated)
- ospf6_flood(from, new);
/* Received non-self-originated Grace LSA. */
if (IS_GRACE_LSA(new) && !self_originated) {
@@ -1082,6 +1075,14 @@ void ospf6_receive_lsa(struct ospf6_neighbor *from,
}
}
+ /* (b) immediately flood and (c) remove from all retrans-list */
+ /* Prevent self-originated LSA to be flooded. this is to make
+ * reoriginated instance of the LSA not to be rejected by other
+ * routers due to MinLSArrival.
+ */
+ if (!self_originated)
+ ospf6_flood(from, new);
+
/* (d), installing lsdb, which may cause routing
table calculation (replacing database copy) */
ospf6_install_lsa(new);