[ovs-dev] [PATCH] ovs-save: Don't always include the default flow during restore

Timothy Redaelli tredaelli at redhat.com
Thu Sep 13 17:38:12 UTC 2018


On Wed, 12 Sep 2018 10:36:22 -0700
Guru Shetty <guru at ovn.org> wrote:

> On Tue, 11 Sep 2018 at 09:07, Flavio Leitner <fbl at sysclose.org> wrote:
> 
> > On Sun, Sep 09, 2018 at 02:20:02PM +0200, Timothy Redaelli wrote:  
> > > Currently the default flow (actions=NORMAL) is present in the
> > > flow table  
> > after  
> > > the flow table is restored also when the default flow is removed.
> > >
> > > This commit changes the behaviour of the "ovs-save save-flows"
> > > command  
> > to use  
> > > "replace-flows" instead of "add-flows" to restore the flows. This
> > > is  
> > needed in  
> > > order to always have the new flow table as it was before
> > > restoring it.
> > >
> > > Reported-by: Flavio Leitner <fbl at sysclose.org>
> > > Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=1626096
> > > Signed-off-by: Timothy Redaelli <tredaelli at redhat.com>
> > > ---  
> >
> > From the performance point of view, I thought we could do a
> > del-flows first followed by add-flows, but you mentioned off
> > list that the performance with replace-flows is still good.
> >  
> 
> Can you please provide some data. For e.g., with 200,000 flows.

Hi,
my usual setup to test this scenario is:

VM1 (tap0) <-> OVS (ovsbr0) <-> VM2 (tap1).

In this case I'm testing it by using kernel datapath.

I add 1 milion of rules like
"table=0, dl_src=$MAC, actions=drop" with different mac addresses,
using a script and the 2 rules in order to make the VM pings:
table=0,in_port=1,action=output:2
table=0,in_port=2,action=output:1

I launch a ping (1 second for each ping) from VM1 to VM2 IP, then I
reload openvswitch on the host and I have the following downtime (lost
ICMP packets):

with add-flows (aka without the patch):  11 seconds
with replace-flows (aka with the patch): 11 seconds too


More information about the dev mailing list