[ovs-dev] [PATCH ovn 0/6] northd: rework ovn-northd lb flow installation

Lorenzo Bianconi lorenzo.bianconi at redhat.com
Fri Jun 11 10:17:30 UTC 2021


Rework lb flow logic in order to visit first each load_balancer and then
related datapath during lb flow installation.
This patch allows to reduce memory footprint and cpu utilization in
ovn-northd.

Testing environment:
ovn-nbctl lr-list |wc -l
308
ovn-nbctl lb-list |wc -l
14524

Time needed for build_lrouter_lb_flows() to run for all datapaths/lbs
    Total samples: 22
    Maximum: 6937 msec
    Minimum: 6869 msec
    95th percentile: 6933.000000 msec
    Short term average: 6916.599206 msec
    Long term average: 6914.809656 msec

Time needed for build_lrouter_flows_for_lb() to run for all lbs/datapaths
   Total samples: 22
   Maximum: 2745 msec
   Minimum: 2674 msec
   95th percentile: 2742.000000 msec
   Short term average: 2724.775973 msec
   Long term average: 2681.334522 msec

This series does not introduce any new feature to ovn-northd.

Lorenzo Bianconi (6):
  northd: move snat_type out of vip loop
  lib: link logical routers assigned for the same lb
  northd: move build_empty_lb_event_flow in build_lrouter_flows_for_lb
  northd: move lb_{skip,force}_snat code in
    build_lrouter_snat_flows_for_lb
  northd: get rid of add_router_lb_flow
  northd: remove dead code in build_lrouter_nat_defrag_and_lb

 lib/lb.c            |  11 ++
 lib/lb.h            |   6 +
 northd/ovn-northd.c | 443 +++++++++++++++++++++++++++-----------------
 3 files changed, 295 insertions(+), 165 deletions(-)

-- 
2.31.1



More information about the dev mailing list