I am very new to BATMAN.
I would like to create WiFi mesh using batman-adv using my custom hardware running OpenWRT.
This seems to be working fine.
Now my actual task is to support a table with information coming from all nodes.
After an event (events are asynchronous in nature) happens at certain node I want to broadcast
a message to all other nodes in the mesh so they update their local table.
For the broadcasting I think I could use layer 3 UDP communication with broadcast destination address 255.255.255.255
Do you think this is feasible?
Can I use some batman-adv primitives already from the Linux user space?
Probably Layer 2 broadcasting will be more reliable and faster?
Any pointers and advices in this respect are appreciated.
There is actually already a protocol for this. It’s called A.L.F.R.E.D… You can find information about it on http://www.open-mesh.org/projects/open-mesh/wiki/Alfred.
About broadcast: I think it’s probably the easiest way to use layer 3 broadcast. I also recommand using IPv6.
Thank you for the pointer!
What would be the benefits of using IPv6 vs IPv4 ?
IPv4 is a deprecated legacy protocol and should only be used when neccecary. Also you can habe shorter adresses like fdc0::5 and with stateless autoconfig every node has a static IP, which you can get based on the mac
You may take a look at gluon’s respondd packages/net/respondd at master · freifunk-gluon/packages · GitHub and neighbour-info gluon/package/gluon-neighbour-info at master · freifunk-gluon/gluon · GitHub
for a starting point.
These tools are used for similar purposes in Gluon-based firmwares. They are using IPv6 multicast.