[ovs-dev] [PATCH ovn v13 0/7] Incremental processing improvements.

numans at ovn.org numans at ovn.org
Fri Jun 19 11:09:50 UTC 2020

From: Numan Siddique <numans at ovn.org>

This patch series handles port binding, datapath binding, ovs interface changes,
runtime data changes, sb chassis changes incrementally.

v12 -> v13
 * Addressed the review comments from Dumitru.
 * Fixed the test case added in p5 which was failing intermittently.
 * Patch 3 commit message has the test results with these patches.

v11 -> v12
 * Rebased the patches to latest master.
 * Add a new patch p7 which changes the signature of some of
   the static functions added recently in binding.c so that the out
   param is the last param.

v10 -> v11
 * The firt 3 patches of v10 are now merged to master.
 * The v11 has now 6 patches.
 * Addressed the review comments from Dumitru.
 * Added another new patch - which adds the util function
   get_unique_lport_key() and use this function in places
   where it was generating this key earlier.

v9 -> v10
 * Addressed review comments.
 * Changed the patch 4 from adding a separate tracking variable in I-P
   engine to just adding a new function - clear_tracked_data() as per
   the review comments.
 * Dropped the patch 9 - "ovn-controller: Handle sbrec_chassis changes incrementally."
   from the series. I couldn't address the review comments for this patch in v9.
   Hence dropped this patch for now. I'll work on it later and submit
   the patch separately.
 * Added a new test only patch - patch 9 in ovn-performance.at to test the
   distributed logical router ports scenario and BFD.

v8 -> v9
 * Addressed the review comments from Dumitru and missed v7 comments from
 * Any change to the 'local_lport_ids' while handling the OVS interface and Port
   binding changes in binding.c is now added to the tracked
   datapaths which was not done earlier.
 * Dropped the check to lflow_evaluate_pb_changes() in flow_output port
   binding handler as it is not required.

v7 -> v8
 * Dropped the patch 4 as it is not needed, thanks to Han.
 * Swapped the patches 5 and 6, which are now patch 4 and 5. The v8 patch 5 will now make
   use of tracked data support of engine to clear the physical_flow
 * Addressed comments from Han. Added comments in Patch 5 and Patch 6.

v6 -> v7
  * Addressed the review comments from Han in patch 1 and patch 2.

v5 -> v6
  * Addressed the review comments from Dumitru.
  * Patch 1 and Patch 2 are significantly changed due to
    further refactoring.

v4 -> v5
  * Applied patch 1 of v4 to master.
  * Addressed the review comments from Han for patch 2.
  * Rebased to latest master.

v3 -> v4
  * A small fix in patch 3 when binding the port for ovs interface
  * Rebased to latest master.

v2 -> v3
  * Added back the patch 5 and 6 and added 4 more patches. So totally
    totally 10 patches in the series
  * Handling the runtime data changes in flow computation.
  * Handling sbrec_chassis changes.

v1 -> v2
  * Addressed the review comments from Han in patch 1, 2 and 3.
  * Removed patch 5 and 6 from the series. As per the comments
    from Han, we should handle runtime data changes in flow output
    engine. But the patch 6 of the series had added a no-op
    handler. So removed these 2 patches until those are addressed.

RFC v2 -> v1
 * Fixed the 2 failing test cases.
 * Updated the commit messages.

RFC v1 -> RFC v2
 * Added 2 new patches
 * Patch 5 (ofctrl_check_and_add_flow) was submitted earlier too and
   the previous discussion is here - https://patchwork.ozlabs.org/patch/1202417/
 * Patch 6 handles I-P for ct_zone and OVS interface changes in
   flow_output_run stage.
Numan Siddique (6):
  Refactor binding_run()to take two context argument - binding_ctx_in
    and binding_ctx_out.
  ovn-controller: Refactor binding.c
  ovn-controller: I-P for port binding in runtime_data stage
  ovn-controller: I-P for datapath binding
  ofctrl_check_and_add_flow: Replace the actions of an existing flow if
    actions have changed.
  ovn-controller: I-P for ct zone  and OVN

Numan Siddique (6):
  I-P engine: Provide the option for an engine to clear tracked engine
    data in every run.
  ovn-controller: I-P for ct zone and OVS interface changes in flow
    output stage.
  ovn-controller: Handle runtime data changes in flow output engine
  tests: Enhance ovn-performance testing by adding gw router port.
  Add an util function get_unique_lport_key() for generating unique
    lport key.
  binding.c: Reorder out params of some of the static functions.

Venkata Anil (1):
  ovn-controller: Use the tracked runtime data changes for flow

 controller/binding.c        | 260 +++++++++++++++++--------
 controller/binding.h        |  47 ++++-
 controller/lflow.c          |  89 ++++++++-
 controller/lflow.h          |  12 +-
 controller/ovn-controller.c | 374 +++++++++++++++++++++++++++++++-----
 controller/physical.c       |  53 +++++
 controller/physical.h       |   5 +-
 lib/inc-proc-eng.c          |   8 +
 lib/inc-proc-eng.h          |   9 +
 lib/ovn-util.h              |   8 +
 tests/ovn-performance.at    | 138 +++++++++++--
 11 files changed, 856 insertions(+), 147 deletions(-)


More information about the dev mailing list