From: Dinesh Dutt <dd...@cumulusnetworks.com>

ANVL test 17.5. The current implementation wouldn't start sending LSReq unti
the DB Desc packets have all been received (no M bit). This caused the test
choke up. RFC 2328 allows for sending LSReq on receiving the first DbDesc
packet as long as the nbr state is Exchange. This patch fixes that.

Signed-off-by: Dinesh Dutt <dd...@cumulusnetworks.com>
---
 ospfd/ospf_nsm.c    |    3 ++-
 ospfd/ospf_packet.c |    3 +++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/ospfd/ospf_nsm.c b/ospfd/ospf_nsm.c
index 6208912..7884514 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 ce514dd..54ef1fb 100644
--- a/ospfd/ospf_packet.c
+++ b/ospfd/ospf_packet.c
@@ -1168,6 +1168,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
-- 
1.7.10.4


_______________________________________________
Quagga-dev mailing list
Quagga-dev@lists.quagga.net
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to