IPv6
Этот модуль включает функции, управляющие связью IPv6.
Краткое содержание
Перечисления | |
---|---|
anonymous enum { | перечисление Номера интернет-протоколов. |
anonymous enum { | перечисление Происхождение адреса IPv6. |
anonymous enum { | перечисление Статусы ECN, представленные в заголовке IP. |
Определения типов | |
---|---|
otBorderRoutingCounters | определение типаstruct otBorderRoutingCounters Представляет счетчики пакетов, пересылаемых через пограничную маршрутизацию. |
otIp6Address | определение типаstruct otIp6Address Представляет адрес IPv6. |
otIp6AddressCallback )(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext) | определение типаvoid(* Указатель вызывается при добавлении или удалении внутреннего IPv6-адреса. |
otIp6AddressComponents | определение типаstruct otIp6AddressComponents Представляет компоненты адреса IPv6. |
otIp6AddressInfo | определение типаstruct otIp6AddressInfo Представляет информацию об адресе IPv6. |
otIp6InterfaceIdentifier | определение типаstruct otIp6InterfaceIdentifier Представляет идентификатор интерфейса IPv6-адреса. |
otIp6NetworkPrefix | определение типаstruct otIp6NetworkPrefix Представляет сетевой префикс адреса IPv6 (старшие 64 бита адреса). |
otIp6Prefix | определение типаstruct otIp6Prefix Представляет префикс IPv6. |
otIp6ReceiveCallback )(otMessage *aMessage, void *aContext) | определение типаvoid(* Указатель вызывается при получении датаграммы IPv6. |
otIp6RegisterMulticastListenersCallback )(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum) | определение типаvoid(* Указатель вызывается с результатами otIp6RegisterMulticastListeners . |
otIp6SlaacPrefixFilter )(otInstance *aInstance, const otIp6Prefix *aPrefix) | определение типаbool(* Указатель позволяет пользователю фильтровать префиксы и не разрешать добавление адреса SLAAC на основе префикса. |
otMessageInfo | определение типаstruct otMessageInfo Представляет локальные и одноранговые адреса сокетов IPv6. |
otNetifAddress | определение типаstruct otNetifAddress Представляет одноадресный адрес сетевого интерфейса IPv6. |
otNetifMulticastAddress | определение типаstruct otNetifMulticastAddress Представляет адрес многоадресной рассылки сетевого интерфейса IPv6. |
otPacketsAndBytes | определение типаstruct otPacketsAndBytes Представляет счетчики пакетов и байтов. |
otSockAddr | определение типаstruct otSockAddr Представляет адрес сокета IPv6. |
Переменные | |
---|---|
OT_TOOL_PACKED_END |
Функции | |
---|---|
otIp6AddUnicastAddress ( otInstance *aInstance, const otNetifAddress *aAddress) | Добавляет адрес сетевого интерфейса к интерфейсу потока. |
otIp6AddUnsecurePort ( otInstance *aInstance, uint16_t aPort) | Добавляет порт в список разрешенных незащищенных портов. |
otIp6AddressFromString (const char *aString, otIp6Address *aAddress) | Преобразует удобочитаемую строку адреса IPv6 в двоичное представление. |
otIp6AddressToString (const otIp6Address *aAddress, char *aBuffer, uint16_t aSize) | void Преобразует заданный адрес IPv6 в удобочитаемую строку. |
otIp6ArePrefixesEqual (const otIp6Prefix *aFirst, const otIp6Prefix *aSecond) | bool Проверьте, совпадают ли два префикса IPv6. |
otIp6GetBorderRoutingCounters ( otInstance *aInstance) | const otBorderRoutingCounters * Получает счетчики пограничной маршрутизации. |
otIp6GetMulticastAddresses ( otInstance *aInstance) | const otNetifMulticastAddress * Получает список адресов многоадресной рассылки IPv6, подписанных на интерфейс Thread. |
otIp6GetPrefix (const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix) | void Получает префикс с aLength из aAddress . |
otIp6GetUnicastAddresses ( otInstance *aInstance) | const otNetifAddress * Получает список адресов IPv6, назначенных интерфейсу потока. |
otIp6GetUnsecurePorts ( otInstance *aInstance, uint8_t *aNumEntries) | const uint16_t * Возвращает указатель на список незащищенных портов. |
otIp6HasUnicastAddress ( otInstance *aInstance, const otIp6Address *aAddress) | bool Указывает, назначен ли одноадресный IPv6-адрес интерфейсу потока. |
otIp6IsAddressEqual (const otIp6Address *aFirst, const otIp6Address *aSecond) | bool Проверьте, совпадают ли два адреса IPv6. |
otIp6IsAddressUnspecified (const otIp6Address *aAddress) | bool Указывает, является ли данный адрес IPv6 неопределенным адресом. |
otIp6IsEnabled ( otInstance *aInstance) | bool Указывает, включен ли интерфейс IPv6. |
otIp6IsMulticastPromiscuousEnabled ( otInstance *aInstance) | bool Проверяет, включен ли неразборчивый режим многоадресной рассылки на интерфейсе Thread. |
otIp6IsReceiveFilterEnabled ( otInstance *aInstance) | bool Указывает, фильтруется ли трафик управления потоками при доставке датаграмм IPv6 через обратный вызов, указанный в otIp6SetReceiveCallback() . |
otIp6IsSlaacEnabled ( otInstance *aInstance) | bool Указывает, включен или нет модуль SLAAC. |
otIp6NewMessage ( otInstance *aInstance, const otMessageSettings *aSettings) | Выделите новый буфер сообщений для отправки сообщения IPv6. |
otIp6NewMessageFromBuffer ( otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings) | Выделите новый буфер сообщений и запишите в него дейтаграмму IPv6 для отправки сообщения IPv6. |
otIp6PrefixFromString (const char *aString, otIp6Prefix *aPrefix) | Преобразует удобочитаемую строку префикса IPv6 в двоичное представление. |
otIp6PrefixMatch (const otIp6Address *aFirst, const otIp6Address *aSecond) | uint8_t Возвращает длину совпадения префикса (в битах) для двух адресов IPv6. |
otIp6PrefixToString (const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize) | void Преобразует заданный префикс IPv6 в удобочитаемую строку. |
otIp6ProtoToString (uint8_t aIpProto) | const char * Преобразует заданный номер IP-протокола в удобочитаемую строку. |
otIp6RegisterMulticastListeners ( otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext) | Регистрирует прослушиватели многоадресной рассылки на основном магистральном маршрутизаторе. |
otIp6RemoveAllUnsecurePorts ( otInstance *aInstance) | void Удаляет все порты из списка разрешенных незащищенных портов. |
otIp6RemoveUnicastAddress ( otInstance *aInstance, const otIp6Address *aAddress) | Удаляет адрес сетевого интерфейса из интерфейса потока. |
otIp6RemoveUnsecurePort ( otInstance *aInstance, uint16_t aPort) | Удаляет порт из списка разрешенных незащищенных портов. |
otIp6ResetBorderRoutingCounters ( otInstance *aInstance) | void Сбрасывает счетчики пограничной маршрутизации. |
otIp6SelectSourceAddress ( otInstance *aInstance, otMessageInfo *aMessageInfo) | Выполните выбор исходного адреса OpenThread. |
otIp6Send ( otInstance *aInstance, otMessage *aMessage) | Отправляет датаграмму IPv6 через интерфейс Thread. |
otIp6SetAddressCallback ( otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext) | void Регистрирует обратный вызов для уведомления об изменении внутреннего IPv6-адреса. |
otIp6SetEnabled ( otInstance *aInstance, bool aEnabled) | Включает или выключает интерфейс IPv6. |
otIp6SetMeshLocalIid ( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid) | Устанавливает локальный IID Mesh (для целей тестирования). |
otIp6SetMulticastPromiscuousEnabled ( otInstance *aInstance, bool aEnabled) | void Включает или отключает беспорядочный режим многоадресной рассылки в интерфейсе Thread. |
otIp6SetReceiveCallback ( otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext) | void Регистрирует обратный вызов для предоставления полученных датаграмм IPv6. |
otIp6SetReceiveFilterEnabled ( otInstance *aInstance, bool aEnabled) | void Устанавливает, фильтруется ли трафик управления потоками при доставке датаграмм IPv6 через обратный вызов, указанный в otIp6SetReceiveCallback() . |
otIp6SetSlaacEnabled ( otInstance *aInstance, bool aEnabled) | void Включает/отключает модуль SLAAC. |
otIp6SetSlaacPrefixFilter ( otInstance *aInstance, otIp6SlaacPrefixFilter aFilter) | void Устанавливает обработчик фильтра модуля SLAAC. |
otIp6SockAddrToString (const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize) | void Преобразует заданный адрес сокета IPv6 в удобочитаемую строку. |
otIp6SubscribeMulticastAddress ( otInstance *aInstance, const otIp6Address *aAddress) | Подписывает интерфейс Thread на адрес многоадресной рассылки сетевого интерфейса. |
otIp6UnsubscribeMulticastAddress ( otInstance *aInstance, const otIp6Address *aAddress) | Отменяет подписку интерфейса Thread на адрес многоадресной рассылки сетевого интерфейса. |
Структуры | |
---|---|
otBorderRoutingCounters | Представляет счетчики пакетов, пересылаемых через пограничную маршрутизацию. |
otIp6Адрес | Представляет адрес IPv6. |
otIp6AddressComponents | Представляет компоненты адреса IPv6. |
otIp6AddressInfo | Представляет информацию об адресе IPv6. |
otIp6Идентификатор интерфейса | Представляет идентификатор интерфейса IPv6-адреса. |
otIp6NetworkPrefix | Представляет сетевой префикс адреса IPv6 (старшие 64 бита адреса). |
otIp6Prefix | Представляет префикс IPv6. |
отмессажеинфо | Представляет локальные и одноранговые адреса сокетов IPv6. |
отнетифадрес | Представляет одноадресный адрес сетевого интерфейса IPv6. |
otNetifMulticastAddress | Представляет адрес многоадресной рассылки сетевого интерфейса IPv6. |
otPacketsAndBytes | Представляет счетчики пакетов и байтов. |
otSockAddr | Представляет адрес сокета IPv6. |
Союзы | |
---|---|
otIp6InterfaceIdentifier::OT_TOOL_PACKED_FIELD |
Перечисления
анонимное перечисление
anonymous enum
Номера интернет-протоколов.
анонимное перечисление
anonymous enum
анонимное перечисление
anonymous enum
Определения типов
otBorderRoutingCounters
struct otBorderRoutingCounters otBorderRoutingCounters
Представляет счетчики пакетов, пересылаемых через пограничную маршрутизацию.
otIp6AddressОбратный вызов
void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
Указатель вызывается при добавлении или удалении внутреннего IPv6-адреса.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
otIp6AddressComponents
struct otIp6AddressComponents otIp6AddressComponents
Представляет компоненты адреса IPv6.
otIp6Идентификатор интерфейса
struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier
Представляет идентификатор интерфейса IPv6-адреса.
otIp6NetworkPrefix
struct otIp6NetworkPrefix otIp6NetworkPrefix
Представляет сетевой префикс адреса IPv6 (старшие 64 бита адреса).
otIp6ReceiveCallback
void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
Указатель вызывается при получении датаграммы IPv6.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
otIp6RegisterMulticastListenersCallback
void(* otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)
Указатель вызывается с результатами otIp6RegisterMulticastListeners
.
Подробности | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
|
otIp6RegisterMulticastListeners
otIp6SlaacPrefixFilter
bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
Указатель позволяет пользователю фильтровать префиксы и не разрешать добавление адреса SLAAC на основе префикса.
otIp6SetSlaacPrefixFilter()
можно использовать для установки обработчика фильтра. Обработчик фильтра вызывается модулем SLAAC, когда он собирается добавить адрес SLAAC на основе префикса. Его логическое возвращаемое значение определяет, фильтруется ли адрес (не добавляется) или нет.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
отмессажеинфо
struct otMessageInfo otMessageInfo
Представляет локальные и одноранговые адреса сокетов IPv6.
отнетифадрес
struct otNetifAddress otNetifAddress
Представляет одноадресный адрес сетевого интерфейса IPv6.
otNetifMulticastAddress
struct otNetifMulticastAddress otNetifMulticastAddress
Представляет адрес многоадресной рассылки сетевого интерфейса IPv6.
otPacketsAndBytes
struct otPacketsAndBytes otPacketsAndBytes
Представляет счетчики пакетов и байтов.
Переменные
OT_TOOL_PACKED_END
OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END
Функции
otIp6AddUnicastAddress
otError otIp6AddUnicastAddress( otInstance *aInstance, const otNetifAddress *aAddress )
Добавляет адрес сетевого интерфейса к интерфейсу потока.
Переданный экземпляр aAddress
копируется интерфейсом Thread. Интерфейс Thread поддерживает только фиксированное количество добавляемых извне одноадресных адресов. См. OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS
.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
otIp6AddUnsecurePort
otError otIp6AddUnsecurePort( otInstance *aInstance, uint16_t aPort )
Добавляет порт в список разрешенных незащищенных портов.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
otIp6AddressFromString
otError otIp6AddressFromString( const char *aString, otIp6Address *aAddress )
Преобразует удобочитаемую строку адреса IPv6 в двоичное представление.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
отIp6AddressToString
void otIp6AddressToString( const otIp6Address *aAddress, char *aBuffer, uint16_t aSize )
Преобразует заданный адрес IPv6 в удобочитаемую строку.
Строка адреса IPv6 форматируется как 16 шестнадцатеричных значений, разделенных символом «:» (т. е. «%x:%x:%x:...:%x»).
Если результирующая строка не помещается в aBuffer
(в пределах символов aSize
), строка будет усечена, но выводимая строка всегда заканчивается нулем.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
otIp6ArePrefixesEqual
bool otIp6ArePrefixesEqual( const otIp6Prefix *aFirst, const otIp6Prefix *aSecond )
Проверьте, совпадают ли два префикса IPv6.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
otIp6GetBorderRoutingCounters
const otBorderRoutingCounters * otIp6GetBorderRoutingCounters( otInstance *aInstance )
Получает счетчики пограничной маршрутизации.
OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE
функция времени сборки должна быть включена.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | Указатель на счетчики пограничной маршрутизации. |
otIp6GetMulticastAddresses
const otNetifMulticastAddress * otIp6GetMulticastAddresses( otInstance *aInstance )
Получает список адресов многоадресной рассылки IPv6, подписанных на интерфейс Thread.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | Указатель на первый адрес многоадресной рассылки сетевого интерфейса. |
otIp6GetPrefix
void otIp6GetPrefix( const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix )
Получает префикс с aLength
из aAddress
.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
otIp6GetUnicastAddresses
const otNetifAddress * otIp6GetUnicastAddresses( otInstance *aInstance )
Получает список адресов IPv6, назначенных интерфейсу потока.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | Указатель на первый адрес сетевого интерфейса. |
otIp6GetUnsecurePorts
const uint16_t * otIp6GetUnsecurePorts( otInstance *aInstance, uint8_t *aNumEntries )
Возвращает указатель на список незащищенных портов.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | Указатель на список незащищенных портов. |
otIp6HasUnicastAddress
bool otIp6HasUnicastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Указывает, назначен ли одноадресный IPv6-адрес интерфейсу потока.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
otIp6IsAddressEqual
bool otIp6IsAddressEqual( const otIp6Address *aFirst, const otIp6Address *aSecond )
Проверьте, совпадают ли два адреса IPv6.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
otIp6IsAddressUnspecified
bool otIp6IsAddressUnspecified( const otIp6Address *aAddress )
Указывает, является ли данный адрес IPv6 неопределенным адресом.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
otIp6IsEnabled
bool otIp6IsEnabled( otInstance *aInstance )
Указывает, включен ли интерфейс IPv6.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
otIp6IsMulticastPromiscousEnabled
bool otIp6IsMulticastPromiscuousEnabled( otInstance *aInstance )
Проверяет, включен ли неразборчивый режим многоадресной рассылки на интерфейсе Thread.
Подробности | |||
---|---|---|---|
Параметры |
|
otIp6SetMulticastPromiscousEnabled
otIp6IsReceiveFilterEnabled
bool otIp6IsReceiveFilterEnabled( otInstance *aInstance )
Указывает, фильтруется ли трафик управления потоками при доставке датаграмм IPv6 через обратный вызов, указанный в otIp6SetReceiveCallback() .
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | TRUE, если трафик управления потоками отфильтровывается, в противном случае FALSE. |
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled
otIp6IsSlaacEnabled
bool otIp6IsSlaacEnabled( otInstance *aInstance )
Указывает, включен или нет модуль SLAAC.
Должна быть включена функция OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
во время сборки.
Подробности | |||||
---|---|---|---|---|---|
Возвращаемые значения |
|
otIp6NewMessage
otMessage * otIp6NewMessage( otInstance *aInstance, const otMessageSettings *aSettings )
Выделите новый буфер сообщений для отправки сообщения IPv6.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | Указатель на буфер сообщений или NULL, если буферы сообщений недоступны или параметры недопустимы. |
otMessageFree
otIp6NewMessageFromBuffer
otMessage * otIp6NewMessageFromBuffer( otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings )
Выделите новый буфер сообщений и запишите в него дейтаграмму IPv6 для отправки сообщения IPv6.
Подробности | |||||||||
---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||
Возврат | Указатель на сообщение или NULL, если доступен неверный заголовок IPv6 или недостаточно буферов сообщений. |
otMessageFree
otIp6PrefixFromString
otError otIp6PrefixFromString( const char *aString, otIp6Prefix *aPrefix )
Преобразует удобочитаемую строку префикса IPv6 в двоичное представление.
Параметр aString
должен быть строкой в формате "
это IPv6-адрес и длина префикса. Подробности Параметры [in] aString
Указатель на строку, завершающуюся NULL. [out] aPrefix
Указатель на префикс IPv6.
Возвращаемые значения OT_ERROR_NONE
Строка успешно проанализирована как префикс IPv6 и обновлена aPrefix
. OT_ERROR_PARSE
Не удалось проанализировать aString
как префикс IPv6.
otIp6PrefixMatch
uint8_t otIp6PrefixMatch( const otIp6Address *aFirst, const otIp6Address *aSecond )
Возвращает длину совпадения префикса (в битах) для двух адресов IPv6.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возврат | Длина соответствия префикса в битах. |
otIp6PrefixToString
void otIp6PrefixToString( const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize )
Преобразует заданный префикс IPv6 в удобочитаемую строку.
Строка адреса IPv6 форматируется как «%x:%x:%x:...[::]/plen».
Если результирующая строка не помещается в aBuffer
(в пределах символов aSize
), строка будет усечена, но выводимая строка всегда заканчивается нулем.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
otIp6ProtoToString
const char * otIp6ProtoToString( uint8_t aIpProto )
Преобразует заданный номер IP-протокола в удобочитаемую строку.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возврат | Строка, представляющая aIpProto . |
otIp6RegisterMulticastListeners
otError otIp6RegisterMulticastListeners( otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext )
Регистрирует прослушиватели многоадресной рассылки на основном магистральном маршрутизаторе.
OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE
и OPENTHREAD_CONFIG_COMMISSIONER_ENABLE
должны быть включены.
Подробности | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||
Возвращаемые значения |
|
otIp6RegisterMulticastListenersCallback
otIp6RemoveAllUnsecurePorts
void otIp6RemoveAllUnsecurePorts( otInstance *aInstance )
Удаляет все порты из списка разрешенных незащищенных портов.
Подробности | |||
---|---|---|---|
Параметры |
|
otIp6RemoveUnicastAddress
otError otIp6RemoveUnicastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Удаляет адрес сетевого интерфейса из интерфейса потока.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
otIp6RemoveUnsecurePort
otError otIp6RemoveUnsecurePort( otInstance *aInstance, uint16_t aPort )
Удаляет порт из списка разрешенных незащищенных портов.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
otIp6ResetBorderRoutingCounters
void otIp6ResetBorderRoutingCounters( otInstance *aInstance )
Сбрасывает счетчики пограничной маршрутизации.
Подробности | |||
---|---|---|---|
Параметры |
|
otIp6SelectSourceAddress
otError otIp6SelectSourceAddress( otInstance *aInstance, otMessageInfo *aMessageInfo )
Выполните выбор исходного адреса OpenThread.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
otIp6Send
otError otIp6Send( otInstance *aInstance, otMessage *aMessage )
Отправляет датаграмму IPv6 через интерфейс Thread.
Вызывающая сторона передает право собственности на aMessage
при совершении этого вызова. OpenThread освободит aMessage
после завершения обработки, в том числе когда возвращается значение, отличное от OT_ERROR_NONE
.
Подробности | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||||
Возвращаемые значения |
|
otIp6SetAddressCallback
void otIp6SetAddressCallback( otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext )
Регистрирует обратный вызов для уведомления об изменении внутреннего IPv6-адреса.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
отIp6SetEnabled
otError otIp6SetEnabled( otInstance *aInstance, bool aEnabled )
Включает или выключает интерфейс IPv6.
Вызовите это, чтобы включить или отключить связь IPv6.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
otIp6SetMeshLocalIid
otError otIp6SetMeshLocalIid( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid )
Устанавливает локальный IID Mesh (для целей тестирования).
Требуется OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
otIp6SetMulticastPromiscousEnabled
void otIp6SetMulticastPromiscuousEnabled( otInstance *aInstance, bool aEnabled )
Включает или отключает беспорядочный режим многоадресной рассылки в интерфейсе Thread.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
otIp6IsMulticastPromiscousEnabled
otIp6SetReceiveCallback
void otIp6SetReceiveCallback( otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext )
Регистрирует обратный вызов для предоставления полученных датаграмм IPv6.
По умолчанию этот обратный вызов не передает трафик управления потоками. См. otIp6SetReceiveFilterEnabled() , чтобы изменить настройку фильтра трафика управления потоками.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
void otIp6SetReceiveFilterEnabled( otInstance *aInstance, bool aEnabled )
Устанавливает, фильтруется ли трафик управления потоками при доставке датаграмм IPv6 через обратный вызов, указанный в otIp6SetReceiveCallback() .
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
otIp6SetReceiveCallback
отисрецеивеип6филтеренаблед
otIp6SetSlaacEnabled
void otIp6SetSlaacEnabled( otInstance *aInstance, bool aEnabled )
Включает/отключает модуль SLAAC.
Должна быть включена функция OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
во время сборки.
Когда модуль SLAAC включен, адреса SLAAC (на основе префиксов в сети в сетевых данных) добавляются к интерфейсу. Когда модуль SLAAC отключен, любой ранее добавленный адрес SLAAC удаляется.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
otIp6SetSlaacPrefixFilter
void otIp6SetSlaacPrefixFilter( otInstance *aInstance, otIp6SlaacPrefixFilter aFilter )
Устанавливает обработчик фильтра модуля SLAAC.
Должна быть включена функция OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
во время сборки.
Обработчик фильтра вызывается модулем SLAAC, когда он собирается добавить адрес SLAAC на основе префикса, чтобы решить, следует ли добавлять адрес или нет.
Обработчик фильтра NULL отключает фильтрацию и позволяет добавлять все адреса SLAAC.
Если эта функция не вызывается, фильтр по умолчанию, используемый модулем SLAAC, будет NULL (фильтрация отключена).
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
otIp6SockAddrToString
void otIp6SockAddrToString( const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize )
Преобразует заданный адрес сокета IPv6 в удобочитаемую строку.
Строка адреса сокета IPv6 форматируется как [ address
]: port
, где address
отображается как 16 шестнадцатеричных значений, разделенных :
а port
— это номер порта в десятичном формате, например «[%x:%x:...:%x ]:%u".
Если результирующая строка не помещается в aBuffer
(в пределах символов aSize
), строка будет усечена, но выводимая строка всегда заканчивается нулем.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
otIp6SubscribeMulticastAddress
otError otIp6SubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Подписывает интерфейс Thread на адрес многоадресной рассылки сетевого интерфейса.
Переданный экземпляр aAddress
будет скопирован интерфейсом Thread. Интерфейс Thread поддерживает только фиксированное количество добавленных извне адресов многоадресной рассылки. См. OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS
.
Подробности | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||
Возвращаемые значения |
|
otIp6Отменить подпискуАдрес многоадресной рассылки
otError otIp6UnsubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Отменяет подписку интерфейса Thread на адрес многоадресной рассылки сетевого интерфейса.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
Макросы
OT_IP6_ADDRESS_SIZE
OT_IP6_ADDRESS_SIZE 16
Размер IPv6-адреса (байты)
OT_IP6_ADDRESS_STRING_SIZE
OT_IP6_ADDRESS_STRING_SIZE 40
Рекомендуемый размер для строкового представления адреса IPv6.
OT_IP6_HEADER_PROTO_OFFSET
OT_IP6_HEADER_PROTO_OFFSET 6
Смещение поля proto в заголовке IPv6 (байты)
OT_IP6_HEADER_SIZE
OT_IP6_HEADER_SIZE 40
Размер заголовка IPv6 (в байтах)
OT_IP6_IID_SIZE
OT_IP6_IID_SIZE 8
Размер идентификатора интерфейса IPv6 (в байтах)
OT_IP6_MAX_MLR_ADDRESSES
OT_IP6_MAX_MLR_ADDRESSES 15
Максимальное количество адресов IPv6, поддерживаемых регистрацией прослушивателя многоадресной рассылки.
OT_IP6_PREFIX_BITSIZE
OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)
Размер префикса IPv6 (биты)
OT_IP6_PREFIX_SIZE
OT_IP6_PREFIX_SIZE 8
Размер префикса IPv6 (в байтах)
OT_IP6_PREFIX_STRING_SIZE
OT_IP6_PREFIX_STRING_SIZE 45
Рекомендуемый размер строкового представления префикса IPv6.
OT_IP6_SOCK_ADDR_STRING_SIZE
OT_IP6_SOCK_ADDR_STRING_SIZE 48
Рекомендуемый размер для строкового представления адреса сокета IPv6.
Ресурсы
Справочные разделы API OpenThread взяты из исходного кода, доступного на GitHub . Для получения дополнительной информации или внесения вклада в нашу документацию обратитесь к Ресурсам .