From: Forest Bond <forest.b...@rapidrollout.com> This reduces spurious error messages in the logs. --- src/inet.c | 28 ++++++++++++++++++++++++++++ 1 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/src/inet.c b/src/inet.c index 23b02a2..dcf8bee 100644 --- a/src/inet.c +++ b/src/inet.c @@ -555,6 +555,8 @@ int connman_inet_add_network_route(int index, const char *host, rt.rt_dev = ifr.ifr_name; err = ioctl(sk, SIOCADDRT, &rt); + if (err < 0 && errno == EEXIST) + err = 0; if (err < 0) connman_error("Adding host route failed (%s)", strerror(errno)); @@ -598,6 +600,8 @@ int connman_inet_del_network_route(int index, const char *host) rt.rt_dev = ifr.ifr_name; err = ioctl(sk, SIOCDELRT, &rt); + if (err < 0 && errno == ESRCH) + err = 0; if (err < 0) connman_error("Deleting host route failed (%s)", strerror(errno)); @@ -638,6 +642,8 @@ int connman_inet_del_ipv6_network_route(int index, const char *host, } err = ioctl(sk, SIOCDELRT, &rt); + if (err < 0 && errno == ESRCH) + err = 0; close(sk); out: if (err < 0) @@ -689,6 +695,8 @@ int connman_inet_add_ipv6_network_route(int index, const char *host, } err = ioctl(sk, SIOCADDRT, &rt); + if (err < 0 && errno == EEXIST) + err = 0; close(sk); out: if (err < 0) @@ -732,6 +740,8 @@ int connman_inet_set_ipv6_gateway_address(int index, const char *gateway) } err = ioctl(sk, SIOCADDRT, &rt); + if (err < 0 && errno == EEXIST) + err = 0; close(sk); out: if (err < 0) @@ -769,6 +779,8 @@ int connman_inet_clear_ipv6_gateway_address(int index, const char *gateway) } err = ioctl(sk, SIOCDELRT, &rt); + if (err < 0 && errno == ESRCH) + err = 0; close(sk); out: if (err < 0) @@ -820,6 +832,8 @@ int connman_inet_set_gateway_address(int index, const char *gateway) memcpy(&rt.rt_genmask, &addr, sizeof(rt.rt_genmask)); err = ioctl(sk, SIOCADDRT, &rt); + if (err < 0 && errno == EEXIST) + err = 0; if (err < 0) connman_error("Setting default gateway route failed (%s)", strerror(errno)); @@ -866,9 +880,12 @@ int connman_inet_set_gateway_interface(int index) rt.rt_dev = ifr.ifr_name; err = ioctl(sk, SIOCADDRT, &rt); + if (err < 0 && errno == EEXIST) + err = 0; if (err < 0) connman_error("Setting default interface route failed (%s)", strerror(errno)); + close(sk); return err; @@ -912,9 +929,12 @@ int connman_inet_set_ipv6_gateway_interface(int index) rt.rt_dev = ifr.ifr_name; err = ioctl(sk, SIOCADDRT, &rt); + if (err < 0 && errno == EEXIST) + err = 0; if (err < 0) connman_error("Setting default interface route failed (%s)", strerror(errno)); + close(sk); return err; @@ -962,6 +982,8 @@ int connman_inet_clear_gateway_address(int index, const char *gateway) memcpy(&rt.rt_genmask, &addr, sizeof(rt.rt_genmask)); err = ioctl(sk, SIOCDELRT, &rt); + if (err < 0 && errno == ESRCH) + err = 0; if (err < 0) connman_error("Removing default gateway route failed (%s)", strerror(errno)); @@ -1008,9 +1030,12 @@ int connman_inet_clear_gateway_interface(int index) rt.rt_dev = ifr.ifr_name; err = ioctl(sk, SIOCDELRT, &rt); + if (err < 0 && errno == ESRCH) + err = 0; if (err < 0) connman_error("Removing default interface route failed (%s)", strerror(errno)); + close(sk); return err; @@ -1054,9 +1079,12 @@ int connman_inet_clear_ipv6_gateway_interface(int index) rt.rt_dev = ifr.ifr_name; err = ioctl(sk, SIOCDELRT, &rt); + if (err < 0 && errno == ESRCH) + err = 0; if (err < 0) connman_error("Removing default interface route failed (%s)", strerror(errno)); + close(sk); return err; -- 1.7.0.4 _______________________________________________ connman mailing list connman@connman.net http://lists.connman.net/listinfo/connman