IPv6
En este módulo, se incluyen funciones que controlan la comunicación IPv6.
Resumen
Enumeraciones |
|
---|---|
anonymous enum{
|
enum Números de protocolo de Internet. |
anonymous enum{
|
enum Orígenes de la dirección IPv6. |
anonymous enum{
|
enum Estados de ECN, representados en el encabezado de IP |
Typedefs |
|
---|---|
otBorderRoutingCounters
|
typedefstruct otBorderRoutingCounters
Representa los contadores de paquetes reenviados mediante el enrutamiento fronterizo. |
otIp6Address
|
typedefstruct otIp6Address
Representa una dirección IPv6. |
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
|
typedefvoid(*
Se llama al puntero cuando se agrega o quita una dirección IPv6 interna. |
otIp6AddressComponents
|
typedefstruct otIp6AddressComponents
Representa los componentes de una dirección IPv6. |
otIp6AddressInfo
|
typedefstruct otIp6AddressInfo
Representa la información de la dirección IPv6. |
otIp6InterfaceIdentifier
|
typedefstruct otIp6InterfaceIdentifier
Representa el identificador de interfaz de una dirección IPv6. |
otIp6NetworkPrefix
|
typedefstruct otIp6NetworkPrefix
Representa el prefijo de red de una dirección IPv6 (64 bits más significativos de la dirección). |
otIp6Prefix
|
typedefstruct otIp6Prefix
Representa un prefijo de IPv6. |
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
|
typedefvoid(*
Se llama al puntero cuando se recibe un datagrama IPv6. |
otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)
|
typedefvoid(*
Se llama al puntero con resultados de otIp6RegisterMulticastListeners . |
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
|
typedefbool(*
El puntero permite que el usuario filtre prefijos y no permite que se agregue una dirección de ANSAC basada en un prefijo. |
otMessageInfo
|
typedefstruct otMessageInfo
Representa las direcciones de sockets IPv6 locales y de intercambio de tráfico. |
otNetifAddress
|
typedefstruct otNetifAddress
Representa una dirección unicast de interfaz de red IPv6. |
otNetifMulticastAddress
|
typedefstruct otNetifMulticastAddress
Representa una dirección multidifusión de interfaz de red IPv6. |
otPacketsAndBytes
|
typedefstruct otPacketsAndBytes
Representa los contadores de paquetes y bytes. |
otSockAddr
|
typedefstruct otSockAddr
Representa una dirección de socket IPv6. |
Variables |
|
---|---|
OT_TOOL_PACKED_END
|
remotas |
|
---|---|
otIp6AddUnicastAddress(otInstance *aInstance, const otNetifAddress *aAddress)
|
Agrega una dirección de interfaz de red a la interfaz Thread.
|
otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort)
|
Agrega un puerto a la lista de puertos no seguros permitidos.
|
otIp6AddressFromString(const char *aString, otIp6Address *aAddress)
|
Convierte una string de dirección IPv6 legible en una representación binaria.
|
otIp6AddressToString(const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
|
void
Convierte una dirección IPv6 determinada en una string legible.
|
otIp6ArePrefixesEqual(const otIp6Prefix *aFirst, const otIp6Prefix *aSecond)
|
bool
Prueba si dos prefijos de IPv6 son iguales.
|
otIp6GetBorderRoutingCounters(otInstance *aInstance)
|
const otBorderRoutingCounters *
Obtiene los contadores de enrutamiento de frontera.
|
otIp6GetMulticastAddresses(otInstance *aInstance)
|
const otNetifMulticastAddress *
Obtiene la lista de direcciones IPv6 de multidifusión suscritas a la interfaz Thread.
|
otIp6GetPrefix(const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix)
|
void
Obtiene un prefijo con
aLength de aAddress . |
otIp6GetUnicastAddresses(otInstance *aInstance)
|
const otNetifAddress *
Obtiene la lista de direcciones IPv6 asignadas a la interfaz del subproceso.
|
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
|
const uint16_t *
Muestra un puntero a la lista de puertos no seguros.
|
otIp6HasUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
bool
Indica si se asignó o no una dirección IPv6 unicast a la interfaz Thread.
|
otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
bool
Prueba si dos direcciones IPv6 son iguales.
|
otIp6IsAddressUnspecified(const otIp6Address *aAddress)
|
bool
Indica si una dirección IPv6 determinada es la dirección no especificada.
|
otIp6IsEnabled(otInstance *aInstance)
|
bool
Indica si la interfaz IPv6 está activa o no.
|
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
|
bool
Comprueba si el modo promiscuo de multidifusión está habilitado en la interfaz de Thread.
|
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
|
bool
Indica si se filtra o no el tráfico de control de subprocesos cuando se entregan datagramas IPv6 mediante la devolución de llamada especificada en otIp6SetReceiveCallback().
|
otIp6IsSlaacEnabled(otInstance *aInstance)
|
bool
Indica si el módulo ANS está habilitado o no.
|
otIp6NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
|
Asigna un búfer de mensaje nuevo para enviar un mensaje IPv6.
|
otIp6NewMessageFromBuffer(otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
|
Asignar un nuevo búfer de mensajes y escribir el datagrama IPv6 en el búfer de mensajes para enviar un mensaje IPv6
|
otIp6PrefixFromString(const char *aString, otIp6Prefix *aPrefix)
|
Convierte una string de prefijo IPv6 legible en una representación binaria.
|
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
uint8_t
Muestra la longitud de coincidencia de prefijo (bits) para dos direcciones IPv6.
|
otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
|
void
Convierte un prefijo IPv6 determinado en una string legible.
|
otIp6ProtoToString(uint8_t aIpProto)
|
const char *
Convierte un número de protocolo de IP determinado en una string legible.
|
otIp6RegisterMulticastListeners(otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
|
Registra los objetos de escucha de multidifusión en el router troncal principal.
|
otIp6RemoveAllUnsecurePorts(otInstance *aInstance)
|
void
Quita todos los puertos de la lista de puertos no seguros permitidos.
|
otIp6RemoveUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Quita una dirección de interfaz de red de la interfaz Thread.
|
otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort)
|
Quita un puerto de la lista de puertos no seguros permitidos.
|
otIp6ResetBorderRoutingCounters(otInstance *aInstance)
|
void
Restablece los contadores de enrutamiento de borde.
|
otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo)
|
Selecciona la dirección de origen de OpenThread.
|
otIp6Send(otInstance *aInstance, otMessage *aMessage)
|
Envía un datagrama IPv6 a través de la interfaz Thread.
|
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
|
void
Registra una devolución de llamada para notificar los cambios en la dirección IPv6 interna.
|
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
|
Sube o baja la interfaz IPv6.
|
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
|
Establece el IID local de malla (para fines de prueba).
|
otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
|
void
Habilita o inhabilita el modo promiscuo de multidifusión en la interfaz de Thread.
|
otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
|
void
Registra una devolución de llamada para proporcionar datagramas IPv6 recibidos.
|
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
|
void
Establece si se filtra o no el tráfico de control de subprocesos cuando se entregan datagramas IPv6 mediante la devolución de llamada especificada en otIp6SetReceiveCallback().
|
otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
|
void
Habilita o inhabilita el módulo de ANSAC.
|
otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
|
void
Configura el controlador de filtro del módulo de ANSAC.
|
otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
|
void
Convierte una dirección de socket IPv6 determinada en una string legible.
|
otIp6SubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Suscribe la interfaz Thread a una dirección multidifusión de la interfaz de red.
|
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Anula la suscripción de la interfaz Thread a una dirección multidifusión de la interfaz de red.
|
Structs |
|
---|---|
otBorderRoutingCounters |
Representa los contadores de paquetes reenviados mediante el enrutamiento fronterizo. |
otIp6Address |
Representa una dirección IPv6. |
otIp6AddressComponents |
Representa los componentes de una dirección IPv6. |
otIp6AddressInfo |
Representa la información de la dirección IPv6. |
otIp6InterfaceIdentifier |
Representa el identificador de interfaz de una dirección IPv6. |
otIp6NetworkPrefix |
Representa el prefijo de red de una dirección IPv6 (64 bits más significativos de la dirección). |
otIp6Prefix |
Representa un prefijo de IPv6. |
otMessageInfo |
Representa las direcciones de sockets IPv6 locales y de intercambio de tráfico. |
otNetifAddress |
Representa una dirección unicast de interfaz de red IPv6. |
otNetifMulticastAddress |
Representa una dirección multidifusión de interfaz de red IPv6. |
otPacketsAndBytes |
Representa los contadores de paquetes y bytes. |
otSockAddr |
Representa una dirección de socket IPv6. |
Unión |
|
---|---|
otIp6InterfaceIdentifier:: |
Enumeraciones
enumeración anónima
anonymous enum
Números de protocolo de Internet.
Propiedades | |
---|---|
OT_IP6_PROTO_DST_OPTS
|
Opciones de destino para IPv6. |
OT_IP6_PROTO_FRAGMENT
|
Encabezado de fragmento para IPv6. |
OT_IP6_PROTO_HOP_OPTS
|
Opción de salto a salto de IPv6. |
OT_IP6_PROTO_ICMP6
|
ICMP para IPv6. |
OT_IP6_PROTO_IP6
|
encapsulamiento IPv6. |
OT_IP6_PROTO_NONE
|
No hay encabezados siguientes para IPv6. |
OT_IP6_PROTO_ROUTING
|
Encabezado de enrutamiento para IPv6 |
OT_IP6_PROTO_TCP
|
protocolo de control de transmisión. |
OT_IP6_PROTO_UDP
|
Datagrama de usuario. |
enumeración anónima
anonymous enum
Orígenes de la dirección IPv6.
Propiedades | |
---|---|
OT_ADDRESS_ORIGIN_DHCPV6
|
Dirección asignada de DHCPv6. |
OT_ADDRESS_ORIGIN_MANUAL
|
Dirección asignada manualmente. |
OT_ADDRESS_ORIGIN_SLAAC
|
Dirección asignada de ANSAC. |
OT_ADDRESS_ORIGIN_THREAD
|
Dirección asignada de subproceso (ALOC, RLOC, MLEID, etc.) |
enumeración anónima
anonymous enum
Estados de ECN, representados en el encabezado de IP
Propiedades | |
---|---|
OT_ECN_CAPABLE_0
|
ECT(0) |
OT_ECN_CAPABLE_1
|
TEC(1) |
OT_ECN_MARKED
|
Se detectó una congestión (CE) |
OT_ECN_NOT_CAPABLE
|
No ECT. |
Typedefs
otBorderRoutingCounters
struct otBorderRoutingCounters otBorderRoutingCounters
Representa los contadores de paquetes reenviados mediante el enrutamiento fronterizo.
otIp6AddressCallback
void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
Se llama al puntero cuando se agrega o quita una dirección IPv6 interna.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
otIp6AddressComponents
struct otIp6AddressComponents otIp6AddressComponents
Representa los componentes de una dirección IPv6.
otIp6AddressInfo
struct otIp6AddressInfo otIp6AddressInfo
Representa la información de la dirección IPv6.
otIp6InterfaceIdentifier
struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier
Representa el identificador de interfaz de una dirección IPv6.
otIp6NetworkPrefix
struct otIp6NetworkPrefix otIp6NetworkPrefix
Representa el prefijo de red de una dirección IPv6 (64 bits más significativos de la dirección).
otIp6ReceiveCallback
void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
Se llama al puntero cuando se recibe un datagrama IPv6.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
otIp6RegisterMulticastListenersCallback
void(* otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)
Se llama al puntero con resultados de otIp6RegisterMulticastListeners
.
Detalles | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
otIp6RegisterMulticastListeners
otIp6SlaacPrefixFilter
bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
El puntero permite que el usuario filtre prefijos y no permite que se agregue una dirección de ANSAC basada en un prefijo.
Se puede usar otIp6SetSlaacPrefixFilter()
para configurar el controlador de filtros. El módulo de ANSAC invoca el controlador de filtros cuando está a punto de agregar una dirección ANSAC basada en un prefijo. El valor booleano que se muestra determina si se filtra (no se agregó) la dirección.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otMessageInfo
struct otMessageInfo otMessageInfo
Representa las direcciones de sockets IPv6 locales y de intercambio de tráfico.
otNetifAddress
struct otNetifAddress otNetifAddress
Representa una dirección unicast de interfaz de red IPv6.
otNetifMulticastAddress
struct otNetifMulticastAddress otNetifMulticastAddress
Representa una dirección multidifusión de interfaz de red IPv6.
otPacketsAndBytes
struct otPacketsAndBytes otPacketsAndBytes
Representa los contadores de paquetes y bytes.
Variables
OT_TOOL_PACKED_END
OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END
remotas
otIp6AddUnicastAddress
otError otIp6AddUnicastAddress( otInstance *aInstance, const otNetifAddress *aAddress )
Agrega una dirección de interfaz de red a la interfaz Thread.
La interfaz Thread copia la instancia pasada aAddress
. La interfaz Thread solo admite una cantidad fija de direcciones unicast agregadas de forma externa. Consulta los OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS
.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
otIp6AddUnsecurePort
otError otIp6AddUnsecurePort( otInstance *aInstance, uint16_t aPort )
Agrega un puerto a la lista de puertos no seguros permitidos.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
otIp6AddressFromString
otError otIp6AddressFromString( const char *aString, otIp6Address *aAddress )
Convierte una string de dirección IPv6 legible en una representación binaria.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otIp6AddressToString
void otIp6AddressToString( const otIp6Address *aAddress, char *aBuffer, uint16_t aSize )
Convierte una dirección IPv6 determinada en una string legible.
La string de dirección IPv6 tiene el formato de 16 valores hexadecimales separados por “:” (es decir, "%x:%x:%x:...:%x").
Si la string resultante no cabe en aBuffer
(dentro de sus caracteres aSize
), la string se truncará, pero la string resultante siempre tendrá terminación nula.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
otIp6ArePrefixesEqual
bool otIp6ArePrefixesEqual( const otIp6Prefix *aFirst, const otIp6Prefix *aSecond )
Prueba si dos prefijos de IPv6 son iguales.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otIp6GetBorderRoutingCounters
const otBorderRoutingCounters * otIp6GetBorderRoutingCounters( otInstance *aInstance )
Obtiene los contadores de enrutamiento de frontera.
Se debe habilitar la función de tiempo de compilación de OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE
.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Un puntero a los contadores de enrutamiento de borde.
|
otIp6GetMulticastAddresses
const otNetifMulticastAddress * otIp6GetMulticastAddresses( otInstance *aInstance )
Obtiene la lista de direcciones IPv6 de multidifusión suscritas a la interfaz Thread.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Un puntero a la primera dirección multidifusión de la interfaz de red.
|
otIp6GetPrefix
void otIp6GetPrefix( const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix )
Obtiene un prefijo con aLength
de aAddress
.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
otIp6GetUnicastAddresses
const otNetifAddress * otIp6GetUnicastAddresses( otInstance *aInstance )
Obtiene la lista de direcciones IPv6 asignadas a la interfaz del subproceso.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Un puntero a la primera dirección de interfaz de red.
|
otIp6GetUnsecurePorts
const uint16_t * otIp6GetUnsecurePorts( otInstance *aInstance, uint8_t *aNumEntries )
Muestra un puntero a la lista de puertos no seguros.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Qué muestra |
Un puntero a la lista de puertos no seguros.
|
otIp6HasUnicastAddress
bool otIp6HasUnicastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Indica si se asignó o no una dirección IPv6 unicast a la interfaz Thread.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otIp6IsAddressEqual
bool otIp6IsAddressEqual( const otIp6Address *aFirst, const otIp6Address *aSecond )
Prueba si dos direcciones IPv6 son iguales.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otIp6IsAddressUnspecified
bool otIp6IsAddressUnspecified( const otIp6Address *aAddress )
Indica si una dirección IPv6 determinada es la dirección no especificada.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otIp6IsEnabled
bool otIp6IsEnabled( otInstance *aInstance )
Indica si la interfaz IPv6 está activa o no.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otIp6IsMulticastPromiscuousEnabled
bool otIp6IsMulticastPromiscuousEnabled( otInstance *aInstance )
Comprueba si el modo promiscuo de multidifusión está habilitado en la interfaz de Thread.
Detalles | |||
---|---|---|---|
Parámetros |
|
otIp6SetMulticastPromiscuousEnabled
otIp6IsReceiveFilterEnabled
bool otIp6IsReceiveFilterEnabled( otInstance *aInstance )
Indica si se filtra o no el tráfico de control de subprocesos cuando se entregan datagramas IPv6 mediante la devolución de llamada especificada en otIp6SetReceiveCallback().
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
TRUE si se filtra el tráfico de control de subprocesos, de lo contrario, FALSE
|
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled
otIp6IsSlaacEnabled
bool otIp6IsSlaacEnabled( otInstance *aInstance )
Indica si el módulo ANS está habilitado o no.
Se debe habilitar la función de tiempo de compilación de OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
.
Detalles | |||||
---|---|---|---|---|---|
Valores que se muestran |
|
otIp6NewMessage
otMessage * otIp6NewMessage( otInstance *aInstance, const otMessageSettings *aSettings )
Asigna un búfer de mensaje nuevo para enviar un mensaje IPv6.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Qué muestra |
Un puntero al búfer de mensajes o NULL si no hay búferes de mensajes disponibles o los parámetros no son válidos.
|
otMessageFree
otIp6NewMessageFromBuffer
otMessage * otIp6NewMessageFromBuffer( otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings )
Asignar un nuevo búfer de mensajes y escribir el datagrama IPv6 en el búfer de mensajes para enviar un mensaje IPv6
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Qué muestra |
Un puntero al mensaje o NULL si hay un encabezado IPv6 con formato incorrecto o no hay suficientes búferes de mensaje disponibles.
|
otMessageFree
otIp6PrefixFromString
otError otIp6PrefixFromString( const char *aString, otIp6Prefix *aPrefix )
Convierte una string de prefijo IPv6 legible en una representación binaria.
El parámetro aString
debe ser una cadena que tenga el formato "
es una dirección IPv6 y
es una longitud de prefijo.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otIp6PrefixMatch
uint8_t otIp6PrefixMatch( const otIp6Address *aFirst, const otIp6Address *aSecond )
Muestra la longitud de coincidencia de prefijo (bits) para dos direcciones IPv6.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Qué muestra |
El prefijo coincide con la longitud en bits.
|
otIp6PrefixToString
void otIp6PrefixToString( const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize )
Convierte un prefijo IPv6 determinado en una string legible.
La cadena de dirección IPv6 tiene el formato "%x:%x:%x:...[::]/plen".
Si la string resultante no cabe en aBuffer
(dentro de sus caracteres aSize
), la string se truncará, pero la string resultante siempre tendrá terminación nula.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
otIp6ProtoToString
const char * otIp6ProtoToString( uint8_t aIpProto )
Convierte un número de protocolo de IP determinado en una string legible.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Una cadena que representa
aIpProto . |
otIp6RegisterMulticastListeners
otError otIp6RegisterMulticastListeners( otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext )
Registra los objetos de escucha de multidifusión en el router troncal principal.
Se deben habilitar OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE
y OPENTHREAD_CONFIG_COMMISSIONER_ENABLE
.
Detalles | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||
Valores que se muestran |
|
otIp6RegisterMulticastListenersCallback
otIp6RemoveAllUnsecurePorts
void otIp6RemoveAllUnsecurePorts( otInstance *aInstance )
Quita todos los puertos de la lista de puertos no seguros permitidos.
Detalles | |||
---|---|---|---|
Parámetros |
|
otIp6RemoveUnicastAddress
otError otIp6RemoveUnicastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Quita una dirección de interfaz de red de la interfaz Thread.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
otIp6RemoveUnsecurePort
otError otIp6RemoveUnsecurePort( otInstance *aInstance, uint16_t aPort )
Quita un puerto de la lista de puertos no seguros permitidos.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
otIp6ResetBorderRoutingCounters
void otIp6ResetBorderRoutingCounters( otInstance *aInstance )
Restablece los contadores de enrutamiento de borde.
Detalles | |||
---|---|---|---|
Parámetros |
|
otIp6SelectSourceAddress
otError otIp6SelectSourceAddress( otInstance *aInstance, otMessageInfo *aMessageInfo )
Selecciona la dirección de origen de OpenThread.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otIp6Send
otError otIp6Send( otInstance *aInstance, otMessage *aMessage )
Envía un datagrama IPv6 a través de la interfaz Thread.
El emisor transfiere la propiedad de aMessage
cuando realiza esta llamada. OpenThread liberará aMessage
cuando se complete el procesamiento, incluso cuando se muestre un valor distinto de OT_ERROR_NONE
.
Detalles | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||||
Valores que se muestran |
|
otIp6SetAddressCallback
void otIp6SetAddressCallback( otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext )
Registra una devolución de llamada para notificar los cambios en la dirección IPv6 interna.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
otIp6SetEnabled
otError otIp6SetEnabled( otInstance *aInstance, bool aEnabled )
Sube o baja la interfaz IPv6.
Llámalo para habilitar o inhabilitar la comunicación IPv6.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otIp6SetMeshLocalIid
otError otIp6SetMeshLocalIid( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid )
Establece el IID local de malla (para fines de prueba).
Requiere OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otIp6SetMulticastPromiscuousEnabled
void otIp6SetMulticastPromiscuousEnabled( otInstance *aInstance, bool aEnabled )
Habilita o inhabilita el modo promiscuo de multidifusión en la interfaz de Thread.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
otIp6IsMulticastPromiscuousEnabled
otIp6SetReceiveCallback
void otIp6SetReceiveCallback( otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext )
Registra una devolución de llamada para proporcionar datagramas IPv6 recibidos.
De forma predeterminada, esta devolución de llamada no pasa tráfico de control de subprocesos. Consulta otIp6SetReceiveFilterEnabled() para cambiar la configuración del filtro de tráfico de control de subprocesos.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
void otIp6SetReceiveFilterEnabled( otInstance *aInstance, bool aEnabled )
Establece si se filtra o no el tráfico de control de subprocesos cuando se entregan datagramas IPv6 mediante la devolución de llamada especificada en otIp6SetReceiveCallback().
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled
otIp6SetSlaacEnabled
void otIp6SetSlaacEnabled( otInstance *aInstance, bool aEnabled )
Habilita o inhabilita el módulo de ANSAC.
Se debe habilitar la función de tiempo de compilación de OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
.
Cuando el módulo ANS está habilitado, se agregan las direcciones ANSAC (según los prefijos de la malla en los datos de red) a la interfaz. Cuando se inhabilita el módulo de ANSAC, se quita cualquier dirección de ANSAC que se haya agregado antes.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
otIp6SetSlaacPrefixFilter
void otIp6SetSlaacPrefixFilter( otInstance *aInstance, otIp6SlaacPrefixFilter aFilter )
Configura el controlador de filtro del módulo de ANSAC.
Se debe habilitar la función de tiempo de compilación de OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
.
El módulo de ANSAC llama al controlador de filtros cuando está a punto de agregar una dirección de ANSAC en función de un prefijo para decidir si se debe agregar la dirección o no.
Un controlador de filtro NULL inhabilita el filtrado y permite que se agreguen todas las direcciones ANSAC.
Si no se llama a esta función, el filtro predeterminado que usa el módulo ANSAC será NULL (el filtrado está inhabilitado).
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
otIp6SockAddrToString
void otIp6SockAddrToString( const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize )
Convierte una dirección de socket IPv6 determinada en una string legible.
La string de dirección del socket IPv6 tiene el formato [address
]:port
, en el que address
se muestra como 16 valores hexadecimales separados por :
y port
es el número de puerto en formato decimal, por ejemplo, “[%x:%x:...:%x]:%u”.
Si la string resultante no cabe en aBuffer
(dentro de sus caracteres aSize
), la string se truncará, pero la string resultante siempre tendrá terminación nula.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
otIp6SubscribeMulticastAddress
otError otIp6SubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Suscribe la interfaz Thread a una dirección multidifusión de la interfaz de red.
La interfaz de Thread copiará la instancia pasada, aAddress
. La interfaz Thread solo admite una cantidad fija de direcciones multicast agregadas de forma externa. Consulta los OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS
.
Detalles | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||
Valores que se muestran |
|
otIp6UnsubscribeMulticastAddress
otError otIp6UnsubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Anula la suscripción de la interfaz Thread a una dirección multidifusión de la interfaz de red.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
Macros
OT_IP6_ADDRESS_SIZE
OT_IP6_ADDRESS_SIZE 16
Tamaño de una dirección IPv6 (bytes)
OT_IP6_ADDRESS_STRING_SIZE
OT_IP6_ADDRESS_STRING_SIZE 40
Tamaño recomendado para la representación de string de una dirección IPv6.
OT_IP6_HEADER_PROTO_OFFSET
OT_IP6_HEADER_PROTO_OFFSET 6
Compensación del campo proto en el encabezado IPv6 (bytes)
OT_IP6_HEADER_SIZE
OT_IP6_HEADER_SIZE 40
Tamaño de un encabezado IPv6 (bytes)
OT_IP6_IID_SIZE
OT_IP6_IID_SIZE 8
Tamaño de un identificador de interfaz IPv6 (bytes)
OT_IP6_MAX_MLR_ADDRESSES
OT_IP6_MAX_MLR_ADDRESSES 15
Cantidad máxima de direcciones IPv6 admitidas por el registro de objetos de escucha multidifusión
OT_IP6_PREFIX_BITSIZE
OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)
Tamaño de un prefijo IPv6 (bits)
OT_IP6_PREFIX_SIZE
OT_IP6_PREFIX_SIZE 8
Tamaño de un prefijo IPv6 (bytes)
OT_IP6_PREFIX_STRING_SIZE
OT_IP6_PREFIX_STRING_SIZE 45
Tamaño recomendado para la representación de string de un prefijo IPv6.
OT_IP6_SOCK_ADDR_STRING_SIZE
OT_IP6_SOCK_ADDR_STRING_SIZE 48
Tamaño recomendado para la representación de string de una dirección de socket IPv6.
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.