mbox series

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

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

Message

Numan Siddique Aug. 2, 2021, 8:48 p.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.

v3 -> v4
----
  * Addressed the review comments from Han for patch 1 - Removed the
    callback function argument in 'local_datapath_add()'.

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        | 598 +++++++++++++-----------------------
 controller/binding.h        |  36 ++-
 controller/lflow.c          |   6 +-
 controller/lflow.h          |   1 +
 controller/local_data.c     | 521 +++++++++++++++++++++++++++++++
 controller/local_data.h     | 150 +++++++++
 controller/lport.c          |  40 +++
 controller/lport.h          |   7 +-
 controller/ovn-controller.c | 376 +++++++++++++++++------
 controller/ovn-controller.h |  38 ---
 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, 1375 insertions(+), 865 deletions(-)
 create mode 100644 controller/local_data.c
 create mode 100644 controller/local_data.h