From dcaf8d570c5c17cf1ec82d9d19ca53e1bfdff52b Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Sat, 15 Jun 2013 16:21:08 +0200 Subject: kernel-libipsec: Router reads packets from multiple TUN devices These devices are collected via kernel_listener_t interface. --- src/libcharon/plugins/kernel_libipsec/kernel_libipsec_ipsec.c | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) (limited to 'src/libcharon/plugins/kernel_libipsec/kernel_libipsec_ipsec.c') 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 #include @@ -35,11 +36,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 */ @@ -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(), -- cgit v1.2.3