[ovs-dev] hashing port numbers in UDP (was: Hashing: Add truly symmetric L3+L4 fields option for multipath and bundle hashing)

Jeroen van Bemmel jvb127 at gmail.com
Fri Jul 3 21:32:56 UTC 2015


Most applications in my world ( SIP, DNS, RTP ) do use symmetric UDP
ports in most cases, I am only aware of a few (like VXLAN) which
don't. I figured that if people wanted to exclude UDP ports they could
use the existing symmetric_l3 hash that we have today.

If the hash is used for link selection, multiple UDP flows between 2
servers will all use a single link per direction, reducing the
available bandwidth. I see reasons for both options, maybe we should
add a parameter to the algorithm to include/exclude UDP ports from the
hash

Regards,
Jeroen


On Thu, Jul 2, 2015 at 11:04 AM, Ben Pfaff <blp at nicira.com> wrote:
> On Sun, Jun 28, 2015 at 01:43:20PM -0500, Jeroen van Bemmel wrote:
>> The symmetric_l4 function implements a hash over various fields
>> including L2 fields such as ethernet source and destination MAC.
>> Inspite of its name, there are situations in which this hash does not
>> yield symmetric results ( e.g. when using VRRP, where the router
>> receives packets on a virtual MAC but responds from its physical MAC )
>>
>> This patch adds a new 'symmetric_l3l4' function which is mostly an
>> intelligent copy&paste of existing code. It includes only L3 and L4
>> fields, including UDP and SCTP ports
>
> Hi Justin, when we introduced the symmetric_l4 hash algorithm (in the
> flow_hash_symmetric_l4() function), we omitted UDP ports because:
>
>     /* UDP source and destination port are not taken into account because they
>      * will not necessarily be symmetric in a bidirectional flow. */
>
> Jeroen has a new symmetric hash function that includes UDP ports.  This
> seems like a bad idea if indeed UDP ports tend not to be symmetric.
> Should we expand on this comment?  Jeroen, should we really include UDP
> ports?



More information about the dev mailing list