Router/líder

En este módulo, se incluyen funciones para líderes y routers de Thread.

Resumen

Enumeraciones

otCacheEntryState enum
Define el estado de entrada de la caché del EID.
otNeighborTableEvent{
  OT_NEIGHBOR_TABLE_EVENT_CHILD_ADDED,
  OT_NEIGHBOR_TABLE_EVENT_CHILD_REMOVED,
  OT_NEIGHBOR_TABLE_EVENT_CHILD_MODE_CHANGED,
  OT_NEIGHBOR_TABLE_EVENT_ROUTER_ADDED,
  OT_NEIGHBOR_TABLE_EVENT_ROUTER_REMOVED
}
enum
Define las constantes que se usan en otNeighborTableCallback para indicar cambios en la tabla de vecinos.
otPowerSupply{
  OT_POWER_SUPPLY_BATTERY = 0,
  OT_POWER_SUPPLY_EXTERNAL = 1,
  OT_POWER_SUPPLY_EXTERNAL_STABLE = 2,
  OT_POWER_SUPPLY_EXTERNAL_UNSTABLE = 3
}
enum
Representa la propiedad de la fuente de alimentación de un dispositivo.

Typedefs

otCacheEntryInfo typedef
Representa una entrada de caché del EID.
otCacheEntryIterator typedef
Representa un iterador que se usa para la iteración a través de las entradas de la tabla de caché del EID.
otCacheEntryState typedef
Define el estado de entrada de la caché del EID.
otChildIp6AddressIterator typedef
uint16_t
Se usa para iterar a través de direcciones IPv6 de una entrada secundaria del subproceso.
otDeviceProperties typedef
Representa las propiedades del dispositivo que se usan para calcular el peso del líder local en un dispositivo.
otNeighborTableCallback)(otNeighborTableEvent aEvent, const otNeighborTableEntryInfo *aEntryInfo) typedef
void(*
Se llama al puntero para notificar que hay un cambio en la tabla de vecinos.

remotas

otThreadBecomeLeader(otInstance *aInstance)
Conviértete en líder y comienza una nueva partición.
otThreadBecomeRouter(otInstance *aInstance)
Intenta convertirte en un router.
otThreadGetAdvertisementTrickleIntervalMax(otInstance *aInstance)
uint32_t
Obtiene el valor máximo de intervalo actual que usa el temporizador de goteo de anuncios.
otThreadGetChildInfoById(otInstance *aInstance, uint16_t aChildId, otChildInfo *aChildInfo)
Obtiene información de diagnóstico de un elemento secundario adjunto mediante su ID secundario o RLOC16.
otThreadGetChildInfoByIndex(otInstance *aInstance, uint16_t aChildIndex, otChildInfo *aChildInfo)
La función retiene la información de diagnóstico de un elemento secundario adjunto según el índice de tabla interno.
otThreadGetChildNextIp6Address(otInstance *aInstance, uint16_t aChildIndex, otChildIp6AddressIterator *aIterator, otIp6Address *aAddress)
Obtiene la siguiente dirección IPv6 (mediante un iterador) para un elemento secundario determinado.
otThreadGetChildRouterLinks(otInstance *aInstance)
uint8_t
Obtén el parámetro MLE_CHILD_ROUTER_LINKS que se usa en el rol REED.
otThreadGetContextIdReuseDelay(otInstance *aInstance)
uint32_t
Obtén el parámetro CONTEXT_ID_REUSE_ locales que se usa en el rol de líder.
otThreadGetDeviceProperties(otInstance *aInstance)
Obtén las propiedades actuales del dispositivo.
otThreadGetJoinerUdpPort(otInstance *aInstance)
uint16_t
Obtiene el puerto UDP del Joiner.
otThreadGetLocalLeaderWeight(otInstance *aInstance)
uint8_t
Obtiene el peso del líder de Thread que se usa cuando se opera en el rol de líder.
otThreadGetMaxAllowedChildren(otInstance *aInstance)
uint16_t
Obtiene la cantidad máxima de niños que se permiten actualmente.
otThreadGetMaxChildIpAddresses(otInstance *aInstance)
uint8_t
Obtiene la cantidad máxima de direcciones IP que cada campo secundario de MTD puede registrar con este dispositivo como superior.
otThreadGetMaxRouterId(otInstance *aInstance)
uint8_t
La función muestra el ID de router máximo permitido.
otThreadGetNetworkIdTimeout(otInstance *aInstance)
uint8_t
Obtén el parámetro NETWORK_ID_TIMEOUT.
otThreadGetNextCacheEntry(otInstance *aInstance, otCacheEntryInfo *aEntryInfo, otCacheEntryIterator *aIterator)
Obtiene la siguiente entrada de caché del EID (mediante un iterador).
otThreadGetNextHopAndPathCost(otInstance *aInstance, uint16_t aDestRloc16, uint16_t *aNextHopRloc16, uint8_t *aPathCost)
void
Obtiene el costo del próximo salto y la ruta hacia un destino de RLOC16 determinado.
otThreadGetParentPriority(otInstance *aInstance)
int8_t
Obtén la prioridad superior asignada.
otThreadGetPreferredLeaderPartitionId(otInstance *aInstance)
uint32_t
Obtén el ID de partición de líder de subprocesos preferido que se usa cuando operas en el rol de líder.
otThreadGetPskc(otInstance *aInstance, otPskc *aPskc)
void
Obtén la PSKc de Thread.
otThreadGetPskcRef(otInstance *aInstance)
Se obtiene la referencia clave de la PSKc del subproceso almacenada.
otThreadGetRouterDowngradeThreshold(otInstance *aInstance)
uint8_t
Obtén el parámetro ROUTER_DOWNGRADE_THRESHOLD usado en la función de router.
otThreadGetRouterIdRange(otInstance *aInstance, uint8_t *aMinRouterId, uint8_t *aMaxRouterId)
void
Obtiene el rango de ID de router que se pueden asignar a nodos dentro de la red del subproceso.
otThreadGetRouterIdSequence(otInstance *aInstance)
uint8_t
Obtén la secuencia actual del ID del router.
otThreadGetRouterInfo(otInstance *aInstance, uint16_t aRouterId, otRouterInfo *aRouterInfo)
La función retiene la información de diagnóstico de un router de Thread determinado.
otThreadGetRouterSelectionJitter(otInstance *aInstance)
uint8_t
Obtén el parámetro ROUTER_SELECTION_JITTER que se usa en el rol REED/Router.
otThreadGetRouterUpgradeThreshold(otInstance *aInstance)
uint8_t
Obtén el parámetro ROUTER_UPGRADE_THRESHOLD que se usa en el rol REED.
otThreadIsRouterEligible(otInstance *aInstance)
bool
Indica si el dispositivo es compatible con el router o no.
otThreadIsRouterIdAllocated(otInstance *aInstance, uint8_t aRouterId)
bool
Indica si un ID de router está asignado actualmente.
otThreadRegisterNeighborTableCallback(otInstance *aInstance, otNeighborTableCallback aCallback)
void
Registra una función de devolución de llamada de tabla de vecinos.
otThreadReleaseRouterId(otInstance *aInstance, uint8_t aRouterId)
Libera un ID de router que asignó el dispositivo en la función de líder.
otThreadSetCcmEnabled(otInstance *aInstance, bool aEnabled)
void
Establece si el dispositivo se encargó mediante CCM.
otThreadSetChildRouterLinks(otInstance *aInstance, uint8_t aChildRouterLinks)
Establece el parámetro MLE_CHILD_ROUTER_LINKS que se usa en el rol REED.
otThreadSetContextIdReuseDelay(otInstance *aInstance, uint32_t aDelay)
void
Establece el parámetro CONTEXT_ID_REUSE_ locales que se usa en la función de líder.
otThreadSetDeviceProperties(otInstance *aInstance, const otDeviceProperties *aDeviceProperties)
void
Configura las propiedades del dispositivo que luego se usan para determinar y establecer la ponderación líder.
otThreadSetJoinerUdpPort(otInstance *aInstance, uint16_t aJoinerUdpPort)
Configura el puerto UDP del Joiner.
otThreadSetLocalLeaderWeight(otInstance *aInstance, uint8_t aWeight)
void
Establece el peso del líder de subprocesos que se usa cuando se opera en el rol de líder.
otThreadSetMaxAllowedChildren(otInstance *aInstance, uint16_t aMaxChildren)
Establece la cantidad máxima de niños que se permiten actualmente.
otThreadSetMaxChildIpAddresses(otInstance *aInstance, uint8_t aMaxIpAddresses)
Establece o restablece la cantidad máxima de direcciones IP que cada campo secundario de MTD puede registrar con este dispositivo como superior.
otThreadSetNetworkIdTimeout(otInstance *aInstance, uint8_t aTimeout)
void
Establece el parámetro NETWORK_ID_TIMEOUT.
otThreadSetParentPriority(otInstance *aInstance, int8_t aParentPriority)
Establece la prioridad superior.
otThreadSetPreferredLeaderPartitionId(otInstance *aInstance, uint32_t aPartitionId)
void
Establece el ID de partición líder de subprocesos preferido que se usa cuando se opera en el rol de líder.
otThreadSetPreferredRouterId(otInstance *aInstance, uint8_t aRouterId)
Establece el ID de router preferido.
otThreadSetPskc(otInstance *aInstance, const otPskc *aPskc)
Configura la PSKc de Thread.
otThreadSetPskcRef(otInstance *aInstance, otPskcRef aKeyRef)
Establece la referencia de clave en la PSKc del subproceso.
otThreadSetRouterDowngradeThreshold(otInstance *aInstance, uint8_t aThreshold)
void
Establece el parámetro ROUTER_DOWNGRADE_THRESHOLD utilizado en el rol de líder.
otThreadSetRouterEligible(otInstance *aInstance, bool aEligible)
Establece si el dispositivo es compatible con el router o no.
otThreadSetRouterIdRange(otInstance *aInstance, uint8_t aMinRouterId, uint8_t aMaxRouterId)
Establece el rango de ID de router que pueden asignarse a nodos dentro de la red del Thread.
otThreadSetRouterSelectionJitter(otInstance *aInstance, uint8_t aRouterJitter)
void
Establece el parámetro ROUTER_SELECTION_JITTER que se usa en el rol REED/Router.
otThreadSetRouterUpgradeThreshold(otInstance *aInstance, uint8_t aThreshold)
void
Establece el parámetro ROUTER_UPGRADE_THRESHOLD utilizado en el rol de líder.
otThreadSetSteeringData(otInstance *aInstance, const otExtAddress *aExtAddress)
void
Configura los datos de direccionamiento fuera de banda.
otThreadSetThreadVersionCheckEnabled(otInstance *aInstance, bool aEnabled)
void
Establece si el umbral de versión del TLV de la política de seguridad para el enrutamiento (campo de RV) está habilitado.

Structs

otCacheEntryInfo

Representa una entrada de caché del EID.

otCacheEntryIterator

Representa un iterador que se usa para la iteración a través de las entradas de la tabla de caché del EID.

otChildInfo

Contiene información de diagnóstico para un elemento secundario de Thread.

otDeviceProperties

Representa las propiedades del dispositivo que se usan para calcular el peso del líder local en un dispositivo.

otNeighborTableEntryInfo

Representa la información de una entrada de tabla de vecinos (secundarios o routers) y se usa como parámetro en la devolución de llamada otNeighborTableCallback de la tabla de vecinos.

Enumeraciones

otCacheEntryState

 otCacheEntryState

Define el estado de entrada de la caché del EID.

otNeighborTableEvent

 otNeighborTableEvent

Define las constantes que se usan en otNeighborTableCallback para indicar cambios en la tabla de vecinos.

Propiedades
OT_NEIGHBOR_TABLE_EVENT_CHILD_ADDED

Se está agregando un elemento secundario.

OT_NEIGHBOR_TABLE_EVENT_CHILD_MODE_CHANGED

Se cambió el modo de un elemento secundario existente.

OT_NEIGHBOR_TABLE_EVENT_CHILD_REMOVED

Se está quitando a un niño.

OT_NEIGHBOR_TABLE_EVENT_ROUTER_ADDED

Se está agregando un router.

OT_NEIGHBOR_TABLE_EVENT_ROUTER_REMOVED

Se está quitando un router.

otPowerSupply

 otPowerSupply

Representa la propiedad de la fuente de alimentación de un dispositivo.

Se usa como propiedad en otDeviceProperties para calcular el peso del líder.

Propiedades
OT_POWER_SUPPLY_BATTERY

Con batería.

OT_POWER_SUPPLY_EXTERNAL

Alimentación externa (alimentación principal).

OT_POWER_SUPPLY_EXTERNAL_STABLE

Energía externa estable con una batería de respaldo o UPS

OT_POWER_SUPPLY_EXTERNAL_UNSTABLE

Extensión de alimentación potencialmente inestable (p.ej., bombilla que se enciende mediante un interruptor).

Typedefs

otCacheEntryInfo

struct otCacheEntryInfo otCacheEntryInfo

Representa una entrada de caché del EID.

otCacheEntryIterator

struct otCacheEntryIterator otCacheEntryIterator

Representa un iterador que se usa para la iteración a través de las entradas de la tabla de caché del EID.

Para inicializar el iterador y comenzar desde la primera entrada en la tabla de caché, establece todos sus campos en la estructura en cero (p.ej., memset es el iterador a cero).

otCacheEntryState

enum otCacheEntryState otCacheEntryState

Define el estado de entrada de la caché del EID.

otChildIp6AddressIterator

uint16_t otChildIp6AddressIterator

Se usa para iterar a través de direcciones IPv6 de una entrada secundaria del subproceso.

otDeviceProperties

struct otDeviceProperties otDeviceProperties

Representa las propiedades del dispositivo que se usan para calcular el peso del líder local en un dispositivo.

Los parámetros se establecen en función de las capacidades del dispositivo, ya sea como router de borde, su configuración de fuente de alimentación, etcétera.

mIsUnstable indica la estabilidad operativa del dispositivo y se determina mediante un mecanismo específico del proveedor. Puede incluir los siguientes casos:

  • El dispositivo detecta internamente que pierde la fuente de alimentación externa con mayor frecuencia de la habitual. El proveedor determina lo que es usualmente.
  • El dispositivo detecta internamente que se reinicia con más frecuencia de la habitual. El proveedor determina lo que es usualmente.

otNeighborTableCallback

void(* otNeighborTableCallback)(otNeighborTableEvent aEvent, const otNeighborTableEntryInfo *aEntryInfo)

Se llama al puntero para notificar que hay un cambio en la tabla de vecinos.

Detalles
Parámetros
[in] aEvent
Una marca de evento
[in] aEntryInfo
Un puntero a la información de entrada de la tabla.

remotas

otThreadBecomeLeader

otError otThreadBecomeLeader(
  otInstance *aInstance
)

Conviértete en líder y comienza una nueva partición.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Valores que se muestran
OT_ERROR_NONE
Se convirtió con éxito en líder y se inició una nueva partición.
OT_ERROR_INVALID_STATE
La conversación está inhabilitada.

otThreadBecomeRouter

otError otThreadBecomeRouter(
  otInstance *aInstance
)

Intenta convertirte en un router.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Valores que se muestran
OT_ERROR_NONE
Se inició correctamente el intento de convertirse en router.
OT_ERROR_INVALID_STATE
La conversación está inhabilitada.

otThreadGetAdvertisementTrickleIntervalMax

uint32_t otThreadGetAdvertisementTrickleIntervalMax(
  otInstance *aInstance
)

Obtiene el valor máximo de intervalo actual que usa el temporizador de goteo de anuncios.

Esta API requiere OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE y está destinada solo para pruebas.

Detalles
Qué muestra
El temporizador de goteo de intervalo máximo de anuncios en milisegundos.

otThreadGetChildInfoById

otError otThreadGetChildInfoById(
  otInstance *aInstance,
  uint16_t aChildId,
  otChildInfo *aChildInfo
)

Obtiene información de diagnóstico de un elemento secundario adjunto mediante su ID secundario o RLOC16.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aChildId
El ID del publicador secundario o RLOC16 del campo secundario adjunto.
[out] aChildInfo
Un puntero hacia el lugar donde se coloca la información secundaria.
Valores que se muestran
OT_ERROR_NONE
aChildInfo se actualizó correctamente con la información del ID proporcionado.
OT_ERROR_NOT_FOUND
No hay ningún hijo o hija válido con este ID.
OT_ERROR_INVALID_ARGS
Si aChildInfo es NULO.

otThreadGetChildInfoByIndex

otError otThreadGetChildInfoByIndex(
  otInstance *aInstance,
  uint16_t aChildIndex,
  otChildInfo *aChildInfo
)

La función retiene la información de diagnóstico de un elemento secundario adjunto según el índice de tabla interno.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aChildIndex
El índice de la tabla.
[out] aChildInfo
Un puntero hacia el lugar donde se coloca la información secundaria.
Valores que se muestran
OT_ERROR_NONE
aChildInfo se actualizó correctamente con la información del índice especificado.
OT_ERROR_NOT_FOUND
No hay ningún elemento secundario válido en este índice.
OT_ERROR_INVALID_ARGS
El valor de aChildInfo es NULL o aChildIndex está fuera del rango (superior al índice máximo de tabla).
Consulta también:
otGetMaxAllowedNiños

otThreadGetChildNextIp6Address

otError otThreadGetChildNextIp6Address(
  otInstance *aInstance,
  uint16_t aChildIndex,
  otChildIp6AddressIterator *aIterator,
  otIp6Address *aAddress
)

Obtiene la siguiente dirección IPv6 (mediante un iterador) para un elemento secundario determinado.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aChildIndex
El índice secundario.
[in,out] aIterator
Un puntero al iterador. Si se ejecuta de forma correcta, el iterador se actualizará para que apunte a la siguiente entrada de la lista. Para obtener la primera dirección IPv6, el iterador se debe configurar como OT_CHILD_IP6_ADDRESS_ITERATOR_INIT.
[out] aAddress
Un puntero a una dirección IPv6 en la que se ubica la siguiente dirección del campo secundario (cuando se realiza de forma correcta).
Valores que se muestran
OT_ERROR_NONE
Se encontró correctamente la siguiente dirección IPv6 (aAddress se actualizó correctamente).
OT_ERROR_NOT_FOUND
El campo secundario no tiene ninguna entrada de dirección IPv6 posterior.
OT_ERROR_INVALID_ARGS
aIterator o aAddress son NULL, o el elemento secundario en aChildIndex no es válido.
Consulta también:
otThreadGetChildInfoByIndex

uint8_t otThreadGetChildRouterLinks(
  otInstance *aInstance
)

Obtén el parámetro MLE_CHILD_ROUTER_LINKS que se usa en el rol REED.

Este parámetro especifica el número máximo de routers cercanos con los que el dispositivo (como FED) intentará establecer su vínculo.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
El valor MLE_CHILD_ROUTER_LINKS.
Consulta también:
otThreadSetChildRouterLinks

otThreadGetContextIdReuseDelay

uint32_t otThreadGetContextIdReuseDelay(
  otInstance *aInstance
)

Obtén el parámetro CONTEXT_ID_REUSE_ locales que se usa en el rol de líder.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
Es el valor de CONTEXT_ID_REUSE_MANAGE.
Consulta también:
otThreadSetContextIdReuseDelay

otThreadGetDeviceProperties

const otDeviceProperties * otThreadGetDeviceProperties(
  otInstance *aInstance
)

Obtén las propiedades actuales del dispositivo.

Requiere OPENTHREAD_CONFIG_MLE_DEVICE_PROPERTY_LEADER_WEIGHT_ENABLE.

Detalles
Qué muestra
Las propiedades del dispositivo otDeviceProperties.

otThreadGetJoinerUdpPort

uint16_t otThreadGetJoinerUdpPort(
  otInstance *aInstance
)

Obtiene el puerto UDP del Joiner.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
El número del puerto UDP del Joiner.
Consulta también:
otThreadSetJoinerUdpPort

otThreadGetLocalLeaderWeight

uint8_t otThreadGetLocalLeaderWeight(
  otInstance *aInstance
)

Obtiene el peso del líder de Thread que se usa cuando se opera en el rol de líder.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
Es el valor del peso del líder del subproceso.
Consulta también:
otThreadSetLeaderWeight
otThreadSetDeviceProperties

otThreadGetMaxAllowedChildren

uint16_t otThreadGetMaxAllowedChildren(
  otInstance *aInstance
)

Obtiene la cantidad máxima de niños que se permiten actualmente.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
La cantidad máxima de niños que se permiten actualmente.
Consulta también:
otThreadSetMaxAllowedChildren

otThreadGetMaxChildIpAddresses

uint8_t otThreadGetMaxChildIpAddresses(
  otInstance *aInstance
)

Obtiene la cantidad máxima de direcciones IP que cada campo secundario de MTD puede registrar con este dispositivo como superior.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
Cantidad máxima de direcciones IP que cada campo secundario de MTD puede registrar con este dispositivo como superior.
Consulta también:
otThreadSetMaxChildIpAddresses

otThreadGetMaxRouterId

uint8_t otThreadGetMaxRouterId(
  otInstance *aInstance
)

La función muestra el ID de router máximo permitido.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
El ID máximo de router permitido.

otThreadGetNetworkIdTimeout

uint8_t otThreadGetNetworkIdTimeout(
  otInstance *aInstance
)

Obtén el parámetro NETWORK_ID_TIMEOUT.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
Es el valor NETWORK_ID_TIMEOUT.
Consulta también:
otThreadSetNetworkIdTimeout

otThreadGetNextCacheEntry

otError otThreadGetNextCacheEntry(
  otInstance *aInstance,
  otCacheEntryInfo *aEntryInfo,
  otCacheEntryIterator *aIterator
)

Obtiene la siguiente entrada de caché del EID (mediante un iterador).

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[out] aEntryInfo
Un puntero hacia donde se coloca la información de la entrada de caché del EID.
[in,out] aIterator
Un puntero para un iterador. Se actualizará para que apunte a la siguiente entrada si se realizó correctamente. Para obtener la primera entrada, inicializa el iterador configurando todos sus campos en cero (p.ej., memset es la estructura del iterador a cero).
Valores que se muestran
OT_ERROR_NONE
Se propagó correctamente aEntryInfo para la próxima entrada de caché del EID.
OT_ERROR_NOT_FOUND
No hay más entradas en la tabla de caché de direcciones.

otThreadGetNextHopAndPathCost

void otThreadGetNextHopAndPathCost(
  otInstance *aInstance,
  uint16_t aDestRloc16,
  uint16_t *aNextHopRloc16,
  uint8_t *aPathCost
)

Obtiene el costo del próximo salto y la ruta hacia un destino de RLOC16 determinado.

Se puede usar si aNextHopRloc16 o aPathCost son NULL, lo que indica que el emisor no desea obtener el valor.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aDestRloc16
La RLOC16 de destino.
[out] aNextHopRloc16
Un puntero para mostrar RLOC16 del siguiente salto, 0xfffe si no hay próximo salto.
[out] aPathCost
Un puntero para mostrar el costo de la ruta hacia el destino.

otThreadGetParentPriority

int8_t otThreadGetParentPriority(
  otInstance *aInstance
)

Obtén la prioridad superior asignada.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
El valor de prioridad principal asignado, -2, significa que no está asignado.
Consulta también:
otThreadSetParentPriority

otThreadGetPreferredLeaderPartitionId

uint32_t otThreadGetPreferredLeaderPartitionId(
  otInstance *aInstance
)

Obtén el ID de partición de líder de subprocesos preferido que se usa cuando operas en el rol de líder.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
Es el valor del ID de partición del líder de subprocesos.

otThreadGetPskc

void otThreadGetPskc(
  otInstance *aInstance,
  otPskc *aPskc
)

Obtén la PSKc de Thread.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[out] aPskc
Un puntero para un otPskc para mostrar el PSKc del subproceso recuperado.
Consulta también:
otThreadSetPskc

otThreadGetPskcRef

otPskcRef otThreadGetPskcRef(
  otInstance *aInstance
)

Se obtiene la referencia clave de la PSKc del subproceso almacenada.

Requiere que se habilite la función de tiempo de compilación OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
Referencia clave a PSKc
Consulta también:
otThreadSetPskcRef

otThreadGetRouterDowngradeThreshold

uint8_t otThreadGetRouterDowngradeThreshold(
  otInstance *aInstance
)

Obtén el parámetro ROUTER_DOWNGRADE_THRESHOLD usado en la función de router.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
Es el valor ROUTER_DOWNGRADE_THRESHOLD.
Consulta también:
otThreadSetRouterDowngradeThreshold

otThreadGetRouterIdRange

void otThreadGetRouterIdRange(
  otInstance *aInstance,
  uint8_t *aMinRouterId,
  uint8_t *aMaxRouterId
)

Obtiene el rango de ID de router que se pueden asignar a nodos dentro de la red del subproceso.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[out] aMinRouterId
El ID mínimo del router.
[out] aMaxRouterId
El ID máximo del router.
Consulta también:
otThreadSetRouterIdRange

otThreadGetRouterIdSequence

uint8_t otThreadGetRouterIdSequence(
  otInstance *aInstance
)

Obtén la secuencia actual del ID del router.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
La secuencia del ID de router.

otThreadGetRouterInfo

otError otThreadGetRouterInfo(
  otInstance *aInstance,
  uint16_t aRouterId,
  otRouterInfo *aRouterInfo
)

La función retiene la información de diagnóstico de un router de Thread determinado.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aRouterId
El ID del router o RLOC16 de un router determinado.
[out] aRouterInfo
Un puntero en el lugar en el que se coloca la información del router.
Valores que se muestran
OT_ERROR_NONE
Se recuperó correctamente la información del router para el ID especificado.
OT_ERROR_NOT_FOUND
No hay ninguna entrada del router con el ID especificado.
OT_ERROR_INVALID_ARGS
aRouterInfo es NULO.

otThreadGetRouterSelectionJitter

uint8_t otThreadGetRouterSelectionJitter(
  otInstance *aInstance
)

Obtén el parámetro ROUTER_SELECTION_JITTER que se usa en el rol REED/Router.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
El valor ROUTER_SELECTION_JITTER.
Consulta también:
otThreadSetRouterSelectionJitter

otThreadGetRouterUpgradeThreshold

uint8_t otThreadGetRouterUpgradeThreshold(
  otInstance *aInstance
)

Obtén el parámetro ROUTER_UPGRADE_THRESHOLD que se usa en el rol REED.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
Es el valor de ROUTER_UPGRADE_THRESHOLD.
Consulta también:
otThreadSetRouterUpgradeThreshold

otThreadIsRouterEligible

bool otThreadIsRouterEligible(
  otInstance *aInstance
)

Indica si el dispositivo es compatible con el router o no.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Valores que se muestran
TRUE
Si el dispositivo es compatible con un router.
FALSE
Si el dispositivo no es compatible con un router.

otThreadIsRouterIdAllocated

bool otThreadIsRouterIdAllocated(
  otInstance *aInstance,
  uint8_t aRouterId
)

Indica si un ID de router está asignado actualmente.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aRouterId
El ID del router que se debe comprobar.
Valores que se muestran
TRUE
Se asigna aRouterId.
FALSE
aRouterId no está asignado.

otThreadRegisterNeighborTableCallback

void otThreadRegisterNeighborTableCallback(
  otInstance *aInstance,
  otNeighborTableCallback aCallback
)

Registra una función de devolución de llamada de tabla de vecinos.

La devolución de llamada proporcionada (si no es NULL) se invocará cuando haya un cambio en la tabla de vecino (p.ej., cuando se agregue o se quite una entrada secundaria o de vecino del router, o se cambie el modo de un elemento secundario existente).

Las llamadas posteriores a este método reemplazarán la devolución de llamada anterior. Ten en cuenta que esta devolución de llamada se invoca mientras se actualiza la tabla vecino/secundaria y siempre antes de la otStateChangedCallback.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aCallback
Un puntero para la función de controlador de devolución de llamada.

otThreadReleaseRouterId

otError otThreadReleaseRouterId(
  otInstance *aInstance,
  uint8_t aRouterId
)

Libera un ID de router que asignó el dispositivo en la función de líder.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aRouterId
El ID del router que se liberará. El rango válido es [0, 62].
Valores que se muestran
OT_ERROR_NONE
El ID del router se liberó correctamente.
OT_ERROR_INVALID_ARGS
aRouterId no está en el rango [0, 62].
OT_ERROR_INVALID_STATE
El dispositivo no está funcionando como líder en este momento.
OT_ERROR_NOT_FOUND
El ID del router no está asignado en este momento.

otThreadSetCcmEnabled

void otThreadSetCcmEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Establece si el dispositivo se encargó mediante CCM.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aEnabled
TRUE si el dispositivo se encargó mediante CCM, de lo contrario, FALSE
otError otThreadSetChildRouterLinks(
  otInstance *aInstance,
  uint8_t aChildRouterLinks
)

Establece el parámetro MLE_CHILD_ROUTER_LINKS que se usa en el rol REED.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aChildRouterLinks
El valor MLE_CHILD_ROUTER_LINKS.
Valores que se muestran
OT_ERROR_NONE
El valor se estableció correctamente.
OT_ERROR_INVALID_STATE
Los protocolos de subprocesos están habilitados.
Consulta también:
otThreadGetChildRouterLinks

otThreadSetContextIdReuseDelay

void otThreadSetContextIdReuseDelay(
  otInstance *aInstance,
  uint32_t aDelay
)

Establece el parámetro CONTEXT_ID_REUSE_ locales que se usa en la función de líder.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aDelay
Es el valor de CONTEXT_ID_REUSE_MANAGE.
Consulta también:
otThreadGetContextIdReuseDelay

otThreadSetDeviceProperties

void otThreadSetDeviceProperties(
  otInstance *aInstance,
  const otDeviceProperties *aDeviceProperties
)

Configura las propiedades del dispositivo que luego se usan para determinar y establecer la ponderación líder.

Requiere OPENTHREAD_CONFIG_MLE_DEVICE_PROPERTY_LEADER_WEIGHT_ENABLE.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aDeviceProperties
Las propiedades del dispositivo

otThreadSetJoinerUdpPort

otError otThreadSetJoinerUdpPort(
  otInstance *aInstance,
  uint16_t aJoinerUdpPort
)

Configura el puerto UDP del Joiner.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aJoinerUdpPort
El número del puerto UDP del Joiner.
Valores que se muestran
OT_ERROR_NONE
El puerto UDP del Joiner se configuró correctamente.
Consulta también:
otThreadGetJoinerUdpPort

otThreadSetLocalLeaderWeight

void otThreadSetLocalLeaderWeight(
  otInstance *aInstance,
  uint8_t aWeight
)

Establece el peso del líder de subprocesos que se usa cuando se opera en el rol de líder.

Establece directamente la ponderación líder en el valor nuevo y reemplaza su valor anterior (que se puede determinar a partir del otDeviceProperties actual).

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aWeight
Es el valor del peso del líder del subproceso.
Consulta también:
otThreadGetLeaderWeight

otThreadSetMaxAllowedChildren

otError otThreadSetMaxAllowedChildren(
  otInstance *aInstance,
  uint16_t aMaxChildren
)

Establece la cantidad máxima de niños que se permiten actualmente.

Este parámetro solo se puede establecer cuando se detiene la operación del protocolo Thread.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMaxChildren
Es el número máximo de niños que se permiten.
Valores que se muestran
OT_ERROR_NONE
Se establecieron correctamente los precios de oferta de CPC máx.
OT_ERROR_INVALID_ARGS
Si aMaxChildren no está en el rango [1, OPENTHREAD_CONFIG_MLE_MAX_CHILDREN].
OT_ERROR_INVALID_STATE
Si no se detiene Thread.
Consulta también:
otThreadGetMaxAllowedChildren

otThreadSetMaxChildIpAddresses

otError otThreadSetMaxChildIpAddresses(
  otInstance *aInstance,
  uint8_t aMaxIpAddresses
)

Establece o restablece la cantidad máxima de direcciones IP que cada campo secundario de MTD puede registrar con este dispositivo como superior.

Pasa 0 para borrar el parámetro de configuración y restablecer el predeterminado.

Disponible cuando se habilita OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMaxIpAddresses
Cantidad máxima de direcciones IP que cada campo secundario de MTD puede registrar con este dispositivo como superior. 0 para borrar la configuración y restablecer la predeterminada.
Valores que se muestran
OT_ERROR_NONE
El número se configuró o se borró correctamente.
OT_ERROR_INVALID_ARGS
Si se supera la cantidad máxima permitida.
Consulta también:
otThreadGetMaxChildIpAddresses

otThreadSetNetworkIdTimeout

void otThreadSetNetworkIdTimeout(
  otInstance *aInstance,
  uint8_t aTimeout
)

Establece el parámetro NETWORK_ID_TIMEOUT.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aTimeout
Es el valor NETWORK_ID_TIMEOUT.
Consulta también:
otThreadGetNetworkIdTimeout

otThreadSetParentPriority

otError otThreadSetParentPriority(
  otInstance *aInstance,
  int8_t aParentPriority
)

Establece la prioridad superior.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aParentPriority
El valor de prioridad superior.
Valores que se muestran
OT_ERROR_NONE
Se estableció correctamente la prioridad superior.
OT_ERROR_INVALID_ARGS
Si el valor de prioridad superior no está entre 1, 0, -1 y -2.
Consulta también:
otThreadGetParentPriority

otThreadSetPreferredLeaderPartitionId

void otThreadSetPreferredLeaderPartitionId(
  otInstance *aInstance,
  uint32_t aPartitionId
)

Establece el ID de partición líder de subprocesos preferido que se usa cuando se opera en el rol de líder.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aPartitionId
Es el valor del ID de partición del líder de subprocesos.

otThreadSetPreferredRouterId

otError otThreadSetPreferredRouterId(
  otInstance *aInstance,
  uint8_t aRouterId
)

Establece el ID de router preferido.

Cuando se convierte en router o líder, el nodo intenta usar este ID de router. Si no se establece el ID de router preferido o si no se puede usar, se elige un ID de router generado de forma aleatoria. Esta propiedad se puede establecer solo cuando el rol del dispositivo está desconectado o inhabilitado.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aRouterId
El ID del router preferido.
Valores que se muestran
OT_ERROR_NONE
Se configuró correctamente el ID de router preferido.
OT_ERROR_INVALID_STATE
No se pudo establecer (la función no está separada ni está inhabilitada)

otThreadSetPskc

otError otThreadSetPskc(
  otInstance *aInstance,
  const otPskc *aPskc
)

Configura la PSKc de Thread.

Solo tendrá éxito cuando los protocolos de Thread estén inhabilitados. Una llamada exitosa a esta función también invalidará los conjuntos de datos operativos activos y pendientes en la memoria no volátil.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aPskc
Un puntero para la nueva PSKc de Thread.
Valores que se muestran
OT_ERROR_NONE
Se configuró correctamente la PSKc del Thread.
OT_ERROR_INVALID_STATE
Los protocolos de subprocesos están habilitados.
Consulta también:
otThreadGetPskc

otThreadSetPskcRef

otError otThreadSetPskcRef(
  otInstance *aInstance,
  otPskcRef aKeyRef
)

Establece la referencia de clave en la PSKc del subproceso.

Requiere que se habilite la función de tiempo de compilación OPENTHREAD_CONFIG_PLATFORM_KEY_REFERENCES_ENABLE.

Solo tendrá éxito cuando los protocolos de Thread estén inhabilitados. Si se ejecuta de forma correcta, esto también invalidará los conjuntos de datos operativos activos y pendientes en la memoria no volátil.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aKeyRef
Referencia clave a la nueva PSKc del subproceso.
Valores que se muestran
OT_ERROR_NONE
Se configuró correctamente la PSKc del Thread.
OT_ERROR_INVALID_STATE
Los protocolos de subprocesos están habilitados.
Consulta también:
otThreadGetPskcRef

otThreadSetRouterDowngradeThreshold

void otThreadSetRouterDowngradeThreshold(
  otInstance *aInstance,
  uint8_t aThreshold
)

Establece el parámetro ROUTER_DOWNGRADE_THRESHOLD utilizado en el rol de líder.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aThreshold
Es el valor ROUTER_DOWNGRADE_THRESHOLD.
Consulta también:
otThreadGetRouterDowngradeThreshold

otThreadSetRouterEligible

otError otThreadSetRouterEligible(
  otInstance *aInstance,
  bool aEligible
)

Establece si el dispositivo es compatible con el router o no.

Si aEligible es falso y el dispositivo está funcionando como router, esta llamada hará que el dispositivo se desconecte y se vuelva a conectar como niño.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aEligible
TRUE para configurar el dispositivo como compatible con el router, FALSE de lo contrario.
Valores que se muestran
OT_ERROR_NONE
Se estableció correctamente la configuración apta para el router.
OT_ERROR_NOT_CAPABLE
El dispositivo no puede convertirse en un router.

otThreadSetRouterIdRange

otError otThreadSetRouterIdRange(
  otInstance *aInstance,
  uint8_t aMinRouterId,
  uint8_t aMaxRouterId
)

Establece el rango de ID de router que pueden asignarse a nodos dentro de la red del Thread.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aMinRouterId
El ID mínimo del router.
[in] aMaxRouterId
El ID máximo del router.
Valores que se muestran
OT_ERROR_NONE
El rango se estableció correctamente.
OT_ERROR_INVALID_ARGS
aMinRouterId > aMaxRouterId. De lo contrario, [0, 62] no abarca el rango.
Consulta también:
otThreadGetRouterIdRange

otThreadSetRouterSelectionJitter

void otThreadSetRouterSelectionJitter(
  otInstance *aInstance,
  uint8_t aRouterJitter
)

Establece el parámetro ROUTER_SELECTION_JITTER que se usa en el rol REED/Router.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aRouterJitter
El valor ROUTER_SELECTION_JITTER.
Consulta también:
otThreadGetRouterSelectionJitter

otThreadSetRouterUpgradeThreshold

void otThreadSetRouterUpgradeThreshold(
  otInstance *aInstance,
  uint8_t aThreshold
)

Establece el parámetro ROUTER_UPGRADE_THRESHOLD utilizado en el rol de líder.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aThreshold
Es el valor de ROUTER_UPGRADE_THRESHOLD.
Consulta también:
otThreadGetRouterUpgradeThreshold

otThreadSetSteeringData

void otThreadSetSteeringData(
  otInstance *aInstance,
  const otExtAddress *aExtAddress
)

Configura los datos de direccionamiento fuera de banda.

Se debe establecer la opción de configuración OPENTHREAD_CONFIG_MLE_STEERING_DATA_SET_OOB_ENABLE para habilitar la configuración de los datos de direccionamiento fuera de banda.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aExtAddress
Dirección usada para actualizar los datos del volante. Todos los ceros para borrar los datos del volante (sin datos de direccionamiento) Todos los 0xFFs para configurar los datos de conducción o el filtro de floración para aceptarlos o permitirlos todos. Un EUI64 específico que luego se agrega al filtro de datos/floración actual de la dirección.

otThreadSetThreadVersionCheckEnabled

void otThreadSetThreadVersionCheckEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Establece si el umbral de versión del TLV de la política de seguridad para el enrutamiento (campo de RV) está habilitado.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aEnabled
TRUE para habilitar el umbral de la versión del TLV de la política de seguridad para el enrutamiento, FALSE de lo contrario.

Macros

OT_CHILD_IP6_ADDRESS_ITERATOR_INIT

 OT_CHILD_IP6_ADDRESS_ITERATOR_INIT 0

Inicializador de otChildIP6AddressIterator.

Recursos

Los temas de referencia de la API de OpenThread se originan a partir del código fuente, disponible en GitHub. Para obtener más información o contribuir a nuestra documentación, consulta Recursos.