Re: Changing default qdisc from pfifo to sfq

Linux Advanced Routing and Traffic Control

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I will try it out and then get back to you. Thanks for all the help :)

On Thu, Oct 2, 2014 at 9:12 PM, Remy Mudingay <remy.mudingay@xxxxxxxxx> wrote:
> Hi Akshat,
>
> What I mean is that the handle 1: can have upto 65k classes and so can 2: and 3: and so on.
> Therefore you can do the following
>
> 1: root handle (htb/hsfc, etc classful  qdisc)
> 1:2 class (parent class is 1:)
> 2:1 leaf sfq/fq/codel qdisc (parent handle is 1:2)
> ....
> Don't just take my word on this, I strongly encourage to try it out.
>
> Remy
>
>> On 02 Oct 2014, at 16:49, Akshat Kakkar <akshat.1984@xxxxxxxxx> wrote:
>>
>> Thanks for the sysctl option. That might help.
>>
>> Regarding 64K limit, as shown in the example you have given, the leaf
>> handle can only be from 1: to fffe: i.e. 64K. total class limit can be
>> 64K * 64K i.e 4G but for the lead SFQ ( as SFQ handle can't have minor
>> number) so for an interface, it can at max be fffe i.e. 64K. Is my
>> understanding correct on this? or do you want to say that for class
>> handle 1:1 I can define 64K SFQs and then for class handle 1:2 I can
>> again have 64K SFQs???
>>
>>> On Tue, Sep 30, 2014 at 7:04 PM, Remy Mudingay <remy.mudingay@xxxxxxxxx> wrote:
>>> Hi Akshat,
>>>
>>> The 65K (65535) limit is only for a specific handle and not the
>>> maximum number of classes that one can create on a system. You can
>>> create/attach more classes but you need to give them a new (leaf)
>>> handle for your sfq qdiscs.
>>>
>>> Here's an example (using htb) ;
>>>
>>> tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit
>>>
>>> tc class add dev eth0 parent 1:1 classid 1:10 htb rate 100kbit ceil 1mbit
>>>
>>> ....
>>>
>>> tc class add dev eth0 parent 1:1 classid 1:ffe htb rate 100kbit ceil 1mbit
>>>
>>>
>>>
>>> tc qdisc add dev eth0 parent 1:1 handle 1: sfq
>>>
>>> tc qdisc add dev eth0 parent 1:ffe handle ffff: sfq
>>>
>>>
>>> To answer your question about setting a default qdisc. This is
>>> possible from a specific kernel version (I can't recall which version)
>>> but I know that 3.11 and onwards support setting it either via sysctl
>>> ;
>>>
>>> net.core.default_qdisc = sfq
>>>
>>> or by issuing  ;
>>>
>>> echo "sfq" > /proc/sys/net/core/default_qdisc
>>>
>>>
>>> The changes are effective (when using sysctl.conf) after a reboot or
>>> when adding after adding a qdisc and then deleting it from an
>>> interface.
>>>
>>> I hope that helps.
>>>
>>>
>>> Remy
>>>
>>>
>>>
>>>
>>>> On 30 September 2014 14:16, Akshat Kakkar <akshat.1984@xxxxxxxxx> wrote:
>>>>
>>>> If I want to define classes more than 64k (i.e. ffff), I need to use
>>>> class hierarchy  or nested classes.
>>>> But, if I want to give each one of them SFQ then I can't do that, as
>>>> then I will have to define separate qdisc for each one of them and
>>>> each SFQ will require to be given a handle starting from  1: and
>>>> ending at fffe: i.e. only 64K and not more then that. For classes not
>>>> having SFQ (as the number is exhausted), the qdisc remains as SFQ.
>>>>
>>>> So in a way, each leaf class gets a queue for sure but not SFQ.
>>>>
>>>> Is there a way, to make SFQ as the default qdisc so that we don't have
>>>> to specify it separately and hence will never run short of them?
>>>>
>>>> I apologise if I have confused the things.
>>>>
>>>> Thanks in anticipation.
>>>> --
>>>> To unsubscribe from this list: send the line "unsubscribe lartc" in
>>>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe lartc" in
>>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe lartc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [LARTC Home Page]     [Netfilter]     [Netfilter Development]     [Network Development]     [Bugtraq]     [GCC Help]     [Yosemite News]     [Linux Kernel]     [Fedora Users]
  Powered by Linux