Re: [ovs-dev] 答复: 答复: Question: why ovs flush all datapath flows when destroying br/ofproto?

2018-05-25 Thread Ben Pfaff
OK.

On Fri, May 25, 2018 at 03:46:31AM +, 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:b...@ovn.org] 
> 发送时间: 2018年5月25日 1:13
> 收件人: Lilijun (Jerry, Cloud Networking) 
> 抄送: d...@openvswitch.org; ovs-disc...@openvswitch.org; liucheng (J) 
> ; lixiao (H) 
> 主题: 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 +, Lilijun (Jerry, Cloud Networking) 
> wrote:
> > Are there anybody has some ideas about this question?
> > Thanks.
> > 
> > -邮件原件-
> > 发件人: Lilijun (Jerry, Cloud Networking) 
> > 发送时间: 2018年5月18日 11:02
> > 收件人: d...@openvswitch.org; 'Ben Pfaff' ; 
> > ovs-disc...@openvswitch.org
> > 抄送: liucheng (J) ; lixiao (H) 
> > 主题: 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
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] 答复: 答复: Question: why ovs flush all datapath flows when destroying br/ofproto?

2018-05-24 Thread Lilijun (Jerry, Cloud Networking)
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:b...@ovn.org] 
发送时间: 2018年5月25日 1:13
收件人: Lilijun (Jerry, Cloud Networking) 
抄送: d...@openvswitch.org; ovs-disc...@openvswitch.org; liucheng (J) 
; lixiao (H) 
主题: 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 +, Lilijun (Jerry, Cloud Networking) 
wrote:
> Are there anybody has some ideas about this question?
> Thanks.
> 
> -邮件原件-
> 发件人: Lilijun (Jerry, Cloud Networking) 
> 发送时间: 2018年5月18日 11:02
> 收件人: d...@openvswitch.org; 'Ben Pfaff' ; 
> ovs-disc...@openvswitch.org
> 抄送: liucheng (J) ; lixiao (H) 
> 主题: 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
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev