From: Dinesh Dutt <[email protected]>

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 <[email protected]>
---
 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 4fecb59..b1a3db2 100644
--- a/ospfd/ospf_nsm.c
+++ b/ospfd/ospf_nsm.c
@@ -322,7 +322,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 2dfe586..5b32c68 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.9.1


_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to