nl::Inet::TunEndPoint

#include <src/inet/TunEndPoint.h>

이 클래스의 객체는 터널 인터페이스를 나타냅니다.

요약

Nest Inet 레이어는 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
터널 인터페이스 식별자를 가져옵니다.
Init(InetLayer *inetLayer)
void
터널 엔드포인트 객체를 초기화합니다.
InterfaceDown(void)
터널 인터페이스를 비활성화합니다.
InterfaceUp(void)
터널 인터페이스를 활성화합니다.
IsInterfaceUp(void) const
bool
터널 인터페이스의 활성화 상태를 추출합니다.
Open(void)
터널 유사 인터페이스를 열고 핸들을 만듭니다.
Open(const char *intfName)
Send(Weave::System::PacketBuffer *message)
보낼 tun 기기로 IPv6 패킷을 보냅니다.

공개 유형

@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
)

터널 인터페이스 식별자를 가져옵니다.

세부정보
반환
터널 인터페이스 식별자입니다.

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
)

보낼 tun 기기로 IPv6 패킷을 보냅니다.

세부정보
매개변수
[in] message
전송할 IPv6 패킷입니다.
반환 값
INET_NO_ERROR
성공: 패킷이 캡슐화되고 전송을 위해 큐에 추가됨
INET_ERROR_NOT_SUPPORTED
IP 버전 6이 아닌 패킷
INET_ERROR_BAD_ARGS
message은(는) NULL 포인터입니다.