From e7ab854c6cff0d7330d4ddf2d89bf431ca9a0939 Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Tue, 10 Nov 2015 21:30:59 +0100 Subject: networkd: link - track state of IPv6LL address This is managed by the kernel, but we should track whether or not we have a configured IPv6LL address. This fixes two issues: - we now wait for IPv6LL before considering the link ready - we now wait for IPv6LL before attempting to do NDisc or DHCPv6 these protocols relies on an LL address being available. --- src/network/networkd-link.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/network/networkd-link.h') diff --git a/src/network/networkd-link.h b/src/network/networkd-link.h index 440e33227a..b564bcbca0 100644 --- a/src/network/networkd-link.h +++ b/src/network/networkd-link.h @@ -99,8 +99,9 @@ struct Link { bool ndisc_configured; sd_ipv4ll *ipv4ll; - bool ipv4ll_address; - bool ipv4ll_route; + bool ipv4ll_address:1; + bool ipv4ll_route:1; + bool ipv6ll_address:1; bool static_configured; @@ -143,6 +144,8 @@ int link_save(Link *link); int link_carrier_reset(Link *link); bool link_has_carrier(Link *link); +int link_ipv6ll_gained(Link *link); + int link_set_mtu(Link *link, uint32_t mtu); int link_set_hostname(Link *link, const char *hostname); int link_set_timezone(Link *link, const char *timezone); -- cgit v1.2.3-54-g00ecf