<br><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Nov 26, 2012 at 6:49 AM, Dave Taht <span dir="ltr"><<a href="mailto:dave.taht@gmail.com" target="_blank">dave.taht@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">All of Jims presos are licences under one of the creative commons licenses.<br>
<br>
Mine would be, too, if I had bothered to mark them as such. I will go<br>
back and correct this. Feel free to reuse whatever you like, with the<br>
caveat that all these presos do reflect enhanced thinking and research<br>
over time, and sometimes contain errors or ideas that have been<br>
revised.<br>
<br>
Original libreoffice and powerpoint sources for jim's stuff are at<br>
<a href="http://mirrors.bufferbloat.net/" target="_blank">http://mirrors.bufferbloat.net/</a></blockquote><div><br></div><div>Me bad; I haven't uploaded more recent versions of my talks.  I'll add it to my "todo list", to do RSN...</div>
<div>                                - Jim</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Mine are mostly at: <a href="http://www.teklibre.com/~d/bloat/Talks/" target="_blank">http://www.teklibre.com/~d/bloat/Talks/</a><div style="width:16px;height:16px;display:inline-block"> </div> - the<br>
linuxcon talk is not up in source form because I wanted to illustrate<br>
several of the graphs better.<br>
<div class="im"><br>
<br>
<br>
On Mon, Nov 26, 2012 at 2:11 AM, Richard Brown<br>
<<a href="mailto:richard.e.brown@dartware.com">richard.e.brown@dartware.com</a>> wrote:<br>
> Folks,<br>
><br>
> I am planning to give a talk about Bufferbloat to the local Linux User Group next week (<a href="http://dlslug.org" target="_blank">http://dlslug.org</a><div style="width:16px;height:16px;display:inline-block"> </div>
). All this traffic on the list is fantastic, because it gives me a lot of background on the current state of bufferbloat. I've pulled together a bunch of general questions about CeroWrt that I would like to be able to cover if they come up:<br>

><br>
> - Is it true that the latest CeroWrt is Sugarland 3.3.8-26 from mid-September? (My router is using this build - r33460.)<br>
<br>
</div>Yes. A lot of updates have accumulated, I do hope to get a new release<br>
out soon and start up 3.6.x+ development. I'm extremely encouraged by<br>
what is in 3.6 and later.<br>
<br>
I note there is a nasty hole in the sugarland config that new users<br>
should close immediately on a new install.<br>
<br>
<a href="http://www.bufferbloat.net/issues/411" target="_blank">http://www.bufferbloat.net/issues/411</a><div style="width:16px;height:16px;display:inline-block"> </div><br>
<div class="im"><br>
> - I see the "QoS" item in the Network tab of the web GUI. Is this important for Sugarland? Or does some other router configuration take care of this now?<br>
<br>
</div>Openwrt QoS works ok on ipv4 traffic. (yes, it uses fq_codel). However<br>
the simple_qos.sh script I have been prototyping works on everything<br>
and seems to be mildly better. In part that's due to handling ipv6<br>
traffic correctly, and possibly due to the fact it has "nfq_codel" in<br>
it, rather than fq_codel, which is a respin of fq_codel using the<br>
latest ns2 model of codel behind it, which differs in some important<br>
respects.<br>
<br>
It was obvious after working on that that better benchmarks were<br>
needed, which has been a focus these past 2 months.<br>
<br>
simple_qos.sh does require manual configuration, however, and testing<br>
for an accurate bandwidth estimate is problematic even with the rrul<br>
test. I would really like someone to make this available via a gui,<br>
and more people to beat on it...<br>
<br>
(and I'll rename this ceroshaper in the next release)<br>
<br>
And: I would prefer to stress to all audiences that this stuff is WIP,<br>
and try to get them to understand that the goal is to do smart<br>
queueing over top the smallest possible amount of buffering, and a<br>
multitude of factors can lead to sub-optimal results.<br>
<br>
rather than "install this script on your random hardware, expect<br>
magic". Or: "Download this firmware, expect magic".<br>
<br>
As one example, I was completely blindsided the other day, when<br>
working with david woodhouse, by the new GRO network offload<br>
"feature", on his device, which wedges enormous packets into the<br>
stack. That needs to get turned off on linux based routers, generally.<br>
Somehow. Preferably, automatically.<br>
<br>
(I am delighted that multiple ADSL folk, including david, just made a<br>
huge dent in adsl latencies over on the netdev mailing list)<br>
<div class="im"><br>
> - What's the relationship between the QoS GUI item above and the debloat.sh and simple_qos.sh scripts that have been mentioned on this list? What's the best practice here for getting a router up and running?<br>

<br>
</div>the debloat (written in lua) script in the ceropackages repository<br>
makes sure that various latency inducing network offloads (on by<br>
default in linux) are OFF. I recently learned that the GRO offload<br>
could induce a problem, I don't remember if that's off in sugarland.<br>
It runs on ALL interfaces by default in cerowrt....<br>
<br>
People trying to make debloating a router work on other platforms than<br>
cerowrt, should modify that script to run on all their interfaces.<br>
Or...<br>
<br>
debloat.sh is a simpler version of debloat that doesn't do all the<br>
stuff debloat does, yet, but works on debian/ubuntu. It needs to be<br>
better, turning off gro for example on ALL devices, and I like that it<br>
lacks the lua dependency.<br>
<br>
I incidentally note that I no longer remember what's in sugarland for<br>
simple_qos and debloat, what I am fiddling with now is not checked in.<br>
I think a difference is that I'm using a different quantum, am only<br>
using ecn on ingress.<br>
<div class="im"><br>
><br>
> - I can see how the CeroWrt de-bloating algorithms help protect against bad latency when I'm *uploading* big files. I'm not sure whether using CeroWrt with its CoDel/FQ/SFQ/etc. helps when I'm downloading big files, though. What can I say about this?<br>

<br>
</div>Most shapers in the world try hard to address ingress and egress. It<br>
is very byzantine to configure the default ingress shaper "IFB", but<br>
that's what is done.<br>
<br>
Shaping ingress traffic has been one of the few places where I have<br>
seen ECN give a benefit. ECN on egress, seems to be a lose at most<br>
bandwidths I've tried.<br>
<br>
The right place for ingress shaping, however, really is at the head<br>
end or dslam.<br>
<div class="im"><br>
<br>
><br>
> - I believe the default DNS server in Sugarland is dnsmasq,<br>
<br>
</div>Bind ate way too much memory. Writing a gui for it proved nearly<br>
impossible. Dnsmasq has evolved over the past year to include a nifty<br>
AAAA and dhcpv6 naming scheme (and added dhcpv6, and has nearly enough<br>
functionality to replace the radvd daemon now). I'm very happy with<br>
the directions dnsmasq is going.<br>
<br>
(I'd really like to get some help on getting AHCP into it)<br>
<div class="im"><br>
> not bind. Is DNSSEC enabled by default?<br>
<br>
</div>DNSSEC is temporarily gone.<br>
<br>
Simon kelly of dnsmasq is making some progress towards making it fit<br>
into dnsmasq. As he lacks time and resources on his side, I can't give<br>
an estimate as to arrival time, but I'm sure it will be a lot more<br>
tiny and more web configurable, whenever it's done. There's partial<br>
DNSSEC support in a branch of dnsmasq, patches would be welcomed....<br>
<br>
I learned this week that dnsmasq is the default dns/dhcp server in<br>
android, for tethering, and is also heavily used in libvirt and<br>
various clustering solutions. That's in addition to near dominance of<br>
the linux based home router market...<br>
<br>
And for all that market penetration, (at least 1/4 of the internet)<br>
simon and his crew have made such solid software, in their spare time,<br>
as for nobody to know who they are. It's sad, and frustrating...<br>
<br>
I admit that I like a few features of bind, such as views, and<br>
nsupdate... Bind can be optionally installed via installing<br>
bind-latest and bind-latest-config via opkg.<br>
I certainly plan to leave bind available for those that want it, but<br>
going forward,<br>
unless MBs of ram drop from the sky for free for everyone, it's not going to be<br>
the default in cerowrt.<br>
<div class="im"><br>
> Also: there's a report (Bug #411) that says that DNS is leaking internal names to the outside world. What's the best advice for closing this? ("list notinterface 'ge00'" is one recommendation…)<br>

<br>
</div>yes. EVERYBODY please do that.<br>
<div class="im"><br>
><br>
> - I've been assembling information about the various de-bloating techniques implemented in CeroWrt. It seems that Infoblox has recently reorganized their blogs, and the links published earlier this week have all broken. Here are updates:<br>

><br>
> <a href="http://www.infoblox.com/community/blog/application-analysis-using-tcp-retransmissions-part-1" target="_blank">http://www.infoblox.com/community/blog/application-analysis-using-tcp-retransmissions-part-1</a><div style="width:16px;height:16px;display:inline-block">
 </div><br>
> <a href="http://www.infoblox.com/community/blog/application-analysis-using-tcp-retransmissions-part-2" target="_blank">http://www.infoblox.com/community/blog/application-analysis-using-tcp-retransmissions-part-2</a><div style="width:16px;height:16px;display:inline-block">
 </div><br>
> <a href="http://www.infoblox.com/community/blog/router-buffer-tuning" target="_blank">http://www.infoblox.com/community/blog/router-buffer-tuning</a><div style="width:16px;height:16px;display:inline-block"> </div><br>

> <a href="http://www.infoblox.com/community/blog/rethinking-interface-error-reports" target="_blank">http://www.infoblox.com/community/blog/rethinking-interface-error-reports</a><div style="width:16px;height:16px;display:inline-block">
 </div><br>
<br>
</div>Thx.<br>
<div class="im HOEnZb"><br>
> My plan is to give a little of the science behind bufferbloat mitigation and also put in a plug for CeroWrt. Any topics I haven't already mentioned that I should? Thanks!<br>
><br>
> Rich Brown<br>
> Hanover, NH USA<br>
> _______________________________________________<br>
> Cerowrt-devel mailing list<br>
> <a href="mailto:Cerowrt-devel@lists.bufferbloat.net">Cerowrt-devel@lists.bufferbloat.net</a><br>
> <a href="https://lists.bufferbloat.net/listinfo/cerowrt-devel" target="_blank">https://lists.bufferbloat.net/listinfo/cerowrt-devel</a><div style="width:16px;height:16px;display:inline-block"> </div><br>
<br>
<br>
<br>
</div><span class="HOEnZb"><font color="#888888">--<br>
Dave Täht<br>
<br>
Fixing bufferbloat with cerowrt: <a href="http://www.teklibre.com/cerowrt/subscribe.html" target="_blank">http://www.teklibre.com/cerowrt/subscribe.html</a><div style="width:16px;height:16px;display:inline-block"> </div>
<br>
</font></span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
Cerowrt-devel mailing list<br>
<a href="mailto:Cerowrt-devel@lists.bufferbloat.net">Cerowrt-devel@lists.bufferbloat.net</a><br>
<a href="https://lists.bufferbloat.net/listinfo/cerowrt-devel" target="_blank">https://lists.bufferbloat.net/listinfo/cerowrt-devel</a><div style="width:16px;height:16px;display:inline-block"> </div><br>
</div></div></blockquote></div><br></div>