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{
|
enum Số giao thức Internet. |
anonymous enum{
|
enum Nguồn gốc địa chỉ IPv6. |
anonymous enum{
|
enum Các trạng thái ECN, được thể hiện như trong tiêu đề IP. |
Typedef |
|
---|---|
otBorderRoutingCounters
|
typedefstruct otBorderRoutingCounters
Biểu thị bộ đếm của các gói được chuyển tiếp thông qua Định tuyến đường biên. |
otIp6Address
|
typedefstruct otIp6Address
Đại diện cho địa chỉ IPv6. |
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
|
typedefvoid(*
Con trỏ được gọi khi thêm hoặc xoá địa chỉ IPv6 nội bộ. |
otIp6AddressComponents
|
typedefstruct otIp6AddressComponents
Đại diện cho các thành phần của địa chỉ IPv6. |
otIp6AddressInfo
|
typedefstruct otIp6AddressInfo
Biểu thị thông tin địa chỉ IPv6. |
otIp6InterfaceIdentifier
|
typedefstruct otIp6InterfaceIdentifier
Biểu thị giá trị nhận dạng giao diện của địa chỉ IPv6. |
otIp6NetworkPrefix
|
typedefstruct otIp6NetworkPrefix
Đạ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
|
typedefstruct otIp6Prefix
Đại diện cho tiền tố IPv6. |
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
|
typedefvoid(*
Con trỏ được gọi khi nhận được gói dữ liệu IPv6. |
otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)
|
typedefvoid(*
Con trỏ được gọi với kết quả của otIp6RegisterMulticastListeners . |
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)
|
typedefbool(*
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
|
typedefstruct otMessageInfo
Đại diện cho địa chỉ ổ cắm IPv6 cục bộ và ngang hàng. |
otNetifAddress
|
typedefstruct otNetifAddress
Đại diện cho địa chỉ unicast của giao diện mạng IPv6. |
otNetifMulticastAddress
|
typedefstruct otNetifMulticastAddress
Đại diện cho địa chỉ phát đa hướng giao diện mạng IPv6. |
otPacketsAndBytes
|
typedefstruct otPacketsAndBytes
Đại diện cho bộ đếm cho các gói và byte. |
otSockAddr
|
typedefstruct 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 Thread.
|
otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort)
|
Thêm một cổng vào danh sách cổng không được bảo mật đượ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 biểu diễn nhị phân.
|
otIp6AddressToString(const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
|
void
Chuyển đổi địa chỉ IPv6 cho trước thành một chuỗi mà con người có thể đọc đượ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)
|
const otBorderRoutingCounters *
Lấy bộ đếm Định tuyến biên giới.
|
otIp6GetMulticastAddresses(otInstance *aInstance)
|
const otNetifMulticastAddress *
Lấy danh sách các địa chỉ phát đa hướng IPv6 đã đăng ký giao diện Thread.
|
otIp6GetPrefix(const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix)
|
void
Nhận tiền tố có
aLength từ aAddress . |
otIp6GetUnicastAddresses(otInstance *aInstance)
|
const otNetifAddress *
Lấy danh sách địa chỉ IPv6 được chỉ định cho giao diện Thread.
|
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
|
const uint16_t *
Trả về một con trỏ đến danh sách cổng không an toàn.
|
otIp6HasUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
bool
Cho biết địa chỉ IPv6 unicast có được chỉ định cho giao diện Thread hay không.
|
otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
bool
Kiểm tra xem 2 địa chỉ IPv6 có giống nhau hay không.
|
otIp6IsAddressUnspecified(const otIp6Address *aAddress)
|
bool
Cho biết liệu mộ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
Cho biết giao diện IPv6 có hoạt động hay không.
|
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
|
bool
Kiểm tra xem chế độ hỗn hợp đa hướng có được bật trên giao diện Thread hay không.
|
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
|
bool
Cho biết liệu lưu lượng truy cập kiểm soát luồng có được lọc ra khi phân phối gói dữ liệ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 liệu mô-đun SLAAC có được bật hay không.
|
otIp6NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
|
Phân bổ một vùng đệm thông báo 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ổ một vùng đệm thông báo mới và ghi gói 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 chuỗi tiền tố IPv6 mà con người có thể đọc được thành biểu diễn nhị phân.
|
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
|
uint8_t
Trả về độ dài khớp tiền tố (bit) cho hai địa chỉ IPv6.
|
otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
|
void
Chuyển đổi một tiền tố IPv6 nhất định 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 đã cho thành chuỗi mà con người có thể đọc được.
|
otIp6RegisterMulticastListeners(otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
|
Đăng ký trình nghe Multicast 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 Thread.
|
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 giới.
|
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 gói dữ liệu IPv6 qua giao diện Thread.
|
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
|
void
Đăng ký lệnh gọi lại để thông báo về các thay đổi đối vớ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ộ Mesh (cho mục đích thử nghiệm).
|
otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
|
void
Bật hoặc tắt chế độ hỗn hợp phát đa hướng trên giao diện Thread.
|
otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
|
void
Đăng ký một lệnh gọi lại để cung cấp gói dữ liệu IPv6 nhận được.
|
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
|
void
Thiết lập xem lưu lượng truy cập kiểm soát luồng có được lọc ra khi phân phối gói dữ liệu IPv6 thông qua lệnh gọi lại được chỉ định trong otIp6SetReceiveCallback() hay không.
|
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 địa chỉ ổ cắm IPv6 nhất định thành một chuỗi mà con người có thể đọc được.
|
otIp6SubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Đăng ký giao diện Thread (Luồng) vào Địa chỉ Multicast giao diện mạng.
|
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
|
Huỷ đăng ký giao diện Thread (Chuỗi) đối với Địa chỉ Multicast giao diện mạng.
|
Cấu trúc |
|
---|---|
otBorderRoutingCounters |
Biểu thị bộ đếm của các gói được chuyển tiếp thông qua Định tuyến đường biên. |
otIp6Address |
Đạ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ị giá trị nhận dạng giao diện của địa chỉ IPv6. |
otIp6NetworkPrefix |
Đạ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 |
Đạ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 của giao diện mạng IPv6. |
otNetifMulticastAddress |
Đại diện cho địa chỉ phát đa hướng giao diện mạng IPv6. |
otPacketsAndBytes |
Đại diện cho bộ đếm cho các gói và byte. |
otSockAddr |
Đại diện cho địa chỉ ổ cắm IPv6. |
Hiệp hội |
|
---|---|
otIp6InterfaceIdentifier:: |
Bảng liệt kê
enum ẩn danh
anonymous enum
Số giao thức Internet.
Thuộc tính | |
---|---|
OT_IP6_PROTO_DST_OPTS
|
Tuỳ chọn đích cho IPv6. |
OT_IP6_PROTO_FRAGMENT
|
Tiêu đề mảnh cho IPv6. |
OT_IP6_PROTO_HOP_OPTS
|
Tuỳ chọn Hop-by-Hop của IPv6. |
OT_IP6_PROTO_ICMP6
|
ICMP dành cho IPv6. |
OT_IP6_PROTO_IP6
|
Đóng gói IPv6. |
OT_IP6_PROTO_NONE
|
Không có tiêu đề tiếp theo nào 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 tải. |
OT_IP6_PROTO_UDP
|
Gói dữ liệu người dùng. |
enum ẩn danh
anonymous enum
Nguồn gốc địa chỉ IPv6.
Thuộc tính | |
---|---|
OT_ADDRESS_ORIGIN_DHCPV6
|
địa chỉ đã chỉ định trong DHCPv6. |
OT_ADDRESS_ORIGIN_MANUAL
|
Địa chỉ được gán theo cách thủ công. |
OT_ADDRESS_ORIGIN_SLAAC
|
Địa chỉ được chỉ định theo SLAAC. |
OT_ADDRESS_ORIGIN_THREAD
|
Địa chỉ đã chỉ định theo chuỗi (ALOC, RLOC, MLEID, v.v.) |
enum ẩn danh
anonymous enum
Các trạng thái ECN, được thể hiện như trong tiêu đề IP.
Thuộc tính | |
---|---|
OT_ECN_CAPABLE_0
|
ECT(0) |
OT_ECN_CAPABLE_1
|
ECT(1) |
OT_ECN_MARKED
|
Gặp phải tình trạng tắc nghẽn (CE) |
OT_ECN_NOT_CAPABLE
|
Không thuộc ECT. |
Typedef
otBorderRoutingCounters
struct otBorderRoutingCounters otBorderRoutingCounters
Biểu thị bộ đếm của các gói được chuyển tiếp thông qua Định tuyến đường biên.
otIp6AddressCallback
void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)
Con trỏ được gọi khi thêm hoặc xoá địa chỉ IPv6 nội bộ.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
otIp6AddressComponents
struct otIp6AddressComponents otIp6AddressComponents
Đại diện cho các thành phần của địa chỉ IPv6.
otIp6InterfaceIdentifier
struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier
Biểu thị giá trị nhận dạng giao diện của địa chỉ IPv6.
otIp6NetworkPrefix
struct otIp6NetworkPrefix otIp6NetworkPrefix
Đạ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ỉ).
otIp6ReceiveCallback
void(* otIp6ReceiveCallback)(otMessage *aMessage, void *aContext)
Con trỏ được gọi khi nhận được gói dữ liệu IPv6.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
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 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
|
otIp6RegisterMulticastListeners
otIp6SlaacPrefixFilter
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ể dùng otIp6SetSlaacPrefixFilter()
để thiết lập trình xử lý bộ lọc. Trình xử lý bộ lọc được mô-đun SLAAC gọi ra khi sắp thêm địa chỉ SLAAC dựa trên tiền tố. Giá trị trả về boolean của hàm 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 | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otMessageInfo
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 của giao diện mạng IPv6.
otNetifMulticastAddress
struct otNetifMulticastAddress otNetifMulticastAddress
Đại diện cho địa chỉ phát đa hướng giao diện mạng IPv6.
otPacketsAndBytes
struct otPacketsAndBytes otPacketsAndBytes
Đại diện cho bộ đếm cho các gói và byte.
Biến
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 Thread.
Thực thể đã truyền aAddress
được giao diện Thread sao chép. Giao diện Thread chỉ hỗ trợ một số lượng cố định đị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 | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
||||||
Giá trị trả về |
|
otIp6AddUnsecurePort
otError otIp6AddUnsecurePort( otInstance *aInstance, uint16_t aPort )
Thêm một cổng vào danh sách cổng không được bảo mật được cho phép.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
||||||
Giá trị trả về |
|
otIp6AddressFromString
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 biểu diễn nhị phân.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otIp6AddressToString
void otIp6AddressToString( const otIp6Address *aAddress, char *aBuffer, uint16_t aSize )
Chuyển đổi địa chỉ IPv6 cho trước thành một chuỗi mà con người có thể đọc được.
Chuỗi địa chỉ IPv6 có định dạng là 16 giá trị hex được phân tách bằng ":" (ví dụ: "%x:%x:%x:...:%x").
Nếu chuỗi kết quả không vừa với aBuffer
(trong phạm vi aSize
ký tự), thì chuỗi sẽ bị cắt bớt nhưng chuỗi được trả về sẽ luôn kết thúc rỗng.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
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 | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otIp6GetBorderRoutingCounters
const otBorderRoutingCounters * otIp6GetBorderRoutingCounters( otInstance *aInstance )
Lấy 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 của OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE
.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Con trỏ đến bộ đếm Định tuyến biên giới.
|
otIp6GetMulticastAddresses
const otNetifMulticastAddress * otIp6GetMulticastAddresses( otInstance *aInstance )
Lấy danh sách các địa chỉ phát đa hướng IPv6 đã đăng ký giao diện Thread.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Con trỏ tới Địa chỉ Multicast 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ó aLength
từ aAddress
.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
otIp6GetUnicastAddresses
const otNetifAddress * otIp6GetUnicastAddresses( otInstance *aInstance )
Lấy danh sách địa chỉ IPv6 được chỉ định cho giao diện Thread.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
Trả về |
Con trỏ đến Đị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ỏ đến danh sách cổng không an toàn.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Trả về |
Con trỏ đến danh sách cổng không an toàn.
|
otIp6HasUnicastAddress
bool otIp6HasUnicastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Cho biết địa chỉ IPv6 unicast có được chỉ định cho giao diện Thread hay không.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otIp6IsAddressEqual
bool otIp6IsAddressEqual( const otIp6Address *aFirst, const otIp6Address *aSecond )
Kiểm tra xem 2 địa chỉ IPv6 có giống nhau hay không.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otIp6IsAddressUnspecified
bool otIp6IsAddressUnspecified( const otIp6Address *aAddress )
Cho biết liệu một địa chỉ IPv6 nhất định có phải là Địa chỉ không xác định hay không.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otIp6IsEnabled
bool otIp6IsEnabled( otInstance *aInstance )
Cho biết giao diện IPv6 có hoạt động hay không.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otIp6IsMulticastPromiscuousEnabled
bool otIp6IsMulticastPromiscuousEnabled( otInstance *aInstance )
Kiểm tra xem chế độ hỗn hợp đa hướng có được bật trên giao diện Thread hay không.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
otIp6SetMulticastPromiscuousEnabled
otIp6IsReceiveFilterEnabled
bool otIp6IsReceiveFilterEnabled( otInstance *aInstance )
Cho biết liệu lưu lượng truy cập kiểm soát luồng có được lọc ra khi phân phối gói dữ liệ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 | |||
---|---|---|---|
Thông số |
|
||
Trả về |
TRUE nếu lưu lượng truy cập Kiểm soát luồng bị lọc ra, nếu không thì sẽ là FALSE.
|
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled
otIp6IsSlaacEnabled
bool otIp6IsSlaacEnabled( otInstance *aInstance )
Cho biết liệu 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 của OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Giá trị trả về |
|
otIp6NewMessage
otMessage * otIp6NewMessage( otInstance *aInstance, const otMessageSettings *aSettings )
Phân bổ một vùng đệm thông báo mới để gửi thông báo IPv6.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Trả về |
Con trỏ tới vùng đệm thông báo hoặc giá trị NULL nếu không có vùng đệm thông báo nào hoặc các tham số không hợp lệ.
|
otMessageFree
otIp6NewMessageFromBuffer
otMessage * otIp6NewMessageFromBuffer( otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings )
Phân bổ một vùng đệm thông báo mới và ghi gói 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 | |||||||||
---|---|---|---|---|---|---|---|---|---|
Thông số |
|
||||||||
Trả về |
Con trỏ đến thông báo hoặc giá trị NULL nếu tiêu đề IPv6 không đúng định dạng hoặc không có đủ vùng đệm thông báo.
|
otMessageFree
otIp6PrefixFromString
otError otIp6PrefixFromString( const char *aString, otIp6Prefix *aPrefix )
Chuyển đổi chuỗi tiền tố IPv6 mà con người có thể đọc được thành biểu diễn nhị phân.
Tham số aString
phải là một chuỗi có định dạng "
là địa chỉ IPv6 và
là độ dài tiền tố.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otIp6PrefixMatch
uint8_t otIp6PrefixMatch( const otIp6Address *aFirst, const otIp6Address *aSecond )
Trả về độ dài khớp tiền tố (bit) cho hai địa chỉ IPv6.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Trả về |
Độ dài khớp tiền tố tính bằng bit.
|
otIp6PrefixToString
void otIp6PrefixToString( const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize )
Chuyển đổi một tiền tố IPv6 nhất định 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 phạm vi aSize
ký tự), thì chuỗi sẽ bị cắt bớt nhưng chuỗi được trả về sẽ luôn kết thúc rỗng.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
otIp6ProtoToString
const char * otIp6ProtoToString( uint8_t aIpProto )
Chuyển đổi một số giao thức IP đã cho thành chuỗi mà con người có thể đọc được.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
||
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 Multicast cho Bộ định tuyến đường trục chính.
Bạn phải bật OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE
và OPENTHREAD_CONFIG_COMMISSIONER_ENABLE
.
Thông tin chi tiết | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
|
||||||||||||
Giá trị trả về |
|
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 | |||
---|---|---|---|
Thông số |
|
otIp6RemoveUnicastAddress
otError otIp6RemoveUnicastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Xoá Địa chỉ giao diện mạng khỏi giao diện Thread.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
||||||
Giá trị trả về |
|
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 | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
||||||
Giá trị trả về |
|
otIp6ResetBorderRoutingCounters
void otIp6ResetBorderRoutingCounters( otInstance *aInstance )
Đặt lại bộ đếm định tuyến biên giới.
Thông tin chi tiết | |||
---|---|---|---|
Thông số |
|
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 | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otIp6Send
otError otIp6Send( otInstance *aInstance, otMessage *aMessage )
Gửi một gói dữ liệu IPv6 qua giao diện Thread.
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 một giá trị không phải là OT_ERROR_NONE
được trả về.
Thông tin chi tiết | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
|
||||||||||||||
Giá trị trả về |
|
otIp6SetAddressCallback
void otIp6SetAddressCallback( otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext )
Đăng ký lệnh gọi lại để thông báo về các thay đổi đối với địa chỉ IPv6 nội bộ.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
otIp6SetEnabled
otError otIp6SetEnabled( otInstance *aInstance, bool aEnabled )
Đưa giao diện IPv6 lên hoặc xuống.
Gọi sự kiện này để bật hoặc tắt giao tiếp IPv6.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otIp6SetMeshLocalIid
otError otIp6SetMeshLocalIid( otInstance *aInstance, const otIp6InterfaceIdentifier *aIid )
Đặt IID cục bộ Mesh (cho mục đích thử nghiệm).
Cần có OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE
.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otIp6SetMulticastPromiscuousEnabled
void otIp6SetMulticastPromiscuousEnabled( otInstance *aInstance, bool aEnabled )
Bật hoặc tắt chế độ hỗn hợp phát đa hướng trên giao diện Thread.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
otIp6IsMulticastPromiscuousEnabled
otIp6SetReceiveCallback
void otIp6SetReceiveCallback( otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext )
Đăng ký một lệnh gọi lại để cung cấp gói dữ liệu IPv6 nhận được.
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 chế độ 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 | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
otIp6SetReceiveFilterEnabled
void otIp6SetReceiveFilterEnabled( otInstance *aInstance, bool aEnabled )
Thiết lập xem lưu lượng truy cập kiểm soát luồng có được lọc ra khi phân phối gói dữ liệ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 | |||||
---|---|---|---|---|---|
Thông số |
|
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 của OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
.
Khi mô-đun SLAAC được bật, địa chỉ SLAAC (dựa trên tiền tố trên lưới trong Dữ liệu mạng) sẽ đượ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ị xoá.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
otIp6SetSlaacPrefixFilter
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 của OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE
.
Bộ xử lý bộ lọc được mô-đun SLAAC gọi khi 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 sẽ tắt tính năng lọc và cho phép thêm tất cả cá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 | |||||
---|---|---|---|---|---|
Thông số |
|
otIp6SockAddrToString
void otIp6SockAddrToString( const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize )
Chuyển đổi địa chỉ ổ cắm IPv6 nhất định thành một chuỗi mà con người có thể đọc được.
Chuỗi địa chỉ cổng kết nối IPv6 có định dạng [address
]:port
, trong đó address
được thể hiện dưới dạng 16 giá trị hex phân tách bằng :
và port
là số cổng ở định dạng thập phân, ví dụ như "[%x:%x:...:%x]:%u".
Nếu chuỗi kết quả không vừa với aBuffer
(trong phạm vi aSize
ký tự), thì chuỗi sẽ bị cắt bớt nhưng chuỗi được trả về sẽ luôn kết thúc rỗng.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
otIp6SubscribeMulticastAddress
otError otIp6SubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Đăng ký giao diện Thread (Luồng) vào Địa chỉ Multicast giao diện mạng.
Thực thể aAddress
đã truyền sẽ được giao diện Thread sao chép. Giao diện Thread chỉ hỗ trợ một số lượng cố định đị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 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
|
||||||||||
Giá trị trả về |
|
otIp6UnsubscribeMulticastAddress
otError otIp6UnsubscribeMulticastAddress( otInstance *aInstance, const otIp6Address *aAddress )
Huỷ đăng ký giao diện Thread (Chuỗi) đối với Địa chỉ Multicast giao diện mạng.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
||||||
Giá trị trả về |
|
Macro
OT_IP6_ADDRESS_SIZE
OT_IP6_ADDRESS_SIZE 16
Kích thước của địa chỉ IPv6 (byte)
OT_IP6_ADDRESS_STRING_SIZE
OT_IP6_ADDRESS_STRING_SIZE 40
Kích thước đề xuất cho chuỗi đại diện của địa chỉ IPv6.
OT_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 tính năng Đăng ký Trình nghe Multicast hỗ trợ.
OT_IP6_PREFIX_BITSIZE
OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)
Kích thước của một tiền tố IPv6 (bit)
OT_IP6_PREFIX_SIZE
OT_IP6_PREFIX_SIZE 8
Kích thước của một tiền tố IPv6 (byte)
OT_IP6_PREFIX_STRING_SIZE
OT_IP6_PREFIX_STRING_SIZE 45
Kích thước đề xuất cho chuỗi đại diện của một tiền tố IPv6.
OT_IP6_SOCK_ADDR_STRING_SIZE
OT_IP6_SOCK_ADDR_STRING_SIZE 48
Kích thước đề xuất cho biểu thị dạng chuỗi của địa chỉ ổ cắm IPv6.
Tài nguyên
Các chủ đề tham khảo API OpenThread bắt nguồn từ mã nguồn, có 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 Tài nguyên.