IPv6
Este módulo incluye funciones que controlan la comunicación IPv6.
Resumen
Enumeraciones |
|
---|---|
anonymous enum{
|
Enum Orígenes de la dirección IPv6. |
anonymous enum{
|
Enum Estados de ECN, representados como en el encabezado de IP. |
anonymous enum{
|
Enum Números de protocolo de Internet. |
Typedefs |
|
---|---|
otBorderRoutingCounters
|
typedefstruct otBorderRoutingCounters
Representa los contadores de paquetes reenviados a través de enrutamiento de borde. |
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 se quita una dirección IPv6 interna. |
otIp6AddressComponents
|
typedefstruct otIp6AddressComponents
Representa los componentes de una dirección IPv6. |
otIp6AddressInfo
|
typedefstruct otIp6AddressInfo
|
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 (los 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 al usuario filtrar los prefijos y no permite que se agregue una dirección de ANSAC basada en un prefijo. |
otMessageInfo
|
typedefstruct otMessageInfo
Representa las direcciones de socket IPv6 locales y de intercambio de tráfico. |
otNetifAddress
|
typedefstruct otNetifAddress
Representa una dirección IPv6 de la interfaz de red IPv6. |
otNetifMulticastAddress
|
typedefstruct otNetifMulticastAddress
Representa una dirección multidifusión en la 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
|
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)
|
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 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
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 *
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
Indica si una dirección IPv6 determinada es la dirección sin especificar.
|
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
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
Indica si el módulo de 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)
|
Convierte una string de prefijo de IPv6 legible en una representación binaria.
|
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
uint8_t
Muestra la longitud de coincidencia del prefijo (bits) para dos direcciones IPv6.
|
otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
|
void
Convierte un prefijo de IPv6 determinado en una string legible.
|
otIp6ProtoToString(uint8_t aIpProto)
|
const char *
Convierte un número de protocolo IP determinado en una string legible.
|
otIp6RegisterMulticastListeners(otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
|
Registra objetos de escucha de multidifusión en el router de red 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 de 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)
|
Realizar la selección de direcciones de origen de OpenThread
|
otIp6Send(otInstance *aInstance, otMessage *aMessage)
|
Envía un datagrama IPv6 a través de la interfaz de Thread.
|
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
|
void
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)
|
Establece el IID local de la 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 los datagramas IPv6 recibidos.
|
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
|
void
Define 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().
|
otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
|
void
Habilita o inhabilita el módulo de ANSAC.
|
otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
|
void
Configura el controlador de filtros del módulo 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 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 |
Representa los contadores de paquetes reenviados a través de enrutamiento de borde. |
otIp6Dirección |
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 (los 64 bits más significativos de la dirección). |
otIp6Prefijo |
Representa un prefijo de IPv6. |
otMessageInfo |
Representa las direcciones de socket IPv6 locales y de intercambio de tráfico. |
otNetifAddress |
Representa una dirección IPv6 de la interfaz de red IPv6. |
otNetifMulticastAddress |
Representa una dirección multidifusión en la interfaz de red IPv6. |
otPacketsAndBytes |
Representa los contadores de paquetes y bytes. |
otSockAddr |
Representa una dirección de socket IPv6. |
Uniones |
|
---|---|
otIp6InterfaceIdentifier:: |
Enumeraciones
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. |
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. |
Typedefs
otBorderRouteCounters
struct otBorderRoutingCounters otBorderRoutingCounters
Representa los contadores de paquetes reenviados a través de enrutamiento de borde.
ot6AddressCallback
void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
Se llama al puntero cuando se agrega o se quita una dirección IPv6 interna.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
o6IPAddressComponents
struct otIp6AddressComponents otIp6AddressComponents
Representa los componentes de una dirección IPv6.
oIP6DirecciónInformación
struct otIp6AddressInfo otIp6AddressInfo
oT6InterfaceIdentifier
struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier
Representa el identificador de interfaz de una dirección IPv6.
ot6prefijodered
struct otIp6NetworkPrefix otIp6NetworkPrefix
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 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 al usuario filtrar los 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
Representa las direcciones de socket IPv6 locales y de intercambio de tráfico.
otNetifAddress
struct otNetifAddress otNetifAddress
Representa una dirección IPv6 de la interfaz de red IPv6.
otNetifMulticastAddress
struct otNetifMulticastAddress otNetifMulticastAddress
Representa una dirección multidifusión en la interfaz de red IPv6.
otPacketsAndBytes
struct otPacketsAndBytes otPacketsAndBytes
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 )
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 )
Convierte una string de dirección IPv6 legible en una representación binaria.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
ot6DirecciónToString
void otIp6AddressToString( const otIp6Address *aAddress, char *aBuffer, uint16_t aSize )
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.
La función de tiempo de compilación de OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE
debe estar habilitada.
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 )
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 )
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 )
Indica si una dirección IPv6 determinada es la dirección sin especificar.
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 )
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 )
Indica si el módulo de ANSAC está habilitado o no.
La función de tiempo de compilación de OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
debe estar habilitada.
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 )
Convierte una string de prefijo de IPv6 legible 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 )
Muestra la longitud de coincidencia del 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 )
Convierte un prefijo de 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 )
Convierte un número de protocolo IP determinado 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 )
Registra objetos de escucha de multidifusión en el router de red troncal principal.
Se deben habilitar OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE
y OPENTHREAD_CONFIG_COMMISSIONER_ENABLE
.
Detalles | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||
Valores que se muestran |
|
otIp6RegisterMulticastListenersCallback
ot6pxQuitarAllUnsecurePorts
void otIp6RemoveAllUnsecurePorts( otInstance *aInstance )
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 )
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 )
Realizar la selección de direcciones de origen de OpenThread
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores que se muestran |
|
OPI6Enviar
otError otIp6Send( otInstance *aInstance, otMessage *aMessage )
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 )
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 )
Establece el IID local de la malla (para fines de prueba).
Se debe habilitar OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
.
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 )
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 )
Define 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 |
|
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled
oTi6SetSlaacEnabled
void otIp6SetSlaacEnabled( otInstance *aInstance, bool aEnabled )
Habilita o inhabilita el módulo de ANSAC.
La función de tiempo de compilación de OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
debe estar habilitada.
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 )
Configura el controlador de filtros del módulo ANSAC.
La función de tiempo de compilación de OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
debe estar habilitada.
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 )
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.
PO_IP6_ENCABEZADO_PROTO_OFFSET
OT_IP6_HEADER_PROTO_OFFSET 6
Desplazamiento del campo proto en el encabezado IPv6 (bytes)
TIP_IP6_ENCABEZADO_TAMAÑO
OT_IP6_HEADER_SIZE 40
Tamaño de un encabezado IPv6 (bytes)
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.