[ovs-discuss] 答复: 答复: Question: why ovs flush all datapath flows when destroying br/ofproto?
Ben Pfaff
blp at ovn.org
Fri May 25 21:36:45 UTC 2018
OK.
On Fri, May 25, 2018 at 03:46:31AM +0000, Lilijun (Jerry, Cloud Networking) wrote:
> 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 discuss
mailing list