ICMPv6

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

Tóm tắt

Bảng liệt kê

otIcmp6Code{
  OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE = 0,
  OT_ICMP6_CODE_FRAGM_REAS_TIME_EX = 1
}
enum
Mã thông báo ICMPv6.
otIcmp6EchoMode{
  OT_ICMP6_ECHO_HANDLER_DISABLED = 0,
  OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY = 1,
  OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY = 2,
  OT_ICMP6_ECHO_HANDLER_ALL = 3
}
enum
Chế độ trả lời Echo ICMPv6.
otIcmp6Type{
  OT_ICMP6_TYPE_DST_UNREACH = 1,
  OT_ICMP6_TYPE_PACKET_TO_BIG = 2,
  OT_ICMP6_TYPE_TIME_EXCEEDED = 3,
  OT_ICMP6_TYPE_PARAMETER_PROBLEM = 4,
  OT_ICMP6_TYPE_ECHO_REQUEST = 128,
  OT_ICMP6_TYPE_ECHO_REPLY = 129,
  OT_ICMP6_TYPE_ROUTER_SOLICIT = 133,
  OT_ICMP6_TYPE_ROUTER_ADVERT = 134,
  OT_ICMP6_TYPE_NEIGHBOR_SOLICIT = 135,
  OT_ICMP6_TYPE_NEIGHBOR_ADVERT = 136
}
enum
Loại thông báo ICMPv6.

Typedef

otIcmp6Code typedef
Mã thông báo ICMPv6.
otIcmp6EchoMode typedef
Chế độ trả lời Echo ICMPv6.
otIcmp6Handler typedef
Triển khai trình xử lý thông báo ICMPv6.
otIcmp6Header typedef
struct otIcmp6Header
Biểu thị tiêu đề ICMPv6.
otIcmp6ReceiveCallback)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader) typedef
void(*
Lệnh gọi lại này cho phép OpenThread thông báo cho ứng dụng về thông báo ICMPv6 đã nhận.
otIcmp6Type typedef
Loại thông báo ICMPv6.

Biến

OT_TOOL_PACKED_END

Hàm

otIcmp6GetEchoMode(otInstance *aInstance)
Cho biết liệu tính năng xử lý ICMPv6 Echo có được bật hay không.
otIcmp6RegisterHandler(otInstance *aInstance, otIcmp6Handler *aHandler)
Đăng ký một trình xử lý để cung cấp các thông báo ICMPv6 đã nhận.
otIcmp6SendEchoRequest(otInstance *aInstance, otMessage *aMessage, const otMessageInfo *aMessageInfo, uint16_t aIdentifier)
Gửi một Yêu cầu Echo ICMPv6 thông qua giao diện Thread.
otIcmp6SetEchoMode(otInstance *aInstance, otIcmp6EchoMode aMode)
void
Đặt xem có bật tính năng xử lý ICMPv6 Echo hay không.

Cấu trúc

otIcmp6Handler

Triển khai trình xử lý thông báo ICMPv6.

otIcmp6Header

Biểu thị tiêu đề ICMPv6.

Hiệp hội

otIcmp6Header::OT_TOOL_PACKED_FIELD

Bảng liệt kê

otIcmp6Code

 otIcmp6Code

Mã thông báo ICMPv6.

Thuộc tính
OT_ICMP6_CODE_DST_UNREACH_NO_ROUTE

Không có tuyến đường nào đến điểm đến.

OT_ICMP6_CODE_FRAGM_REAS_TIME_EX

Đã vượt quá thời gian lắp lại mảnh.

otIcmp6EchoMode

 otIcmp6EchoMode

Chế độ trả lời Echo ICMPv6.

Thuộc tính
OT_ICMP6_ECHO_HANDLER_ALL

Bật tính năng xử lý ICMPv6 Echo cho các yêu cầu unicast và đa hướng.

OT_ICMP6_ECHO_HANDLER_DISABLED

Đã tắt tính năng xử lý tiếng vọng ICMPv6.

OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY

Chỉ bật tính năng xử lý ICMPv6 Echo cho các yêu cầu phát đa hướng.

OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY

Chỉ bật tính năng xử lý ICMPv6 Echo cho các yêu cầu unicast.

otIcmp6Type

 otIcmp6Type

Loại thông báo ICMPv6.

Thuộc tính
OT_ICMP6_TYPE_DST_UNREACH

Không thể truy cập vào trang đích.

OT_ICMP6_TYPE_ECHO_REPLY

Phản hồi lại.

OT_ICMP6_TYPE_ECHO_REQUEST

Yêu cầu tiếng vọng.

OT_ICMP6_TYPE_NEIGHBOR_ADVERT

Quảng cáo lân cận.

OT_ICMP6_TYPE_NEIGHBOR_SOLICIT

Lời mời từ người lân cận.

OT_ICMP6_TYPE_PACKET_TO_BIG

Gói to lớn.

OT_ICMP6_TYPE_PARAMETER_PROBLEM

Vấn đề về tham số.

OT_ICMP6_TYPE_ROUTER_ADVERT

Quảng cáo bộ định tuyến.

OT_ICMP6_TYPE_ROUTER_SOLICIT

Yêu cầu về máy định tuyến.

OT_ICMP6_TYPE_TIME_EXCEEDED

Đã vượt quá thời gian.

Typedef

otIcmp6Code

enum otIcmp6Code otIcmp6Code

Mã thông báo ICMPv6.

otIcmp6EchoMode

enum otIcmp6EchoMode otIcmp6EchoMode

Chế độ trả lời Echo ICMPv6.

otIcmp6Handler

struct otIcmp6Handler otIcmp6Handler

Triển khai trình xử lý thông báo ICMPv6.

otIcmp6Header

struct otIcmp6Header otIcmp6Header

Biểu thị tiêu đề ICMPv6.

otIcmp6ReceiveCallback

void(* otIcmp6ReceiveCallback)(void *aContext, otMessage *aMessage, const otMessageInfo *aMessageInfo, const otIcmp6Header *aIcmpHeader)

Lệnh gọi lại này cho phép OpenThread thông báo cho ứng dụng về thông báo ICMPv6 đã nhận.

Thông tin chi tiết
Thông số
[in] aContext
Con trỏ đến thông tin ngữ cảnh tuỳ ý.
[in] aMessage
Con trỏ đến tin nhắn đã nhận.
[in] aMessageInfo
Con trỏ đến thông tin tin nhắn liên kết với aMessage.
[in] aIcmpHeader
Con trỏ đến tiêu đề ICMPv6 nhận được.

otIcmp6Type

enum otIcmp6Type otIcmp6Type

Loại thông báo ICMPv6.

Biến

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIcmp6Header OT_TOOL_PACKED_END

Hàm

otIcmp6GetEchoMode

otIcmp6EchoMode otIcmp6GetEchoMode(
  otInstance *aInstance
)

Cho biết liệu tính năng xử lý ICMPv6 Echo có được bật hay không.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
Giá trị trả về
OT_ICMP6_ECHO_HANDLER_DISABLED
Tính năng xử lý tiếng vọng ICMPv6 bị tắt.
OT_ICMP6_ECHO_HANDLER_UNICAST_ONLY
Đã bật tính năng xử lý ICMPv6 Echo chỉ cho các yêu cầu unicast
OT_ICMP6_ECHO_HANDLER_MULTICAST_ONLY
Chỉ bật tính năng xử lý ICMPv6 Echo cho các yêu cầu phát đa hướng
OT_ICMP6_ECHO_HANDLER_ALL
Đã bật tính năng xử lý ICMPv6 Echo cho các yêu cầu unicast và đa hướng

otIcmp6RegisterHandler

otError otIcmp6RegisterHandler(
  otInstance *aInstance,
  otIcmp6Handler *aHandler
)

Đăng ký một trình xử lý để cung cấp các thông báo ICMPv6 đã nhận.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aHandler
Con trỏ đến một trình xử lý chứa lệnh gọi lại được gọi khi nhận được thông báo ICMPv6.

otIcmp6SendEchoRequest

otError otIcmp6SendEchoRequest(
  otInstance *aInstance,
  otMessage *aMessage,
  const otMessageInfo *aMessageInfo,
  uint16_t aIdentifier
)

Gửi một Yêu cầu Echo ICMPv6 thông qua giao diện Thread.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aMessage
Con trỏ đến vùng đệm thông báo chứa tải trọng ICMPv6.
[in] aMessageInfo
Tham chiếu đến thông tin tin nhắn liên quan đến aMessage.
[in] aIdentifier
Một giá trị nhận dạng để hỗ trợ việc so khớp Echo Phản hồi với Yêu cầu tiếng vọng này. Có thể bằng 0.

otIcmp6SetEchoMode

void otIcmp6SetEchoMode(
  otInstance *aInstance,
  otIcmp6EchoMode aMode
)

Đặt xem có bật tính năng xử lý ICMPv6 Echo hay không.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aMode
Chế độ xử lý Echo ICMPv6.

Macro

OT_ICMP6_HEADER_DATA_SIZE

 OT_ICMP6_HEADER_DATA_SIZE 4

Kích thước của Tiêu đề ICMPv6.

OT_ICMP6_ROUTER_ADVERT_MIN_SIZE

 OT_ICMP6_ROUTER_ADVERT_MIN_SIZE 16

Kích thước của thông báo Quảng cáo bộ định tuyến mà không có bất kỳ tùy chọn nào.

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.