org.freedesktop.network1

systemd
org.freedesktop.network1 5
org.freedesktop.network1 The D-Bus interface of systemd-networkd

## Introduction

systemd-networkd.service 8 is a system service that manages and configures network interfaces. This page describes the D-Bus interface.

## The Manager Object

The service exposes the following interfaces on the Manager object on the bus:

    node /org/freedesktop/network1 {
      interface org.freedesktop.network1.Manager {
        methods:
          ListLinks(out a(iso) links);
          GetLinkByName(in  s name,
                        out i ifindex,
                        out o path);
          GetLinkByIndex(in  i ifindex,
                         out s name,
                         out o path);
          SetLinkNTP(in  i ifindex,
                     in  as servers);
          SetLinkDNS(in  i ifindex,
                     in  a(iay) addresses);
          SetLinkDNSEx(in  i ifindex,
                       in  a(iayqs) addresses);
          SetLinkDomains(in  i ifindex,
                         in  a(sb) domains);
          SetLinkDefaultRoute(in  i ifindex,
                              in  b enable);
          SetLinkLLMNR(in  i ifindex,
                       in  s mode);
          SetLinkMulticastDNS(in  i ifindex,
                              in  s mode);
          SetLinkDNSOverTLS(in  i ifindex,
                            in  s mode);
          SetLinkDNSSEC(in  i ifindex,
                        in  s mode);
          SetLinkDNSSECNegativeTrustAnchors(in  i ifindex,
                                            in  as names);
          RevertLinkNTP(in  i ifindex);
          RevertLinkDNS(in  i ifindex);
          RenewLink(in  i ifindex);
          ForceRenewLink(in  i ifindex);
          ReconfigureLink(in  i ifindex);
          Reload();
          DescribeLink(in  i ifindex,
                       out s json);
          Describe(out s json);
        properties:
          readonly s OperationalState = '...';
          readonly s CarrierState = '...';
          readonly s AddressState = '...';
          readonly s IPv4AddressState = '...';
          readonly s IPv6AddressState = '...';
          readonly s OnlineState = '...';
          @org.freedesktop.DBus.Property.EmitsChangedSignal("const")
          readonly t NamespaceId = ...;
      };
      interface org.freedesktop.DBus.Peer { ... };
      interface org.freedesktop.DBus.Introspectable { ... };
      interface org.freedesktop.DBus.Properties { ... };
    };

Provides information about the manager.

## Link Object

    node /org/freedesktop/network1/link/_1 {
      interface org.freedesktop.network1.Link {
        methods:
          SetNTP(in  as servers);
          SetDNS(in  a(iay) addresses);
          SetDNSEx(in  a(iayqs) addresses);
          SetDomains(in  a(sb) domains);
          SetDefaultRoute(in  b enable);
          SetLLMNR(in  s mode);
          SetMulticastDNS(in  s mode);
          SetDNSOverTLS(in  s mode);
          SetDNSSEC(in  s mode);
          SetDNSSECNegativeTrustAnchors(in  as names);
          RevertNTP();
          RevertDNS();
          Renew();
          ForceRenew();
          Reconfigure();
          Describe(out s json);
        properties:
          readonly s OperationalState = '...';
          readonly s CarrierState = '...';
          readonly s AddressState = '...';
          readonly s IPv4AddressState = '...';
          readonly s IPv6AddressState = '...';
          readonly s OnlineState = '...';
          readonly s AdministrativeState = '...';
          @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
          readonly (tt) BitRates = ...;
      };
      interface org.freedesktop.DBus.Peer { ... };
      interface org.freedesktop.DBus.Introspectable { ... };
      interface org.freedesktop.DBus.Properties { ... };
      interface org.freedesktop.network1.DHCPServer { ... };
    };

Provides information about interfaces.

## Network Object

    node /org/freedesktop/network1/network/_1 {
      interface org.freedesktop.network1.Network {
        properties:
          @org.freedesktop.DBus.Property.EmitsChangedSignal("const")
          readonly s Description = '...';
          @org.freedesktop.DBus.Property.EmitsChangedSignal("const")
          readonly s SourcePath = '...';
          @org.freedesktop.DBus.Property.EmitsChangedSignal("const")
          readonly as MatchMAC = ['...', ...];
          @org.freedesktop.DBus.Property.EmitsChangedSignal("const")
          readonly as MatchPath = ['...', ...];
          @org.freedesktop.DBus.Property.EmitsChangedSignal("const")
          readonly as MatchDriver = ['...', ...];
          @org.freedesktop.DBus.Property.EmitsChangedSignal("const")
          readonly as MatchType = ['...', ...];
          @org.freedesktop.DBus.Property.EmitsChangedSignal("const")
          readonly as MatchName = ['...', ...];
      };
      interface org.freedesktop.DBus.Peer { ... };
      interface org.freedesktop.DBus.Introspectable { ... };
      interface org.freedesktop.DBus.Properties { ... };
    };

Provides information about .network files.

## DHCP Server Object

    node /org/freedesktop/network1/link/_1 {
      interface org.freedesktop.network1.DHCPServer {
        properties:
          readonly a(uayayayayt) Leases = [...];
      };
      interface org.freedesktop.DBus.Peer { ... };
      interface org.freedesktop.DBus.Introspectable { ... };
      interface org.freedesktop.DBus.Properties { ... };
    };

Provides information about leases.

## Examples

Introspect org.freedesktop.network1.Manager on the bus

    $ gdbus introspect --system \
      --dest org.freedesktop.network1 \
      --object-path /org/freedesktop/network1

Introspect org.freedesktop.network1.Link on the bus

    $ gdbus introspect --system \
      --dest org.freedesktop.network1 \
      --object-path /org/freedesktop/network1/link/_11

## Versioning

These D-Bus interfaces follow the usual interface versioning guidelines.