[B.A.T.M.A.N.] [PATCHv4 0/7] DAT: Distributed ARP Table

Antonio Quartulli
2011-11-24T22:21:12Z

Hello people,

****
This is the fourth version of this patchset. The whole code has been reviewed
after some discussions on irc. Several bugs have been spotted and fixed.
Thanks Marek, Sven and Simon.
This should be a final version, unless some other mistakes/problems are find.

This patchset assume that patch
[PATCH] batman-adv: add biggest_unsigned_int(x) macro
has already been applied
****

as most of you may already know, last summer I've been working on the
B.A.T.M.A.N.-Adv GSoC project named "DAT: Distributed ARP Table". For who wants
to get deeper into the details of the project there are two links:
- The GSoC proposal [1]
- The DAT wikipage on open-mesh.org [2], with status and ideas description

Just to recap: DAT is a distributes hash table meant to store ARP entries for
fast lookup. In a normal scenario, whenever a node wants to communicate with
another one, it first needs to issue a broadcast ARP request in order to
retrieve its PHY/MAC address. In a sparse network a broadcast message could be
lost several times before reaching the real destination so creating high
latencies. With DAT, every ARP entries (a pair [IP addr, MAC addr]) is stored on
a "computed" set of nodes, therefore in case of ARP request theses nodes can
directly be contacted (in unicast) and the needed information can be quickly
fetched.

Cheers,
Antonio

[1] http://www.google-melange.com/gsoc/project/google/gsoc2011/ordex/4001
[2] http://www.open-mesh.org/wiki/batman-adv/GSOC2011_DAT