summaryrefslogtreecommitdiff
path: root/zebra
diff options
context:
space:
mode:
authorpaul <paul>2005-01-24 09:05:27 +0000
committerpaul <paul>2005-01-24 09:05:27 +0000
commitc15cb24241277db9fb4102ddc712dc3297f16d1f (patch)
treeb7e9eb47f5b8953c82b55732a9428813a238c5df /zebra
parent13bfca7a1059a73a836f4813170f296a82266211 (diff)
2005-01-24 Martin Pot <mpot at martybugs.net>
* zebra/rt_netlink.c: ignore wireless newlink netlink messages.
Diffstat (limited to 'zebra')
-rw-r--r--zebra/ChangeLog4
-rw-r--r--zebra/rt_netlink.c18
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]);