On 10/14/22 06:57, Lorenzo Bianconi wrote:
Hi Lorenzo,

Hi Mark,


Thanks for addressing my concerns so quickly. I see that you addressed my
concerns about load balancers with no ports in patch 3. However there are
still some lingering issues:

thx for the second review.


* In patch 1, the commit_lb_aff() action still expects all parsed IP
addresses to have a port.

Do you mean lb_aff->backend_port in encode_COMMIT_LB_AFF()? I will fix it in
v3.

I was referring to that as well as parse_commit_lb_aff(). It parses the IP string into an address and port. It does not check what the resulting port value is before setting it on the ovnact_commit_lb_aff.



* In patch 1, the commit_lb_aff() action always expects a protocol to be
present when parsing.

ack, I will fix it in v3.


* Because of the above 2 issues, the resulting learn() action that we create
when encoding the commit_lb_aff() action will always specify a port number
and protocol.

* In patch 3, northd always sets the protocol in the commit_lb_aff() action
it creates. It should only specify a protocol if a port is specified on
either the LB VIP or backend.

I do not have any strong opinion here but there are multiple places in northd.c
where we just use lb->proto without considering the vip port value:
- build_empty_lb_event_flow()
- ovn_lb_svc_create()
- build_lrouter_nat_flows_for_lb()

Anyway I will align it to build_lb_rules_pre_stateful() or build_lb_rules() in
v3.

Regards,
Lorenzo


On 10/13/22 11:51, Lorenzo Bianconi wrote:
Introduce load-balancer affinity timeout in order to dnat connections received
from the same client to a given load-balancer to the same backend if received
in the affinity timeslot specified by the CMS.

Reported-at: https://bugzilla.redhat.com/show_bug.cgi?id=2127959

Changes since v1:
- rebase on top of ovn master
- fix system-ovn.at
- fix documentation
- take into account the case the CMS does not provide vip/backends ports

Lorenzo Bianconi (3):
    actions: introduce commit_lb_aff action
    actions: introduce chk_lb_aff action
    northd: rely on new actions for lb affinity

   controller/lflow.h           |   1 +
   include/ovn/actions.h        |  16 ++
   include/ovn/logical-fields.h |   3 +
   lib/actions.c                | 389 +++++++++++++++++++++++++++++++++++
   lib/lb.c                     |   3 +
   lib/lb.h                     |   1 +
   northd/northd.c              | 202 +++++++++++++++---
   northd/ovn-northd.8.xml      | 208 ++++++++++++++++---
   ovn-nb.xml                   |   6 +
   ovn-sb.xml                   |  44 ++++
   tests/ovn-northd.at          | 346 +++++++++++++++++++------------
   tests/ovn.at                 |  65 +++---
   tests/system-ovn.at          | 184 ++++++++++++++++-
   utilities/ovn-trace.c        |   4 +
   14 files changed, 1251 insertions(+), 221 deletions(-)



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

Reply via email to