нл:: Инет:: ТунЭндпоинт

#include <src/inet/TunEndPoint.h>

Объекты этого класса представляют туннельные интерфейсы.

Краткое содержание

Nest Inet Layer инкапсулирует методы взаимодействия как с системами POSIX, так и с системами LwIP с механизмом туннелирования IP-in-IP для поддержки агента туннеля Weave.

Наследование

Наследуется от: nl::Inet::EndPointBasis

Публичные типы

@11 перечисление
Базовое динамическое состояние базового туннеля.
OnPacketReceivedFunct )(TunEndPoint *endPoint, Weave::System::PacketBuffer *message) определение типа
void(*
Тип обработчика событий получения пакета.
OnReceiveErrorFunct )(TunEndPoint *endPoint, INET_ERROR err) определение типа
void(*
Тип обработчика событий ошибки.
RouteOp {
kRouteTunIntf_Add = 0,
kRouteTunIntf_Del = 1
}
перечисление
Операция при настройке маршрута к туннельному интерфейсу.
RouteOp определение типа
Операция при настройке маршрута к туннельному интерфейсу.

Публичные атрибуты

OnPacketReceived
Делегат обработчика событий приема пакета конечной точки.
OnReceiveError
mAppState
void *
Указатель на объект состояния, специфичный для приложения.
mState
enum nl::Inet::TunEndPoint::@11
Базовое динамическое состояние базового туннеля.

Общественные функции

Free (void)
void
Закройте туннель и отпустите ручку объекта.
GetTunnelInterfaceId (void)
InterfaceId
Получите идентификатор туннельного интерфейса.
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

Базовое динамическое состояние базового туннеля.

Объекты инициализируются в «открытом» состоянии, в «закрытое» переходят, когда готовы к переработке.

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

Операция при настройке маршрута к туннельному интерфейсу.

Значения этого перечислимого типа используются при настройке маршрута для инкапсулированного туннеля.

Характеристики
kRouteTunIntf_Add

Добавьте маршрут для префикса.

kRouteTunIntf_Del

Удалить маршрут для префикса.

МаршрутОп

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

Операция при настройке маршрута к туннельному интерфейсу.

Значения этого перечислимого типа используются при настройке маршрута для инкапсулированного туннеля.

Публичные атрибуты

OnPacketReceived

OnPacketReceivedFunct OnPacketReceived

Делегат обработчика событий приема пакета конечной точки.

OnReceiveError

OnReceiveErrorFunct OnReceiveError

маппстате

void * mAppState

Указатель на объект состояния, специфичный для приложения.

mState

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

Базовое динамическое состояние базового туннеля.

Объекты инициализируются в «открытом» состоянии, в «закрытое» переходят, когда готовы к переработке.

Общественные функции

Бесплатно

void Free(
  void
)

Закройте туннель и отпустите ручку объекта.

Закройте устройство псевдоинтерфейса туннеля и уменьшите счетчик ссылок объекта InetLayer .

GetTunnelInterfaceId

InterfaceId GetTunnelInterfaceId(
  void
)

Получите идентификатор туннельного интерфейса.

Подробности
Возврат
Идентификатор туннельного интерфейса.

Инициализировать

void Init(
  InetLayer *inetLayer
)

Инициализируйте объект Tunnel EndPoint.

Подробности
Параметры
[in] inetLayer
Указатель на объект слоя Inet, создавший конечную точку туннеля.

Интерфейсвниз

INET_ERROR InterfaceDown(
  void
)

Деактивируйте туннельный интерфейс.

Подробности
Возвращаемые значения
INET_NO_ERROR
успех: туннельный интерфейс деактивирован.
other
другая ошибка системы или платформы

ИнтерфейсВверх

INET_ERROR InterfaceUp(
  void
)

Активируйте туннельный интерфейс.

Подробности
Возвращаемые значения
INET_NO_ERROR
успех: туннельный интерфейс активирован.
other
другая ошибка системы или платформы

IsInterfaceUp

bool IsInterfaceUp(
  void
) const 

Извлеките состояние активации туннельного интерфейса.

Подробности
Возврат
true , если туннельный интерфейс активен, в противном случае false .

Открыть

INET_ERROR Open(
  void
)

Откройте псевдоинтерфейс туннеля и создайте для него дескриптор.

Подробности
Возврат
INET_NO_ERROR в случае успеха, в противном случае — соответствующая ошибка ОС, отображаемой в INET.

Открыть

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
message представляет собой NULL указатель