nl::Inet::TunEndPoint

#include <src/inet/TunEndPoint.h>

このクラスのオブジェクトはトンネル インターフェースを表します。

概要

Nest Inet Layer は、Weave トンネル エージェントをサポートする IP-in-IP トンネリング メカニズムによって、POSIX システムと LwIP システムの両方を操作するメソッドをカプセル化します。

継承

継承元: nl::Inet::EndPointBasis

パブリック タイプ

@11 enum
基盤となるトンネルの基本的な動的状態。
OnPacketReceivedFunct)(TunEndPoint *endPoint, Weave::System::PacketBuffer *message) typedef
void(*
パケット受信イベント ハンドラのタイプ。
OnReceiveErrorFunct)(TunEndPoint *endPoint, INET_ERROR err) typedef
void(*
エラーイベント ハンドラのタイプ。
RouteOp{
  kRouteTunIntf_Add = 0,
  kRouteTunIntf_Del = 1
}
enum
トンネル インターフェースへのルート設定時のオペレーション。
RouteOp typedef
トンネル インターフェースへのルート設定時のオペレーション。

パブリック属性

OnPacketReceived
エンドポイントのパケット受信イベント ハンドラ デリゲート。
OnReceiveError
mAppState
void *
アプリ固有の状態オブジェクトへのポインタ。
mState
enum nl::Inet::TunEndPoint::@11
基盤となるトンネルの基本的な動的状態。

パブリック関数

Free(void)
void
トンネルを閉じ、オブジェクトのハンドルを解放します。
GetTunnelInterfaceId(void)
InterfaceId
トンネル インターフェース ID を取得します。
Init(InetLayer *inetLayer)
void
トンネル エンドポイント オブジェクトを初期化します。
InterfaceDown(void)
トンネル インターフェースを無効にします。
InterfaceUp(void)
トンネル インターフェースを有効にします。
IsInterfaceUp(void) const
bool
トンネル インターフェースのアクティベーション状態を抽出します。
Open(void)
トンネル疑似インターフェースを開き、ハンドルを作成します。
Open(const char *intfName)
Send(Weave::System::PacketBuffer *message)
IPv6 パケットを tun デバイスに送信します。

パブリック タイプ

@11

 @11

基盤となるトンネルの基本的な動的状態。

オブジェクトは「オープン」状態で初期化され、リサイクルの準備が整った時点で「クローズ」状態に移行します。

OnPacketReceivedFunct

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

パケット受信イベント ハンドラのタイプ。

トンネルからの IPv6 パケットの受信時に動作する上位レイヤへのデリゲートのタイプ。

詳細
パラメータ
[in] endPoint
TunEndPoint オブジェクトへのポインタ。
[in] message
Weave::System::PacketBuffer メッセージ オブジェクトへのポインタ。

OnReceiveErrorFunct

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

エラーイベント ハンドラのタイプ。

トンネルからの IPv6 パケットのエラー処理中に上位レイヤへのデリゲートのタイプ。

詳細
パラメータ
[in] endPoint
TunEndPoint オブジェクト。
[in] err
エラーコードを報告しました。

RouteOp

 RouteOp

トンネル インターフェースへのルート設定時のオペレーション。

この列挙型の値は、カプセル化されたトンネルのルートを設定するときに使用されます。

プロパティ
kRouteTunIntf_Add

接頭辞のルートを追加します。

kRouteTunIntf_Del

プレフィックスのルートを削除します。

RouteOp

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

トンネル インターフェースへのルート設定時のオペレーション。

この列挙型の値は、カプセル化されたトンネルのルートを設定するときに使用されます。

パブリック属性

OnPacketReceived

OnPacketReceivedFunct OnPacketReceived

エンドポイントのパケット受信イベント ハンドラ デリゲート。

OnReceiveError

OnReceiveErrorFunct OnReceiveError

mAppState

void * mAppState

アプリ固有の状態オブジェクトへのポインタ。

mState

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

基盤となるトンネルの基本的な動的状態。

オブジェクトは「オープン」状態で初期化され、リサイクルの準備が整った時点で「クローズ」状態に移行します。

パブリック関数

無料

void Free(
  void
)

トンネルを閉じ、オブジェクトのハンドルを解放します。

トンネル疑似インターフェース デバイスを閉じて、InetLayer オブジェクトの参照カウントを減らします。

GetTunnelInterfaceId

InterfaceId GetTunnelInterfaceId(
  void
)

トンネル インターフェース ID を取得します。

詳細
戻り値
トンネル インターフェース ID。

init

void Init(
  InetLayer *inetLayer
)

トンネル エンドポイント オブジェクトを初期化します。

詳細
パラメータ
[in] inetLayer
トンネル エンドポイントを作成した Inet レイヤ オブジェクトへのポインタ。

InterfaceDown

INET_ERROR InterfaceDown(
  void
)

トンネル インターフェースを無効にします。

詳細
戻り値
INET_NO_ERROR
成功: トンネル インターフェースが無効になっています。
other
別のシステムまたはプラットフォームのエラーです

InterfaceUp

INET_ERROR InterfaceUp(
  void
)

トンネル インターフェースを有効にします。

詳細
戻り値
INET_NO_ERROR
成功: トンネル インターフェースがアクティブになっています。
other
別のシステムまたはプラットフォームのエラーです

IsInterfaceUp

bool IsInterfaceUp(
  void
) const 

トンネル インターフェースのアクティベーション状態を抽出します。

詳細
戻り値
トンネル インターフェースがアクティブな場合は true、それ以外の場合は false

オープン

INET_ERROR Open(
  void
)

トンネル疑似インターフェースを開き、ハンドルを作成します。

詳細
戻り値
成功した場合は INET_NO_ERROR、それ以外の場合は、対応する INET にマッピングされた OS エラーです。

オープン

INET_ERROR Open(
  const char *intfName
)

送信

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

IPv6 パケットを tun デバイスに送信します。

詳細
パラメータ
[in] message
指定します。
戻り値
INET_NO_ERROR
成功: パケットがカプセル化されてキューに格納され、
INET_ERROR_NOT_SUPPORTED
IP バージョン 6 ではないパケット
INET_ERROR_BAD_ARGS
messageNULL ポインタです。