]> git.baikalelectronics.ru Git - kernel.git/commit
batman-adv: network coding - buffer unicast packets before forward
authorMartin Hundebøll <martin@hundeboll.net>
Fri, 25 Jan 2013 10:12:40 +0000 (11:12 +0100)
committerAntonio Quartulli <ordex@autistici.org>
Wed, 13 Mar 2013 21:53:49 +0000 (22:53 +0100)
commit5c078085f25677a0b4b300d41751fb976b2cebcb
treeca6a07caecd098623031cffcf8a2dd80a4d1a4e6
parent5d72c0e3216dc5accf1742ca3c95faac8542b6fb
batman-adv: network coding - buffer unicast packets before forward

Two be able to network code two packets, one packet must be buffered
until the next is available. This is done in a "coding buffer", which is
essentially a hash table with lists of packets. Each entry in the hash
table corresponds to a specific src-dst pair, which has a linked list of
packets that are buffered.

This patch adds skbs to the buffer just before forwarding them. The
buffer is traversed every 10 ms, where timed skbs are removed from the
buffer and transmitted. To allow experiments with the network coding
scheme, the timeout is tunable through a file in debugfs.

Signed-off-by: Martin Hundebøll <martin@hundeboll.net>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Antonio Quartulli <ordex@autistici.org>
net/batman-adv/network-coding.c
net/batman-adv/network-coding.h
net/batman-adv/routing.c
net/batman-adv/types.h