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 la entrada de 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 en un dispositivo.

Typedefs

otCacheEntryInfo typedef
Representa una entrada de caché EID.
otCacheEntryIterator typedef
Representa un iterador que se usa para iterar a través de las entradas de la tabla de caché del EID.
otCacheEntryState typedef
Define el estado de la entrada de caché del EID.
otChildIp6AddressIterator typedef
uint16_t
Se usa para iterar a través de direcciones IPv6 de una entrada secundaria de Thread.
otDeviceProperties typedef
Representa las propiedades del dispositivo que se usan para calcular el peso 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.

Funciones

otThreadBecomeLeader(otInstance *aInstance)
Conviértete en líder y comienza una nueva partición.
otThreadBecomeRouter(otInstance *aInstance)
Intenta convertirte en router.
otThreadGetAdvertisementTrickleIntervalMax(otInstance *aInstance)
uint32_t
Obtiene el valor actual del intervalo máximo utilizado por el temporizador de goteo de anuncio.
otThreadGetChildInfoById(otInstance *aInstance, uint16_t aChildId, otChildInfo *aChildInfo)
Obtiene información de diagnóstico de un campo 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_DELAY 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 combinador.
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 permitidos 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 que se usa en la función Router.
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 siguiente salto y la ruta hacia un destino 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 se opera en el rol de líder.
otThreadGetPskc(otInstance *aInstance, otPskc *aPskc)
void
Obtén la PSKc de Thread.
otThreadGetPskcRef(otInstance *aInstance)
Se obtuvo una referencia de clave para el Thread PSKc almacenado
otThreadGetRouterDowngradeThreshold(otInstance *aInstance)
uint8_t
Obtén el parámetro ROUTER_DOWNGRA_THRESHOLD que se usa en la función Router.
otThreadGetRouterIdRange(otInstance *aInstance, uint8_t *aMinRouterId, uint8_t *aMaxRouterId)
void
Obtiene el rango de IDs de router que pueden asignarse a nodos dentro de la red de subprocesos.
otThreadGetRouterIdSequence(otInstance *aInstance)
uint8_t
Obtén la secuencia del ID del router actual.
otThreadGetRouterInfo(otInstance *aInstance, uint16_t aRouterId, otRouterInfo *aRouterInfo)
La función conserva 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_UPABLE_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 vecina.
otThreadReleaseRouterId(otInstance *aInstance, uint8_t aRouterId)
Libera un ID de router que haya asignado 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)
Configura el parámetro MLE_CHILD_ROUTER_LINKS utilizado en el rol REED.
otThreadSetContextIdReuseDelay(otInstance *aInstance, uint32_t aDelay)
void
Establece el parámetro CONTEXT_ID_REUSE_DELAY que se usa en la función de líder.
otThreadSetDeviceProperties(otInstance *aInstance, const otDeviceProperties *aDeviceProperties)
void
Establece las propiedades del dispositivo que luego se usarán para determinar y establecer el peso líder.
otThreadSetJoinerUdpPort(otInstance *aInstance, uint16_t aJoinerUdpPort)
Configura el puerto UDP del combinador.
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)
Configura 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 que se usa en la función de líder.
otThreadSetParentPriority(otInstance *aInstance, int8_t aParentPriority)
Establece la prioridad superior.
otThreadSetPreferredLeaderPartitionId(otInstance *aInstance, uint32_t aPartitionId)
void
Establece el ID de partición de 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 Thread PSKc.
otThreadSetRouterDowngradeThreshold(otInstance *aInstance, uint8_t aThreshold)
void
Establece el parámetro ROUTER_DOWNGRA_THRESHOLD que se usa en la función 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 IDs 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_UPABLE_THRESHOLD que se usa en el rol de líder.
otThreadSetSteeringData(otInstance *aInstance, const otExtAddress *aExtAddress)
void
Establece los datos de direccionamiento fuera de banda.
otThreadSetThreadVersionCheckEnabled(otInstance *aInstance, bool aEnabled)
void
Establece si está habilitado el umbral de versión del TLV de la política de seguridad para el enrutamiento (campo VR).

Structs

OTCacheEntryInfo

Representa una entrada de caché EID.

otCacheEntryIterator.

Representa un iterador que se usa para iterar 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 líder local en un dispositivo.

otNeighborTableEntryInfo.

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

Enumeraciones

otCacheEntryState

 otCacheEntryState

Define el estado de la entrada de 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 cambia 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 en un dispositivo.

Se usa como propiedad en otDeviceProperties para calcular el peso de la variante principal.

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 SAI

OT_POWER_SUPPLY_EXTERNAL_UNSTABLE

Ext.potencialmente inestable (p. ej., bombilla que se enciende mediante un interruptor)

Typedefs

otCacheEntryInfo

struct otCacheEntryInfo otCacheEntryInfo

Representa una entrada de caché EID.

otCacheEntryIterator;

struct otCacheEntryIterator otCacheEntryIterator

Representa un iterador que se usa para iterar 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 en cero todos sus campos de la estructura (p.ej., memset el iterador en cero).

otCacheEntryState

enum otCacheEntryState otCacheEntryState

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

otChildIp6AddressIterator

uint16_t otChildIp6AddressIterator

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

otDeviceProperties

struct otDeviceProperties otDeviceProperties

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

Los parámetros se establecen según la capacidad del dispositivo, ya sea como router de borde, su configuración de la 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 más frecuencia de lo habitual. Lo habitual es lo que determina el proveedor.
  • El dispositivo detecta internamente que se reinicia más a menudo de lo habitual. Lo habitual es lo que determina el proveedor.

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.

Funciones

otThreadconvertir a líder

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 comenzó una nueva partición.
OT_ERROR_INVALID_STATE
El subproceso está inhabilitado.

otThreadConvertRouter

otError otThreadBecomeRouter(
  otInstance *aInstance
)

Intenta convertirte en 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
El subproceso está inhabilitado.

otThreadGetAnunciamentTrickleIntervalMax

uint32_t otThreadGetAdvertisementTrickleIntervalMax(
  otInstance *aInstance
)

Obtiene el valor actual del intervalo máximo utilizado por el temporizador de goteo de anuncio.

Esta API requiere OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE y está diseñada solo para pruebas.

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

otThreadGetChildInfoById

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

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

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aChildId
El ID 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 niño válido con este ID secundario.
OT_ERROR_INVALID_ARGS
Si aChildInfo es NULL.

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
Se actualizó correctamente aChildInfo con la información del índice especificado.
OT_ERROR_NOT_FOUND
No hay un elemento secundario válido en este índice.
OT_ERROR_INVALID_ARGS
aChildInfo es NULL o aChildIndex está fuera del rango (superior al índice máximo de tabla).
Consulta también:
otGetMaxAllowedChild

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
Es el índice secundario.
[in,out] aIterator
Un puntero al iterador. Si la operación es exitosa, el iterador se actualizará para que apunte a la siguiente entrada de la lista. Para obtener la primera dirección IPv6, el iterador debe configurarse en OT_CHILD_IP6_ADDRESS_ITERATOR_INIT.
[out] aAddress
Un puntero hacia 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 elemento 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 la cantidad máxima de routers cercanos con los que el dispositivo (como FED) intentará establecer la vinculación.

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_DELAY que se usa en el rol de líder.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
El valor CONTEXT_ID_REUSE_Delay.
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 combinador.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
El número del puerto UDP del combinador.
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

otThreadGetMaxAllowedNiños

uint16_t otThreadGetMaxAllowedChildren(
  otInstance *aInstance
)

Obtiene la cantidad máxima de niños permitidos actualmente.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
Cantidad máxima de niños permitida actualmente.
Consulta también:
otThreadSetMaxAllowedChild

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 hijo 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 que se usa en la función Router.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
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 la ubicación en la que se ubica la información de la entrada de caché del EID.
[in,out] aIterator
Un puntero para un iterador. Se actualizará para que dirija 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 siguiente entrada de caché 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 siguiente salto y la ruta hacia un destino 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] aDesRloct16
El RLOC16 del destino.
[out] aNextHopRloc16
Un puntero para mostrar RLOC16 del siguiente salto, 0xfffe si no hay ningún salto siguiente.
[out] aPathCost
Un puntero para mostrar el costo de la ruta de retorno 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

ID de partición de otThreadGetPreferredLeader

uint32_t otThreadGetPreferredLeaderPartitionId(
  otInstance *aInstance
)

Obtén el ID de partición de 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.
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 a un otPskc para mostrar el Thread PSKc recuperado
Consulta también:
otThreadSetPskc

otThreadGetPskcRef

otPskcRef otThreadGetPskcRef(
  otInstance *aInstance
)

Se obtuvo una referencia de clave para el Thread PSKc almacenado

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_DOWNGRA_THRESHOLD que se usa en la función Router.

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

otThreadGetRouterIdRange

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

Obtiene el rango de IDs de router que pueden asignarse a nodos dentro de la red de subprocesos.

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 del ID del router actual.

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

otThreadGetRouterInfo

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

La función conserva 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 de router o RLOC16 de un router determinado.
[out] aRouterInfo
Un puntero hacia el lugar donde se encuentra 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 de router con el ID proporcionado.
OT_ERROR_INVALID_ARGS
aRouterInfo es NULL.

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_UPABLE_THRESHOLD que se usa en el rol REED.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
Qué muestra
El valor ROUTER_UPABLE_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 el router.
FALSE
Si el dispositivo no es compatible con el router.

otThreadIsRouterIdAlassigned

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
El aRouterId no está asignado.

otThreadRegisterNeighborTableCallback

void otThreadRegisterNeighborTableCallback(
  otInstance *aInstance,
  otNeighborTableCallback aCallback
)

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

La devolución de llamada proporcionada (si no es NULL) se invocará cuando haya un cambio en la tabla de vecinos (p.ej., se agregará o quitará una entrada secundaria o vecina 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 la tabla vecino/secundaria se actualiza y siempre antes de otStateChangedCallback.

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

otThreadReleaseRouterId

otError otThreadReleaseRouterId(
  otInstance *aInstance,
  uint8_t aRouterId
)

Libera un ID de router que haya asignado 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á dentro del rango [0, 62].
OT_ERROR_INVALID_STATE
El dispositivo no está funcionando como líder.
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
)

Configura el parámetro MLE_CHILD_ROUTER_LINKS utilizado 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 Thread están habilitados.
Consulta también:
otThreadGetChildRouterLinks

otThreadSetContextIdReuseDelay

void otThreadSetContextIdReuseDelay(
  otInstance *aInstance,
  uint32_t aDelay
)

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

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

otThreadSetDeviceProperties

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

Establece las propiedades del dispositivo que luego se usarán para determinar y establecer el peso 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 combinador.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aJoinerUdpPort
El número del puerto UDP del combinador.
Valores que se muestran
OT_ERROR_NONE
Se configuró correctamente el puerto UDP del combinador.
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 haber determinado 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

otThreadSetMaxAllowedChild

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
La cantidad máxima permitida de menores.
Valores que se muestran
OT_ERROR_NONE
Se estableció correctamente la 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 Thread no se detiene.
Consulta también:
otThreadGetMaxAllowedChild

otThreadSetMaxChildIpAddresses

otError otThreadSetMaxChildIpAddresses(
  otInstance *aInstance,
  uint8_t aMaxIpAddresses
)

Configura 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 la configuración y restablecer la predeterminada.

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 hijo 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 estableció o se borró correctamente.
OT_ERROR_INVALID_ARGS
Si 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 que se usa en la función de líder.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aTimeout
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
Es 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

ID de partición de otThreadSetPreferredLeader

void otThreadSetPreferredLeaderPartitionId(
  otInstance *aInstance,
  uint32_t aPartitionId
)

Establece el ID de partición de 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 un 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 solo se puede establecer cuando el rol del dispositivo está desconectado o inhabilitado.

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aRouterId
Indica 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 inhabilitada)

otThreadSetPskc

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

Configura la PSKc de Thread.

Solo tendrá éxito cuando los protocolos 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 el nuevo Thread PSKc.
Valores que se muestran
OT_ERROR_NONE
Se configuró correctamente la PSKc de Thread.
OT_ERROR_INVALID_STATE
Los protocolos de Thread están habilitados.
Consulta también:
otThreadGetPskc

otThreadSetPskcRef

otError otThreadSetPskcRef(
  otInstance *aInstance,
  otPskcRef aKeyRef
)

Establece la referencia de clave en Thread PSKc.

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

Solo tendrá éxito cuando los protocolos 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 al nuevo Thread PSKc.
Valores que se muestran
OT_ERROR_NONE
Se configuró correctamente la PSKc de Thread.
OT_ERROR_INVALID_STATE
Los protocolos de Thread están habilitados.
Consulta también:
otThreadGetPskcRef

otThreadSetRouterDowngradeThreshold

void otThreadSetRouterDowngradeThreshold(
  otInstance *aInstance,
  uint8_t aThreshold
)

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

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aThreshold
El valor ROUTER_DOWNGRA_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, de lo contrario, FALSE.
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 IDs 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
Se estableció correctamente el rango.
OT_ERROR_INVALID_ARGS
aMinRouterId > aMaxRouterId, o bien el rango no está cubierto por [0, 62].
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_UPABLE_THRESHOLD que se usa en el rol de líder.

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

otThreadSetSteeringData

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

Establece 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 de direccionamiento. Todos los ceros para borrar los datos de direccionamiento (no hay datos de direccionamiento). Todos los 0xFF para establecer el filtro de Bloom/datos de direccionamiento para aceptar/permitir todo. Un EUI64 específico que, luego, se agrega al filtro actual de datos/floración de direccionamiento.

otThreadSetThreadVersionCheckEnabled

void otThreadSetThreadVersionCheckEnabled(
  otInstance *aInstance,
  bool aEnabled
)

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

Detalles
Parámetros
[in] aInstance
Un puntero para una instancia de OpenThread.
[in] aEnabled
TRUE a fin de habilitar el umbral de la versión del TLV de la política de seguridad para el enrutamiento, FALSE en caso 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 en el código fuente, disponible en GitHub. Para obtener más información, o a fin de contribuir a nuestra documentación, consulta Recursos.