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

Mathieu Lutfy mathieu at bidon.ca
Tue Jun 23 12:47:10 EDT 2015


Hi,

Thanks for the responses.

- Josh: makes sense, I'll give it a try. I was semi-hoping for a way to add packages for all target builds, but since we mostly support ubnt and tplink, it's quick & simple, I like it :)

- Dave: we use prefixes in the fd::/8 unique-local space for relays that do not have native IPv6 from their ISP. Our scripts generate a random /48 block when the device first boots (similar to what Commotion does with IPv4 addresses, but following ULA RFC-ish). Since we have relatively few nodes, we don't worry about prefix collisions.

We also encourage participants to get IPv6 from their upstream provider (IPv6 in Canada is very slowly moving forward, probably one of the worst countries in the OCDE in terms of IPv6 adoption.. we do what we can to encourage it). If their ISP does not support IPv6, we encourage people to get a tunnel from tunnelbroker. This way, people can use an IP allocation scheme that works on both the Internet and on the mesh. So if people want to host servers on the mesh, they can use standard DNS with public global addresses. If not, an fd::/48 makes the relay plug & play, since the fd::/48 gets announced on their main home network with route announcements (assuming their main router usually bridges wifi+lan, but it's also practical to be able to subnet the block and do proper routing).

I have to admit I have been reading the Homenet discussions only from a distance (on the babel-user list). The RFC is a bit hard to dive into, but seems like interesting developments.

I should probably also note that currently our mesh relays do not do gateway announcements with Babel (to provide Internet over the mesh). We encourage people to use tinc to provide Internet to specific access points using a VPN. Agreed, would be nice to have tinc 1.1 by default.

Mathieu



----- Le 23 Juin 15, à 11:23, Dave Taht dave.taht at gmail.com a écrit :

> 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
>>
> 
> 
> 
> --
> Dave Täht
> worldwide bufferbloat report:
> http://www.dslreports.com/speedtest/results/bufferbloat
> And:
> What will it take to vastly improve wifi for everyone?
> https://plus.google.com/u/0/explore/makewififast


More information about the Commotion-dev mailing list