Google is committed to advancing racial equity for Black communities. See how.

fuchsia.net.dhcpv6

PROTOCOLS

Client

Defined in fuchsia.net.dhcpv6/client.fidl

Provides methods to watch for discovered network configurations.

WatchServers

Returns a list of DNS servers.

First call always returns a snapshot of the current list of servers or blocks if an empty list would be returned. Subsequent calls will block until the list of servers changes.

The list of servers changes over time by configuration or network topology changes, expiration, etc. Callers must repeatedly call WatchServers and replace any previously returned servers with new ones to avoid using stale or expired entries.

It is invalid to call WatchServers while a previous call is still pending. Doing so will cause the DnsServerWatcher channel to be closed.

  • response servers The list of servers to use for DNS resolution, in priority order.

Request

NameType

Response

NameType
servers vector<fuchsia.net.name/DnsServer>

ClientProvider

Defined in fuchsia.net.dhcpv6/client.fidl

Provides a method to create new clients.

NewClient

Provides a DHCPv6 client.

  • request params the parameters to create the client with.
  • request request the channel handle that can be used to control the newly created client. Will be closed if a client cannot be created, with an epitaph explaining the reason.

Request

NameType
params NewClientParams
request request<Client>

STRUCTS

ENUMS

RequestableOptionCode

Type: uint32

Defined in fuchsia.net.dhcpv6/client.fidl

Supported DHCPv6 option codes that can be included in the client's Option Request Option.

See the full list of option codes here.

NameValueDescription
DNS_SERVERS 23

TABLES

NewClientParams

Defined in fuchsia.net.dhcpv6/client.fidl

Parameters for calling ClientProvider.NewClient.

OrdinalNameTypeDescription
1 interface_id uint64

The ID of the interface the client will run on.

Required.

2 address fuchsia.net/Ipv6SocketAddress

The socket address to use when communicating with servers.

DHCPv6 servers listen for link-local multicasts, so not using a link-local address here may cause interoperability issues.

Client creation will fail with INVALID_ARGS if:

  • a multicast address is provided;
  • or a link-local address is provided, and its zone index doesn't match interface_id (Fuchsia has a 1:1 mapping from zone index to interface ID).

Client creation will fail if it fails to bind a socket to this address.

Required.

3 models OperationalModels

The OperationalModels the client will start in.

Client creation will fail if models is empty or unsupported.

Required.

OperationalModels

Defined in fuchsia.net.dhcpv6/client.fidl

Operational models for a client.

The client will run all the provided models in parallel.

See the full list of operational models in RFC 8415, Section 6.

OrdinalNameTypeDescription
1 stateless Stateless

Stateless

Defined in fuchsia.net.dhcpv6/client.fidl

A DHCPv6 operational model where the client only sends information requests and handles corresponding replies, as defined in RFC 8415, Section 6.1.

OrdinalNameTypeDescription
1 options_to_request vector<RequestableOptionCode>[1]

A list of option codes to include in Option Request Option.

CONSTANTS

NameValueTypeDescription
DEFAULT_CLIENT_PORT 546 uint16

Default port a DHCPv6 client should listen to according to RFC 8415, Section 7.2.

RELAY_AGENT_AND_SERVER_PORT 547 uint16

The port a DHCPv6 server or relay agent listens to according to RFC 8415, Section 7.2.