If I send multiple different TCP streams at the same time, I can see the traffic going to both buckets as expected.
Thanks again On Wed, 26 Apr 2023 at 22:16, Ilya Maximets <[email protected]> wrote: > On 4/26/23 23:05, Celyn Birkinshaw via discuss wrote: > > I have tried to implement multipath routing using a select group and > two buckets but it doesn't work as I expected. > > > > I have a diamond topology with Alice at one end and Bob at the other. > They connect to each other through the OVS switches s1, s2, s3, and s4, > like in the diagram below. > > > > ___ s2 ___ > > / \ > > a ---- s1 s4 ---- b > > \___ s3 ___/ > > > > > > I've added a group to s1 that contains two buckets that have equal > weight: > > # ovs-ofctl -O OpenFlow15 add-group s1 "group_id=1 type=select > selection_method=dp_hash bucket=actions=output:2,weight=80 > bucket=actions=output:3,weight=80" > > > > Here is my flow entry that sends matching packets to the group: > > # ovs-ofctl -O OpenFlow15 add-flow s1 > in_port=1,dl_src=08:00:27:6f:32:8d,dl_dst=08:00:27:fb:55:9d,actions=group:1 > > > > There are other flow entries to ensure packets are forwarded > appropriately by s2, s3, and s4. > > > > When I send traffic through the network and dump the flow entry > statistics, I see that all of the traffic goes to Bob through s2. If I > increase the weight of the second bucket by 1, then all of the traffic goes > to Bob through s3. > > > > Here is what I read in the documentation about ovs-ofctl, from the > section about Group Syntax > type > select: "Execute one bucket in the > group, balancing across the buckets according to their weights." > > > > I took that to mean that buckets with equal weights would each handle an > equal proportion of the incoming matching network traffic. Is that not what > it means? > > > > I welcome any suggestions about what I might be doing wrong here. > > It will balance the traffic, however, packets with the same hash > will always go to the same bucket to avoid packet reordering. > So, for example, all the packets from the same TCP stream should > hit the same bucket. > > If you'll run multiple different TCP streams at the same time, some > of them should hit the first bucket and some of them the second. > But packets from the same stream should go to the same bucket. > > Best regards, Ilya Maximets. >
_______________________________________________ discuss mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
