[Codel] fixing netem to be more useful

Jonathan Morton chromatix99 at gmail.com
Thu Mar 26 00:52:00 EDT 2015


> On 25 Mar, 2015, at 19:32, Dave Taht <dave.taht at gmail.com> wrote:
> 
> On of my big issues with netem (a network emulator for linux that lets
> you do delay, loss, etc) is that there is no way to setup multiple RTT
> emulations without having a separate maximum number of packets limit
> for each, which can really skew the results. I would like to see a
> netem that had a multi-queue implementation with a shared limit, among
> other things.

Hold on - what does the packet limit control?  Is it the total number of packets in virtual transit and in the queue proper, or just those in virtual transit?  The former would certainly interact badly with superimposed qdiscs (which should have their own resource limits), but the latter would imply that the limit is just a safety factor (which should be set high, if it’s running on desktop hardware) rather than a performance knob.

It strikes me that there might be a fundamental design problem here - where is the line drawn between the queue before the emulated network and the emulated link itself?  If that were made explicit (eg. by making netem classful with a single class, and thus enforcing the existence of a subordinate qdisc), it might behave better in general.

Then, a related problem would be how to assign different delays and loss rates to different traffic (thus emulating a more complex network) while still funnelling all of it through the same subordinate qdisc.

> Is there anyone working on making netem better? is there someone
> willing to work on it that someone could fund?

I might be able to justify rolling that into my tinkering with cake.

 - Jonathan Morton




More information about the Codel mailing list