On Wed, Jun 30, 2010 at 09:00:36PM +0200, Andreas Langer wrote:
diff --git a/batman-adv/fragmentation.h b/batman-adv/fragmentation.h new file mode 100644 index 0000000..d0acf73 --- /dev/null +++ b/batman-adv/fragmentation.h @@ -0,0 +1,34 @@ +/*
- Copyright (C) 2007-2010 B.A.T.M.A.N. contributors:
- Andreas Langer
- 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
- */
+#define FRAG_TIMEOUT 60000 /* purge frag list entrys after time in ms */ +#define FRAG_BUFFER_SIZE 6 /* number of list elements in buffer */ +#define FRAG_MAX_SEQ 65535
+extern struct sk_buff *merge_frag_packet(struct list_head *head,
- struct frag_packet_list_entry *tfp,
- struct sk_buff *skb);
+extern void create_frag_entry(struct list_head *head, struct sk_buff *skb); +extern void create_frag_buffer(struct list_head *head); +extern struct frag_packet_list_entry *search_frag_packet(struct list_head *head,
- struct unicast_frag_packet *up);
+extern void frag_list_free(struct list_head *head);
function declarations shouldn't be marked as extern. Can you please remove that.
diff --git a/batman-adv/routing.h b/batman-adv/routing.h index 3eac64e..35ca2af 100644 --- a/batman-adv/routing.h +++ b/batman-adv/routing.h @@ -34,6 +34,9 @@ void update_routes(struct orig_node *orig_node, unsigned char *hna_buff, int hna_buff_len); int recv_icmp_packet(struct sk_buff *skb); int recv_unicast_packet(struct sk_buff *skb, struct batman_if *recv_if); +int recv_ucast_frag_packet(struct sk_buff *skb, struct batman_if *recv_if); +int route_unicast_packet(struct sk_buff *skb, struct batman_if *recv_if,
route_unicast_packet is only used locally in routing.c. Please remove this function declaration and mark route_unicast_packet in routing.c as static.
thanks, Sven