summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2017-11-20 19:20:23 +0100
committerGitHub <noreply@github.com>2017-11-20 19:20:23 +0100
commit4ff971ac084526e12e6234abf8f9e4312d17e36c (patch)
tree3feab1a998cc1095f414aaf41202658ec9e081dc /src
parente87e2b78f70dba836355ceb0fdb07d1334ea8648 (diff)
parent5971cb9de9081b537945d28895df70992e5664d0 (diff)
downloadsystemd-4ff971ac084526e12e6234abf8f9e4312d17e36c.tar.gz
systemd-4ff971ac084526e12e6234abf8f9e4312d17e36c.tar.bz2
systemd-4ff971ac084526e12e6234abf8f9e4312d17e36c.zip
Merge pull request #6918 from ssahani/issue-5625
networkd: ndisc - do not stop ndisc client incase of conf error.
Diffstat (limited to 'src')
-rw-r--r--src/network/networkd-link.c27
-rw-r--r--src/network/networkd-ndisc.c4
2 files changed, 16 insertions, 15 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))
diff --git a/src/network/networkd-ndisc.c b/src/network/networkd-ndisc.c
index 162f2ea0b1..8d31accd5c 100644
--- a/src/network/networkd-ndisc.c
+++ b/src/network/networkd-ndisc.c
@@ -40,10 +40,8 @@ static int ndisc_netlink_handler(sd_netlink *rtnl, sd_netlink_message *m, void *
link->ndisc_messages--;
r = sd_netlink_message_get_errno(m);
- if (r < 0 && r != -EEXIST) {
+ if (r < 0 && r != -EEXIST)
log_link_error_errno(link, r, "Could not set NDisc route or address: %m");
- link_enter_failed(link);
- }
if (link->ndisc_messages == 0) {
link->ndisc_configured = true;