diff options
author | Marek Lindner <lindner_marek@yahoo.de> | 2010-09-05 01:58:34 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-09-05 00:29:49 -0700 |
commit | 6a0e9fa88df9e3a517a2fd317706aefa10a43191 (patch) | |
tree | 2dcf657e159d168a65af81cb65d21108cae48ead /drivers/staging/batman-adv/aggregation.c | |
parent | bf3264f6d1039e68ec9881447808327c0260ae61 (diff) | |
download | op-kernel-dev-6a0e9fa88df9e3a517a2fd317706aefa10a43191.zip op-kernel-dev-6a0e9fa88df9e3a517a2fd317706aefa10a43191.tar.gz |
Staging: batman-adv: attach each hard-interface to a soft-interface
This patch replaces the static bat0 interface with a dynamic/abstracted
approach. It is now possible to create multiple batX interfaces by
assigning hard interfaces to them. Each batX interface acts as an
independent mesh network. A soft interface is removed once no hard
interface references it any longer.
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
[sven.eckelmann@gmx.de: Rework on top of current version]
Signed-off-by: Sven Eckelmann <sven.eckelmann@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/batman-adv/aggregation.c')
-rw-r--r-- | drivers/staging/batman-adv/aggregation.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/staging/batman-adv/aggregation.c b/drivers/staging/batman-adv/aggregation.c index 5896cf2..6e10fe5 100644 --- a/drivers/staging/batman-adv/aggregation.c +++ b/drivers/staging/batman-adv/aggregation.c @@ -97,18 +97,15 @@ static bool can_aggregate_with(struct batman_packet *new_batman_packet, #define atomic_dec_not_zero(v) atomic_add_unless((v), -1, 0) /* create a new aggregated packet and add this packet to it */ -static void new_aggregated_packet(unsigned char *packet_buff, - int packet_len, - unsigned long send_time, - bool direct_link, - struct batman_if *if_incoming, - int own_packet) +static void new_aggregated_packet(unsigned char *packet_buff, int packet_len, + unsigned long send_time, bool direct_link, + struct batman_if *if_incoming, + int own_packet) { struct forw_packet *forw_packet_aggr; unsigned long flags; unsigned char *skb_buff; - /* FIXME: each batman_if will be attached to a softif */ - struct bat_priv *bat_priv = netdev_priv(soft_device); + struct bat_priv *bat_priv = netdev_priv(if_incoming->soft_iface); /* own packet should always be scheduled */ if (!own_packet) { |