[ovs-discuss] [OVN] OVN Load balancing algorithm
Maciej Jozefczyk
mjozefcz at redhat.com
Tue Apr 7 14:04:53 UTC 2020
Hello!
I would like to ask you to clarify how the OVN Load balancing algorithm
works.
Based on the action [1]:
1) If connection is alive the same 'backend' will be chosen,
2) If it is a new connection the backend will be chosen based on
selection_method=dp_hash [2].
Based on changelog the dp_hash uses '5 tuple hash' [3].
The hash is calculated based on values: source and destination IP, source
port, protocol and arbitrary value - 42. [4]
Based on that information we could name it SOURCE_IP_PORT.
Unfortunately we recently got a bug report in OVN Octavia provider driver
project, that the Load Balancing in OVN
works differently [5]. The report shows even when the test uses the same
source ip and port, but new TCP connection,
traffic is randomly distributed, but based on [2] it shouldn't?
Is it a bug? Is something else taken to account while creating a hash? Can
it be fixed in OVS/OVN?
Thanks,
Maciej
[1] https://github.com/ovn-org/ovn/blob/branch-20.03/lib/actions.c#L1017
[2] https://github.com/ovn-org/ovn/blob/branch-20.03/lib/actions.c#L1059
[3]
https://github.com/openvswitch/ovs/blob/d58b59c17c70137aebdde37d3c01c26a26b28519/NEWS#L364-L371
[4]
https://github.com/openvswitch/ovs/blob/74286173f4d7f51f78e9db09b07a6d4d65263252/lib/flow.c#L2217
[5] https://bugs.launchpad.net/neutron/+bug/1871239
--
Best regards,
Maciej Józefczyk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-discuss/attachments/20200407/16e03fd2/attachment.html>
More information about the discuss
mailing list