Google cam kết thúc đẩy công bằng chủng tộc cho Cộng đồng người da đen. Xem cách thực hiện.
Trang này được dịch bởi Cloud Translation API.
Switch to English

IPv6

Mô-đun này bao gồm các chức năng điều khiển giao tiếp IPv6.

Tóm lược

Bảng kê

anonymous enum {
OT_ADDRESS_ORIGIN_THREAD = 0,
OT_ADDRESS_ORIGIN_SLAAC = 1,
OT_ADDRESS_ORIGIN_DHCPV6 = 2,
OT_ADDRESS_ORIGIN_MANUAL = 3
}
enum
Nguồn gốc địa chỉ IPv6.

Typedefs

otIp6Address typedef
struct otIp6Address
Cấu trúc này đại diện cho một địa chỉ IPv6.
otIp6AddressCallback )(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext) typedef
void(*
Con trỏ hàm này được gọi khi một địa chỉ IPv6 nội bộ được thêm vào hoặc xóa bỏ.
otIp6AddressComponents typedef
Cấu trúc này đại diện cho các thành phần của địa chỉ IPv6.
otIp6AddressInfo typedef
otIp6InterfaceIdentifier typedef
Cấu trúc này đại diện cho Mã nhận dạng giao diện của địa chỉ IPv6.
otIp6NetworkPrefix typedef
Cấu trúc này đại diện cho Tiền tố mạng của địa chỉ IPv6 (64 bit quan trọng nhất của địa chỉ).
otIp6Prefix typedef
struct otIp6Prefix
Cấu trúc này đại diện cho một tiền tố IPv6.
otIp6ReceiveCallback )(otMessage *aMessage, void *aContext) typedef
void(*
Con trỏ hàm này được gọi khi nhận được một sơ đồ dữ liệu IPv6.
otIp6RegisterMulticastListenersCallback )(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum) typedef
void(*
Con trỏ hàm này được gọi với kết quả của otIp6RegisterMulticastListeners .
otIp6SlaacPrefixFilter )(otInstance *aInstance, const otIp6Prefix *aPrefix) typedef
bool(*
Con trỏ hàm này cho phép người dùng lọc tiền tố và không cho phép thêm địa chỉ SLAAC dựa trên tiền tố.
otMessageInfo typedef
Cấu trúc này đại diện cho địa chỉ socket IPv6 cục bộ và ngang hàng.
otNetifAddress typedef
Cấu trúc này đại diện cho một địa chỉ unicast giao diện mạng IPv6.
otNetifMulticastAddress typedef
Cấu trúc này đại diện cho một địa chỉ phát đa hướng giao diện mạng IPv6.
otSockAddr typedef
struct otSockAddr
Cấu trúc này đại diện cho một địa chỉ ổ cắm IPv6.

Biến

OT_TOOL_PACKED_END

Chức năng

otIp6AddUnicastAddress ( otInstance *aInstance, const otNetifAddress *aAddress)
Thêm Địa chỉ giao diện mạng vào giao diện Chủ đề.
otIp6AddUnsecurePort ( otInstance *aInstance, uint16_t aPort)
Chức năng này thêm một cổng vào danh sách cổng không an toàn được phép.
otIp6AddressFromString (const char *aString, otIp6Address *aAddress)
Chuyển đổi chuỗi địa chỉ IPv6 có thể đọc được của con người thành biểu diễn nhị phân.
otIp6GetMulticastAddresses ( otInstance *aInstance)
Nhận danh sách các địa chỉ phát đa hướng IPv6 được đăng ký vào giao diện Chủ đề.
otIp6GetUnicastAddresses ( otInstance *aInstance)
Nhận danh sách các địa chỉ IPv6 được gán cho giao diện Chủ đề.
otIp6GetUnsecurePorts ( otInstance *aInstance, uint8_t *aNumEntries)
const uint16_t *
Hàm này trả về một con trỏ đến danh sách cổng không an toàn.
otIp6IsAddressEqual (const otIp6Address *aFirst, const otIp6Address *aSecond)
bool
Kiểm tra xem hai địa chỉ IPv6 có giống nhau không.
otIp6IsAddressUnspecified (const otIp6Address *aAddress)
bool
Hàm này cho biết địa chỉ IPv6 nhất định có phải là Địa chỉ không xác định hay không.
otIp6IsEnabled ( otInstance *aInstance)
bool
Chức năng này cho biết giao diện IPv6 có được bật hay không.
otIp6IsMulticastPromiscuousEnabled ( otInstance *aInstance)
bool
Kiểm tra xem chế độ quảng bá đa hướng có được bật trên giao diện Chủ đề hay không.
otIp6IsReceiveFilterEnabled ( otInstance *aInstance)
bool
Hàm này cho biết lưu lượng điều khiển luồng có được lọc ra hay không khi phân phối các biểu đồ dữ liệu IPv6 thông qua lệnh gọi lại được chỉ định trong otIp6SetReceiveCallback () .
otIp6IsSlaacEnabled ( otInstance *aInstance)
bool
Chức năng này cho biết mô-đun SLAAC có được bật hay không.
otIp6NewMessage ( otInstance *aInstance, const otMessageSettings *aSettings)
Phân bổ bộ đệm tin nhắn mới để gửi tin nhắn IPv6.
otIp6NewMessageFromBuffer ( otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
Phân bổ bộ đệm tin nhắn mới và ghi dữ liệu IPv6 vào bộ đệm tin nhắn để gửi tin nhắn IPv6.
otIp6PrefixMatch (const otIp6Address *aFirst, const otIp6Address *aSecond)
uint8_t
Hàm này trả về độ dài khớp tiền tố (bit) cho hai địa chỉ IPv6.
otIp6RegisterMulticastListeners ( otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
Chức năng này đăng ký Bộ nghe Multicast vào Bộ định tuyến đường trục chính.
otIp6RemoveAllUnsecurePorts ( otInstance *aInstance)
void
Chức năng này xóa tất cả các cổng khỏi danh sách cổng không an toàn được phép.
otIp6RemoveUnicastAddress ( otInstance *aInstance, const otIp6Address *aAddress)
Xóa Địa chỉ giao diện mạng khỏi giao diện Chủ đề.
otIp6RemoveUnsecurePort ( otInstance *aInstance, uint16_t aPort)
Hàm này loại bỏ một cổng khỏi danh sách cổng không an toàn được phép.
otIp6SelectSourceAddress ( otInstance *aInstance, otMessageInfo *aMessageInfo)
Hàm này thực hiện lựa chọn địa chỉ nguồn OpenThread.
otIp6Send ( otInstance *aInstance, otMessage *aMessage)
Chức năng này gửi một gói dữ liệu IPv6 qua giao diện Chủ đề.
otIp6SetAddressCallback ( otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
void
Chức năng này đăng ký một cuộc gọi lại để thông báo thay đổi địa chỉ IPv6 nội bộ.
otIp6SetEnabled ( otInstance *aInstance, bool aEnabled)
Chức năng này đưa lên / xuống giao diện IPv6.
otIp6SetMulticastPromiscuousEnabled ( otInstance *aInstance, bool aEnabled)
void
Bật chế độ quảng bá đa hướng trên giao diện Chủ đề.
otIp6SetReceiveCallback ( otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
void
Hàm này đăng ký một cuộc gọi lại để cung cấp các biểu đồ dữ liệu IPv6 đã nhận.
otIp6SetReceiveFilterEnabled ( otInstance *aInstance, bool aEnabled)
void
Chức năng này đặt xem lưu lượng điều khiển luồng có được lọc ra hay không khi phân phối các biểu đồ dữ liệu IPv6 qua lệnh gọi lại được chỉ định trong otIp6SetReceiveCallback () .
otIp6SetSlaacEnabled ( otInstance *aInstance, bool aEnabled)
void
Chức năng này bật / tắt mô-đun SLAAC.
otIp6SetSlaacPrefixFilter ( otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
void
Chức năng này đặt trình xử lý bộ lọc mô-đun SLAAC.
otIp6SubscribeMulticastAddress ( otInstance *aInstance, const otIp6Address *aAddress)
Đăng ký giao diện Chủ đề với Địa chỉ đa hướng giao diện mạng.
otIp6UnsubscribeMulticastAddress ( otInstance *aInstance, const otIp6Address *aAddress)
Hủy đăng ký giao diện Chủ đề cho Địa chỉ đa phương tiện giao diện mạng.

Cấu trúc

otIp6Address

Cấu trúc này đại diện cho một địa chỉ IPv6.

otIp6AddressComponents

Cấu trúc này đại diện cho các thành phần của địa chỉ IPv6.

otIp6AddressInfo

Cấu trúc này đại diện cho thông tin địa chỉ IPv6.

otIp6InterfaceIdentifier

Cấu trúc này đại diện cho Mã nhận dạng giao diện của địa chỉ IPv6.

otIp6NetworkPrefix

Cấu trúc này đại diện cho Tiền tố mạng của địa chỉ IPv6 (64 bit quan trọng nhất của địa chỉ).

otIp6Prefix

Cấu trúc này đại diện cho một tiền tố IPv6.

otMessageInfo

Cấu trúc này đại diện cho địa chỉ socket IPv6 cục bộ và ngang hàng.

otNetifAddress

Cấu trúc này đại diện cho một địa chỉ unicast giao diện mạng IPv6.

otNetifMulticastAddress

Cấu trúc này đại diện cho một địa chỉ đa hướng giao diện mạng IPv6.

otSockAddr

Cấu trúc này đại diện cho một địa chỉ ổ cắm IPv6.

Đoàn thể

otIp6InterfaceIdentifier :: OT_TOOL_PACKED_FIELD

Bảng kê

enum ẩn danh

 anonymous enum

Nguồn gốc địa chỉ IPv6.

Tính chất
OT_ADDRESS_ORIGIN_DHCPV6

Địa chỉ được chỉ định DHCPv6.

OT_ADDRESS_ORIGIN_MANUAL

Địa chỉ được chỉ định theo cách thủ công.

OT_ADDRESS_ORIGIN_SLAAC

Địa chỉ được chỉ định SLAAC.

OT_ADDRESS_ORIGIN_THREAD

Địa chỉ chỉ định chuỗi (ALOC, RLOC, MLEID, v.v.)

Typedefs

otIp6Address

struct otIp6Address otIp6Address

Cấu trúc này đại diện cho một địa chỉ IPv6.

otIp6AddressCallback

void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)

Con trỏ hàm này được gọi khi một địa chỉ IPv6 nội bộ được thêm vào hoặc xóa bỏ.

Chi tiết
Thông số
[in] aAddressInfo
Một con trỏ đến thông tin địa chỉ IPv6.
[in] aIsAdded
TRUE nếu aAddress được thêm vào, FALSE nếu aAddress bị xóa.
[in] aContext
Một con trỏ đến ngữ cảnh dành riêng cho ứng dụng.

otIp6AddressComponents

struct otIp6AddressComponents otIp6AddressComponents

Cấu trúc này đại diện cho các thành phần của địa chỉ IPv6.

otIp6AddressInfo

struct otIp6AddressInfo otIp6AddressInfo

otIp6InterfaceIdentifier

struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier

Cấu trúc này đại diện cho Mã nhận dạng giao diện của địa chỉ IPv6.

otIp6NetworkPrefix

struct otIp6NetworkPrefix otIp6NetworkPrefix

Cấu trúc này đại diện cho Tiền tố mạng của địa chỉ IPv6 (64 bit quan trọng nhất của địa chỉ).

otIp6Prefix

struct otIp6Prefix otIp6Prefix

Cấu trúc này đại diện cho một tiền tố IPv6.

otIp6ReceiveCallback

void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)

Con trỏ hàm này được gọi khi nhận được một sơ đồ dữ liệu IPv6.

Chi tiết
Thông số
[in] aMessage
Một con trỏ đến bộ đệm thông báo chứa dữ liệu IPv6 đã nhận. Chức năng này chuyển quyền sở hữu aMessage cho người nhận cuộc gọi lại. Người nhận cuộc gọi lại sẽ giải phóng thông điệp sau khi nó được xử lý (xem otMessageFree () ).
[in] aContext
Một con trỏ đến ngữ cảnh dành riêng cho ứng dụng.

otIp6RegisterMulticastListariesCallback

void(* otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)

Con trỏ hàm này được gọi với kết quả của otIp6RegisterMulticastListeners .

Chi tiết
Thông số
[in] aContext
Một con trỏ đến ngữ cảnh người dùng.
[in] aError
OT_ERROR_NONE khi gửi MLR.req thành công và nhận MLR.rsp, OT_ERROR_RESPONSE_TIMEOUT khi không nhận được MLR.rsp, OT_ERROR_PARSE khi không phân tích được MLR.rsp.
[in] aMlrStatus
Trạng thái đăng ký trình xử lý đa hướng khi aError là OT_ERROR_NONE.
[in] aFailedAddresses
Một con trỏ đến các địa chỉ Ip6 không thành công khi aError là OT_ERROR_NONE.
[in] aFailedAddressNum
Số lượng địa chỉ Ip6 không thành công khi aError là OT_ERROR_NONE.
Xem thêm:
otIp6RegisterMulticastListaries

otIp6SlaacPrefixFilter

bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)

Con trỏ hàm này cho phép người dùng lọc tiền tố và không cho phép thêm địa chỉ SLAAC dựa trên tiền tố.

otIp6SetSlaacPrefixFilter() có thể được sử dụng để đặt trình xử lý bộ lọc. Trình xử lý bộ lọc được gọi bởi mô-đun SLAAC khi nó sắp thêm địa chỉ SLAAC dựa trên tiền tố. Giá trị trả về boolean của nó xác định xem địa chỉ có được lọc (không được thêm vào) hay không.

Chi tiết
Thông số
[in] aInstacne
Một con trỏ đến một phiên bản OpenThread.
[in] aPrefix
Một con trỏ tới tiền tố mà địa chỉ SLAAC sắp được thêm vào.
Giá trị trả lại
TRUE
Cho biết rằng địa chỉ SLAAC dựa trên tiền tố phải được lọc và KHÔNG được thêm vào.
FALSE
Chỉ ra rằng địa chỉ SLAAC dựa trên tiền tố phải được thêm vào.

otMessageInfo

struct otMessageInfo otMessageInfo

Cấu trúc này đại diện cho địa chỉ socket IPv6 cục bộ và ngang hàng.

otNetifAddress

struct otNetifAddress otNetifAddress

Cấu trúc này đại diện cho một địa chỉ unicast giao diện mạng IPv6.

otNetifMulticastAddress

struct otNetifMulticastAddress otNetifMulticastAddress

Cấu trúc này đại diện cho một địa chỉ đa hướng giao diện mạng IPv6.

otSockAddr

struct otSockAddr otSockAddr

Cấu trúc này đại diện cho một địa chỉ ổ cắm IPv6.

Biến

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END

Chức năng

otIp6AddUnicastAddress

otError otIp6AddUnicastAddress(
  otInstance *aInstance,
  const otNetifAddress *aAddress
)

Thêm Địa chỉ giao diện mạng vào giao diện Chủ đề.

Cá thể aAddress được truyền vào được sao chép bởi giao diện Thread. Giao diện Thread chỉ hỗ trợ một số lượng cố định các địa chỉ unicast được thêm từ bên ngoài. Xem OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS.

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
[in] aAddress
Một con trỏ đến Địa chỉ giao diện mạng.
Giá trị trả lại
OT_ERROR_NONE
Đã thêm (hoặc cập nhật) thành công Địa chỉ giao diện mạng.
OT_ERROR_INVALID_ARGS
Địa chỉ IP được chỉ ra bởi aAddress là địa chỉ nội bộ.
OT_ERROR_NO_BUFS
Giao diện Mạng đã lưu trữ các địa chỉ bên ngoài tối đa được phép.

otIp6AddUnsecurePort

otError otIp6AddUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

Chức năng này thêm một cổng vào danh sách cổng không an toàn được phép.

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
[in] aPort
Giá trị cổng.
Giá trị trả lại
OT_ERROR_NONE
Cổng đã được thêm thành công vào danh sách cổng không an toàn được phép.
OT_ERROR_INVALID_ARGS
Cổng không hợp lệ (giá trị 0 được dành riêng cho mục đích sử dụng nội bộ).
OT_ERROR_NO_BUFS
Danh sách cổng không an toàn đã đầy.

otIp6AddressFromString

otError otIp6AddressFromString(
  const char *aString,
  otIp6Address *aAddress
)

Chuyển đổi chuỗi địa chỉ IPv6 có thể đọc được của con người thành biểu diễn nhị phân.

Chi tiết
Thông số
[in] aString
Một con trỏ đến một chuỗi được kết thúc bằng NULL.
[out] aAddress
Một con trỏ đến địa chỉ IPv6.
Giá trị trả lại
OT_ERROR_NONE
Đã phân tích cú pháp thành công chuỗi.
OT_ERROR_INVALID_ARGS
Không thể phân tích cú pháp chuỗi.

otIp6GetMulticastAddresses

const otNetifMulticastAddress * otIp6GetMulticastAddresses(
  otInstance *aInstance
)

Nhận danh sách các địa chỉ phát đa hướng IPv6 được đăng ký vào giao diện Chủ đề.

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
Lợi nhuận
Một con trỏ đến Địa chỉ Đa địa chỉ Giao diện Mạng đầu tiên.

otIp6GetUnicastAddresses

const otNetifAddress * otIp6GetUnicastAddresses(
  otInstance *aInstance
)

Nhận danh sách các địa chỉ IPv6 được gán cho giao diện Chủ đề.

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
Lợi nhuận
Một con trỏ đến Địa chỉ giao diện mạng đầu tiên.

otIp6GetUnsecurePorts

const uint16_t * otIp6GetUnsecurePorts(
  otInstance *aInstance,
  uint8_t *aNumEntries
)

Hàm này trả về một con trỏ đến danh sách cổng không an toàn.

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
[out] aNumEntries
Số lượng mục nhập trong danh sách.
Lợi nhuận
Một con trỏ đến danh sách cổng không an toàn.

otIp6IsAddressEqual

bool otIp6IsAddressEqual(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

Kiểm tra xem hai địa chỉ IPv6 có giống nhau không.

Chi tiết
Thông số
[in] aFirst
Một con trỏ đến địa chỉ IPv6 đầu tiên để so sánh.
[in] aSecond
Một con trỏ đến địa chỉ IPv6 thứ hai để so sánh.
Giá trị trả lại
TRUE
Hai địa chỉ IPv6 giống nhau.
FALSE
Hai địa chỉ IPv6 không giống nhau.

otIp6IsAddressUnspecified

bool otIp6IsAddressUnspecified(
  const otIp6Address *aAddress
)

Hàm này cho biết địa chỉ IPv6 nhất định có phải là Địa chỉ không xác định hay không.

Chi tiết
Thông số
[in] aAddress
Một con trỏ đến địa chỉ IPv6.
Giá trị trả lại
TRUE
Nếu địa chỉ IPv6 là Địa chỉ không xác định.
FALSE
Nếu địa chỉ IPv6 không phải là Địa chỉ không xác định.

otIp6IsEnabled

bool otIp6IsEnabled(
  otInstance *aInstance
)

Chức năng này cho biết giao diện IPv6 có được bật hay không.

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
Giá trị trả lại
TRUE
Giao diện IPv6 được bật.
FALSE
Giao diện IPv6 bị tắt.

otIp6IsMulticastPromiscuousEnabled

bool otIp6IsMulticastPromiscuousEnabled(
  otInstance *aInstance
)

Kiểm tra xem chế độ quảng bá đa hướng có được bật trên giao diện Chủ đề hay không.

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
Xem thêm:
otIp6SetMulticastPromiscuousEnabled

otIp6IsReceiveFilterEnabled

bool otIp6IsReceiveFilterEnabled(
  otInstance *aInstance
)

Hàm này cho biết lưu lượng điều khiển luồng có được lọc ra hay không khi phân phối các biểu đồ dữ liệu IPv6 thông qua lệnh gọi lại được chỉ định trong otIp6SetReceiveCallback () .

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
Lợi nhuận
TRUE nếu lưu lượng kiểm soát luồng được lọc ra, nếu không thì FALSE.
Xem thêm:
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled

otIp6IsSlaacEnabled

bool otIp6IsSlaacEnabled(
  otInstance *aInstance
)

Chức năng này cho biết mô-đun SLAAC có được bật hay không.

Chức năng này yêu cầu bật tính năng thời gian xây dựng OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE .

Chi tiết
Giá trị trả lại
TRUE
Mô-đun SLAAC được bật.
FALSE
Mô-đun SLAAC bị tắt.

otIp6NewMessage

otMessage * otIp6NewMessage(
  otInstance *aInstance,
  const otMessageSettings *aSettings
)

Phân bổ bộ đệm tin nhắn mới để gửi tin nhắn IPv6.

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
[in] aSettings
Một con trỏ đến cài đặt tin nhắn hoặc NULL để đặt cài đặt mặc định.
Lợi nhuận
Một con trỏ tới bộ đệm thông báo hoặc NULL nếu không có bộ đệm thông báo nào hoặc các tham số không hợp lệ.
Xem thêm:
otMessageFree

otIp6NewMessageFromBuffer

otMessage * otIp6NewMessageFromBuffer(
  otInstance *aInstance,
  const uint8_t *aData,
  uint16_t aDataLength,
  const otMessageSettings *aSettings
)

Phân bổ bộ đệm tin nhắn mới và ghi dữ liệu IPv6 vào bộ đệm tin nhắn để gửi tin nhắn IPv6.

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
[in] aData
Một con trỏ đến bộ đệm dữ liệu IPv6.
[in] aDataLength
Kích thước của bộ đệm dữ liệu IPv6 được trỏ bởi aData .
[in] aSettings
Một con trỏ đến cài đặt tin nhắn hoặc NULL để đặt cài đặt mặc định.
Lợi nhuận
Một con trỏ đến thông báo hoặc NULL nếu tiêu đề IPv6 không đúng định dạng hoặc không đủ bộ đệm thông báo khả dụng.
Xem thêm:
otMessageFree

otIp6PrefixMatch

uint8_t otIp6PrefixMatch(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

Hàm này trả về độ dài khớp tiền tố (bit) cho hai địa chỉ IPv6.

Chi tiết
Thông số
[in] aFirst
Một con trỏ đến địa chỉ IPv6 đầu tiên.
[in] aSecond
Một con trỏ đến địa chỉ IPv6 thứ hai.
Lợi nhuận
Độ dài đối sánh tiền tố tính bằng bit.

otIp6RegisterMulticastListaries

otError otIp6RegisterMulticastListeners(
  otInstance *aInstance,
  const otIp6Address *aAddresses,
  uint8_t aAddressNum,
  const uint32_t *aTimeout,
  otIp6RegisterMulticastListenersCallback aCallback,
  void *aContext
)

Chức năng này đăng ký Bộ nghe Multicast vào Bộ định tuyến đường trục chính.

Lưu ý: chỉ khả dụng khi cả OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLEOPENTHREAD_CONFIG_COMMISSIONER_ENABLE đều được bật)

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
[in] aAddresses
Mảng địa chỉ Multicast để đăng ký.
[in] aAddressNum
Số địa chỉ Multicast cần đăng ký (0 nếu aAddresses là NULL).
[in] aTimeout
Một con trỏ đến giá trị thời gian chờ (tính bằng giây) được đưa vào MLR.req. Giá trị thời gian chờ bằng 0 sẽ xóa Trình xử lý đa hướng tương ứng. Nếu NULL, MLR.req sẽ không có Timeout Tlv theo mặc định.
[in] aCallback
Một con trỏ đến hàm gọi lại.
[in] aContext
Một con trỏ đến ngữ cảnh người dùng.
Giá trị trả lại
OT_ERROR_NONE
Đã gửi thành công MLR.req. aCallback sẽ được gọi là iff phương thức này trả về OT_ERROR_NONE.
OT_ERROR_BUSY
Nếu đăng ký trước đó đang diễn ra.
OT_ERROR_INVALID_ARGS
Nếu một hoặc nhiều đối số không hợp lệ.
OT_ERROR_INVALID_STATE
Nếu thiết bị không ở trạng thái hợp lệ để gửi MLR.req (ví dụ: chưa khởi động Ủy viên, không tìm thấy Bộ định tuyến đường trục chính).
OT_ERROR_NO_BUFS
Nếu không có đủ bộ đệm tin nhắn.
Xem thêm:
otIp6RegisterMulticastListariesCallback

otIp6RemoveAllUnsecurePorts

void otIp6RemoveAllUnsecurePorts(
  otInstance *aInstance
)

Chức năng này xóa tất cả các cổng khỏi danh sách cổng không an toàn được phép.

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.

otIp6RemoveUnicastAddress

otError otIp6RemoveUnicastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

Xóa Địa chỉ giao diện mạng khỏi giao diện Chủ đề.

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
[in] aAddress
Một con trỏ đến một Địa chỉ IP.
Giá trị trả lại
OT_ERROR_NONE
Đã xóa thành công Địa chỉ giao diện mạng.
OT_ERROR_INVALID_ARGS
Địa chỉ IP được chỉ ra bởi aAddress là địa chỉ nội bộ.
OT_ERROR_NOT_FOUND
Không tìm thấy Địa chỉ IP được chỉ ra bởi aAddress .

otIp6RemoveUnsecurePort

otError otIp6RemoveUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

Hàm này loại bỏ một cổng khỏi danh sách cổng không an toàn được phép.

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
[in] aPort
Giá trị cổng.
Giá trị trả lại
OT_ERROR_NONE
Cổng đã được xóa thành công khỏi danh sách cổng không an toàn được phép.
OT_ERROR_INVALID_ARGS
Cổng không hợp lệ (giá trị 0 được dành để sử dụng nội bộ).
OT_ERROR_NOT_FOUND
Không tìm thấy cổng trong danh sách cổng không an toàn.

otIp6SelectSourceAddress

otError otIp6SelectSourceAddress(
  otInstance *aInstance,
  otMessageInfo *aMessageInfo
)

Hàm này thực hiện lựa chọn địa chỉ nguồn OpenThread.

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
[in,out] aMessageInfo
Một con trỏ đến thông tin tin nhắn.
Giá trị trả lại
OT_ERROR_NONE
Đã tìm thấy một địa chỉ nguồn và được điền vào mSockAddr của aMessageInfo .
OT_ERROR_NOT_FOUND
Không tìm thấy địa chỉ nguồn và aMessageInfo không thay đổi.

otIp6Send

otError otIp6Send(
  otInstance *aInstance,
  otMessage *aMessage
)

Chức năng này gửi một gói dữ liệu IPv6 qua giao diện Chủ đề.

Người gọi chuyển quyền sở hữu aMessage khi thực hiện cuộc gọi này. OpenThread sẽ giải phóng aMessage khi quá trình xử lý hoàn tất, kể cả khi giá trị khác OT_ERROR_NONE được trả về.

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
[in] aMessage
Một con trỏ đến bộ đệm thông báo chứa dữ liệu IPv6.
Giá trị trả lại
OT_ERROR_NONE
Đã xử lý thành công tin nhắn.
OT_ERROR_DROP
Thông báo đã được định dạng tốt nhưng không được xử lý đầy đủ do các quy tắc xử lý gói.
OT_ERROR_NO_BUFS
Không thể cấp phát bộ đệm thông báo cần thiết khi xử lý sơ đồ.
OT_ERROR_NO_ROUTE
Không có đường dẫn đến máy chủ.
OT_ERROR_INVALID_SOURCE_ADDRESS
Địa chỉ nguồn không hợp lệ, ví dụ: địa chỉ anycast hoặc địa chỉ đa hướng.
OT_ERROR_PARSE
Đã gặp một tiêu đề không đúng định dạng khi xử lý thư.

otIp6SetAddressCallback

void otIp6SetAddressCallback(
  otInstance *aInstance,
  otIp6AddressCallback aCallback,
  void *aCallbackContext
)

Chức năng này đăng ký một cuộc gọi lại để thông báo thay đổi địa chỉ IPv6 nội bộ.

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
[in] aCallback
Một con trỏ đến một hàm được gọi khi thêm hoặc xóa địa chỉ IPv6 nội bộ. NULL để tắt gọi lại.
[in] aCallbackContext
Một con trỏ đến ngữ cảnh dành riêng cho ứng dụng.

otIp6SetEnabled

otError otIp6SetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Chức năng này đưa lên / xuống giao diện IPv6.

Gọi chức năng này để bật / tắt giao tiếp IPv6.

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
[in] aEnabled
ĐÚNG để bật IPv6, ngược lại là FALSE.
Giá trị trả lại
OT_ERROR_NONE
Đã đưa giao diện IPv6 lên / xuống thành công.
OT_ERROR_INVALID_STATE
Giao diện IPv6 không khả dụng vì thiết bị đang hoạt động ở chế độ liên kết thô (chỉ áp dụng khi tính năng OPENTHREAD_CONFIG_LINK_RAW_ENABLE được bật).

otIp6SetMulticastPromiscuousEnabled

void otIp6SetMulticastPromiscuousEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Bật chế độ quảng bá đa hướng trên giao diện Chủ đề.

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
[in] aEnabled
ĐÚNG để bật chế độ Quảng cáo Đa hướng, nếu không thì SAI.
Xem thêm:
otIp6IsMulticastPromiscuousEnabled

otIp6SetReceiveCallback

void otIp6SetReceiveCallback(
  otInstance *aInstance,
  otIp6ReceiveCallback aCallback,
  void *aCallbackContext
)

Hàm này đăng ký một cuộc gọi lại để cung cấp các biểu đồ dữ liệu IPv6 đã nhận.

Theo mặc định, lệnh gọi lại này không vượt qua lưu lượng điều khiển luồng. Xem otIp6SetReceiveFilterEnabled () để thay đổi cài đặt bộ lọc lưu lượng điều khiển luồng.

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
[in] aCallback
Một con trỏ đến một hàm được gọi khi nhận được sơ đồ dữ liệu IPv6 hoặc NULL để vô hiệu hóa lệnh gọi lại.
[in] aCallbackContext
Một con trỏ đến ngữ cảnh dành riêng cho ứng dụng.
Xem thêm:
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled

otIp6SetReceiveFilterEnabled

void otIp6SetReceiveFilterEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Hàm này đặt xem lưu lượng điều khiển luồng có được lọc ra hay không khi phân phối dữ liệu IPv6 thông qua lệnh gọi lại được chỉ định trong otIp6SetReceiveCallback () .

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
[in] aEnabled
TRUE nếu lưu lượng kiểm soát luồng được lọc ra, nếu không thì FALSE.
Xem thêm:
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled

otIp6SetSlaacEnabled

void otIp6SetSlaacEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Chức năng này bật / tắt mô-đun SLAAC.

Chức năng này yêu cầu bật tính năng thời gian xây dựng OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE .

Khi mô-đun SLAAC được bật, địa chỉ SLAAC (dựa trên tiền tố on-mesh trong Dữ liệu mạng) được thêm vào giao diện. Khi mô-đun SLAAC bị tắt, mọi địa chỉ SLAAC đã thêm trước đó sẽ bị xóa.

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
[in] aEnabled
ĐÚNG để bật, FALSE để tắt.

otIp6SetSlaacPrefixFilter

void otIp6SetSlaacPrefixFilter(
  otInstance *aInstance,
  otIp6SlaacPrefixFilter aFilter
)

Chức năng này đặt trình xử lý bộ lọc mô-đun SLAAC.

Chức năng này yêu cầu bật tính năng thời gian xây dựng OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE .

Trình xử lý bộ lọc được gọi bởi mô-đun SLAAC khi nó sắp thêm một địa chỉ SLAAC dựa trên một tiền tố để quyết định xem có nên thêm địa chỉ hay không.

Trình xử lý bộ lọc NULL vô hiệu hóa tính năng lọc và cho phép thêm tất cả các địa chỉ SLAAC.

Nếu chức năng này không được gọi, bộ lọc mặc định được sử dụng bởi mô-đun SLAAC sẽ là NULL (tính năng lọc bị tắt).

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
[in] aFilter
Một con trỏ tới trình xử lý bộ lọc tiền tố SLAAC hoặc NULL để tắt tính năng lọc.

otIp6SubscribeMulticastAddress

otError otIp6SubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

Đăng ký giao diện Chủ đề với Địa chỉ đa hướng giao diện mạng.

Ví dụ aAddress được truyền vào sẽ được sao chép bởi giao diện Thread. Giao diện Thread chỉ hỗ trợ một số lượng cố định các địa chỉ multicast được thêm vào bên ngoài. Xem OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS.

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
[in] aAddress
Một con trỏ đến một Địa chỉ IP.
Giá trị trả lại
OT_ERROR_NONE
Đã đăng ký thành công Địa chỉ đa hướng giao diện mạng.
OT_ERROR_ALREADY
Địa chỉ multicast đã được đăng ký.
OT_ERROR_INVALID_ARGS
Địa chỉ IP được chỉ ra bởi aAddress là địa chỉ không hợp lệ.
OT_ERROR_INVALID_STATE
Giao diện mạng không hoạt động.
OT_ERROR_NO_BUFS
Giao diện Mạng đã lưu trữ các địa chỉ phát đa hướng bên ngoài tối đa được phép.

otIp6UnsubscribeMulticastAddress

otError otIp6UnsubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

Hủy đăng ký giao diện Chủ đề cho Địa chỉ đa phương tiện giao diện mạng.

Chi tiết
Thông số
[in] aInstance
Một con trỏ đến một phiên bản OpenThread.
[in] aAddress
Một con trỏ đến một Địa chỉ IP.
Giá trị trả lại
OT_ERROR_NONE
Hủy đăng ký thành công Địa chỉ đa phương tiện giao diện mạng.
OT_ERROR_INVALID_ARGS
Địa chỉ IP được chỉ ra bởi aAddress là địa chỉ nội bộ.
OT_ERROR_NOT_FOUND
Không tìm thấy Địa chỉ IP được chỉ ra bởi aAddress .

Macro

OT_IP6_ADDRESS_SIZE

 OT_IP6_ADDRESS_SIZE 16

Kích thước của địa chỉ IPv6 (byte)

OT_IP6_IID_SIZE

 OT_IP6_IID_SIZE 8

Kích thước của Mã nhận dạng giao diện IPv6 (byte)

OT_IP6_PREFIX_BITSIZE

 OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)

Kích thước của tiền tố IPv6 (bit)

OT_IP6_PREFIX_SIZE

 OT_IP6_PREFIX_SIZE 8

Kích thước của tiền tố IPv6 (byte)