summaryrefslogtreecommitdiff
path: root/usr.sbin/ospfd/hello.c
diff options
context:
space:
mode:
authorremi <remi@cvs.openbsd.org>2019-11-19 09:55:56 +0000
committerremi <remi@cvs.openbsd.org>2019-11-19 09:55:56 +0000
commitcea85d84ff22d7cf8a4adec920fd884f7fb9fa1e (patch)
tree809be98bf6167a38c8d084c84041a9864af9e4b1 /usr.sbin/ospfd/hello.c
parentae53f24837ad40760b9857c9b7d924e577dc69a9 (diff)
Add point-to-point support for broadcast interfaces.
tested by Kapetanakis Giannis ok claudio@
Diffstat (limited to 'usr.sbin/ospfd/hello.c')
-rw-r--r--usr.sbin/ospfd/hello.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/usr.sbin/ospfd/hello.c b/usr.sbin/ospfd/hello.c
index 9ae07cd4f91..7267a56529b 100644
--- a/usr.sbin/ospfd/hello.c
+++ b/usr.sbin/ospfd/hello.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: hello.c,v 1.24 2019/08/12 20:21:58 remi Exp $ */
+/* $OpenBSD: hello.c,v 1.25 2019/11/19 09:55:55 remi Exp $ */
/*
* Copyright (c) 2005 Claudio Jeker <claudio@openbsd.org>
@@ -191,12 +191,16 @@ recv_hello(struct iface *iface, struct in_addr src, u_int32_t rtr_id, char *buf,
nbr->priority = hello.rtr_priority;
/* XXX neighbor address shouldn't be stored on virtual links */
nbr->addr.s_addr = src.s_addr;
+ ospfe_imsg_compose_rde(IMSG_NEIGHBOR_ADDR, nbr->peerid, 0,
+ &src, sizeof(src));
}
if (nbr->addr.s_addr != src.s_addr) {
log_warnx("%s: neighbor ID %s changed its IP address",
__func__, inet_ntoa(nbr->id));
nbr->addr.s_addr = src.s_addr;
+ ospfe_imsg_compose_rde(IMSG_NEIGHBOR_ADDR, nbr->peerid, 0,
+ &src, sizeof(src));
}
nbr->options = hello.opts;