[Cerowrt-devel] Turning off the probe blocker

Dave Taht dave.taht at gmail.com
Thu Jul 11 16:18:12 EDT 2013

On Thu, Jul 11, 2013 at 12:46 PM, Robert Bradley
<robert.bradley1 at gmail.com> wrote:
> On 11/07/13 19:41, Dave Taht wrote:
>> Nice stats for an oft-loaded fq_codel based wifi mesh network with not
>> a lot of fixes (besides disabling 802.11e at key points so far)!
>> I have seen much, much, much, worse from most other meshes.
> I noticed yesterday that disabling WMM/802.11e in CeroWRT limited me to 54
> Mb/s.

Hmm. That shouldn't be the case...

>The reduced rates are probably not an issue for the mesh network,
> especially with 11g nodes present.

Well, the mesh is all 5ghz presently. The 2Ghz nodes are dedicated to
users (presently) and yes, 11g is everpresent...

>Would it be better though to force the
> traffic into one queue (BE, presumably) and keep the higher data rates?

That's what I did. I just squashed the TOS/TCLASS values to BE at
various chokepoints with iptables. It made an enormous difference,
even when the main codepoints were BE and CS1.

Maximizing for better aggregation and smartly managing the one queue
worked tons better than keeping the diffserv markings "sane". In the
long run, I think, I'm going to disable diffserv in the wifi driver
itself and try to do something saner in a fq_codel derivative.

A truly stupendous amount of traffic entering from the internet was
(mis)marked CS1, so all traffic is squashed to BE there too, although
on obviously torrent traffic the ingress rate limiter is doing the
right thing.... at the netfiltter conference there was some discussion
about doing "pairing" in conttrack between output flows (hopefully
appropriately marked) and input flows (usually mismarked) in order to
carry the intent around the internal net

In fact, I just figured out why was showing the latency
spikes it was, it wasn't mashing its traffic, I'd forgot to make the
masher be the default in the build.

I am not huge on smashing the codepoint (I could explicitly set the
packet priority field to 256 instead)


ipt() {
iptables $*
ip6tables $*

#iptables doesn't support an inverted match
#iptables -t mangle -A PREROUTING -m dscp ! --dscp-class BE -j DSCP --set-dscp 0
ipt -t mangle -N FIX_TOS
ipt -t mangle -A FIX_TOS -m dscp --dscp-class BE -j ACCEPT
ipt -t mangle -A FIX_TOS -j DSCP --set-dscp 0
ipt -t mangle -A POSTROUTING -o wlan0 -j FIX_TOS

> --
> Robert Bradley
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel

Dave Täht

Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html

More information about the Cerowrt-devel mailing list