During refactoring, direct access such as 'lb->vips[i].backends[j].op' was simplified by the presence of the 'backend_nb' pointer. But instead of the inner one, the index of the outer loop was used. This forces northd to only use one backend per vip, and can also lead to invalid memory accesses.
This change fixes system test: 24. ovn -- Load balancer health checks Fixes: f1119c125765 ("northd: Refactor load balancer vip parsing.") Tested-by: Lorenzo Bianconi <lorenzo.bianc...@redhat.com> Signed-off-by: Ilya Maximets <i.maxim...@ovn.org> --- northd/ovn-northd.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/northd/ovn-northd.c b/northd/ovn-northd.c index c0eab429d..403342b0d 100644 --- a/northd/ovn-northd.c +++ b/northd/ovn-northd.c @@ -6949,7 +6949,7 @@ build_lswitch_flows(struct hmap *datapaths, struct hmap *ports, for (size_t j = 0; j < lb_vip_nb->n_backends; j++) { struct ovn_northd_lb_backend *backend_nb = - &lb_vip_nb->backends_nb[i]; + &lb_vip_nb->backends_nb[j]; if (!backend_nb->op || !backend_nb->svc_mon_src_ip) { continue; } -- 2.25.4 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev