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

Reply via email to