I think Ben has already told you what you need to do here.
On Thu, Jan 10, 2013 at 7:29 PM, Mathumitha S <cerisierfi...@hotmail.com> wrote: > > Thank you. I am now able to transfer traffic between the different machines. > Now the problem is different. I had posted that as a new question as I > didn't know about creating multiple threads. Sorry. I am asking the same > question here again. Can you please help me out? > > I use eth3 and eth4 i.e ports 1 and 3 as input port and eth5 (port 2) as > output port of OvS. I created 3 queues at eth5 using the following command: > > ovs-vsctl -- set port eth5 qos=@newqos -- --id=@newqos create qos > type=linux-htb other-config:max-rate=1000000000 queues=0=@q0,1=@q1,2=@q2 -- > --id=@q0 create queue other-config:min-rate=1000000 > other-config:max-rate=1000000 -- --id=@q1 create queue > other-config:min-rate=20000000 other-config:max-rate=20000000 -- --id=@q2 > create queue other-config:min-rate=10000000 other-config:max-rate=10000000 > > I used the following commands to define the flows: > > ovs-ofctl add-flow br0 "in_port=2,actions=flood" > ovs-ofctl add-flow br0 "in_port=1,priority=0,actions=enqueue:2:0" > ovs-ofctl add-flow br0 "in_port=3,priority=0,actions=enqueue:2:0" > ovs-ofctl add-flow br0 > "in_port=3,dl_type=0x0800,nw_proto=6,tp_dst=6000,priority=7,actions=enqueue:2:2" > ovs-ofctl add-flow br0 > "in_port=1,dl_type=0x0800,nw_proto=6,tp_dst=6005,priority=7,actions=enqueue:2:1" > > I use iperf at the machines to generate traffic and I got the expected rates > of 20 Mbps and 10 Mbps (approx) for the machines connected to ports 1 and 3 > respectively. > > But if I change the max-rate values for the queues and set it equal to the > max-rate of the qos, I get rates as 100 Mbps for both the machines even if I > generate traffic at the same instant. > > The command used is > ovs-vsctl -- set port eth5 qos=@newqos -- --id=@newqos create qos > type=linux-htb other-config:max-rate=1000000000 queues=0=@q0,1=@q1,2=@q2 -- > --id=@q0 create queue other-config:min-rate=1000000 > other-config:max-rate=1000000 -- --id=@q1 create queue > other-config:min-rate=20000000 other-config:max-rate=100000000 -- --id=@q2 > create queue other-config:min-rate=10000000 other-config:max-rate=100000000 > > If I generate traffic at the same time from both machines, then the > available bandwidth should be shared between the 2 queues in the ratio of > their respective weights, right? But then why am I not able to see the > bandwidth sharing? Please let me know where I am going wrong. > > If I queue 2 different flows from the same machine in different queues, then > I can see that the bandwidth is shared. But when I use traffic from 2 > different machines connected to 2 different input ports, I am not able to > see the bandwidth sharing. Where am I making a mistake? > > Thank you > > Regards, > Mathumitha > >> From: je...@nicira.com >> Date: Thu, 10 Jan 2013 09:13:53 -0800 > >> Subject: Re: [ovs-discuss] Distinguish flows based on IP address and port >> numbers in OvS >> To: cerisierfi...@hotmail.com >> CC: discuss@openvswitch.org >> >> You said this before: >> >> "If the following defines the flows, it works. >> >> ovs-ofctl add-flow br0 "in_port=1,priority=0,actions=output:2" >> ovs-ofctl add-flow br0 "in_port=2,priority=0,actions=output:1"" >> >> Presumably you're missing port 1 in your new rules. >> >> On Wed, Jan 9, 2013 at 7:56 PM, Mathumitha S <cerisierfi...@hotmail.com> >> wrote: >> > >> > Hi, >> > Thank you. But if it does not have IP Ethertype, if I use the >> > commands >> > >> > ovs-ofctl add-flow br0 "in_port=2,priority=0,actions=output:1" >> > ovs-ofctl add-flow br0 "in_port=3,priority=0,actions=output:1" >> > >> > i.e without specifying the IP address, it should work, right? But that >> > too >> > is not working. Can you please help me to define the ARP rules? >> > >> > Thank you >> > >> >> From: je...@nicira.com >> >> Date: Wed, 9 Jan 2013 07:51:59 -0800 >> >> Subject: Re: [ovs-discuss] Distinguish flows based on IP address and >> >> port >> >> numbers in OvS >> >> To: cerisierfi...@hotmail.com >> >> CC: discuss@openvswitch.org >> > >> >> >> >> On Wed, Jan 9, 2013 at 1:30 AM, Mathumitha S >> >> <cerisierfi...@hotmail.com> >> >> wrote: >> >> > Hi, >> >> > I have OpenvSwitch installed in a computer that >> >> > has a quad port. eth3, eth4 and eth5 are connected to br0 with >> >> > respective >> >> > open flow port numbers as 3,2,1 and the respective IP addresses of >> >> > the >> >> > machines connected to the ports are 10.6.3.2, 10.6.1.2 and 10.6.2.2 >> >> > >> >> > I use eth3 and eth4 i.e ports 2 and 3 as input port and eth5 (port 1) >> >> > as >> >> > output port of OvS. I created 2 queues at eth5 using the following >> >> > command: >> >> > >> >> > ovs-vsctl -- set port eth5 qos=@newqos -- --id=@newqos create qos >> >> > type=linux-htb other-config:max-rate=100000000 queues=0=@q0,1=@q1 -- >> >> > --id=@q0 create queue other-config:min-rate=20000000 >> >> > other-config:max-rate=100000000 -- --id=@q1 create queue >> >> > other-config:min-rate=1000000 other-config:max-rate=100000000 >> >> > >> >> > I then added the following flows in the flow table: >> >> > >> >> > ovs-ofctl add-flow br0 >> >> > >> >> > >> >> > "in_port=2,dl_type=0x0800,nw_proto=6,nw_src=10.6.1.2,nw_dst=10.6.2.2,tp_dst=6000,priority=7,actions=enqueue:1:0" >> >> > ovs-ofctl add-flow br0 >> >> > >> >> > >> >> > "in_port=3,dl_type=0x0800,nw_proto=6,nw_src=10.6.3.2,nw_dst=10.6.2.2,tp_dst=6005,priority=7,actions=enqueue:1:1" >> >> > ovs-ofctl add-flow br0 >> >> > >> >> > >> >> > "in_port=1,dl_type=0x0800,nw_proto=6,nw_dst=10.6.1.2,nw_src=10.6.2.2,tp_src=6000,priority=5,actions=output:2" >> >> > ovs-ofctl add-flow br0 >> >> > >> >> > >> >> > "in_port=1,dl_type=0x0800,nw_proto=6,nw_dst=10.6.3.2,nw_src=10.6.2.2,tp_src=6005,priority=5,actions=output:3" >> >> > ovs-ofctl add-flow br0 >> >> > >> >> > "in_port=2,dl_type=0x0800,nw_src=10.6.1.2,priority=0,actions=output:1" >> >> > ovs-ofctl add-flow br0 >> >> > >> >> > "in_port=3,dl_type=0x0800,,nw_src=10.6.3.2,priority=0,actions=output:1" >> >> > >> >> > I use iperf to generate traffic from two machines connected to eth3 >> >> > and >> >> > eth4. I use iperf server in machine connected to eth5 at port 6000 >> >> > for >> >> > machine connected to eth4 and at port 6005 for machine connected to >> >> > eth3. >> >> > Hence, basically I am trying ti distinguish flows based on IP address >> >> > and >> >> > destination port number. >> >> > >> >> > But when I try to generate traffic and test the scenario, I get 'No >> >> > route to >> >> > host' error. >> >> > >> >> > I basically need to enqueue different flows from different input >> >> > ports >> >> > in >> >> > different queues at output port. So I only need routes for the TCP >> >> > packets, >> >> > ACK and ARP requests, right? I think I have included these in the >> >> > rules >> >> > I >> >> > gave above. Can you please tell me what I am missing? Where am I >> >> > going >> >> > wrong? Earlier, I was able to distinguish flows based on iperf port >> >> > numbers >> >> > when I used two iperf clients on the same machine i.e when I had just >> >> > one >> >> > input port and one output port. >> >> >> >> There are still no ARP rules. ARP does not have an IP EtherType. _______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss