summaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
authorMarkus Friedl <markus@cvs.openbsd.org>2013-03-25 14:23:48 +0000
committerMarkus Friedl <markus@cvs.openbsd.org>2013-03-25 14:23:48 +0000
commit8e1b522d8b1dd6e74a80f8d45da5f44ecf09ee77 (patch)
tree79088ab75eb41815c9d5f4ab06f1096164470dfc /usr.sbin
parent94d9d001522227e7dec8280d35bca21e4f31f755 (diff)
sync w/ ospfd:
for point-to-point interfaces we need to send lsupdates to the interface address, since there is no DR and multicast messages to the DR will be ignored. ok claudio@, then@
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/ospf6d/lsupdate.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/usr.sbin/ospf6d/lsupdate.c b/usr.sbin/ospf6d/lsupdate.c
index dfc5d5213ed..df03723163a 100644
--- a/usr.sbin/ospf6d/lsupdate.c
+++ b/usr.sbin/ospf6d/lsupdate.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: lsupdate.c,v 1.8 2010/06/08 16:04:25 bluhm Exp $ */
+/* $OpenBSD: lsupdate.c,v 1.9 2013/03/25 14:23:47 markus Exp $ */
/*
* Copyright (c) 2005 Claudio Jeker <claudio@openbsd.org>
@@ -465,7 +465,9 @@ ls_retrans_timer(int fd, short event, void *bula)
ls_retrans_list_free(nbr, le);
/* ls_retrans_list_free retriggers the timer */
return;
- } else
+ } else if (nbr->iface->type == IF_TYPE_POINTOPOINT)
+ memcpy(&addr, &nbr->iface->dst, sizeof(addr));
+ else
inet_pton(AF_INET6, AllDRouters, &addr);
} else
memcpy(&addr, &nbr->addr, sizeof(addr));