diff options
author | Tobias Brunner <tobias@strongswan.org> | 2013-06-15 16:21:08 +0200 |
---|---|---|
committer | Tobias Brunner <tobias@strongswan.org> | 2013-06-21 17:03:21 +0200 |
commit | dcaf8d570c5c17cf1ec82d9d19ca53e1bfdff52b (patch) | |
tree | 285c3aefe0dcca0711bb8b2c4489555965f95402 /src/libcharon/plugins/kernel_libipsec/kernel_libipsec_router.h | |
parent | 7045defbffb2917279b3b8222b700fed4d7af925 (diff) | |
download | strongswan-dcaf8d570c5c17cf1ec82d9d19ca53e1bfdff52b.tar.bz2 strongswan-dcaf8d570c5c17cf1ec82d9d19ca53e1bfdff52b.tar.xz |
kernel-libipsec: Router reads packets from multiple TUN devices
These devices are collected via kernel_listener_t interface.
Diffstat (limited to 'src/libcharon/plugins/kernel_libipsec/kernel_libipsec_router.h')
-rw-r--r-- | src/libcharon/plugins/kernel_libipsec/kernel_libipsec_router.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/libcharon/plugins/kernel_libipsec/kernel_libipsec_router.h b/src/libcharon/plugins/kernel_libipsec/kernel_libipsec_router.h index a7ef27c0a..7b2f3c6c5 100644 --- a/src/libcharon/plugins/kernel_libipsec/kernel_libipsec_router.h +++ b/src/libcharon/plugins/kernel_libipsec/kernel_libipsec_router.h @@ -21,6 +21,8 @@ #ifndef KERNEL_LIBIPSEC_ROUTER_H_ #define KERNEL_LIBIPSEC_ROUTER_H_ +#include <kernel/kernel_listener.h> + typedef struct kernel_libipsec_router_t kernel_libipsec_router_t; /** @@ -30,12 +32,30 @@ typedef struct kernel_libipsec_router_t kernel_libipsec_router_t; struct kernel_libipsec_router_t { /** + * Implements kernel_listener_t interface + */ + kernel_listener_t listener; + + /** + * Get the name of the TUN device to be used with the given virtual IP. + * + * @param vip virtual IP + * @return allocated name + */ + char *(*get_tun_name)(kernel_libipsec_router_t *this, host_t *vip); + + /** * Destroy the given instance */ void (*destroy)(kernel_libipsec_router_t *this); }; /** + * Single instance of this class, if created + */ +extern kernel_libipsec_router_t *router; + +/** * Create a kernel_libipsec_router_t instance. * * @return kernel_libipsec_router_t instance |