diff options
-rw-r--r-- | new/org.freedesktop.ModemManager1.Bearer.xml | 7 | ||||
-rw-r--r-- | src/mm-bearer.c | 4 |
2 files changed, 11 insertions, 0 deletions
diff --git a/new/org.freedesktop.ModemManager1.Bearer.xml b/new/org.freedesktop.ModemManager1.Bearer.xml index 68c51e1d..e771a98e 100644 --- a/new/org.freedesktop.ModemManager1.Bearer.xml +++ b/new/org.freedesktop.ModemManager1.Bearer.xml @@ -220,6 +220,13 @@ <property name="Ip6Config" type="a{sv}" access="read" /> <!-- + IpTimeout: + + Maximum time to wait for a successful IP establishment, when PPP is used. + --> + <property name="IpTimeout" type="u" access="read" /> + + <!-- Properties: List of properties used when creating the bearer. diff --git a/src/mm-bearer.c b/src/mm-bearer.c index 5506d2c7..b14f4789 100644 --- a/src/mm-bearer.c +++ b/src/mm-bearer.c @@ -34,6 +34,9 @@ #include "mm-log.h" #include "mm-modem-helpers.h" +/* We require up to 20s to get a proper IP when using PPP */ +#define MM_BEARER_IP_TIMEOUT_DEFAULT 20 + G_DEFINE_TYPE (MMBearer, mm_bearer, MM_GDBUS_TYPE_BEARER_SKELETON); enum { @@ -650,6 +653,7 @@ mm_bearer_init (MMBearer *self) mm_gdbus_bearer_set_connected (MM_GDBUS_BEARER (self), FALSE); mm_gdbus_bearer_set_suspended (MM_GDBUS_BEARER (self), FALSE); mm_gdbus_bearer_set_properties (MM_GDBUS_BEARER (self), NULL); + mm_gdbus_bearer_set_ip_timeout (MM_GDBUS_BEARER (self), MM_BEARER_IP_TIMEOUT_DEFAULT); mm_gdbus_bearer_set_ip4_config (MM_GDBUS_BEARER (self), mm_common_bearer_ip_config_get_dictionary (NULL)); mm_gdbus_bearer_set_ip6_config (MM_GDBUS_BEARER (self), |