Possibly related I notice race conditions caused by vnic never getting loaded if an existing bridge is already up (by OS init scripts etc) and stopping VM's from getting started.

Often this is behavior you want ; i.e having Host Hypervisor NIC's added and up before libvirtd sets up it's nics/bridges.


On 29 April 2017 at 11:15, <lu.zhipeng@zte.com.cn> wrote:


>On Fri, Apr 28, 2017 at 05:23:19PM +0800, ZhiPeng Lu wrote:
>> Creating tap device and adding the device to bridge are not atomic operation.
>> Similarly deleting tap device and removing it from bridge are not atomic operation.
>>The Problem occurs when two vms start and shutdown. When one vm with the nic
>> named "vnet0" stopping, it deleted tap device but not removing port from bridge.
>> At this time, another vm created the tap device named "vnet0" and added port to the
>> same bridge. Then, the first vm deleted the tap device from the same bridge.
>> Finally, the tap device of the second vm don't attached to the bridge.
>> So, we can add domid to vm's nic name. For example, the vm's domid is 1 and vnet0
>> is renamed to vnet1.0.

>Surely deleting the NIC automatically removes it from the bridge so we
>can just remove the code that delets the bridge port.

i have done some tests for a tap + openvswitch bridge network.  i find  the nic named "vnet0" don't exsit before calling the virNetDevOpenvswitchRemovePort.

i think  the tap is deleted not by removingport  from bridge. i think hotpluging net has the same problem.


by the way:

      my company's e-mail  does not support thread posting  and has some other problems. i believe that my colleagues can soon resloved them.






为了让您的VPlat虚拟化故障得到高效的处理,请上报故障到: $VPlat技术支持。

芦志朋 luzhipeng


IT开发工程师 IT Development Engineer
操作系统产品部/中心研究院/系统产品 OS Product Dept./Central R&D Institute/System Product



深圳市南山区科技南路55号中兴通讯研发大楼33楼
33/F, R&D Building, ZTE Corporation Hi-tech Road South,
Hi-tech Industrial Park Nanshan District, Shenzhen, P.R.China, 518057
T: +86 755 xxxxxxxx F:+86 755 xxxxxxxx
M: +86 xxxxxxxxxxx
E: lu.zhipeng@zte.com.cn
www.zte.com.cn
原始邮件
发件人:berrange@redhat.com>;
收件人:芦志朋10108272;
抄送人:libvir-list@redhat.com>;
日 期 :2017年04月28日 19:27
主 题 :Re: [libvirt] [PATCH] qemu: change the name of tap device for a tapand bridge network


On Fri, Apr 28, 2017 at 05:23:19PM +0800, ZhiPeng Lu wrote:
> Creating tap device and adding the device to bridge are not atomic operation.
> Similarly deleting tap device and removing it from bridge are not atomic operation.
> The Problem occurs when two vms start and shutdown. When one vm with the nic
> named "vnet0" stopping, it deleted tap device but not removing port from bridge.
> At this time, another vm created the tap device named "vnet0" and added port to the
> same bridge. Then, the first vm deleted the tap device from the same bridge.
> Finally, the tap device of the second vm don't attached to the bridge.
> So, we can add domid to vm's nic name. For example, the vm's domid is 1 and vnet0
> is renamed to vnet1.0.

Surely deleting the NIC automatically removes it from the bridge so we
can just remove the code that delets the bridge port.


Regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list




--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list