batman-adv: add_bcast_packet_to_list() takes the sending delay as parameter
authorAntonio Quartulli <ordex@autistici.org>
Sat, 25 Jun 2011 17:09:12 +0000 (19:09 +0200)
committerMarek Lindner <lindner_marek@yahoo.de>
Tue, 5 Jul 2011 12:28:54 +0000 (14:28 +0200)
In order to make possible to use the broadcast list for delayed sendings
the "delay" parameter is now provided instead of using 1 as hardcoded
value.

Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
net/batman-adv/routing.c
net/batman-adv/send.c
net/batman-adv/send.h
net/batman-adv/soft-interface.c

index 0ce090c9fe86b2395dfe1df311b233c53286a06f..2cb98bed15862db6ab1e8f2632af1442e2736f1d 100644 (file)
@@ -1677,7 +1677,7 @@ int recv_bcast_packet(struct sk_buff *skb, struct hard_iface *recv_if)
        spin_unlock_bh(&orig_node->bcast_seqno_lock);
 
        /* rebroadcast packet */
-       add_bcast_packet_to_list(bat_priv, skb);
+       add_bcast_packet_to_list(bat_priv, skb, 1);
 
        /* broadcast for me */
        interface_rx(recv_if->soft_iface, skb, recv_if, hdr_size);
index 7a2f0823f1c29626ff6d0202f6d737d8d74ad37f..2f62b2e4a47bb41b672a782915d7e2381da6c30c 100644 (file)
@@ -455,7 +455,7 @@ static void _add_bcast_packet_to_list(struct bat_priv *bat_priv,
  * The skb is not consumed, so the caller should make sure that the
  * skb is freed. */
 int add_bcast_packet_to_list(struct bat_priv *bat_priv,
-                            const struct sk_buff *skb)
+                            const struct sk_buff *skb, unsigned long delay)
 {
        struct hard_iface *primary_if = NULL;
        struct forw_packet *forw_packet;
@@ -492,7 +492,7 @@ int add_bcast_packet_to_list(struct bat_priv *bat_priv,
        /* how often did we send the bcast packet ? */
        forw_packet->num_packets = 0;
 
-       _add_bcast_packet_to_list(bat_priv, forw_packet, 1);
+       _add_bcast_packet_to_list(bat_priv, forw_packet, delay);
        return NETDEV_TX_OK;
 
 packet_free:
index 633224ab028a676e010959c59bba219e138748eb..1f2d1e8776636f7a5fb3e261868eb2df38197c8d 100644 (file)
@@ -31,7 +31,7 @@ void schedule_forward_packet(struct orig_node *orig_node,
                             int directlink,
                             struct hard_iface *if_outgoing);
 int add_bcast_packet_to_list(struct bat_priv *bat_priv,
-                            const struct sk_buff *skb);
+                            const struct sk_buff *skb, unsigned long delay);
 void send_outstanding_bat_packet(struct work_struct *work);
 void purge_outstanding_packets(struct bat_priv *bat_priv,
                               const struct hard_iface *hard_iface);
index 2dcdbb7a236c3bca0e00eeda9587f3ad6af122ca..3f20332e1d38b18606fa94d0250f386d8eb83096 100644 (file)
@@ -634,7 +634,7 @@ static int interface_tx(struct sk_buff *skb, struct net_device *soft_iface)
                bcast_packet->seqno =
                        htonl(atomic_inc_return(&bat_priv->bcast_seqno));
 
-               add_bcast_packet_to_list(bat_priv, skb);
+               add_bcast_packet_to_list(bat_priv, skb, 1);
 
                /* a copy is stored in the bcast list, therefore removing
                 * the original skb. */