[Commotion-dev] Adding babeld and ipv6 support to Commotion

Josh King jking at opentechinstitute.org
Thu Jan 16 19:08:42 UTC 2014


Hi Genevieve,

That's really great that you and your team are interested! We've
definitely done a lot of thinking about how to implement this. Let me
split this up into babeld and IPv6, and outline some of the moving pieces:

Babeld:
There are four main components to how we currently interact with OLSRd,
and these would presumably need to be adapted to work with either Babel
or OLSRd.
* commotiond provides a mechanism for access to and manipulation of
profiles, which are intended to describe the configuration of a network.
Presumably, we would need to add a field to the profiles that would
designate which routing daemon we're using. This is pretty trivial, and
I should have time to do this within the next week or two.
* luci-commotion, or more specifically the setup wizard, provides the
web interface for people to configure their devices. This would need to
be adapted to provide options for selecting a routing mechanism for the
network. This should also be pretty easy, and I'll talk to our LuCI
developers about where this would make sense on our roadmap.
* The actual configuration of OLSRd is mostly handled by a hotplug
script, which is run whenever a network interface is brought up or down.
It automatically changes OLSRd's configuration file for anything that
might change based on options entered by the user in the setup wizard.
For OLSRd, that is specifying Interfaces, HNAs, and some of the
configuration for our own plugins. We are not super familiar with Babel,
so this could be a good entry point for someone to work on getting Babel
working with Commotion.
* The last element is duplicating the functionality for which we have
written custom OLSRd plugins on babeld. We've written the olsr-mdp
plugin, which signs routing traffic using a serval key supplied by
commotiond, and the olsr-dnssd plugin that propagates multicast DNS
traffic in an OLSR mesh. This is definitely the most difficult, but is
also not necessarily a prerequisite for most operation (we could simply
say that those features are not supported yet in conjunction with babel).

IPv6:
Fortunately since we moved up to a newer version of OpenWRT Attitude
Adjustment for version 1.0, it is now much easier to add native IPv6
support to the underlying OS. One just has to add the ipv6-support
package to OpenWRT (which I almost did before the v1 release, but held
off in order to make sure that we weren't introducing other problems).
However, some components would need to be updated to properly utilize this.
* commotiond, as above, would need to be updated with the appropriate
configuration fields. This is pretty simple.
* luci-commotion, as above, would need to provide configuration options
for IPv6.
* The OLSRd hotplug script would need to be updated to deal with IPv6
options. Notably, OLSRd can't handle running both an IPv4 and IPv6 stack
at the same time, so we'd need to come up with some way of handling this
for nodes that have more than one mesh interface. We also may need to
figure out how to support NIIT, which OLSRd uses in order to tunnel IPv4
client traffic over an IPv6 backbone.

So, that's a high-level summary of what it seems like it would take. A
lot of these components are relatively easy to tackle, and are mostly a
matter of experimentation. Since we're not as familiar with babeld,
we're looking forward to working with you all on getting this
implemented in Commotion.

On 01/14/2014 08:59 PM, Genevieve Bastien wrote:
> Hello Commotion Developers,
> 
> We have an eye on the Commotion firmware here at Réseau Libre Montreal.
> It's still missing a few things before we can adopt it:
> 
> * babeld support (and more generally possibility to select routing
> protocol)
> * ipv6 support (ipv6 itself and their configuration by Commotion)
> 
> There's a team of 4th year computer engineering students who will do
> their final project on this topic. They are cc'ed to this email. The
> project started with the broad scope of "Adapting the Commotion firmware
> to Réseau Libre's needs and fancies ;-)". For now, those are 2 items we
> identified that we'd really like to have to accelerate our adoption. As
> the semester advances, some other elements of contribution may pop up.
> I'll be supervising them locally but they'll get the most benefit from
> interacting with the whole community.
> 
> I heard from Grady that babeld and ipv6 support were in your roadmap.
> Has any work or thinking been done on it yet? Any tips and advice for
> the team?
> 
> Thanks,
> Geneviève
> 
> _______________________________________________
> Commotion-dev mailing list
> Commotion-dev at lists.chambana.net
> https://lists.chambana.net/mailman/listinfo/commotion-dev
> 

-- 
Josh King
Lead Technologist
The Open Technology Institute

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 901 bytes
Desc: OpenPGP digital signature
URL: <http://lists.chambana.net/pipermail/commotion-dev/attachments/20140116/4f775492/attachment.sig>


More information about the Commotion-dev mailing list