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 <[email protected]> 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? _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev
