fix rp_filter for smartgw tunnel endpoint
[olsrd.git] / src / kernel_tunnel.h
1 /*
2  * kernel_tunnel.h
3  *
4  *  Created on: 08.02.2010
5  *      Author: henning
6  */
7
8 #ifndef KERNEL_TUNNEL_H_
9 #define KERNEL_TUNNEL_H_
10
11 #include <net/if.h>
12 #ifdef WIN32
13 /* compat for win32 */
14 #include <iprtrmib.h>
15 #define IF_NAMESIZE MAX_INTERFACE_NAME_LEN
16 #endif
17
18 #include "defs.h"
19 #include "olsr_types.h"
20 #include "common/avl.h"
21
22 #define TUNNEL_ENDPOINT_IF "tunl0"
23 #define TUNNEL_ENDPOINT_IF6 "ip6tnl0"
24
25 struct olsr_iptunnel_entry {
26   struct avl_node node;
27   union olsr_ip_addr target;
28
29   char if_name[IF_NAMESIZE];
30   int if_index;
31
32   int usage;
33 };
34
35 int olsr_os_init_iptunnel(void);
36 void olsr_os_cleanup_iptunnel(void);
37
38 struct olsr_iptunnel_entry *olsr_os_add_ipip_tunnel(union olsr_ip_addr *target, bool transportV4);
39 void olsr_os_del_ipip_tunnel(struct olsr_iptunnel_entry *);
40
41 #endif /* KERNEL_TUNNEL_H_ */