nl::Inet::TunEndPoint

#include <src/inet/TunEndPoint.h>

Gli oggetti di questa classe rappresentano le interfacce dei tunnel.

Riepilogo

Nest Inet Layer incapsula metodi per interagire sia su sistemi POSIX che su sistemi LwIP con un meccanismo di tunneling IP-in-IP per il supporto dell'agente del 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 del percorso verso l'interfaccia del tunnel.
RouteOp typedef
Operazione durante l'impostazione del percorso verso l'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 la maniglia di rilascio sull'oggetto.
GetTunnelInterfaceId(void)
InterfaceId
Ottieni l'identificatore dell'interfaccia del tunnel.
Init(InetLayer *inetLayer)
void
Inizializzare 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 pseudointerfaccia del 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 sono inizializzati nel formato "aperto" 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 del percorso verso l'interfaccia del tunnel.

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

Proprietà
kRouteTunIntf_Add

Aggiungi una route per specificare un prefisso.

kRouteTunIntf_Del

Rimuovi la route per aggiungere un prefisso.

RouteOp

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

Operazione durante l'impostazione del percorso verso l'interfaccia del tunnel.

I valori di questo tipo enumerato vengono utilizzati quando si imposta 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 sono inizializzati nel formato "aperto" passa allo stato "chiuso" quando sono pronti per essere riciclati.

Funzioni pubbliche

Gratis

void Free(
  void
)

Chiudi il tunnel e rilascia la maniglia di rilascio sull'oggetto.

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

GetTunnelInterfaceId

InterfaceId GetTunnelInterfaceId(
  void
)

Ottieni l'identificatore dell'interfaccia del tunnel.

Dettagli
Restituisce
L'identificatore dell'interfaccia del tunnel.

Init

void Init(
  InetLayer *inetLayer
)

Inizializzare 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 di sistema o di 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 di sistema o di 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 pseudointerfaccia del 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
successo: pacchetto incapsulato e in coda per l'invio
INET_ERROR_NOT_SUPPORTED
pacchetto non IP versione 6
INET_ERROR_BAD_ARGS
message è un puntatore NULL