• Linus Lüssing's avatar
    batman-adv: bcast: queue per interface, if needed · 3f693390
    Linus Lüssing authored
    Currently we schedule a broadcast packet like:
    
    3x: [ [(re-)queue] --> for(hard-if): maybe-transmit ]
    
    The intention of queueing a broadcast packet multiple times is to
    increase robustness for wireless interfaces. However on interfaces
    which we only broadcast on once the queueing induces an unnecessary
    penalty. This patch restructures the queueing to be performed on a per
    interface basis:
    
    for(hard-if):
    - transmit
    - if wireless: [queue] --> transmit --> [requeue] --> transmit
    
    Next to the performance benefits on non-wireless interfaces this
    should also make it easier to apply alternative strategies for
    transmissions on wireless interfaces in the future (for instance sending
    via unicast transmissions on wireless interfaces, without queueing in
    batman-adv, if appropriate).
    Signed-off-by: default avatarLinus Lüssing <linus.luessing@c0d3.blue>
    Signed-off-by: default avatarSven Eckelmann <sven@narfation.org>
    Signed-off-by: default avatarSimon Wunderlich <sw@simonwunderlich.de>
    3f693390
main.h 12.1 KB