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

Genevieve Bastien gbastien+mesh at versatic.net
Fri Jan 17 01:05:12 UTC 2014


Thanks Josh for this very detailed answer!  That's a great starting 
point for the team. We'll keep in touch as the semester advances.

Geneviève

On 14-01-16 02:08 PM, Josh King wrote:
> 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
>>




More information about the Commotion-dev mailing list