]> git.baikalelectronics.ru Git - kernel.git/commit
batman-adv: ELP - adding basic infrastructure
authorLinus Luessing <linus.luessing@web.de>
Sat, 16 Jan 2016 08:40:09 +0000 (16:40 +0800)
committerAntonio Quartulli <a@unstable.cc>
Mon, 29 Feb 2016 08:05:29 +0000 (16:05 +0800)
commitcdd2a49b0fd612587e883f3a68f32f128692f721
tree8055ce7a0337ab262af4522f9a20ab11b4769239
parent6a561034167afdd7d9d151b37ac1a28f3dbe43f6
batman-adv: ELP - adding basic infrastructure

The B.A.T.M.A.N. protocol originally only used a single
message type (called OGM) to determine the link qualities to
the direct neighbors and spreading these link quality
information through the whole mesh. This procedure is
summarized on the BATMAN concept page and explained in
details in the RFC draft published in 2008.

This approach was chosen for its simplicity during the
protocol design phase and the implementation. However, it
also bears some drawbacks:

 *  Wireless interfaces usually come with some packet loss,
    therefore a higher broadcast rate is desirable to allow
    a fast reaction on flaky connections.
    Other interfaces of the same host might be connected to
    Ethernet LANs / VPNs / etc which rarely exhibit packet
    loss would benefit from a lower broadcast rate to reduce
    overhead.
 *  It generally is more desirable to detect local link
    quality changes at a faster rate than propagating all
    these changes through the entire mesh (the far end of
    the mesh does not need to care about local link quality
    changes that much). Other optimizations strategies, like
    reducing overhead, might be possible if OGMs weren't
    used for all tasks in the mesh at the same time.

As a result detecting local link qualities shall be handled
by an independent message type, ELP, whereas the OGM message
type remains responsible for flooding the mesh with these
link quality information and determining the overall path
transmit qualities.

Developed by Linus during a 6 months trainee study period in
Ascom (Switzerland) AG.

Signed-off-by: Linus Luessing <linus.luessing@web.de>
Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch>
Signed-off-by: Antonio Quartulli <antonio@open-mesh.com>
net/batman-adv/Kconfig
net/batman-adv/Makefile
net/batman-adv/bat_algo.h
net/batman-adv/bat_v.c [new file with mode: 0644]
net/batman-adv/bat_v_elp.c [new file with mode: 0644]
net/batman-adv/bat_v_elp.h [new file with mode: 0644]
net/batman-adv/main.c
net/batman-adv/packet.h
net/batman-adv/types.h