# HG changeset patch # User Dirk Olmes # Date 1375963144 -7200 # Node ID 6029290c0e296155a585f978605804868d3c70b8 # Parent 420879d8e09e19c88fa23cbe532632af404acf15 new blog entry diff -r 420879d8e09e -r 6029290c0e29 content/Linux/fq_codel.md --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/content/Linux/fq_codel.md Thu Aug 08 13:59:04 2013 +0200 @@ -0,0 +1,17 @@ +Title: Fair traffic queueing using fq_codel +Date: 2013-08-08 +Lang: en + +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). + +My requirements for traffice shaping are quite simple: I share some open source downloads via bittorrent but don't want the torrent traffic to block regular surfing, Skype voice calls etc. + +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. + +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 + + tc qdisc add dev ppp0 root fq_codel + +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. + +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. \ No newline at end of file