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