Modules#
Link Metrics#
This module includes functions that control the Link Metrics protocol.
Enumerations#
Enhanced-ACK Flags.
Link Metrics Status values.
Typedefs#
Represents the result (value) for a Link Metrics query.
Represents which frames are accounted in a Forward Tracking Series.
Enhanced-ACK Flags.
Link Metrics Status values.
Pointer is called when a Link Metrics report is received.
Pointer is called when a Link Metrics Management Response is received.
Pointer is called when Enh-ACK Probing IE is received.
Functions#
Sends an MLE Data Request to query Link Metrics.
Sends an MLE Link Metrics Management Request to configure or clear a Forward Tracking Series.
Sends an MLE Link Metrics Management Request to configure/clear an Enhanced-ACK Based Probing.
Sends an MLE Link Probe message.
Enumeration Documentation#
otLinkMetricsEnhAckFlags#
otLinkMetricsEnhAckFlags
Enhanced-ACK Flags.
These are used in Enhanced-ACK Based Probing to indicate whether to register or clear the probing.
Enumerator | |
---|---|
OT_LINK_METRICS_ENH_ACK_CLEAR | Clear. |
OT_LINK_METRICS_ENH_ACK_REGISTER | Register. |
otLinkMetricsStatus#
otLinkMetricsStatus
Link Metrics Status values.
Enumerator | |
---|---|
OT_LINK_METRICS_STATUS_SUCCESS | |
OT_LINK_METRICS_STATUS_CANNOT_SUPPORT_NEW_SERIES | |
OT_LINK_METRICS_STATUS_SERIESID_ALREADY_REGISTERED | |
OT_LINK_METRICS_STATUS_SERIESID_NOT_RECOGNIZED | |
OT_LINK_METRICS_STATUS_NO_MATCHING_FRAMES_RECEIVED | |
OT_LINK_METRICS_STATUS_OTHER_ERROR |
Typedef Documentation#
otLinkMetricsValues#
typedef struct otLinkMetricsValues otLinkMetricsValues
Represents the result (value) for a Link Metrics query.
otLinkMetricsSeriesFlags#
typedef struct otLinkMetricsSeriesFlags otLinkMetricsSeriesFlags
Represents which frames are accounted in a Forward Tracking Series.
otLinkMetricsEnhAckFlags#
typedef enum otLinkMetricsEnhAckFlags otLinkMetricsEnhAckFlags
Enhanced-ACK Flags.
These are used in Enhanced-ACK Based Probing to indicate whether to register or clear the probing.
otLinkMetricsStatus#
typedef enum otLinkMetricsStatus otLinkMetricsStatus
Link Metrics Status values.
otLinkMetricsReportCallback#
typedef void(* otLinkMetricsReportCallback) (const otIp6Address *aSource, const otLinkMetricsValues *aMetricsValues, uint8_t aStatus, void *aContext) )(const otIp6Address *aSource, const otLinkMetricsValues *aMetricsValues, uint8_t aStatus, void *aContext)
Pointer is called when a Link Metrics report is received.
Type | Direction | Argument Name | Description |
---|---|---|---|
[in] | aSource | A pointer to the source address. | |
[in] | aMetricsValues | A pointer to the Link Metrics values (the query result). | |
[in] | aStatus | The status code in the report (only useful when | |
[in] | aContext | A pointer to application-specific context. |
otLinkMetricsMgmtResponseCallback#
typedef void(* otLinkMetricsMgmtResponseCallback) (const otIp6Address *aSource, uint8_t aStatus, void *aContext) )(const otIp6Address *aSource, uint8_t aStatus, void *aContext)
Pointer is called when a Link Metrics Management Response is received.
Type | Direction | Argument Name | Description |
---|---|---|---|
[in] | aSource | A pointer to the source address. | |
[in] | aStatus | The status code in the response. | |
[in] | aContext | A pointer to application-specific context. |
otLinkMetricsEnhAckProbingIeReportCallback#
typedef void(* otLinkMetricsEnhAckProbingIeReportCallback) (otShortAddress aShortAddress, const otExtAddress *aExtAddress, const otLinkMetricsValues *aMetricsValues, void *aContext) )(otShortAddress aShortAddress, const otExtAddress *aExtAddress, const otLinkMetricsValues *aMetricsValues, void *aContext)
Pointer is called when Enh-ACK Probing IE is received.
Type | Direction | Argument Name | Description |
---|---|---|---|
[in] | aShortAddress | The Mac short address of the Probing Subject. | |
[in] | aExtAddress | A pointer to the Mac extended address of the Probing Subject. | |
[in] | aMetricsValues | A pointer to the Link Metrics values obtained from the IE. | |
[in] | aContext | A pointer to application-specific context. |
Function Documentation#
otLinkMetricsQuery#
otError otLinkMetricsQuery (otInstance * aInstance, const otIp6Address * aDestination, uint8_t aSeriesId, const otLinkMetrics * aLinkMetricsFlags, otLinkMetricsReportCallback aCallback, void * aCallbackContext)
Sends an MLE Data Request to query Link Metrics.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
const otIp6Address * | [in] | aDestination | A pointer to the destination address. |
uint8_t | [in] | aSeriesId | The Series ID to query about, 0 for Single Probe. |
const otLinkMetrics * | [in] | aLinkMetricsFlags | A pointer to flags specifying what metrics to query. |
otLinkMetricsReportCallback | [in] | aCallback | A pointer to a function that is called when Link Metrics report is received. |
void * | [in] | aCallbackContext | A pointer to application-specific context. |
It could be either Single Probe or Forward Tracking Series.
otLinkMetricsConfigForwardTrackingSeries#
otError otLinkMetricsConfigForwardTrackingSeries (otInstance * aInstance, const otIp6Address * aDestination, uint8_t aSeriesId, otLinkMetricsSeriesFlags aSeriesFlags, const otLinkMetrics * aLinkMetricsFlags, otLinkMetricsMgmtResponseCallback aCallback, void * aCallbackContext)
Sends an MLE Link Metrics Management Request to configure or clear a Forward Tracking Series.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
const otIp6Address * | [in] | aDestination | A pointer to the destination address. |
uint8_t | [in] | aSeriesId | The Series ID to operate with. |
otLinkMetricsSeriesFlags | [in] | aSeriesFlags | The Series Flags that specifies which frames are to be accounted. |
const otLinkMetrics * | [in] | aLinkMetricsFlags | A pointer to flags specifying what metrics to query. Should be |
otLinkMetricsMgmtResponseCallback | [in] | aCallback | A pointer to a function that is called when Link Metrics Management Response is received. |
void * | [in] | aCallbackContext | A pointer to application-specific context. |
otLinkMetricsConfigEnhAckProbing#
otError otLinkMetricsConfigEnhAckProbing (otInstance * aInstance, const otIp6Address * aDestination, otLinkMetricsEnhAckFlags aEnhAckFlags, const otLinkMetrics * aLinkMetricsFlags, otLinkMetricsMgmtResponseCallback aCallback, void * aCallbackContext, otLinkMetricsEnhAckProbingIeReportCallback aEnhAckCallback, void * aEnhAckCallbackContext)
Sends an MLE Link Metrics Management Request to configure/clear an Enhanced-ACK Based Probing.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
const otIp6Address * | [in] | aDestination | A pointer to the destination address. |
otLinkMetricsEnhAckFlags | [in] | aEnhAckFlags | Enh-ACK Flags to indicate whether to register or clear the probing. |
const otLinkMetrics * | [in] | aLinkMetricsFlags | A pointer to flags specifying what metrics to query. Should be |
otLinkMetricsMgmtResponseCallback | [in] | aCallback | A pointer to a function that is called when an Enhanced Ack with Link Metrics is received. |
void * | [in] | aCallbackContext | A pointer to application-specific context. |
otLinkMetricsEnhAckProbingIeReportCallback | N/A | aEnhAckCallback | |
void * | N/A | aEnhAckCallbackContext |
This functionality requires OT_LINK_METRICS_INITIATOR feature enabled.
otLinkMetricsSendLinkProbe#
otError otLinkMetricsSendLinkProbe (otInstance * aInstance, const otIp6Address * aDestination, uint8_t aSeriesId, uint8_t aLength)
Sends an MLE Link Probe message.
Type | Direction | Argument Name | Description |
---|---|---|---|
otInstance * | [in] | aInstance | A pointer to an OpenThread instance. |
const otIp6Address * | [in] | aDestination | A pointer to the destination address. |
uint8_t | [in] | aSeriesId | The Series ID [1, 254] which the Probe message aims at. |
uint8_t | [in] | aLength | The length of the data payload in Link Probe TLV, [0, 64] (per Thread 1.2 spec, 4.4.37). |