[Bloat] About Stochastic Fair Blue (SFB)

Juliusz Chroboczek jch at pps.jussieu.fr
Fri Feb 4 09:41:17 PST 2011


> Also, would you mind if I also put the SFB code into git somewhere 
> on github? It could use a few minor tweaks (make install). 

If that's okay with you, I'd like to commit it myself.  If you suggest
the right repo to clone, I'll be glad to do it, and you'll be able to
merge it afterwards.

> 1) You can hash against multiple combinations of things. For example, in
> the home gateway scenario, you could hash against IP addresses only, not
> IP/port numbers - to give a per-device level of fairness.

Stolen from esfq.

> 3) It does packet marking... (So has to be used in combination with
> something else)

I think you're confused -- it does ECN marking, not netfilter marking.

> 1) I don't understand how the penalty box concept works.

For each aggregate, sfb maintains a variable, called pdrop, which is the
drop probability for this aggregate; the more agressive a flow, the
higher pdrop.

If the flow is inelastic, i.e. it doesn't slow down in reaction to
dropped packets, pdrop reaches 1.  At that point, sfb should in
principle drop all the packets of this aggregate -- we say that this
aggregate has been put in a penalty box.

(In my implementation of sfb, I'm not actually dropping all the packets
of inelastic flows, I'm just rate-limiting them drastically.)

> 2) I don't understand how it would interact with shaping above and
> below it

There's nothing below sfb, since it's a classless discipline.

You may put anything you wish above sfb.  If you're the bottleneck and
use a driver that performs proper backpressure, it's okay to put
nothing; otherwise, you need to put something to simulate backpressure,
typically tbf or htb.

--Juliusz


More information about the Bloat mailing list