Development issues regarding the cerowrt test router project
 help / color / mirror / Atom feed
From: Dave Taht <dave.taht@gmail.com>
To: dpreed@reed.com
Cc: cerowrt-devel@lists.bufferbloat.net
Subject: Re: [Cerowrt-devel] Fwd: [PATCH] ag71xx: Added support for baby-jumbo packets.
Date: Sat, 23 Jun 2012 16:10:52 -0400	[thread overview]
Message-ID: <CAA93jw7CyO_CGjCY1ufKxfqqB5HECVPe9DSihkphWJbDPbNzGg@mail.gmail.com> (raw)
In-Reply-To: <1340479742.390625935@apps.rackspace.com>

On Sat, Jun 23, 2012 at 3:29 PM,  <dpreed@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@gmail.com>
> Sent: Friday, June 22, 2012 4:41pm
> To: cerowrt-devel@lists.bufferbloat.net
> Subject: Re: [Cerowrt-devel] Fwd: [PATCH] ag71xx: Added support for baby-jumbo packets.
>
> On 22/06/12 21:11, dpreed@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 172.30.42.1 mtu 1500
> ip route add 172.30.42.1/32 dev eth0 mtu 1500
> ip route add 172.30.42.1/27 dev eth0 mtu 9000
>
> --
> Robert Bradley
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel
>
>
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel@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!"

  reply	other threads:[~2012-06-23 20:10 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAA=Zby5dVYjQNbbwMcHQc7qKSSHnYTAonjRJYG1d6zdqPsZ0Rg@mail.gmail.com>
2012-06-22 19:12 ` Robert Bradley
2012-06-22 20:11   ` dpreed
2012-06-22 20:41     ` Robert Bradley
2012-06-23 19:29       ` dpreed
2012-06-23 20:10         ` Dave Taht [this message]
2012-06-23 21:47         ` Robert Bradley
2012-06-23 22:33           ` dpreed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/cerowrt-devel.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAA93jw7CyO_CGjCY1ufKxfqqB5HECVPe9DSihkphWJbDPbNzGg@mail.gmail.com \
    --to=dave.taht@gmail.com \
    --cc=cerowrt-devel@lists.bufferbloat.net \
    --cc=dpreed@reed.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox