2010-01-09 18:31:22

by Mattias Rönnblom

[permalink] [raw]
Subject: Leaky Bucket qdisc

Hi all,

to learn a little something about the kernel and to be able to do some
benchmarks on the HR timers I wrote a leaky bucket traffic shaping
qdisc.

For those who don't know, leaky bucket requires (very) high resolution
timers, and is more strict than TBF in that it doesn't allow a burst
(other than a single frame will go out at a line speed, of course).

However, my understanding from the TBF qdisc documentation is that you
can achieve the same effect with TBF, even to the point of not
allowing any bursts, which makes LB pretty much redundant. I thought I
would send this e-mail anyway, to see if there was some interest in
this little piece of code. If so, I'll try to clean it up and submit
it.

One benefit with LB is that it's very easy to configure. There's only
one parameter: the configured rate. It's non-work conserving and my
implementation is classless, with an inner qdisc, just like TBF. I've
patched 'tc' too to cope with LB.

It requires HR timers, and the better timers, the closer to the
configured rate you'll get. My system's timer resolution allows me to
shape with up to about 100 Mbit/s, if I recall correctly.

Best regards,
Mattias


2010-01-10 07:04:16

by David Miller

[permalink] [raw]
Subject: Re: Leaky Bucket qdisc


Networking developers hang out on [email protected], please
direct your posting there.