fuchsia.lowpan.thread

Added: 7

PROTOCOLS

CapabilitiesConnector

Defined in fuchsia.lowpan.thread/capabilities.fidl

Protocol for connecting to Capabilities on a LoWPAN device.

Added: 18

Connect

Connects to the ThreadCapabilities protocol on the named LoWPAN device.

The name of the interface can be learned by calling fuchsia.lowpan/Lookup.GetDevices.

If there is an error in processing this request the given channel is closed and an epitaph code used to describe the reason for the failure:

  • ZX_ERR_INVALID_ARGUMENT: The given interface name was not formatted correctly or otherwise invalid.
  • ZX_ERR_NOT_FOUND: No interface was found with the given name.
  • ZX_ERR_NOT_SUPPORTED: The interface exists but does not support this protocol.

Request

NameType
name fuchsia.lowpan/InterfaceName
server_end server_end<ThreadCapabilities>

Dataset

Defined in fuchsia.lowpan.thread/dataset.fidl

Thread Operational Dataset Protocol.

This protocol can expose PII.

This protocol provides methods related to the management of the Thread operational dataset in raw TLV form.

AttachAllNodesTo

Requests that all nodes on the current network attach to the thread network described by given dataset. Returns the number of milliseconds until the change takes effect.

Functionally equivalent to ot-br-posix's AttachAllNodesTo4.

If this device is not currently provisioned, then calling this method is equivalent to calling SetActiveTlvs().

The transition of all nodes to the new network may take as long as five minutes. The exact amount of time until the network is transitioned is returned by this method.

This method returns once the transition has been scheduled successfully. Any error that prevents the scheduling of this operation from completing successfully (such as being provided with an incomplete dataset) will result in the protocol being closed.

Added: 8

Request

NameType
dataset OperationalDatasetTlvs

Response

NameType
delay_ms int64

GetActiveTlvs

Fetches and returns the active Thread operational dataset in raw TLV form. Functionally equivalent to otDatasetGetActiveTlvs()2.

This method returns the active dataset, or nothing in the case that there is no active operational dataset.

Any error that prevents the operation from completing successfully will result in the protocol being closed.

Request

<EMPTY>

Response

NameType
dataset OperationalDatasetTlvs

SetActiveTlvs

Sets the active Thread Operational Dataset in raw TLV form. Functionally equivalent to otDatasetSetActiveTlvs()3.

This method returns once the operation has completed successfully.

Any error that prevents the operation from completing successfully will result in the protocol being closed.

Request

NameType
dataset OperationalDatasetTlvs

Response

<EMPTY>

DatasetConnector

Defined in fuchsia.lowpan.thread/dataset.fidl

Protocol for connecting to Dataset on a LoWPAN device.

Connect

Connects to the Dataset protocol on the named LoWPAN device.

The name of the interface can be learned by calling fuchsia.lowpan/Lookup.GetDevices.

If there is an error in processing this request the given channel is closed and an epitaph code used to describe the reason for the failure:

  • ZX_ERR_INVALID_ARGUMENT: The given interface name was not formatted correctly or otherwise invalid.
  • ZX_ERR_NOT_FOUND: No interface was found with the given name.
  • ZX_ERR_NOT_SUPPORTED: The interface exists but does not support this protocol.

Request

NameType
name fuchsia.lowpan/InterfaceName
server_end server_end<Dataset>

Feature

Defined in fuchsia.lowpan.thread/feature.fidl

Protocol for fetching and updating the OpenThread feature configuration for a specific LoWPAN interface.

Added: 11

GetFeatureConfig

Returns the current OpenThread feature configuration for this interface.

A unset field in the returned value means that feature is not supported.

Request

<EMPTY>

Response

NameType
config FeatureConfig

UpdateFeatureConfig

Updates the current OpenThread feature configuration for this interface.

Any unset field in config will leave that field unchanged.

Request

NameType
config FeatureConfig

Response

<EMPTY>

FeatureConnector

Defined in fuchsia.lowpan.thread/feature.fidl

Protocol for connecting to Feature on a LoWPAN device.

Added: 11

Connect

Connects to the Feature protocol on the named LoWPAN device.

The name of the interface can be learned by calling fuchsia.lowpan/Lookup.GetDevices.

If there is an error in processing this request the given channel is closed and an epitaph code used to describe the reason for the failure:

  • ZX_ERR_INVALID_ARGUMENT: The given interface name was not formatted correctly or otherwise invalid.
  • ZX_ERR_NOT_FOUND: No interface was found with the given name.
  • ZX_ERR_NOT_SUPPORTED: The interface exists but does not support this protocol.

Request

NameType
name fuchsia.lowpan/InterfaceName
server_end server_end<Feature>

Meshcop

Defined in fuchsia.lowpan.thread/meshcop.fidl

Methods associated with the Mesh Commissioning Protocol (Meshcop).

UpdateTxtEntries

Updates the TXT record information associated with the Meshcop border agent DNS-SD entry. This allows additional information about the device to be discoverable on the local network when acting as a border agent.

Functionally equivalent to ot-br-posix's UpdateVendorMeshCopTxtEntries1.

Typically, the following keys are updated:

  • vn: Vendor Name
  • mn: Model Name
  • vo: Vendor OUI
  • vd/vcd: Vendor-specific Data

See table 8-4 in section 8.4.1.1.2 of the Thread 1.2 specification for a detailed explanation of all the keys and their values.

Any error that prevents the operation from completing successfully (such as being provided with invalid keys) will result in the protocol being closed.

Request

NameType
txt_entries vector<TxtEntries>[32]

Response

<EMPTY>

MeshcopConnector

Defined in fuchsia.lowpan.thread/meshcop.fidl

Protocol for connecting to Meshcop on a LoWPAN device.

Connect

Connects to the Meshcop protocol on the named LoWPAN interface.

The name of the interface can be learned by calling fuchsia.lowpan/Lookup.GetDevices.

If there is an error in processing this request the given channel is closed and an epitaph code used to describe the reason for the failure:

  • ZX_ERR_INVALID_ARGUMENT: The given interface name was not formatted correctly or otherwise invalid.
  • ZX_ERR_NOT_FOUND: No interface was found with the given name.
  • ZX_ERR_NOT_SUPPORTED: The interface exists but does not support this protocol.

Request

NameType
name fuchsia.lowpan/InterfaceName
server_end server_end<Meshcop>

ThreadCapabilities

Defined in fuchsia.lowpan.thread/capabilities.fidl

Protocol for retrieving supported capabilities of the thread stack.

Added: 18

GetCapabilities

Returns the current capabilities of Openthread for this interface.

capabilities is not expected to change for the lifetime of the interface.

Request

<EMPTY>

Response

NameType
capabilities Capabilities

STRUCTS

TxtEntries

Defined in fuchsia.lowpan.thread/meshcop.fidl

FieldTypeDescriptionDefault
key string[254]

The key string for this TXT entry.

Must not contain the character =. Maximum theoretical length is 254 bytes.

No default
value vector<uint8>[253]

The binary value associated with this key.

Maximum theoretical length is 253 bytes, which is two bytes less than the TXT record maximum length to account for a single-byte key and key/value separator byte.

No default

ENUMS

DetailedLoggingLevel flexible

Type: uint32

Defined in fuchsia.lowpan.thread/feature.fidl

Added: 12

NameValueDescription
0
1
2
3
4
5
6
7
8

TABLES

Capabilities

Defined in fuchsia.lowpan.thread/capabilities.fidl

Openthread capabilities.

Capabilities refers to features supported by openthread. For instance, nat64 refers to, if openthread has the required software support for nat64, which is determined by macros defined in openthread. It doesn't refer to if the feature is enabled or disabled. The table describes the capabilities of openthread that are supported/not-supported. For every new feature that's added, the table below should be updated.

Added: 18

OrdinalFieldTypeDescription
nat64 bool

The fields cannot be absent. They are set to true or false. Describes if nat64 is supported. If nat64 is true, Openthread supports nat64, false otherwise.

dhcpv6_pd bool

Describes if dhcpv6 prefix delegation is supported. If dhcpv6_pd is true, Openthread supports dhcpv6pd, false otherwise.

FeatureConfig

Defined in fuchsia.lowpan.thread/feature.fidl

OpenThread feature configuration.

This table describes what OpenThread features are enabled or disabled for a given interface. See the Feature protocol for more information.

Added: 11

OrdinalFieldTypeDescription
trel_enabled bool

Determines if TREL is enabled or disabled.

nat64_enabled bool

Determines if NAT64 is enabled or disabled.

srp_replication_enabled bool

Determines if SRP replication is enabled or disabled.

detailed_logging_enabled bool

Determines if detailed logging is enabled. If set to false, default logging level set in config file should be used in lowpan-ot-driver.

Added: 12
detailed_logging_level DetailedLoggingLevel

Set target log level. The value will be used only if detailed_logging_enabled is set to true.

Added: 12
dhcpv6_pd_enabled bool

Determines if DHCPv6-PD is enabled or disabled.

Added: 18

CONSTANTS

NameValueTypeDescription
MAX_DATASET_TLV_LEN 254 uint8

ALIASES

NameValueDescription
OperationalDatasetTlvs vector[MAX_DATASET_TLV_LEN]

Datatype for containing a Thread dataset in raw TLV form. Functionally equivalent to type otOperationalDatasetTlvs1.

The details of the Thread TLV format are documented in the Thread Specification.