summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremie Courreges-Anglas <jca@cvs.openbsd.org>2016-12-22 23:01:59 +0000
committerJeremie Courreges-Anglas <jca@cvs.openbsd.org>2016-12-22 23:01:59 +0000
commitaaa6c5ed58c6c2c4c6cd0db81630b6f0dca9f18e (patch)
treee089fb7eb55ac051eca5c2102fa85771f95d6695
parentbcb7f6934b9232265a829a3506d46d0278040bfd (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.c14
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) {