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?
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to