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

Этот модуль включает функции для управления данными локальной сети с помощью граничного маршрутизатора 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)
Удалите конфигурацию внешнего маршрута из данных локальной сети.
otBorderRoutingGetOmrPrefix ( otInstance *aInstance, otIp6Prefix *aPrefix)
Этот метод возвращает префикс маршрутизации вне сети (OMR).
otBorderRoutingGetOnLinkPrefix ( otInstance *aInstance, otIp6Prefix *aPrefix)
Этот метод возвращает префикс соединения для соседнего канала инфраструктуры.
otBorderRoutingInit ( otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning)
Этот метод инициализирует диспетчер пограничной маршрутизации на заданном интерфейсе инфраструктуры.
otBorderRoutingSetEnabled ( otInstance *aInstance, bool aEnabled)
Этот метод включает / отключает Border Routing Manager.

Функции

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
ИСТИНА при копировании стабильной версии, ЛОЖЬ при копировании полной версии.
[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

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
)

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

Произвольно сгенерированный 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
Успешно запустил Border Routing Manager в данной инфраструктуре.
OT_ERROR_INVALID_STATE
Менеджер пограничной маршрутизации уже инициализирован.
OT_ERROR_INVALID_ARGS
Индекс интерфейса инфраструктуры недействителен.
OT_ERROR_FAILED
Внутренний сбой. Обычно из-за сбоя при генерации случайных префиксов.
Смотрите также:
otPlatInfraIfStateChanged .

otBorderRoutingSetEnabled

otError otBorderRoutingSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Этот метод включает / отключает Border Routing Manager.

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