nl::Inet::TunEndPoint

#include <src/inet/TunEndPoint.h>

Os objetos desta classe representam interfaces de túnel.

Resumo

A camada Nest Inet encapsula métodos para interagir 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 gerenciador 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 de túnel.
RouteOp typedef
Operação ao definir a rota para a interface de túnel.

Atributos públicos

OnPacketReceived
O delegado do gerenciador de eventos de recebimento do pacote do endpoint.
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 a alça 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 de 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.

Tipos públicos

@11

 @11

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

Os objetos são inicializados no estado vá para a guia "fechado", quando estiverem prontas para serem recicladas.

OnPacketReceivedFunct

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

Tipo de gerenciador de eventos de recebimento de pacote.

Tipo de delegado para uma camada superior que atuará 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 para uma camada superior que atua em caso de erro ao processar um pacote IPv6 do túnel.

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

RouteOp

 RouteOp

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

Os valores desse tipo enumerado são usados na definição de uma rota para o túnel encapsulado.

Propriedades
kRouteTunIntf_Add

Adicionar rota para um prefixo.

kRouteTunIntf_Del

Remover rota de um prefixo.

RouteOp

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

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

Os valores desse tipo enumerado são usados na definição de uma rota para o túnel encapsulado.

Atributos públicos

OnPacketReceived

OnPacketReceivedFunct OnPacketReceived

O delegado do gerenciador de eventos de recebimento do pacote do endpoint.

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 vá para a guia "fechado", quando estiverem prontas para serem recicladas.

Funções públicas

Grátis

void Free(
  void
)

Feche o túnel e libere a alça no objeto.

Feche o dispositivo da pseudointerface de 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
Retornos
O identificador da interface de 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 de túnel.

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

InterfaceUp

INET_ERROR InterfaceUp(
  void
)

Ative a interface do túnel.

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

IsInterfaceUp

bool IsInterfaceUp(
  void
) const 

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

Detalhes
Retornos
true se a interface de túnel estiver ativa. Caso contrário, será false.

Abrir

INET_ERROR Open(
  void
)

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

Detalhes
Retornos
INET_NO_ERROR em caso de sucesso, caso contrário, um erro correspondente do sistema operacional INET mapeado.

Abrir

INET_ERROR Open(
  const char *intfName
)

Enviar

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

Envie um pacote IPv6 ao dispositivo tun.

Detalhes
Parâmetros
[in] message
o pacote IPv6 a 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