All of lore.kernel.org
 help / color / mirror / Atom feed
* [B.A.T.M.A.N.] [RFC] ELP
@ 2012-03-22 21:50 Marek Lindner
  2012-03-22 21:51 ` [B.A.T.M.A.N.] [RFC 1/5] batman-adv: ELP - adding basic infrastructure Marek Lindner
                   ` (2 more replies)
  0 siblings, 3 replies; 30+ messages in thread
From: Marek Lindner @ 2012-03-22 21:50 UTC (permalink / raw)
  To: b.a.t.m.a.n


Hi,

after numerous infrastructure changes in the past weeks ELP[1] slowly
approaches the state in which it can be tested and later merged into the
master branch.

Since its initial implementation by Linus Luessing last summer a lot has
happened:
 * the internal protocol name (NDP) was renamed to ELP
 * the old code was rebased on top of the master branch
 * the ELP code was adjusted to the many changes in our code base
 * several patches were squashed together
 * brought the code in sync with the spec
 * numerous bugs were fixed (buffer overflow, writing into random memory
   sections, memory corruptions, locking issues, elp packet length checks,
   printing the neighbors of the requested mesh only and many more)

The ELP code is the first to use the recently introduced routing protocol
abstraction. It is not compiled into batman-adv by default, therefore you
need to compile with CONFIG_BATMAN_ADV_BATMAN_V=y or modify the makefile.

Once the batman-adv kernel module has been loaded you can check for the
existence of the new routing protocol:

cat /sys/kernel/debug/batman_adv/routing_algos 
Available routing algorithms:
BATMAN IV
BATMAN V

To activate B.A.T.M.A.N. V (ELP) you should run the following command *before*
adding any interface via batctl:

echo -n "BATMAN V" > /sys/module/batman_adv/parameters/routing_algo

Caveats:
 * ELP alone (without OGMv2) isn't very useful because ELP handles single hop
 neighbors only. So don't expect to convert your entire mesh network to
 B.A.T.M.A.N. V just yet.
 * The batman-adv routing protocol abstraction still lacks the translation
 table integration which is why the following patches will lead to a kernel
 crash. The ELP repository[2] contains a patch to disable the TT propagation
 partially to mitigate the problem until a proper solution has been
 implemented.

Any comments and suggestions are appreciated. 

Regards,
Marek


[1] http://www.open-mesh.org/wiki/batman-adv/ELP
[2] http://git.open-mesh.org/?p=marek/batman-adv.git;a=shortlog;h=refs/heads/elp


Linus Luessing (5):
      batman-adv: ELP - adding basic infrastructure
      batman-adv: ELP - creating neighbor structures, updating LQs
      batman-adv: ELP - exporting neighbor list via debugfs
      batman-adv: ELP - adding sysfs parameter for elp interval
      batman-adv: ELP - add configurable minimum ELP packet length (def: 300B)

 Makefile                   |    2 +
 Makefile.kbuild            |    1 +
 README.external            |    1 +
 bat_algo.h                 |    6 +
 bat_debugfs.c              |   16 ++
 bat_sysfs.c                |    8 +
 bat_v_elp.c                |  500 ++++++++++++++++++++++++++++++++++++++++++++
 gen-compat-autoconf.sh     |    1 +
 hard-interface.c           |    7 +
 main.c                     |    1 +
 packet.h                   |   20 ++-
 sysfs-class-net-batman-adv |   13 ++
 types.h                    |   15 ++
 13 files changed, 590 insertions(+), 1 deletions(-)

^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2012-04-06 18:04 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-03-22 21:50 [B.A.T.M.A.N.] [RFC] ELP Marek Lindner
2012-03-22 21:51 ` [B.A.T.M.A.N.] [RFC 1/5] batman-adv: ELP - adding basic infrastructure Marek Lindner
2012-03-22 21:51   ` [B.A.T.M.A.N.] [RFC 2/5] batman-adv: ELP - creating neighbor structures, updating LQs Marek Lindner
2012-03-23 20:52     ` Andrew Lunn
2012-04-05 19:59       ` Marek Lindner
2012-03-23 21:22     ` Andrew Lunn
2012-03-24  8:14       ` Antonio Quartulli
2012-03-24 20:21         ` Andrew Lunn
2012-04-05 20:11           ` Marek Lindner
2012-04-06  7:17             ` Andrew Lunn
2012-04-06  8:18               ` Marek Lindner
2012-04-05 20:08       ` Marek Lindner
2012-03-22 21:51   ` [B.A.T.M.A.N.] [RFC 3/5] batman-adv: ELP - exporting neighbor list via debugfs Marek Lindner
2012-03-22 21:51   ` [B.A.T.M.A.N.] [RFC 4/5] batman-adv: ELP - adding sysfs parameter for elp interval Marek Lindner
2012-03-22 21:51   ` [B.A.T.M.A.N.] [RFC 5/5] batman-adv: ELP - add configurable minimum ELP packet length (def: 300B) Marek Lindner
2012-03-24 20:39     ` Andrew Lunn
2012-04-05 20:19       ` Marek Lindner
2012-03-23  6:41   ` [B.A.T.M.A.N.] [RFC 1/5] batman-adv: ELP - adding basic infrastructure Andrew Lunn
2012-03-23  6:50   ` Andrew Lunn
2012-04-05 20:21     ` Marek Lindner
2012-03-23  6:32 ` [B.A.T.M.A.N.] [RFC] ELP Andrew Lunn
2012-03-23  7:50   ` Antonio Quartulli
2012-04-05 20:30   ` Marek Lindner
2012-04-06  9:13     ` Andrew Lunn
2012-04-06 16:57       ` dan
2012-04-06 17:19         ` Andrew Lunn
2012-04-06 18:04           ` dan
2012-03-23  6:34 ` Andrew Lunn
2012-03-23  7:51   ` Antonio Quartulli
2012-04-05 20:30   ` Marek Lindner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.