]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Accepts a change of OSPFv3 neighbor's IP address.
authorOndrej Zajicek <santiago@crfreenet.org>
Mon, 21 Oct 2013 13:06:09 +0000 (15:06 +0200)
committerOndrej Zajicek <santiago@crfreenet.org>
Mon, 21 Oct 2013 13:06:09 +0000 (15:06 +0200)
Thanks to Pierre Pfister for the patch.

proto/ospf/hello.c

index 58e87bbf17213e93ac064f55c68123c874e6b44f..68c345f4dd85ecce3570a714eb32ffc2431cfb85 100644 (file)
@@ -152,6 +152,14 @@ ospf_hello_receive(struct ospf_packet *ps_i, struct ospf_iface *ifa,
     n->iface_id = ntohl(ps->iface_id);
 #endif
   }
+#ifdef OSPFv3  /* NOTE: this could also be relevant for OSPFv2 on PtP ifaces */
+  else if (!ipa_equal(faddr, n->ip))
+  {
+    OSPF_TRACE(D_EVENTS, "Neighbor address changed from %I to %I", n->ip, faddr);
+    n->ip = faddr;
+  }
+#endif
+
   ospf_neigh_sm(n, INM_HELLOREC);
 
   pnrid = (u32 *) ((struct ospf_hello_packet *) (ps + 1));