[mesh-dev] We need to talk about batman

Max B maxb.personal at gmail.com
Fri Oct 17 12:19:15 PDT 2014


Also - just to throw something out there, this architecture is pretty cool:

http://libre-mesh.org/projects/libre-mesh/wiki/Network_Architecture?version=13

I think there may be some implications here though for whether or not 
clients actually have network addressable hostnames and/or how something 
like mdns or an equivalent would work. It's also important to keep in 
mind that we may be able to iterate towards more complicated setups, and 
that there will likely always be the hot new idea that we want to 
incorporate but that we have VERY constrained developer hours and may 
need to make some satisficing decisions.


On 10/17/14, 12:06 PM, Max B wrote:
> Not that I'm arguing in favor of layer 2 vs layer 3 forwarding 
> (although we're already pretty deep in certain parts of layer 2 
> implementations), but why can't we just match the MTU of the open0 
> interface to the bat0 interface?
>
>
> On 10/17/14, 11:51 AM, Alexander Papazoglou wrote:
>> 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 <http://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
>>
>>
>>
>> _______________________________________________
>> mesh-dev mailing list
>> mesh-dev at lists.sudoroom.org
>> https://lists.sudoroom.org/listinfo/mesh-dev
>

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


More information about the mesh-dev mailing list