summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2014-02-28 10:22:28 -0600
committerDan Williams <dcbw@redhat.com>2014-06-13 11:30:49 -0500
commit7673a1d3a35c3e0a26301b5c605b2f68d4b58de1 (patch)
treed118edbc5bf5540d52b97d0e2545728274d8d1a7
parent33eba0393d259b6dc97e991be6c1dc4585e15f5d (diff)
bearer-mbim: use DHCP method when only an IPv6 link-local address is found
When only given a link-local address, then SLAAC must be used to retrieve the real prefix.
-rw-r--r--src/mm-bearer-mbim.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/mm-bearer-mbim.c b/src/mm-bearer-mbim.c
index b1e3176c..c25b2811 100644
--- a/src/mm-bearer-mbim.c
+++ b/src/mm-bearer-mbim.c
@@ -370,6 +370,14 @@ ip_configuration_query_ready (MbimDevice *device,
str = g_inet_address_to_string (addr);
mm_bearer_ip_config_set_address (ipv6_config, str);
g_free (str);
+
+ /* If the address is a link-local one, then SLAAC or DHCP must be used
+ * to get the real prefix and address. Change the method to DHCP to
+ * indicate this to clients.
+ */
+ if (g_inet_address_get_is_link_local (addr))
+ mm_bearer_ip_config_set_method (ipv6_config, MM_BEARER_IP_METHOD_DHCP);
+
g_object_unref (addr);
/* Netmask */