From: Michal Privoznik Date: Thu, 5 Jun 2014 14:39:18 +0000 (+0200) Subject: interface_backend_udev: Implement link speed & state X-Git-Tag: v1.2.6-rc1~148 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b2019ee4700f859a1541b483a63345ab22577b63;p=thirdparty%2Flibvirt.git interface_backend_udev: Implement link speed & state In the previous commit the helper function was prepared, so now we can wire it up and benefit from it. The Makefile change is required because we're including virnedev,h which includes virnetlink.h which tries to include netlink/msg.h. However this file is not under /usr/include directly but is dependent on libnl used. Signed-off-by: Michal Privoznik --- diff --git a/src/Makefile.am b/src/Makefile.am index 30df68f794..9ab7c24afb 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1400,7 +1400,7 @@ endif ! WITH_DRIVER_MODULES libvirt_driver_interface_la_CFLAGS = \ -I$(top_srcdir)/src/access \ -I$(top_srcdir)/src/conf \ - $(AM_CFLAGS) + $(AM_CFLAGS) $(LIBNL_CFLAGS) libvirt_driver_interface_la_LDFLAGS = $(AM_LDFLAGS) libvirt_driver_interface_la_LIBADD = if WITH_NETCF diff --git a/src/interface/interface_backend_udev.c b/src/interface/interface_backend_udev.c index c5353ea2cf..ecb1b2a35f 100644 --- a/src/interface/interface_backend_udev.c +++ b/src/interface/interface_backend_udev.c @@ -34,6 +34,7 @@ #include "viralloc.h" #include "virstring.h" #include "viraccessapicheck.h" +#include "virnetdev.h" #define VIR_FROM_THIS VIR_FROM_INTERFACE @@ -1059,6 +1060,10 @@ udevGetIfaceDef(struct udev *udev, const char *name) udev_device_get_sysattr_value(dev, "address")) < 0) goto error; + /* Link state and speed */ + if (virNetDevGetLinkInfo(ifacedef->name, &ifacedef->lnk) < 0) + goto error; + /* MTU */ mtu_str = udev_device_get_sysattr_value(dev, "mtu"); if (virStrToLong_ui(mtu_str, NULL, 10, &mtu) < 0) {