nl::Inet::TunEndPoint

#include <src/inet/TunEndPoint.h>

Os objetos dessa classe representam interfaces de túnel.

Resumo

A Nest Inet Layer encapsula métodos de interação em sistemas POSIX e LwIP com um mecanismo de encapsulamento IP-in-IP para oferecer suporte ao agente de túnel do Weave.

Herança

Herda de: nl::Inet::EndPointBasis

Tipos públicos

@11 enum
Estado dinâmico básico do túnel subjacente.
OnPacketReceivedFunct)(TunEndPoint *endPoint, Weave::System::PacketBuffer *message) typedef
void(*
Tipo de manipulador de eventos de recebimento de pacote.
OnReceiveErrorFunct)(TunEndPoint *endPoint, INET_ERROR err) typedef
void(*
Tipo de manipulador de eventos de erro.
RouteOp{
  kRouteTunIntf_Add = 0,
  kRouteTunIntf_Del = 1
}
enum
Operação ao definir a rota para a interface do túnel.
RouteOp typedef
Operação ao definir a rota para a interface do túnel.

Atributos públicos

OnPacketReceived
O pacote do endpoint recebe a delegação do manipulador de eventos.
OnReceiveError
mAppState
void *
Ponteiro para o objeto de estado específico do aplicativo.
mState
enum nl::Inet::TunEndPoint::@11
Estado dinâmico básico do túnel subjacente.

Funções públicas

Free(void)
void
Feche o túnel e libere o identificador no objeto.
GetTunnelInterfaceId(void)
InterfaceId
Consiga o identificador da interface do túnel.
Init(InetLayer *inetLayer)
void
Inicialize o objeto Tunnel EndPoint.
InterfaceDown(void)
Desative a interface do túnel.
InterfaceUp(void)
Ative a interface do túnel.
IsInterfaceUp(void) const
bool
Extraia o estado de ativação da interface do túnel.
Open(void)
Abra uma pseudointerface de túnel e crie um identificador para ela.
Open(const char *intfName)
Send(Weave::System::PacketBuffer *message)
Envie um pacote IPv6 ao dispositivo tun para envio.

Tipos públicos

@11

 @11

Estado dinâmico básico do túnel subjacente.

Os objetos são inicializados no estado "aberto" e passam para o estado "fechado" quando estão prontos para serem reciclados.

OnPacketReceivedFunct

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

Tipo de manipulador de eventos de recebimento de pacote.

Tipo de delegado a uma camada superior para agir após o recebimento de um pacote IPv6 do túnel.

Detalhes
Parâmetros
[in] endPoint
Um ponteiro para o objeto TunEndPoint.
[in] message
Um ponteiro para o objeto de mensagem Weave::System::PacketBuffer.

OnReceiveErrorFunct

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

Tipo de manipulador de eventos de erro.

Tipo de delegado a uma camada superior para agir após um erro ao processar um pacote IPv6 do túnel.

Detalhes
Parâmetros
[in] endPoint
O objeto TunEndPoint.
[in] err
Código do erro informado.

RouteOp

 RouteOp

Operação ao definir a rota para a interface do túnel.

Os valores desse tipo enumerado são usados ao definir uma rota para o túnel encapsulado.

Propriedades
kRouteTunIntf_Add

Adicione uma rota para um prefixo.

kRouteTunIntf_Del

Remova a rota de um prefixo.

RouteOp

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

Operação ao definir a rota para a interface do túnel.

Os valores desse tipo enumerado são usados ao definir uma rota para o túnel encapsulado.

Atributos públicos

OnPacketReceived

OnPacketReceivedFunct OnPacketReceived

O pacote do endpoint recebe a delegação do manipulador de eventos.

OnReceiveError

OnReceiveErrorFunct OnReceiveError

mAppState

void * mAppState

Ponteiro para o objeto de estado específico do aplicativo.

mState

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

Estado dinâmico básico do túnel subjacente.

Os objetos são inicializados no estado "aberto" e passam para o estado "fechado" quando estão prontos para serem reciclados.

Funções públicas

Sem custo financeiro

void Free(
  void
)

Feche o túnel e libere o identificador no objeto.

Feche o dispositivo da pseudointerface do túnel e diminua a contagem de referência do objeto InetLayer.

GetTunnelInterfaceId

InterfaceId GetTunnelInterfaceId(
  void
)

Consiga o identificador da interface do túnel.

Detalhes
Retorna
O identificador da interface do túnel.

Init

void Init(
  InetLayer *inetLayer
)

Inicialize o objeto Tunnel EndPoint.

Detalhes
Parâmetros
[in] inetLayer
Um ponteiro para o objeto da camada Inet que criou o Tunnel EndPoint.

InterfaceDown

INET_ERROR InterfaceDown(
  void
)

Desative a interface do túnel.

Detalhes
Valores de retorno
INET_NO_ERROR
sucesso: a interface do túnel está desativada.
other
outro erro de sistema ou plataforma

InterfaceUp

INET_ERROR InterfaceUp(
  void
)

Ative a interface do túnel.

Detalhes
Valores de retorno
INET_NO_ERROR
sucesso: a interface do túnel está ativada.
other
outro erro de sistema ou plataforma

IsInterfaceUp

bool IsInterfaceUp(
  void
) const 

Extraia o estado de ativação da interface do túnel.

Detalhes
Retorna
true se a interface do túnel estiver ativa. Caso contrário, false.

Abrir

INET_ERROR Open(
  void
)

Abra uma pseudointerface de túnel e crie um identificador para ela.

Detalhes
Retorna
INET_NO_ERROR em caso de sucesso. Caso contrário, ocorrerá um erro de SO mapeado do INET.

Abrir

INET_ERROR Open(
  const char *intfName
)

Enviar

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

Envie um pacote IPv6 ao dispositivo tun para envio.

Detalhes
Parâmetros
[in] message
o pacote IPv6 que vai ser enviado.
Valores de retorno
INET_NO_ERROR
sucesso: pacote encapsulado e na fila para envio
INET_ERROR_NOT_SUPPORTED
pacote não IP versão 6
INET_ERROR_BAD_ARGS
message é um ponteiro de NULL