summaryrefslogtreecommitdiff
path: root/net/batman-adv/send.h
diff options
context:
space:
mode:
authorLinus Lüssing <linus.luessing@c0d3.blue>2016-06-20 22:39:54 +0300
committerSimon Wunderlich <sw@simonwunderlich.de>2016-08-09 08:54:32 +0300
commita65e5481315e0754a20f58aa374423610a311f33 (patch)
tree32a59a2b19862ac384c81babaf03f3b18a7bcf47 /net/batman-adv/send.h
parent4fd261bf586b0fc932d5fd20d9b1648547b16eca (diff)
downloadlinux-a65e5481315e0754a20f58aa374423610a311f33.tar.xz
batman-adv: Introduce forward packet creation helper
This patch abstracts the forward packet creation into the new function batadv_forw_packet_alloc(). The queue counting and interface reference counters are now handled internally within batadv_forw_packet_alloc() and its batadv_forw_packet_free() counterpart. This should reduce the risk of having reference/queue counting bugs again and should increase code readibility. Signed-off-by: Linus Lüssing <linus.luessing@c0d3.blue> Signed-off-by: Marek Lindner <mareklindner@neomailbox.ch> Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Diffstat (limited to 'net/batman-adv/send.h')
-rw-r--r--net/batman-adv/send.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/net/batman-adv/send.h b/net/batman-adv/send.h
index 7cecb7563b45..999f78683d9e 100644
--- a/net/batman-adv/send.h
+++ b/net/batman-adv/send.h
@@ -28,6 +28,12 @@
struct sk_buff;
void batadv_forw_packet_free(struct batadv_forw_packet *forw_packet);
+struct batadv_forw_packet *
+batadv_forw_packet_alloc(struct batadv_hard_iface *if_incoming,
+ struct batadv_hard_iface *if_outgoing,
+ atomic_t *queue_left,
+ struct batadv_priv *bat_priv);
+
int batadv_send_skb_to_orig(struct sk_buff *skb,
struct batadv_orig_node *orig_node,
struct batadv_hard_iface *recv_if);