[ovs-discuss] openvswitch multipath

张伟 zhangwqh at 126.com
Wed Nov 26 00:56:37 UTC 2014

Thank you for your reply, Romain and Ben!

I have tried to use two flows. One flow requests dst port 9999, the other flow requests dst port 8888. Since I use symmetric_l4 as hash, source port should be different in each request. However, these two flows go to the same link.

I also tried to use tcp client server. I started three clients, three of them still go to the same link.

When I tried to configure multiple IP addresses on the destination devices. The client side ping different IP addresses of the destination devices. In this case, it works. I can find the flows in my two links.

At 2014-11-26 01:57:53, "Romain Lenglet" <romain.lenglet at oracle.com> wrote:

How many distinct UDP flows are you sending in your test?
Romain Lenglet

On November 24, 2014 at 7:18:07 PM, 张伟 (zhangwqh at 126.com) wrote:

Hi Ben, 

This almost drove me mad. I need your help. Just now I checked the match_format() function. My understanding is that multipath_execute() function will fill in the regs member in flow structure(ovs-ofctl add-flow ovs-br0 "in_port=5, priority=100, actions=multipath(symmetric_l4, 1024, modulo_n, 2, 0, NXM_NX_REG0[0..1]), resubmit(,10)", The command key action is that writing the link result to regs in flow strucutre). Match_format will check the regs in the flow we want to match(ovs-ofctl add-flow ovs-br0 "table=10, in_port=5, reg0=0, actions=output:9", in this example, it will match reg0) and use reg0 as one part for matching the flow. 

Why my configuration does not work. From my understanding it should work. My god. Can you give me some help? In my last email, I have described the traffic and my configuration. 

At 2014-11-25 02:01:47, "Ben Pfaff" <blp at nicira.com> wrote:
>On Mon, Nov 24, 2014 at 11:39:15PM +0800, ???? wrote:
>> I want to configure openvswitch multipath.  I want the packets from ofport portid 5 can be sent out to ofport portid 4 and ofport portid 9.  From man ovs-ofctl,  multipath as the actions. n_links is a parameter. I have done this:
>> ovs-ofctl add-flow ovs-br0 "in_port=5, priority=100, actions=multipath(symmetric_l4, 1024, modulo_n, 2, 0, NXM_NX_REG0[0..1]), resubmit(,10)"
>> The link result is saved to NXM_NX_REG. However, how is the link related to output port?  
>> From one google webpage,
>> http://docs.inocybe.com/dev-guide/content/_open_vswitch_rules.html
>> I also did the following two lines:
>> ovs-ofctl add-flow ovs-br0 "table=10, in_port=5, reg0=0, actions=output:9"
>> ovs-ofctl add-flow ovs-br0 "table=10, in_port=5, reg0=1, actions=output:4"'
>> However, reg0 did not work. Only the first flow entry is touched.  
>Hmm, I'd expect that to work.  What traffic are you using to test?

discuss mailing list
discuss at openvswitch.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20141126/874b5f9f/attachment-0002.html>

More information about the discuss mailing list