summaryrefslogtreecommitdiffstats
path: root/zebra/ioctl.c
diff options
context:
space:
mode:
authorAndrew J. Schorr <ajschorr@alumni.princeton.edu>2008-01-11 16:57:13 +0100
committerAndrew J. Schorr <ajschorr@alumni.princeton.edu>2008-01-11 16:57:13 +0100
commit55edb0d446a272907715b0825ff008557174d34a (patch)
tree17d46ab705b0b229b8795d0d809fddd18e1d9078 /zebra/ioctl.c
parent[link-detect] Try to get BSD link-detect to work properly. (diff)
downloadfrr-55edb0d446a272907715b0825ff008557174d34a.tar.xz
frr-55edb0d446a272907715b0825ff008557174d34a.zip
[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/ioctl.c')
-rw-r--r--zebra/ioctl.c22
1 files changed, 7 insertions, 15 deletions
diff --git a/zebra/ioctl.c b/zebra/ioctl.c
index 4f99a6cd6..7bb4da1f0 100644
--- a/zebra/ioctl.c
+++ b/zebra/ioctl.c
@@ -33,6 +33,10 @@
#include "zebra/rt.h"
#include "zebra/interface.h"
+#ifdef HAVE_BSD_LINK_DETECT
+#include <net/if_media.h>
+#endif /* HAVE_BSD_LINK_DETECT*/
+
extern struct zebra_privs_t zserv_privs;
/* clear and set interface name string */
@@ -367,24 +371,12 @@ if_get_flags (struct interface *ifp)
if (ifmr.ifm_status & IFM_AVALID) /* Link state is valid */
{
if (ifmr.ifm_status & IFM_ACTIVE)
- {
- SET_FLAG(ifreq.ifr_flags, IFF_RUNNING);
- zlog_debug("%s: BSD link state to up at interface %s, ifindex %d",
- __func__, ifp->name, ifp->ifindex);
- }
+ SET_FLAG(ifreq.ifr_flags, IFF_RUNNING);
else
- {
- UNSET_FLAG(ifreq.ifr_flags, IFF_RUNNING);
- zlog_debug("%s: BSD link state to down at interface %s, ifindex %d",
- __func__, ifp->name, ifp->ifindex);
- }
+ UNSET_FLAG(ifreq.ifr_flags, IFF_RUNNING);
}
else /* Force always up */
- {
- SET_FLAG(ifreq.ifr_flags, IFF_RUNNING);
- zlog_debug("%s: BSD link state invalid, forced up at interface %s, ifindex %d",
- __func__, ifp->name, ifp->ifindex);
- }
+ SET_FLAG(ifreq.ifr_flags, IFF_RUNNING);
#endif /* HAVE_BSD_LINK_DETECT */
if_flags_update (ifp, (ifreq.ifr_flags & 0x0000ffff));