From 3325aa09f31b4cc145ab8abfed44ab5f3b6a7b96 Mon Sep 17 00:00:00 2001 From: Jeremy Kerr Date: Thu, 19 Sep 2013 21:48:32 +0800 Subject: [PATCH] discover/network: ignore devices with zero MTU Signed-off-by: Jeremy Kerr --- discover/network.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/discover/network.c b/discover/network.c index 28e3a29..2d606e4 100644 --- a/discover/network.c +++ b/discover/network.c @@ -325,6 +325,7 @@ static int network_handle_nlmsg(struct network *network, struct nlmsghdr *nlmsg) struct interface *interface; struct ifinfomsg *info; struct rtattr *attr; + unsigned int mtu; uint8_t ifaddr[6]; char ifname[IFNAMSIZ+1]; int attrlen, type; @@ -355,13 +356,17 @@ static int network_handle_nlmsg(struct network *network, struct nlmsghdr *nlmsg) strncpy(ifname, data, IFNAMSIZ); have_ifname = true; break; + + case IFLA_MTU: + mtu = *(unsigned int *)data; + break; } } if (!have_ifaddr || !have_ifname) return -1; - if (type == RTM_DELLINK) { + if (type == RTM_DELLINK || mtu == 0) { interface = find_interface_by_ifindex(network, info->ifi_index); if (!interface) return 0; -- 2.39.2