[ovs-discuss] QoS queue not working.

Guru Shetty guru at ovn.org
Tue Jan 26 19:15:06 UTC 2016


If your external interface is s2-eth2, you can do:
sudo tc class show dev s2-eth2

And you should be able see whether stats there are getting incremented. I
also suggest doing this without mininet with actual physical topology.

On 26 January 2016 at 10:53, Simone Cordella <simonecordella93 at gmail.com>
wrote:

> Yes every time i execute an iperf test, if i lunch the command ovs-ofctl
> dump-flows s2, i can see the counter n_packets,n_byte that increase, so the
> macth rule of the flow entry work correctly, infact if i sobstitute the
> set_queue action with the drop action in the flow entry, it drop all the
> packets, so i think that the flow entry intercept correctly the packets but
> i don't know why the rate limiting of the queue is not applied.
>
> 2016-01-26 19:19 GMT+01:00 Guru Shetty <guru at ovn.org>:
>
>>
>>
>> On 26 January 2016 at 07:12, Simone Cordella <simonecordella93 at gmail.com>
>> wrote:
>>
>>> Hi,
>>>
>>> I'm having problems with queue and QoS, I'm working with mininet on this
>>> topology:
>>>
>>> h1---------
>>>            s1-------s2--------h3
>>> h2--------
>>>
>>> h1 and h2 are connected on the switch s1 and host h3 is connected to
>>> switch s2, in particular h3 is connected on port s2-eth1 on the switch s2,
>>> and the switch s1 is connected on the port s2-eth2, all the links are
>>> 100Mb/s, the version of ovs that I’m using is 2.4.0.
>>>
>>> I want to create a queue on port s2-eth2 in order to limit the rate at
>>> 3Mb/s, so for first i create the qos on port s2-eth2 and after that I
>>> create the queue, finally i insert the flow entry in order to connect the
>>> packet flow to the queue, to do this i use this sequence of command:
>>>
>>> ovs-vsctl -- set Port s2-eth2 qos=@newqos -- --id=@newqos create QoS
>>> type=linux-htb
>>> ovs-vsctl -- add QoS s2-eth2 Queue 1=@queue -- --id=@queue create Queue
>>> other-config:max-rate=3000000
>>>
>>> when I run the command:
>>>
>>> ovs-vsctl list qos
>>> ovs-vsctl list queue
>>> ovs-vsctl list port s2-eth2 qos
>>>
>>> the result is:
>>>
>>> _uuid               : 1d1e8a1a-e95a-420c-bff3-2012c2ea1188
>>> external_ids        : {}
>>> other_config        : {}
>>> queues              : {1=20239989-e620-436a-a5f7-ce81fccf0369}
>>> type                : linux-htb
>>> ------------------------------------------------
>>> _uuid               : 20239989-e620-436a-a5f7-ce81fccf0369
>>> dscp                : []
>>> external_ids        : {}
>>> other_config        : {max-rate="3000000"}
>>> ------------------------------------------------
>>> _uuid               : ff9cf32a-41c5-4cd9-8e80-c31f71f5b6c2
>>> bond_active_slave   : []
>>> bond_downdelay      : 0
>>> bond_fake_iface     : false
>>> bond_mode           : []
>>> bond_updelay        : 0
>>> external_ids        : {}
>>> fake_bridge         : false
>>> interfaces          : [a8a1d572-c10a-4e96-a0b1-b5dbd128f880]
>>> lacp                : []
>>> mac                 : []
>>> name                : "s2-eth2"
>>> other_config        : {}
>>> qos                 : 1d1e8a1a-e95a-420c-bff3-2012c2ea1188
>>> rstp_statistics     : {}
>>> rstp_status         : {}
>>> statistics          : {}
>>> status              : {}
>>> tag                 : []
>>> trunks              : []
>>> vlan_mode           : []
>>>
>>> So it seems that the qos, queue and port are well configured, after that
>>> i add this flow entry:
>>>
>>>
>>> ovs-ofctl add-flow s2
>>> priority=100,tcp,nw_dst=10.0.0.1,actions=set_queue:1,output:2
>>>
>>> so it should take all the tcp packet directed to h1(10.0.0.1) and insert
>>> them in the queue,but when i run an iperf test on mininet between h3 and h1
>>> it gives this result:
>>>
>>> mininet> iperf h3 h1
>>> *** Iperf: testing TCP bandwidth between h3 and h1
>>> *** Results: ['90.0 Mbits/sec', '90.9 Mbits/sec']
>>>
>>> so the rate limiting of the queue is not applied otherwise the result of
>>> the iperf test would have been 3Mb/s.
>>>
>>> I tried also to insert the flow entry:
>>>
>>> ovs-ofctl add-flow s2
>>> priority=100,tcp,nw_dst=10.0.0.1,actions=enqueue:2:1
>>>
>>> but the result is the same.
>>>
>>> There's something that i'm doing wrong?
>>> How i can resolve this problem?
>>>
>>
>> Once you send traffic, do you seen the counters increase in your openflow
>> that you added?
>>
>> Whenever OVS configured queues, you can see the same using "tc". So you
>> can also see whether the counters there are getting hit.
>>
>> (Whenever you mention "mininet", you will likely not get deep answers
>> from this mailing list, simply because you have now inserted an additional
>> thing on top of OVS, and people on this list are not very familiar with
>> mininet).
>>
>>
>>
>>>
>>> Many thanks in advance.
>>> Simone
>>>
>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail> Questa
>>> e-mail è stata inviata da un computer privo di virus protetto da Avast.
>>> www.avast.com
>>> <https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
>>> <#1118502582_-1007128804_-2102558688_DDB4FAA8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
>>>
>>> _______________________________________________
>>> discuss mailing list
>>> discuss at openvswitch.org
>>> http://openvswitch.org/mailman/listinfo/discuss
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/ovs-discuss/attachments/20160126/1fd4bcc0/attachment-0002.html>


More information about the discuss mailing list