I hereby bring you network coding in batman-adv. (Changed accoring
to Antonios partlial review). This allows a relay to send two packets
(to two destinations) in a single transmission. Tests[1] have shown
an increase in throughput up to 1.6 under the right circumstances.
For this to work, you will need to compile batman-adv with
CONFIG_BATMAN_ADV_NC=y and a wireless interface with working
promiscuous mode. The rest is taken care of by batman-adv and the
following patches.
[1]
http://www.open-mesh.org/projects/open-mesh/wiki/2011-08-18-network-coding-…
Martin Hundebøll (6):
batman-adv: Add the initial code for network coding.
batman-adv: Detect coding nodes and remove these after timeout
batman-adv: Buffer unicast packets before forward.
batman-adv: Code and transmit packets if possible.
batman-adv: Save overheard and tx packets for decoding.
batman-adv: Receive coded packets and decode them.
Makefile | 2 +
Makefile.kbuild | 1 +
bat_iv_ogm.c | 5 +
compat.c | 10 +
compat.h | 1 +
debugfs.c | 18 +
gen-compat-autoconf.sh | 1 +
main.c | 6 +
main.h | 13 +-
network-coding.c | 1817 ++++++++++++++++++++++++++++++++++++++++++++++++
network-coding.h | 123 ++++
originator.c | 6 +
packet.h | 33 +
routing.c | 26 +-
send.c | 5 +
soft-interface.c | 14 +
sysfs-class-net-mesh | 8 +
sysfs.c | 6 +
types.h | 123 ++++
19 files changed, 2209 insertions(+), 9 deletions(-)
create mode 100644 network-coding.c
create mode 100644 network-coding.h
--
1.8.0.1