networkd: consider various IPv6 features as disabled if IPv6 is not available in...
authorLennart Poettering <lennart@poettering.net>
Wed, 20 Apr 2016 13:32:24 +0000 (15:32 +0200)
committerLennart Poettering <lennart@poettering.net>
Fri, 22 Apr 2016 14:06:20 +0000 (16:06 +0200)
src/network/networkd-link.c

index 5cdf123..5101d55 100644 (file)
@@ -42,6 +42,9 @@
 static bool link_dhcp6_enabled(Link *link) {
         assert(link);
 
+        if (!socket_ipv6_is_supported())
+                return false;
+
         if (link->flags & IFF_LOOPBACK)
                 return false;
 
@@ -90,6 +93,9 @@ static bool link_ipv4ll_enabled(Link *link) {
 static bool link_ipv6ll_enabled(Link *link) {
         assert(link);
 
+        if (!socket_ipv6_is_supported())
+                return false;
+
         if (link->flags & IFF_LOOPBACK)
                 return false;
 
@@ -192,6 +198,9 @@ static bool link_proxy_arp_enabled(Link *link) {
 static bool link_ipv6_accept_ra_enabled(Link *link) {
         assert(link);
 
+        if (!socket_ipv6_is_supported())
+                return false;
+
         if (link->flags & IFF_LOOPBACK)
                 return false;
 
@@ -214,6 +223,7 @@ static bool link_ipv6_accept_ra_enabled(Link *link) {
 }
 
 static IPv6PrivacyExtensions link_ipv6_privacy_extensions(Link *link) {
+        assert(link);
 
         if (!socket_ipv6_is_supported())
                 return _IPV6_PRIVACY_EXTENSIONS_INVALID;