summaryrefslogtreecommitdiff
path: root/ospfd/ospf_flood.c
diff options
context:
space:
mode:
Diffstat (limited to 'ospfd/ospf_flood.c')
-rw-r--r--ospfd/ospf_flood.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/ospfd/ospf_flood.c b/ospfd/ospf_flood.c
index 0f485fe3..41661da2 100644
--- a/ospfd/ospf_flood.c
+++ b/ospfd/ospf_flood.c
@@ -133,10 +133,8 @@ ospf_process_self_originated_lsa (struct ospf *ospf,
{
case OSPF_ROUTER_LSA:
/* Originate a new instance and schedule flooding */
- /* It shouldn't be necessary, but anyway */
- ospf_lsa_unlock (&area->router_lsa_self);
- area->router_lsa_self = ospf_lsa_lock (new);
-
+ if (area->router_lsa_self)
+ area->router_lsa_self->data->ls_seqnum = new->data->ls_seqnum;
ospf_router_lsa_timer_add (area);
return;
case OSPF_NETWORK_LSA:
@@ -170,9 +168,8 @@ ospf_process_self_originated_lsa (struct ospf *ospf,
}
#endif /* HAVE_OPAQUE_LSA */
- ospf_lsa_unlock (&oi->network_lsa_self);
- oi->network_lsa_self = ospf_lsa_lock (new);
-
+ if (oi->network_lsa_self)
+ oi->network_lsa_self->data->ls_seqnum = new->data->ls_seqnum;
/* Schedule network-LSA origination. */
ospf_network_lsa_timer_add (oi);
return;