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_ipsec.c | |
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_ipsec.c')
-rw-r--r-- | src/libcharon/plugins/kernel_libipsec/kernel_libipsec_ipsec.c | 9 |
1 files changed, 2 insertions, 7 deletions
diff --git a/src/libcharon/plugins/kernel_libipsec/kernel_libipsec_ipsec.c b/src/libcharon/plugins/kernel_libipsec/kernel_libipsec_ipsec.c index efa519a83..f605501ba 100644 --- a/src/libcharon/plugins/kernel_libipsec/kernel_libipsec_ipsec.c +++ b/src/libcharon/plugins/kernel_libipsec/kernel_libipsec_ipsec.c @@ -13,6 +13,7 @@ */ #include "kernel_libipsec_ipsec.h" +#include "kernel_libipsec_router.h" #include <library.h> #include <ipsec.h> @@ -36,11 +37,6 @@ struct private_kernel_libipsec_ipsec_t { ipsec_event_listener_t ipsec_listener; /** - * TUN device - */ - tun_device_t *tun; - - /** * Mutex to lock access to various lists */ mutex_t *mutex; @@ -389,7 +385,7 @@ static bool install_route(private_kernel_libipsec_ipsec_t *this, } INIT(route, - .if_name = strdup(this->tun->get_name(this->tun)), + .if_name = router->get_tun_name(router, is_virtual ? src_ip : NULL), .src_ip = src_ip, .dst_net = chunk_clone(policy->dst.net->get_address(policy->dst.net)), .prefixlen = policy->dst.mask, @@ -634,7 +630,6 @@ kernel_libipsec_ipsec_t *kernel_libipsec_ipsec_create() .ipsec_listener = { .expire = expire, }, - .tun = lib->get(lib, "kernel-libipsec-tun"), .mutex = mutex_create(MUTEX_TYPE_DEFAULT), .policies = linked_list_create(), .excludes = linked_list_create(), |