mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2024-12-24 23:42:42 +01:00
49d098b434
Update ConfigureIPv{4,6}() parameters to simplify mapping our sets of addresses and routes directly to D-Bus dictionaries. Split Cancel() into CancelIPv{4,6}().
266 lines
8.6 KiB
Plaintext
266 lines
8.6 KiB
Plaintext
Agent Manager hierarchy
|
|
=======================
|
|
|
|
Service net.connman.iwd
|
|
Interface net.connman.iwd.AgentManager
|
|
Object path /net/connman/iwd
|
|
|
|
Methods void RegisterAgent(object path)
|
|
|
|
Register new agent for handling user secrets requests.
|
|
The agent object's methods on the net.connman.iwd.Agent
|
|
interface will be called when IWD needs to request
|
|
credentials for a connection to a network in station
|
|
mode.
|
|
|
|
Possible Errors: [service].InvalidArguments
|
|
[service].Failed
|
|
[service].AlreadyExists
|
|
|
|
void UnregisterAgent(object path)
|
|
|
|
Unregister an existing agent.
|
|
|
|
Possible Errors: [service].InvalidArguments
|
|
[service].Failed
|
|
[service].NotFound
|
|
|
|
void RegisterNetworkConfigurationAgent(object path)
|
|
|
|
Register the agent for handling IPv4 and IPv6
|
|
configuration setting. This method and its
|
|
corresponding unregister method are only supported
|
|
if network configuration is enabled: see
|
|
EnableNetworkConfiguration in iwd.config(5) and
|
|
NetworkConfigurationEnabled in
|
|
net.connman.iwd.Daemon.GetInfo in daemon-api.txt.
|
|
|
|
During a station-mode, AP-mode or P2P connection, IWD
|
|
will obtain the IP configuration values for a network
|
|
interface, either automatically from a remote server
|
|
(DHCP or otherwise), generate it or read it from a
|
|
settings file. If no network configuration agent is
|
|
present, IWD immediately writes (commits) those
|
|
values to the corresponding interface, the routing
|
|
table and communicates them to the resolver. If such
|
|
agent is registered, IWD requests the agent to do
|
|
this last step.
|
|
|
|
Connection success is not signalled until the agent
|
|
method has returned. The agent may also be invoked
|
|
during the connection lifetime whenever the IP
|
|
configuration changes and after a roam. The agent
|
|
object must have the NetworkConfigurationAgent
|
|
interface.
|
|
|
|
Possible Errors: [service].InvalidArguments
|
|
[service].Failed
|
|
[service].AlreadyExists
|
|
[service].NotSupported
|
|
|
|
void UnregisterNetworkConfigurationAgent(object path)
|
|
|
|
Unregister an existing network configuration agent.
|
|
|
|
Possible Errors: [service].InvalidArguments
|
|
[service].Failed
|
|
[service].NotFound
|
|
[service].NotAvailable
|
|
|
|
|
|
Agent hierarchy
|
|
===============
|
|
|
|
Service unique name
|
|
Interface net.connman.iwd.Agent
|
|
Object path freely definable
|
|
|
|
Methods void Release() [noreply]
|
|
|
|
This method gets called when the service daemon
|
|
unregisters the agent. An agent can use it to do
|
|
cleanup tasks. There is no need to unregister the
|
|
agent, because when this method gets called it has
|
|
already been unregistered.
|
|
|
|
string RequestPassphrase(object network)
|
|
|
|
This method gets called when trying to connect to
|
|
a network and passphrase is required.
|
|
|
|
Possible Errors: net.connman.iwd.Agent.Error.Canceled
|
|
|
|
string RequestPrivateKeyPassphrase(object network)
|
|
|
|
This method gets called when connecting to
|
|
a network that requires authentication using a
|
|
locally-stored encrypted private key file, to
|
|
obtain that private key's encryption passphrase.
|
|
|
|
Possible Errors: net.connman.iwd.Agent.Error.Canceled
|
|
|
|
(string, string) RequestUserNameAndPassword(object network)
|
|
|
|
This method gets called when connecting to
|
|
a network that requires authentication using a
|
|
user name and password.
|
|
|
|
Possible Errors: net.connman.iwd.Agent.Error.Canceled
|
|
|
|
string RequestUserPassword(object network, string user)
|
|
|
|
This method gets called when connecting to
|
|
a network that requires authentication with a
|
|
user password. The user name is optionally passed
|
|
in the parameter.
|
|
|
|
Possible Errors: net.connman.iwd.Agent.Error.Canceled
|
|
|
|
void Cancel(string reason) [noreply]
|
|
|
|
This method gets called to indicate that the agent
|
|
request failed before a reply was returned. The
|
|
argument will indicate why the request is being
|
|
cancelled and may be "out-of-range", "user-canceled",
|
|
"timed-out" or "shutdown".
|
|
|
|
Examples Requesting a passphrase for WPA2 network
|
|
|
|
RequestPassphrase("/net/connman/iwd/0/3/54657374_psk")
|
|
==> "secret123"
|
|
|
|
|
|
NetworkConfigurationAgent hierarchy [experimental]
|
|
===================================
|
|
|
|
Service unique name
|
|
Interface net.connman.iwd.NetworkConfigurationAgent
|
|
Object path freely definable
|
|
|
|
Methods void Release() [noreply]
|
|
|
|
This method gets called when the service daemon
|
|
unregisters the agent. An agent can use it to do
|
|
cleanup tasks. There is no need to unregister the
|
|
agent, because when this method gets called it has
|
|
already been unregistered.
|
|
|
|
void ConfigureIPv4(object device, dict config)
|
|
|
|
This method gets called during connection setup
|
|
and later while the connection is operational
|
|
whenever a new set of IPv4 configuration values is to
|
|
be written to a network interface. The connection is
|
|
aborted if the method call returns an error or times
|
|
out.
|
|
|
|
In case of a station-mode connection, the 'device'
|
|
parameter points at an object with a
|
|
net.connman.iwd.Device interface whose Name property
|
|
contains the name of network interface. In case of a
|
|
P2P connection, the object will have
|
|
a net.connman.iwd.p2p.Peer interface whose
|
|
ConnectectedInterface property contains the name of
|
|
the target network interface.
|
|
|
|
The 'config' dictionary (a{sv}) maps string keys to
|
|
values of types defined per key. Each call receives
|
|
the full set of values which supersede those from
|
|
previous calls.
|
|
|
|
The following key/value pairs are defined, but more
|
|
may be added in future versions.
|
|
|
|
string Method - Indicates whether the local address
|
|
was set statically (value "static") or obtained
|
|
automatically such as through DHCP (value "auto").
|
|
Even when addresses were obtained from the remote
|
|
end some configuration bits, such as DNS addresses,
|
|
may have been overridden locally.
|
|
|
|
array(dict) Addresses - Local IP addresses. Each
|
|
address is described by a set of key/value properties
|
|
as documented further down.
|
|
|
|
array(dict) Routes - Routes for on-link and off-link
|
|
prefixes/subnets and default routers. Each route is
|
|
described by a set of key/value properties as
|
|
documented further down.
|
|
|
|
array(string) DomainNameServers [optional] - Holds
|
|
the list of DNS server addresses configured if any
|
|
exist.
|
|
|
|
array(string) DomainNames [optional] - Holds the
|
|
network's local domain names if any exist.
|
|
|
|
string MDNS [optional] - One of "true", "false" and
|
|
"resolve". Controls whether Multicast DNS support is
|
|
to be enabled on the link. When set to "resolve",
|
|
only resolution is enabled, but not host or service
|
|
registration and announcement (see systemd.network(5).)
|
|
|
|
The following properties are defined for local
|
|
addresses, but more may be added in the future:
|
|
|
|
string Address - Holds the IP address string.
|
|
|
|
byte PrefixLength [optional] - Prefix length
|
|
associated with the address's subnet (IPv4 only).
|
|
|
|
string Broadcast [optional] - Broadcast address
|
|
associated with the address's subnet (IPv4 only).
|
|
|
|
uint32 ValidLifetime [optional] - Remaining validity
|
|
and ownership time for this address assignment/lease,
|
|
in seconds at the time of the method call.
|
|
If absent the address doesn't expire.
|
|
|
|
uint32 PreferredLifetime [optional] - Number of
|
|
seconds left at the time of the method call for this
|
|
address to be preferred over other addresses.
|
|
|
|
The following properties are defined for routes,
|
|
but more may be added in the future:
|
|
|
|
string, byte Destination [optional] - Holds the
|
|
route's destination IP prefix string and the prefix
|
|
length in bits. Absent for default routes.
|
|
|
|
string Router [optional] - Holds the router's IP
|
|
address. Absent for on-link routes.
|
|
|
|
string PreferredSource [optional] - Route source IP
|
|
address.
|
|
|
|
uint32 Lifetime [optional] - Remaining route validity
|
|
time in seconds at the time of the method call.
|
|
If absent the route doesn't expire.
|
|
|
|
uint32 Priority - Relative route priority.
|
|
|
|
byte Preference [optional] - ICMPv6 route preference:
|
|
0 for medium, 1 for high and 3 for low.
|
|
|
|
uint32 MTU [optional] - Router MTU.
|
|
|
|
Possible Errors: net.connman.iwd.Agent.Error.Canceled
|
|
net.connman.iwd.Agent.Error.Failed
|
|
|
|
void ConfigureIPv6(object device, dict config)
|
|
|
|
Same as ConfigureIPv4 above but for IPv6.
|
|
|
|
void CancelIPv4(object device, string reason) [noreply]
|
|
|
|
This method gets called to indicate that the network
|
|
configuration was aborted before a reply was received
|
|
for an ongoing ConfigureIPv4 or ConfigureIPv6 call.
|
|
The last argument will indicate why the request is being
|
|
cancelled and may be one of: "aborted", "superseded",
|
|
"timed-out".
|
|
|
|
void CancelIPv6(object device, string reason) [noreply]
|
|
|
|
Same as CancelIPv4 above but for IPv6.
|