summaryrefslogtreecommitdiff
path: root/proto/ospf/hello.c
diff options
context:
space:
mode:
Diffstat (limited to 'proto/ospf/hello.c')
-rw-r--r--proto/ospf/hello.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/proto/ospf/hello.c b/proto/ospf/hello.c
index 58e87bbf..68c345f4 100644
--- a/proto/ospf/hello.c
+++ b/proto/ospf/hello.c
@@ -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));