Re: Problem with traffic scheduling using DRR with HTB or with TBF

Linux Advanced Routing and Traffic Control

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

 



On Fri, Feb 27, 2015 at 9:52 AM, Ronald Pina <pinaronald@xxxxxxxxx> wrote:
> I have been tested DRR using fq_codel and codel in an extremely
> congested network and I can confirm  that the average packet latency
> has been improved quite well comparing to fifo, the latency is keep at
> low levels and the throughput tends to be stable.

Isn't it awesome? We can replace the phone system now...

I try to encourage people to use netperf-wrapper to give easy
comparison charts from repeatable tests. Did you try that?

> On Thu, Feb 19, 2015 at 11:14 PM, Dave Taht <dave.taht@xxxxxxxxx> wrote:
>> On Thu, Feb 19, 2015 at 2:10 PM, Ronald Pina <pinaronald@xxxxxxxxx> wrote:
>>> Hi , the solution is:
>>>
>>> # adding the root qdisc and assign Deficit Round Robin to it
>>> tc qdisc add dev eth0 root handle 1: drr
>>> #
>>> # adding classes to the root qdisc , every class has a quantum of 1514
>>> which represent the frame size
>>>
>>>      tc class add dev eth0 parent 1: classid 1:1 drr quantum 1514
>>>      tc class add dev eth0 parent 1: classid 1:2 drr quantum 1514
>>>      tc class add dev eth0 parent 1: classid 1:3 drr quantum 1514
>>>      tc class add dev eth0 parent 1: classid 1:4 drr quantum 1514
>>>      tc class add dev eth0 parent 1: classid 1:5 drr quantum 1514
>>>      tc class add dev eth0 parent 1: classid 1:6 drr quantum 1514
>>>      tc class add dev eth0 parent 1: classid 1:7 drr quantum 1514
>>>      tc class add dev eth0 parent 1: classid 1:8 drr quantum 1514
>>>      tc class add dev eth0 parent 1: classid 1:9 drr quantum 1514
>>>      tc class add dev eth0 parent 1: classid 1:10 drr quantum 1514
>>>      tc class add dev eth0 parent 1: classid 1:11 drr quantum 1514
>>>      tc class add dev eth0 parent 1: classid 1:12 drr quantum 1514
>>>      tc class add dev eth0 parent 1: classid 1:13 drr quantum 1514
>>>
>>> # assigning a pfifo dqisc with queue size of 256 packets  to every class
>>>        tc qdisc add dev eth0 parent 1:1 handle 1001: pfifo limit 256
>>>        tc qdisc add dev eth0 parent 1:2 handle 12: pfifo limit 256
>>>        tc qdisc add dev eth0 parent 1:3 handle 13: pfifo limit 256
>>>        tc qdisc add dev eth0 parent 1:4 handle 14: pfifo limit 256
>>>        tc qdisc add dev eth0 parent 1:5 handle 15: pfifo limit 256
>>>        tc qdisc add dev eth0 parent 1:6 handle 16: pfifo limit 256
>>>        tc qdisc add dev eth0 parent 1:7 handle 17: pfifo limit 256
>>>        tc qdisc add dev eth0 parent 1:8 handle 18: pfifo limit 256
>>>        tc qdisc add dev eth0 parent 1:9 handle 19: pfifo limit 256
>>>        tc qdisc add dev eth0 parent 1:10 handle 20: pfifo limit 256
>>>        tc qdisc add dev eth0 parent 1:11 handle 21: pfifo limit 256
>>>        tc qdisc add dev eth0 parent 1:12 handle 22: pfifo limit 256
>>>        tc qdisc add dev eth0 parent 1:13 handle 23: pfifo limit 256
>>
>> Once you get fed up with that, you might want to try fq_codel instead of
>> pfifo, attached to drr, instead. The aggregate packet limit here of 3072?
>> packets is going to give you aggregate bufferbloat big time if you
>> are sending data to all stations at full rate.
>>
>> Or just codel.
>>
>>> # every filter match the source ip of every packet and is directed to
>>> the appropriate class
>>>    #the arp filter is very important
>>>   tc filter add dev eth0 protocol arp parent 1:0 prio 1 u32 match u32
>>> 0 0 flowid 1:11
>>> #
>>>   tc filter add dev eth0 parent 1:0 protocol ip prio 2 u32 match ip
>>> src 192.168.1.115 classid 1:1
>>>   tc filter add dev eth0 parent 1:0 protocol ip prio 3 u32 match ip
>>> src 192.168.1.117 classid 1:2
>>>   tc filter add dev eth0 parent 1:0 protocol ip prio 4 u32 match ip
>>> src 192.168.1.120 classid 1:3
>>>   tc filter add dev eth0 parent 1:0 protocol ip prio 5 u32 match ip
>>> src 192.168.1.121 classid 1:4
>>>   tc filter add dev eth0 parent 1:0 protocol ip prio 6 u32 match ip
>>> src 192.168.1.122 classid 1:5
>>>   tc filter add dev eth0 parent 1:0 protocol ip prio 7 u32 match ip
>>> src 192.168.1.123 classid 1:6
>>>   tc filter add dev eth0 parent 1:0 protocol ip prio 8 u32 match ip
>>> src 192.168.1.124 classid 1:7
>>>   tc filter add dev eth0 parent 1:0 protocol ip prio 9 u32 match ip
>>> src 192.168.1.125 classid 1:8
>>>   tc filter add dev eth0 parent 1:0 protocol ip prio 10 u32 match ip
>>> src 192.168.1.126 classid 1:9
>>>   tc filter add dev eth0 parent 1:0 protocol ip prio 11 u32 match ip
>>> src 192.168.1.127 classid 1:10
>>>   tc filter add dev eth0 parent 1:0 protocol ip prio 12 u32 match ip
>>> dst 192.168.1.0/24 classid 1:12
>>>   tc filter add dev eth0 parent 1:0 protocol ip prio 13 u32 match ip
>>> dst 0.0.0.0/0 classid 1:13
>>> #
>>> I have tested it and is  working correctly.
>>>
>>> Regards
>>>
>>> On Thu, Feb 19, 2015 at 10:36 AM, rp-user <pinaroland@xxxxxxxxx> wrote:
>>>> In this case the default qdisc must be 2:10 but which under drr handle 2:
>>>> How can i configure this? What do think about the tbf which seems
>>>> strange when after 50sec all bandwith are dropped.
>>>> Regards
>>>> On Thu, Feb 19, 2015 at 2:48 AM, Dave Taht <dave.taht@xxxxxxxxx> wrote:
>>>>> at first glance, default 0 is wrong for htb. That sends all packets
>>>>> through the default qdisc.
>>>> --
>>>> 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
>>
>>
>>
>> --
>> Dave Täht
>>
>> thttp://www.bufferbloat.net/projects/bloat/wiki/Upcoming_Talks



-- 
Dave Täht
Let's make wifi fast, less jittery and reliable again!

https://plus.google.com/u/0/107942175615993706558/posts/TVX3o84jjmb
--
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