Re: [B.A.T.M.A.N.] BATMAN-Adv and MTU handling

Marek Lindner
2009-11-10T10:34:41Z

On Tuesday 10 November 2009 03:02:06 Linus Lüssing wrote:
> We were trying about 5 random network cards we had available here in
> our cellar and they all were not able to increase the MTU
> (including my laptop's BCM5787M GB-ethernet card). So at the
> moment I'm truely considering to also switch those Dlink routers
> back to an MTU of 1500 for the sake of compatibility at least on
> local area networks.

Sure, as I said: not all cards / drivers support that feature.

> The motivation of using a higher MTU of 1524 at the beginning was
> the rumour, that there might be some client devices (which we
> would get into the network by bridging bat0 wifi wlan0 for
> instance) not able to handle any MTU smaller than 1500. But in
> fact it turned out, that in our days basically all devices are
> able to do both IPv4 and IPv6 PMTU discovery on layer 3. So tests
> showed, that if all BATMAN nodes are using an MTU of 1476 on bat0
> (or the overlaying bridge) everything seems to work fine.

Sorry, I can't follow you here. If the whole network is a switch environment
how could the clients perform a working PMTU ? Sure, all clients are able to
do PMTU (I don't think somebody doubted that) but it won't work. :)
Client sends 1500 bytes -> router receives the frame (no IP!) and drops the
packet. Where should the "fragmentation needed" packet come from ? That only
works if you route packets instead of switching them.

> Usually you are choosing UDP mode in tinc, any ethernet frame inside of this
> will then be encapsulated in this. But if tinc discovers, that the packet
> will be too big to fit through this link and the PMTU tinc discovered for it,
> it will do TCP encapsulation instead to let the kernel fragment the packet
> automatically.

That is nice but only works because tinc uses IP addresses (unlike batman-
adv). AFAIK you use tinc to connect internet endpoints, hence your packet
probably looks like this:
[ETHER][IP][UDP/TCP][BATMAN-HDR][PAYLOAD]
whereas the packets sent by batman-adv look like this:
[ETHER][BATMAN-HDR][PAYLOAD]

> As in a mesh network usually not an internet uplink but the wifi
> is very likely being the bottleneck, the extra overhead on the
> internet uplinks created by fragmentation might not be "harmful"
> for the network average bandwidth. And as also the packet loss on
> an internet uplink not running on its bandwidth limit is very,
> very low, latencies shouldn't increase too much.

I think you underestimate the performance impact. AFAIK IPv6 does not support
the clasical IPv4 fragmentation anymore (intermediate routers won't fragment
the packets but drop them).

Regards,
Marek