err = ioctl(sk, SIOCADDRT, &rt);
if (err < 0)
- DBG("default route setting failed (%s)", strerror(errno));
+ connman_error("Setting default route failed (%s)",
+ strerror(errno));
close(sk);
err = ioctl(sk, SIOCDELRT, &rt);
if (err < 0)
- DBG("default route removal failed (%s)", strerror(errno));
+ connman_error("Removing default route failed (%s)",
+ strerror(errno));
close(sk);
static void new_default(struct connman_element *element, gpointer user_data)
{
+ struct connman_service *service;
const char *gateway;
DBG("element %p name %s", element, element->name);
if (gateway == NULL)
return;
- set_route(element, gateway);
+ if (set_route(element, gateway) < 0)
+ return;
+
+ service = __connman_element_get_service(element);
+ __connman_service_indicate_default(service);
connman_element_set_enabled(element, TRUE);
emit_default_signal(element);
return 0;
}
- set_route(element, gateway);
+ if (set_route(element, gateway) < 0)
+ return 0;
done:
+ service = __connman_element_get_service(element);
+ __connman_service_indicate_default(service);
+
connman_element_set_enabled(element, TRUE);
emit_default_signal(element);
connman_bool_t carrier);
int __connman_service_indicate_state(struct connman_service *service,
enum connman_service_state state);
+int __connman_service_indicate_default(struct connman_service *service);
#include <connman/notifier.h>