Description of problem: libvirtd.log filling with messages like 2013-05-22 17:22:46.967+0000: 30647: error : udevGetIfaceDefVlan:951 : internal error failed to find the VID for the VLAN device 'vlan0027' 2013-05-22 17:22:46.971+0000: 30648: error : udevGetIfaceDefVlan:951 : internal error failed to find the VID for the VLAN device 'vlan0037' 2013-05-22 17:22:46.975+0000: 30651: error : udevGetIfaceDefVlan:951 : internal error failed to find the VID for the VLAN device 'vlan0043' 2013-05-22 17:22:46.978+0000: 30650: error : udevGetIfaceDefVlan:951 : internal error failed to find the VID for the VLAN device 'vlan0411' 2013-05-22 17:22:46.984+0000: 30649: error : udevGetIfaceDefVlan:951 : internal error failed to find the VID for the VLAN device 'vlan0471' 2013-05-22 17:22:46.988+0000: 30647: error : udevGetIfaceDefVlan:951 : internal error failed to find the VID for the VLAN device 'vlan0044' 2013-05-22 17:22:46.988+0000: 30647: error : udevGetIfaceDefBridge:910 : internal error Could not get interface information for 'vlan0044', which is a member of bridge 'vmbr44' Version-Release number of selected component (if applicable): libvirt-1.0.5 How reproducible: create vlans Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD start libvirtd Steps to Reproduce: 1. 2. 3. Actual results: errors log file filled in 1 seconds freq. Expected results: Additional info:
It seems that udevGetIfaceDefVlan udevGetIfaceDefBridge need to modify.
I am having the same problem. It's filling up the logs and trying to connect to a server via virt-manager doesn't work anymore since virt-manager-1.0.0 because of this. It's a standard vlan Here is the network setup, it's a standard vlan interface bound to a bonded interface: 7: vlan12@bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP link/ether 00:25:90:c9:a1:68 brd ff:ff:ff:ff:ff:ff 12: macvtap0@vlan12: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 500 link/ether 52:54:00:9d:d0:54 brd ff:ff:ff:ff:ff:ff @dualdm: Did you find a workaround for the problem?
Change your vlan name-type to DEV_PLUS_VID (eth0.0005) or DEV_PLUS_VID_NO_PAD (eth0.5) and this message disappears. It's cause of devicename parsing in src/interface/interface_backend_udev.c ... /* Find the DEVICE.VID again */ vid = strrchr(name, '.'); if (!vid) { virReportError(VIR_ERR_INTERNAL_ERROR, _("failed to find the VID for the VLAN device '%s'"), name); return -1; }
I have proposed a patch upstream: https://www.redhat.com/archives/libvir-list/2014-April/msg00922.html
(In reply to Jan Tomko from comment #4) > I have proposed a patch upstream: > https://www.redhat.com/archives/libvir-list/2014-April/msg00922.html It's fixed the issue. Thanks.
Now pushed upstream: commit a65871aaae5f36618802e3f3a5982b8d82280e13 Author: Ján Tomko <jtomko> CommitDate: 2014-05-04 15:08:14 +0200 Fix vlan ID detection in udev interface driver Instead of guessing it from the interface name, look into /proc/net/vlan/<interface>. This works for devices not named <real_device>.<vlan ID>, avoiding an error flood when virt-manager keeps asking about them every second: https://bugzilla.redhat.com/show_bug.cgi?id=966329 git describe: v1.2.4-2-ga65871a