2013-01-04 06:05:31 +04:00
/* Copyright (C) 2007-2013 B.A.T.M.A.N. contributors:
2010-12-13 14:19:28 +03:00
*
* 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
*/
# ifndef _NET_BATMAN_ADV_ROUTING_H_
# define _NET_BATMAN_ADV_ROUTING_H_
2012-05-12 04:09:36 +04:00
bool batadv_check_management_packet ( struct sk_buff * skb ,
2012-06-06 00:31:31 +04:00
struct batadv_hard_iface * hard_iface ,
2012-05-12 04:09:36 +04:00
int header_len ) ;
2012-06-06 00:31:31 +04:00
void batadv_update_route ( struct batadv_priv * bat_priv ,
struct batadv_orig_node * orig_node ,
struct batadv_neigh_node * neigh_node ) ;
int batadv_recv_icmp_packet ( struct sk_buff * skb ,
struct batadv_hard_iface * recv_if ) ;
int batadv_recv_unicast_packet ( struct sk_buff * skb ,
struct batadv_hard_iface * recv_if ) ;
2012-05-12 04:09:36 +04:00
int batadv_recv_ucast_frag_packet ( struct sk_buff * skb ,
2012-06-06 00:31:31 +04:00
struct batadv_hard_iface * recv_if ) ;
int batadv_recv_bcast_packet ( struct sk_buff * skb ,
struct batadv_hard_iface * recv_if ) ;
int batadv_recv_tt_query ( struct sk_buff * skb ,
struct batadv_hard_iface * recv_if ) ;
int batadv_recv_roam_adv ( struct sk_buff * skb ,
struct batadv_hard_iface * recv_if ) ;
2013-04-23 17:39:57 +04:00
int batadv_recv_unicast_tvlv ( struct sk_buff * skb ,
struct batadv_hard_iface * recv_if ) ;
2012-06-06 00:31:31 +04:00
struct batadv_neigh_node *
batadv_find_router ( struct batadv_priv * bat_priv ,
struct batadv_orig_node * orig_node ,
const struct batadv_hard_iface * recv_if ) ;
void batadv_bonding_candidate_del ( struct batadv_orig_node * orig_node ,
struct batadv_neigh_node * neigh_node ) ;
void batadv_bonding_candidate_add ( struct batadv_orig_node * orig_node ,
struct batadv_neigh_node * neigh_node ) ;
void batadv_bonding_save_primary ( const struct batadv_orig_node * orig_node ,
struct batadv_orig_node * orig_neigh_node ,
2012-06-06 00:31:30 +04:00
const struct batadv_ogm_packet
2012-05-12 04:09:36 +04:00
* batman_ogm_packet ) ;
2012-06-06 00:31:31 +04:00
int batadv_window_protected ( struct batadv_priv * bat_priv , int32_t seq_num_diff ,
2012-05-12 04:09:36 +04:00
unsigned long * last_reset ) ;
2010-12-13 14:19:28 +03:00
# endif /* _NET_BATMAN_ADV_ROUTING_H_ */