diff options
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(), |