Link Metrics#
This module includes functions that control the Link Metrics protocol.
Modules#
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.
If Link Metrics Manager is enabled.
Enable or disable Link Metrics Manager.
Get Link Metrics data of a neighbor by its extended address.
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. |
88
of file include/openthread/link_metrics.h
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 |
98
of file include/openthread/link_metrics.h
Typedef Documentation#
otLinkMetricsValues#
typedef struct otLinkMetricsValues otLinkMetricsValues
Represents the result (value) for a Link Metrics query.
68
of file include/openthread/link_metrics.h
otLinkMetricsSeriesFlags#
typedef struct otLinkMetricsSeriesFlags otLinkMetricsSeriesFlags
Represents which frames are accounted in a Forward Tracking Series.
80
of file include/openthread/link_metrics.h
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.
92
of file include/openthread/link_metrics.h
otLinkMetricsStatus#
typedef enum otLinkMetricsStatus otLinkMetricsStatus
Link Metrics Status values.
106
of file include/openthread/link_metrics.h
otLinkMetricsReportCallback#
typedef void(* otLinkMetricsReportCallback) (const otIp6Address *aSource, const otLinkMetricsValues *aMetricsValues, otLinkMetricsStatus aStatus, void *aContext) )(const otIp6Address *aSource, const otLinkMetricsValues *aMetricsValues, otLinkMetricsStatus aStatus, void *aContext)
Pointer is called when a Link Metrics report is received.
[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. |
117
of file include/openthread/link_metrics.h
otLinkMetricsMgmtResponseCallback#
typedef void(* otLinkMetricsMgmtResponseCallback) (const otIp6Address *aSource, otLinkMetricsStatus aStatus, void *aContext) )(const otIp6Address *aSource, otLinkMetricsStatus aStatus, void *aContext)
Pointer is called when a Link Metrics Management Response is received.
[in] | aSource | A pointer to the source address. |
[in] | aStatus | The status code in the response. |
[in] | aContext | A pointer to application-specific context. |
129
of file include/openthread/link_metrics.h
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.
[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. |
142
of file include/openthread/link_metrics.h
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.
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aDestination | A pointer to the destination address. |
[in] | aSeriesId | The Series ID to query about, 0 for Single Probe. |
[in] | aLinkMetricsFlags | A pointer to flags specifying what metrics to query. |
[in] | aCallback | A pointer to a function that is called when Link Metrics report is received. |
[in] | aCallbackContext | A pointer to application-specific context. |
It could be either Single Probe or Forward Tracking Series.
165
of file include/openthread/link_metrics.h
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.
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aDestination | A pointer to the destination address. |
[in] | aSeriesId | The Series ID to operate with. |
[in] | aSeriesFlags | The Series Flags that specifies which frames are to be accounted. |
[in] | aLinkMetricsFlags | A pointer to flags specifying what metrics to query. Should be |
[in] | aCallback | A pointer to a function that is called when Link Metrics Management Response is received. |
[in] | aCallbackContext | A pointer to application-specific context. |
192
of file include/openthread/link_metrics.h
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.
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aDestination | A pointer to the destination address. |
[in] | aEnhAckFlags | Enh-ACK Flags to indicate whether to register or clear the probing. |
[in] | aLinkMetricsFlags | A pointer to flags specifying what metrics to query. Should be |
[in] | aCallback | A pointer to a function that is called when an Enhanced Ack with Link Metrics is received. |
[in] | aCallbackContext | A pointer to application-specific context. |
N/A | aEnhAckCallback | |
N/A | aEnhAckCallbackContext |
This functionality requires OT_LINK_METRICS_INITIATOR feature enabled.
221
of file include/openthread/link_metrics.h
otLinkMetricsSendLinkProbe#
otError otLinkMetricsSendLinkProbe (otInstance * aInstance, const otIp6Address * aDestination, uint8_t aSeriesId, uint8_t aLength)
Sends an MLE Link Probe message.
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aDestination | A pointer to the destination address. |
[in] | aSeriesId | The Series ID [1, 254] which the Probe message aims at. |
[in] | aLength | The length of the data payload in Link Probe TLV, [0, 64] (per Thread 1.2 spec, 4.4.37). |
245
of file include/openthread/link_metrics.h
otLinkMetricsManagerIsEnabled#
bool otLinkMetricsManagerIsEnabled (otInstance * aInstance)
If Link Metrics Manager is enabled.
[in] | aInstance | A pointer to an OpenThread instance. |
259
of file include/openthread/link_metrics.h
otLinkMetricsManagerSetEnabled#
void otLinkMetricsManagerSetEnabled (otInstance * aInstance, bool aEnable)
Enable or disable Link Metrics Manager.
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aEnable | A boolean indicating to enable or disable. |
268
of file include/openthread/link_metrics.h
otLinkMetricsManagerGetMetricsValueByExtAddr#
otError otLinkMetricsManagerGetMetricsValueByExtAddr (otInstance * aInstance, const otExtAddress * aExtAddress, otLinkMetricsValues * aLinkMetricsValues)
Get Link Metrics data of a neighbor by its extended address.
[in] | aInstance | A pointer to an OpenThread instance. |
[in] | aExtAddress | A pointer to the Mac extended address of the Probing Subject. |
[out] | aLinkMetricsValues | A pointer to the Link Metrics values of the subject. |
282
of file include/openthread/link_metrics.h