diff options
author | claudio <claudio@openbsd.org> | 2006-08-18 11:54:28 +0000 |
---|---|---|
committer | claudio <claudio@openbsd.org> | 2006-08-18 11:54:28 +0000 |
commit | 4804db9f6518d32079b1bfca20631d781c29334d (patch) | |
tree | ef848e35be37b3bcd0a0c9bbc2a5535be9c0ea31 /usr.sbin/ospfd/interface.c | |
parent | every day of the first five months has at least one event now. (diff) | |
download | wireguard-openbsd-4804db9f6518d32079b1bfca20631d781c29334d.tar.xz wireguard-openbsd-4804db9f6518d32079b1bfca20631d781c29334d.zip |
Correctly leave the all AllDRouters group (224.0.0.6) if the interface was
in state DR or BACKUP. Found while analizing PR5192 with norby@ -- seems to
help but there is still a issue left. OK norby@
Diffstat (limited to 'usr.sbin/ospfd/interface.c')
-rw-r--r-- | usr.sbin/ospfd/interface.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/usr.sbin/ospfd/interface.c b/usr.sbin/ospfd/interface.c index f18f93246a0..acac1d35b64 100644 --- a/usr.sbin/ospfd/interface.c +++ b/usr.sbin/ospfd/interface.c @@ -1,4 +1,4 @@ -/* $OpenBSD: interface.c,v 1.51 2006/04/24 20:18:03 claudio Exp $ */ +/* $OpenBSD: interface.c,v 1.52 2006/08/18 11:54:28 claudio Exp $ */ /* * Copyright (c) 2005 Claudio Jeker <claudio@openbsd.org> @@ -563,6 +563,14 @@ if_act_reset(struct iface *iface) log_warnx("if_act_reset: error leaving group %s, " "interface %s", inet_ntoa(addr), iface->name); } + if (iface->state & IF_STA_DRORBDR) { + inet_aton(AllDRouters, &addr); + if (if_leave_group(iface, &addr)) { + log_warnx("if_act_reset: " + "error leaving group %s, interface %s", + inet_ntoa(addr), iface->name); + } + } break; case IF_TYPE_VIRTUALLINK: /* nothing */ |