On Wed, Jun 24, 2015 at 4:07 AM, Marc Juul <juul@labitat.dk> wrote:
# The problem

Our extender-nodes can't bridge their adhoc wifi interface to their ethernet interface since bridging adhoc is not possible. A layer 3 pseudo-bridge using relayd should work but both Babel and mDNS rely on multicast which is not handled by relayd.

After thinking about this some more I realized that I was being silly.

relayd only relays ARP requests/replies. It does absolutely nothing for propagating routes to nodes that are more than one hop away. This means that there is no way around running babeld unless a real layer 2 bridge is possible.

The rest of my previous post regarding mDNS and multicast routing is still relevant. Avahi is a pretty hefty package, and for the extender nodes it would be pretty cool if we could make it fit on 4 MB devices (such as the Bullet M2 which we have quite a few of) so it would be nice to create an OpenWRT package for mdns-repeater. I looked at the code and it's extremely minimal and has no dependencies:

  hg clone https://bitbucket.org/geekman/mdns-repeater

It would be pretty awesome to have a mesh network where all nodes are real multicast routers but that's definitely not something we need for the next release, nor actually ever. It's a cool extra feature that I'd personally love to experiment with at some point.

I'm going to call it a night and aim to implement this at the Thursday hacknight.

-- more notes on multicast routing below

I talked to the folk at #openwrt, did some more research and learned a few things:

Chaos Calmer likely abandoned the IPv6 multicast routing packages because they are super old and unmaintained. Here's the commit:

  https://github.com/openwrt-routing/packages/commit/21e4cc47bd7a2f84d2f656bafa161eaff2794f38

There is another combined IPv4 and IPv6 multicast routing daemon that wasn't abandoned until 2013:

  http://sourceforge.net/projects/pimd-ng/

pimd-ng has never been an OpenWRT package.

pimd (which is IPv4 only) doesn't have an OpenWRT package and probably never did but it is actively maintained:

  https://github.com/troglobit/pimd

The conclusion is that there are not maintained IPv6 multicast routing daemons. That's sad since an interesting use-case would be e.g. streaming hacker conferences/camps to different countries. If each stream only has to be sent once between continents that would be pretty cool.

--
marc/juul