New iptunnel system to allow multiple users of the same iptunnel
[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
13 #include "defs.h"
14 #include "olsr_types.h"
15 #include "common/avl.h"
16
17 struct olsr_iptunnel_entry {
18   struct avl_node node;
19   union olsr_ip_addr target;
20
21   char if_name[IFNAMSIZ];
22   int if_index;
23
24   int usage;
25 };
26
27 int olsr_os_init_iptunnel(void);
28 void olsr_os_cleanup_iptunnel(void);
29
30 struct olsr_iptunnel_entry *olsr_os_add_ipip_tunnel(union olsr_ip_addr *target, bool transportV4);
31 void olsr_os_del_ipip_tunnel(struct olsr_iptunnel_entry *);
32
33 #endif /* KERNEL_TUNNEL_H_ */