Hey Arc,
On Tue, May 05, 2009 at 02:53:56PM -0400, Arc Riley wrote:
Excellent! Is there a website for your project?
Not yet, in the next two weeks.
Are you fully committed to Batman or still in the evaluation phases?
There's room to be swayed, but batman-adv seems to be the best suited for our needs right now. The primary concern is that the layer 2 branch isn't old enough to guarentee that it'll last - but it's free software so if it fizzles and is useful, someone will pick it up.
OSPF perhaps? :)
As I understand it, OSPF is designed for layer 3 networks. There is no layer 3 routing going on within this network, to layer 3 protocols the entire mesh appears to be locally accessable.
We really need something that directs users to use the gateway with the highest TQ.
One method I just thought of; each gateway runs a DHCP server. When a broadcast request is received, each gateway announces to the others their TQ to the requesting node, and after a brief timeout, the gateway with the highest TQ responds to the requesting node.
This raises a question however. After reading the protocol document, I do not understand how the nodes on a network know which node to route frames which are destined for a MAC not belonging to a node, ie, a standard laptop connected to the mesh. The above scenario would require knowing which node a non-node MAC is connected through.
Each node collects the local MAC-addresses by reading the source-MAC from the Payload Ethernet Frames. These collected MAC addresses are then announced over the mesh by attaching the list to the BATMAN packets (we call this HNA).
For example, a standard laptop would send frames to its AP A. A will have a linux-bridge over the wifi interface and the mesh interface. The mesh interface reads the laptop MAC and knows that its local. This laptop MAC will then be announced with the BATMAN packets. Another mesh node B will receive the BATMAN packet and knows that frames for the laptop are to be passed to A.
Hope this explanation was clear enough, if not please ask. :)
As a completely unrelated question, how does the batman-adv 0.1 kernel module currently handle multicast frame routing?
We have no special care for multicast currently, we just detect it and broadcast it.
best regards, Simon