From: Tom Gundersen Date: Thu, 4 Sep 2014 11:40:24 +0000 (+0200) Subject: networkd: link - do not manage loopback links X-Git-Tag: v217~654 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=bd2efe9219a3791b47c2c5c2ef0fe2579ffd547d networkd: link - do not manage loopback links Fixes https://bugs.freedesktop.org/show_bug.cgi?id=83134. --- diff --git a/TODO b/TODO index f0f2bcb12..380fd494f 100644 --- a/TODO +++ b/TODO @@ -78,9 +78,6 @@ Features: - ipv4ll with multiple interfaces doesn't work when both dhcp and ipv4ll is used. for some reasons the kernel will currently pick an ipv4ll source address to reach non-ipv4ll gateways. - - dhcp and ipv4ll should probably be skipped for "lo" devices, even - if the user has a catchall .network file installed, that might - theoretically match it. - the DHCP lease data (such as NTP/DNS) is still made available when a carrier is lost on a link. It should be removed instantly. - .network setting that allows overriding of the hostname to send to the dhcp server diff --git a/src/network/networkd-link.c b/src/network/networkd-link.c index 1b7b1898c..f726e2b57 100644 --- a/src/network/networkd-link.c +++ b/src/network/networkd-link.c @@ -1250,6 +1250,12 @@ static int link_initialized_and_synced(sd_rtnl *rtnl, sd_rtnl_message *m, } else if (r < 0) return r; + if (link->flags & IFF_LOOPBACK) { + log_debug_link(link, "matching network ignored for loopback link"); + link_enter_unmanaged(link); + return 1; + } + r = network_apply(link->manager, network, link); if (r < 0) return r;