Incremental processing has been implementation in ovn-controller, but we were
still doing full comparison between desired flow table and installed flow table
every time to figure out the changes need to be pushed to OVS. This series is
mainly to utilize the incremental processing information to figure out flow
changes to OVS without full table scanning, to further reduce CPU of
ovn-controller. In a scale environment of 1200 HVs and 12k lports, the CPU is
reduced by ~39% for port binding operation on local chassis.

Another important change of this series is the fix of the conjunction handling
problem.

Han Zhou (9):
  ofctrl: change ofctrl_dup_flow to module internal function
  ovn.at: Fix AT for conjunction case.
  lflow.c: No need to remove flows for adding new datapath.
  ovn-controller: Fix conjunction handling with incremental processing.
  ovn.at: Add test case for duplicated flow handling.
  ofctrl.c: Maintain references between installed flows and desired flows.
  ofctrl.c: Refactor - move openflow msg construction to functions.
  ofctrl: Incremental processing for flow installation by tracking.
  ofctrl.c: Merge opposite changes of tracked flows before installing.

 controller/lflow.c  | 106 ++++---
 controller/ofctrl.c | 865 +++++++++++++++++++++++++++++++++++++++++++---------
 controller/ofctrl.h |  39 ++-
 tests/ovn.at        | 225 +++++++++++++-
 4 files changed, 1036 insertions(+), 199 deletions(-)

-- 
2.1.0

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to