summaryrefslogtreecommitdiff
path: root/src/connection.c
diff options
context:
space:
mode:
authorJukka Rissanen <jukka.rissanen@linux.intel.com>2012-08-08 13:22:46 +0300
committerPatrik Flykt <patrik.flykt@linux.intel.com>2012-08-09 12:16:40 +0300
commitce2b475e05c1165767a251059b32d9bb22f6f864 (patch)
tree9ba200c67d56b124e817ca409000c7e6bf80f188 /src/connection.c
parentf2f387ef2b4ab36cf6017ff8c911d4e8439845a7 (diff)
downloadconnman-ce2b475e05c1165767a251059b32d9bb22f6f864.tar.gz
connman-ce2b475e05c1165767a251059b32d9bb22f6f864.tar.bz2
connman-ce2b475e05c1165767a251059b32d9bb22f6f864.zip
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.
Diffstat (limited to 'src/connection.c')
-rw-r--r--src/connection.c20
1 files changed, 4 insertions, 16 deletions
diff --git a/src/connection.c b/src/connection.c
index 2e5cea67..7212af3f 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",