[ovs-discuss] Questions about the OVS group table

Ben Pfaff blp at ovn.org
Fri Jul 10 16:21:28 UTC 2020


On Fri, Jul 10, 2020 at 03:10:04PM +0800, C C wrote:
> Hello! I'm a student at USTC. I've been working on projects with OVS
> recently. I want to know what hash function is used by default for group
> select. For example, "ovs-ofctl -O OpenFlow15 add-group br0 group_id=1,
> type=select, selection_method=hash, fields=ip_src bucket=actions=output:1".
> Where is this hash function in the OVS src-code? I hope you can solve my
> problem. Thank you!

The FAQ 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.


More information about the discuss mailing list