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 <mprivozn(a)redhat.com>
---
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 01af164..a6b8d0b 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1399,7 +1399,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 c5353ea..f4de0e4 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;
+ if (virNetDevGetLinkInfo(ifacedef->name, &ifacedef->lnk.state,
+ &ifacedef->lnk.speed) < 0)
+ goto error;
+
/* MTU */
mtu_str = udev_device_get_sysattr_value(dev, "mtu");
if (virStrToLong_ui(mtu_str, NULL, 10, &mtu) < 0) {
--
2.0.0