<?xml version='1.0'?> <!--*- Mode: nxml; nxml-child-indent: 2; indent-tabs-mode: nil -*-->
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">

<!--
  This file is part of systemd.

  Copyright 2015 Zbigniew Jędrzejewski-Szmek

  systemd is free software; you can redistribute it and/or modify it
  under the terms of the GNU Lesser General Public License as published by
  the Free Software Foundation; either version 2.1 of the License, or
  (at your option) any later version.

  systemd is distributed in the hope that it will be useful, but
  WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public License
  along with systemd; If not, see <http://www.gnu.org/licenses/>.
-->

<refentry id="networkctl" conditional='ENABLE_NETWORKD'
          xmlns:xi="http://www.w3.org/2001/XInclude">

  <refentryinfo>
    <title>networkctl</title>
    <productname>systemd</productname>

    <authorgroup>
      <author>
        <contrib>Documentation</contrib>
        <firstname>Zbigniew</firstname>
        <surname>Jędrzejewski-Szmek</surname>
        <email>zbyszek@in.waw.pl</email>
      </author>
    </authorgroup>
  </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>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>

      <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>Commands</title>

    <para>The following commands are understood:</para>

    <variablelist>
      <varlistentry>
        <term>
          <command>list</command>
          <optional><replaceable>LINK...</replaceable></optional>
        </term>

        <listitem>
          <para>Show a list of existing links and their status. 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>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>
          <command>status</command>
          <optional><replaceable>LINK...</replaceable></optional>
        </term>

        <listitem>
          <para>Show information about the specified links: type,
          state, kernel module driver, hardware and IP address,
          configured DNS servers, etc.</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>LINK...</replaceable></optional>
        </term>

        <listitem>
          <para>Show discovered LLDP (Link Layer Discovery Protocol) neighbors. If one or more link names 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 on 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>
    </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>
    </para>
  </refsect1>
</refentry>
