diff options
author | Matthias Schiffer <mschiffer@universe-factory.net> | 2013-03-09 23:14:23 +0100 |
---|---|---|
committer | Antonio Quartulli <ordex@autistici.org> | 2013-05-29 02:44:53 +0200 |
commit | caf65bfcc5dbabd7222fa45fdcd42ce0783d7a42 (patch) | |
tree | bb338fcf3987a38680336278c43bb6c1ccdb7b39 /net/batman-adv/send.c | |
parent | batman-adv: split batadv_is_wifi_iface() into two functions (diff) | |
download | linux-caf65bfcc5dbabd7222fa45fdcd42ce0783d7a42.tar.xz linux-caf65bfcc5dbabd7222fa45fdcd42ce0783d7a42.zip |
batman-adv: send each broadcast only once on non-wireless interfaces
While it makes sense to send each broadcast thrice on 802.11 (WLAN) interfaces
as broadcasts are often unreliable on these, there is no reason to do so on
other interface types.
The increased the overhead can be harmful on low-bandwidth links like VPN
connections over slow internet lines, therefore it is better to reduce the
number of broadcast packets sent on non-wireless links to one.
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Diffstat (limited to 'net/batman-adv/send.c')
-rw-r--r-- | net/batman-adv/send.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/batman-adv/send.c b/net/batman-adv/send.c index 263cfd1ccee7..eb16b04d4bee 100644 --- a/net/batman-adv/send.c +++ b/net/batman-adv/send.c @@ -260,6 +260,9 @@ static void batadv_send_outstanding_bcast_packet(struct work_struct *work) if (hard_iface->soft_iface != soft_iface) continue; + if (forw_packet->num_packets >= hard_iface->num_bcasts) + continue; + /* send a copy of the saved skb */ skb1 = skb_clone(forw_packet->skb, GFP_ATOMIC); if (skb1) @@ -271,7 +274,7 @@ static void batadv_send_outstanding_bcast_packet(struct work_struct *work) forw_packet->num_packets++; /* if we still have some more bcasts to send */ - if (forw_packet->num_packets < 3) { + if (forw_packet->num_packets < BATADV_NUM_BCASTS_MAX) { _batadv_add_bcast_packet_to_list(bat_priv, forw_packet, msecs_to_jiffies(5)); return; |