---
include/ipconfig.h | 11 ++-
plugins/ofono.c|1 +
src/ipconfig.c |9 +
src/network.c |5 +
4 files changed, 21 insertions(+), 5 deletions(-)
diff --git a/include/ipconfig.h b/include/ipconfig.h
index 01b8aaf..ed03081 100644
--- a/include/ipconfig.h
+++ b/include/ipconfig.h
@@ -56,11 +56,12 @@ enum connman_ipconfig_type {
};
enum connman_ipconfig_method {
- CONNMAN_IPCONFIG_METHOD_UNKNOWN = 0,
- CONNMAN_IPCONFIG_METHOD_OFF = 1,
- CONNMAN_IPCONFIG_METHOD_FIXED = 2,
- CONNMAN_IPCONFIG_METHOD_MANUAL = 3,
- CONNMAN_IPCONFIG_METHOD_DHCP= 4,
+ CONNMAN_IPCONFIG_METHOD_UNKNOWN = 0,
+ CONNMAN_IPCONFIG_METHOD_OFF = 1,
+ CONNMAN_IPCONFIG_METHOD_FIXED= 2,
+ CONNMAN_IPCONFIG_METHOD_MANUAL = 3,
+ CONNMAN_IPCONFIG_METHOD_DHCP = 4,
+ CONNMAN_IPCONFIG_METHOD_AUTOCONF = 5,
};
struct connman_ipconfig;
diff --git a/plugins/ofono.c b/plugins/ofono.c
index 1cb0961..fc02508 100644
--- a/plugins/ofono.c
+++ b/plugins/ofono.c
@@ -1494,6 +1494,7 @@ static void set_connected(struct connman_network *network,
case CONNMAN_IPCONFIG_METHOD_UNKNOWN:
case CONNMAN_IPCONFIG_METHOD_OFF:
case CONNMAN_IPCONFIG_METHOD_MANUAL:
+ case CONNMAN_IPCONFIG_METHOD_AUTOCONF:
return;
case CONNMAN_IPCONFIG_METHOD_FIXED:
diff --git a/src/ipconfig.c b/src/ipconfig.c
index 3c0579d..3ba83d4 100644
--- a/src/ipconfig.c
+++ b/src/ipconfig.c
@@ -1131,6 +1131,7 @@ int __connman_ipconfig_set_address(struct
connman_ipconfig *ipconfig)
case CONNMAN_IPCONFIG_METHOD_OFF:
case CONNMAN_IPCONFIG_METHOD_FIXED:
case CONNMAN_IPCONFIG_METHOD_DHCP:
+ case CONNMAN_IPCONFIG_METHOD_AUTOCONF:
break;
case CONNMAN_IPCONFIG_METHOD_MANUAL:
if (ipconfig->type == CONNMAN_IPCONFIG_TYPE_IPV4)
@@ -1158,6 +1159,7 @@ int __connman_ipconfig_clear_address(struct
connman_ipconfig *ipconfig)
case CONNMAN_IPCONFIG_METHOD_OFF:
case CONNMAN_IPCONFIG_METHOD_FIXED:
case CONNMAN_IPCONFIG_METHOD_DHCP:
+ case CONNMAN_IPCONFIG_METHOD_AUTOCONF:
break;
case CONNMAN_IPCONFIG_METHOD_MANUAL:
if (ipconfig->type == CONNMAN_IPCONFIG_TYPE_IPV4)
@@ -1339,6 +1341,8 @@ const char *__connman_ipconfig_method2string(enum
connman_ipconfig_method method
return "manual";
case CONNMAN_IPCONFIG_METHOD_DHCP:
return "dhcp";
+ case CONNMAN_IPCONFIG_METHOD_AUTOCONF:
+ return "autoconf";
}
return NULL;
@@ -1354,6 +1358,8 @@ enum connman_ipconfig_method
__connman_ipconfig_string2method(const char *method
return CONNMAN_IPCONFIG_METHOD_MANUAL;
else if (g_strcmp0(method, "dhcp") == 0)
return CONNMAN_IPCONFIG_METHOD_DHCP;
+ else if (g_strcmp0(method, "autoconf") == 0)
+ return CONNMAN_IPCONFIG_METHOD_AUTOCONF;
else
return CONNMAN_IPCONFIG_METHOD_UNKNOWN;
}
@@ -1449,6 +1455,7 @@ void __connman_ipconfig_append_ipv6config(struct
connman_ipconfig *ipconfig,
return;
case CONNMAN_IPCONFIG_METHOD_FIXED:
case CONNMAN_IPCONFIG_METHOD_MANUAL:
+ case CONNMAN_IPCONFIG_METHOD_AUTOCONF:
break;
}
@@ -1486,6 +1493,7 @@ void __connman_ipconfig_append_ipv4config(struct
connman_ipconfig *ipconfig,
case CONNMAN_IPCONFIG_METHOD_OFF:
case CONNMAN_IPCONFIG_METHOD_FIXED:
case CONNMAN_IPCONFIG_METHOD_DHCP:
+ case CONNMAN_IPCONFIG_METHOD_AUTOCONF:
return;
case CONNMAN_IPCONFIG_METHOD_MANUAL:
break;
@@ -1594,6 +1602,7 @@ int __connman_ipconfig_set_config(struct connman_ipconfig
*ipconfig,
case CONNMAN_IPCONFIG_METHOD_UNKNOWN:
case CONNMAN_IPCONFIG_METHOD_OFF:
case CONNMAN_IPCONFIG_METHOD_FIXED:
+ case CONNMAN_IPCONFIG_METHOD_AUTOCONF:
return -EINVAL;
case CONNMAN_IPCONFIG_METHOD_MANUAL:
diff --git a/src/network.c b/src/network.c
index 57d873a..8083c7b 100644
--- a/src/network.c
+++ b/src/network.c
@@ -760,6 +760,7 @@ static gboolean set_connected(gpointer user_data)
break;
case CONNMAN_IPCONFIG_METHOD_FIXED:
case CONNMAN_IPCONFIG_METHOD_MANUAL:
+ case CONNMAN_IPCONFIG_METHOD_AUTOCONF:
ret = manual_ipv6_set(network, ipconfig_ipv6);
if (ret != 0) {
connman_network_set_error(network,
@@ -774,6 +775,7 @@ static gboolean set_connected(gpointer user_data)
switch (ipv4_method) {
case CONNMAN_IPCONFIG_METHOD_UNKNOWN:
case CONNMAN_IPCONFIG_METHOD_OFF:
+ case CONNMAN_IPCONFIG_METHOD_AUTOCONF:
return FALSE;
case CONNMAN_IPCONF