[ovs-dev] [PATCH ovn 00/11] ovn-northd-ddlog improvements

Ben Pfaff blp at ovn.org
Thu Mar 4 04:10:01 UTC 2021


The first commit here is an improvement to the tests.  It is not
ddlog specific:
  tests: Improve synchronization and debuggability.

The next commit is an improvement to ovs-sandbox for
ovn-northd-ddlog:
  ovs-sandbox: Make it possible to disable recording ddlog input.

The next several commits improve the ddlog code from my viewpoint
as someone who likes to read code, without changing its behavior:
  ovn-northd-ddlog: Improve type safety for datapath stages.
  ovn-northd-ddlog: Use object form of is_some(), drop is_none().
  ovn-northd-ddlog: Make map_get_*() more object-like.
  ovn-northd-ddlog: Add general-purpose bitwise library.
  ovn-northd-ddlog: Define in_addr, in6_addr, eth_addr in ddlog code.

These commits are performance improvements.  The one in the middle
(come to think of it, it should not be in the middle) modifies 
ovn-northd-ddlog.c, the other two modify the ddlog code:
  ovn-northd-ddlog: Avoid N*M crossproduct joining switches with
    routers.
  ovn-northd-ddlog: Apply multiple database updates in single ddlog txn.
  ovn-northd-ddlog: Rephrase RouterStaticRoute rule.

This makes it easier to debug performance:
  ovn-northd-ddlog: Add profiling support.

 northd/automake.mk        |    4 +-
 northd/bitwise.dl         |  272 ++++++++++
 northd/bitwise.rs         |  133 +++++
 northd/helpers.dl         |   22 +-
 northd/ipam.dl            |   66 ++-
 northd/lrouter.dl         |   55 +-
 northd/lswitch.dl         |   26 +-
 northd/multicast.dl       |   52 +-
 northd/ovn-northd-ddlog.c |  155 ++++--
 northd/ovn-northd.8.xml   |   36 +-
 northd/ovn.dl             |  286 +++++------
 northd/ovn.rs             |  295 ++++-------
 northd/ovn_northd.dl      | 1018 +++++++++++++++++--------------------
 tests/ovn.at              |   23 +-
 tutorial/ovs-sandbox      |    7 +-
 15 files changed, 1373 insertions(+), 1077 deletions(-)
 create mode 100644 northd/bitwise.dl
 create mode 100644 northd/bitwise.rs

-- 
2.29.2



More information about the dev mailing list