A plain ini-style text file that encodes configuration about a
virtual network device, used by systemd-networkd(8). See
systemd.syntax(7) for a general description of the syntax.
The main Virtual Network Device file must have the extension
.netdev; other extensions are ignored. Virtual network devices
are created as soon as networkd is started. If a netdev with the
specified name already exists, networkd will use that as-is
rather than create its own. Note that the settings of the
pre-existing netdev will not be changed by networkd.
The .netdev files are read from the files located in the system
network directory /usr/lib/systemd/network, the volatile runtime
network directory /run/systemd/network and the local
administration network directory /etc/systemd/network. All
configuration files are collectively sorted and processed in
lexical order, regardless of the directories in which they live.
However, files with identical filenames replace each other. Files
in /etc/ have the highest priority, files in /run/ take
precedence over files with the same name in /usr/lib/. This can
be used to override a system-supplied configuration file with a
local file if needed. As a special case, an empty file (file size
0) or symlink with the same name pointing to /dev/null disables
the configuration file entirely (it is "masked").
Along with the netdev file foo.netdev, a "drop-in" directory
foo.netdev.d/ may exist. All files with the suffix ".conf" from
this directory will be merged in the alphanumeric order and
parsed after the main file itself has been parsed. This is useful
to alter or add configuration settings, without having to modify
the main configuration file. Each drop-in file must have
appropriate section headers.
In addition to /etc/systemd/network, drop-in ".d" directories can
be placed in /usr/lib/systemd/network or /run/systemd/network
directories. Drop-in files in /etc/ take precedence over those in
/run/ which in turn take precedence over those in /usr/lib/.
Drop-in files under any of these directories take precedence over
the main netdev file wherever located. (Of course, since /run/ is
temporary and /usr/lib/ is for vendors, it is unlikely drop-ins
should be used in either of those places.)