Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Quagga: Dev

[PATCH 8/8] Link detect does not work at startup at FreeBSD.

 

 

Quagga dev RSS feed   Index | Next | Previous | View Threaded


if at xip

Apr 17, 2011, 12:28 PM

Post #1 of 1 (420 views)
Permalink
[PATCH 8/8] Link detect does not work at startup at FreeBSD.

From: Ingo Flaschberger <if [at] xip>

Link-detect checks ZEBRA_INTERFACE_LINKDETECTION, which is not yet loaded at startup.
---
zebra/ioctl.c | 27 ++++++++++++---------------
1 files changed, 12 insertions(+), 15 deletions(-)

diff --git a/zebra/ioctl.c b/zebra/ioctl.c
index d783b0a..6123efb 100644
--- a/zebra/ioctl.c
+++ b/zebra/ioctl.c
@@ -369,22 +369,19 @@ if_get_flags (struct interface *ifp)
*/
SET_FLAG(ifreq.ifr_flags, IFF_RUNNING);

- if (CHECK_FLAG (ifp->status, ZEBRA_INTERFACE_LINKDETECTION))
- {
- (void) memset(&ifmr, 0, sizeof(ifmr));
- strncpy (ifmr.ifm_name, ifp->name, IFNAMSIZ);
+ (void) memset(&ifmr, 0, sizeof(ifmr));
+ strncpy (ifmr.ifm_name, ifp->name, IFNAMSIZ);

- /* Seems not all interfaces implement this ioctl */
- if (if_ioctl(SIOCGIFMEDIA, (caddr_t) &ifmr) < 0)
- zlog_err("if_ioctl(SIOCGIFMEDIA) failed: %s", safe_strerror(errno));
- else if (ifmr.ifm_status & IFM_AVALID) /* Link state is valid */
- {
- if (ifmr.ifm_status & IFM_ACTIVE)
- SET_FLAG(ifreq.ifr_flags, IFF_RUNNING);
- else
- UNSET_FLAG(ifreq.ifr_flags, IFF_RUNNING);
- }
- }
+ /* Seems not all interfaces implement this ioctl */
+ if (if_ioctl(SIOCGIFMEDIA, (caddr_t) &ifmr) < 0)
+ zlog_err("if_ioctl(SIOCGIFMEDIA) failed: %s", safe_strerror(errno));
+ else if (ifmr.ifm_status & IFM_AVALID) /* Link state is valid */
+ {
+ if (ifmr.ifm_status & IFM_ACTIVE)
+ SET_FLAG(ifreq.ifr_flags, IFF_RUNNING);
+ else
+ UNSET_FLAG(ifreq.ifr_flags, IFF_RUNNING);
+ }
#endif /* HAVE_BSD_LINK_DETECT */

if_flags_update (ifp, (ifreq.ifr_flags & 0x0000ffff));
--
1.7.1.1

_______________________________________________
Quagga-dev mailing list
Quagga-dev [at] lists
http://lists.quagga.net/mailman/listinfo/quagga-dev

Quagga dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.