Bug#869995: interface stays in "routable (configuring)", systemd-networkd-wait-online.service in failed state
Marc Haber
mh+debian-bugs at zugschlus.de
Mon Sep 25 07:50:33 BST 2017
tags #869995 patch
thanks
I have worked in the last days with Susant Sahani to isolate this
issue and can confirm that his patches:
https://github.com/systemd/systemd/pull/6907/commits/e6800d3cfb48542634c25c24a6aae7587d97eb4f
https://github.com/systemd/systemd/pull/6907/commits/c46530942bc0837379eae8bfd48b4673c46a6e0c
do fix the issue for me.
A quilt file for the Debian package is attached, I can confirm that
this, applied to systemd 234-3, solves the issue on Debian.
Greetings
Marc
-------------- next part --------------
--- a/src/network/networkd-address.c
+++ b/src/network/networkd-address.c
@@ -930,7 +930,10 @@ int config_parse_address_flags(const cha
bool address_is_ready(const Address *a) {
assert(a);
- return !(a->flags & (IFA_F_TENTATIVE | IFA_F_DEPRECATED));
+ if (a->family == AF_INET6)
+ return !(a->flags & (IFA_F_TENTATIVE));
+ else
+ return !(a->flags & (IFA_F_TENTATIVE | IFA_F_DEPRECATED));
}
int config_parse_router_preference(const char *unit,
--- a/src/network/networkd-ndisc.c
+++ b/src/network/networkd-ndisc.c
@@ -186,6 +186,10 @@ static void ndisc_router_process_autonom
return;
}
+ /* The preferred lifetime is never greater than the valid lifetime */
+ if (lifetime_preferred > lifetime_valid)
+ return;
+
r = address_new(&address);
if (r < 0) {
log_link_error_errno(link, r, "Could not allocate address: %m");
More information about the Pkg-systemd-maintainers
mailing list