diff --git a/ospfd/ospf_nsm.c b/ospfd/ospf_nsm.c index 2cbd04bbee..b733878496 100644 --- a/ospfd/ospf_nsm.c +++ b/ospfd/ospf_nsm.c @@ -338,7 +338,8 @@ nsm_exchange_done (struct ospf_neighbor *nbr) return NSM_Full; /* Send Link State Request. */ - ospf_ls_req_send (nbr); + if (nbr->t_ls_req == NULL) + ospf_ls_req_send (nbr); return NSM_Loading; } diff --git a/ospfd/ospf_packet.c b/ospfd/ospf_packet.c index fb86f3fc81..7a4d027843 100644 --- a/ospfd/ospf_packet.c +++ b/ospfd/ospf_packet.c @@ -1205,6 +1205,9 @@ ospf_db_desc_proc (struct stream *s, struct ospf_interface *oi, /* Save received neighbor values from DD. */ ospf_db_desc_save_current (nbr, dd); + + if (!nbr->t_ls_req) + ospf_ls_req_send (nbr); } static int