summaryrefslogtreecommitdiff
path: root/zebra/kernel_socket.c
diff options
context:
space:
mode:
authorAndrew J. Schorr <ajschorr@alumni.princeton.edu>2008-01-11 15:57:13 +0000
committerAndrew J. Schorr <ajschorr@alumni.princeton.edu>2008-01-11 15:57:13 +0000
commit55edb0d446a272907715b0825ff008557174d34a (patch)
tree17d46ab705b0b229b8795d0d809fddd18e1d9078 /zebra/kernel_socket.c
parentc543a1737173fb438f1d8c06f650b2d0d479f45c (diff)
[link-detect] Improve BSD support.
2008-01-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * lib/zebra.h: Revert previous change, no need to include <net/if_media.h> here. * zebra/ioctl.c: If HAVE_BSD_LINK_DETECT is defined, include <net/if_media.h> (if_get_flags) Remove debug messages about BSD link state. * zebra/kernel_socket.c: (bsd_linkdetect_translate) If link state is unknown, we should set the IFF_RUNNING flag.
Diffstat (limited to 'zebra/kernel_socket.c')
-rw-r--r--zebra/kernel_socket.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/zebra/kernel_socket.c b/zebra/kernel_socket.c
index cd30631b..2e04b031 100644
--- a/zebra/kernel_socket.c
+++ b/zebra/kernel_socket.c
@@ -300,7 +300,8 @@ ifan_read (struct if_announcemsghdr *ifan)
static void
bsd_linkdetect_translate (struct if_msghdr *ifm)
{
- if (ifm->ifm_data.ifi_link_state >= LINK_STATE_UP)
+ if ((ifm->ifm_data.ifi_link_state >= LINK_STATE_UP) ||
+ (ifm->ifm_data.ifi_link_state == LINK_STATE_UNKNOWN))
SET_FLAG(ifm->ifm_flags, IFF_RUNNING);
else
UNSET_FLAG(ifm->ifm_flags, IFF_RUNNING);