Blame view
net/batman-adv/send.h
3.49 KB
0b8739314 batman-adv: updat... |
1 |
/* Copyright (C) 2007-2013 B.A.T.M.A.N. contributors: |
c6c8fea29 net: Add batman-a... |
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
* * Marek Lindner, Simon Wunderlich * * This program is free software; you can redistribute it and/or * modify it under the terms of version 2 of the GNU General Public * License as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA * 02110-1301, USA |
c6c8fea29 net: Add batman-a... |
18 19 20 21 |
*/ #ifndef _NET_BATMAN_ADV_SEND_H_ #define _NET_BATMAN_ADV_SEND_H_ |
56303d34a batman-adv: Prefi... |
22 23 |
int batadv_send_skb_packet(struct sk_buff *skb, struct batadv_hard_iface *hard_iface, |
9455e34cb batman-adv: Prefi... |
24 |
const uint8_t *dst_addr); |
e91ecfc64 batman-adv: Move ... |
25 26 27 |
int batadv_send_skb_to_orig(struct sk_buff *skb, struct batadv_orig_node *orig_node, struct batadv_hard_iface *recv_if); |
56303d34a batman-adv: Prefi... |
28 29 |
void batadv_schedule_bat_ogm(struct batadv_hard_iface *hard_iface); int batadv_add_bcast_packet_to_list(struct batadv_priv *bat_priv, |
9455e34cb batman-adv: Prefi... |
30 31 32 |
const struct sk_buff *skb, unsigned long delay); void batadv_send_outstanding_bat_ogm_packet(struct work_struct *work); |
56303d34a batman-adv: Prefi... |
33 34 35 |
void batadv_purge_outstanding_packets(struct batadv_priv *bat_priv, const struct batadv_hard_iface *hard_iface); |
f097e25db batman-adv: Remov... |
36 37 38 39 |
bool batadv_send_skb_prepare_unicast_4addr(struct batadv_priv *bat_priv, struct sk_buff *skb, struct batadv_orig_node *orig_node, int packet_subtype); |
e300d3146 batman-adv: refin... |
40 41 42 43 44 |
int batadv_send_skb_via_tt_generic(struct batadv_priv *bat_priv, struct sk_buff *skb, int packet_type, int packet_subtype, unsigned short vid); int batadv_send_skb_via_gw(struct batadv_priv *bat_priv, struct sk_buff *skb, unsigned short vid); |
f097e25db batman-adv: Remov... |
45 46 |
/** |
e300d3146 batman-adv: refin... |
47 |
* batadv_send_skb_via_tt - send an skb via TT lookup |
f097e25db batman-adv: Remov... |
48 49 |
* @bat_priv: the bat priv with all the soft interface information * @skb: the payload to send |
c018ad3de batman-adv: add t... |
50 |
* @vid: the vid to be used to search the translation table |
f097e25db batman-adv: Remov... |
51 |
* |
e300d3146 batman-adv: refin... |
52 53 54 55 56 |
* Look up the recipient node for the destination address in the ethernet * header via the translation table. Wrap the given skb into a batman-adv * unicast header. Then send this frame to the according destination node. * * Returns NET_XMIT_DROP in case of error or NET_XMIT_SUCCESS otherwise. |
f097e25db batman-adv: Remov... |
57 |
*/ |
e300d3146 batman-adv: refin... |
58 59 60 |
static inline int batadv_send_skb_via_tt(struct batadv_priv *bat_priv, struct sk_buff *skb, unsigned short vid) |
f097e25db batman-adv: Remov... |
61 |
{ |
e300d3146 batman-adv: refin... |
62 63 |
return batadv_send_skb_via_tt_generic(bat_priv, skb, BATADV_UNICAST, 0, vid); |
f097e25db batman-adv: Remov... |
64 65 66 |
} /** |
e300d3146 batman-adv: refin... |
67 |
* batadv_send_skb_via_tt_4addr - send an skb via TT lookup |
f097e25db batman-adv: Remov... |
68 69 70 |
* @bat_priv: the bat priv with all the soft interface information * @skb: the payload to send * @packet_subtype: the unicast 4addr packet subtype to use |
c018ad3de batman-adv: add t... |
71 |
* @vid: the vid to be used to search the translation table |
f097e25db batman-adv: Remov... |
72 |
* |
e300d3146 batman-adv: refin... |
73 74 75 76 77 78 |
* Look up the recipient node for the destination address in the ethernet * header via the translation table. Wrap the given skb into a batman-adv * unicast-4addr header. Then send this frame to the according destination * node. * * Returns NET_XMIT_DROP in case of error or NET_XMIT_SUCCESS otherwise. |
f097e25db batman-adv: Remov... |
79 |
*/ |
e300d3146 batman-adv: refin... |
80 81 82 83 |
static inline int batadv_send_skb_via_tt_4addr(struct batadv_priv *bat_priv, struct sk_buff *skb, int packet_subtype, unsigned short vid) |
f097e25db batman-adv: Remov... |
84 |
{ |
e300d3146 batman-adv: refin... |
85 86 87 |
return batadv_send_skb_via_tt_generic(bat_priv, skb, BATADV_UNICAST_4ADDR, packet_subtype, vid); |
f097e25db batman-adv: Remov... |
88 |
} |
c6c8fea29 net: Add batman-a... |
89 90 |
#endif /* _NET_BATMAN_ADV_SEND_H_ */ |