diff options
author | Martin Willi <martin@strongswan.org> | 2009-06-02 13:34:03 +0200 |
---|---|---|
committer | Martin Willi <martin@strongswan.org> | 2009-06-02 13:45:29 +0200 |
commit | 9474a0d90c732e048d6ca71602fbebd5165d5d36 (patch) | |
tree | 3a8f6fc03bb9db98e934c4b8219295dcb9bf6655 /src/charon/plugins/kernel_netlink | |
parent | 14c408ee4a36b4e0f9a2238087793058f073d6bd (diff) | |
download | strongswan-9474a0d90c732e048d6ca71602fbebd5165d5d36.tar.bz2 strongswan-9474a0d90c732e048d6ca71602fbebd5165d5d36.tar.xz |
added a charon.install_virtual_ip option to disable IP installation for testing
Diffstat (limited to 'src/charon/plugins/kernel_netlink')
-rw-r--r-- | src/charon/plugins/kernel_netlink/kernel_netlink_net.c | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/src/charon/plugins/kernel_netlink/kernel_netlink_net.c b/src/charon/plugins/kernel_netlink/kernel_netlink_net.c index 018d51fee..32154a7ea 100644 --- a/src/charon/plugins/kernel_netlink/kernel_netlink_net.c +++ b/src/charon/plugins/kernel_netlink/kernel_netlink_net.c @@ -161,7 +161,11 @@ struct private_kernel_netlink_net_t { * whether to react to RTM_NEWROUTE or RTM_DELROUTE events */ bool process_route; - + + /** + * whether to actually install virtual IPs + */ + bool install_virtual_ip; }; /** @@ -983,7 +987,12 @@ static status_t add_ip(private_kernel_netlink_net_t *this, addr_entry_t *addr; enumerator_t *addrs, *ifaces; int ifindex; - + + if (!this->install_virtual_ip) + { /* disabled by config */ + return SUCCESS; + } + DBG2(DBG_KNL, "adding virtual IP %H", virtual_ip); this->mutex->lock(this->mutex); @@ -1057,7 +1066,12 @@ static status_t del_ip(private_kernel_netlink_net_t *this, host_t *virtual_ip) enumerator_t *addrs, *ifaces; status_t status; int ifindex; - + + if (!this->install_virtual_ip) + { /* disabled by config */ + return SUCCESS; + } + DBG2(DBG_KNL, "deleting virtual IP %H", virtual_ip); this->mutex->lock(this->mutex); @@ -1365,6 +1379,8 @@ kernel_netlink_net_t *kernel_netlink_net_create() "charon.routing_table_prio", IPSEC_ROUTING_TABLE_PRIO); this->process_route = lib->settings->get_bool(lib->settings, "charon.process_route", TRUE); + this->install_virtual_ip = lib->settings->get_bool(lib->settings, + "charon.install_virtual_ip", TRUE); this->socket = netlink_socket_create(NETLINK_ROUTE); |