TREL - Thread Stack

This module defines Thread Radio Encapsulation Link (TREL) APIs for Thread Over Infrastructure.

Summary

The functions in this module require OPENTHREAD_CONFIG_RADIO_LINK_TREL_ENABLE to be enabled.

Typedefs

otTrelPeer typedef
struct otTrelPeer
Represents a TREL peer.
otTrelPeerIterator typedef
uint16_t
Represents an iterator for iterating over TREL peer table entries.

Functions

otTrelGetNextPeer(otInstance *aInstance, otTrelPeerIterator *aIterator)
const otTrelPeer *
Iterates over the peer table entries and get the next entry from the table.
otTrelInitPeerIterator(otInstance *aInstance, otTrelPeerIterator *aIterator)
void
Initializes a peer table iterator.
otTrelIsEnabled(otInstance *aInstance)
bool
Indicates whether the TREL operation is enabled.
otTrelIsFilterEnabled(otInstance *aInstance)
bool
Indicates whether or not the filter mode is enabled.
otTrelSetEnabled(otInstance *aInstance, bool aEnable)
void
Enables or disables TREL operation.
otTrelSetFilterEnabled(otInstance *aInstance, bool aEnable)
void
Sets the filter mode (enables/disables filtering).

Structs

otTrelPeer

Represents a TREL peer.

Typedefs

otTrelPeer

struct otTrelPeer otTrelPeer

Represents a TREL peer.

otTrelPeerIterator

uint16_t otTrelPeerIterator

Represents an iterator for iterating over TREL peer table entries.

Functions

otTrelGetNextPeer

const otTrelPeer * otTrelGetNextPeer(
  otInstance *aInstance,
  otTrelPeerIterator *aIterator
)

Iterates over the peer table entries and get the next entry from the table.

Details
Parameters
[in] aInstance
The OpenThread instance.
[in] aIterator
The iterator. MUST be initialized.
Returns
A pointer to the next otTrelPeer entry or NULL if no more entries in the table.

otTrelInitPeerIterator

void otTrelInitPeerIterator(
  otInstance *aInstance,
  otTrelPeerIterator *aIterator
)

Initializes a peer table iterator.

Details
Parameters
[in] aInstance
The OpenThread instance.
[in] aIterator
The iterator to initialize.

otTrelIsEnabled

bool otTrelIsEnabled(
  otInstance *aInstance
)

Indicates whether the TREL operation is enabled.

Details
Parameters
[in] aInstance
The OpenThread instance.
Return Values
TRUE
if the TREL operation is enabled.
FALSE
if the TREL operation is disabled.

otTrelIsFilterEnabled

bool otTrelIsFilterEnabled(
  otInstance *aInstance
)

Indicates whether or not the filter mode is enabled.

Details
Parameters
[in] aInstance
The OpenThread instance.
Return Values
TRUE
if the TREL filter mode is enabled.
FALSE
if the TREL filter mode is disabled.

otTrelSetEnabled

void otTrelSetEnabled(
  otInstance *aInstance,
  bool aEnable
)

Enables or disables TREL operation.

When aEnable is true, this function initiates an ongoing DNS-SD browse on the service name "_trel._udp" within the local browsing domain to discover other devices supporting TREL. Device also registers a new service to be advertised using DNS-SD, with the service name is "_trel._udp" indicating its support for TREL. Device is then ready to receive TREL messages from peers.

When aEnable is false, this function stops the DNS-SD browse on the service name "_trel._udp", stops advertising TREL DNS-SD service, and clears the TREL peer table.

Details
Parameters
[in] aInstance
A pointer to an OpenThread instance.
[in] aEnable
A boolean to enable/disable the TREL operation.

otTrelSetFilterEnabled

void otTrelSetFilterEnabled(
  otInstance *aInstance,
  bool aEnable
)

Sets the filter mode (enables/disables filtering).

When filter mode is enabled, any rx and tx traffic through TREL interface is silently dropped. This is mainly intended for use during testing.

Unlike otTrel{Enable/Disable}() which fully starts/stops the TREL operation, when filter mode is enabled the TREL interface continues to be enabled.

Details
Parameters
[in] aInstance
The OpenThread instance.
[in] aFiltered
TRUE to enable filter mode, FALSE to disable filter mode.

Resources

OpenThread API Reference topics originate from the source code, available on GitHub. For more information, or to contribute to our documentation, refer to Resources.