[ovs-dev] 答复: 答复: Question: why ovs flush all datapath flows when destroying br/ofproto?
Lilijun (Jerry, Cloud Networking)
jerry.lilijun at huawei.com
Fri May 25 03:46:31 UTC 2018
Hi Ben,
Thanks for your reply very much.
Currently, if we delete a port, ovs only flush the related datapath flows.
So I have an opinions as follows:
When deleting the ovs bridge br-plyXXX, we can flush per br-plyXXX's port related datapath flows instead of flush all datapath flows.
Is that ok?
Thanks.
-----邮件原件-----
发件人: Ben Pfaff [mailto:blp at ovn.org]
发送时间: 2018年5月25日 1:13
收件人: Lilijun (Jerry, Cloud Networking) <jerry.lilijun at huawei.com>
抄送: dev at openvswitch.org; ovs-discuss at openvswitch.org; liucheng (J) <liucheng11 at huawei.com>; lixiao (H) <lixiao91 at huawei.com>
主题: Re: 答复: Question: why ovs flush all datapath flows when destroying br/ofproto?
It's more work to selectively flush and no one has implemented that.
On Thu, May 24, 2018 at 02:55:00AM +0000, Lilijun (Jerry, Cloud Networking) wrote:
> Are there anybody has some ideas about this question?
> Thanks.
>
> -----邮件原件-----
> 发件人: Lilijun (Jerry, Cloud Networking)
> 发送时间: 2018年5月18日 11:02
> 收件人: dev at openvswitch.org; 'Ben Pfaff' <blp at ovn.org>; ovs-discuss at openvswitch.org
> 抄送: liucheng (J) <liucheng11 at huawei.com>; lixiao (H) <lixiao91 at huawei.com>
> 主题: Question: why ovs flush all datapath flows when destroying br/ofproto?
>
> Hi all,
>
> In my test, there are many VMs sending and receiving random flows using ovs. Per VM has one virtio-net NIC and connect to ovs bridge named such as br-plyXXX. These ovs bridges br-plyXXX are all connected to br-int using patch port.
> All VM's traffic can generate about 200 thousand datapath flows. I found that all datapath flows were flushed when deleting one VM and it's own br-plyXXX.
> And the implementation is in the function ofproto_destroy() calling ofproto_flush__(). The flush work will delete all datapath flows and recreate the upcall and revalidator threads.
> As a result, other VM's all traffic will miss the datapath flows and make upcall to match in the slow path in upcall threads. Their packet will be dropped or get worse latency.
>
> So, why ovs flush all datapath flows when destroying br/ofproto? Can we only flush the datapath flows related the destroying ofprotos?
>
>
> B.R.
> Jerry
More information about the dev
mailing list