2015-04-23 14:16:35 +03:00
/* Copyright (C) 2011-2015 B.A.T.M.A.N. contributors:
2012-01-22 23:00:19 +04:00
*
* 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
2013-11-03 23:40:48 +04:00
* along with this program ; if not , see < http : //www.gnu.org/licenses/>.
2012-01-22 23:00:19 +04:00
*/
# ifndef _NET_BATMAN_ADV_BLA_H_
# define _NET_BATMAN_ADV_BLA_H_
2015-04-17 20:40:28 +03:00
# include "main.h"
# include <linux/types.h>
struct seq_file ;
struct sk_buff ;
2012-01-22 23:00:27 +04:00
# ifdef CONFIG_BATMAN_ADV_BLA
2013-04-19 20:07:00 +04:00
int batadv_bla_rx ( struct batadv_priv * bat_priv , struct sk_buff * skb ,
unsigned short vid , bool is_bcast ) ;
int batadv_bla_tx ( struct batadv_priv * bat_priv , struct sk_buff * skb ,
unsigned short vid ) ;
2012-05-12 15:38:47 +04:00
int batadv_bla_is_backbone_gw ( struct sk_buff * skb ,
2012-06-06 00:31:31 +04:00
struct batadv_orig_node * orig_node , int hdr_size ) ;
2012-05-12 15:38:47 +04:00
int batadv_bla_claim_table_seq_print_text ( struct seq_file * seq , void * offset ) ;
2012-06-18 20:39:26 +04:00
int batadv_bla_backbone_table_seq_print_text ( struct seq_file * seq ,
void * offset ) ;
2015-05-26 19:34:26 +03:00
bool batadv_bla_is_backbone_gw_orig ( struct batadv_priv * bat_priv , u8 * orig ,
2013-08-07 20:28:56 +04:00
unsigned short vid ) ;
2012-06-06 00:31:31 +04:00
int batadv_bla_check_bcast_duplist ( struct batadv_priv * bat_priv ,
2012-10-18 15:47:42 +04:00
struct sk_buff * skb ) ;
2012-06-06 00:31:31 +04:00
void batadv_bla_update_orig_address ( struct batadv_priv * bat_priv ,
struct batadv_hard_iface * primary_if ,
struct batadv_hard_iface * oldif ) ;
int batadv_bla_init ( struct batadv_priv * bat_priv ) ;
void batadv_bla_free ( struct batadv_priv * bat_priv ) ;
2012-01-22 23:00:19 +04:00
2012-06-04 00:19:10 +04:00
# define BATADV_BLA_CRC_INIT 0
2012-01-22 23:00:27 +04:00
# else /* ifdef CONFIG_BATMAN_ADV_BLA */
2012-06-06 00:31:31 +04:00
static inline int batadv_bla_rx ( struct batadv_priv * bat_priv ,
2013-04-19 20:07:00 +04:00
struct sk_buff * skb , unsigned short vid ,
bool is_bcast )
2012-01-22 23:00:27 +04:00
{
return 0 ;
}
2012-06-06 00:31:31 +04:00
static inline int batadv_bla_tx ( struct batadv_priv * bat_priv ,
2013-04-19 20:07:00 +04:00
struct sk_buff * skb , unsigned short vid )
2012-01-22 23:00:27 +04:00
{
return 0 ;
}
2012-05-12 15:38:47 +04:00
static inline int batadv_bla_is_backbone_gw ( struct sk_buff * skb ,
2012-06-06 00:31:31 +04:00
struct batadv_orig_node * orig_node ,
2012-05-12 15:38:47 +04:00
int hdr_size )
2012-01-22 23:00:27 +04:00
{
return 0 ;
}
2012-05-12 15:38:47 +04:00
static inline int batadv_bla_claim_table_seq_print_text ( struct seq_file * seq ,
void * offset )
2012-01-22 23:00:27 +04:00
{
return 0 ;
}
2012-06-18 20:39:26 +04:00
static inline int batadv_bla_backbone_table_seq_print_text ( struct seq_file * seq ,
void * offset )
{
return 0 ;
}
2013-08-07 20:28:56 +04:00
static inline bool batadv_bla_is_backbone_gw_orig ( struct batadv_priv * bat_priv ,
2015-05-26 19:34:26 +03:00
u8 * orig , unsigned short vid )
2012-01-22 23:00:27 +04:00
{
2013-08-07 20:28:56 +04:00
return false ;
2012-01-22 23:00:27 +04:00
}
2012-05-12 15:38:47 +04:00
static inline int
2012-06-06 00:31:31 +04:00
batadv_bla_check_bcast_duplist ( struct batadv_priv * bat_priv ,
2012-10-18 15:47:42 +04:00
struct sk_buff * skb )
2012-01-22 23:00:27 +04:00
{
return 0 ;
}
2012-05-12 15:38:47 +04:00
static inline void
2012-06-06 00:31:31 +04:00
batadv_bla_update_orig_address ( struct batadv_priv * bat_priv ,
struct batadv_hard_iface * primary_if ,
struct batadv_hard_iface * oldif )
2012-01-22 23:00:27 +04:00
{
}
2012-06-06 00:31:31 +04:00
static inline int batadv_bla_init ( struct batadv_priv * bat_priv )
2012-01-22 23:00:27 +04:00
{
return 1 ;
}
2012-06-06 00:31:31 +04:00
static inline void batadv_bla_free ( struct batadv_priv * bat_priv )
2012-01-22 23:00:27 +04:00
{
}
# endif /* ifdef CONFIG_BATMAN_ADV_BLA */
2012-01-22 23:00:19 +04:00
# endif /* ifndef _NET_BATMAN_ADV_BLA_H_ */