From ce2b475e05c1165767a251059b32d9bb22f6f864 Mon Sep 17 00:00:00 2001 From: Jukka Rissanen Date: Wed, 8 Aug 2012 13:22:46 +0300 Subject: [PATCH] connection: Set VPN default route to the VPN interface Do not bother setting individual routes for default gateway so for VPN we set the whole interface as a default gateway route. --- src/connection.c | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/src/connection.c b/src/connection.c index 2e5cea6..7212af3 100644 --- a/src/connection.c +++ b/src/connection.c @@ -410,10 +410,7 @@ static void set_default_gateway(struct gateway_data *data, if (do_ipv4 == TRUE && data->ipv4_gateway != NULL && data->ipv4_gateway->vpn == TRUE) { - connman_inet_set_gateway_address(data->index, - data->ipv4_gateway->vpn_ip); - connman_inet_add_host_route(data->index, - data->ipv4_gateway->vpn_ip, NULL); + connman_inet_set_gateway_interface(data->index); data->ipv4_gateway->active = TRUE; DBG("set %p index %d vpn %s index %d phy %s", @@ -428,10 +425,7 @@ static void set_default_gateway(struct gateway_data *data, if (do_ipv6 == TRUE && data->ipv6_gateway != NULL && data->ipv6_gateway->vpn == TRUE) { - connman_inet_set_ipv6_gateway_address(data->index, - data->ipv6_gateway->vpn_ip); - connman_inet_add_ipv6_host_route(data->index, - data->ipv6_gateway->vpn_ip, NULL); + connman_inet_set_ipv6_gateway_interface(data->index); data->ipv6_gateway->active = TRUE; DBG("set %p index %d vpn %s index %d phy %s", @@ -495,10 +489,7 @@ static void unset_default_gateway(struct gateway_data *data, if (do_ipv4 == TRUE && data->ipv4_gateway != NULL && data->ipv4_gateway->vpn == TRUE) { - connman_inet_del_host_route(data->index, - data->ipv4_gateway->vpn_ip); - connman_inet_clear_gateway_address(data->index, - data->ipv4_gateway->vpn_ip); + connman_inet_clear_gateway_interface(data->index); data->ipv4_gateway->active = FALSE; DBG("unset %p index %d vpn %s index %d phy %s", @@ -511,10 +502,7 @@ static void unset_default_gateway(struct gateway_data *data, if (do_ipv6 == TRUE && data->ipv6_gateway != NULL && data->ipv6_gateway->vpn == TRUE) { - connman_inet_del_ipv6_host_route(data->index, - data->ipv6_gateway->vpn_ip); - connman_inet_clear_ipv6_gateway_address(data->index, - data->ipv6_gateway->vpn_ip); + connman_inet_clear_ipv6_gateway_interface(data->index); data->ipv6_gateway->active = FALSE; DBG("unset %p index %d vpn %s index %d phy %s", -- 2.7.4