AQM/ECN in FreeBSD

After read­ing Jim Get­tys inves­ti­ga­tions about the prob­lems cur­rent buffer sizes of net­work equip­ment pro­voke (which may even have impli­ca­tions in the net neu­tral­i­ty debate), I had a look at which active queue man­age­ment (AQM) algo­rithms with or with­out explic­it con­ges­tion noti­fi­ca­tion (ECN) FreeB­SD supports.

It looks like there is not much imple­ment­ed (if the best solu­tion would be imple­ment­ed, it would not mat­ter how much there is, but unfor­tu­nate­ly there is no best solu­tion). Oth­er sys­tems offer more. RED is imple­ment­ed, but even the inventor/researcher of RED thinks the algo­rithm needs some improve­ments (he is in the process of prepar­ing a paper about this, as Jim Get­tys reveals). Blue/SFBlue is not imple­ment­ed (a more turnkey-solution than the cur­rent RED imple­men­ta­tion). PID con­troller (which may or may not be some­thing some­one wants to use in this case… no idea about its pros/cons in this regard, but it is ref­er­enced in the AQM arti­cle on Wikipedia) is also not implemented.

Regard­ing ECN for FreeB­SD you can find more or less no real doc­u­men­ta­tion in the net (at least with a sim­ple “ECN FreeB­SD” search). It is imple­ment­ed for the RED algo­rithm, but as the RED algo­rithm needs some tuning/setup, this is not a turnkey solu­tion. There is a ECN relat­ed sysctl, but I do not have the impres­sion that this is a turnkey-solution which mag­i­cal­ly gen­er­ates ECN mes­sages with­out using dum­mynet for AQM.

From my cur­rent under­stand­ing (but I think I do not know a lot about this top­ic) it looks like AQM is a fea­ture most peo­ple would like to have acti­vat­ed by default (with an appro­pri­ate algo­rithm which does not need tun­ing to pro­duce a good enough result). If this is cor­rect, it is a shame that FreeB­SD does not acti­vate AQM with an algo­rithm which is not bad for most cas­es by default (with the option to change the algo­rithm and to dis­able com­plete­ly). If my under­stand­ing is not cor­rect, I would like to get a hit with the clue bat please.