I am taking a look at using OVS to load balance traffic over a number of
ports. I was initially thinking of implementing the application by using
group tables with type=select but the fact that the current OVS code
uses dl_dst as the basis of the hash complicates the implementation.
This is especially an issue especially if trying to divide traffic by
flows. 

I could see that for TCP and UDP flows using a hash based on
nw_src/nw_dst/tp_src/tp_dst/proto_type (or a more complex tuple) could
be useful for load balancing. Is there any reason why this couldn't be
added or is there a simpler solution to allow for load balancing, using
group tables or not, that I am missing.

If not I was thinking of coding up a patch that would replace the
current dl_dst hash with a function that chose the tuple based on type
of traffic. If the flow is a TCP or UDP one the new function would hash
based on the 5-tuple. Other traffic would just use the dl_dst based
hash. 

Also is there any plans to add some way to toggle what type of hashes
could be used for the select group tables. The OF spec specifically says
you can't specify the hashing mechanism for select groups through the OF
protocol itself but it still may be useful to allow for setting how you
wanted to created for load balancing or ECMP through another mechanism.

Thanks,

Chris Small
Network Engineer
University of Washington

_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to