annotate content/Linux/fq_codel.md @ 84:8b5501bb7973

add blog post about genkernel
author Dirk Olmes <dirk@xanthippe.ping.de>
date Thu, 06 Apr 2017 09:23:21 +0200
parents ef688010ddb5
children 1d9382b0329b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15
6029290c0e29 new blog entry
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
1 Title: Fair traffic queueing using fq_codel
6029290c0e29 new blog entry
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
2 Date: 2013-08-08
6029290c0e29 new blog entry
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
3 Lang: en
6029290c0e29 new blog entry
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
4
48
ef688010ddb5 fix the image ALT tag
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 17
diff changeset
5 ![Down with latency!](http://www.imagetxt.com/userpics/funnyimage-72529829.png)
16
61987f1d4bf6 add funny image
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 15
diff changeset
6
15
6029290c0e29 new blog entry
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
7 I've been planning on playing around with Linux' traffic shaping for quite some time now. My linux router machine is directly connected to the DSL modem - no consumer grade router box in the mix (and hence none of the vulnerabilities and security nightmares that have been discovered in those kind of boxen in the recent past).
6029290c0e29 new blog entry
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
8
17
cf946b015474 fix syntax errors
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 16
diff changeset
9 My requirements for traffic shaping are quite simple: I share some open source downloads via bittorrent but I don't want the torrent traffic to block regular surfing, Skype voice calls etc.
15
6029290c0e29 new blog entry
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
10
6029290c0e29 new blog entry
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
11 Yesterday, my friend [Holger](https://twitter.com/asynchronaut) brought the [Codel](http://www.bufferbloat.net/projects/codel/wiki) packet scheduler to my attention. [Wikipedia](http://en.wikipedia.org/wiki/CoDel) has a good explanation of the Codel algorithm.
6029290c0e29 new blog entry
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
12
17
cf946b015474 fix syntax errors
Dirk Olmes <dirk@xanthippe.ping.de>
parents: 16
diff changeset
13 Since Codel is "no knobs", "just works" all you have to do is to enable CONFIG_NET_SCH_FQ_CODEL in the kernel config and enable codel using
15
6029290c0e29 new blog entry
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
14
6029290c0e29 new blog entry
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
15 tc qdisc add dev ppp0 root fq_codel
6029290c0e29 new blog entry
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
16
6029290c0e29 new blog entry
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
17 What can I say? I just works. I have turned off throttling on the torrent uploads and did not notice any lag in daily surfing. Skype calls sound like they did before with torrents turned off.
6029290c0e29 new blog entry
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
18
6029290c0e29 new blog entry
Dirk Olmes <dirk@xanthippe.ping.de>
parents:
diff changeset
19 I realize that fq_codel is not for everyone (i.e. if you use a consumer grade router box you're SOL) but it definitely helps with my use case.