[Xorp-hackers] OSPF & migrating remote routers.

Ben Greear greearb at candelatech.com
Thu Oct 4 18:02:49 PDT 2007

The current implementation of OSPF, if the remote router-id
changes, but the remote interface IP doesn't change, then OSPF
doesn't notice that there is a new peer because it searches
on the interface IPs instead of the router-id.

With the patch below, it searches by router-id on broadcast
interfaces too, and then it works in my case (I'm using
ethernet-like interfaces.)

What is the reason for searching by anything other than router-id,
regardless of the interface type?


RCS file: /cvs/xorp/ospf/peer.cc,v
retrieving revision 1.289
diff -u -r1.289 peer.cc
--- peer.cc     5 Oct 2007 00:06:59 -0000       1.289
+++ peer.cc     5 Oct 2007 00:58:56 -0000
@@ -1487,13 +1487,13 @@
      typename list<Neighbour<A> *>::iterator n;
      switch(get_linktype()) {
-    case OspfTypes::BROADCAST:
      case OspfTypes::NBMA:
      case OspfTypes::PointToMultiPoint:
         for(n = _neighbours.begin(); n != _neighbours.end(); n++)
             if ((*n)->get_neighbour_address() == src)
                 return *n;
+    case OspfTypes::BROADCAST:
      case OspfTypes::VirtualLink:
      case OspfTypes::PointToPoint:
         for(n = _neighbours.begin(); n != _neighbours.end(); n++)

Ben Greear <greearb at candelatech.com>
Candela Technologies Inc  http://www.candelatech.com

More information about the Xorp-hackers mailing list