diff options
author | Jeremie Courreges-Anglas <jca@cvs.openbsd.org> | 2016-12-22 23:01:59 +0000 |
---|---|---|
committer | Jeremie Courreges-Anglas <jca@cvs.openbsd.org> | 2016-12-22 23:01:59 +0000 |
commit | aaa6c5ed58c6c2c4c6cd0db81630b6f0dca9f18e (patch) | |
tree | e089fb7eb55ac051eca5c2102fa85771f95d6695 | |
parent | bcb7f6934b9232265a829a3506d46d0278040bfd (diff) |
Let rde and ospfe know about all IFINFO messages (eg an interface MTU change).
The parent now passes all IFINFO messages down to the children, then
looks whether he has any work to do. Same idea as ospfd.
ok benno@ claudio@
-rw-r--r-- | usr.sbin/ospf6d/kroute.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/usr.sbin/ospf6d/kroute.c b/usr.sbin/ospf6d/kroute.c index fcb5cae5bfc..3b5a6d0db76 100644 --- a/usr.sbin/ospf6d/kroute.c +++ b/usr.sbin/ospf6d/kroute.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kroute.c,v 1.48 2015/07/17 20:12:38 claudio Exp $ */ +/* $OpenBSD: kroute.c,v 1.49 2016/12/22 23:01:58 jca Exp $ */ /* * Copyright (c) 2004 Esben Norby <norby@openbsd.org> @@ -729,12 +729,6 @@ if_change(u_short ifindex, int flags, struct if_data *ifd) return; } - isvalid = (iface->flags & IFF_UP) && - LINK_STATE_IS_UP(iface->linkstate); - - if (wasvalid == isvalid) - return; /* nothing changed wrt validity */ - /* inform engine and rde about state change if interface is used */ if (iface->cflags & F_IFACE_CONFIGURED) { main_imsg_compose_ospfe(IMSG_IFINFO, 0, iface, @@ -743,6 +737,12 @@ if_change(u_short ifindex, int flags, struct if_data *ifd) sizeof(struct iface)); } + isvalid = (iface->flags & IFF_UP) && + LINK_STATE_IS_UP(iface->linkstate); + + if (wasvalid == isvalid) + return; /* nothing changed wrt validity */ + /* update redistribute list */ RB_FOREACH(kr, kroute_tree, &krt) { for (tkr = kr; tkr != NULL; tkr = tkr->next) { |