Subject: Re: [ANNOUNCE] FLAME: external kernel module for L2.5 meshing

From: Herman Elfrink <[email-masked]>
Date: Tue, 30 May 2006 10:29:54 +0200

Pavel Machek wrote:

>Hi!
>
>  
>
>>FLAME stands for "Forwarding Layer for Meshing"
>>
>>FLAME provides an intermediate layer between the network 
>>layer (e.g. IPv4/IPv6) and the link (MAC) layer, 
>>providing L2.5 meshing. Both network layer and MAC layer 
>>    
>>
>
>What is wrong with meshing on L3?
>
>(It is called flame so lets at least have nice flamewar :-)
>							Pavel
>  
>

Hi Pavel,

I basically have two arguments against L3 meshing, which, for me, were 
strong enough to turn to "below IP" meshing as a better solution for the 
problems I was facing.

The first one comes from my experimental setup where I want to use a ad 
hoc IPv6 network that has one or more Internet access gateways. With ad 
hoc I mean in this context that nodes can be plugged into and taken out 
of the network at any moment in time. If one would do this on a normal 
wired ethernet subnet, this works fine, thanks to the IPv6 
autoconfiguration capabilities: the Internet gateways transmit Router 
Advertisements, which are used by all other nodes to autoconfigure their 
own (global) IPv6 addresses.
When replacing the fixed ethernet by a meshed ad hoc wireless net, I 
would like this to work just the same.
Unfortunately, and here's the argument: basic L3 meshing does not allow 
that. It creates a routing domain instead of a subnet, and IPv6 
autoconfiguration does not work through routers. Similar problems occurs 
with broad- and multicast.
One way to solve this is to re-invent autoconfiguration specifically for 
L3 meshing, which is non-trivial, and which is exactly what is happening 
now in IETF, given the large amount of RFCs on this and related subjects.
Another solution is meshing below IP. Then your mesh network, from 
IP/IPv6 point of view, behaves like a normal subnet again, so all 
standard IP/IPv6 mechanism work as expected.
I've explored both solutions, spent several months on trying (and 
failing) to get OLSR to do what I wanted, and then spent a couple of 
weeks to create FLAME.

The second argument is that in the future meshing is going to be built 
into the relevant MAC layers (see 802.11s and corresponding efforts for 
e.g. Wimax and Zigbee),
so "below IP" seems the natural place to solve this.

Regards,

Herman.