• Martin Hundebøll's avatar
    batman-adv: network coding - detect coding nodes and remove these after timeout · d56b1705
    Martin Hundebøll authored
    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: default avatarMartin Hundebøll <martin@hundeboll.net>
    Signed-off-by: default avatarMarek Lindner <lindner_marek@yahoo.de>
    Signed-off-by: default avatarAntonio Quartulli <ordex@autistici.org>
    d56b1705
bat_iv_ogm.c 41.1 KB