From: Jeremy Kerr Date: Thu, 19 Sep 2013 13:48:32 +0000 (+0800) Subject: discover/network: ignore devices with zero MTU X-Git-Tag: v1.0.0~490 X-Git-Url: https://git.ozlabs.org/?p=petitboot;a=commitdiff_plain;h=3325aa09f31b4cc145ab8abfed44ab5f3b6a7b96 discover/network: ignore devices with zero MTU Signed-off-by: Jeremy Kerr --- 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;