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

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

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

Определения типов

otBorderRouterNetDataFullCallback )(void *aContext) определение типа
void(*
Обратный вызов указателя функции, который вызывается, когда сетевые данные (локальные или ведущие) заполняются.

Функции

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)
Удалите конфигурацию внешнего маршрута из данных локальной сети.
otBorderRouterSetNetDataFullCallback ( otInstance *aInstance, otBorderRouterNetDataFullCallback aCallback, void *aContext)
void
Устанавливает обратный вызов, чтобы указать, когда сетевые данные заполняются.

Определения типов

otBorderRouterNetDataFullCallback

void(* otBorderRouterNetDataFullCallback)(void *aContext)

Обратный вызов указателя функции, который вызывается, когда сетевые данные (локальные или ведущие) заполняются.

Подробности
Параметры
[in] aContext
Указатель на произвольную контекстную информацию.

Функции

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

otBorderRouterSetNetDataFullCallback

void otBorderRouterSetNetDataFullCallback(
  otInstance *aInstance,
  otBorderRouterNetDataFullCallback aCallback,
  void *aContext
)

Устанавливает обратный вызов, чтобы указать, когда сетевые данные заполняются.

Требуется OPENTHREAD_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL .

Обратный вызов вызывается всякий раз, когда:

  • Устройство выступает в качестве лидера и получает регистрацию сетевых данных от пограничного маршрутизатора (BR), которую оно не может добавить к сетевым данным (недостаточно места).
  • Устройство действует как BR, и новые записи не могут быть добавлены к его локальным сетевым данным.
  • Устройство действует как BR и пытается зарегистрировать свои локальные записи сетевых данных в ведущем, но определяет, что его локальные записи не подходят.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aCallback
Обратный звонок.
[in] aContext
Указатель на произвольную контекстную информацию, используемую с aCallback .

Ресурсы

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