Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
struct interface *interface;
struct ifinfomsg *info;
struct rtattr *attr;
struct interface *interface;
struct ifinfomsg *info;
struct rtattr *attr;
uint8_t ifaddr[6];
char ifname[IFNAMSIZ+1];
int attrlen, type;
uint8_t ifaddr[6];
char ifname[IFNAMSIZ+1];
int attrlen, type;
strncpy(ifname, data, IFNAMSIZ);
have_ifname = true;
break;
strncpy(ifname, data, IFNAMSIZ);
have_ifname = true;
break;
+
+ case IFLA_MTU:
+ mtu = *(unsigned int *)data;
+ break;
}
}
if (!have_ifaddr || !have_ifname)
return -1;
}
}
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;
interface = find_interface_by_ifindex(network, info->ifi_index);
if (!interface)
return 0;