]> git.puffer.fish Git - mirror/frr.git/commitdiff
[ospfd] Avoid getting NSM stuck in ExStart by using local view of DR/BDR
authorAndrew J. Schorr <ajschorr@alumni.princeton.edu>
Fri, 30 Jun 2006 03:21:05 +0000 (03:21 +0000)
committerAndrew J. Schorr <ajschorr@alumni.princeton.edu>
Fri, 30 Jun 2006 03:21:05 +0000 (03:21 +0000)
2006-06-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* ospf_nsm.c: (nsm_twoway_received) When deciding whether to
  change from state Init to ExStart, the test for whether the
  neighboring router is DR or BDR should be against the
  local router's notion of DR/BDR, not the neighbor's view.

ospfd/ChangeLog
ospfd/ospf_nsm.c

index f045c1d18a7c126edb3622f0f270d39b1be524f7..3975b07aef57915f585310352220a4a888d308cf 100644 (file)
@@ -1,3 +1,10 @@
+2006-06-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+       * ospf_nsm.c: (nsm_twoway_received) When deciding whether to
+         change from state Init to ExStart, the test for whether the
+         neighboring router is DR or BDR should be against the
+         local router's notion of DR/BDR, not the neighbor's view.
+
 2006-06-28 Erik Muller <erikm@internap.com>
 
        * ospfd.h: Define 2 new struct ospf config flags:
index 878ab56798f38f4cea3a1acb89b9735c5908627d..df9a525107c0d40137d94a8c59507a98c310b231 100644 (file)
@@ -203,8 +203,8 @@ nsm_twoway_received (struct ospf_neighbor *nbr)
     next_state = NSM_ExStart;
 
   /* Neighboring Router is the DRouter or the BDRouter. */
-  if (IPV4_ADDR_SAME (&nbr->address.u.prefix4, &nbr->d_router) ||
-      IPV4_ADDR_SAME (&nbr->address.u.prefix4, &nbr->bd_router))
+  if (IPV4_ADDR_SAME (&nbr->address.u.prefix4, &DR(oi)) ||
+      IPV4_ADDR_SAME (&nbr->address.u.prefix4, &BDR(oi)))
     next_state = NSM_ExStart;
 
   return next_state;