IPv6
Este módulo incluye funciones que controlan la comunicación de IPv6.
Resumen
Enumeraciones |
|
---|---|
anonymous enum{
|
Enum Orígenes de la dirección IPv6. |
anonymous enum{
|
Enum Estados ECN, representados como en el encabezado IP. |
anonymous enum{
|
Enum Números de protocolo de Internet. |
Typedefs |
|
---|---|
otBorderRoutingCounters
|
typedefstruct otBorderRoutingCounters
Esta estructura representa los contadores de paquetes reenviados a través del enrutamiento fronterizo. |
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 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 ANSAC basada en un prefijo. |
otMessageInfo
|
typedefstruct otMessageInfo
Esta estructura representa las direcciones de socket IPv6 locales y de pares. |
otNetifAddress
|
typedefstruct otNetifAddress
Esta estructura representa una dirección de unidifusión de la interfaz de red IPv6. |
otNetifMulticastAddress
|
typedefstruct otNetifMulticastAddress
Esta estructura representa una dirección de 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 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 del enrutamiento fronterizo.
|
otIp6GetMulticastAddresses(otInstance *aInstance)
|
const otNetifMulticastAddress *
Obtiene la lista de direcciones de 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 dirección no especificada.
|
otIp6IsEnabled(otInstance *aInstance)
|
bool
Indica si la interfaz IPv6 está activa o no.
|
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
|
bool
Verifica si el modo promiscuo de multidifusión está habilitado en la interfaz de Thread.
|
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
|
bool
Esta función indica 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().
|
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 mensajes para enviar un mensaje IPv6.
|
otIp6NewMessageFromBuffer(otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
|
Asigna un nuevo búfer de mensajes y escribe el datagrama IPv6 en el búfer de mensajes para enviar un mensaje IPv6.
|
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
uint8_t
Esta función muestra la longitud de coincidencia del 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 determinado 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 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 direcciones IPv6 internas.
|
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
|
Abre o baja la interfaz IPv6.
|
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
|
Esta función 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
Esta función registra una devolución de llamada para proporcionar los datagramas IPv6 recibidos.
|
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
|
void
Esta función define 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 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 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 |
|
---|---|
otBorderRouteCounters |
Esta estructura representa los contadores de paquetes reenviados a través del enrutamiento fronterizo. |
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 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). |
otIp6Prefix |
Esta estructura representa un prefijo IPv6. |
otMessageInfo |
Esta estructura representa las direcciones de socket IPv6 locales y de pares. |
otNetifAddress. |
Esta estructura representa una dirección de unidifusión de la interfaz de red IPv6. |
otNetifMulticastAddress |
Esta estructura representa una dirección de 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
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 conversación (ALOC, RLOC, MLEID, etc.) |
enumeración anónima
anonymous enum
Estados ECN, representados como en el encabezado IP.
Propiedades | |
---|---|
OT_ECN_CAPABLE_0
|
ECT(0) |
OT_ECN_CAPABLE_1
|
ECT(1) |
OT_ECN_MARKED
|
Congestión encontrada (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 IPv6 paso a paso. |
OT_IP6_PROTO_ICMP6
|
ICMP para IPv6 |
OT_IP6_PROTO_IP6
|
Encapsulamiento de 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
|
Datagram del usuario. |
Typedefs
otBorderRouteCounters
struct otBorderRoutingCounters otBorderRoutingCounters
Esta estructura representa los contadores de paquetes reenviados a través del enrutamiento fronterizo.
otIp6AddressCallback
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 |
|
otIp6AddressComponents
struct otIp6AddressComponents otIp6AddressComponents
Esta estructura representa los componentes de una dirección IPv6.
ot6IDDDirección
struct otIp6AddressInfo otIp6AddressInfo
otIp6InterfaceIdentifier
struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier
Esta estructura representa el identificador de interfaz de una dirección IPv6.
Prefijo de red ot6p6
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).
otIp6ReceiveCallback
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 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 de ANSAC basada en un prefijo. Su valor booleano que se muestra determina si la dirección se filtra (no se agrega) o no.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores de retorno |
|
otMessageInfo
struct otMessageInfo otMessageInfo
Esta estructura representa las direcciones de socket IPv6 locales y de pares.
Dirección onetNetif
struct otNetifAddress otNetifAddress
Esta estructura representa una dirección de unidifusión de la interfaz de red IPv6.
otNetifMulticastAddress
struct otNetifMulticastAddress otNetifMulticastAddress
Esta estructura representa una dirección de multidifusión de la interfaz de red IPv6.
otPacketsAndBytes
struct otPacketsAndBytes otPacketsAndBytes
Esta estructura representa los contadores de paquetes y bytes.
Variables
TS_TOOL_PACKED_END
OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END
Funciones
otIp6AddUnicastAddress
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 pasada aAddress
. La interfaz de Thread solo admite un número fijo de direcciones de unidifusión agregadas de forma externa. Consulta los OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS
.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores de retorno |
|
oT6AgregarUnUnPuertoSeguro
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 de retorno |
|
otIp6AddressFromString
otError otIp6AddressFromString( const char *aString, otIp6Address *aAddress )
Esta función convierte una string de dirección IPv6 legible en una representación binaria.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores de retorno |
|
otIp6AddressToString
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 aSize
caracteres), la string se truncará, pero la string resultante siempre será nula.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
otIp6ArePrefixesEqual
bool otIp6ArePrefixesEqual( const otIp6Prefix *aFirst, const otIp6Prefix *aSecond )
Prueba si dos prefijos IPv6 son iguales.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores de retorno |
|
otIp6GetBorderRouteCounters
const otBorderRoutingCounters * otIp6GetBorderRoutingCounters( otInstance *aInstance )
Obtiene los contadores del enrutamiento fronterizo.
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 fronterizo
|
ot6ODMultiMultiAddresses
const otNetifMulticastAddress * otIp6GetMulticastAddresses( otInstance *aInstance )
Obtiene la lista de direcciones de multidifusión IPv6 suscritas a la interfaz de Thread.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Un puntero para la primera dirección de multidifusión de la interfaz de red.
|
OtIp6GetPrefix
void otIp6GetPrefix( const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix )
Este método obtiene un prefijo con aLength
de aAddress
.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
ot6IGetUnicastAddresses
const otNetifAddress * otIp6GetUnicastAddresses( otInstance *aInstance )
Obtiene la lista de direcciones IPv6 asignadas a la interfaz de Thread.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Un puntero para la primera dirección de interfaz de red.
|
otIp6GetUnsecurePorts
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.
|
otIp6IsAddressEqual
bool otIp6IsAddressEqual( const otIp6Address *aFirst, const otIp6Address *aSecond )
Prueba si dos direcciones IPv6 son iguales.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores de retorno |
|
otIp6IsAddressUnspecified
bool otIp6IsAddressUnspecified( const otIp6Address *aAddress )
Esta función indica si una dirección IPv6 determinada es o no la dirección no especificada.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores de retorno |
|
otIp6IsEnabled
bool otIp6IsEnabled( otInstance *aInstance )
Indica si la interfaz IPv6 está activa o no.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores de retorno |
|
ot6iMulticastPromiscuousEnabled
bool otIp6IsMulticastPromiscuousEnabled( otInstance *aInstance )
Verifica si el modo promiscuo de multidifusión está habilitado en la interfaz de Thread.
Detalles | |||
---|---|---|---|
Parámetros |
|
otIp6SetMulticastPromiscuousEnabled
ot6IIsFilterFilterEnabled
bool otIp6IsReceiveFilterEnabled( otInstance *aInstance )
Esta función indica 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 |
|
||
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 de retorno |
|
ot6NuevoMensaje
otMessage * otIp6NewMessage( otInstance *aInstance, const otMessageSettings *aSettings )
Asigna un nuevo búfer de mensajes 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 si los parámetros no son válidos.
|
otMessageFree
ot6NuevoMensajeDeBuffer
otMessage * otIp6NewMessageFromBuffer( otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings )
Asigna un nuevo búfer de mensajes y escribe 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 el encabezado IPv6 con formato incorrecto o los búferes de mensajes no están disponibles.
|
otMessageFree
OtIp6PrefixMatch
uint8_t otIp6PrefixMatch( const otIp6Address *aFirst, const otIp6Address *aSecond )
Esta función muestra la longitud de coincidencia del prefijo (bits) para dos direcciones IPv6.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Qué muestra |
Longitud de coincidencia del prefijo en bits.
|
otIp6PrefixToString
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 aSize
caracteres), la string se truncará, pero la string resultante siempre será nula.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
otIp6ProtoToString
const char * otIp6ProtoToString( uint8_t aIpProto )
Esta función convierte un número de protocolo IP determinado en una string legible.
Detalles | |||
---|---|---|---|
Parámetros |
|
||
Qué muestra |
Una string que representa
aIpProto . |
otIp6RegisterMulticastListeners
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 troncal principal.
Nota: Disponible solo cuando OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE
y OPENTHREAD_CONFIG_COMMISSIONER_ENABLE
están habilitados)
Detalles | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||||
Valores de retorno |
|
otIp6RegisterMulticastListenersCallback
ot6pQuitarTodosLosPuertosNoSeguros
void otIp6RemoveAllUnsecurePorts( otInstance *aInstance )
Esta función 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 de Thread.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
||||||
Valores de retorno |
|
ot6ipUnUnPuertoDeSeguridad
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 de retorno |
|
ot6pRestablecerRestablecerEnrutadores
void otIp6ResetBorderRoutingCounters( otInstance *aInstance )
Restablece los contadores de enrutamiento de borde.
Detalles | |||
---|---|---|---|
Parámetros |
|
ot6IDdeDireccióndeSeleccionarFuente
otError otIp6SelectSourceAddress( otInstance *aInstance, otMessageInfo *aMessageInfo )
Esta función realiza la selección de direcciones de origen de OpenThread.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores de retorno |
|
ot6iEnviar
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 de retorno |
|
otIp6SetAddressCallback
void otIp6SetAddressCallback( otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext )
Esta función registra una devolución de llamada para notificar los cambios de direcciones IPv6 internas.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
otIp6SetEnabled
otError otIp6SetEnabled( otInstance *aInstance, bool aEnabled )
Abre o baja la interfaz IPv6.
Llámelo para habilitar o inhabilitar la comunicación de IPv6.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores de retorno |
|
op6SetMeshLocalIid
otError otIp6SetMeshLocalIid( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid )
Esta función establece el IID local de malla (para fines de prueba).
Solo está disponible cuando OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
está habilitado.
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
||||
Valores de retorno |
|
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 )
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 define 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
ot6p6SetSlaacEnabled
void otIp6SetSlaacEnabled( otInstance *aInstance, bool aEnabled )
Esta función habilita o inhabilita el módulo 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 ANSAC está habilitado, las direcciones de ANSAC (según los prefijos en la malla en los datos de red) se agregan a la interfaz. Cuando se inhabilita el módulo ANSAC, se quita cualquier dirección 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 ANSA llama al controlador de filtros cuando está a punto de agregar una dirección de este tipo según un prefijo para decidir si se debe agregar o no.
Un controlador de filtro 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 usará el módulo de ANSAC será NULL (el filtro está inhabilitado).
Detalles | |||||
---|---|---|---|---|---|
Parámetros |
|
otIp6SockAddrToString
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 dirección del socket IPv6 tiene el formato [address
]:port
, donde 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 aSize
caracteres), la string se truncará, pero la string resultante siempre será nula.
Detalles | |||||||
---|---|---|---|---|---|---|---|
Parámetros |
|
Dirección de suscripción de multidifusión otIp6
otError otIp6SubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Suscribe la interfaz 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 un número fijo de direcciones de multidifusión agregadas de forma externa. Consulta los OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS
.
Detalles | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Parámetros |
|
||||||||||
Valores de retorno |
|
otIp6Anular la función de 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 de retorno |
|
Macros
TS_IP6_ADDRESS_SIZE
OT_IP6_ADDRESS_SIZE 16
Tamaño de una dirección IPv6 (bytes)
TS_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_IID_SIZE
OT_IP6_IID_SIZE 8
Tamaño de un identificador de interfaz IPv6 (bytes)
TS_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
TS_IP6_PREFIX_BITSIZE
OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)
Tamaño de un prefijo de IPv6 (bits)
TS_IP6_PREFIX_SIZE
OT_IP6_PREFIX_SIZE 8
Tamaño de un prefijo IPv6 (bytes)
TS_IP6_PREFIX_STRING_SIZE
OT_IP6_PREFIX_STRING_SIZE 45
Tamaño recomendado para la representación de string de un prefijo IPv6.
TS_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 con nuestra documentación, consulta Recursos.