index, type, type2str(type));
update:
+ if (ipdevice->config != NULL) {
+ g_free(ipdevice->config->eth);
+ ipdevice->config->eth = g_strdup(address);
+ ipdevice->config->mtu = mtu;
+ }
+
if (flags == ipdevice->flags)
return;
if (index != ipconfig->index)
continue;
- g_free(ipconfig->eth);
- ipconfig->eth = g_strdup(address);
- ipconfig->mtu = mtu;
-
if (up == TRUE && ipconfig->ops->up)
ipconfig->ops->up(ipconfig);
if (lower_up == TRUE && ipconfig->ops->lower_up)
{
struct connman_service *service = user_data;
+ switch (service->state) {
+ case CONNMAN_SERVICE_STATE_UNKNOWN:
+ case CONNMAN_SERVICE_STATE_IDLE:
+ case CONNMAN_SERVICE_STATE_FAILURE:
+ case CONNMAN_SERVICE_STATE_DISCONNECT:
+ return;
+ case CONNMAN_SERVICE_STATE_ASSOCIATION:
+ case CONNMAN_SERVICE_STATE_CONFIGURATION:
+ case CONNMAN_SERVICE_STATE_READY:
+ break;
+ }
+
if (service->ipconfig != NULL)
__connman_ipconfig_append_ethernet(service->ipconfig, iter);
}