summaryrefslogtreecommitdiff
path: root/usr.sbin/ospfd
diff options
context:
space:
mode:
authorStuart Henderson <sthen@cvs.openbsd.org>2010-04-02 23:55:38 +0000
committerStuart Henderson <sthen@cvs.openbsd.org>2010-04-02 23:55:38 +0000
commitbb28add77fa46084d0e11f01bc07f698bb82c357 (patch)
treed2c5627e5aa2fbf0388d593a934ca2858f1bbe97 /usr.sbin/ospfd
parent2c60bd74547c6a13bb746c0ebe9762faa0e84a27 (diff)
The rtm_errno check which was moved in the last commit should only
be done for rtmsgs (which have an rtm_errno) and not ifmsgs (which have part of an if_data struct in that location). Fixes problems finding interface addresses at startup. ok claudio@
Diffstat (limited to 'usr.sbin/ospfd')
-rw-r--r--usr.sbin/ospfd/kroute.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/usr.sbin/ospfd/kroute.c b/usr.sbin/ospfd/kroute.c
index 380cbc31a9c..5fd4704c832 100644
--- a/usr.sbin/ospfd/kroute.c
+++ b/usr.sbin/ospfd/kroute.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: kroute.c,v 1.79 2010/04/01 14:02:40 claudio Exp $ */
+/* $OpenBSD: kroute.c,v 1.80 2010/04/02 23:55:37 sthen Exp $ */
/*
* Copyright (c) 2004 Esben Norby <norby@openbsd.org>
@@ -1329,9 +1329,6 @@ rtmsg_process(char *buf, int len)
mpath = 0;
prio = 0;
- if (rtm->rtm_errno) /* failed attempts... */
- continue;
-
sa = (struct sockaddr *)(next + rtm->rtm_hdrlen);
get_rtaddrs(rtm->rtm_addrs, sa, rti_info);
@@ -1346,6 +1343,9 @@ rtmsg_process(char *buf, int len)
mpath = 0;
prio = 0;
+ if (rtm->rtm_errno) /* failed attempts... */
+ continue;
+
if (rtm->rtm_tableid != kr_state.rdomain)
continue;