[ovs-dev] [PATCH ovn v2 0/6] Combine Logical Flows by Logical Datapath.

Mark Michelson mmichels at redhat.com
Fri Dec 4 15:27:24 UTC 2020


For the series,

Acked-by: Mark Michelson <mmichels at redhat.com>

On 12/3/20 9:03 AM, Ilya Maximets wrote:
> This series is aimed to reduce size of a Southbound DB.
> In modern OVN cluster there is a big probability that same logical
> flows are installed for several logical switches.  Currently, OVN
> will create a separate logical flow for each logical switch (datapath)
> filled with exact same match, actions and so on.  The only difference
> between these flows is a logical_datapath column.  Depending on
> a size of a cluster, there could be hundreds or even thousands of
> copies of the same flow.
> 
> This change introduces new table Logical Datapath Group.  With
> this table we could combine datapaths in a single set and link
> the whole datapath group to a single logical flow.
> 
> In my testing for a 7MB Northbound DB with 100 logical switches
> taken from the ovn-k8s cluster test, size of a Southbound DB
> decreased from 480 MB to 90 MB.
> 
> Number of logical flows in SB DB for this test case:
>    Currently    - 1173779
>    With patches - 171632
> 
> 
> Version 2:
>    * Implemented backward compatibility.
>    * Datapath groups are not created for a single datapath.
>    * Added index for faster iteration over changed logical flows.
>    * Introduced option to enable this feature.  Disabled by default due
>      to possible performance penalty in some cases (see commit messages
>      and documentation).
>    * All the unit tests fixed (passed with config enabled and disabled).
>      -- Special thanks to Dumitru for the great help with debugging!
>    * Added special unit test.  It should be useful to run all tests with
>      and without datapath groups, but it will be much easier to implement
>      later with testsuite updates made by Ben for ddlog.
>    * ovn-detrace updated to support datapath groups.
>    * General code cleanup + extra comments.
> 
> Following IDL fixes are important to have:
>    https://patchwork.ozlabs.org/project/openvswitch/list/?series=217615&state=*
>    These patches will be applied soon to OVS.
> 
> Ilya Maximets (6):
>    tests: Sort flow and database dumps.
>    ovn-sb.ovsschema: Add Logical Datapath Groups.
>    controller: Add support for Logical Datapath Groups.
>    utilities: Add support for Logical Datapath Groups.
>    northd: Add support for Logical Datapath Groups.
>    northd: Config option to enable use of Logical Datapath Groups.
> 
>   NEWS                        |   5 +
>   controller/lflow.c          | 129 +++++++++++----
>   controller/lflow.h          |   2 +
>   controller/ovn-controller.c |  54 ++++++-
>   lib/ovn-util.c              |  14 +-
>   lib/ovn-util.h              |   3 +-
>   northd/ovn-northd.c         | 302 ++++++++++++++++++++++++++++++------
>   ovn-nb.xml                  |  20 +++
>   ovn-sb.ovsschema            |  22 ++-
>   ovn-sb.xml                  |  42 +++--
>   tests/ovn-northd.at         |  84 +++++++++-
>   tests/ovn.at                |   8 +-
>   utilities/ovn-detrace.in    |   8 +-
>   utilities/ovn-sbctl.c       | 108 +++++++++----
>   utilities/ovn-trace.c       |  40 +++--
>   15 files changed, 678 insertions(+), 163 deletions(-)
> 



More information about the dev mailing list