return ipconfig ? ipconfig->type : CONNMAN_IPCONFIG_TYPE_UNKNOWN;
}
-unsigned short __connman_ipconfig_get_type(int index)
+unsigned short __connman_ipconfig_get_type_from_index(int index)
{
struct connman_ipdevice *ipdevice;
return ipdevice->type;
}
-unsigned int __connman_ipconfig_get_flags(int index)
+unsigned int __connman_ipconfig_get_flags_from_index(int index)
{
struct connman_ipdevice *ipdevice;
return ipdevice->flags;
}
-const char *__connman_ipconfig_get_gateway(int index)
+const char *__connman_ipconfig_get_gateway_from_index(int index)
{
struct connman_ipdevice *ipdevice;
if (ipconfig->method == CONNMAN_IPCONFIG_METHOD_OFF)
disable_ipv6(ipconfig);
else if (ipconfig->method == CONNMAN_IPCONFIG_METHOD_AUTO ||
- ipconfig->method == CONNMAN_IPCONFIG_METHOD_MANUAL)
+ ipconfig->method == CONNMAN_IPCONFIG_METHOD_MANUAL) {
enable_ipv6(ipconfig);
+ __connman_ipconfig_enable(ipconfig);
+
+ if (ipconfig->ops_data) {
+ struct connman_service *service =
+ ipconfig->ops_data;
+ struct connman_network *network;
+ network = __connman_service_get_network(
+ service);
+ if (network)
+ __connman_network_set_ipconfig(network,
+ NULL, ipconfig);
+ }
+ }
}
g_free(method);