Description of problem: bridged networking with qemu doesn't work Version-Release number of selected component (if applicable): zweiblum root ~# rpm -q libvirt qemu libvirt-0.2.2-3.FCr6 qemu-0.9.0-2.FCr6 (rawhide versions rebuild from source on fc6) How reproducible: Configure a virtual machine with bridged network, try to boot it. Actual results: VM doesn't boot, error message: virsh # start fc6 libvir: QEMU error : internal error Failed to add tap interface 'fc6' to bridge 'br0' : Invalid argument Expected results: VM boots Additional info: When using an "user" interface type it works just fine.
Created attachment 154251 [details] xml config file
Could you clarify a couple of things - What --connect arg did you give to virsh & what user is it running as - Does it work if you remove the <target> element from the <interface> tag - brctl show & ifconfig output
virsh args (used as root): zweiblum root ~# set | grep VIRSH VIRSH_DEFAULT_CONNECT_URI=qemu:///system network configuration: zweiblum root ~# brctl show bridge name bridge id STP enabled interfaces br0 8000.000000000000 no zweiblum root ~# ip addr ls 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:16:41:e1:3d:40 brd ff:ff:ff:ff:ff:ff 3: irda0: <NOARP> mtu 2048 qdisc noop qlen 8 link/irda 00:00:00:00 brd ff:ff:ff:ff 4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff inet 172.31.6.1/24 brd 172.31.6.255 scope global br0 inet6 fe80::200:ff:fe00:0/64 scope link valid_lft forever preferred_lft forever 5: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000 link/ether 00:19:d2:98:eb:8c brd ff:ff:ff:ff:ff:ff inet 192.168.2.103/24 brd 192.168.2.255 scope global eth1 inet6 fe80::219:d2ff:fe98:eb8c/64 scope link valid_lft forever preferred_lft forever 7: vpn0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1412 qdisc pfifo_fast qle n 500 link/[65534] inet 10.32.4.27/32 brd 10.32.4.27 scope global vpn0 zweiblum root ~# cat /etc/sysconfig/networking/devices/ifcfg-br0 # Please read /usr/share/doc/initscripts-*/sysconfig.txt # for the documentation of these parameters. DEVICE=br0 TYPE=Bridge #MACADDR=00:00:11:22:33:44 BOOTPROTO=none NETMASK=255.255.255.0 IPADDR=172.31.6.1 ONBOOT=yes USERCTL=no IPV6INIT=no PEERDNS=yes zweiblum root ~# deleting <target> gives a slightly different error message: zweiblum root ~# virsh start fc6 libvir: QEMU error : internal error Failed to add tap interface 'vnet%d' to bridge 'br0' : Invalid argument error: Failed to start domain fc6
This is puzzelling, based on the bridge & network config you show above, everything should be operating as required. Could you try & collect the output of strace -s 32000 -f -o lv.log -p `pgrep libvirt_qemud` Starting it just before running virsh start should be sufficient.
Created attachment 154522 [details] lv.log
Ah I think I might know what's going on now. It appears the brCtrl() object will never get initialized unless there is at least one virtual network defined. This is wrong because we need the brCtrl() object even for setting up bridged networking. Can you do 'virsh net-list' - I think its quite likely it won't show any networks. If so, then just defining a default virtual network virsh net-define /usr/share/libvirt/networks/default.xml virsh net-autostart default virsh net-start default Should make it possible to starts VMs.
Yep, there is no libvirt-managed network. Creating one makes bridged network work indeed.
Should be fixed in current releases: <danpb> DV: yeah fixed that a long time ago <danpb> DV: you can close it :-) Daniel