mbox series

[ovs-dev,v3,0/5] pflow_output and ct_zone engine improvements.

Message ID 20210728024512.2944939-1-numans@ovn.org
Headers show
Series pflow_output and ct_zone engine improvements. | expand

Message

Numan Siddique July 28, 2021, 2:45 a.m. UTC
From: Numan Siddique <numans@ovn.org>

This patch series attempts to improve the handling of runtime_data
changes in the engine nodes - ct_zones and pflow_output.
It also attempts to improve the handling of ct_zones change in
pflow_output engine.


After this patch series,  the amount of full recomputes of pflow_output
engine is reduced drastically.  This helps in scaled environments.

For example with the simple ovn-scale-test which creates 20 logical
ports (10 each in one logical switch) and binds it equally on two chassis,
reduces the number of physical_run() calls from around 30 to around 8.


v2 -> v3
----
  * Addressed review comments from Han.
  * Added a new engine now to store non-vif-data instead of storing
    in the runtime_data engine.

v1 -> v2
----
  * Rebased to resolve the conflct.


Numan Siddique (5):
  controller: Move 'struct local_datapath' to a separate file.
  binding: Add the localport port binding in the binding_lport
    information.
  binding: Track the changes of container lport when it's parent
    changes.
  I-P: Handle runtime data changes for pflow_output engine.
  controller: Improve ct zone handling.

 controller/automake.mk      |   4 +-
 controller/binding.c        | 577 ++++++++++++++----------------------
 controller/binding.h        |  36 ++-
 controller/lflow.c          |   6 +-
 controller/lflow.h          |   1 +
 controller/local_data.c     | 533 +++++++++++++++++++++++++++++++++
 controller/local_data.h     | 158 ++++++++++
 controller/lport.c          |  40 +++
 controller/lport.h          |   7 +-
 controller/ovn-controller.c | 374 +++++++++++++++++------
 controller/ovn-controller.h |  42 ---
 controller/patch.c          |   1 +
 controller/physical.c       | 405 ++++++-------------------
 controller/physical.h       |  15 +-
 controller/pinctrl.c        |   1 +
 lib/inc-proc-eng.h          |   4 +
 tests/ovn-controller.at     |  35 ++-
 tests/ovn.at                |   2 +-
 18 files changed, 1415 insertions(+), 826 deletions(-)
 create mode 100644 controller/local_data.c
 create mode 100644 controller/local_data.h