diff options
| -rw-r--r-- | zebra/ChangeLog | 4 | ||||
| -rw-r--r-- | zebra/rt_netlink.c | 18 | 
2 files changed, 22 insertions, 0 deletions
diff --git a/zebra/ChangeLog b/zebra/ChangeLog index b3710cf2..38824a2a 100644 --- a/zebra/ChangeLog +++ b/zebra/ChangeLog @@ -1,3 +1,7 @@ +2005-01-24 Martin Pot <mpot at martybugs.net> + +	* zebra/rt_netlink.c: ignore wireless newlink netlink messages. +  2005-01-18 Hasso Tepper <hasso at quagga.net>  	* interface.c: Better statistics output in "show interface" command in diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c index c636a399..f5903a63 100644 --- a/zebra/rt_netlink.c +++ b/zebra/rt_netlink.c @@ -480,6 +480,15 @@ netlink_interface (struct sockaddr_nl *snl, struct nlmsghdr *h)    /* Looking up interface name. */    memset (tb, 0, sizeof tb);    netlink_parse_rtattr (tb, IFLA_MAX, IFLA_RTA (ifi), len); +   +  /* check for wireless messages to ignore */ +  if ((tb[IFLA_WIRELESS] != NULL) && (ifi->ifi_change == 0)) +    { +      if (IS_ZEBRA_DEBUG_KERNEL) +        zlog_debug ("%s: ignoring IFLA_WIRELESS message", __func__); +      return 0; +    } +    if (tb[IFLA_IFNAME] == NULL)      return -1;    name = (char *) RTA_DATA (tb[IFLA_IFNAME]); @@ -938,6 +947,15 @@ netlink_link_change (struct sockaddr_nl *snl, struct nlmsghdr *h)    /* Looking up interface name. */    memset (tb, 0, sizeof tb);    netlink_parse_rtattr (tb, IFLA_MAX, IFLA_RTA (ifi), len); + +  /* check for wireless messages to ignore */ +  if ((tb[IFLA_WIRELESS] != NULL) && (ifi->ifi_change == 0)) +    { +      if (IS_ZEBRA_DEBUG_KERNEL) +        zlog_debug ("%s: ignoring IFLA_WIRELESS message", __func__); +      return 0; +    } +      if (tb[IFLA_IFNAME] == NULL)      return -1;    name = (char *) RTA_DATA (tb[IFLA_IFNAME]);  | 
