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
Tunnel EndPoint オブジェクトを初期化します。
InterfaceDown(void)
トンネル インターフェースを無効にします。
InterfaceUp(void)
トンネル インターフェースをアクティブにします。
IsInterfaceUp(void) const
bool
トンネル インターフェースの有効化状態を抽出します。
Open(void)
トンネル疑似インターフェースを開き、そのハンドルを作成します。
Open(const char *intfName)
Send(Weave::System::PacketBuffer *message)
IPv6 パケットを Tun デバイスに送信します。

公開タイプ

@11

 @11

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

オブジェクトは「open」コマンドで初期化され、「クローズ」ステータスのリサイクルの準備ができた状態を意味します。

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

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

オブジェクトは「open」コマンドで初期化され、「クローズ」ステータスのリサイクルの準備ができた状態を意味します。

パブリック関数

無料

void Free(
  void
)

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

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

GetTunnelInterfaceId

InterfaceId GetTunnelInterfaceId(
  void
)

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

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

init

void Init(
  InetLayer *inetLayer
)

Tunnel EndPoint オブジェクトを初期化します。

詳細
パラメータ
[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
送信する IPv6 パケットを指定します。
戻り値
INET_NO_ERROR
成功: パケットがカプセル化され、送信キューに追加
INET_ERROR_NOT_SUPPORTED
パケットが IP バージョン 6 でない
INET_ERROR_BAD_ARGS
messageNULL ポインタです。