Менеджер по пограничной маршрутизации

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

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

Для всех функций в этом модуле необходимо включить OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE .

Менеджер пограничной маршрутизации обрабатывает двунаправленную маршрутизацию между сетью потоков и соседним каналом инфраструктуры (AIL).

Он отправляет сообщения объявления маршрутизатора ICMRv6 ND (RA) на AIL для объявления префиксов каналов и маршрутов. Он также обрабатывает полученные сообщения RA из инфраструктуры и отражает обнаруженные префиксы в данных сети потоков, чтобы гарантировать, что устройства в сетке потоков могут достичь AIL через пограничный маршрутизатор.

Диспетчер маршрутизации управляет префиксом Off-Mesh Routable (OMR) в данных сети Thread, который настраивает устройства Thread с подходящим IPv6-адресом Off-Mesh Routable. Он объявляет о доступности этого префикса на AIL, включая его в отправляемые сообщения RA в качестве опции информации о маршруте IPv6 (RIO).

Диспетчер маршрутизации также отслеживает и добавляет префикс on-link в инфраструктурную сеть. Если маршрутизатор на AIL уже предоставляет сообщения RA, содержащие опцию информации о префиксе IPv6 (PIO), которая позволяет устройствам IPv6 на канале самостоятельно настраивать свой собственный маршрутизируемый одноадресный адрес IPv6, этот адрес может использоваться устройствами Thread для достижения AIL. Если пограничный маршрутизатор не находит такого сообщения RA в AIL, он генерирует префикс канала ULA, который затем объявляет в AIL в отправляемых сообщениях RA.

Перечисления

otBorderRoutingDhcp6PdState {
OT_BORDER_ROUTING_DHCP6_PD_STATE_DISABLED ,
OT_BORDER_ROUTING_DHCP6_PD_STATE_STOPPED ,
OT_BORDER_ROUTING_DHCP6_PD_STATE_RUNNING
}
перечисление
Это перечисление представляет состояние делегирования префикса DHCPv6.
otBorderRoutingState {
OT_BORDER_ROUTING_STATE_UNINITIALIZED ,
OT_BORDER_ROUTING_STATE_DISABLED ,
OT_BORDER_ROUTING_STATE_STOPPED ,
OT_BORDER_ROUTING_STATE_RUNNING
}
перечисление
Представляет состояние диспетчера пограничной маршрутизации.

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

otBorderRoutingPrefixTableEntry определение типа
Представляет запись из обнаруженной таблицы префиксов.
otBorderRoutingPrefixTableIterator определение типа
Представляет итератор для перебора обнаруженной таблицы префиксов пограничного маршрутизатора.
otBorderRoutingRouterEntry определение типа
Представляет обнаруженный маршрутизатор на канале инфраструктуры.
otPdProcessedRaInfo определение типа
Представляет группу данных обработанных сообщений RA, созданных платформой.

Функции

otBorderRoutingClearRouteInfoOptionPreference ( otInstance *aInstance)
void
Очищает ранее установленное значение предпочтения для объявленных параметров информации о маршруте.
otBorderRoutingClearRoutePreference ( otInstance *aInstance)
void
Очищает ранее установленное значение предпочтения для опубликованных маршрутов в сетевых данных.
otBorderRoutingDhcp6PdGetState ( otInstance *aInstance)
Получает текущее состояние делегирования префикса DHCPv6.
otBorderRoutingDhcp6PdSetEnabled ( otInstance *aInstance, bool aEnabled)
void
Включает/отключает делегирование префикса DHCPv6.
otBorderRoutingGetFavoredNat64Prefix ( otInstance *aInstance, otIp6Prefix *aPrefix, otRoutePreference *aPreference)
Получает предпочитаемый в данный момент префикс NAT64.
otBorderRoutingGetFavoredOmrPrefix ( otInstance *aInstance, otIp6Prefix *aPrefix, otRoutePreference *aPreference)
Получает предпочитаемый в данный момент префикс Off-Mesh-Routable (OMR).
otBorderRoutingGetFavoredOnLinkPrefix ( otInstance *aInstance, otIp6Prefix *aPrefix)
Получает предпочитаемый в данный момент префикс On-Link.
otBorderRoutingGetNat64Prefix ( otInstance *aInstance, otIp6Prefix *aPrefix)
Получает локальный префикс NAT64 пограничного маршрутизатора.
otBorderRoutingGetNextPrefixTableEntry ( otInstance *aInstance, otBorderRoutingPrefixTableIterator *aIterator, otBorderRoutingPrefixTableEntry *aEntry)
Перебирает записи в таблице обнаруженных префиксов пограничного маршрутизатора.
otBorderRoutingGetNextRouterEntry ( otInstance *aInstance, otBorderRoutingPrefixTableIterator *aIterator, otBorderRoutingRouterEntry *aEntry)
Перебирает обнаруженные записи маршрутизатора на канале инфраструктуры.
otBorderRoutingGetOmrPrefix ( otInstance *aInstance, otIp6Prefix *aPrefix)
Получает локальный префикс Off-Mesh-Routable (OMR), например fdfc:1ff5:1512:5622::/64 .
otBorderRoutingGetOnLinkPrefix ( otInstance *aInstance, otIp6Prefix *aPrefix)
Получает локальный префикс On-Link для соседнего канала инфраструктуры.
otBorderRoutingGetPdOmrPrefix ( otInstance *aInstance, otBorderRoutingPrefixTableEntry *aPrefixInfo)
Получает префикс делегирования префикса DHCPv6 (PD), предоставляемый внесетевой маршрутизацией (OMR).
otBorderRoutingGetPdProcessedRaInfo ( otInstance *aInstance, otPdProcessedRaInfo *aPdProcessedRaInfo)
Получает данные обработанного сообщения RA, сгенерированного платформой.
otBorderRoutingGetRouteInfoOptionPreference ( otInstance *aInstance)
Получает текущее предпочтение, используемое при объявлении параметров информации о маршруте (RIO) в сообщениях объявления маршрутизатора, отправляемых по каналу инфраструктуры.
otBorderRoutingGetRoutePreference ( otInstance *aInstance)
Получает текущие предпочтения, используемые для опубликованных маршрутов в сетевых данных.
otBorderRoutingGetState ( otInstance *aInstance)
Получает текущее состояние диспетчера пограничной маршрутизации.
otBorderRoutingInit ( otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning)
Инициализирует диспетчер пограничной маршрутизации на данном интерфейсе инфраструктуры.
otBorderRoutingPrefixTableInitIterator ( otInstance *aInstance, otBorderRoutingPrefixTableIterator *aIterator)
void
Инициализирует otBorderRoutingPrefixTableIterator .
otBorderRoutingSetEnabled ( otInstance *aInstance, bool aEnabled)
Включает или отключает диспетчер пограничной маршрутизации.
otBorderRoutingSetRouteInfoOptionPreference ( otInstance *aInstance, otRoutePreference aPreference)
void
Явно задает предпочтение, которое будет использоваться при объявлении параметров информации о маршруте (RIO) в сообщениях объявления маршрутизатора, отправляемых по каналу инфраструктуры.
otBorderRoutingSetRoutePreference ( otInstance *aInstance, otRoutePreference aPreference)
void
Явно задает предпочтения опубликованных маршрутов в сетевых данных.

Структуры

отбордерраутингпрефикстаблеэнтри

Представляет запись из обнаруженной таблицы префиксов.

otBorderRoutingPrefixTableIterator

Представляет итератор для перебора обнаруженной таблицы префиксов пограничного маршрутизатора.

otBorderRoutingRouterEntry

Представляет обнаруженный маршрутизатор на канале инфраструктуры.

отПдПроцесседРаИнфо

Представляет группу данных обработанных сообщений RA, созданных платформой.

Перечисления

отбордерраутингдхкп6пдстате

 otBorderRoutingDhcp6PdState

Это перечисление представляет состояние делегирования префикса DHCPv6.

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

DHCPv6 PD отключен на пограничном маршрутизаторе.

OT_BORDER_ROUTING_DHCP6_PD_STATE_RUNNING

DHCPv6 PD включен и попытается запросить и опубликовать префикс.

OT_BORDER_ROUTING_DHCP6_PD_STATE_STOPPED

DHCPv6 PD включен, но не пытается запросить и опубликовать префикс.

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

 otBorderRoutingState

Представляет состояние диспетчера пограничной маршрутизации.

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

Диспетчер маршрутизации инициализирован, но отключен.

OT_BORDER_ROUTING_STATE_RUNNING

Диспетчер маршрутизации инициализирован, включен и работает.

OT_BORDER_ROUTING_STATE_STOPPED

Диспетчер маршрутизации инициализирован и включен, но в настоящее время остановлен.

OT_BORDER_ROUTING_STATE_UNINITIALIZED

Диспетчер маршрутизации не инициализирован.

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

отбордерраутингпрефикстаблеэнтри

struct otBorderRoutingPrefixTableEntry otBorderRoutingPrefixTableEntry

Представляет запись из обнаруженной таблицы префиксов.

Записи в обнаруженной таблице отслеживают параметры префикса/информации о маршруте в полученных сообщениях объявления маршрутизатора от других маршрутизаторов на канале инфраструктуры.

otBorderRoutingPrefixTableIterator

struct otBorderRoutingPrefixTableIterator otBorderRoutingPrefixTableIterator

Представляет итератор для перебора обнаруженной таблицы префиксов пограничного маршрутизатора.

Поля этого типа непрозрачны (предназначены для использования только ядром OpenThread) и поэтому не должны быть доступны или использованы вызывающей стороной.

Прежде чем использовать итератор, его НЕОБХОДИМО инициализировать с помощью otBorderRoutingPrefixTableInitIterator() .

otBorderRoutingRouterEntry

struct otBorderRoutingRouterEntry otBorderRoutingRouterEntry

Представляет обнаруженный маршрутизатор на канале инфраструктуры.

отПдПроцесседРаИнфо

struct otPdProcessedRaInfo otPdProcessedRaInfo

Представляет группу данных обработанных сообщений RA, созданных платформой.

Функции

otBorderRoutingClearRouteInfoOptionPreference

void otBorderRoutingClearRouteInfoOptionPreference(
  otInstance *aInstance
)

Очищает ранее установленное значение предпочтения для объявленных параметров информации о маршруте.

После вызова этой функции BR будет использовать роль устройства для определения предпочтения RIO: средний уровень предпочтения в роли маршрутизатора/лидера и низкий уровень предпочтения в дочерней роли.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.

otBorderRoutingClearRoutePreference

void otBorderRoutingClearRoutePreference(
  otInstance *aInstance
)

Очищает ранее установленное значение предпочтения для опубликованных маршрутов в сетевых данных.

После вызова этой функции BR автоматически определит предпочтение на основе роли устройства и качества соединения (с родительским устройством, когда оно выступает в качестве конечного устройства).

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.

otBorderRoutingDhcp6PdGetState

otBorderRoutingDhcp6PdState otBorderRoutingDhcp6PdGetState(
  otInstance *aInstance
)

Получает текущее состояние делегирования префикса DHCPv6.

Требуется, чтобы OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE был включен.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Текущее состояние делегирования префикса DHCPv6.

отбордерраутингдхкп6пдсетенаблед

void otBorderRoutingDhcp6PdSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Включает/отключает делегирование префикса DHCPv6.

OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE должен быть включен.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aEnabled
Принимать ли сообщения RA, сгенерированные платформой.

otBorderRoutingGetFavoredNat64Prefix

otError otBorderRoutingGetFavoredNat64Prefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix,
  otRoutePreference *aPreference
)

Получает предпочитаемый в данный момент префикс NAT64.

Предпочтительный префикс NAT64 можно найти по инфраструктурному каналу или он может быть локальным префиксом NAT64 этого устройства.

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

otBorderRoutingGetFavoredOmrPrefix

otError otBorderRoutingGetFavoredOmrPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix,
  otRoutePreference *aPreference
)

Получает предпочитаемый в данный момент префикс Off-Mesh-Routable (OMR).

Предпочтительный префикс OMR можно узнать из сетевых данных или использовать локальный префикс OMR этого устройства.

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

otBorderRoutingGetFavoredOnLinkPrefix

otError otBorderRoutingGetFavoredOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Получает предпочитаемый в данный момент префикс On-Link.

Предпочтительным префиксом является либо обнаруженный префикс on-link в инфраструктурном канале, либо локальный префикс on-link.

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

otBorderRoutingGetNat64Prefix

otError otBorderRoutingGetNat64Prefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Получает локальный префикс NAT64 пограничного маршрутизатора.

Префикс NAT64 может не объявляться в сети Thread.

OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE должен быть включен.

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

otBorderRoutingGetNextPrefixTableEntry

otError otBorderRoutingGetNextPrefixTableEntry(
  otInstance *aInstance,
  otBorderRoutingPrefixTableIterator *aIterator,
  otBorderRoutingPrefixTableEntry *aEntry
)

Перебирает записи в таблице обнаруженных префиксов пограничного маршрутизатора.

Записи префикса, связанные с одним и тем же обнаруженным маршрутизатором на инфраструктурном канале, гарантированно будут сгруппированы (получены последовательно).

Подробности
Параметры
[in] aInstance
Экземпляр OpenThread.
[in,out] aIterator
Указатель на итератор.
[out] aEntry
Указатель на запись для заполнения.
Возвращаемые значения
OT_ERROR_NONE
При переходе к следующей записи aEntry и aIterator обновляются.
OT_ERROR_NOT_FOUND
Больше записей в таблице нет.

otBorderRoutingGetNextRouterEntry

otError otBorderRoutingGetNextRouterEntry(
  otInstance *aInstance,
  otBorderRoutingPrefixTableIterator *aIterator,
  otBorderRoutingRouterEntry *aEntry
)

Перебирает обнаруженные записи маршрутизатора на канале инфраструктуры.

Подробности
Параметры
[in] aInstance
Экземпляр OpenThread.
[in,out] aIterator
Указатель на итератор.
[out] aEntry
Указатель на запись для заполнения.
Возвращаемые значения
OT_ERROR_NONE
При переходе к следующему маршрутизатору aEntry и aIterator обновляются.
OT_ERROR_NOT_FOUND
Больше никаких записей маршрутизатора.

otBorderRoutingGetOmrPrefix

otError otBorderRoutingGetOmrPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Получает локальный префикс Off-Mesh-Routable (OMR), например fdfc:1ff5:1512:5622::/64 .

Префикс OMR — это случайно сгенерированный 64-битный префикс, который публикуется в сети Thread, если префикс OMR еще не существует. Доступ к этой приставке возможен из локальной сети Wi-Fi или Ethernet.

Примечание. Когда DHCPv6 PD включен, пограничный маршрутизатор может публиковать префикс из DHCPv6 PD.

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

otBorderRoutingGetOnLinkPrefix

otError otBorderRoutingGetOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Получает локальный префикс On-Link для соседнего канала инфраструктуры.

Локальный префикс on-link — это 64-битный префикс, который объявляется в инфраструктурном канале, если в канале еще не объявлен пригодный для использования префикс on-link.

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

otBorderRoutingGetPdOmrPrefix

otError otBorderRoutingGetPdOmrPrefix(
  otInstance *aInstance,
  otBorderRoutingPrefixTableEntry *aPrefixInfo
)

Получает префикс делегирования префикса DHCPv6 (PD), предоставляемый внесетевой маршрутизацией (OMR).

В возвращаемой информации о префиксе используются только поля mPrefix, mValidLifetime и mPreferredLifetime.

OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE должен быть включен.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[out] aPrefixInfo
Указатель на то, куда будет выводиться информация о префиксе.
Возвращаемые значения
OT_ERROR_NONE
Префикс OMR получен успешно.
OT_ERROR_INVALID_STATE
Менеджер пограничной маршрутизации еще не инициализирован.
OT_ERROR_NOT_FOUND
В этом BR нет действующего префикса PD.
Смотрите также:
otBorderRoutingGetOmrPrefix
otPlatBorderRoutingProcessIcmp6Ra

otBorderRoutingGetPdProcessedRaInfo

otError otBorderRoutingGetPdProcessedRaInfo(
  otInstance *aInstance,
  otPdProcessedRaInfo *aPdProcessedRaInfo
)

Получает данные обработанного сообщения RA, сгенерированного платформой.

OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE должен быть включен.

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

otBorderRoutingGetRouteInfoOptionPreference

otRoutePreference otBorderRoutingGetRouteInfoOptionPreference(
  otInstance *aInstance
)

Получает текущее предпочтение, используемое при объявлении параметров информации о маршруте (RIO) в сообщениях объявления маршрутизатора, отправляемых по каналу инфраструктуры.

Предпочтение RIO определяется следующим образом:

  • Если это явно задано пользователем путем вызова otBorderRoutingSetRouteInfoOptionPreference() , используется данное предпочтение.
  • В противном случае оно определяется на основе текущей роли устройства: среднее предпочтение в роли маршрутизатора/лидера и низкое предпочтение в дочерней роли.

Подробности
Возврат
Текущая настройка параметра информации о маршруте.

otBorderRoutingGetRoutePreference

otRoutePreference otBorderRoutingGetRoutePreference(
  otInstance *aInstance
)

Получает текущие предпочтения, используемые для опубликованных маршрутов в сетевых данных.

Предпочтение определяется следующим образом:

  • Если это явно задано пользователем путем вызова otBorderRoutingSetRoutePreference() , используется данное предпочтение.
  • В противном случае оно определяется автоматически RoutingManager на основе роли устройства и качества соединения.

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
Возврат
Текущие опубликованные предпочтения маршрута.

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

otBorderRoutingState otBorderRoutingGetState(
  otInstance *aInstance
)

Получает текущее состояние диспетчера пограничной маршрутизации.

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

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 .
otBorderRoutingSetEnabled .

otBorderRoutingPrefixTableInitIterator

void otBorderRoutingPrefixTableInitIterator(
  otInstance *aInstance,
  otBorderRoutingPrefixTableIterator *aIterator
)

Инициализирует otBorderRoutingPrefixTableIterator .

Итератор ДОЛЖЕН быть инициализирован перед его использованием.

Итератор можно инициализировать снова, чтобы перезапустить таблицу с начала.

При переборе записей в таблице, чтобы обеспечить согласованность времени обновления записей mMsecSinceLastUpdate , они задаются относительно времени инициализации итератора.

Подробности
Параметры
[in] aInstance
Экземпляр OpenThread.
[out] aIterator
Указатель на итератор для инициализации.

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

otError otBorderRoutingSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

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

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

otBorderRoutingSetRouteInfoOptionPreference

void otBorderRoutingSetRouteInfoOptionPreference(
  otInstance *aInstance,
  otRoutePreference aPreference
)

Явно задает предпочтение, которое будет использоваться при объявлении параметров информации о маршруте (RIO) в сообщениях объявления маршрутизатора, отправляемых по каналу инфраструктуры.

После вызова этой функции BR будет использовать заданное предпочтение для всех своих объявленных RIO. Предпочтение можно очистить, вызвав otBorderRoutingClearRouteInfoOptionPreference() .

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aPreference
Предпочтительный маршрут для использования.

otBorderRoutingSetRoutePreference

void otBorderRoutingSetRoutePreference(
  otInstance *aInstance,
  otRoutePreference aPreference
)

Явно задает предпочтения опубликованных маршрутов в сетевых данных.

После вызова этой функции BR будет использовать заданное предпочтение. Предпочтение можно очистить, вызвав otBorderRoutingClearRoutePreference() .

Подробности
Параметры
[in] aInstance
Указатель на экземпляр OpenThread.
[in] aPreference
Предпочтительный маршрут для использования.

Ресурсы

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