[libvirt-users] virsh update-device: need to clear network filters

Hi, Can anyone please help with the following: I have a running instance with interface <interface type='bridge'> <mac address='fa:16:3e:ba:a4:67'/> <source bridge='br100/> <target dev='vnet0'/> <model type='virtio'/> <filterref filter='nova-instance-instance-00000001-fa163ebaa467'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface> what I need is to clear network interface on the instance. I tried virsh update-device with following xml: <interface type='bridge'> <mac address='fa:16:3e:ba:a4:67'/> <source bridge='br100/> <model type='virtio'/> </interface> but this results in the following error: $ sudo virsh update-device 13 xml.xml --persistent --live --config error: Failed to update device from xml.xml error: End of file while reading data: Input/output error error: Failed to reconnect to the hypervisor and libvirt is restarted. Is it possible to clear nw filter at all? Thanks, Oleg

On 04/30/2014 06:01 PM, Oleg Bondarev wrote:
Hi,
Can anyone please help with the following: I have a running instance with interface
<interface type='bridge'> <mac address='fa:16:3e:ba:a4:67'/> <source bridge='br100/> <target dev='vnet0'/> <model type='virtio'/> <filterref filter='nova-instance-instance-00000001-fa163ebaa467'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>
what I need is to clear network interface on the instance. I tried virsh update-device with following xml:
<interface type='bridge'> <mac address='fa:16:3e:ba:a4:67'/> <source bridge='br100/> <model type='virtio'/> </interface>
but this results in the following error: $ sudo virsh update-device 13 xml.xml --persistent --live --config error: Failed to update device from xml.xml error: End of file while reading data: Input/output error error: Failed to reconnect to the hypervisor
and libvirt is restarted. Is it possible to clear nw filter at all?
Thanks, Oleg
Hello, Just redefine specified filter at the runtime, ebtables rules should get updated accordingly. I`ve used to do the same in my product more than a year ago and can confirm that it worked fine.
_______________________________________________ libvirt-users mailing list libvirt-users@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-users

On 04/30/2014 05:01 PM, Oleg Bondarev wrote:
Hi,
Can anyone please help with the following: I have a running instance with interface
<interface type='bridge'> <mac address='fa:16:3e:ba:a4:67'/> <source bridge='br100/> <target dev='vnet0'/> <model type='virtio'/> <filterref filter='nova-instance-instance-00000001-fa163ebaa467'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>
what I need is to clear network interface on the instance. I tried virsh update-device with following xml:
<interface type='bridge'> <mac address='fa:16:3e:ba:a4:67'/> <source bridge='br100/> <model type='virtio'/> </interface>
but this results in the following error: $ sudo virsh update-device 13 xml.xml --persistent --live --config error: Failed to update device from xml.xml error: End of file while reading data: Input/output error error: Failed to reconnect to the hypervisor
and libvirt is restarted. Is it possible to clear nw filter at all?
Yes, changing the filterref of the interface of a running domain has been supported since v1.0.1, but you've found a genuine bug! I've reproduced it on my system with the last sources from git, produced a patch to fix it, and posted it to the upstream list: http://www.redhat.com/archives/libvir-list/2014-May/msg00005.html Once this is ACKed and pushed, I'll pull it into the maintenance branches back to 1.0.1. Thanks for reporting this problem!

On 05/01/2014 12:01 PM, Laine Stump wrote:
On 04/30/2014 05:01 PM, Oleg Bondarev wrote:
Hi,
Can anyone please help with the following: I have a running instance with interface
<interface type='bridge'> <mac address='fa:16:3e:ba:a4:67'/> <source bridge='br100/> <target dev='vnet0'/> <model type='virtio'/> <filterref filter='nova-instance-instance-00000001-fa163ebaa467'/> <alias name='net0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </interface>
what I need is to clear network interface on the instance. I tried virsh update-device with following xml:
<interface type='bridge'> <mac address='fa:16:3e:ba:a4:67'/> <source bridge='br100/> <model type='virtio'/> </interface>
but this results in the following error: $ sudo virsh update-device 13 xml.xml --persistent --live --config error: Failed to update device from xml.xml error: End of file while reading data: Input/output error error: Failed to reconnect to the hypervisor
and libvirt is restarted. Is it possible to clear nw filter at all?
Yes, changing the filterref of the interface of a running domain has been supported since v1.0.1, but you've found a genuine bug! I've reproduced it on my system with the last sources from git, produced a patch to fix it, and posted it to the upstream list:
http://www.redhat.com/archives/libvir-list/2014-May/msg00005.html
Once this is ACKed and pushed, I'll pull it into the maintenance branches back to 1.0.1.
The patch is now pushed upstream to master and to all existing -maint branches that have the bug. There is also a bug filed against the Fedora 20 build of libvirt to track it there: https://bugzilla.redhat.com/show_bug.cgi?id=1093301 commit 0eac9d1e90fc3388030c6109aeb1f4860f108054
participants (3)
-
Andrey Korolyov
-
Laine Stump
-
Oleg Bondarev