I only have three flow and the group table with three outport is configured
with the same split weight :
Flow 1:  source mac: 10.0.0.1 destination mac: 10.0.0.2
Flow 2:  source mac: 10.0.0.1 destination mac: 10.0.0.3
Flow 3:  source mac: 10.0.0.1 destination mac: 10.0.0.4

You mean the packets will evenly when the number of flows are large ?

On Mon, Jan 25, 2016 at 11:52 AM, Ben Pfaff <b...@ovn.org> wrote:

> On Sat, Jan 23, 2016 at 06:25:35PM -0800, Jiaqi Zheng wrote:
> > In my experiments, it seems like something wrong.
> >
> > In my experiments, H1 is the source, another three hosts H2, H3 and H4
> are
> > destination. The source host H1 send packets to other three hosts at the
> > same time. I set group table bucket with three out ports , the split
> weight
> > is two for each. In theory, the packets send to H2, H3 and H4 should be
> > routed to different port as defined in group table (It's said that split
> is
> > based on Destination MAC address, is it right ?)
>
> ### 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.)
>
> > But port 1 has no packet (the split weight for port 1, port 2 and port 3
> > are all 1 respectively). The dump info is below:
> >
> > mininet> sh ovs-ofctl dump-groups s1 -O Openflow13
> > OFPST_GROUP_DESC reply (OF1.3) (xid=0x2):
> >
> group_id=2,type=select,bucket=weight:2,actions=push_vlan:0x8100,set_field:4608->vlan_vid,output:2,bucket=weight:2,actions=push_vlan:0x8100,set_field:4609->vlan_vid,output:3,bucket=weight:2,actions=push_vlan:0x8100,set_field:4610->vlan_vid,output:1
> > mininet>
> >
> > If I set port 2 and port 3 's weight to zero and set port 1's weight to
> > two.  Packets are routed in port 1.
> >
> > Why I set all split weight to two and no packets are routed to port 1?
> > Thanks for you help.
>
> How diverse are the packets you are sending?  You can't expect to send a
> few packets and have them evenly spread.  You need to send packets that
> belong to a large number of different microflows if you expect to see
> even division.
>
_______________________________________________
discuss mailing list
discuss@openvswitch.org
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to