blob: bd958fb1e0152905dd027e2a43f7ce98309202ad [file] [log] [blame] [raw]
<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
<!-- SPDX-License-Identifier: LGPL-2.1+ -->
<refentry id="networkctl" conditional='ENABLE_NETWORKD'
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo>
<title>networkctl</title>
<productname>systemd</productname>
</refentryinfo>
<refmeta>
<refentrytitle>networkctl</refentrytitle>
<manvolnum>1</manvolnum>
</refmeta>
<refnamediv>
<refname>networkctl</refname>
<refpurpose>Query the status of network links</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>networkctl</command>
<arg choice="opt" rep="repeat">OPTIONS</arg>
<arg choice="plain">COMMAND</arg>
<arg choice="opt" rep="repeat">LINK</arg>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1>
<title>Description</title>
<para><command>networkctl</command> may be used to introspect the
state of the network links as seen by
<command>systemd-networkd</command>. Please refer to
<citerefentry><refentrytitle>systemd-networkd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
for an introduction to the basic concepts, functionality, and
configuration syntax.</para>
</refsect1>
<refsect1>
<title>Commands</title>
<para>The following commands are understood:</para>
<variablelist>
<varlistentry>
<term>
<command>list</command>
<optional><replaceable>PATTERN…</replaceable></optional>
</term>
<listitem>
<para>Show a list of existing links and their status. If one ore more
<replaceable>PATTERN</replaceable>s are specified, only links matching one of them are shown.
If no further arguments are specified shows all links,
otherwise just the specified links. Produces output similar to:
<programlisting>IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier unmanaged
2 eth0 ether routable configured
3 virbr0 ether no-carrier unmanaged
4 virbr0-nic ether off unmanaged
4 links listed.</programlisting></para>
<para>The operational status is one of the following:
<variablelist>
<varlistentry>
<term>missing</term>
<listitem>
<para>the device is missing</para>
</listitem>
</varlistentry>
<varlistentry>
<term>off</term>
<listitem>
<para>the device is powered down</para>
</listitem>
</varlistentry>
<varlistentry>
<term>no-carrier</term>
<listitem>
<para>the device is powered up, but it does not yet have a carrier</para>
</listitem>
</varlistentry>
<varlistentry>
<term>dormant</term>
<listitem>
<para>the device has a carrier, but is not yet ready for normal traffic</para>
</listitem>
</varlistentry>
<varlistentry>
<term>degraded-carrier</term>
<listitem>
<para>for bond or bridge master, one of the bonding or bridge slave network interfaces is
in off, no-carrier, or dormant state</para>
</listitem>
</varlistentry>
<varlistentry>
<term>carrier</term>
<listitem>
<para>the link has a carrier, or for bond or bridge master, all bonding or bridge slave
network interfaces are enslaved to the master.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>degraded</term>
<listitem>
<para>the link has carrier and addresses valid on the local link configured</para>
</listitem>
</varlistentry>
<varlistentry>
<term>enslaved</term>
<listitem>
<para>the link has carrier and is enslaved to bond or bridge master network interface</para>
</listitem>
</varlistentry>
<varlistentry>
<term>routable</term>
<listitem>
<para>the link has carrier and routable address configured</para>
</listitem>
</varlistentry>
</variablelist>
</para>
<para>The setup status is one of the following:
<variablelist>
<varlistentry>
<term>pending</term>
<listitem>
<para>udev is still processing the link, we don't yet know if we will manage it</para>
</listitem>
</varlistentry>
<varlistentry>
<term>failed</term>
<listitem>
<para>networkd failed to manage the link</para>
</listitem>
</varlistentry>
<varlistentry>
<term>configuring</term>
<listitem>
<para>in the process of retrieving configuration or configuring the link</para>
</listitem>
</varlistentry>
<varlistentry>
<term>configured</term>
<listitem>
<para>link configured successfully</para>
</listitem>
</varlistentry>
<varlistentry>
<term>unmanaged</term>
<listitem>
<para>networkd is not handling the link</para>
</listitem>
</varlistentry>
<varlistentry>
<term>linger</term>
<listitem>
<para>the link is gone, but has not yet been dropped by networkd</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>status</command>
<optional><replaceable>PATTERN…</replaceable></optional>
</term>
<listitem>
<para>Show information about the specified links: type, state, kernel module driver, hardware and
IP address, configured DNS servers, etc. If one ore more <replaceable>PATTERN</replaceable>s are
specified, only links matching one of them are shown.</para>
<para>When no links are specified, an overall network status is shown. Also see the option
<option>--all</option>.</para>
<para>Produces output similar to:
<programlisting>
● State: routable
Address: 10.193.76.5 on eth0
192.168.122.1 on virbr0
169.254.190.105 on eth0
fe80::5054:aa:bbbb:cccc on eth0
Gateway: 10.193.11.1 (CISCO SYSTEMS, INC.) on eth0
DNS: 8.8.8.8
8.8.4.4</programlisting></para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>lldp</command>
<optional><replaceable>PATTERN…</replaceable></optional>
</term>
<listitem>
<para>Show discovered LLDP (Link Layer Discovery Protocol) neighbors. If one or more
<replaceable>PATTERN</replaceable>s are specified only neighbors on those interfaces are shown.
Otherwise shows discovered neighbors on all interfaces. Note that for this feature to work,
<varname>LLDP=</varname> must be turned on for the specific interface, see
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry> for
details.</para>
<para>Produces output similar to:
<programlisting>LINK CHASSIS ID SYSTEM NAME CAPS PORT ID PORT DESCRIPTION
enp0s25 00:e0:4c:00:00:00 GS1900 ..b........ 2 Port #2
Capability Flags:
o - Other; p - Repeater; b - Bridge; w - WLAN Access Point; r - Router;
t - Telephone; d - DOCSIS cable device; a - Station; c - Customer VLAN;
s - Service VLAN, m - Two-port MAC Relay (TPMR)
1 neighbors listed.</programlisting></para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>label</command>
</term>
<listitem><para>Show numerical address labels that can be used for address selection.
This is the same information that
<citerefentry project='die-net'><refentrytitle>ip-addrlabel</refentrytitle><manvolnum>8</manvolnum></citerefentry>
shows. See <ulink url="https://tools.ietf.org/html/rfc3484">RFC 3484</ulink>
for a discussion of address labels.</para>
<para>Produces output similar to:
<programlisting>Prefix/Prefixlen Label
::/0 1
fc00::/7 5
fec0::/10 11
2002::/16 2
3ffe::/16 12
2001:10::/28 7
2001::/32 6
::ffff:0.0.0.0/96 4
::/96 3
::1/128 0</programlisting></para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<command>delete</command>
</term>
<listitem><para>Deletes virtual netdevs. Takes interface name or index number.</para></listitem>
</varlistentry>
<varlistentry>
<term>
<command>up</command>
</term>
<listitem><para>Bring devices up. Takes interface name or index number.</para></listitem>
</varlistentry>
<varlistentry>
<term>
<command>down</command>
</term>
<listitem><para>Bring devices down. Takes interface name or index number.</para></listitem>
</varlistentry>
<varlistentry>
<term>
<command>renew</command>
</term>
<listitem><para>Renew dynamic configurations e.g. addresses received from DHCP server.
Takes interface name or index number.</para></listitem>
</varlistentry>
<varlistentry>
<term>
<command>forcerenew</command>
</term>
<listitem><para>Send a FORCERENEW message to all connected clients, triggering DHCP reconfiguration.
Takes interface name or index number.</para></listitem>
</varlistentry>
<varlistentry>
<term>
<command>reconfigure</command>
</term>
<listitem><para>Reconfigure network interfaces. Takes interface name or index number.</para></listitem>
</varlistentry>
<varlistentry>
<term>
<command>reload</command>
</term>
<listitem><para>Reload <filename>.netdev</filename> and <filename>.network</filename> files.
If a new <filename>.netdev</filename> file is found, then the corresponding netdev is created.
Note that even if an existing <filename>.netdev</filename> is modified or removed,
<command>systemd-networkd</command> does not update or remove the netdev.
If a new, modified or removed <filename>.network</filename> file is found, then all interfaces
which match the file are reconfigured.</para></listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1>
<title>Options</title>
<para>The following options are understood:</para>
<variablelist>
<varlistentry>
<term>
<option>-a</option>
<option>--all</option>
</term>
<listitem>
<para>Show all links with <command>status</command>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<option>-s</option>
<option>--stats</option>
</term>
<listitem>
<para>Show link statistics with <command>status</command>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-l</option></term>
<term><option>--full</option></term>
<listitem>
<para>Do not ellipsize the output.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>-n</option></term>
<term><option>--lines=</option></term>
<listitem>
<para>When used with <command>status</command>, controls the number of journal lines to show,
counting from the most recent ones. Takes a positive integer argument. Defaults to 10.</para>
</listitem>
</varlistentry>
<xi:include href="standard-options.xml" xpointer="help" />
<xi:include href="standard-options.xml" xpointer="version" />
<xi:include href="standard-options.xml" xpointer="no-legend" />
<xi:include href="standard-options.xml" xpointer="no-pager" />
</variablelist>
</refsect1>
<refsect1>
<title>Exit status</title>
<para>On success, 0 is returned, a non-zero failure code otherwise.</para>
</refsect1>
<refsect1>
<title>See Also</title>
<para>
<citerefentry><refentrytitle>systemd-networkd.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>systemd.netdev</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry project='die-net'><refentrytitle>ip</refentrytitle><manvolnum>8</manvolnum></citerefentry>
</para>
</refsect1>
</refentry>