nl::Inet::TunEndPoint

#include <src/inet/TunEndPoint.h>

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

Résumé

La couche Inet Nest encapsule les méthodes d’interaction sur les systèmes POSIX et les systèmes LwIP avec 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 énum
É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
}
énum
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 un 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 EndPoint du tunnel.
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 à l'appareil tun pour qu'il soit envoyé.

Types publics

@11

 @11

État dynamique de base du tunnel sous-jacent.

Les objets sont initialisés à l'étape "open" passez à l'état "Fermé" quand 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 du tunnel.

Détails
Paramètres
[in] endPoint
Un 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és sont utilisées lorsque vous définissez 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és sont utilisées lorsque vous définissez 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 un 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'étape "open" passez à l'état "Fermé" quand ils sont prêts à être recyclés.

Fonctions publiques

Gratuit

void Free(
  void
)

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

Fermez le périphérique de pseudo-interface du 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 EndPoint du tunnel.

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 renvoyées
INET_NO_ERROR
réussite: l'interface de tunnel est désactivée.
other
autre erreur système ou plate-forme

InterfaceUp

INET_ERROR InterfaceUp(
  void
)

Activez l'interface du tunnel.

Détails
Valeurs renvoyées
INET_NO_ERROR
succès: l'interface du tunnel est activée.
other
autre erreur système ou 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 de système d'exploitation mappée INET correspondante.

Ouvrir

INET_ERROR Open(
  const char *intfName
)

Envoyer

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

Envoyer un paquet IPv6 à l'appareil tun pour qu'il soit envoyé.

Détails
Paramètres
[in] message
le paquet IPv6 à envoyer.
Valeurs renvoyées
INET_NO_ERROR
réussite: paquet encapsulé et mis en file d'attente à envoyer
INET_ERROR_NOT_SUPPORTED
paquet hors IP version 6
INET_ERROR_BAD_ARGS
message est un pointeur NULL