From: Numan Siddique <[email protected]> This series adds load balancer health check feature. With this ovn-controllers will periodically check the status of the backend services. Only those services which are online/active will be considered for load balancing.
Right now this feature is restricted to IPv4 Load balancers only. CMS needs to enable this feature and the load balancer vips and backends should have L4 port defined. For TCP backends, the local ovn-controller which binds that service's VIF, will periodically send a SYN packet and would expect SYN-ACK response to set the status of that service to online. If no response is received within the timeout, then the service status is set to offline. For UDP backends, the local ovn-controller which binds that service's VIF, will periodically send an UDP packet and expects no reply. If no reply is received within the timeout vallue, the service status is set to online. In case the service is down, then ovn-controller expects ICMP unreachable packet and upon receiving this ICMP packets, it sets the status to offline. ovn-northd adds only those backends whose status is 'online' or empty to the ct_lb action. Numan Siddique (3): ovn-northd: Add support for Load Balancer health check Add a new action - handle_svc_check Send service monitor health checks controller/ovn-controller.c | 2 + controller/pinctrl.c | 775 ++++++++++++++++++++++++++++++++-- controller/pinctrl.h | 2 + include/ovn/actions.h | 17 +- lib/actions.c | 42 ++ northd/ovn-northd.8.xml | 85 +++- northd/ovn-northd.c | 512 ++++++++++++++++++++-- ovn-nb.ovsschema | 25 +- ovn-nb.xml | 68 +++ ovn-sb.ovsschema | 33 +- ovn-sb.xml | 102 +++++ tests/ovn-northd.at | 215 ++++++++++ tests/ovn.at | 133 ++++++ tests/system-common-macros.at | 1 + tests/system-ovn.at | 180 ++++++++ utilities/ovn-trace.c | 3 + 16 files changed, 2122 insertions(+), 73 deletions(-) -- 2.21.0 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
