Chẩn đoán lưới
Mô-đun này bao gồm các định nghĩa và chức năng cho Chẩn đoán lưới.
Tóm tắt
API Mesh Diagnostics yêu cầu OPENTHREAD_CONFIG_MESH_DIAG_ENABLE
và OPENTHREAD_FTD
.
Typedef |
|
---|---|
otMeshDiagChildEntry
|
typedefstruct otMeshDiagChildEntry
Đại diện cho thông tin về mục nhập con từ otMeshDiagQueryChildTable() . |
otMeshDiagChildInfo
|
typedefstruct otMeshDiagChildInfo
Biểu thị thông tin về thành phần con được phát hiện trong lưới Thread bằng otMeshDiagDiscoverTopology() . |
otMeshDiagChildIp6AddrsCallback)(otError aError, uint16_t aChildRloc16, otMeshDiagIp6AddrIterator *aIp6AddrIterator, void *aContext)
|
typedefvoid(*
Đại diện cho lệnh gọi lại mà otMeshDiagQueryChildrenIp6Addrs() sử dụng để cung cấp thông tin về MTD và danh sách địa chỉ IPv6 của phần tử con đó. |
otMeshDiagChildIterator
|
typedefstruct otMeshDiagChildIterator
Một trình vòng lặp mờ để lặp lại danh sách các phần tử con của bộ định tuyến. |
otMeshDiagDiscoverCallback)(otError aError, otMeshDiagRouterInfo *aRouterInfo, void *aContext)
|
typedefvoid(*
Loại con trỏ biểu thị lệnh gọi lại được otMeshDiagDiscoverTopology() sử dụng để cung cấp thông tin về một bộ định tuyến đã phát hiện. |
otMeshDiagDiscoverConfig
|
typedefstruct otMeshDiagDiscoverConfig
Đại diện cho tập hợp cấu hình được dùng khi khám phá cấu trúc liên kết dạng lưới cho biết các mục cần khám phá. |
otMeshDiagIp6AddrIterator
|
typedefstruct otMeshDiagIp6AddrIterator
Một trình vòng lặp mờ để lặp lại danh sách địa chỉ IPv6 của một bộ định tuyến. |
otMeshDiagQueryChildTableCallback)(otError aError, const otMeshDiagChildEntry *aChildEntry, void *aContext)
|
typedefvoid(*
Đại diện cho lệnh gọi lại mà otMeshDiagQueryChildTable() sử dụng để cung cấp thông tin về các mục con trong bảng. |
otMeshDiagQueryRouterNeighborTableCallback)(otError aError, const otMeshDiagRouterNeighborEntry *aNeighborEntry, void *aContext)
|
typedefvoid(*
Đại diện cho lệnh gọi lại mà otMeshDiagQueryRouterNeighborTable() sử dụng để cung cấp thông tin về các mục nhập trong bảng bộ định tuyến lân cận. |
otMeshDiagRouterInfo
|
typedefstruct otMeshDiagRouterInfo
Biểu thị thông tin về một bộ định tuyến trong lưới Thread được phát hiện bằng otMeshDiagDiscoverTopology() . |
otMeshDiagRouterNeighborEntry
|
typedef Đại diện cho thông tin về mục nhập lân cận bộ định tuyến từ otMeshDiagQueryRouterNeighborTable() . |
Hàm |
|
---|---|
otMeshDiagCancel(otInstance *aInstance)
|
void
Huỷ quá trình khám phá cấu trúc liên kết đang diễn ra nếu có, nếu không thì không cần thực hiện hành động nào.
|
otMeshDiagDiscoverTopology(otInstance *aInstance, const otMeshDiagDiscoverConfig *aConfig, otMeshDiagDiscoverCallback aCallback, void *aContext)
|
Bắt đầu khám phá cấu trúc liên kết mạng.
|
otMeshDiagGetNextChildInfo(otMeshDiagChildIterator *aIterator, otMeshDiagChildInfo *aChildInfo)
|
Lặp lại qua các phần tử con đã được phát hiện của bộ định tuyến.
|
otMeshDiagGetNextIp6Address(otMeshDiagIp6AddrIterator *aIterator, otIp6Address *aIp6Address)
|
Lặp lại qua các địa chỉ IPv6 đã phát hiện của bộ định tuyến hoặc con MTD.
|
otMeshDiagQueryChildTable(otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryChildTableCallback aCallback, void *aContext)
|
Bắt đầu truy vấn bảng con của một bộ định tuyến cụ thể.
|
otMeshDiagQueryChildrenIp6Addrs(otInstance *aInstance, uint16_t aRloc16, otMeshDiagChildIp6AddrsCallback aCallback, void *aContext)
|
Gửi truy vấn đến thành phần mẹ để truy xuất địa chỉ IPv6 của tất cả MTD con cháu của nó.
|
otMeshDiagQueryRouterNeighborTable(otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryRouterNeighborTableCallback aCallback, void *aContext)
|
Bắt đầu truy vấn bảng lân cận của bộ định tuyến cho một bộ định tuyến cụ thể.
|
Cấu trúc |
|
---|---|
otMeshDiagChildEntry |
Đại diện cho thông tin về mục nhập con từ |
otMeshDiagChildInfo |
Biểu thị thông tin về thành phần con được phát hiện trong lưới Thread bằng |
otMeshDiagDiscoverConfig |
Đại diện cho tập hợp cấu hình được dùng khi khám phá cấu trúc liên kết dạng lưới cho biết các mục cần khám phá. |
otMeshDiagRouterInfo |
Biểu thị thông tin về một bộ định tuyến trong lưới Thread được phát hiện bằng |
otMeshDiagRouterNeighborEntry |
Đại diện cho thông tin về mục nhập lân cận bộ định tuyến từ |
Typedef
otMeshDiagChildEntry
struct otMeshDiagChildEntry otMeshDiagChildEntry
Đại diện cho thông tin về mục nhập con từ otMeshDiagQueryChildTable()
.
mSupportsErrRate
cho biết tính năng theo dõi lỗi có được hỗ trợ hay không và các giá trị mFrameErrorRate
và mMessageErrorRate
có hợp lệ hay không. Tỷ lệ lỗi khung hình theo dõi các lỗi tx khung (đối với thành phần con) ở lớp MAC, trong khi mMessageErrorRate
theo dõi tỷ lệ lỗi thông báo IPv6 (phía trên lớp MAC và sau khi thử lại MAC) khi thông báo IPv6 bị huỷ. Ví dụ: nếu thông báo có kích thước lớn và yêu cầu phân mảnh 6LoWPAN, tx thông báo sẽ được coi là không thành công nếu một trong các tx khung phân mảnh không thành công (ví dụ: chưa bao giờ được xác nhận).
otMeshDiagChildInfo
struct otMeshDiagChildInfo otMeshDiagChildInfo
Biểu thị thông tin về thành phần con được phát hiện trong lưới Thread bằng otMeshDiagDiscoverTopology()
.
otMeshDiagChildIp6AddrsCallback
void(* otMeshDiagChildIp6AddrsCallback)(otError aError, uint16_t aChildRloc16, otMeshDiagIp6AddrIterator *aIp6AddrIterator, void *aContext)
Đại diện cho lệnh gọi lại mà otMeshDiagQueryChildrenIp6Addrs()
sử dụng để cung cấp thông tin về MTD và danh sách địa chỉ IPv6 của phần tử con đó.
Khi aError
là OT_ERROR_PENDING
, điều này cho biết rằng có nhiều phần tử con hơn và lệnh gọi lại sẽ được gọi lại.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Thông số |
|
otMeshDiagChildIterator
struct otMeshDiagChildIterator otMeshDiagChildIterator
Một trình vòng lặp mờ để lặp lại danh sách các phần tử con của bộ định tuyến.
Con trỏ đến thực thể của loại này được cung cấp trong otMeshDiagRouterInfo
.
otMeshDiagDiscoverCallback
void(* otMeshDiagDiscoverCallback)(otError aError, otMeshDiagRouterInfo *aRouterInfo, void *aContext)
Loại con trỏ biểu thị lệnh gọi lại được otMeshDiagDiscoverTopology()
sử dụng để cung cấp thông tin về một bộ định tuyến đã phát hiện.
Khi aError
là OT_ERROR_PENDING
, việc này cho biết quá trình khám phá chưa hoàn tất và sẽ còn nhiều bộ định tuyến khác cần khám phá, sau đó lệnh gọi lại sẽ được gọi lại.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
otMeshDiagDiscoverConfig
struct otMeshDiagDiscoverConfig otMeshDiagDiscoverConfig
Đại diện cho tập hợp cấu hình được dùng khi khám phá cấu trúc liên kết dạng lưới cho biết các mục cần khám phá.
otMeshDiagIp6AddrIterator
struct otMeshDiagIp6AddrIterator otMeshDiagIp6AddrIterator
Một trình vòng lặp mờ để lặp lại danh sách địa chỉ IPv6 của một bộ định tuyến.
Con trỏ đến thực thể của loại này được cung cấp trong otMeshDiagRouterInfo
.
otMeshDiagQueryChildTableCallback
void(* otMeshDiagQueryChildTableCallback)(otError aError, const otMeshDiagChildEntry *aChildEntry, void *aContext)
Đại diện cho lệnh gọi lại mà otMeshDiagQueryChildTable()
sử dụng để cung cấp thông tin về các mục con trong bảng.
Khi aError
là OT_ERROR_PENDING
, điều này cho biết bảng vẫn còn nhiều mục nhập khác và lệnh gọi lại sẽ được gọi lại.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
otMeshDiagQueryRouterNeighborTableCallback
void(* otMeshDiagQueryRouterNeighborTableCallback)(otError aError, const otMeshDiagRouterNeighborEntry *aNeighborEntry, void *aContext)
Đại diện cho lệnh gọi lại mà otMeshDiagQueryRouterNeighborTable()
sử dụng để cung cấp thông tin về các mục nhập trong bảng bộ định tuyến lân cận.
Khi aError
là OT_ERROR_PENDING
, điều này cho biết bảng vẫn còn nhiều mục nhập khác và lệnh gọi lại sẽ được gọi lại.
Thông tin chi tiết | |||||||
---|---|---|---|---|---|---|---|
Thông số |
|
otMeshDiagRouterInfo
struct otMeshDiagRouterInfo otMeshDiagRouterInfo
Biểu thị thông tin về một bộ định tuyến trong lưới Thread được phát hiện bằng otMeshDiagDiscoverTopology()
.
otMeshDiagRouterNeighborEntry
struct otMeshDiagRouterNeighborEntry otMeshDiagRouterNeighborEntry
Đại diện cho thông tin về mục nhập lân cận bộ định tuyến từ otMeshDiagQueryRouterNeighborTable()
.
mSupportsErrRate
cho biết tính năng theo dõi lỗi có được hỗ trợ hay không và các giá trị mFrameErrorRate
và mMessageErrorRate
có hợp lệ hay không. Tỷ lệ lỗi khung hình theo dõi các lỗi tx khung (đối với thành phần con) ở lớp MAC, trong khi mMessageErrorRate
theo dõi tỷ lệ lỗi thông báo IPv6 (phía trên lớp MAC và sau khi thử lại MAC) khi thông báo IPv6 bị huỷ. Ví dụ: nếu thông báo có kích thước lớn và yêu cầu phân mảnh 6LoWPAN, tx thông báo sẽ được coi là không thành công nếu một trong các tx khung phân mảnh không thành công (ví dụ: chưa bao giờ được xác nhận).
Hàm
otMeshDiagCancel
void otMeshDiagCancel( otInstance *aInstance )
Huỷ quá trình khám phá cấu trúc liên kết đang diễn ra nếu có, nếu không thì không cần thực hiện hành động nào.
Khi quá trình khám phá đang diễn ra bị huỷ, lệnh gọi lại từ otMeshDiagDiscoverTopology()
sẽ không được gọi nữa.
otMeshDiagDiscoverTopology
otError otMeshDiagDiscoverTopology( otInstance *aInstance, const otMeshDiagDiscoverConfig *aConfig, otMeshDiagDiscoverCallback aCallback, void *aContext )
Bắt đầu khám phá cấu trúc liên kết mạng.
Thông tin chi tiết | |||||||||
---|---|---|---|---|---|---|---|---|---|
Thông số |
|
||||||||
Giá trị trả về |
|
otMeshDiagGetNextChildInfo
otError otMeshDiagGetNextChildInfo( otMeshDiagChildIterator *aIterator, otMeshDiagChildInfo *aChildInfo )
Lặp lại qua các phần tử con đã được phát hiện của bộ định tuyến.
Hàm này PHẢI được dùng từ lệnh gọi lại otMeshDiagDiscoverCallback()
và sử dụng mChildIterator
từ cấu trúc aRouterInfo
được cung cấp làm dữ liệu đầu vào cho lệnh gọi lại.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otMeshDiagGetNextIp6Address
otError otMeshDiagGetNextIp6Address( otMeshDiagIp6AddrIterator *aIterator, otIp6Address *aIp6Address )
Lặp lại qua các địa chỉ IPv6 đã phát hiện của bộ định tuyến hoặc con MTD.
PHẢI sử dụng
- từ lệnh gọi lại
otMeshDiagDiscoverCallback()
và sử dụngmIp6AddrIterator
từ cấu trúcaRouterInfo
được cung cấp làm dữ liệu đầu vào cho lệnh gọi lại, hoặc - từ lệnh gọi lại
otMeshDiagChildIp6AddrsCallback()
cùng vớiaIp6AddrIterator
đã cung cấp.
Thông tin chi tiết | |||||
---|---|---|---|---|---|
Thông số |
|
||||
Giá trị trả về |
|
otMeshDiagQueryChildTable
otError otMeshDiagQueryChildTable( otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryChildTableCallback aCallback, void *aContext )
Bắt đầu truy vấn bảng con của một bộ định tuyến cụ thể.
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
|
||||||||||
Giá trị trả về |
|
otMeshDiagQueryChildrenIp6Addrs
otError otMeshDiagQueryChildrenIp6Addrs( otInstance *aInstance, uint16_t aRloc16, otMeshDiagChildIp6AddrsCallback aCallback, void *aContext )
Gửi truy vấn đến thành phần mẹ để truy xuất địa chỉ IPv6 của tất cả MTD con cháu của nó.
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
|
||||||||||
Giá trị trả về |
|
otMeshDiagQueryRouterNeighborTable
otError otMeshDiagQueryRouterNeighborTable( otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryRouterNeighborTableCallback aCallback, void *aContext )
Bắt đầu truy vấn bảng lân cận của bộ định tuyến cho một bộ định tuyến cụ thể.
Thông tin chi tiết | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Thông số |
|
||||||||||
Giá trị trả về |
|
Macro
OT_MESH_DIAG_VERSION_UNKNOWN
OT_MESH_DIAG_VERSION_UNKNOWN 0xffff
Chỉ định rằng Phiên bản luồng là không xác định.
Thuộc tính này được dùng trong otMeshDiagRouterInfo
cho thuộc tính mVersion
khi thiết bị không cung cấp phiên bản. Mã này cho biết có thể thiết bị đang chạy phiên bản 1.3.0 (giá trị phiên bản 4) trở về trước.
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.