2010-12-13 11:19:28 +00:00
/*
2011-01-27 10:38:15 +01:00
* Copyright ( C ) 2007 - 2011 B . A . T . M . A . N . contributors :
2010-12-13 11:19:28 +00: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_AGGREGATION_H_
# define _NET_BATMAN_ADV_AGGREGATION_H_
# include "main.h"
/* is there another aggregated packet here? */
2011-05-05 08:42:45 +02:00
static inline int aggregated_packet ( int buff_pos , int packet_len , int num_tt )
2010-12-13 11:19:28 +00:00
{
2011-05-05 08:42:45 +02:00
int next_buff_pos = buff_pos + BAT_PACKET_LEN + ( num_tt * ETH_ALEN ) ;
2010-12-13 11:19:28 +00:00
return ( next_buff_pos < = packet_len ) & &
( next_buff_pos < = MAX_AGGREGATION_BYTES ) ;
}
void add_bat_packet_to_list ( struct bat_priv * bat_priv ,
unsigned char * packet_buff , int packet_len ,
2011-02-18 12:33:20 +00:00
struct hard_iface * if_incoming , char own_packet ,
2010-12-13 11:19:28 +00:00
unsigned long send_time ) ;
void receive_aggr_bat_packet ( struct ethhdr * ethhdr , unsigned char * packet_buff ,
2011-02-18 12:33:20 +00:00
int packet_len , struct hard_iface * if_incoming ) ;
2010-12-13 11:19:28 +00:00
# endif /* _NET_BATMAN_ADV_AGGREGATION_H_ */