mbox series

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

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

Message

Numan Siddique July 13, 2021, 9:54 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.

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 plow_output engine.
  controller: Improve ct zone handling.

 controller/automake.mk      |   4 +-
 controller/binding.c        | 564 ++++++++++++++----------------------
 controller/binding.h        |  36 ++-
 controller/ldata.c          | 536 ++++++++++++++++++++++++++++++++++
 controller/ldata.h          | 162 +++++++++++
 controller/lflow.c          |   6 +-
 controller/lflow.h          |   1 +
 controller/lport.c          |  40 +++
 controller/lport.h          |   7 +-
 controller/ovn-controller.c | 249 +++++++++++-----
 controller/ovn-controller.h |  40 ---
 controller/patch.c          |   1 +
 controller/physical.c       | 367 +++++------------------
 controller/physical.h       |  13 +-
 controller/pinctrl.c        |   1 +
 lib/inc-proc-eng.h          |   4 +
 tests/ovn-controller.at     |  35 ++-
 tests/ovn.at                |   2 +-
 18 files changed, 1298 insertions(+), 770 deletions(-)
 create mode 100644 controller/ldata.c
 create mode 100644 controller/ldata.h