This module includes functions that control the Link Metrics protocol.
Classes |
|
struct | otLinkMetrics |
This structure represents what metrics are specified to query.
|
|
struct | otLinkMetricsValues |
This structure represents the result (value) for a Link Metrics query.
|
|
struct | otLinkMetricsSeriesFlags |
This structure represents which frames are accounted in a Forward Tracking Series.
|
Typedefs |
|
typedef struct otLinkMetrics | otLinkMetrics |
This structure represents what metrics are specified to query.
|
|
typedef struct otLinkMetricsValues | otLinkMetricsValues |
This structure represents the result (value) for a Link Metrics query.
|
|
typedef struct otLinkMetricsSeriesFlags | otLinkMetricsSeriesFlags |
This structure represents which frames are accounted in a Forward Tracking Series.
|
|
typedef enum otLinkMetricsStatus | otLinkMetricsStatus |
Link Metrics Status values.
|
|
typedef void(* | otLinkMetricsReportCallback ) (const otIp6Address *aSource, const otLinkMetricsValues *aMetricsValues, uint8_t aStatus, void *aContext) |
This function pointer is called when a Link Metrics report is received.
|
|
typedef void(* | otLinkMetricsMgmtResponseCallback ) (const otIp6Address *aSource, uint8_t aStatus, void *aContext) |
This function pointer is called when a Link Metrics Management Response is received.
|
Enumerations |
|
enum |
otLinkMetricsStatus
: uint8_t {
OT_LINK_METRICS_STATUS_SUCCESS = 0, OT_LINK_METRICS_STATUS_CANNOT_SUPPORT_NEW_SERIES = 1, OT_LINK_METRICS_STATUS_SERIESID_ALREADY_REGISTERED = 2, OT_LINK_METRICS_STATUS_SERIESID_NOT_RECOGNIZED = 3, OT_LINK_METRICS_STATUS_NO_MATCHING_FRAMES_RECEIVED = 4, OT_LINK_METRICS_STATUS_OTHER_ERROR = 254 } |
Link Metrics Status values.
|
Functions |
|
otError | otLinkMetricsQuery ( otInstance *aInstance, const otIp6Address *aDestination, uint8_t aSeriesId, const otLinkMetrics *aLinkMetricsFlags, otLinkMetricsReportCallback aCallback, void *aCallbackContext) |
This function sends an MLE Data Request to query Link Metrics.
|
|
otError | otLinkMetricsConfigForwardTrackingSeries ( otInstance *aInstance, const otIp6Address *aDestination, uint8_t aSeriesId, otLinkMetricsSeriesFlags aSeriesFlags, const otLinkMetrics *aLinkMetricsFlags, otLinkMetricsMgmtResponseCallback aCallback, void *aCallbackContext) |
This function sends an MLE Link Metrics Management Request to configure/clear a Forward Tracking Series.
|
|
otError | otLinkMetricsSendLinkProbe ( otInstance *aInstance, const otIp6Address *aDestination, uint8_t aSeriesId, uint8_t aLength) |
This function sends an MLE Link Probe message.
|
Detailed Description
This module includes functions that control the Link Metrics protocol.
Typedef Documentation
◆ otLinkMetricsMgmtResponseCallback
typedef void(* otLinkMetricsMgmtResponseCallback) (const otIp6Address *aSource, uint8_t aStatus, void *aContext) |
This function pointer is called when a Link Metrics Management Response is received.
- Parameters
-
[in] aSource
A pointer to the source address. [in] aStatus
The status code in the response. [in] aContext
A pointer to application-specific context.
◆ otLinkMetricsReportCallback
typedef void(* otLinkMetricsReportCallback) (const otIp6Address *aSource, const otLinkMetricsValues *aMetricsValues, uint8_t aStatus, void *aContext) |
This function pointer is called when a Link Metrics report is received.
- Parameters
-
[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 aMetricsValues
is NULL).[in] aContext
A pointer to application-specific context.
Function Documentation
◆ otLinkMetricsConfigForwardTrackingSeries()
otError otLinkMetricsConfigForwardTrackingSeries | ( | otInstance * |
aInstance,
|
const otIp6Address * |
aDestination,
|
||
uint8_t |
aSeriesId,
|
||
otLinkMetricsSeriesFlags |
aSeriesFlags,
|
||
const otLinkMetrics * |
aLinkMetricsFlags,
|
||
otLinkMetricsMgmtResponseCallback |
aCallback,
|
||
void * |
aCallbackContext
|
||
) |
This function sends an MLE Link Metrics Management Request to configure/clear a Forward Tracking Series.
- Parameters
-
[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 NULL
whenaSeriesFlags
is0
.[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.
- Return values
-
OT_ERROR_NONE
Successfully sent a Link Metrics Management Request message. OT_ERROR_NO_BUFS
Insufficient buffers to generate the MLE Link Metrics Management Request message. OT_ERROR_INVALID_ARGS
aSeriesId
is not within the valid range.
◆ otLinkMetricsQuery()
otError otLinkMetricsQuery | ( | otInstance * |
aInstance,
|
const otIp6Address * |
aDestination,
|
||
uint8_t |
aSeriesId,
|
||
const otLinkMetrics * |
aLinkMetricsFlags,
|
||
otLinkMetricsReportCallback |
aCallback,
|
||
void * |
aCallbackContext
|
||
) |
This function sends an MLE Data Request to query Link Metrics.
It could be either Single Probe or Forward Tracking Series.
- Parameters
-
[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.
- Return values
-
OT_ERROR_NONE
Successfully sent a Link Metrics query message. OT_ERROR_NO_BUFS
Insufficient buffers to generate the MLE Data Request message.
◆ otLinkMetricsSendLinkProbe()
otError otLinkMetricsSendLinkProbe | ( | otInstance * |
aInstance,
|
const otIp6Address * |
aDestination,
|
||
uint8_t |
aSeriesId,
|
||
uint8_t |
aLength
|
||
) |
This function sends an MLE Link Probe message.
- Parameters
-
[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.
- Return values
-
OT_ERROR_NONE
Successfully sent a Link Probe message. OT_ERROR_NO_BUFS
Insufficient buffers to generate the MLE Link Probe message. OT_ERROR_INVALID_ARGS
aSeriesId
oraLength
is not within the valid range.