[mesh-dev] We need to talk about batman

Alexander Papazoglou papazoga at gmail.com
Fri Oct 17 11:51:56 PDT 2014


Hello mesh-dev.

I think we may finally have an explanation of the vexing issue of "I can't
connect to the internet over peoplesopen.net."

Marc and I spent some time staring at wireshark dumps and  thinking
about why some clients are unable to consistently connect via the
tunnel last night. I think Marc came up with a disappointing but correct
answer: it is basically an mtu issue (mtu is not being discovered
correctly), BUT there is no good fix because we are tunneling at layer 2.

When a packet arrives at a node from a client with too large an mtu,
what SHOULD happen in a normal forwarding situation (per RFC 1191)
is that the node issue a ICMP "Destination Unreachable" packet with a
"Fragmentation required" code. The client then uses this information to
reset its mtu.

This doesn't happen because we aren't really forwarding (forwarding happens
at layer 3). Instead, our interfaces (open0 and bat0) are bridged. So if a
frame
coming from open0 doesn't fit into bat0 it most likely gets silently
dropped.

So bridging open0 with bat0 is a disaster. A quick fix might be to replace
bridging with forwarding (at the IP level). I suspect this is not the right
thing
to do. It might be better to abandon the idea of meshing at layer 2; there
are numerous advantages to this.

In any case; we should discuss options this Tuesday.

Alex
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://sudoroom.org/lists/private/mesh-dev/attachments/20141017/cd718808/attachment.html>


More information about the mesh-dev mailing list