On Wed, Mar 7, 2012 at 3:59 PM, ANAND AKELLA <[email protected]> wrote:
> Hi,
>
> We are  trying to setup the experiment to perform QoS rate limiting using
> OpenV Switch and following the steps provided in the cookbook.
>  We are able to connect a VM to tap interface and configured the ovs-vsctl
> command to perform rate limiting on tap interfaces.
> We also enabled ingress tc qdisc add dev tap0  (traffic control) but
> we don't see the traffic being rate limited when applied on tap interfaces
> I'm trying to send traffic using netperf  ,the effective throughput remains
> the same in the ingress and egress even after applying qos rate limiting on
> taps interfaces.
>
> We have hit a roadblock and do not know in which direction to proceed in
> order to resolve the issue.
>
> Any help in this regard will be appreciated.


This is not the exact thing that you are asking for and someone else
may help you here. But have you tried rate limiting at the physical
interface side of the bridge? I had tried a few days ago and it had
worked for me. You can reduce the rate limiting to less than 100 mbps
and it should work fine from the VMs too.

I am copy-pasting my notes and setup details:
2 ubuntu 11.04 machines:
client1: Has eth1 and br0. IP address of br0 is 192.168.1.1

client2: Has eth1, eth1:1, eth1:2 with 192.168.1.2, 192.168.1.3, 192.168.1.4

In Client1:
sudo ovs-vsctl clear Port eth1 qos
sudo ovs-ofctl del-flows br0
sudo ovs-ofctl add-flow br0 actions=NORMAL

sudo ovs-ofctl show br0 : This will give me the port numbers for the
enqueue action.

#Add tc root and classes
sudo ovs-vsctl -- set port eth1 qos=@newqos \
-- --id=@newqos create qos type=linux-htb
other-config:max-rate=900000000 queues=0=@q0,1=@q1,2=@q2 \
-- --id=@q0 create queue other-config:min-rate=720000000
other-config:max-rate=900000000 \
-- --id=@q1 create queue other-config:min-rate=0
other-config:max-rate=90000000 \
-- --id=@q2 create queue other-config:min-rate=0 other-config:max-rate=90000000

#Add ofctl rules
sudo ovs-ofctl add-flow br0
priority=65500,in_port=LOCAL,dl_type=0x0800,nw_src=ANY,nw_dst=192.168.1.2,actions=enqueue:2:0
sudo ovs-ofctl add-flow br0
priority=65500,in_port=LOCAL,dl_type=0x0800,nw_src=ANY,nw_dst=192.168.1.3,actions=enqueue:2:1
sudo ovs-ofctl add-flow br0
priority=65500,in_port=LOCAL,dl_type=0x0800,nw_src=ANY,nw_dst=192.168.1.4,actions=enqueue:2:2

#You need 3 netservers in client2 on 3 different IP addresses(or not).
#From client1:
netperf -H 192.168.1.2[3,4] -c -C -l 100

gshetty@ubuntu-client1:~$ sudo tc class show dev eth1
class htb 1:fffe root rate 900000Kbit ceil 900000Kbit burst 1462b cburst 1462b
class htb 1:1 parent 1:fffe prio 0 rate 720000Kbit ceil 900000Kbit
burst 1530b cburst 1462b
class htb 1:2 parent 1:fffe prio 0 rate 12000bit ceil 90000Kbit burst
1563b cburst 1563b
class htb 1:3 parent 1:fffe prio 0 rate 12000bit ceil 90000Kbit burst
1563b cburst 1563b


gshetty@ubuntu-client1:~$ sudo ovs-ofctl dump-flows br0
NXST_FLOW reply (xid=0x4):
 cookie=0x0, duration=1622.813s, table=0, n_packets=2481225,
n_bytes=163926423, actions=NORMAL
 cookie=0x0, duration=1620.652s, table=0, n_packets=23289,
n_bytes=851884578, priority=65500,ip,in_port=65534,nw_dst=192.168.1.3
actions=enqueue:2q1
 cookie=0x0, duration=1620.643s, table=0, n_packets=23280,
n_bytes=857831536, priority=65500,ip,in_port=65534,nw_dst=192.168.1.4
actions=enqueue:2q2
 cookie=0x0, duration=1620.66s, table=0, n_packets=390053,
n_bytes=15880543962,
priority=65500,ip,in_port=65534,nw_dst=192.168.1.2 actions=enqueue:2q0
_______________________________________________
discuss mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/discuss

Reply via email to