From b2019ee4700f859a1541b483a63345ab22577b63 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Thu, 5 Jun 2014 16:39:18 +0200 Subject: [PATCH] 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 --- src/Makefile.am | 2 +- src/interface/interface_backend_udev.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) 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) {