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