[Commotion-dev] Adding a cmake option for Babel in Commotion 1.2?

Josh King jking at opentechinstitute.org
Tue Jun 23 11:54:52 EDT 2015


Hi Dave,

I can't really speak to Mathieu's use of Tinc, but I can talk a little
bit about IPv6.

v1.2 of Commotion will have the basic IPv6 packages available, though
due to space constraints I haven't decided yet which ones will be
included by default and which ones will just be available for
installation through the package repository. However, all of our
auto-configuration stuff still uses IPv4. This is largely a question of
not currently having capacity to thoroughly test all of our stack on
IPv6 for this release and making the necessary updates (I would be happy
to work with anyone who'd like to help out with this). v1.2 is basically
done, and is just held up due to a lockup bug that requires a bit more
testing which I haven't had the time to complete, and finishing a bit of
GUI cleanup.

After v1.2, I intend to focus on more fundamental changes and
improvements for v2.0. One of these will be moving to IPv6 by default. I
also intend to finish integration of a lot of Serval's work that we
helped fund but haven't had a chance to fully leverage. Since we're
already running Serval's infrastructure, which is addressed and routed
using elliptic curve crypto keys, my thought is to make the best use of
this by borrowing the ideas (if not the primitives) from
cryptographically generated addresses
(https://en.wikipedia.org/wiki/Cryptographically_Generated_Address) to
add an IPv6 address for each key assigned to a particularly router.

Incidentally, I also want to move to assigning the mesh routing
addresses to the loopback interface (borrowing a page from OLSRv2)
rather than the network interfaces, to basically dodge the whole problem
of managing the addressing for arbitrary numbers of routable network
interfaces (all the interfaces would just use link-local autogenerated
addresses to pass the backhaul traffic). This is a just a thought,
though. I'm also interested in HOMENET (which has initial support in
Chaos Calmer).

On 06/23/2015 11:23 AM, Dave Taht wrote:
> 1) I am curious as to what extent ipv6 support is in commotion´s conciousness?
> 
> I look forward to seeing babel tried (source specific routing being
> nifty). This is one of my source specific gateways,
> which has a fallback route to elsewhere if both of the two cablemodem
> uplinks fails...
> 
> default from 2601:6476:6400:2cb0::/60 via fe80::28c6:8eff:febb:9ff0
> dev eth3  proto babel  metric 1024  pref medium
> default from 2601:686:3201:c5f0::/60 via fe80::22e5:2aff:feb8:14f dev
> eth2  proto 74  metric 512  pref medium
> default from 2601:676:2101:c8f0::/60 via fe80::22e5:2aff:feb8:87 dev
> eth0  proto 73  metric 512  pref medium
> 
> 2) address distibution is a headache, see hnetd for one attempt
> 
> 3) aside: I saw you had "tinc" in there, below.
> 
> I would like to see more uptake of tinc 1.1 as it looks to be a touch
> more secure than 1.0 and to scale better... in particular using udp
> far more effectively. And it is perpetually not quite finished enough
> yet...
> 
> http://www.tinc-vpn.org/
> 
> On Tue, Jun 23, 2015 at 8:16 AM, Josh King <jking at opentechinstitute.org> wrote:
>> Hey Mathieu,
>>
>> That depends on what's being patched. In most cases, if it's a
>> completely custom package or version of a package you need, it would
>> make sense to add it to the commotion-feed repo or to a separate branch.
>> However, it looks like you're just adding to the list of stock OpenWRT
>> packages you're including. If that's the case, then good news! You don't
>> need to patch anything :-)
>>
>> You can actually provide custom build configurations that include
>> additional packages. For instructions, you can check out:
>>
>> https://github.com/opentechinstitute/commotion-router#create-your-own-build-configurations
>>
>> But the basic upshot is, you can add a directory to 'configs' that
>> contains your custom build. For instance, if you want to build Babel
>> images for Ubiquiti routers, you could copy the
>> commotion-router/configs/ubnt directory to
>> commotion-router/configs/ubnt-montreal (or whatever you want to call
>> that configuration), and edit the
>> commotion-router/configs/ubnt-montreal/CMakeLists.txt file to add the
>> following line:
>>
>> SET(PACKAGES "babel;tinc" PARENT_SCOPE)
>>
>> So that it reads:
>>
>> SET(TARGET "ar71xx" PARENT_SCOPE)
>> SET(SUBTARGET "generic" PARENT_SCOPE)
>> SET(PROFILE "UBNT" PARENT_SCOPE)
>> SET(PACKAGES "babel;tinc" PARENT_SCOPE)
>>
>> If you want to add custom files too, just add them to
>> commotion-router/configs/ubnt-montreal/files/. Now when you run
>> cmake-gui, ubnt-montreal will be one of the targets available in the
>> dropdown, and you can just select that for your build.
>>
>> I'm also up for accepting pull requests to improve how the buildsystem
>> works, and for adding new targets. This is just a first pass, and I know
>> it doesn't cover all use cases (like pulling in additional
>> configurations from an outside source). Some use cases probably
>> introduce too much additional complexity, but there are still plenty of
>> improvements that can be made. Let me know if you have any questions, or
>> run into any bugs!
>>
>> On 06/23/2015 11:01 AM, Mathieu Lutfy wrote:
>>> Hi,
>>>
>>> I was looking at the cmake build options for Commotion 1.2rc (commotion-router git master branch), looking to port forward the patches from RĂ©seau Libre (Montreal) for Babel support.
>>>
>>> What would be the best way to include packages in the CMakeList.txt for supporting Babel, not just for our own specific fork, but to eventually get Babel officially supported by Commotion?
>>>
>>> On IRC, Dan pointed me to this article on cmake: http://www.kitware.com/blog/home/post/82
>>>
>>> So ideally, we would have a cmake build option to enable babel?
>>>
>>> I'm not really familiar with cmake, so this is what I got so far:
>>> https://gist.github.com/mlutfy/fde3dfbf3b6cb0d71912
>>>
>>> Thanks,
>>> Mathieu
>>> _______________________________________________
>>> 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
>> http://opentechinstitute.org
>> PGP Fingerprint: 8269 ED6F EA3B 7D78 F074 1E99 2FDA 4DA1 69AE 4999
>>
>>
>> _______________________________________________
>> 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
http://opentechinstitute.org
PGP Fingerprint: 8269 ED6F EA3B 7D78 F074 1E99 2FDA 4DA1 69AE 4999

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


More information about the Commotion-dev mailing list