>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@xxxxxxxxxx www.zte.com.cn |
> 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@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list