[Codel] [Bloat] The challenge

Jonathan Morton chromatix99 at gmail.com
Mon May 14 03:27:57 EDT 2012


On 10 May, 2012, at 10:02 am, David Woodhouse wrote:

> On Thu, 2012-05-10 at 09:54 +0300, Jonathan Morton wrote:
>> I want to buy a modem that I can put Linux on, and that supports ADSL2
>> + Annex M.  Where can I get one?
> 
> http://wiki.openwrt.org/doc/hardware/soc/soc.lantiq
> http://www.traverse.com.au/productview.php?product_id=117
> http://www.traverse.com.au/productview.php?product_id=120
> 
>> Vaguely acceptable solutions include CardBus or PCI/PCIe slot modems
>> to put in a PowerBook or a PC. 
> 
> http://www.traverse.com.au/productview.php?range_id=2

Interesting links, but just as frustrating as usual I'm afraid:

1) A long list of supported devices, without being able to filter for what's on the shelf in my local superhypermegaretailer, is not helpful.  I looked up the devices I already own, which are a reasonable selection from said shelf - no dice.  I broke open one (a Zyxel P660H-D1) that had a similar model number to a supported device - but it's totally different hardware, for which support is only "pending".

2) The Traverse links lead me to two types of devices - one of which is a router-type box which looks promising, but comes without documentation (see the next point below for why I want to read that *first*) and is not listed by *any* of the resellers linked to by the manufacturer - on any of the three continents listed.  So I can't buy it in any obvious way anyway.  (Yes, there is a chap in Belgium who says he will take requests.  I still want to read adequate documentation before imposing on him.)

3) The second type of device is a PCI card which appears to have the combination of an Ethernet NIC and a DSL modem *in series* on board.  This has no advantage, to my mind, over a standard consumer box such as I have several of already - the uplink bottleneck queue is still in a device that I can't control adequately, and which does not directly exert back-pressure on the Linux network stack.

So I repeat my question: where can I reliably go and buy a DSL modem that I can put Linux on?  It probably helps to mention that I'm in Finland, so a European (or at least British) reseller is preferable.


On the plus side, I did manage to get my PowerBook based router/firewall working again, so I've put my CPE back into bridge mode and suddenly the Internet works properly again.  Yay.  But I still have to manually configure HTB to match the link rate of the modem if I wan to control the queue.  That's the problem I really want to solve by putting Linux into the modem itself.

So I did some quick subjective tests using HTB/SFQ and HTB/CoDel - I'd like to try HTB/fq_codel too.  No packet classification going on here, traffic is traffic, let's make our modem devices as dumb as possible, but no dumber.  Bandwidth limits applied both upstream and down - I'm currently running on a simulated decade-old ADSL1 link at 1M/256K, but I can and have easily changed that to 128K/128K to simulate ISDN.

CoDel seems to cope quite well with everything I throw at it, keeping the link responsive.  However, so does SFQ - at least from a user perspective.  Looking at packet traces, it is immediately clear that SFQ still allows individual flows to run very unresponsive, with SACK flags maxed out for many seconds at a time.  CoDel achieves similar responsiveness (SSH remains essentially usable at 128K under multiple load, which is impressive) but does so by dropping several percent of all packets.

The fact that it is dropping packets rather than ECN-marking them suggests that I'm still missing something in my network setup, so I need to figure out what that is.  Even so, the flow recovers (by retransmission) within a dozen packets even over the real Internet, which is considerably faster than SFQ and gives the application smoother data delivery once the window size has grown beyond the buffer size.

With either CoDel or SFQ on the bottleneck queue, even 1M/256K feels fast, subjectively.  Objectively, I can still observe Steam taking 10x as long to download a game update than usual, or some YouTube videos no longer streaming in realtime (because they require 5Mbps for that), but those are expected.  Plain old Web browsing, e-mail, posting on forums (including reasonably sized photos) and software updating works smoothly and unobtrusively, even at a tenth of my usual bandwidth in either direction.

At ISDN speeds, a few problems start to appear with applications that have come to rely on always-on broadband characteristics.  Linux Mint has decided to download megabytes of software catalogue updates every hour by default, which consumes a large fraction of available bandwidth - I soon cut that back to every 12 hours.  No real problems emerged with SFQ or CoDel though.  Running with just HTB/FIFO, SSH was hilariously unusable as soon as any load was put on the link in either direction, but either option solved that almost entirely.

I really want to try combining CoDel and SFQ.

 - Jonathan Morton




More information about the Codel mailing list