IPv6
Este módulo incluye 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 como en el encabezado de IP. |
Typedefs |
|
---|---|
otBorderRoutingCounters
|
typedefstruct otBorderRoutingCounters
Esta estructura representa los contadores de los paquetes reenviados mediante el enrutamiento de borde. |
otIp6Address
|
typedefstruct otIp6Address
Esta estructura representa una dirección IPv6. |
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
|
typedefvoid(*
Se llama a este puntero de función cuando se agrega o quita una dirección IPv6 interna. |
otIp6AddressComponents
|
typedefstruct otIp6AddressComponents
Esta estructura representa los componentes de una dirección IPv6. |
otIp6AddressInfo
|
typedefstruct otIp6AddressInfo
|
otIp6InterfaceIdentifier
|
typedefstruct otIp6InterfaceIdentifier
Esta estructura representa el identificador de interfaz de una dirección IPv6. |
otIp6NetworkPrefix
|
typedefstruct otIp6NetworkPrefix
Esta estructura representa el prefijo de red de una dirección IPv6 (los 64 bits más significativos de la dirección). |
otIp6Prefix
|
typedefstruct otIp6Prefix
Esta estructura representa un prefijo de IPv6. |
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
|
typedefvoid(*
Se llama a este puntero de función cuando se recibe un datagrama IPv6. |
otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)
|
typedefvoid(*
Se llama a este puntero de función con los resultados de otIp6RegisterMulticastListeners . |
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
|
typedefbool(*
Este puntero de función permite al usuario filtrar prefijos y no permite que se agregue una dirección de ANSAC basada en un prefijo. |
otMessageInfo
|
typedefstruct otMessageInfo
Esta estructura representa las direcciones de sockets de IPv6 locales y de intercambio de tráfico. |
otNetifAddress
|
typedefstruct otNetifAddress
Esta estructura representa una dirección de unidifusión de la interfaz IPv6. |
otNetifMulticastAddress
|
typedefstruct otNetifMulticastAddress
Esta estructura representa una dirección multidifusión de la interfaz de red IPv6. |
otPacketsAndBytes
|
typedefstruct otPacketsAndBytes
Esta estructura representa los contadores de paquetes y bytes. |
otSockAddr
|
typedefstruct otSockAddr
Esta estructura representa una dirección de socket IPv6. |
Variables |
|
---|---|
OT_TOOL_PACKED_END
|
Funciones |
|
---|---|
otIp6AddUnicastAddress(otInstance *aInstance, const otNetifAddress *aAddress)
|
Agrega una dirección de interfaz de red a la interfaz de Thread.
|
otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort)
|
Esta función agrega un puerto a la lista de puertos no seguros permitidos.
|
otIp6AddressFromString(const char *aString, otIp6Address *aAddress)
|
Esta función convierte una string de dirección IPv6 legible para que se convierta en una representación binaria.
|
otIp6AddressToString(const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
|
void
Esta función convierte una dirección IPv6 determinada en una string legible.
|
otIp6ArePrefixesEqual(const otIp6Prefix *aFirst, const otIp6Prefix *aSecond)
|
bool
Prueba si dos prefijos IPv6 son iguales.
|
otIp6GetBorderRoutingCounters(otInstance *aInstance)
|
const otBorderRoutingCounters *
Obtiene los contadores de enrutamiento de borde.
|
otIp6GetMulticastAddresses(otInstance *aInstance)
|
const otNetifMulticastAddress *
Obtiene la lista de direcciones multidifusión IPv6 suscritas a la interfaz de Thread.
|
otIp6GetPrefix(const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix)
|
void
Este método obtiene un prefijo con
aLength de aAddress . |
otIp6GetUnicastAddresses(otInstance *aInstance)
|
const otNetifAddress *
Obtiene la lista de direcciones IPv6 asignadas a la interfaz de Thread.
|
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
|
const uint16_t *
Esta función muestra un puntero a la lista de puertos no seguros.
|
otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
bool
Prueba si dos direcciones IPv6 son iguales.
|
otIp6IsAddressUnspecified(const otIp6Address *aAddress)
|
bool
Esta función indica si una dirección IPv6 determinada es o no la especificada.
|
otIp6IsEnabled(otInstance *aInstance)
|
bool
Indica si la interfaz IPv6 está activa o no.
|
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
|
bool
Comprueba si el modo promiscuo multidifusión está habilitado en la interfaz de Thread.
|
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
|
bool
Esta función indica si se filtra o no el tráfico de control de Thread cuando se envían datagramas de IPv6 a través de la devolución de llamada especificada en otIp6SetReceiveCallback().
|
otIp6IsSlaacEnabled(otInstance *aInstance)
|
bool
Esta función indica si el módulo ANSAC está habilitado o no.
|
otIp6NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
|
Asigna un nuevo búfer de mensaje para enviar un mensaje IPv6.
|
otIp6NewMessageFromBuffer(otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
|
Asigna un nuevo búfer de mensaje y escribe el datagrama IPv6 en el búfer de mensaje para enviar un mensaje IPv6.
|
otIp6PrefixFromString(const char *aString, otIp6Prefix *aPrefix)
|
Esta función convierte una string de prefijo de IPv6 de fácil lectura en una representación binaria.
|
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
uint8_t
Esta función muestra la longitud de coincidencia de prefijo (bits) para dos direcciones IPv6.
|
otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
|
void
Esta función convierte un prefijo IPv6 determinado en una string legible.
|
otIp6ProtoToString(uint8_t aIpProto)
|
const char *
Esta función convierte un número de protocolo IP en una string legible.
|
otIp6RegisterMulticastListeners(otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
|
Esta función registra objetos de escucha de multidifusión en el router de red troncal principal.
|
otIp6RemoveAllUnsecurePorts(otInstance *aInstance)
|
void
Esta función 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 de Thread.
|
otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort)
|
Esta función 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)
|
Esta función realiza la selección de direcciones de origen de OpenThread.
|
otIp6Send(otInstance *aInstance, otMessage *aMessage)
|
Esta función envía un datagrama IPv6 a través de la interfaz de Thread.
|
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
|
void
Esta función registra una devolución de llamada para notificar los cambios de dirección IPv6 internas.
|
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
|
Activa o desactiva la interfaz IPv6.
|
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
|
Esta función establece el IID local de la malla (con 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
Esta función registra una devolución de llamada para proporcionar los datagramas IPv6 recibidos.
|
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
|
void
Esta función establece si se filtra el tráfico de control de Thread cuando se envían datagramas de IPv6 a través de la devolución de llamada especificada en otIp6SetReceiveCallback().
|
otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
|
void
Esta función habilita o inhabilita el módulo de ANSAC.
|
otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
|
void
Esta función establece el controlador de filtros del módulo ANSAC.
|
otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
|
void
Esta función convierte una dirección de socket IPv6 determinada en una string legible.
|
otIp6SubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Suscribe la interfaz de Thread a una dirección de multidifusión de la interfaz de red.
|
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Anula la suscripción de la interfaz de Thread a una dirección de multidifusión de la interfaz de red.
|
Structs |
|
---|---|
otBorderRoutingCounters |
Esta estructura representa los contadores de los paquetes reenviados mediante el enrutamiento de borde. |
otIp6Dirección |
Esta estructura representa una dirección IPv6. |
otIp6AddressComponents |
Esta estructura representa los componentes de una dirección IPv6. |
otIp6AddressInfo |
Esta estructura representa la información de la dirección IPv6. |
otIp6InterfaceIdentifier |
Esta estructura representa el identificador de interfaz de una dirección IPv6. |
otIp6NetworkPrefix |
Esta estructura representa el prefijo de red de una dirección IPv6 (los 64 bits más significativos de la dirección). |
otIp6Prefijo |
Esta estructura representa un prefijo de IPv6. |
otMessageInfo |
Esta estructura representa las direcciones de sockets de IPv6 locales y de intercambio de tráfico. |
otNetifAddress |
Esta estructura representa una dirección de unidifusión de la interfaz IPv6. |
otNetifMulticastAddress |
Esta estructura representa una dirección multidifusión de la interfaz de red IPv6. |
otPacketsAndBytes |
Esta estructura representa los contadores de paquetes y bytes. |
otSockAddr |
Esta estructura representa una dirección de socket IPv6. |
Uniones |
|
---|---|
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 IPv6. |
OT_IP6_PROTO_ICMP6
|
ICMP para IPv6 |
OT_IP6_PROTO_IP6
|
Encapsulamiento IPv6 |
OT_IP6_PROTO_NONE
|
No hay ningún encabezado siguiente 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
|
Datagramas 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 de forma manual. |
OT_ADDRESS_ORIGIN_SLAAC
|
Dirección asignada al ANSAC. |
OT_ADDRESS_ORIGIN_THREAD
|
Dirección asignada a la conversación (ALOC, RLOC, MLEID, etcétera) |
enumeración anónima
anonymous enum
Estados de ECN, representados como en el encabezado de IP.
Propiedades | |
---|---|
OT_ECN_CAPABLE_0
|
ECT(0) |
OT_ECN_CAPABLE_1
|
ECT(1) |
OT_ECN_MARKED
|
Se encontró una congestión (CE) |
OT_ECN_NOT_CAPABLE
|
No ECT. |
Typedefs
otBorderRouteCounters
struct otBorderRoutingCounters otBorderRoutingCounters
Esta estructura representa los contadores de los paquetes reenviados mediante el enrutamiento de borde.
ot6AddressCallback
void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
Se llama a este puntero de función cuando se agrega o quita una dirección IPv6 interna.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
o6IPAddressComponents
struct otIp6AddressComponents otIp6AddressComponents
Esta estructura representa los componentes de una dirección IPv6.
oIP6DirecciónInformación
struct otIp6AddressInfo otIp6AddressInfo
oT6InterfaceIdentifier
struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier
Esta estructura representa el identificador de interfaz de una dirección IPv6.
ot6prefijodered
struct otIp6NetworkPrefix otIp6NetworkPrefix
Esta estructura representa el prefijo de red de una dirección IPv6 (los 64 bits más significativos de la dirección).
ot6ReceiveCallback
void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
Se llama a este puntero de función 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 a este puntero de función con los resultados de otIp6RegisterMulticastListeners
.
Detalles | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
otIp6RegisterMulticastListeners
otIp6SlaacPrefixFilter
bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
Este puntero de función permite al usuario filtrar 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 ANS invoca el controlador de filtros cuando se está por agregar una dirección de ANSAC basada en un prefijo. Su valor booleano que se muestra determina si se filtra la dirección (no se agrega) o no.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
otMessageInfo
struct otMessageInfo otMessageInfo
Esta estructura representa las direcciones de sockets de IPv6 locales y de intercambio de tráfico.
otNetifAddress
struct otNetifAddress otNetifAddress
Esta estructura representa una dirección de unidifusión de la interfaz IPv6.
otNetifMulticastAddress
struct otNetifMulticastAddress otNetifMulticastAddress
Esta estructura representa una dirección multidifusión de la interfaz de red IPv6.
otPacketsAndBytes
struct otPacketsAndBytes otPacketsAndBytes
Esta estructura representa los contadores de paquetes y bytes.
Variables
PO_TOOL_PACKED_END
OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END
Funciones
direcciónIP6AgregarUnicast
otError otIp6AddUnicastAddress( otInstance *aInstance, const otNetifAddress *aAddress )
Agrega una dirección de interfaz de red a la interfaz de Thread.
La interfaz de Thread copia la instancia que se pasó aAddress
. La interfaz de Thread solo admite una cantidad fija de direcciones de unidifusión agregadas de forma externa. Consulta los OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS
.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
oT6AddUnsecurePort
otError otIp6AddUnsecurePort( otInstance *aInstance, uint16_t aPort )
Esta función agrega un puerto a la lista de puertos no seguros permitidos.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
o6IPDirecciónDeString
otError otIp6AddressFromString( const char *aString, otIp6Address *aAddress )
Esta función convierte una string de dirección IPv6 legible para que se convierta en una representación binaria.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
ot6DirecciónToString
void otIp6AddressToString( const otIp6Address *aAddress, char *aBuffer, uint16_t aSize )
Esta función convierte una dirección IPv6 determinada en una string legible.
La string de la dirección IPv6 tiene 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 será nula.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
op6ArePrefixesEqual
bool otIp6ArePrefixesEqual( const otIp6Prefix *aFirst, const otIp6Prefix *aSecond )
Prueba si dos prefijos IPv6 son iguales.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
ot6yGetBorderRoutingCounters
const otBorderRoutingCounters * otIp6GetBorderRoutingCounters( otInstance *aInstance )
Obtiene los contadores de enrutamiento de borde.
Esta función requiere que se habilite la función de tiempo de compilación OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE
.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Un puntero para los contadores de enrutamiento de borde.
|
Ot6GetMulticastAddresses
const otNetifMulticastAddress * otIp6GetMulticastAddresses( otInstance *aInstance )
Obtiene la lista de direcciones multidifusión IPv6 suscritas a la interfaz de Thread.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Un puntero a la primera dirección de multidifusión de la interfaz de red.
|
Ot6GetPrefix
void otIp6GetPrefix( const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix )
Este método obtiene un prefijo con aLength
de aAddress
.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
ot6GetUnicastAddresses
const otNetifAddress * otIp6GetUnicastAddresses( otInstance *aInstance )
Obtiene la lista de direcciones IPv6 asignadas a la interfaz de Thread.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Un puntero a la primera dirección de interfaz de red.
|
ot6GetUnsecurePorts
const uint16_t * otIp6GetUnsecurePorts( otInstance *aInstance, uint8_t *aNumEntries )
Esta función muestra un puntero a la lista de puertos no seguros.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Qué muestra |
Un puntero para la lista de puertos no seguros.
|
oPI6IsAddressEqual
bool otIp6IsAddressEqual( const otIp6Address *aFirst, const otIp6Address *aSecond )
Prueba si dos direcciones IPv6 son iguales.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
ot6IsAddressUnspecified
bool otIp6IsAddressUnspecified( const otIp6Address *aAddress )
Esta función indica si una dirección IPv6 determinada es o no la especificada.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
oT6IsIsEnabled
bool otIp6IsEnabled( otInstance *aInstance )
Indica si la interfaz IPv6 está activa o no.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
ot6IsMulticastPromiscuousEnabled
bool otIp6IsMulticastPromiscuousEnabled( otInstance *aInstance )
Comprueba si el modo promiscuo multidifusión está habilitado en la interfaz de Thread.
Detalles | |||
---|---|---|---|
Parámetros |
|
otIp6SetMulticastPromiscuousEnabled
ot6IsReceiveFilterEnabled
bool otIp6IsReceiveFilterEnabled( otInstance *aInstance )
Esta función indica si se filtra o no el tráfico de control de Thread cuando se envían datagramas de IPv6 a través de la devolución de llamada especificada en otIp6SetReceiveCallback().
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
TRUE si se filtra el tráfico de control de Thread; de lo contrario, es FALSE.
|
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled
oT6IsSlaacEnabled
bool otIp6IsSlaacEnabled( otInstance *aInstance )
Esta función indica si el módulo ANSAC está habilitado o no.
Esta función requiere que se habilite la función de tiempo de compilación OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
.
Detalles | |||||
---|---|---|---|---|---|
Valores que se muestran |
|
ot6NewMessage
otMessage * otIp6NewMessage( otInstance *aInstance, const otMessageSettings *aSettings )
Asigna un nuevo búfer de mensaje 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
ot6NewMessageFromBuffer
otMessage * otIp6NewMessageFromBuffer( otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings )
Asigna un nuevo búfer de mensaje y escribe el datagrama IPv6 en el búfer de mensaje para enviar un mensaje IPv6.
Detalles | |||||||||
---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||
Qué muestra |
Un puntero para el mensaje o NULO si hay un encabezado IPv6 con formato incorrecto o búferes de mensajes insuficientes disponibles.
|
otMessageFree
ot6PrefijoDeString(
otError otIp6PrefixFromString( const char *aString, otIp6Prefix *aPrefix )
Esta función convierte una string de prefijo de IPv6 de fácil lectura en una representación binaria.
El parámetro aString
debe ser una string en el formato "
es una dirección IPv6 y
es una longitud de prefijo.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
ot6PrefijoMatch
uint8_t otIp6PrefixMatch( const otIp6Address *aFirst, const otIp6Address *aSecond )
Esta función muestra la longitud de coincidencia de prefijo (bits) para dos direcciones IPv6.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Qué muestra |
La longitud de la coincidencia de prefijo en bits.
|
ot6prefijoToString
void otIp6PrefixToString( const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize )
Esta función convierte un prefijo IPv6 determinado en una string legible.
La string 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 será nula.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
oT6ProtoToString
const char * otIp6ProtoToString( uint8_t aIpProto )
Esta función convierte un número de protocolo IP en una string legible.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Una string que representa
aIpProto . |
oT6RegisterMulticastListeners
otError otIp6RegisterMulticastListeners( otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext )
Esta función registra objetos de escucha de multidifusión en el router de red troncal principal.
Nota: Solo está disponible cuando OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE
y OPENTHREAD_CONFIG_COMMISSIONER_ENABLE
están habilitados.
Detalles | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||
Valores que se muestran |
|
otIp6RegisterMulticastListenersCallback
ot6pxQuitarAllUnsecurePorts
void otIp6RemoveAllUnsecurePorts( otInstance *aInstance )
Esta función quita todos los puertos de la lista de puertos no seguros permitidos.
Detalles | |||
---|---|---|---|
Parámetros |
|
ot6EliminaciónQuitarDirección
otError otIp6RemoveUnicastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Quita una dirección de interfaz de red de la interfaz de Thread.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
ot6QuitarQuitarUnsecurePuerto
otError otIp6RemoveUnsecurePort( otInstance *aInstance, uint16_t aPort )
Esta función quita un puerto de la lista de puertos no seguros permitidos.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
ot6RestablecerRestablecerContadorContador
void otIp6ResetBorderRoutingCounters( otInstance *aInstance )
Restablece los contadores de enrutamiento de borde.
Detalles | |||
---|---|---|---|
Parámetros |
|
o6IPSelectSourceAddress
otError otIp6SelectSourceAddress( otInstance *aInstance, otMessageInfo *aMessageInfo )
Esta función realiza la selección de direcciones de origen de OpenThread.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
OPI6Enviar
otError otIp6Send( otInstance *aInstance, otMessage *aMessage )
Esta función envía un datagrama IPv6 a través de la interfaz de 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 )
Esta función registra una devolución de llamada para notificar los cambios de dirección IPv6 internas.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
ot6SetEnabled
otError otIp6SetEnabled( otInstance *aInstance, bool aEnabled )
Activa o desactiva la interfaz IPv6.
Llámelo para habilitar o inhabilitar la comunicación IPv6.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
ot6SetMeshLocalIid
otError otIp6SetMeshLocalIid( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid )
Esta función establece el IID local de la malla (con fines de prueba).
Solo está disponible cuando OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
está habilitado.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
op6SetMulticastPromiscuousEnabled
void otIp6SetMulticastPromiscuousEnabled( otInstance *aInstance, bool aEnabled )
Habilita o inhabilita el modo promiscuo de multidifusión en la interfaz de Thread.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
otIp6IsMulticastPromiscuousEnabled
ot6SetReceiveCallback
void otIp6SetReceiveCallback( otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext )
Esta función registra una devolución de llamada para proporcionar los datagramas IPv6 recibidos.
De forma predeterminada, esta devolución de llamada no pasa el tráfico de control de Thread. Consulta otIp6SetReceiveFilterEnabled() para cambiar la configuración del filtro de control de Thread.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
void otIp6SetReceiveFilterEnabled( otInstance *aInstance, bool aEnabled )
Esta función establece si se filtra el tráfico de control de Thread cuando se envían datagramas de IPv6 a través de la devolución de llamada especificada en otIp6SetReceiveCallback().
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled
oTi6SetSlaacEnabled
void otIp6SetSlaacEnabled( otInstance *aInstance, bool aEnabled )
Esta función habilita o inhabilita el módulo de ANSAC.
Esta función requiere que se habilite la función de tiempo de compilación OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
.
Cuando el módulo de ANSAC está habilitado, las direcciones de ANSAC (basadas en prefijos en la malla en los datos de red) se agregan a la interfaz. Cuando se inhabilita el módulo de ANSAC, se quita cualquier dirección de ANSAC que se haya agregado anteriormente.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
otIp6SetSlaacPrefixFilter
void otIp6SetSlaacPrefixFilter( otInstance *aInstance, otIp6SlaacPrefixFilter aFilter )
Esta función establece el controlador de filtros del módulo ANSAC.
Esta función requiere que se habilite la función de tiempo de compilación OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
.
El módulo de ANSAC llama al controlador de filtros cuando está a punto de agregar una dirección del ANSAC en función de un prefijo para decidir si se debe agregar o no la dirección.
Un controlador de filtros NULL inhabilita el filtrado y permite que se agreguen todas las direcciones del ANSAC.
Si no se llama a esta función, el filtro predeterminado que utiliza el módulo de ANSAC será NULL (el filtro está inhabilitado).
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
ot6SockAddrToString
void otIp6SockAddrToString( const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize )
Esta función convierte una dirección de socket IPv6 determinada en una string legible.
La string de la 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 será nula.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
ot6SubscribeMulticastAddress
otError otIp6SubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Suscribe la interfaz de Thread a una dirección de multidifusión de la interfaz de red.
La interfaz de Thread copiará el elemento que se pasó en la instancia aAddress
. La interfaz de Thread solo admite una cantidad fija de direcciones multidifusión agregadas de forma externa. Consulta los OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS
.
Detalles | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||
Valores que se muestran |
|
ot6Anular suscripción a multidifusión
otError otIp6UnsubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Anula la suscripción de la interfaz de Thread a una dirección de multidifusión de la interfaz de red.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores que se muestran |
|
Macros
T0IP6_ADDRESS_SIZE
OT_IP6_ADDRESS_SIZE 16
Tamaño de una dirección IPv6 (bytes)
OT_IP6_DIRECCIÓN_STRING_SIZE
OT_IP6_ADDRESS_STRING_SIZE 40
Tamaño recomendado para la representación de string de una dirección IPv6.
TIP_IP6_IID_TAMAÑO
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 compatibles con el registro de objetos de escucha de multidifusión.
OT_IP6_PREFIX_BITSIZE
OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)
Tamaño de un prefijo de IPv6 (bits)
TIP_IP6_PREFIX_SIZE
OT_IP6_PREFIX_SIZE 8
Tamaño de un prefijo de IPv6 (bytes)
PO_IP6_PREFIX_STRING_SIZE
OT_IP6_PREFIX_STRING_SIZE 45
Tamaño recomendado para la representación de string de un prefijo de IPv6.
PO_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 colaborar con nuestra documentación, consulta la sección Recursos.