[ovs-discuss] Select Group bucket selection

Warsang warsang at minet.net
Tue Aug 30 00:17:06 UTC 2016


On 08/29/16 17:29, Ben Pfaff wrote:
> On Mon, Aug 29, 2016 at 07:22:10PM +1200, Warsang wrote:
>> Hello,
>>
>> I was wondering how the bucket selection is made in OVS 2.4 I found this in
>> the ml archive
>> http://openvswitch.org/pipermail/discuss/2016-January/019984.html
>> saying that :"
>>
>> Open vSwitch 2.4 and later by default hashes the source and
>>     destination Ethernet address, VLAN ID, Ethernet type, IPv4/v6
>>     source and destination address and protocol, and for TCP and SCTP
>>     only, the source and destination ports.  The hash is "symmetric",
>>     meaning that exchanging source and destination addresses does not
>>     change the bucket selection.
> That information is correct.  It comes from the OVS FAQ.  The entire FAQ
> entry says:
>
> ### Q: How does OVS divide flows among buckets in an OpenFlow "select" group?
>
> A: In Open vSwitch 2.3 and earlier, Open vSwitch used the destination
>     Ethernet address to choose a bucket in a select group.
>
>     Open vSwitch 2.4 and later by default hashes the source and
>     destination Ethernet address, VLAN ID, Ethernet type, IPv4/v6
>     source and destination address and protocol, and for TCP and SCTP
>     only, the source and destination ports.  The hash is "symmetric",
>     meaning that exchanging source and destination addresses does not
>     change the bucket selection.
>
>     Select groups in Open vSwitch 2.4 and later can be configured to
>     use a different hash function, using a Netronome extension to the
>     OpenFlow 1.5+ group_mod message.  For more information, see
>     Documentation/group-selection-method-property.txt in the Open
>     vSwitch source tree.  (OpenFlow 1.5 support in Open vSwitch is still
>     experimental.)
Thank you for your answer
>> I am trying to implement ECMP in ryu controller so if I do understand
>> correctly, using buckets from SELECT group is not the correct solution for
>> it uses a very different selection method is that right?
> What kind of selection method do you want?
I was thinking of using the ECMP five-tuple (Ip src, Ip dst, protocol, 
L4 src port, L4 dst port)  through a hash  (CRC16 or MD5) modulo 100,and 
then depending on the value of the hash, sending it to a corresponding 
bucket. Or am I missunderstanding something in how ECMP works?



More information about the discuss mailing list