TREL - Thread Stack#
This module defines Thread Radio Encapsulation Link (TREL) APIs for Thread Over Infrastructure.
The functions in this module require OPENTHREAD_CONFIG_RADIO_LINK_TREL_ENABLE
to be enabled.
Modules#
Typedefs#
Represents a TREL peer.
Represents an iterator for iterating over TREL peer table entries.
Represents a group of TREL related counters.
Functions#
Enables or disables TREL operation.
Indicates whether the TREL operation is enabled.
Initializes a peer table iterator.
Iterates over the peer table entries and get the next entry from the table.
Returns the number of TREL peers.
Sets the filter mode (enables/disables filtering).
Indicates whether or not the filter mode is enabled.
Gets the TREL counters.
Resets the TREL counters.
Gets the UDP port of the TREL interface.
Typedef Documentation#
otTrelPeer#
typedef struct otTrelPeer otTrelPeer
Represents a TREL peer.
66
of file include/openthread/trel.h
otTrelPeerIterator#
typedef uint16_t otTrelPeerIterator
Represents an iterator for iterating over TREL peer table entries.
71
of file include/openthread/trel.h
otTrelCounters#
typedef otPlatTrelCounters otTrelCounters
Represents a group of TREL related counters.
155
of file include/openthread/trel.h
Function Documentation#
otTrelSetEnabled#
void otTrelSetEnabled (otInstance * aInstance, bool aEnable)
Enables or disables TREL operation.
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aEnable | A boolean to enable/disable the 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.
Note
By default the OpenThread stack enables the TREL operation on start.
89
of file include/openthread/trel.h
otTrelIsEnabled#
bool otTrelIsEnabled (otInstance * aInstance)
Indicates whether the TREL operation is enabled.
[in] | aInstance | The OpenThread instance. |
99
of file include/openthread/trel.h
otTrelInitPeerIterator#
void otTrelInitPeerIterator (otInstance * aInstance, otTrelPeerIterator * aIterator)
Initializes a peer table iterator.
[in] | aInstance | The OpenThread instance. |
[in] | aIterator | The iterator to initialize. |
107
of file include/openthread/trel.h
otTrelGetNextPeer#
const otTrelPeer * otTrelGetNextPeer (otInstance * aInstance, otTrelPeerIterator * aIterator)
Iterates over the peer table entries and get the next entry from the table.
[in] | aInstance | The OpenThread instance. |
[in] | aIterator | The iterator. MUST be initialized. |
Returns
A pointer to the next
otTrelPeer
entry orNULL
if no more entries in the table.
117
of file include/openthread/trel.h
otTrelGetNumberOfPeers#
uint16_t otTrelGetNumberOfPeers (otInstance * aInstance)
Returns the number of TREL peers.
[in] | aInstance | A pointer to an OpenThread instance. |
Returns
The number of TREL peers.
126
of file include/openthread/trel.h
otTrelSetFilterEnabled#
void otTrelSetFilterEnabled (otInstance * aInstance, bool aEnable)
Sets the filter mode (enables/disables filtering).
[in] | aInstance | The OpenThread instance. |
[in] | aEnable | TRUE to enable filter mode, FALSE to disable filter mode. |
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.
140
of file include/openthread/trel.h
otTrelIsFilterEnabled#
bool otTrelIsFilterEnabled (otInstance * aInstance)
Indicates whether or not the filter mode is enabled.
[in] | aInstance | The OpenThread instance. |
150
of file include/openthread/trel.h
otTrelGetCounters#
const otTrelCounters * otTrelGetCounters (otInstance * aInstance)
Gets the TREL counters.
[in] | aInstance | A pointer to an OpenThread instance. |
Returns
A pointer to the TREL counters.
164
of file include/openthread/trel.h
otTrelResetCounters#
void otTrelResetCounters (otInstance * aInstance)
Resets the TREL counters.
[in] | aInstance | A pointer to an OpenThread instance. |
171
of file include/openthread/trel.h
otTrelGetUdpPort#
uint16_t otTrelGetUdpPort (otInstance * aInstance)
Gets the UDP port of the TREL interface.
[in] | aInstance | A pointer to an OpenThread instance. |
Returns
UDP port of the TREL interface.
180
of file include/openthread/trel.h