ORG.FREEDESKTOP.NETWORK1(5) org.freedesktop.network1 ORG.FREEDESKTOP.NETWORK1(5)

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

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

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 = ...;
      @org.freedesktop.DBus.Property.EmitsChangedSignal("false")
      readonly u NamespaceNSID = ...;
  };
  interface org.freedesktop.DBus.Peer { ... };
  interface org.freedesktop.DBus.Introspectable { ... };
  interface org.freedesktop.DBus.Properties { ... };
};

Provides information about the manager.

NamespaceId contains the inode number of the network namespace that the network service runs in. A client may compare this with the inode number of its own network namespace to verify whether the service manages the same network namespace.

NamespaceNSID contains the "nsid" identifier the kernel maintains for the network namespace, if there's one assigned.

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 { ... };
};

Provides information about interfaces.

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.

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 { ... };
  interface org.freedesktop.network1.Link { ... };
};

Provides information about leases.

node /org/freedesktop/network1/link/_1 {
  interface org.freedesktop.network1.DHCPv4Client {
    properties:
      readonly s State = '...';
  };
  interface org.freedesktop.DBus.Peer { ... };
  interface org.freedesktop.DBus.Introspectable { ... };
  interface org.freedesktop.DBus.Properties { ... };
  interface org.freedesktop.network1.Link { ... };
};

Provides information about DHCPv4 client status.

node /org/freedesktop/network1/link/_1 {
  interface org.freedesktop.network1.DHCPv6Client {
    properties:
      readonly s State = '...';
  };
  interface org.freedesktop.DBus.Peer { ... };
  interface org.freedesktop.DBus.Introspectable { ... };
  interface org.freedesktop.DBus.Properties { ... };
  interface org.freedesktop.network1.Link { ... };
};

Provides information about DHCPv6 client status.

Example 1. Introspect org.freedesktop.network1.Manager on the bus

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

Example 2. Introspect org.freedesktop.network1.Link on the bus

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

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

State was added in version 255.

State was added in version 255.

NamespaceNSID was added in version 256.

1.
the usual interface versioning guidelines
systemd 256.5