nl::Inet::TunEndPoint

#include <src/inet/TunEndPoint.h>

Gli oggetti di questa classe rappresentano le interfacce dei tunnel.

Riepilogo

Nest Inet Layer incapsula i metodi per interagire su sistemi POSIX e LwIP con un meccanismo di tunneling IP-in-IP per supportare l'agente di tunnel Weave.

Eredità

Eredita da: nl::Inet::EndPointBasis

Tipi pubblici

@11 enum
Stato dinamico di base del tunnel sottostante.
OnPacketReceivedFunct)(TunEndPoint *endPoint, Weave::System::PacketBuffer *message) typedef
void(*
Tipo di gestore di eventi di ricezione pacchetti.
OnReceiveErrorFunct)(TunEndPoint *endPoint, INET_ERROR err) typedef
void(*
Tipo di gestore di eventi di errore.
RouteOp{
  kRouteTunIntf_Add = 0,
  kRouteTunIntf_Del = 1
}
enum
Operazione durante l'impostazione della route sull'interfaccia del tunnel.
RouteOp typedef
Operazione durante l'impostazione della route sull'interfaccia del tunnel.

Attributi pubblici

OnPacketReceived
Delegato del gestore di eventi di ricezione dei pacchetti dell'endpoint.
OnReceiveError
mAppState
void *
Puntatore all'oggetto di stato specifico dell'applicazione.
mState
enum nl::Inet::TunEndPoint::@11
Stato dinamico di base del tunnel sottostante.

Funzioni pubbliche

Free(void)
void
Chiudi il tunnel e rilascia l'handle dell'oggetto.
GetTunnelInterfaceId(void)
InterfaceId
Ottieni l'identificatore dell'interfaccia del tunnel.
Init(InetLayer *inetLayer)
void
Inizializza l'oggetto Tunnel EndPoint.
InterfaceDown(void)
Disattiva l'interfaccia del tunnel.
InterfaceUp(void)
Attiva l'interfaccia del tunnel.
IsInterfaceUp(void) const
bool
Estrai lo stato di attivazione dell'interfaccia del tunnel.
Open(void)
Apri una pseudo interfaccia di tunnel e crea un handle.
Open(const char *intfName)
Send(Weave::System::PacketBuffer *message)
Invia un pacchetto IPv6 al dispositivo tun da inviare.

Tipi pubblici

@11

 @11

Stato dinamico di base del tunnel sottostante.

Gli oggetti vengono inizializzati nello stato "aperto", quindi passa allo stato "chiuso" quando sono pronti per essere riciclati.

OnPacketReceivedFunct

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

Tipo di gestore di eventi di ricezione pacchetti.

Tipo di delegato a un livello superiore per agire alla ricezione di un pacchetto IPv6 dal tunnel.

Dettagli
Parametri
[in] endPoint
Un puntatore all'oggetto TunEndPoint.
[in] message
Un puntatore all'oggetto del messaggio Weave::System::PacketBuffer.

OnReceiveErrorFunct

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

Tipo di gestore di eventi di errore.

Tipo di delegato a un livello superiore per agire in caso di errore durante l'elaborazione di un pacchetto IPv6 dal tunnel.

Dettagli
Parametri
[in] endPoint
L'oggetto TunEndPoint.
[in] err
Codice di errore segnalato.

RouteOp

 RouteOp

Operazione durante l'impostazione della route sull'interfaccia del tunnel.

I valori di questo tipo enumerato vengono utilizzati quando viene impostata una route per il tunnel incapsulato.

Proprietà
kRouteTunIntf_Add

Aggiungi route per un prefisso.

kRouteTunIntf_Del

Rimuovi la route per un prefisso.

RouteOp

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

Operazione durante l'impostazione della route sull'interfaccia del tunnel.

I valori di questo tipo enumerato vengono utilizzati quando viene impostata una route per il tunnel incapsulato.

Attributi pubblici

OnPacketReceived

OnPacketReceivedFunct OnPacketReceived

Delegato del gestore di eventi di ricezione dei pacchetti dell'endpoint.

OnReceiveError

OnReceiveErrorFunct OnReceiveError

mAppState

void * mAppState

Puntatore all'oggetto di stato specifico dell'applicazione.

mState

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

Stato dinamico di base del tunnel sottostante.

Gli oggetti vengono inizializzati nello stato "aperto", quindi passa allo stato "chiuso" quando sono pronti per essere riciclati.

Funzioni pubbliche

Senza costi

void Free(
  void
)

Chiudi il tunnel e rilascia l'handle dell'oggetto.

Chiudi il dispositivo della pseudo interfaccia del tunnel e riduci il conteggio di riferimento dell'oggetto InetLayer.

GetTunnelInterfaceId

InterfaceId GetTunnelInterfaceId(
  void
)

Ottieni l'identificatore dell'interfaccia del tunnel.

Dettagli
Restituisce
L'identificatore dell'interfaccia del tunnel.

Inizia

void Init(
  InetLayer *inetLayer
)

Inizializza l'oggetto Tunnel EndPoint.

Dettagli
Parametri
[in] inetLayer
Un puntatore all'oggetto del livello Inet che ha creato l'endpoint del tunnel.

InterfaceDown

INET_ERROR InterfaceDown(
  void
)

Disattiva l'interfaccia del tunnel.

Dettagli
Valori restituiti
INET_NO_ERROR
operazione riuscita: l'interfaccia del tunnel è disattivata.
other
un altro errore del sistema o della piattaforma

InterfaceUp

INET_ERROR InterfaceUp(
  void
)

Attiva l'interfaccia del tunnel.

Dettagli
Valori restituiti
INET_NO_ERROR
operazione riuscita: l'interfaccia del tunnel è stata attivata.
other
un altro errore del sistema o della piattaforma

IsInterfaceUp

bool IsInterfaceUp(
  void
) const 

Estrai lo stato di attivazione dell'interfaccia del tunnel.

Dettagli
Restituisce
true se l'interfaccia del tunnel è attiva, altrimenti false.

Apri

INET_ERROR Open(
  void
)

Apri una pseudo interfaccia di tunnel e crea un handle.

Dettagli
Restituisce
INET_NO_ERROR in caso di esito positivo, altrimenti un errore di sistema operativo mappato INET corrispondente.

Apri

INET_ERROR Open(
  const char *intfName
)

Invia

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

Invia un pacchetto IPv6 al dispositivo tun da inviare.

Dettagli
Parametri
[in] message
il pacchetto IPv6 da inviare.
Valori restituiti
INET_NO_ERROR
operazione riuscita: pacchetto incapsulato e in coda per l'invio
INET_ERROR_NOT_SUPPORTED
pacchetto non IP versione 6
INET_ERROR_BAD_ARGS
message è un puntatore da NULL