[ovs-dev] [PATCH ovn 0/4] Avoid parsing non-local lflows with the help of tags in SB.

Mark Michelson mmichels at redhat.com
Wed Jul 21 14:58:40 UTC 2021


Hi Han,

For the series,
Acked-by: Mark Michelson <mmichels at redhat.com>

I think this series is good to go in as-is. I'm curious if a future 
enhancement might be to add an in_out_port tag to flows that use 
is_chassis_resident(). It might even make sense to eventually deprecate 
is_chassis_resident() in favor of in_out_port tags since it means not 
having to parse the expression. What do you think?

On 7/15/21 8:07 PM, Han Zhou wrote:
> With the help of logical_flow's in_out_port tag, we can skip parsing a
> big portion of the logical flows in SB DB, which can largely improve
> ovn-controller's performance whenever a full recompute is required.
> 
> With a scale test topology of 1000 chassises, 20 LSPs per chassis, 20k
> lports in total spread acrossing 200 logical switches, connected by a
> logical router, the test result before & after this change:
> 
> Before:
> - lflow-cache disabled:
>      - ovn-controller recompute: 2.7 sec
> - lflow-cache enabled:
>      - ovn-controller recompute: 2.1 sec
>      - lflow cache memory: 622103 KB
> 
> After:
> - lflow-cache disabled:
>      - ovn-controller recompute: 0.83 sec
> - lflow-cache enabled:
>      - ovn-controller recompute: 0.71 sec
>      - lflow cache memory: 123641 KB
> 
> (note: DP group enabled for both)
> 
> So for this test scenario, when lflow cache is disabled, latency reduced
> ~70%; when lflow cache is enabled, latency reduced ~65% and lflow cache
> memory reduced ~80%.
> 
> Changes after the RFC patch:
> - Rebase on master
> - Add ddlog changes
> - Add an ovn-northd test case to make sure the tags are added
> 
> Han Zhou (4):
>    ovn-northd.at: Minor improvement for the dp group test case.
>    ovn-sb: Add tags column to logical_flow table of the SB DB.
>    ovn-northd: Populate in_out_port in logical_flow table's tags.
>    ovn-controller: Skip non-local lflows in ovn-controller before
>      parsing.
> 
>   controller/lflow.c   |  21 ++
>   northd/ovn-northd.c  | 272 ++++++++++++++----------
>   northd/ovn_northd.dl | 495 +++++++++++++++++++++++++------------------
>   ovn-sb.ovsschema     |   7 +-
>   ovn-sb.xml           |  23 ++
>   tests/ovn-northd.at  |  23 +-
>   6 files changed, 520 insertions(+), 321 deletions(-)
> 



More information about the dev mailing list