summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndrew J. Schorr <ajschorr@alumni.princeton.edu>2008-01-10 15:24:32 +0000
committerAndrew J. Schorr <ajschorr@alumni.princeton.edu>2008-01-10 15:24:32 +0000
commitc543a1737173fb438f1d8c06f650b2d0d479f45c (patch)
treeba940242e22f7e6798e6fd24b19864b5702474db /lib
parent3f087670efa606021cde2f6a9615ac7e07aec2a5 (diff)
[link-detect] Try to get BSD link-detect to work properly.
2008-01-10 Ingo Flaschberger <if@xip.at> * configure.ac: Define HAVE_BSD_LINK_DETECT if <net/if_media.h> is present. * lib/zebra.h: If HAVE_BSD_LINK_DETECT is defined, include <net/if_media.h>. * zebra/ioctl.c: (if_get_flags) If HAVE_BSD_LINK_DETECT, use the SIOCGIFMEDIA ioctl to ascertain link state. * zebra/kernel_socket.c: (bsd_linkdetect_translate) New function to map the ifm_data.ifi_link_state value into the IFF_RUNNING flag. (ifm_read) Call bsd_linkdetect_translate to fix the IFF_RUNNING flag before calling if_flags_update.
Diffstat (limited to 'lib')
-rw-r--r--lib/ChangeLog4
-rw-r--r--lib/zebra.h3
2 files changed, 7 insertions, 0 deletions
diff --git a/lib/ChangeLog b/lib/ChangeLog
index bbbdfab0..21d08dd0 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,7 @@
+2008-01-10 Ingo Flaschberger <if@xip.at>
+
+ * zebra.h: If HAVE_BSD_LINK_DETECT is defined, include <net/if_media.h>.
+
2008-01-08 Pavol Rusnak <prusnak@suse.cz>
* memory.c: (mtype_memstr) Fix accidental shift past width of type,
diff --git a/lib/zebra.h b/lib/zebra.h
index 150aa2c5..1c9eb39f 100644
--- a/lib/zebra.h
+++ b/lib/zebra.h
@@ -116,6 +116,9 @@ typedef int socklen_t;
#endif /* !va_copy */
#endif /* !C99 */
+#ifdef HAVE_BSD_LINK_DETECT
+#include <net/if_media.h>
+#endif /* HAVE_BSD_LINK_DETECT*/
#ifdef HAVE_LCAPS
#include <sys/capability.h>