[ovs-discuss] OVS QoS Types

Guru Shetty guru at ovn.org
Thu Mar 24 16:00:09 UTC 2016


On 24 March 2016 at 00:55, Fabian Schörghofer <
fabian.schoerghofer at salzburgresearch.at> wrote:

> Thank you for your answer.
>
> Does OVS respect the queues issued with tc? I have not tested it yet, but
> pfifo_fast could be in effect if type= is omitted.
>

OVS uses Linux queues. i.e the same ones that are created with tc.

If I remember correctly, the queues have a queue number that can be seen
in, for e..g: " tc class show dev eth1"

So the question is, how does OVS send the packets to those queues. If I
remember correctly the answer is that OVS kernel module sets the skb
priority of the packet to that queue number (based on the openflow flow
that chooses the packet by a match rule). Now when the packet leaves the
OVS kernel module, it will automatically go to the right queue.

So the next question is, how does OVS know the queue number of a queue in
linux kernel so that it sets the right skb priority. I think it is only
possible when OVS itself creates that queue when a user creates the records
in the queue table and links it with QoS table.

Based on the above, I am not sure whether it is possible to create your own
queue with tc and then somehow make OVS aware of it.
I could be wrong.


> Fabian
>
> On 03/23/2016 04:32 PM, Guru Shetty wrote:
>
>>
>>
>> On 23 March 2016 at 03:15, Fabian Schörghofer
>> <fabian.schoerghofer at salzburgresearch.at
>> <mailto:fabian.schoerghofer at salzburgresearch.at>> wrote:
>>
>>     I want to create QoS flows.
>>
>>     The examples on the Internet that I can find realize this by using
>>     the type=linux-htb in the creation, like the command below:
>>
>>     ovs-vsctl set port p1p1 qos=@newqos -- --id=@newqos create qos
>>     type=linux-htb other-config:max-rate=1000000000
>>     queues:1=@eth04queue1 queues:2=@eth04queue2 -- --id=@eth04queue1
>>     create queue other-config:max-rate=10000000 -- --id=@eth04queue2
>>     create queue other-config:max-rate=20000000
>>
>>     This will create a HTB scheduler as can be seen from this:
>>
>>     5: p1p1: <BROADCAST,MULTICAST,PROMISC,UP,LOWER_UP> mtu 1500 qdisc
>>     htb state UP mode DEFAULT group default qlen 1000
>>          link/ether 68:05:ca:39:da:bc brd ff:ff:ff:ff:ff:ff
>>
>>     What other schedulers can I use for type? I want to use the
>>     pfifo_fast scheduler, but when I enter the first command with
>>     type=pfifo_fast or type=linux-pfifo_fast the result from ip link
>>     show will not change.
>>
>>     This leads me to believe that type=pfifo_fast or linux-pfifo_fast
>>     has no effect.
>>
>>     On some Linux versions pfifo_fast is the default queueing mechanism,
>>     some newer versions use mq, but that might not be relevant here.
>>
>>     Is it documented somewhere what strings I can use for those
>> mechanisms?
>>
>>
>> Documentation is at 'man ovs-vswitchd.conf.db'. Search for "QoS TABLE"
>>
>>
>>     Best Regards
>>     Fabian
>>     _______________________________________________
>>     discuss mailing list
>>     discuss at openvswitch.org <mailto: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/20160324/aa7ec578/attachment-0002.html>


More information about the discuss mailing list