[Cerowrt-devel] Fwd: [PATCH] ag71xx: Added support for baby-jumbo packets.

Dave Taht dave.taht at gmail.com
Sat Jun 23 16:10:52 EDT 2012

On Sat, Jun 23, 2012 at 3:29 PM,  <dpreed at reed.com> wrote:
> I find it curious that packet aggregation is done in 802.11n standards, but that the packets are limited to 1540.   I bet that limit may not be there in all Atheros NICs, and maybe not in this one.  Will investigate now that I'm curious.

We are talking about two different interfaces here.

The switch in cerowrt is capable of 9K packets (maybe more, actually,
I'd have to look at the data sheet again)
The ag71xx is the ethernet driver, with the 1540-ish limitation
The ath9k is the wireless driver.

The MTU for 802.11 is 2304 bytes. I think there is a successor
standard which can do a little under 8k. Neither of which are used
used a lot. Interestingly in my previous project to this one (wisp6),
what I'd done was build a pure ipv6 wireless backbone and tunneled
ipv4 over it - encrypted - using larger MTUs on the wifi to do so to
ensure 1500MTU for the ipv4 stack.

This was in part due to Nicaragua already being behind at least 2
layers of NAT in the general case, so I fiddled with things like AFTR
to move the NAT closer to the gateway to the internet, and trying
really hard to lift things like otherwise disconnected schools into
the ipv6 world instead.

I ran into zillions of problems with this, while I sort of made it
work with the original hardware I used (which was an embedded arm
(pocobelle project) which has a max mtu of 2048), as I tried other
things like olpc, openrd (now dreamplug or smileplug), and the current
ar71xx/ath9k (nanostation M5s and 2HPs), I kept hitting walls in the
device drivers, in the encapsulation standards for things like
diffserv bits, in crypto in general, in the MTUs and PMTU, and oh,
yea, bufferbloat. Big time.

I abandoned the MTU changes along the way as too hard, and later on
had to shut down that project for other reasons.

And at the time (2009), the entire country had like 4 ipv6 prefixes in
use, and no ipv6 transit to speak of, with the pan-american fiber
internet 2 line basically cut between Honduras and costa rica, due to
lack of funds and attention, so almost all all US ipv4 traffic ended
up being routed through Florida, and I had to use hurricane electric
tunnels to even prototype the last hop.

The nearest F-root server was 80+ms away from where I was. Redwood
city, california, about 136ms.

> -----Original Message-----
> From: "Robert Bradley" <robert.bradley1 at gmail.com>
> Sent: Friday, June 22, 2012 4:41pm
> To: cerowrt-devel at lists.bufferbloat.net
> Subject: Re: [Cerowrt-devel] Fwd: [PATCH] ag71xx: Added support for baby-jumbo packets.
> On 22/06/12 21:11, dpreed at reed.com wrote:
>> Good step.  Why not allow 9K byte jumbos when one's packets traverse a path that is internal to the local area, and all the 1 GigE links support 9K?
> All the posts I could see claim that the System-on-Chip NIC (Atheros
> AR7161) cannot handle packets greater than 1540 octets, so routing 9k
> packets from wired->wireless or wired->WAN would not be an option.  If I
> understood Dave's previous post correctly, though, the built-in switch
> allows jumbo packets, so wired->wired internal traffic should work fine
> with 9K packets already.
> The only issue with that setup is that with mismatched MTUs, it might be
> impossible to communicate with the router and the 9k-friendly nodes at
> the same time.  Thankfully, on Linux at least, you can set per-route
> MTUs (http://lartc.org/howto/lartc.cookbook.mtu-discovery.html), so it
> might be possible to exploit that to do what you want.  Maybe something
> like this would work?
> ip route add default via mtu 1500
> ip route add dev eth0 mtu 1500
> ip route add dev eth0 mtu 9000
> --
> Robert Bradley
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel

Dave Täht
http://www.bufferbloat.net/projects/cerowrt/wiki - "3.3.8-6 is out
with fq_codel!"

More information about the Cerowrt-devel mailing list