Пограничный маршрутизатор

Этот модуль включает функции для управления данными локальной сети с помощью пограничного маршрутизатора OpenThread.

Резюме

Функции

otBorderRouterAddOnMeshPrefix ( otInstance *aInstance, const otBorderRouterConfig *aConfig)
Добавьте конфигурацию граничного маршрутизатора в данные локальной сети.
otBorderRouterAddRoute ( otInstance *aInstance, const otExternalRouteConfig *aConfig)
Добавьте конфигурацию внешнего маршрута в данные локальной сети.
otBorderRouterGetNetData ( otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
Этот метод обеспечивает полную или стабильную копию локальных сетевых данных потока.
otBorderRouterGetNextOnMeshPrefix ( otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
Эта функция получает следующий префикс On Mesh в данных локальной сети.
otBorderRouterGetNextRoute ( otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
Эта функция получает следующий внешний маршрут в локальной сети данных.
otBorderRouterRegister ( otInstance *aInstance)
Немедленно зарегистрируйте данные локальной сети в Лидере.
otBorderRouterRemoveOnMeshPrefix ( otInstance *aInstance, const otIp6Prefix *aPrefix)
Удалите конфигурацию граничного маршрутизатора из данных локальной сети.
otBorderRouterRemoveRoute ( otInstance *aInstance, const otIp6Prefix *aPrefix)
Удалите конфигурацию внешнего маршрута из данных локальной сети.
otBorderRoutingGetNat64Prefix ( otInstance *aInstance, otIp6Prefix *aPrefix)
Эта функция возвращает локальный префикс NAT64.
otBorderRoutingGetOmrPrefix ( otInstance *aInstance, otIp6Prefix *aPrefix)
Этот метод возвращает префикс маршрутизации вне сети (OMR).
otBorderRoutingGetOnLinkPrefix ( otInstance *aInstance, otIp6Prefix *aPrefix)
Этот метод возвращает префикс on-link для соседнего инфраструктурного канала.
otBorderRoutingInit ( otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning)
Этот метод инициализирует диспетчер пограничной маршрутизации на заданном интерфейсе инфраструктуры.
otBorderRoutingSetEnabled ( otInstance *aInstance, bool aEnabled)
Этот метод включает/отключает диспетчер пограничной маршрутизации.

Функции

otBorderRouterAddOnMeshPrefix

otError otBorderRouterAddOnMeshPrefix(
  otInstance *aInstance,
  const otBorderRouterConfig *aConfig
)

Добавьте конфигурацию граничного маршрутизатора в данные локальной сети.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aConfig
Указатель на конфигурацию граничного маршрутизатора.
Возвращаемые значения
OT_ERROR_NONE
Конфигурация успешно добавлена ​​в данные локальной сети.
OT_ERROR_INVALID_ARGS
Один или несколько параметров конфигурации недействительны.
OT_ERROR_NO_BUFS
Недостаточно места для добавления конфигурации к данным локальной сети.
Смотрите также:
otBorderRouterRemoveOnMeshPrefix
otBorderRouterRegister

otBorderRouterAddRoute

otError otBorderRouterAddRoute(
  otInstance *aInstance,
  const otExternalRouteConfig *aConfig
)

Добавьте конфигурацию внешнего маршрута в данные локальной сети.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aConfig
Указатель на конфигурацию внешнего маршрута.
Возвращаемые значения
OT_ERROR_NONE
Конфигурация успешно добавлена ​​в данные локальной сети.
OT_ERROR_INVALID_ARGS
Один или несколько параметров конфигурации недействительны.
OT_ERROR_NO_BUFS
Недостаточно места для добавления конфигурации к данным локальной сети.
Смотрите также:
otBorderRouterRemoveRoute
otBorderRouterRegister

otBorderRouterGetNetData

otError otBorderRouterGetNetData(
  otInstance *aInstance,
  bool aStable,
  uint8_t *aData,
  uint8_t *aDataLength
)

Этот метод обеспечивает полную или стабильную копию локальных сетевых данных потока.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aStable
TRUE при копировании стабильной версии, FALSE при копировании полной версии.
[out] aData
Указатель на буфер данных.
[in,out] aDataLength
При входе размер буфера данных, на который указывает aData . При выходе количество скопированных байтов.

otBorderRouterGetNextOnMeshPrefix

otError otBorderRouterGetNextOnMeshPrefix(
  otInstance *aInstance,
  otNetworkDataIterator *aIterator,
  otBorderRouterConfig *aConfig
)

Эта функция получает следующий префикс On Mesh в данных локальной сети.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in,out] aIterator
Указатель на контекст итератора сетевых данных. Чтобы получить первую запись в сетке, необходимо установить значение OT_NETWORK_DATA_ITERATOR_INIT.
[out] aConfig
Указатель на информацию о префиксе сети.
Возвращаемые значения
OT_ERROR_NONE
Успешно найден следующий префикс On Mesh.
OT_ERROR_NOT_FOUND
В сетевых данных потока не существует последующего префикса On Mesh.

otBorderRouterGetNextRoute

otError otBorderRouterGetNextRoute(
  otInstance *aInstance,
  otNetworkDataIterator *aIterator,
  otExternalRouteConfig *aConfig
)

Эта функция получает следующий внешний маршрут в локальной сети данных.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in,out] aIterator
Указатель на контекст итератора сетевых данных. Чтобы получить первую запись внешнего маршрута, она должна быть установлена ​​в OT_NETWORK_DATA_ITERATOR_INIT.
[out] aConfig
Указатель на информацию о внешнем маршруте.
Возвращаемые значения
OT_ERROR_NONE
Успешно найден следующий внешний маршрут.
OT_ERROR_NOT_FOUND
В сетевых данных потока нет последующей записи внешнего маршрута.

otBorderRouterRegister

otError otBorderRouterRegister(
  otInstance *aInstance
)

Немедленно зарегистрируйте данные локальной сети в Лидере.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возвращаемые значения
OT_ERROR_NONE
Сообщение запроса данных сервера успешно помещено в очередь для доставки.
Смотрите также:
otBorderRouterAddOnMeshPrefix
otBorderRouterRemoveOnMeshPrefix
otBorderRouterAddRoute
otBorderRouterRemoveRoute

otBorderRouterRemoveOnMeshPrefix

otError otBorderRouterRemoveOnMeshPrefix(
  otInstance *aInstance,
  const otIp6Prefix *aPrefix
)

Удалите конфигурацию граничного маршрутизатора из данных локальной сети.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aPrefix
Указатель на префикс IPv6.
Возвращаемые значения
OT_ERROR_NONE
Успешно удалена конфигурация из данных локальной сети.
OT_ERROR_NOT_FOUND
Не удалось найти запись пограничного маршрутизатора.
Смотрите также:
otBorderRouterAddOnMeshPrefix
otBorderRouterRegister

otBorderRouterRemoveRoute

otError otBorderRouterRemoveRoute(
  otInstance *aInstance,
  const otIp6Prefix *aPrefix
)

Удалите конфигурацию внешнего маршрута из данных локальной сети.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aPrefix
Указатель на префикс IPv6.
Возвращаемые значения
OT_ERROR_NONE
Успешно удалена конфигурация из данных локальной сети.
OT_ERROR_NOT_FOUND
Не удалось найти запись пограничного маршрутизатора.
Смотрите также:
otBorderRouterAddRoute
otBorderRouterRegister

otBorderRoutingGetNat64Prefix

otError otBorderRoutingGetNat64Prefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Эта функция возвращает локальный префикс NAT64.

Этот префикс может не рекламироваться в сети Thread.

Эта функция доступна только при OPENTHREAD_CONFIG_BORDER_ROUTING_NAT64_ENABLE .

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[out] aPrefix
Указатель на то, куда будет выводиться префикс.
Возвращаемые значения
OT_ERROR_INVALID_STATE
Диспетчер пограничной маршрутизации еще не инициализирован.
OT_ERROR_NONE
Успешно получен префикс NAT64.

otBorderRoutingGetOmrPrefix

otError otBorderRoutingGetOmrPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Этот метод возвращает префикс маршрутизации вне сети (OMR).

Случайно сгенерированный 64-разрядный префикс будет опубликован в сети Thread, если префикс OMR еще не создан.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[out] aPrefix
Указатель на то, куда будет выводиться префикс.
Возвращаемые значения
OT_ERROR_INVALID_STATE
Диспетчер пограничной маршрутизации еще не инициализирован.
OT_ERROR_NONE
Префикс OMR успешно получен.

otBorderRoutingGetOnLinkPrefix

otError otBorderRoutingGetOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Этот метод возвращает префикс on-link для соседнего инфраструктурного канала.

Случайно сгенерированный 64-разрядный префикс будет объявлен в инфраструктурной ссылке, если в ссылке еще не объявлен пригодный для использования префикс ссылки.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[out] aPrefix
Указатель на то, куда будет выводиться префикс.
Возвращаемые значения
OT_ERROR_INVALID_STATE
Диспетчер пограничной маршрутизации еще не инициализирован.
OT_ERROR_NONE
Префикс ссылки успешно получен.

otBorderRoutingInit

otError otBorderRoutingInit(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  bool aInfraIfIsRunning
)

Этот метод инициализирует диспетчер пограничной маршрутизации на заданном интерфейсе инфраструктуры.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aInfraIfIndex
Индекс интерфейса инфраструктуры.
[in] aInfraIfIsRunning
Логическое значение, указывающее, работает ли интерфейс инфраструктуры.
Возвращаемые значения
OT_ERROR_NONE
Успешно запущен диспетчер пограничной маршрутизации в заданной инфраструктуре.
OT_ERROR_INVALID_STATE
Менеджер пограничной маршрутизации уже инициализирован.
OT_ERROR_INVALID_ARGS
Недопустимый индекс интерфейса инфраструктуры.
OT_ERROR_FAILED
Внутренний сбой. Обычно из-за сбоя в генерации случайных префиксов.
Смотрите также:
otPlatInfraIfStateChanged .

отбордерраутингсетенаблед

otError otBorderRoutingSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Этот метод включает/отключает диспетчер пограничной маршрутизации.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aEnabled
Логическое значение для включения/отключения диспетчера маршрутизации.
Возвращаемые значения
OT_ERROR_INVALID_STATE
Диспетчер пограничной маршрутизации еще не инициализирован.
OT_ERROR_NONE
Успешно включен/отключен диспетчер маршрутизации границ.

Ресурсы

Разделы справочника по API OpenThread взяты из исходного кода, доступного на GitHub . Чтобы получить дополнительную информацию или внести свой вклад в нашу документацию, обратитесь к разделу Ресурсы .