From: Numan Siddique <num...@ovn.org> This patch series optimizes the load balancer hairpin logical flows. Presently, ovn-northd generates a lot of these logical flows.
Suppose there are 'm' load balancers associated to a logical switch and each load balancer has 'n' VIPs and each VIP has 'p' backends then ovn-northd adds (m * ((n * p) + n)) hairpin logical flows. With this patch series, ovn-northd adds just 5 hairpin logical flows. To reduce the number of lflows, load balancer information is now pushed to the Southbound database using a new 'Load_Balancer' table. ovn-controller programs the OF flows required for handling the load balancer hairpin traffic directly and new OVN actions are added to abstract the hairpining from ovn-northd. Numan Siddique (5): Add new table Load_Balancer in Southbound database. northd: Refactor load balancer vip parsing. controller: Add load balancer hairpin OF flows. actions: Add new actions chk_lb_hairpin, chk_lb_hairpin_reply and ct_snat_to_vip. northd: Make use of new hairpin actions. controller/lflow.c | 259 ++++++++++++++++ controller/lflow.h | 6 +- controller/ovn-controller.c | 27 +- include/ovn/actions.h | 15 +- include/ovn/logical-fields.h | 3 + lib/actions.c | 115 ++++++- lib/automake.mk | 4 +- lib/lb.c | 236 ++++++++++++++ lib/lb.h | 77 +++++ lib/ovn-util.c | 28 ++ lib/ovn-util.h | 2 + northd/ovn-northd.8.xml | 65 +++- northd/ovn-northd.c | 586 ++++++++++++++--------------------- ovn-sb.ovsschema | 27 +- ovn-sb.xml | 84 +++++ tests/ovn-northd.at | 109 ++++++- tests/ovn.at | 544 ++++++++++++++++++++++++++++++-- tests/test-ovn.c | 3 + utilities/ovn-sbctl.c | 3 + utilities/ovn-trace.c | 65 +++- 20 files changed, 1832 insertions(+), 426 deletions(-) create mode 100644 lib/lb.c create mode 100644 lib/lb.h -- 2.26.2 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev