IPv6
Этот модуль включает в себя функции, управляющие связью IPv6.
Резюме
Перечисления | |
---|---|
anonymous enum { | перечисление Происхождение адресов IPv6. |
anonymous enum { | перечисление Статусы ECN, представленные в заголовке IP. |
anonymous enum { | перечисление Номера интернет-протокола. |
Определения типов | |
---|---|
otIp6Address | определение типаstruct otIp6Address Эта структура представляет адрес IPv6. |
otIp6AddressCallback )(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext) | определение типаvoid(* Этот указатель функции вызывается при добавлении или удалении внутреннего IPv6-адреса. |
otIp6AddressComponents | определение типаstruct otIp6AddressComponents Эта структура представляет компоненты адреса IPv6. |
otIp6AddressInfo | определение типаstruct otIp6AddressInfo |
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. |
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. |
otIp6GetMulticastAddresses ( otInstance *aInstance) | const otNetifMulticastAddress * Получите список многоадресных адресов IPv6, подписанных на интерфейс Thread. |
otIp6GetUnicastAddresses ( otInstance *aInstance) | const otNetifAddress * Получите список IPv6-адресов, назначенных интерфейсу Thread. |
otIp6GetUnsecurePorts ( otInstance *aInstance, uint8_t *aNumEntries) | const uint16_t * Эта функция возвращает указатель на список незащищенных портов. |
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. |
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) | Эта функция удаляет порт из списка разрешенных незащищенных портов. |
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) | Эта функция устанавливает Mesh Local IID (в целях тестирования). |
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) | Подпишите интерфейс потока на многоадресный адрес сетевого интерфейса. |
otIp6UnsubscribeMulticastAddress ( otInstance *aInstance, const otIp6Address *aAddress) | Отмените подписку интерфейса потока на многоадресный адрес сетевого интерфейса. |
Структуры | |
---|---|
otIp6Адрес | Эта структура представляет адрес IPv6. |
otIp6AddressComponents | Эта структура представляет компоненты адреса IPv6. |
otIp6AddressInfo | Эта структура представляет информацию об адресе IPv6. |
otIp6InterfaceIdentifier | Эта структура представляет идентификатор интерфейса IPv6-адреса. |
otIp6NetworkPrefix | Эта структура представляет сетевой префикс адреса IPv6 (старшие 64 бита адреса). |
префикс otIp6 | Эта структура представляет собой префикс IPv6. |
otMessageInfo | Эта структура представляет локальные и одноранговые адреса сокетов IPv6. |
otNetifAddress | Эта структура представляет индивидуальный адрес сетевого интерфейса IPv6. |
otNetifMulticastAddress | Эта структура представляет многоадресный адрес сетевого интерфейса IPv6. |
otSockAddr | Эта структура представляет адрес сокета IPv6. |
Союзы | |
---|---|
otIp6InterfaceIdentifier:: OT_TOOL_PACKED_FIELD |
Перечисления
анонимное перечисление
anonymous enum
анонимное перечисление
anonymous enum
анонимное перечисление
anonymous enum
Номера интернет-протокола.
Определения типов
otIp6AddressОбратный вызов
void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
Этот указатель функции вызывается при добавлении или удалении внутреннего IPv6-адреса.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
otIp6AddressComponents
struct otIp6AddressComponents otIp6AddressComponents
Эта структура представляет компоненты адреса IPv6.
otIp6AddressInfo
struct otIp6AddressInfo otIp6AddressInfo
otIp6InterfaceIdentifier
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
otIp6SlaacPrefixФильтр
bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
Этот указатель функции позволяет пользователю фильтровать префиксы и запрещать добавление адреса SLAAC на основе префикса.
otIp6SetSlaacPrefixFilter()
можно использовать для установки обработчика фильтра. Обработчик фильтра вызывается модулем SLAAC, когда он собирается добавить адрес SLAAC на основе префикса. Его логическое возвращаемое значение определяет, фильтруется ли адрес (не добавляется) или нет.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
otMessageInfo
struct otMessageInfo otMessageInfo
Эта структура представляет локальные и одноранговые адреса сокетов IPv6.
otNetifAddress
struct otNetifAddress otNetifAddress
Эта структура представляет индивидуальный адрес сетевого интерфейса IPv6.
otNetifMulticastAddress
struct otNetifMulticastAddress otNetifMulticastAddress
Эта структура представляет многоадресный адрес сетевого интерфейса IPv6.
Переменные
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 в двоичное представление.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
otIp6AddressToString
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.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
otIp6GetMulticastAddresses
const otNetifMulticastAddress * otIp6GetMulticastAddresses( otInstance *aInstance )
Получите список многоадресных адресов IPv6, подписанных на интерфейс Thread.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возвращает | Указатель на первый многоадресный адрес сетевого интерфейса. |
otIp6GetUnicastAddresses
const otNetifAddress * otIp6GetUnicastAddresses( otInstance *aInstance )
Получите список IPv6-адресов, назначенных интерфейсу Thread.
Подробности | |||
---|---|---|---|
Параметры |
| ||
Возвращает | Указатель на первый адрес сетевого интерфейса. |
otIp6GetUnsecurePorts
const uint16_t * otIp6GetUnsecurePorts( otInstance *aInstance, uint8_t *aNumEntries )
Эта функция возвращает указатель на список незащищенных портов.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращает | Указатель на список незащищенных портов. |
otIp6IsAddressEqual
bool otIp6IsAddressEqual( const otIp6Address *aFirst, const otIp6Address *aSecond )
Проверьте, совпадают ли два адреса IPv6.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
otIp6IsAddressUnspecified
bool otIp6IsAddressUnspecified( const otIp6Address *aAddress )
Эта функция указывает, является ли данный IPv6-адрес неуказанным адресом.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
otIp6IsEnabled
bool otIp6IsEnabled( otInstance *aInstance )
Эта функция указывает, включен ли интерфейс IPv6.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
otIp6IsMulticastPromiscuousEnabled
bool otIp6IsMulticastPromiscuousEnabled( otInstance *aInstance )
Проверьте, включен ли неразборчивый многоадресный режим на интерфейсе Thread.
Подробности | |||
---|---|---|---|
Параметры |
|
otIp6SetMulticastPromiscuousEnabled
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
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
), строка будет усечена, но выводимая строка всегда завершается нулем.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
otIp6ProtoString
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 )
Эта функция удаляет порт из списка разрешенных незащищенных портов.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
otIp6SelectSourceAddress
otError otIp6SelectSourceAddress( otInstance *aInstance, otMessageInfo *aMessageInfo )
Эта функция выполняет выбор исходного адреса OpenThread.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
otIp6Отправить
otError otIp6Send( otInstance *aInstance, otMessage *aMessage )
Эта функция отправляет дейтаграмму IPv6 через интерфейс Thread.
Вызывающий объект передает право собственности на aMessage
при совершении этого вызова. OpenThread освободит aMessage
после завершения обработки, в том числе, когда будет возвращено значение, отличное от OT_ERROR_NONE
.
Подробности | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||||
Возвращаемые значения |
|
otIp6SetAddressОбратный вызов
void otIp6SetAddressCallback( otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext )
Эта функция регистрирует обратный вызов для уведомления об изменении внутреннего адреса IPv6.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
otIp6SetEnabled
otError otIp6SetEnabled( otInstance *aInstance, bool aEnabled )
Эта функция включает/выключает интерфейс IPv6.
Вызовите эту функцию, чтобы включить/отключить связь IPv6.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
otIp6SetMeshLocalIid
otError otIp6SetMeshLocalIid( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid )
Эта функция устанавливает Mesh Local IID (в целях тестирования).
Доступно только при OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
| ||||
Возвращаемые значения |
|
otIp6SetMulticastPromiscuousEnabled
void otIp6SetMulticastPromiscuousEnabled( otInstance *aInstance, bool aEnabled )
Включите многоадресный неразборчивый режим на интерфейсе Thread.
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
otIp6IsMulticastPromiscuousEnabled
otIp6SetReceiveCallback
void otIp6SetReceiveCallback( otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext )
Эта функция регистрирует обратный вызов для предоставления полученных дейтаграмм IPv6.
По умолчанию этот обратный вызов не передает трафик управления потоком. См. otIp6SetReceiveFilterEnabled() , чтобы изменить настройку фильтра трафика управления потоком.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
void otIp6SetReceiveFilterEnabled( otInstance *aInstance, bool aEnabled )
Эта функция устанавливает, будет ли отфильтровываться трафик управления потоком при доставке дейтаграмм IPv6 через обратный вызов, указанный в otIp6SetReceiveCallback() .
Подробности | |||||
---|---|---|---|---|---|
Параметры |
|
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled
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 имеет формат «[
]: Если результирующая строка не помещается в aBuffer
(в пределах его символов aSize
), строка будет усечена, но выводимая строка всегда завершается нулем.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
|
otIp6SubscribeMulticastAddress
otError otIp6SubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Подпишите интерфейс потока на многоадресный адрес сетевого интерфейса.
Переданный в экземпляре aAddress
будет скопирован интерфейсом Thread. Интерфейс Thread поддерживает только фиксированное количество многоадресных адресов, добавляемых извне. См. OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS.
Подробности | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Параметры |
| ||||||||||
Возвращаемые значения |
|
otIp6UnsubscribeMulticastAddress
otError otIp6UnsubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Отмените подписку интерфейса потока на многоадресный адрес сетевого интерфейса.
Подробности | |||||||
---|---|---|---|---|---|---|---|
Параметры |
| ||||||
Возвращаемые значения |
|
Макросы
OT_IP6_ADDRESS_SIZE
OT_IP6_ADDRESS_SIZE 16
Размер IPv6-адреса (байты)
OT_IP6_ADDRESS_STRING_SIZE
OT_IP6_ADDRESS_STRING_SIZE 40
Рекомендуемый размер строкового представления IPv6-адреса.
OT_IP6_IID_SIZE
OT_IP6_IID_SIZE 8
Размер идентификатора интерфейса IPv6 (байты)
OT_IP6_MAX_MLR_АДРЕСЫ
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 . Чтобы получить дополнительную информацию или внести свой вклад в нашу документацию, обратитесь к разделу Ресурсы .