Setting routes to nameservers need special setup if the
nameservers are behind point-to-point link, the gateway
must not be set in this case.
---
 src/service.c |   19 +++++++++++++------
 1 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/src/service.c b/src/service.c
index ba35dc9..c83cbd9 100644
--- a/src/service.c
+++ b/src/service.c
@@ -976,12 +976,19 @@ static void nameserver_add_routes(int index, char 
**nameservers,
 
                if (family == AF_INET) {
                        if (connman_inet_compare_subnet(index,
-                                               nameservers[i]) != TRUE)
-                               connman_inet_add_host_route(index,
-                                                       nameservers[i], gw);
-               } else if (family == AF_INET6)
-                       connman_inet_add_ipv6_host_route(index,
-                                                       nameservers[i], gw);
+                                               nameservers[i]) != TRUE) {
+                               if (connman_inet_add_host_route(index,
+                                               nameservers[i], gw) < 0)
+                                       /* For P-t-P the above will fail */
+                                       connman_inet_add_host_route(index,
+                                                       nameservers[i], NULL);
+                       }
+               } else if (family == AF_INET6) {
+                       if (connman_inet_add_ipv6_host_route(index,
+                                               nameservers[i], gw) < 0)
+                               connman_inet_add_ipv6_host_route(index,
+                                                       nameservers[i], NULL);
+               }
 
                freeaddrinfo(addr);
        }
-- 
1.7.5.4

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to