diff options
author | Lennart Poettering <lennart@poettering.net> | 2017-11-20 19:20:23 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-20 19:20:23 +0100 |
commit | 4ff971ac084526e12e6234abf8f9e4312d17e36c (patch) | |
tree | 3feab1a998cc1095f414aaf41202658ec9e081dc /src/network/networkd-link.c | |
parent | e87e2b78f70dba836355ceb0fdb07d1334ea8648 (diff) | |
parent | 5971cb9de9081b537945d28895df70992e5664d0 (diff) | |
download | systemd-4ff971ac084526e12e6234abf8f9e4312d17e36c.tar.gz |
Merge pull request #6918 from ssahani/issue-5625
networkd: ndisc - do not stop ndisc client incase of conf error.
Diffstat (limited to 'src/network/networkd-link.c')
-rw-r--r-- | src/network/networkd-link.c | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index dd6bed5515..b8426070de 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -747,20 +747,23 @@ void link_check_ready(Link *link) { !link->ipv4ll_route) return; - if (link_ipv6ll_enabled(link)) - if (in_addr_is_null(AF_INET6, (const union in_addr_union*) &link->ipv6ll_address) > 0) + if (!link->network->bridge) { + + if (link_ipv6ll_enabled(link)) + if (in_addr_is_null(AF_INET6, (const union in_addr_union*) &link->ipv6ll_address) > 0) + return; + + if ((link_dhcp4_enabled(link) && !link_dhcp6_enabled(link) && + !link->dhcp4_configured) || + (link_dhcp6_enabled(link) && !link_dhcp4_enabled(link) && + !link->dhcp6_configured) || + (link_dhcp4_enabled(link) && link_dhcp6_enabled(link) && + !link->dhcp4_configured && !link->dhcp6_configured)) return; - if ((link_dhcp4_enabled(link) && !link_dhcp6_enabled(link) && - !link->dhcp4_configured) || - (link_dhcp6_enabled(link) && !link_dhcp4_enabled(link) && - !link->dhcp6_configured) || - (link_dhcp4_enabled(link) && link_dhcp6_enabled(link) && - !link->dhcp4_configured && !link->dhcp6_configured)) - return; - - if (link_ipv6_accept_ra_enabled(link) && !link->ndisc_configured) - return; + if (link_ipv6_accept_ra_enabled(link) && !link->ndisc_configured) + return; + } SET_FOREACH(a, link->addresses, i) if (!address_is_ready(a)) |