NetworkManager D-Bus Interface Specification

Version 0.7.0

Copyright (C) Red Hat copyright goes here!
Copyright (C) 2008 Novell, Inc.

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

This program 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 General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Interfaces

org.freedesktop.NetworkManager

Methods:

GetDevices ( ) → ao

Get the list of network devices.

Returns

devices - ao
List of object paths of network devices known to the system.

ActivateDevice ( o: device, s: service_name, o: connection, o: specific_object ) → nothing

Activate a device using the supplied connection.

Parameters

device - o
The device to be activated. FIXME: Why is this not a method on Device?
service_name - s
FIXME: What does this do?
connection - o
The connection to activate the devices with.
specific_object - o
FIXME: What does this do?

Possible errors

org.freedesktop.NetworkManager.Error.UnknownConnection
Connection was not provided by any known settings service. (generic description)
org.freedesktop.NetworkManager.Error.UnknownDevice
Unknown device. (generic description)
org.freedesktop.NetworkManager.Error.InvalidService
Invalid settings service (not a recognized system or user settings service name). (generic description)
org.freedesktop.NetworkManager.Error.ConnectionActivating
Another connection is already activating or the same connection is already active. FIXME: check if the error name is correct. FIXME: split into 2 errors?
org.freedesktop.NetworkManager.Error.ConnectionInvalid
The connection is invalid for this device.

GetActiveConnections ( ) → a(sooao)

Returns

connections - a(sooao) (Active_Connection[])
List of active connections

Sleep ( b: sleep ) → nothing

Control the NetworkManager daemon's sleep state. When asleep, all interfaces that it manages are deactivated.

Parameters

sleep - b
Indicates whether the NetworkManager daemon should sleep or wake. FIXME: Bad parameter name.

Signals:

StateChange ( u: state )

NetworkManager's state changed.

Parameters

state - u (NM_STATE)
The new state of NetworkManager.

PropertiesChanged ( a{sv}: properties )

NetworkManager's properties changed.

Parameters

properties - a{sv} (String_Variant_Map)
The changed properties.

DeviceAdded ( o: device_path )

A device was added to the system

Parameters

device_path - o
The object path of the newly added device. NOTE: fixed C+P param name error

DeviceRemoved ( o: device_path )

A device was removed from the system, and is no longer available.

Parameters

device_path - o
The object path of the device that was just removed. NOTE: fixed C+P param name error

Properties:

WirelessEnabled - b - (readwrite)
Indicates if wireless is currently enabled or not.
WirelessHardwareEnabled - b - (read)
Indicates if the wireless hardware is currently enabled, i.e. the state of the RF kill switch.
State - u - (read) (NM_STATE)
The overall state of the NetworkManager daemon.

Enumerated types:

NM_STATE

Describes the overall state of the daemon.
NM_STATE_UNKNOWN = 0
The NetworkManager daemon is in an unknown state.
NM_STATE_ASLEEP = 1
The NetworkManager daemon is asleep and all interfaces managed by it are inactive.
NM_STATE_CONNECTING = 2
The NetworkManager daemon is connecting a device. FIXME: What does this mean when one device is active and another is connecting?
NM_STATE_CONNECTED = 3
The NetworkManager daemon is connected.
NM_STATE_DISCONNECTED = 4
The NetworkManager daemon is disconnected.

Structure types:

Active_Connection - ( s: service_name, o: connection_path, o: specific_object, ao: active_device_list )

A struct representing an active connection, returned by GetActiveConnections on the NetworkManager interface.

In bindings that need a separate name, arrays of Active_Connection should be called Active_Connection_List.

Members

service_name - s
FIXME: What does this mean?
connection_path - o
Object path of the active connection
specific_object - o
Object path of the specific object. FIXME: What does this mean?
active_device_list - ao
Array of object paths to the devices this connection is active on.

org.freedesktop.NetworkManager.AccessPoint

Interface has no methods.

Signals:

PropertiesChanged ( a{sv}: properties )

Parameters

properties - a{sv} (String_Variant_Map)
A dictionary mapping property names to variant boxed values

Properties:

Flags - u - (read) (NM_802_11_AP_FLAGS)
Flags describing the capabilities of the access point.
WpaFlags - u - (read) (NM_802_11_AP_SEC)
Flags describing the access point's capabilities according to WPA (Wifi Protected Access).
RsnFlags - u - (read) (NM_802_11_AP_SEC)
Flags describing the access point's capabilities according to the RSN (Robust Secure Network) protocol.
Ssid - ay - (read)
The Service Set Identifier identifying the access point.
Frequency - u - (read)
The radio channel frequency in use by the access point.
HwAddress - s - (read)
The hardware address of the access point. FIXME: Why is this not uint64 type="t"?
Mode - i - (read) (IW_MODE)
Describes the operating mode of the access point.
Rate - u - (read)
The bit rate currently achievable to this access point.
Strength - y - (read)
The current signal strength received from this access point.

Sets of flags:

NM_802_11_AP_FLAGS

Flags describing the general capabilities of the access point.
NM_802_11_AP_FLAGS_NONE = 0x0
Null capability - says nothing about the access point.
NM_802_11_AP_FLAGS_PRIVACY = 0x1
Access point supports privacy measures.

NM_802_11_AP_SEC

Flags describing the security capabilities of the access point.
NM_802_11_AP_SEC_NONE = 0x0
Null flag.
NM_802_11_AP_SEC_PAIR_WEP40 = 0x1
Access point supports pairwise 40-bit WEP encryption.
NM_802_11_AP_SEC_PAIR_WEP104 = 0x2
Access point supports pairwise 104-bit WEP encryption.
NM_802_11_AP_SEC_PAIR_TKIP = 0x4
Access point supports pairwise TKIP encryption.
NM_802_11_AP_SEC_PAIR_CCMP = 0x8
Access point supports pairwise CCMP encryption.
NM_802_11_AP_SEC_GROUP_WEP40 = 0x10
Access point supports a group 40-bit WEP cypher.
NM_802_11_AP_SEC_GROUP_WEP104 = 0x20
Access point supports a group 104-bit WEP cypher.
NM_802_11_AP_SEC_GROUP_TKIP = 0x40
Access point supports a group TKIP cypher.
NM_802_11_AP_SEC_GROUP_CCMP = 0x80
Access point supports a group CCMP cypher.
NM_802_11_AP_SEC_KEY_MGMT_PSK = 0x100
Access point supports PSK key management.
NM_802_11_AP_SEC_KEY_MGMT_802_1X = 0x200
Access point supports 802.1x key management.

org.freedesktop.NetworkManager.Device

Methods:

Deactivate ( ) → nothing

Deactivate the device, removing its routing table entry and IP address

Signals:

StateChanged ( u: state )

Parameters

state - u (NM_DEVICE_STATE)
The new state of the device.

CarrierChanged ( b: carrier_on )

Parameters

carrier_on - b
Boolean indicating whether the carrier is now on or off.

Properties:

Udi - s - (read)
HAL UDI for the device.
Interface - s - (read)
The network interface offered by the device.
Driver - s - (read)
The driver handling the device.
Capabilities - u - (read) (NM_DEVICE_CAP)
Flags describing the capabilities of the device.
Ip4Address - i - (read)
The IPv4 address bound to the device. FIXME: what about devices with >1 IP address?
State - u - (read) (NM_DEVICE_STATE)
The current state of the device.
Ip4Config - o - (read)
Object path of the Ip4Config object describing the configuration of the device.
Carrier - b - (read)
Indicates whether the physical carrier is found (e.g. the device is plugged in or associated to a network).
DeviceType - u - (read)

Enumerated types:

NM_DEVICE_STATE

NM_DEVICE_STATE_UNKNOWN = 0
The device is in an unknown state.
NM_DEVICE_STATE_DOWN = 1
The device is down.
NM_DEVICE_STATE_DISCONNECTED = 2
The device is not connected.
NM_DEVICE_STATE_PREPARE = 3
The device is preparing to connect.
NM_DEVICE_STATE_CONFIG = 4
The device is being configured.
NM_DEVICE_STATE_NEED_AUTH = 5
The device is awaiting authorization credentials.
NM_DEVICE_STATE_IP_CONFIG = 6
The IP address of the device is being configured.
NM_DEVICE_STATE_ACTIVATED = 7
The device is active.
NM_DEVICE_STATE_FAILED = 8
The device is in a failure state following an attempt to activate it.
NM_DEVICE_STATE_CANCELLED = 9
The previous activation attempt on this device was cancelled.

Sets of flags:

NM_DEVICE_CAP

NM_DEVICE_CAP_NONE = 0x0
Null capability.
NM_DEVICE_CAP_NM_SUPPORTED = 0x1
The device is supported by NetworkManager.
NM_DEVICE_CAP_CARRIER_DETECT = 0x2
The device supports carrier detection.

org.freedesktop.NetworkManager.Device.Wired

Interface has no methods.

Interface has no signals.

Properties:

HwAddress - s - (read)
Hardware address of the device. See FIXME in access point and 802.11 device
Speed - u - (read)
Design speed of the device.

org.freedesktop.NetworkManager.Device.Wireless

Methods:

GetAccessPoints ( ) → ao

Get the list of access points visible to this device.

Returns

access_points - ao
List of access point object paths

Signals:

PropertiesChanged ( a{sv}: properties )

Emitted when the wireless device's properties changed.

Parameters

properties - a{sv} (String_Variant_Map)
A dictionary containing the FIXME: check changed parameters.

AccessPointAdded ( o: access_point )

Emitted when a new access point is found by the device.

Parameters

access_point - o
The object path of the newly found access point.

AccessPointRemoved ( o: access_point )

Emitted when an access point disappears from view of the device.

Parameters

access_point - o
The object path of the access point that has disappeared.

Properties:

HwAddress - s - (read)
The hardware address of the device. FIXME: why not uint64 (type="t")?
Mode - i - (read) (IW_MODE)
The operating mode of the wireless device.
Bitrate - u - (read)
The bit rate currently used by the wireless device. FIXME: Why is this not called Rate like for AP?
ActiveAccessPoint - o - (read)
Object path of the access point currently used by the wireless device.
WirelessCapabilities - u - (read) (NM_802_11_DEVICE_CAP)
The capabilities of the wireless device.

Sets of flags:

NM_802_11_DEVICE_CAP

Flags describing the capabilities of a wireless device.
NM_802_11_DEVICE_CAP_NONE = 0x0
Null capability - syntactic sugar for no capabilities supported. Do not AND this with other capabilities!
NM_802_11_DEVICE_CAP_CIPHER_WEP40 = 0x1
The device supports the 40-bit WEP cypher.
NM_802_11_DEVICE_CAP_CIPHER_WEP104 = 0x2
The device supports the 104-bit WEP cypher.
NM_802_11_DEVICE_CAP_CIPHER_TKIP = 0x4
The device supports the TKIP cypher.
NM_802_11_DEVICE_CAP_CIPHER_CCMP = 0x8
The device supports the CCMP cypher.
NM_802_11_DEVICE_CAP_WPA = 0x10
The device supports the WPA encryption/authentication protocol.
NM_802_11_DEVICE_CAP_RSN = 0x20
The device supports the RSN encryption/authentication protocol.

org.freedesktop.NetworkManager.IP4Config

Interface has no methods.

Interface has no signals.

Properties:

Address - u - (read)
IPv4 address. FIXME: what about multiple addresses?
Gateway - u - (read)
Default gateway.
Netmask - u - (read)
Network mask of this network.
Broadcast - u - (read)
Broadcast address of this network.
Hostname - s - (read)
The hostname associated with this IPv4 address. FIXME: what about multiple hostnames?
Nameservers - au - (read)
The nameservers in use.
Domains - as - (read)
A list of domains this address belongs to.
NisDomain - s - (read)
The NIS domain this address belongs to.
NisServers - au - (read)
The NIS servers associated with this address.

org.freedesktop.NetworkManagerSettings

The NetworkManagerSettings interface is held by a separate process to the daemon and provides settings to the daemon.

Methods:

ListConnections ( ) → ao

List the connections stored by this Settings object.

Returns

connections - ao
List of connections.

Signals:

NewConnection ( o: connection )

Emitted when a new connection has been configured.

Parameters

connection - o
Object path of the new connection.

Interface has no properties.

org.freedesktop.NetworkManagerSettings.Connection

Represents a single network connection configuration.

Methods:

GetID ( ) → s

Obtain the ID of this connection.

Returns

id - s
The ID of this connection.

GetSettings ( ) → a{sa{sv}}

Get the settings maps describing this object.

Returns

settings - a{sa{sv}} (String_String_Variant_Map_Map)
The nested settings maps describing this object.

Signals:

Updated ( a{sa{sv}}: settings )

Emitted when some settings changed.

Parameters

settings - a{sa{sv}} (String_String_Variant_Map_Map)
Contains the changed settings.

Removed ( )

Emitted when this settings object was removed. FIXME: Is this emitted after it was removed or when it is about to be removed? If after removed, then different semantics to Device removed. if prior to removal, should be called AboutToBeRemoved.

Interface has no properties.

org.freedesktop.NetworkManagerSettings.Connection.Secrets

Secrets have a separate interface so that they can be locked down.

Methods:

GetSecrets ( s: setting_name, as: hints, b: request_new ) → a{sv}

Get the secrets encapsulated in this object.

Parameters

setting_name - s
Name of the setting to return.
hints - as
Array of strings of key names in the Setting for which NM thinks a secrets may be required.A
request_new - b
Indicates whether new secrets should be requested or if the request can be fulfilled from storage.

Returns

secrets - a{sv} (String_Variant_Map)
Map of secrets.

Interface has no signals.

Interface has no properties.

org.freedesktop.NetworkManager.VPN.Manager

Methods:

Connect ( s: connection_type, o: connection, o: device ) → o

Establish a VPN connection.

Parameters

connection_type - s
String describing the connection type.
connection - o
Object path of the network connection to establish the VPN connection on.
device - o
Object path of the device to establish the VPN connection on.

Returns

vpn_connection - o
Object path of the newly created VPN connection.

ListConnections ( ) → ao

Get the list of active VPN connections.

Returns

connections - ao
List of object paths of active VPN connections.

Interface has no signals.

Interface has no properties.

org.freedesktop.NetworkManager.VPN.Connection

Represents a connection to a Virtual Private Network.

Methods:

Disconnect ( ) → nothing

Disconnect the VPN connection.

Signals:

StateChanged ( u: state, u: reason )

Emitted when the state of the VPN connection has changed.

Parameters

state - u (NM_VPN_CONNECTION_STATE)
The new state of the VPN connection.
reason - u (NM_VPN_CONNECTION_STATE_REASON)
Reason code describing the change to the new state.

Properties:

Name - s - (read)
The name of the VPN connection.
State - u - (read) (NM_VPN_CONNECTION_STATE)
The state of the VPN connection.
Banner - s - (read)
The banner string of the VPN connection.

Enumerated types:

NM_VPN_CONNECTION_STATE

NM_VPN_CONNECTION_STATE_UNKNOWN = 0
The state of the VPN connection is unknown.
NM_VPN_CONNECTION_STATE_PREPARE = 1
The VPN connection is preparing to connect.
NM_VPN_CONNECTION_STATE_NEED_AUTH = 2
The VPN connection needs authorization credentials.
NM_VPN_CONNECTION_STATE_CONNECT = 3
The VPN connection is being established. FIXME: Should be CONNECTING or CONNECTED.
NM_VPN_CONNECTION_STATE_IP_CONFIG_GET = 4
The VPN connection is getting an IP address. FIXME: Should be an -ING
NM_VPN_CONNECTION_STATE_ACTIVATED = 5
The VPN connection is active.
NM_VPN_CONNECTION_STATE_FAILED = 6
The VPN connection failed.
NM_VPN_CONNECTION_STATE_DISCONNECTED = 7
The VPN connection is disconnected.

NM_VPN_CONNECTION_STATE_REASON

NM_VPN_CONNECTION_STATE_REASON_UNKNOWN = 0
The reason for the VPN connection state change is unknown.
NM_VPN_CONNECTION_STATE_REASON_NONE = 1
No reason was given for the VPN connection state change.
NM_VPN_CONNECTION_STATE_REASON_USER_DISCONNECTED = 2
The VPN connection changed state because the user disconnected it.
NM_VPN_CONNECTION_STATE_REASON_DEVICE_DISCONNECTED = 3
The VPN connection changed state because the device it was using was disconnected.
NM_VPN_CONNECTION_STATE_REASON_SERVICE_STOPPED = 4
The service providing the VPN connection was stopped.
NM_VPN_CONNECTION_STATE_REASON_IP_CONFIG_INVALID = 5
The IP config of the VPN connection was invalid.
NM_VPN_CONNECTION_STATE_REASON_CONNECT_TIMEOUT = 6
The connection attempt to the VPN service timed out.
NM_VPN_CONNECTION_STATE_REASON_SERVICE_START_TIMEOUT = 7
A timeout occurred while starting the service providing the VPN connection.
NM_VPN_CONNECTION_STATE_REASON_SERVICE_START_FAILED = 8
Starting the service starting the service providing the VPN connection failed.
NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS = 9
Necessary secrets for the VPN connection were not provided.

org.freedesktop.NetworkManager.VPN.Plugin

This interface is provided by plugins providing VPN services to the NetworkManager daemon.

Methods:

Connect ( a{sa{sv}}: connection ) → nothing

Tells the plugin to connect.

Parameters

connection - a{sa{sv}} (String_String_Variant_Map_Map)
Describes the connection to be established.

Possible errors

org.freedesktop.NetworkManager.VPN.Error.StartingInProgress
The request could not be processed because the VPN connection is already being started.(generic description)
org.freedesktop.NetworkManager.VPN.Error.AlreadyStarted
The request could not be processed because a VPN connection was already active.(generic description)
org.freedesktop.NetworkManager.VPN.Error.StoppingInProgress
The request could not be processed because the VPN connection is already being stopped.(generic description)
org.freedesktop.NetworkManager.VPN.Error.BadArguments
Invalid arguments were passed with the request. FIXME: too general.(generic description)
org.freedesktop.NetworkManager.VPN.Error.LaunchFailed
A binary providing the service failed to launch.(generic description)

NeedSecrets ( a{sa{sv}}: settings ) → s

FIXME: I have no idea what this does. The name sounds like a signal.

Parameters

settings - a{sa{sv}} (String_String_Variant_Map_Map)
Settings providing the secrets.

Returns

setting_name - s
FIXME: Figure out what this means

Possible errors

org.freedesktop.NetworkManager.VPN.Error.ConnectionInvalid
The request could not be processed because the VPN connection settings were invalid.(generic description)

Disconnect ( ) → nothing

Disconnect the plugin.

Possible errors

org.freedesktop.NetworkManager.VPN.Error.StoppingInProgress
The request could not be processed because the VPN connection is already being stopped.(generic description)
org.freedesktop.NetworkManager.VPN.Error.AlreadyStopped
The request could not be processed because the VPN connection was already stopped.(generic description)

SetIp4Config ( a{sv}: config ) → nothing

Set IPv4 details on the connection.

Parameters

config - a{sv} (String_Variant_Map)
Ip4Config details for the conneciton.

SetFailure ( s: reason ) → nothing

Indicate a failure to the plugin.

Parameters

reason - s
The reason for the failure.

Signals:

StateChanged ( u: state )

Emitted when the plugin state changes.

Parameters

state - u (NM_VPN_CONNECTION_STATE)
The new state of the plugin.

Ip4Config ( a{sv}: ip4config )

The plugin obtained an IPv4 configuration.

Parameters

ip4config - a{sv} (String_Variant_Map)
The IPv4 configuration.

LoginBanner ( s: banner )

Emitted when the plugin receives a login banner from the VPN service.

Parameters

banner - s
The login banner string.

Failure ( u: reason )

Emitted when a failure in the VPN plugin occurs.

Parameters

reason - u (NM_VPN_CONNECTION_STATE_REASON)
Reason code for the failure.

Properties:

State - u - (read) (NM_VPN_CONNECTION_STATE)
The state of the plugin.

Generic types:

Enumerated types:

IW_MODE

IW_MODE_AUTO = 0
Automatic mode controlled by the driver.
IW_MODE_ADHOC = 1
Single cell network.
IW_MODE_INFRA = 2
Multi cell network, roaming.
IW_MODE_MASTER = 3
Synchronisation master or Access Point.
IW_MODE_REPEAT = 4
Wireless Repeater (forwarder).
IW_MODE_SECOND = 5
Secondary master/repeater (backup).
IW_MODE_MONITOR = 6
Passive monitor (listen only).

Mapping types:

String_Variant_Map - a{ s: Key → v: Value }

A mapping from strings to variants representing extra key-value pairs.

Members

Key - s
(undocumented)
Value - v
(undocumented)

String_String_Map - a{ s: Key → s: Value }

A mapping from strings to strings representing extra key-value pairs.

Members

Key - s
(undocumented)
Value - s
(undocumented)

String_String_Variant_Map_Map - a{ s: Key → a{sv}: Value }

A mapping from strings to a map of string to variant.

Members

Key - s
(undocumented)
Value - a{sv} (String_Variant_Map)
(undocumented)

Errors:

org.freedesktop.NetworkManager.Error.UnknownConnection

Connection was not provided by any known settings service.

org.freedesktop.NetworkManager.Error.UnknownDevice

Unknown device.

org.freedesktop.NetworkManager.Error.InvalidService

Invalid settings service (not a recognized system or user settings service name).

org.freedesktop.NetworkManager.Error.SystemConnection

Connection was superseded by a system connection.

org.freedesktop.NetworkManager.Error.PermissionDenied

User does not have the permission to activate this connection.

Errors:

org.freedesktop.NetworkManager.VPN.Error.General

This is a drab, nondescript error.

org.freedesktop.NetworkManager.VPN.Error.StartingInProgress

The request could not be processed because the VPN connection is already being started.

org.freedesktop.NetworkManager.VPN.Error.AlreadyStarted

The request could not be processed because a VPN connection was already active.

org.freedesktop.NetworkManager.VPN.Error.StoppingInProgress

The request could not be processed because the VPN connection is already being stopped.

org.freedesktop.NetworkManager.VPN.Error.AlreadyStopped

The request could not be processed because the VPN connection was already stopped.

org.freedesktop.NetworkManager.VPN.Error.WrongState

The request could not be processed because the VPN connection is in the wrong state for this type of request. FIXME: too general?

org.freedesktop.NetworkManager.VPN.Error.BadArguments

Invalid arguments were passed with the request. FIXME: too general.

org.freedesktop.NetworkManager.VPN.Error.LaunchFailed

A binary providing the service failed to launch.

org.freedesktop.NetworkManager.VPN.Error.ConnectionInvalid

The request could not be processed because the VPN connection settings were invalid.

Index

Index of interfaces

Index of types