linux/net/batman-adv
Martin Hundebøll d56b1705e2 batman-adv: network coding - detect coding nodes and remove these after timeout
To use network coding efficiently, a relay must know when neighbor nodes
are likely to have enough information to be able to decode a network
coded packet. This is detected by using OGMs from batman-adv to discover
when one neighbor is in range of another neighbor. The relay check the
TLL to detect when an OGM is forwarded from one neighbor by another
neighbor, and thereby knows that the two neighbors are in range and thus
overhear packets sent by each other.

This information is saved in the orig_node struct to be used when
searching for coding opportunities. Two lists are added to the
orig_node struct: One for neighbors that can hear the orig_node
(outgoing nc_nodes) and one for neighbors that the orig_node can hear
(incoming nc_nodes).

Information about nc_nodes is kept for 10 seconds and is available
through debugfs in batman_adv/nc_nodes to use when debugging network
coding.

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>
2013-03-13 22:53:49 +01:00
..
bat_algo.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
bat_iv_ogm.c batman-adv: network coding - detect coding nodes and remove these after timeout 2013-03-13 22:53:49 +01:00
bitarray.c batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
bitarray.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
bridge_loop_avoidance.c hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
bridge_loop_avoidance.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
debugfs.c batman-adv: network coding - detect coding nodes and remove these after timeout 2013-03-13 22:53:49 +01:00
debugfs.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
distributed-arp-table.c batman-adv: replace redundant primary_if_get calls 2013-03-13 22:53:47 +01:00
distributed-arp-table.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
gateway_client.c hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
gateway_client.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
gateway_common.c batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
gateway_common.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
hard-interface.c batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
hard-interface.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
hash.c batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
hash.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
icmp_socket.c batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
icmp_socket.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
Kconfig batman-adv: network coding - add the initial infrastructure code 2013-03-13 22:53:48 +01:00
main.c batman-adv: network coding - add the initial infrastructure code 2013-03-13 22:53:48 +01:00
main.h batman-adv: network coding - detect coding nodes and remove these after timeout 2013-03-13 22:53:49 +01:00
Makefile batman-adv: network coding - add the initial infrastructure code 2013-03-13 22:53:48 +01:00
network-coding.c batman-adv: network coding - detect coding nodes and remove these after timeout 2013-03-13 22:53:49 +01:00
network-coding.h batman-adv: network coding - detect coding nodes and remove these after timeout 2013-03-13 22:53:49 +01:00
originator.c batman-adv: network coding - detect coding nodes and remove these after timeout 2013-03-13 22:53:49 +01:00
originator.h hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
packet.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
ring_buffer.c batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
ring_buffer.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
routing.c batman-adv: Return reason for failure in batadv_check_unicast_packet() 2013-03-13 22:53:47 +01:00
routing.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
send.c hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
send.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
soft-interface.c batman-adv: network coding - add the initial infrastructure code 2013-03-13 22:53:48 +01:00
soft-interface.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
sysfs.c batman-adv: network coding - add the initial infrastructure code 2013-03-13 22:53:48 +01:00
sysfs.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
translation-table.c batman-adv: don't use !! in bool conversion 2013-03-13 22:53:48 +01:00
translation-table.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
types.h batman-adv: network coding - detect coding nodes and remove these after timeout 2013-03-13 22:53:49 +01:00
unicast.c batman-adv: don't use !! in bool conversion 2013-03-13 22:53:48 +01:00
unicast.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00
vis.c hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
vis.h batman-adv: update copyright years 2013-01-19 21:18:12 +08:00