IPv6

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

Tóm tắt

Bảng liệt kê

anonymous enum{
  OT_ADDRESS_ORIGIN_THREAD = 0,
  OT_ADDRESS_ORIGIN_SLAAC = 1,
  OT_ADDRESS_ORIGIN_DHCPV6 = 2,
  OT_ADDRESS_ORIGIN_MANUAL = 3
}
enum
Địa chỉ IPv6.
anonymous enum{
  OT_ECN_NOT_CAPABLE = 0x0,
  OT_ECN_CAPABLE_0 = 0x2,
  OT_ECN_CAPABLE_1 = 0x1,
  OT_ECN_MARKED = 0x3
}
enum
Trạng thái ECN, được biểu thị như trong tiêu đề IP.
anonymous enum{
  OT_IP6_PROTO_HOP_OPTS = 0,
  OT_IP6_PROTO_TCP = 6,
  OT_IP6_PROTO_UDP = 17,
  OT_IP6_PROTO_IP6 = 41,
  OT_IP6_PROTO_ROUTING = 43,
  OT_IP6_PROTO_FRAGMENT = 44,
  OT_IP6_PROTO_ICMP6 = 58,
  OT_IP6_PROTO_NONE = 59,
  OT_IP6_PROTO_DST_OPTS = 60
}
enum
Số giao thức Internet.

Typedef

otBorderRoutingCounters typedef
Đại diện cho bộ đếm các gói tin được chuyển tiếp qua Định tuyến biên.
otIp6Address typedef
struct otIp6Address
Đại diện cho địa chỉ IPv6.
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext) typedef
void(*
Con trỏ được gọi khi một địa chỉ IPv6 nội bộ được thêm hoặc xóa.
otIp6AddressComponents typedef
Đại diện cho các thành phần của địa chỉ IPv6.
otIp6AddressInfo typedef
otIp6InterfaceIdentifier typedef
Biểu thị mã nhận dạng giao diện của địa chỉ IPv6.
otIp6NetworkPrefix typedef
Đại diện cho Tiền tố mạng của một địa chỉ IPv6 (64 bit quan trọng nhất của địa chỉ).
otIp6Prefix typedef
struct otIp6Prefix
Đại diện cho tiền tố IPv6.
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext) typedef
void(*
Con trỏ được gọi khi nhận biểu đồ IPv6.
otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum) typedef
void(*
Con trỏ được gọi với kết quả của otIp6RegisterMulticastListeners.
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix) typedef
bool(*
Con trỏ 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
struct otMessageInfo
Đại diện cho địa chỉ ổ cắm IPv6 cục bộ và ngang hàng.
otNetifAddress typedef
Đại diện cho địa chỉ unicast giao diện mạng IPv6.
otNetifMulticastAddress typedef
Đại diện cho địa chỉ đa hướng giao diện mạng IPv6.
otPacketsAndBytes typedef
Đại diện cho bộ đếm gói và byte.
otSockAddr typedef
struct otSockAddr
Đại diện cho địa chỉ ổ cắm IPv6.

Biến

OT_TOOL_PACKED_END

Hàm

otIp6AddUnicastAddress(otInstance *aInstance, const otNetifAddress *aAddress)
Thêm Địa chỉ Giao diện Mạng vào giao diện Luồng.
otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort)
Thêm một cổng vào danh sách cổng không an toàn được cho phép.
otIp6AddressFromString(const char *aString, otIp6Address *aAddress)
Chuyển đổi chuỗi địa chỉ IPv6 mà con người có thể đọc được thành dạng biểu diễn nhị phân.
otIp6AddressToString(const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
void
Chuyển đổi một địa chỉ IPv6 đã cho thành một chuỗi dễ đọc.
otIp6ArePrefixesEqual(const otIp6Prefix *aFirst, const otIp6Prefix *aSecond)
bool
Kiểm tra xem hai tiền tố IPv6 có giống nhau hay không.
otIp6GetBorderRoutingCounters(otInstance *aInstance)
Nhận bộ đếm Định tuyến Biên giới.
otIp6GetMulticastAddresses(otInstance *aInstance)
Nhận danh sách các địa chỉ phát đa hướng IPv6 đã đăng ký với giao diện Thread.
otIp6GetPrefix(const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix)
void
Nhận tiền tố có mã aLength từ aAddress.
otIp6GetUnicastAddresses(otInstance *aInstance)
const otNetifAddress *
Lấy danh sách các địa chỉ IPv6 được gán cho giao diện Thread.
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
const uint16_t *
Trả về một con trỏ tới 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 hay không.
otIp6IsAddressUnspecified(const otIp6Address *aAddress)
bool
Cho biết địa chỉ IPv6 đã cho có phải là Địa chỉ không xác định hay không.
otIp6IsEnabled(otInstance *aInstance)
bool
Cho biết giao diện IPv6 có hoạt động hay không.
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
bool
Kiểm tra xem đã bật chế độ lăng xê phát đa hướng trên giao diện Luồng hay chưa.
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
bool
Cho biết liệu lưu lượng kiểm soát Luồng (Thread) có bị lọc ra khi phân phối các biểu đồ IPv6 thông qua lệnh gọi lại được chỉ định trong otIp6SetReceiveCallback() hay không.
otIp6IsSlaacEnabled(otInstance *aInstance)
bool
Cho biết mô-đun SLAAC có được bật hay không.
otIp6NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
Phân bổ vùng đệm tin nhắn mới để gửi thông báo IPv6.
otIp6NewMessageFromBuffer(otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
Phân bổ vùng đệm thông báo mới và ghi dữ liệu IPv6 vào vùng đệm thông báo để gửi thông báo IPv6.
otIp6PrefixFromString(const char *aString, otIp6Prefix *aPrefix)
Chuyển đổi một chuỗi tiền tố IPv6 mà con người có thể đọc được thành một giá trị nhị phân.
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
uint8_t
Trả về độ dài phù hợp với tiền tố (bit) cho hai địa chỉ IPv6.
otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
void
Chuyển đổi tiền tố IPv6 đã cho thành một chuỗi mà con người có thể đọc được.
otIp6ProtoToString(uint8_t aIpProto)
const char *
Chuyển đổi một số giao thức IP nhất định thành một chuỗi dễ đọc.
otIp6RegisterMulticastListeners(otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
Đăng ký trình nghe đa hướng cho bộ định tuyến đường trục chính.
otIp6RemoveAllUnsecurePorts(otInstance *aInstance)
void
Xoá tất cả các cổng khỏi danh sách cổng không an toàn được cho phép.
otIp6RemoveUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
Xoá Địa chỉ Giao diện Mạng khỏi giao diện Luồng.
otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort)
Xoá một cổng khỏi danh sách cổng không an toàn được cho phép.
otIp6ResetBorderRoutingCounters(otInstance *aInstance)
void
Đặt lại bộ đếm định tuyến biên.
otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo)
Thực hiện lựa chọn địa chỉ nguồn OpenThread.
otIp6Send(otInstance *aInstance, otMessage *aMessage)
Gửi một datagram IPv6 qua giao diện Thread (Giao diện luồng).
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
void
Đăng ký một lệnh gọi lại để thông báo về việc thay đổi địa chỉ IPv6 nội bộ.
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
Đưa giao diện IPv6 lên hoặc xuống.
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
Đặt IID cục bộ lưới (cho mục đích thử nghiệm).
otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
void
Bật hoặc tắt chế độ lăng xê đa hướng trên giao diện Luồng.
otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
void
Đăng ký một lệnh gọi lại để cung cấp các biểu đồ IPv6 đã nhận.
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
void
Đặt liệu lưu lượng truy cập kiểm soát Luồng hay không sẽ được lọc khi gửi các biểu đồ IPv6 qua lệnh gọi lại được chỉ định trong otIp6SetReceiveCallback().
otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
void
Bật/tắt mô-đun SLAAC.
otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
void
Đặt trình xử lý bộ lọc mô-đun SLAAC.
otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
void
Chuyển đổi một địa chỉ ổ cắm IPv6 đã cho thành một chuỗi dễ đọc.
otIp6SubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
Đăng ký giao diện luồng vào một địa chỉ phát đa hướng giao diện mạng.
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
Huỷ đăng ký giao diện Luồng đến một Địa chỉ phát đa hướng giao diện mạng.

Cấu trúc

Bộ đếm định tuyến theo đường viền

Đại diện cho bộ đếm các gói tin được chuyển tiếp qua Định tuyến biên.

Địa chỉ Iot6

Đại diện cho địa chỉ IPv6.

otIp6AddressComponents

Đại diện cho các thành phần của địa chỉ IPv6.

otIp6AddressInfo

Biểu thị thông tin địa chỉ IPv6.

otIp6InterfaceIdentifier

Biểu thị mã nhận dạng giao diện của địa chỉ IPv6.

Tiền tố mạng Iot6p

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

Tiền tố otIp6

Đại diện cho tiền tố IPv6.

otMessageInfo

Đại diện cho địa chỉ ổ cắm IPv6 cục bộ và ngang hàng.

otNetifAddress

Đại diện cho địa chỉ unicast giao diện mạng IPv6.

otNetifMulticastAddress

Đại diện cho địa chỉ đa hướng giao diện mạng IPv6.

otPacketsAndBytes

Đại diện cho bộ đếm gói và byte.

AddSockAddr

Đại diện cho địa chỉ ổ cắm IPv6.

Công đoàn

otIp6InterfaceIdentifier::OT_TOOL_PACKED_FIELD

Bảng liệt kê

enum ẩn danh

 anonymous enum

Địa chỉ IPv6.

Thuộc tính
OT_ADDRESS_ORIGIN_DHCPV6

Địa chỉ đã gán DHCPv6.

OT_ADDRESS_ORIGIN_MANUAL

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

OT_ADDRESS_ORIGIN_SLAAC

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

OT_ADDRESS_ORIGIN_THREAD

Địa chỉ được gán của chuỗi (ALOC, RLOC, MLEID, v.v.)

enum ẩn danh

 anonymous enum

Trạng thái ECN, được biểu thị như trong tiêu đề IP.

Thuộc tính
OT_ECN_CAPABLE_0

ECT(0)

OT_ECN_CAPABLE_1

ECT(1)

OT_ECN_MARKED

Đã xảy ra tắc nghẽn (CE)

OT_ECN_NOT_CAPABLE

Không có ECT.

enum ẩn danh

 anonymous enum

Số giao thức Internet.

Thuộc tính
OT_IP6_PROTO_DST_OPTS

Tùy chọn đích cho IPv6.

OT_IP6_PROTO_FRAGMENT

Tiêu đề mảnh cho IPv6.

OT_IP6_PROTO_HOP_OPTS

Tùy chọn IPv6 theo từng miền.

OT_IP6_PROTO_ICMP6

ICMP cho IPv6.

OT_IP6_PROTO_IP6

Đóng gói IPv6.

OT_IP6_PROTO_NONE

Không có tiêu đề tiếp theo cho IPv6.

OT_IP6_PROTO_ROUTING

Tiêu đề định tuyến cho IPv6.

OT_IP6_PROTO_TCP

Giao thức điều khiển truyền.

OT_IP6_PROTO_UDP

Biểu đồ người dùng.

Typedef

Bộ đếm định tuyến biên otBorder

struct otBorderRoutingCounters otBorderRoutingCounters

Đại diện cho bộ đếm các gói tin được chuyển tiếp qua Định tuyến biên.

Địa chỉ Iot6

struct otIp6Address otIp6Address

Đại diện cho địa chỉ IPv6.

otIp6AddressCallback

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

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

Thông tin chi tiết
Các tham số
[in] aAddressInfo
Con trỏ tới thông tin địa chỉ IPv6.
[in] aIsAdded
TRUE nếu aAddress đã được thêm, FALSE nếu aAddress đã bị xóa.
[in] aContext
Con trỏ tới ngữ cảnh dành riêng cho ứng dụng.

otIp6AddressComponents

struct otIp6AddressComponents otIp6AddressComponents

Đại diện cho các thành phần của địa chỉ IPv6.

otIp6AddressInfo

struct otIp6AddressInfo otIp6AddressInfo

otIp6InterfaceIdentifier

struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier

Biểu thị mã nhận dạng giao diện của địa chỉ IPv6.

Tiền tố mạng otIp6

struct otIp6NetworkPrefix otIp6NetworkPrefix

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

Tiền tố otIp6

struct otIp6Prefix otIp6Prefix

Đại diện cho tiền tố IPv6.

otIp6ReceiveCallback

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

Con trỏ được gọi khi nhận biểu đồ IPv6.

Thông tin chi tiết
Các tham số
[in] aMessage
Con trỏ trỏ đến vùng đệm tin nhắn chứa biểu đồ IPv6 đã nhận. Hàm này chuyển quyền sở hữu của aMessage cho trình nhận lệnh gọi lại. Thông báo phải được giải phóng bởi người nhận của lệnh gọi lại sau khi được xử lý (xem otMessageFree()).
[in] aContext
Con trỏ tới ngữ cảnh dành riêng cho ứng dụng.

otIp6registerMulticastListenersCallback

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

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

Thông tin chi tiết
Các tham số
[in] aContext
Con trỏ tới bối cảnh của 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 nghe đa hướng khi aError là OT_ERROR_NONE.
[in] aFailedAddresses
Con trỏ đến địa chỉ IPv6 bị lỗi khi aError là OT_ERROR_NONE.
[in] aFailedAddressNum
Số địa chỉ IPv6 bị lỗi khi aError là OT_ERROR_NONE.
Xem thêm:
otIp6registerMulticastListeners

Bộ lọc tiền tố otIp6Slaac

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

Con trỏ 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ố.

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

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aPrefix
Con trỏ tới tiền tố mà địa chỉ SLAAC sắp được thêm vào.
Giá trị trả về
TRUE
Cho biết rằng địa chỉ SLAAC dựa trên tiền tố nên được lọc và KHÔNG được thêm.
FALSE
Cho biết rằng địa chỉ SLAAC dựa trên tiền tố cần được thêm vào.

Thông tin về bài viết

struct otMessageInfo otMessageInfo

Đại diện cho địa chỉ ổ cắm IPv6 cục bộ và ngang hàng.

otNetifAddress

struct otNetifAddress otNetifAddress

Đại diện cho địa chỉ unicast giao diện mạng IPv6.

otNetifMulticastAddress

struct otNetifMulticastAddress otNetifMulticastAddress

Đại diện cho địa chỉ đa hướng giao diện mạng IPv6.

Gói và chuỗi otP

struct otPacketsAndBytes otPacketsAndBytes

Đại diện cho bộ đếm gói và byte.

Bộ thêm ockSock

struct otSockAddr otSockAddr

Đại diện cho địa chỉ ổ cắm IPv6.

Biến

Hàm OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END

Hàm

otIp6AddUnicastAddress

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

Thêm Địa chỉ Giao diện Mạng vào giao diện Luồng.

Thực thể đã truyền aAddress được sao chép bằng giao diện Luồng. Giao diện Thread chỉ hỗ trợ một số lượng cố định các địa chỉ unicast được thêm bên ngoài. Vui lòng xem OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aAddress
Con trỏ tới địa chỉ giao diện mạng.
Giá trị trả về
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 do aAddress chỉ ra là địa chỉ nội bộ.
OT_ERROR_NO_BUFS
Giao diện mạng đã lưu trữ số địa chỉ bên ngoài tối đa được phép.

otIp6AddUnsecurePort

otError otIp6AddUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

Thêm một cổng vào danh sách cổng không an toàn được cho phép.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aPort
Giá trị cổng.
Giá trị trả về
OT_ERROR_NONE
Đã thêm thành công 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 sử dụng nội bộ).
OT_ERROR_NO_BUFS
Danh sách cổng không an toàn đã đầy.

Chuỗi địa chỉ otIp6

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

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

Thông tin chi tiết
Các tham số
[in] aString
Con trỏ tới một chuỗi kết thúc bằng NULL.
[out] aAddress
Con trỏ tới địa chỉ IPv6.
Giá trị trả về
OT_ERROR_NONE
Đã phân tích cú pháp thành công aString và cập nhật aAddress.
OT_ERROR_PARSE
Không thể phân tích cú pháp aString dưới dạng địa chỉ IPv6.

Chuỗi địa chỉ otIp6

void otIp6AddressToString(
  const otIp6Address *aAddress,
  char *aBuffer,
  uint16_t aSize
)

Chuyển đổi một địa chỉ IPv6 đã cho thành một chuỗi dễ đọc.

Chuỗi địa chỉ IPv6 được định dạng là 16 giá trị thập lục phân được phân tách bằng dấu ":": (tức là "%x:%x:%x:...:%x").

Nếu chuỗi kết quả không vừa với aBuffer (trong aSize ký tự), thì chuỗi sẽ bị cắt bớt nhưng chuỗi đầu ra luôn kết thúc bằng giá trị rỗng.

Thông tin chi tiết
Các tham số
[in] aAddress
Con trỏ đến địa chỉ IPv6 (PHẢI KHÔNG PHẢI là NULL).
[out] aBuffer
Con trỏ tới một mảng ký tự để xuất chuỗi (MUST KHÔNG PHẢI là NULL).
[in] aSize
Kích thước của aBuffer (tính bằng byte). Bạn nên dùng OT_IP6_ADDRESS_STRING_SIZE.

otIp6AreprefixesEqual

bool otIp6ArePrefixesEqual(
  const otIp6Prefix *aFirst,
  const otIp6Prefix *aSecond
)

Kiểm tra xem hai tiền tố IPv6 có giống nhau hay không.

Thông tin chi tiết
Các tham số
[in] aFirst
Con trỏ trỏ đến tiền tố IPv6 đầu tiên để so sánh.
[in] aSecond
Con trỏ tới tiền tố IPv6 thứ hai để so sánh.
Giá trị trả về
TRUE
Hai tiền tố IPv6 giống nhau.
FALSE
Hai tiền tố IPv6 không giống nhau.

otIp6GetBorder RouteCounter

const otBorderRoutingCounters * otIp6GetBorderRoutingCounters(
  otInstance *aInstance
)

Nhận bộ đếm Định tuyến Biên giới.

Bạn phải bật tính năng thời gian xây dựng OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
Trả về
Con trỏ tới bộ đếm Định tuyến Biên giới.

otIp6GetMulticastAddresses

const otNetifMulticastAddress * otIp6GetMulticastAddresses(
  otInstance *aInstance
)

Nhận danh sách các địa chỉ phát đa hướng IPv6 đã đăng ký với giao diện Thread.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
Trả về
Con trỏ tới địa chỉ phát đa hướng giao diện mạng đầu tiên.

otIp6Getprefix

void otIp6GetPrefix(
  const otIp6Address *aAddress,
  uint8_t aLength,
  otIp6Prefix *aPrefix
)

Nhận tiền tố có mã aLength từ aAddress.

Thông tin chi tiết
Các tham số
[in] aAddress
Con trỏ tới địa chỉ IPv6.
[in] aLength
Độ dài tiền tố theo bit.
[out] aPrefix
Con trỏ để xuất tiền tố IPv6.

otIp6GetUnicastAddresses

const otNetifAddress * otIp6GetUnicastAddresses(
  otInstance *aInstance
)

Lấy danh sách các địa chỉ IPv6 được gán cho giao diện Thread.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
Trả về
Con trỏ tới địa chỉ giao diện mạng đầu tiên.

otIp6GetUnsecurePorts

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

Trả về một con trỏ tới danh sách cổng không an toàn.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[out] aNumEntries
Số mục nhập trong danh sách.
Trả về
Con trỏ tới 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 hay không.

Thông tin chi tiết
Các tham số
[in] aFirst
Con trỏ tới địa chỉ IPv6 đầu tiên cần so sánh.
[in] aSecond
Con trỏ tới địa chỉ IPv6 thứ hai để so sánh.
Giá trị trả về
TRUE
Hai địa chỉ IPv6 giống nhau.
FALSE
Hai địa chỉ IPv6 không giống nhau.

otIp6IsAddressUnspecified

bool otIp6IsAddressUnspecified(
  const otIp6Address *aAddress
)

Cho biết địa chỉ IPv6 đã cho có phải là Địa chỉ không xác định hay không.

Thông tin chi tiết
Các tham số
[in] aAddress
Con trỏ tới địa chỉ IPv6.
Giá trị trả về
TRUE
Nếu địa chỉ IPv6 là địa chỉ không được chỉ định.
FALSE
Nếu địa chỉ IPv6 không phải là địa chỉ không được chỉ định.

Đã bật Isot6

bool otIp6IsEnabled(
  otInstance *aInstance
)

Cho biết giao diện IPv6 có hoạt động hay không.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
Giá trị trả về
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 đã bật chế độ lăng xê phát đa hướng trên giao diện Luồng hay chưa.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
Xem thêm:
otIp6SetMulticastPromiscuousEnabled

otIp6IsReceiveFilterEnabled

bool otIp6IsReceiveFilterEnabled(
  otInstance *aInstance
)

Cho biết liệu lưu lượng kiểm soát Luồng (Thread) có bị lọc ra khi phân phối các biểu đồ IPv6 thông qua lệnh gọi lại được chỉ định trong otIp6SetReceiveCallback() hay không.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
Trả về
TRUE nếu lưu lượng truy cập kiểm soát Chuỗi được lọc, nếu không thì FALSE.
Xem thêm:
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled

otIp6IsSlaacEnabled

bool otIp6IsSlaacEnabled(
  otInstance *aInstance
)

Cho biết mô-đun SLAAC có được bật hay không.

Bạn phải bật tính năng thời gian xây dựng OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE.

Thông tin chi tiết
Giá trị trả về
TRUE
Đã bật mô-đun SLAAC.
FALSE
Đã tắt mô-đun SLAAC.

otIp6Tin nhắn mới

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

Phân bổ vùng đệm tin nhắn mới để gửi thông báo IPv6.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aSettings
Con trỏ tới tùy chọn cài đặt thông báo hoặc phím NULL để đặt tùy chọn cài đặt mặc định.
Trả về
Con trỏ trỏ đến vùng đệm tin nhắn hoặc NULL nếu không có vùng đệm tin nhắn nào hoặc các thông 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ổ vùng đệm thông báo mới và ghi dữ liệu IPv6 vào vùng đệm thông báo để gửi thông báo IPv6.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aData
Con trỏ tới vùng đệm datagram IPv6.
[in] aDataLength
Kích thước của vùng đệm datagram IPv6 do aData trỏ đến.
[in] aSettings
Con trỏ tới tùy chọn cài đặt thông báo hoặc phím NULL để đặt tùy chọn cài đặt mặc định.
Trả về
Con trỏ tới thông báo hoặc NULL nếu có tiêu đề IPv6 không đúng định dạng hoặc không đủ bộ đệm thông báo.
Xem thêm:
otMessageFree

Chuỗi otIp6prefixFromString

otError otIp6PrefixFromString(
  const char *aString,
  otIp6Prefix *aPrefix
)

Chuyển đổi một chuỗi tiền tố IPv6 mà con người có thể đọc được thành một giá trị nhị phân.

Tham số aString phải là một chuỗi ở định dạng "

/", trong đó
là địa chỉ IPv6 và là độ dài tiền tố.

Thông tin chi tiết
Các tham số
[in] aString
Con trỏ tới một chuỗi kết thúc bằng NULL.
[out] aPrefix
Con trỏ trỏ tới tiền tố IPv6.
Giá trị trả về
OT_ERROR_NONE
Phân tích cú pháp chuỗi thành công tiền tố IPv6 và cập nhật aPrefix.
OT_ERROR_PARSE
Không thể phân tích cú pháp aString dưới dạng tiền tố IPv6.

otIp6Tiền tố phù hợp

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

Trả về độ dài phù hợp với tiền tố (bit) cho hai địa chỉ IPv6.

Thông tin chi tiết
Các tham số
[in] aFirst
Con trỏ tới địa chỉ IPv6 đầu tiên.
[in] aSecond
Con trỏ đến địa chỉ IPv6 thứ hai.
Trả về
Độ dài đối sánh tiền tố theo bit.

Chuỗi otIp6prefixtoString

void otIp6PrefixToString(
  const otIp6Prefix *aPrefix,
  char *aBuffer,
  uint16_t aSize
)

Chuyển đổi tiền tố IPv6 đã cho thành một chuỗi mà con người có thể đọc được.

Chuỗi địa chỉ IPv6 có định dạng là "%x:%x:%x:...[::]/plen".

Nếu chuỗi kết quả không vừa với aBuffer (trong aSize ký tự), thì chuỗi sẽ bị cắt bớt nhưng chuỗi đầu ra luôn kết thúc bằng giá trị rỗng.

Thông tin chi tiết
Các tham số
[in] aPrefix
Con trỏ tới tiền tố IPv6 (PHẢI KHÔNG PHẢI là NULL).
[out] aBuffer
Con trỏ tới một mảng ký tự để xuất chuỗi (MUST KHÔNG PHẢI là NULL).
[in] aSize
Kích thước của aBuffer (tính bằng byte). Bạn nên dùng OT_IP6_PREFIX_STRING_SIZE.

Chuỗi otIp6ProtoToTo

const char * otIp6ProtoToString(
  uint8_t aIpProto
)

Chuyển đổi một số giao thức IP nhất định thành một chuỗi dễ đọc.

Thông tin chi tiết
Các tham số
[in] aIpProto
Số giao thức IP (bảng liệt kê OT_IP6_PROTO_*).
Trả về
Một chuỗi đại diện cho aIpProto.

otIp6registerMulticastListeners

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

Đăng ký trình nghe đa hướng cho bộ định tuyến đường trục chính.

Bạn phải bật OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLEOPENTHREAD_CONFIG_COMMISSIONER_ENABLE.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aAddresses
Mảng địa chỉ phát đa hướng để đăng ký.
[in] aAddressNum
Số Địa chỉ phát đa hướng để đăng ký (0 nếu aAddresses là NULL).
[in] aTimeout
Con trỏ trỏ tới giá trị thời gian chờ (tính bằng giây) để đưa vào MLR.req. Giá trị thời gian chờ là 0 sẽ xoá Trình nghe đa hướng tương ứng. Nếu NULL, MLR.req sẽ không có Thời gian chờ Tlv theo mặc định.
[in] aCallback
Con trỏ trỏ đến hàm gọi lại.
[in] aContext
Con trỏ tới bối cảnh của người dùng.
Giá trị trả về
OT_ERROR_NONE
Đã gửi MLR.req thành công. aCallback sẽ được gọi là iff mà phương thức này trả về OT_ERROR_NONE.
OT_ERROR_BUSY
Nếu một đă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ụ: Ủy viên chưa khởi động, 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 thư.
Xem thêm:
otIp6registerMulticastListenersCallback

otIp6RemoveAllUnsecurePorts

void otIp6RemoveAllUnsecurePorts(
  otInstance *aInstance
)

Xoá tất cả các cổng khỏi danh sách cổng không an toàn được cho phép.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.

otIp6RemoveUnicastAddress

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

Xoá Địa chỉ Giao diện Mạng khỏi giao diện Luồng.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aAddress
Con trỏ tới địa chỉ IP.
Giá trị trả về
OT_ERROR_NONE
Đã xóa thành công địa chỉ giao diện mạng.
OT_ERROR_INVALID_ARGS
Địa chỉ IP do aAddress chỉ ra là địa chỉ nội bộ.
OT_ERROR_NOT_FOUND
Không tìm thấy Địa chỉ IP do aAddress chỉ định.

otIp6RemoveUnsecurePort

otError otIp6RemoveUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

Xoá một cổng khỏi danh sách cổng không an toàn được cho phép.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aPort
Giá trị cổng.
Giá trị trả về
OT_ERROR_NONE
Đã xóa thành công 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 riêng cho 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.

otIp6ResetBorderRouteCounters

void otIp6ResetBorderRoutingCounters(
  otInstance *aInstance
)

Đặt lại bộ đếm định tuyến biên.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.

otIp6SelectSourceAddress

otError otIp6SelectSourceAddress(
  otInstance *aInstance,
  otMessageInfo *aMessageInfo
)

Thực hiện lựa chọn địa chỉ nguồn OpenThread.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in,out] aMessageInfo
Con trỏ tới thông tin tin nhắn.
Giá trị trả về
OT_ERROR_NONE
Tìm thấy một địa chỉ nguồn và điền vào mSockAddr của aMessageInfo.
OT_ERROR_NOT_FOUND
Không tìm thấy địa chỉ nguồn nào và aMessageInfo không thay đổi.

otIp6Gửi

otError otIp6Send(
  otInstance *aInstance,
  otMessage *aMessage
)

Gửi một datagram IPv6 qua giao diện Thread (Giao diện luồng).

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, bao gồm cả khi một giá trị không phải là OT_ERROR_NONE được trả về.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aMessage
Con trỏ trỏ đến vùng đệm thông báo có chứa biểu đồ IPv6.
Giá trị trả về
OT_ERROR_NONE
Đã xử lý thông báo thành công.
OT_ERROR_DROP
Tin nhắn được tạo đúng cách nhưng chưa được xử lý hoàn toàn do các quy tắc xử lý gói.
OT_ERROR_NO_BUFS
Không thể phân bổ vùng đệm thông báo cần thiết khi xử lý sơ đồ dữ liệu.
OT_ERROR_NO_ROUTE
Không có đường dẫn tới 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ỉ phát đa hướng.
OT_ERROR_PARSE
Đã gặp tiêu đề không đúng định dạng khi xử lý thư.

otIp6SetAddressCallback

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

Đăng ký một lệnh gọi lại để thông báo về việc thay đổi địa chỉ IPv6 nội bộ.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aCallback
Con trỏ tới một hàm được gọi khi một địa chỉ IPv6 nội bộ được thêm vào hoặc bị xoá. NULL để tắt lệnh gọi lại.
[in] aCallbackContext
Con trỏ tới ngữ cảnh dành riêng cho ứng dụng.

Đã bật otIp6Set

otError otIp6SetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Đưa giao diện IPv6 lên hoặc xuống.

Gọi tùy chọn này để bật hoặc tắt kết nối IPv6.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aEnabled
TRUE nếu bạn muốn bật IPv6, hãy FALSE nếu muốn.
Giá trị trả về
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 có do thiết bị đang ở chế độ liên kết thô (chỉ áp dụng khi đã bật tính năng OPENTHREAD_CONFIG_LINK_RAW_ENABLE).

otIp6SetMeshLocalIid

otError otIp6SetMeshLocalIid(
  otInstance *aInstance,
  const otIp6InterfaceIdentifier *aIid
)

Đặt IID cục bộ lưới (cho mục đích thử nghiệm).

Bạn phải bật OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aIid
Con trỏ trỏ đến IID Local IID để đặt.
Giá trị trả về
OT_ERROR_NONE
Đã thiết lập thành công IID cục bộ lưới.
OT_ERROR_INVALID_STATE
Đã bật giao thức luồng.

otIp6SetMulticastPromiscuousEnabled

void otIp6SetMulticastPromiscuousEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Bật hoặc tắt chế độ lăng xê đa hướng trên giao diện Luồng.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aEnabled
TRUE để bật chế độ Procast Promisc, nếu không thì là FALSE.
Xem thêm:
otIp6IsMulticastPromiscuousEnabled

otIp6SetReceiveCallback

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

Đăng ký một lệnh gọi lại để cung cấp các biể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 truy cập kiểm soát Luồng. Xem otIp6SetReceiveFilterEnabled() để thay đổi tùy chọn cài đặt Bộ lọc lưu lượng truy cập kiểm soát luồng.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aCallback
Con trỏ tới một hàm được gọi khi nhận dữ liệu IPv6 hoặc NULL để vô hiệu hoá lệnh gọi lại.
[in] aCallbackContext
Con trỏ tới ngữ cảnh dành riêng cho ứng dụng.
Xem thêm:
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled

otIp6SetReceiveFilterEnabled

void otIp6SetReceiveFilterEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Đặt liệu lưu lượng truy cập kiểm soát Luồng hay không sẽ được lọc khi gửi các biểu đồ IPv6 qua lệnh gọi lại được chỉ định trong otIp6SetReceiveCallback().

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aEnabled
TRUE nếu lưu lượng truy cập kiểm soát Chuỗi được lọc, nếu không thì FALSE.
Xem thêm:
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled

otIp6SetSlaacEnabled

void otIp6SetSlaacEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Bật/tắt mô-đun SLAAC.

Bạn phải bật tính năng thời gian xây dựng OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE.

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

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aEnabled
TRUE để bật, FALSE để tắt.

Bộ lọc tiền tố otIp6SetSlaac

void otIp6SetSlaacPrefixFilter(
  otInstance *aInstance,
  otIp6SlaacPrefixFilter aFilter
)

Đặt trình xử lý bộ lọc mô-đun SLAAC.

Bạn phải bật tính năng thời gian xây dựng OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE.

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

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

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

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aFilter
Con trỏ trỏ tới trình xử lý bộ lọc tiền tố SLAAC hoặc NULL để vô hiệu hóa tính năng lọc.

otIp6SockAddrToString

void otIp6SockAddrToString(
  const otSockAddr *aSockAddr,
  char *aBuffer,
  uint16_t aSize
)

Chuyển đổi một địa chỉ ổ cắm IPv6 đã cho thành một chuỗi dễ đọc.

Chuỗi địa chỉ ổ cắm IPv6 có định dạng là [address]:port, trong đó address xuất hiện dưới dạng 16 giá trị thập lục phân, phân cách bằng :port là số cổng ở định dạng thập phân, ví dụ: "[%x:%x:...:%x]:%u".

Nếu chuỗi kết quả không vừa với aBuffer (trong aSize ký tự), thì chuỗi sẽ bị cắt bớt nhưng chuỗi đầu ra luôn kết thúc bằng giá trị rỗng.

Thông tin chi tiết
Các tham số
[in] aSockAddr
Con trỏ tới địa chỉ ổ cắm IPv6 (PHẢI KHÔNG PHẢI là NULL).
[out] aBuffer
Con trỏ tới một mảng ký tự để xuất chuỗi (MUST KHÔNG PHẢI là NULL).
[in] aSize
Kích thước của aBuffer (tính bằng byte). Bạn nên dùng OT_IP6_SOCK_ADDR_STRING_SIZE.

otIp6SubscribeMulticastAddress

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

Đăng ký giao diện luồng vào một địa chỉ phát đa hướng giao diện mạng.

Thực thể đã truyền aAddress sẽ được sao chép bằng giao diện Luồng. Giao diện Thread chỉ hỗ trợ một số lượng cố định các địa chỉ phát đa hướng được thêm bên ngoài. Vui lòng xem OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aAddress
Con trỏ tới địa chỉ IP.
Giá trị trả về
OT_ERROR_NONE
Đã đăng ký thành công địa chỉ phát đa hướng giao diện mạng.
OT_ERROR_ALREADY
Địa chỉ phát đa hướng đã được đăng ký.
OT_ERROR_INVALID_ARGS
Địa chỉ IP do aAddress chỉ ra là địa chỉ phát đa hướng không hợp lệ.
OT_ERROR_REJECTED
Địa chỉ IP do aAddress chỉ ra là địa chỉ phát đa hướng nội bộ.
OT_ERROR_NO_BUFS
Giao diện mạng đã lưu trữ số địa chỉ phát đa hướng bên ngoài tối đa được cho phép.

otIp6Hủy nhiều địa chỉ

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

Huỷ đăng ký giao diện Luồng đến một Địa chỉ phát đa hướng giao diện mạng.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aAddress
Con trỏ tới địa chỉ IP.
Giá trị trả về
OT_ERROR_NONE
Đã huỷ đăng ký thành công địa chỉ phát đa hướng giao diện mạng.
OT_ERROR_REJECTED
Địa chỉ IP do aAddress chỉ ra là địa chỉ nội bộ.
OT_ERROR_NOT_FOUND
Không tìm thấy Địa chỉ IP do aAddress chỉ định.

Macro

HP_IP6_ADDRESS_SIZE

 OT_IP6_ADDRESS_SIZE 16

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

HP_IP6_ADDRESS_STRING_SIZE

 OT_IP6_ADDRESS_STRING_SIZE 40

Kích thước đề xuất để biểu diễn chuỗi địa chỉ IPv6.

HP_IP6_HEADER_PROTO_OFFSET

 OT_IP6_HEADER_PROTO_OFFSET 6

Phần bù của trường proto trong tiêu đề IPv6 (byte)

OT_IP6_HEADER_SIZE

 OT_IP6_HEADER_SIZE 40

Kích thước của tiêu đề 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_MAX_MLR_ADDRESSES

 OT_IP6_MAX_MLR_ADDRESSES 15

Số địa chỉ IPv6 tối đa được hỗ trợ bởi tính năng Đăng ký trình nghe đa hướng.

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)

HP_IP6_PREFIX_STRING_SIZE

 OT_IP6_PREFIX_STRING_SIZE 45

Kích thước đề xuất cho chuỗi đại diện của tiền tố IPv6.

OT_IP6_SOCK_ADDR_STRING_SIZE

 OT_IP6_SOCK_ADDR_STRING_SIZE 48

Kích thước đề xuất cho chuỗi địa chỉ ổ cắm IPv6.

Tài nguyên

Các chủ đề Tham chiếu API OpenThread bắt nguồn từ mã nguồn, có sẵn trên GitHub. Để biết thêm thông tin hoặc đóng góp cho tài liệu của chúng tôi, hãy tham khảo phần Tài nguyên.