nl::Inet::TunEndPoint

#include <src/inet/TunEndPoint.h>

Les objets de cette classe représentent les interfaces de tunnel.

Résumé

La couche Nest Inet encapsule les méthodes d'interaction sur les systèmes POSIX et LwIP à l'aide d'un mécanisme de tunnelisation IP-in-IP pour prendre en charge l'agent de tunnel Weave.

Héritage

Hérite de: nl::Inet::EndPointBasis

Types publics

@11 enum
État dynamique de base du tunnel sous-jacent.
OnPacketReceivedFunct)(TunEndPoint *endPoint, Weave::System::PacketBuffer *message) typedef
void(*
Type de gestionnaire d'événements de réception de paquets.
OnReceiveErrorFunct)(TunEndPoint *endPoint, INET_ERROR err) typedef
void(*
Type de gestionnaire d'événements d'erreur.
RouteOp{
  kRouteTunIntf_Add = 0,
  kRouteTunIntf_Del = 1
}
enum
Opération lors de la définition de la route vers l'interface du tunnel.
RouteOp typedef
Opération lors de la définition de la route vers l'interface du tunnel.

Attributs publics

OnPacketReceived
Délégué du gestionnaire d'événements de réception des paquets du point de terminaison.
OnReceiveError
mAppState
void *
Pointeur vers l'objet d'état spécifique à l'application.
mState
enum nl::Inet::TunEndPoint::@11
État dynamique de base du tunnel sous-jacent.

Fonctions publiques

Free(void)
void
Fermez le tunnel et relâchez la poignée de l'objet.
GetTunnelInterfaceId(void)
InterfaceId
Permet d'obtenir l'identifiant de l'interface du tunnel.
Init(InetLayer *inetLayer)
void
Initialisez l'objet Tunnel EndPoint.
InterfaceDown(void)
Désactivez l'interface du tunnel.
InterfaceUp(void)
Activez l'interface du tunnel.
IsInterfaceUp(void) const
bool
Extrayez l'état d'activation de l'interface du tunnel.
Open(void)
Ouvrez une pseudo-interface de tunnel et créez un handle vers celle-ci.
Open(const char *intfName)
Send(Weave::System::PacketBuffer *message)
Envoyer un paquet IPv6 au dispositif TUN à envoyer.

Types publics

@11

 @11

État dynamique de base du tunnel sous-jacent.

Les objets sont initialisés à l'état "ouvert". Ils passent à l'état "fermé" lorsqu'ils sont prêts à être recyclés.

OnPacketReceivedFunct

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

Type de gestionnaire d'événements de réception de paquets.

Type de délégué à une couche supérieure pour agir à la réception d'un paquet IPv6 provenant du tunnel.

Détails
Paramètres
[in] endPoint
Pointeur vers l'objet TunEndPoint.
[in] message
Un pointeur vers l'objet de message Weave::System::PacketBuffer.

OnReceiveErrorFunct

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

Type de gestionnaire d'événements d'erreur.

Type de délégué à une couche supérieure pour agir en cas d'erreur lors du traitement d'un paquet IPv6 à partir du tunnel.

Détails
Paramètres
[in] endPoint
L'objet TunEndPoint.
[in] err
Code d'erreur signalé.

RouteOp

 RouteOp

Opération lors de la définition de la route vers l'interface du tunnel.

Les valeurs de ce type énuméré sont utilisées lors de la définition d'une route pour le tunnel encapsulé.

Propriétés
kRouteTunIntf_Add

Ajoutez une route pour un préfixe.

kRouteTunIntf_Del

Supprimez la route d'un préfixe.

RouteOp

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

Opération lors de la définition de la route vers l'interface du tunnel.

Les valeurs de ce type énuméré sont utilisées lors de la définition d'une route pour le tunnel encapsulé.

Attributs publics

OnPacketReceived

OnPacketReceivedFunct OnPacketReceived

Délégué du gestionnaire d'événements de réception des paquets du point de terminaison.

OnReceiveError

OnReceiveErrorFunct OnReceiveError

mAppState

void * mAppState

Pointeur vers l'objet d'état spécifique à l'application.

mState

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

État dynamique de base du tunnel sous-jacent.

Les objets sont initialisés à l'état "ouvert". Ils passent à l'état "fermé" lorsqu'ils sont prêts à être recyclés.

Fonctions publiques

Sans frais

void Free(
  void
)

Fermez le tunnel et relâchez la poignée de l'objet.

Fermez le périphérique de pseudo-interface de tunnel et diminuez le nombre de références de l'objet InetLayer.

GetTunnelInterfaceId

InterfaceId GetTunnelInterfaceId(
  void
)

Permet d'obtenir l'identifiant de l'interface du tunnel.

Détails
Renvoie
Identifiant de l'interface du tunnel.

Init

void Init(
  InetLayer *inetLayer
)

Initialisez l'objet Tunnel EndPoint.

Détails
Paramètres
[in] inetLayer
Pointeur vers l'objet de couche Inet qui a créé le point de terminaison du tunnel.

InterfaceDown

INET_ERROR InterfaceDown(
  void
)

Désactivez l'interface du tunnel.

Détails
Valeurs de retour
INET_NO_ERROR
succès: l'interface du tunnel est désactivée.
other
une autre erreur système ou de plate-forme

InterfaceUp

INET_ERROR InterfaceUp(
  void
)

Activez l'interface du tunnel.

Détails
Valeurs de retour
INET_NO_ERROR
succès: l'interface du tunnel est activée.
other
une autre erreur système ou de plate-forme

IsInterfaceUp

bool IsInterfaceUp(
  void
) const 

Extrayez l'état d'activation de l'interface du tunnel.

Détails
Renvoie
true si l'interface du tunnel est active, sinon false.

Ouvrir

INET_ERROR Open(
  void
)

Ouvrez une pseudo-interface de tunnel et créez un handle vers celle-ci.

Détails
Renvoie
INET_NO_ERROR en cas de réussite, sinon une erreur INET correspondante mappée au système d’exploitation.

Ouvrir

INET_ERROR Open(
  const char *intfName
)

Envoyer

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

Envoyer un paquet IPv6 au dispositif TUN à envoyer.

Détails
Paramètres
[in] message
le paquet IPv6 à envoyer.
Valeurs de retour
INET_NO_ERROR
succès: le paquet est encapsulé et mis en file d'attente pour l'envoyer
INET_ERROR_NOT_SUPPORTED
paquet autre que l'adresse IP version 6
INET_ERROR_BAD_ARGS
message est un pointeur de NULL