nl::Inet::TunEndPoint

#include <src/inet/TunEndPoint.h>

Los objetos de esta clase representan interfaces de túnel.

Resumen

La capa Nest Inet encapsula métodos para interactuar tanto en sistemas POSIX como LwIP con un mecanismo de tunelización de IP en IP para admitir el agente de túnel de Weave.

Herencia

Hereda de: nl::Inet::EndPointBasis

Tipos públicos

@11 enum
Estado dinámico básico del túnel subyacente.
OnPacketReceivedFunct)(TunEndPoint *endPoint, Weave::System::PacketBuffer *message) typedef
void(*
Tipo de controlador de eventos de recepción de paquetes.
OnReceiveErrorFunct)(TunEndPoint *endPoint, INET_ERROR err) typedef
void(*
Tipo de controlador de eventos de error.
RouteOp{
  kRouteTunIntf_Add = 0,
  kRouteTunIntf_Del = 1
}
enum
Operación cuando se establece la ruta a la interfaz del túnel.
RouteOp typedef
Operación cuando se establece la ruta a la interfaz del túnel.

Atributos públicos

OnPacketReceived
El paquete del extremo recibe al delegado del controlador de eventos.
OnReceiveError
mAppState
void *
Es el puntero al objeto de estado específico de la aplicación.
mState
enum nl::Inet::TunEndPoint::@11
Estado dinámico básico del túnel subyacente.

Funciones públicas

Free(void)
void
Cierra el túnel y libera el controlador del objeto.
GetTunnelInterfaceId(void)
InterfaceId
Obtén el identificador de la interfaz del túnel.
Init(InetLayer *inetLayer)
void
Inicializa el objeto Tunnel EndPoint.
InterfaceDown(void)
Desactiva la interfaz del túnel.
InterfaceUp(void)
Activa la interfaz del túnel.
IsInterfaceUp(void) const
bool
Extrae el estado de activación de la interfaz del túnel.
Open(void)
Abre una seudointerfaz de túnel y crea un controlador para ella.
Open(const char *intfName)
Send(Weave::System::PacketBuffer *message)
Envía un paquete IPv6 al dispositivo tun que se enviará.

Tipos públicos

@11

 @11

Estado dinámico básico del túnel subyacente.

Los objetos se inicializan en el estado “abierto” y pasan al estado “cerrado” cuando estén listos para reciclarse.

OnPacketReceivedFunct

void(* OnPacketReceivedFunct)(TunEndPoint *endPoint, Weave::System::PacketBuffer *message)

Tipo de controlador de eventos de recepción de paquetes.

Es el tipo de delegado a una capa superior para actuar cuando se recibe un paquete IPv6 del túnel.

Detalles
Parámetros
[in] endPoint
Un puntero para el objeto TunEndPoint.
[in] message
Un puntero al objeto de mensaje Weave::System::PacketBuffer.

OnReceiveErrorFunct

void(* OnReceiveErrorFunct)(TunEndPoint *endPoint, INET_ERROR err)

Tipo de controlador de eventos de error.

Tipo de delegado a una capa superior para actuar sobre el error de procesamiento de un paquete IPv6 del túnel.

Detalles
Parámetros
[in] endPoint
El objeto TunEndPoint.
[in] err
Se informó un código de error.

RouteOp

 RouteOp

Operación cuando se establece la ruta a la interfaz del túnel.

Los valores de este tipo enumerado se usan cuando se configura una ruta para el túnel encapsulado.

Propiedades
kRouteTunIntf_Add

Agrega una ruta para un prefijo.

kRouteTunIntf_Del

Quita la ruta de un prefijo.

RouteOp

enum nl::Inet::TunEndPoint::RouteOp RouteOp

Operación cuando se establece la ruta a la interfaz del túnel.

Los valores de este tipo enumerado se usan cuando se configura una ruta para el túnel encapsulado.

Atributos públicos

OnPacketReceived

OnPacketReceivedFunct OnPacketReceived

El paquete del extremo recibe al delegado del controlador de eventos.

OnReceiveError

OnReceiveErrorFunct OnReceiveError

mAppState

void * mAppState

Es el puntero al objeto de estado específico de la aplicación.

mState

enum nl::Inet::TunEndPoint::@11 mState

Estado dinámico básico del túnel subyacente.

Los objetos se inicializan en el estado “abierto” y pasan al estado “cerrado” cuando estén listos para reciclarse.

Funciones públicas

Gratis

void Free(
  void
)

Cierra el túnel y libera el controlador del objeto.

Cierra el dispositivo de la pseudointerfaz del túnel y disminuye el recuento de referencias del objeto InetLayer.

GetTunnelInterfaceId

InterfaceId GetTunnelInterfaceId(
  void
)

Obtén el identificador de la interfaz del túnel.

Detalles
Qué muestra
El identificador de la interfaz del túnel.

Init

void Init(
  InetLayer *inetLayer
)

Inicializa el objeto Tunnel EndPoint.

Detalles
Parámetros
[in] inetLayer
Un puntero al objeto de la capa Inet que creó el extremo del túnel.

InterfaceDown

INET_ERROR InterfaceDown(
  void
)

Desactiva la interfaz del túnel.

Detalles
Valores que se muestran
INET_NO_ERROR
Listo: se desactivó la interfaz de túnel.
other
otro error del sistema o de la plataforma

InterfaceUp

INET_ERROR InterfaceUp(
  void
)

Activa la interfaz del túnel.

Detalles
Valores que se muestran
INET_NO_ERROR
Listo: se activó la interfaz de túnel.
other
otro error del sistema o de la plataforma

IsInterfaceUp

bool IsInterfaceUp(
  void
) const 

Extrae el estado de activación de la interfaz del túnel.

Detalles
Qué muestra
true si la interfaz de túnel está activa, de lo contrario, es false.

Abrir

INET_ERROR Open(
  void
)

Abre una seudointerfaz de túnel y crea un controlador para ella.

Detalles
Qué muestra
INET_NO_ERROR en caso de éxito; de lo contrario, un error de SO asignado por INET correspondiente

Abrir

INET_ERROR Open(
  const char *intfName
)

Enviar

INET_ERROR Send(
  Weave::System::PacketBuffer *message
)

Envía un paquete IPv6 al dispositivo tun que se enviará.

Detalles
Parámetros
[in] message
el paquete IPv6 que se enviará.
Valores que se muestran
INET_NO_ERROR
correcto: se encapsula el paquete y se pone en cola para su envío
INET_ERROR_NOT_SUPPORTED
paquete que no es de la versión 6 de la IP
INET_ERROR_BAD_ARGS
message es un puntero de NULL