[libvirt] How can I attach a network interface to KVM machine

Hi. When I am trying to attach an interface <interface type='bridge'> <mac address='52:54:00:db:1a:bb'/> <source bridge='mkvebr0'/> </interface> libvirt reports me, that libvirt.libvirtError: this function is not supported by the hypervisor: this device type cannot be attached Is there a legal way to attach a network interface to QEMU/KVM machine?

On Tue, Apr 07, 2009 at 05:30:02PM +0400, Anton Protopopov wrote:
Hi.
When I am trying to attach an interface <interface type='bridge'> <mac address='52:54:00:db:1a:bb'/> <source bridge='mkvebr0'/> </interface> libvirt reports me, that libvirt.libvirtError: this function is not supported by the hypervisor: this device type cannot be attached
Is there a legal way to attach a network interface to QEMU/KVM machine?
Not at this time. The QEMU monitor interface doesn't provide sufficient functionality to be able todo this, because there's no way to pass have libvirt create & setup the TAP device, and then pass it to QEMU. The QEMU monitor needs to gain the ability to do SCM_RIGHTS to accept an open file handle before we can hotplug NICs in any useful manner. Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

2009/4/7 Daniel P. Berrange <berrange@redhat.com>
On Tue, Apr 07, 2009 at 05:30:02PM +0400, Anton Protopopov wrote:
Hi.
When I am trying to attach an interface <interface type='bridge'> <mac address='52:54:00:db:1a:bb'/> <source bridge='mkvebr0'/> </interface> libvirt reports me, that libvirt.libvirtError: this function is not supported by the hypervisor: this device type cannot be attached
Is there a legal way to attach a network interface to QEMU/KVM machine?
Not at this time. The QEMU monitor interface doesn't provide sufficient functionality to be able todo this, because there's no way to pass have libvirt create & setup the TAP device, and then pass it to QEMU. The QEMU monitor needs to gain the ability to do SCM_RIGHTS to accept an open file handle before we can hotplug NICs in any useful manner.
And what about attaching a device to stopped machine? Stop, attach, and start. Just as temporary decision.
Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/:| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org:| |: http://autobuild.org -o- http://search.cpan.org/~danberr/<http://search.cpan.org/%7Edanberr/>:| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

On Wed, Apr 15, 2009 at 02:35:41PM +0400, Anton Protopopov wrote:
2009/4/7 Daniel P. Berrange <berrange@redhat.com>
On Tue, Apr 07, 2009 at 05:30:02PM +0400, Anton Protopopov wrote:
Hi.
When I am trying to attach an interface <interface type='bridge'> <mac address='52:54:00:db:1a:bb'/> <source bridge='mkvebr0'/> </interface> libvirt reports me, that libvirt.libvirtError: this function is not supported by the hypervisor: this device type cannot be attached
Is there a legal way to attach a network interface to QEMU/KVM machine?
Not at this time. The QEMU monitor interface doesn't provide sufficient functionality to be able todo this, because there's no way to pass have libvirt create & setup the TAP device, and then pass it to QEMU. The QEMU monitor needs to gain the ability to do SCM_RIGHTS to accept an open file handle before we can hotplug NICs in any useful manner.
And what about attaching a device to stopped machine? Stop, attach, and start. Just as temporary decision.
You can already add devices to stopped machines just by defining a new config file for them. We do need to make the attach/detach APIs for with inactive guests too for QEMU driver, since we allow this in the Xen driver already and there's no particular reason to deny it. Regards, Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|

2009/4/16 Daniel P. Berrange <berrange@redhat.com>
On Wed, Apr 15, 2009 at 02:35:41PM +0400, Anton Protopopov wrote:
2009/4/7 Daniel P. Berrange <berrange@redhat.com>
On Tue, Apr 07, 2009 at 05:30:02PM +0400, Anton Protopopov wrote:
Hi.
When I am trying to attach an interface <interface type='bridge'> <mac address='52:54:00:db:1a:bb'/> <source bridge='mkvebr0'/> </interface> libvirt reports me, that libvirt.libvirtError: this function is not supported by the hypervisor: this device type cannot be attached
Is there a legal way to attach a network interface to QEMU/KVM machine?
Not at this time. The QEMU monitor interface doesn't provide sufficient functionality to be able todo this, because there's no way to pass have libvirt create & setup the TAP device, and then pass it to QEMU. The QEMU monitor needs to gain the ability to do SCM_RIGHTS to accept an open file handle before we can hotplug NICs in any useful manner.
And what about attaching a device to stopped machine? Stop, attach, and start. Just as temporary decision.
You can already add devices to stopped machines just by defining a new config file for them. We do need to make the attach/detach APIs for with inactive guests too for QEMU driver, since we allow this in the Xen driver already and there's no particular reason to deny it.
Thanks
Regards, Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/:| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org:| |: http://autobuild.org -o- http://search.cpan.org/~danberr/<http://search.cpan.org/%7Edanberr/>:| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|
participants (2)
-
Anton Protopopov
-
Daniel P. Berrange