networkd-wait-online: only consider interfaces given on the commandline

If some interfaces are given on the commandline, ignore all others.
This commit is contained in:
Tom Gundersen 2015-07-29 01:41:24 +02:00 committed by Daniel Mack
parent 79ac8ba973
commit be0c13707d
2 changed files with 8 additions and 1 deletions

View file

@ -80,7 +80,8 @@
several interfaces which will be configured, but a particular
one is necessary to access some network resources. This option
may be used more than once to wait for multiple network
interfaces.</para></listitem>
interfaces. When used, all other interfaces are ignored.
</para></listitem>
</varlistentry>
<varlistentry>
<term><option>--ignore=</option></term>

View file

@ -38,9 +38,15 @@ bool manager_ignore_link(Manager *m, Link *link) {
assert(m);
assert(link);
/* always ignore the loopback interface */
if (link->flags & IFF_LOOPBACK)
return true;
/* if interfaces are given on the command line, ignore all others */
if (m->interfaces && !strv_contains(m->interfaces, link->ifname))
return true;
/* ignore interfaces we explicitly are asked to ignore */
STRV_FOREACH(ignore, m->ignore)
if (fnmatch(*ignore, link->ifname, 0) == 0)
return true;