อินเทอร์เฟซสำหรับโครงสร้างพื้นฐาน

โมดูลนี้ประกอบด้วยกระบวนการ Abstraction ของแพลตฟอร์มสำหรับอินเทอร์เฟซเครือข่ายโครงสร้างพื้นฐานที่อยู่ติดกัน

สรุป

ฟังก์ชัน

otPlatInfraIfDiscoverNat64Prefix(uint32_t aInfraIfIndex)
ส่งคำขอเพื่อค้นหาคำนำหน้า NAT64 บนอินเทอร์เฟซโครงสร้างพื้นฐานด้วย aInfraIfIndex
otPlatInfraIfDiscoverNat64PrefixDone(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Prefix *aIp6Prefix)
void
ไดรเวอร์อินเทอร์เฟซ infra เรียกใช้วิธีการนี้เพื่อแจ้ง OpenThread ว่าได้ค้นพบคำนำหน้า NAT64 แล้ว
otPlatInfraIfHasAddress(uint32_t aInfraIfIndex, const otIp6Address *aAddress)
bool
บอกให้ทราบว่าอินเทอร์เฟซโครงสร้างพื้นฐานมีที่อยู่ IPv6 ที่กำหนดแล้วหรือไม่
otPlatInfraIfRecvIcmp6Nd(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Address *aSrcAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
void
ไดรเวอร์อินเทอร์เฟซ infra เรียกใช้วิธีการนี้เพื่อแจ้ง OpenThread ว่าได้รับข้อความ ICMPv6 Neighbor Discovery
otPlatInfraIfSendIcmp6Nd(uint32_t aInfraIfIndex, const otIp6Address *aDestAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
ส่งข้อความ ICMPv6 Neighbor Discovery บนอินเทอร์เฟซโครงสร้างพื้นฐานที่ระบุ
otPlatInfraIfStateChanged(otInstance *aInstance, uint32_t aInfraIfIndex, bool aIsRunning)
ไดรเวอร์อินเทอร์เฟซ infra เรียกใช้เมธอดนี้เพื่อแจ้ง OpenThread เกี่ยวกับการเปลี่ยนแปลงสถานะของอินเทอร์เฟซ

ฟังก์ชัน

otPlatInfraIfDiscoverNat64Prefix

otError otPlatInfraIfDiscoverNat64Prefix(
  uint32_t aInfraIfIndex
)

ส่งคำขอเพื่อค้นหาคำนำหน้า NAT64 บนอินเทอร์เฟซโครงสร้างพื้นฐานด้วย aInfraIfIndex

OpenThread จะเรียกเมธอดนี้เป็นระยะๆ เพื่อตรวจสอบการมีอยู่หรือการเปลี่ยนแปลงของคำนำหน้า NAT64

รายละเอียด
พารามิเตอร์
[in] aInfraIfIndex
ดัชนีของอินเทอร์เฟซโครงสร้างพื้นฐานเพื่อค้นหาคำนำหน้า NAT64
แสดงผลค่า
OT_ERROR_NONE
ขอการค้นพบคำนำหน้า NAT64 เรียบร้อยแล้ว
OT_ERROR_FAILED
ขอการค้นพบคำนำหน้า NAT64 ไม่สำเร็จ

otPlatInfraIfDiscoverNat64PrefixDone

void otPlatInfraIfDiscoverNat64PrefixDone(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  const otIp6Prefix *aIp6Prefix
)

ไดรเวอร์อินเทอร์เฟซ infra เรียกใช้วิธีการนี้เพื่อแจ้ง OpenThread ว่าได้ค้นพบคำนำหน้า NAT64 แล้ว

ควรมีการเรียกใช้หลังจากเรียก otPlatInfraIfDiscoverNat64Prefix หากไม่พบคำนำหน้า NAT64 รหัส aIp6Prefix จะชี้ไปที่คำนำหน้าว่างซึ่งมีความยาวเป็น 0

รายละเอียด
พารามิเตอร์
[in] aInstance
โครงสร้างอินสแตนซ์ OpenThread
[in] aInfraIfIndex
ดัชนีของอินเทอร์เฟซโครงสร้างพื้นฐานที่พบคำนำหน้า NAT64
[in] aIp6Prefix
ตัวชี้ไปยังคำนำหน้า NAT64

otPlatInfraIfHasAddress

bool otPlatInfraIfHasAddress(
  uint32_t aInfraIfIndex,
  const otIp6Address *aAddress
)

บอกให้ทราบว่าอินเทอร์เฟซโครงสร้างพื้นฐานมีที่อยู่ IPv6 ที่กำหนดแล้วหรือไม่

รายละเอียด
พารามิเตอร์
[in] aInfraIfIndex
ดัชนีของอินเทอร์เฟซอินฟรา
[in] aAddress
ที่อยู่ IPv6
การส่งคืน
TRUE ถ้าอินเทอร์เฟซโครงสร้างพื้นฐานมีการกำหนดที่อยู่ IPv6 ไว้ ไม่เช่นนั้นจะเป็นเท็จ

otPlatInfraIfRecvIcmp6Nd

void otPlatInfraIfRecvIcmp6Nd(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  const otIp6Address *aSrcAddress,
  const uint8_t *aBuffer,
  uint16_t aBufferLength
)

ไดรเวอร์อินเทอร์เฟซ infra เรียกใช้วิธีการนี้เพื่อแจ้ง OpenThread ว่าได้รับข้อความ ICMPv6 Neighbor Discovery

ดู RFC 4861 ที่ https://tools.ietf.org/html/rfc4861

รายละเอียด
พารามิเตอร์
[in] aInstance
โครงสร้างอินสแตนซ์ OpenThread
[in] aInfraIfIndex
ดัชนีของอินเทอร์เฟซโครงสร้างพื้นฐานที่ได้รับข้อความ ICMPv6
[in] aSrcAddress
อีเมลต้นทางที่ได้รับข้อความนี้
[in] aBuffer
บัฟเฟอร์ข้อความ ICMPv6
[in] aBufferLength
ความยาวของบัฟเฟอร์ข้อความ ICMPv6

otPlatInfraIfSendIcmp6Nd

otError otPlatInfraIfSendIcmp6Nd(
  uint32_t aInfraIfIndex,
  const otIp6Address *aDestAddress,
  const uint8_t *aBuffer,
  uint16_t aBufferLength
)

ส่งข้อความ ICMPv6 Neighbor Discovery บนอินเทอร์เฟซโครงสร้างพื้นฐานที่ระบุ

ดู RFC 4861 ที่ https://tools.ietf.org/html/rfc4861

รายละเอียด
พารามิเตอร์
[in] aInfraIfIndex
ดัชนีของอินเทอร์เฟซโครงสร้างพื้นฐานที่ข้อความนี้ส่งไป
[in] aDestAddress
ที่อยู่ปลายทางที่ระบบส่งข้อความนี้
[in] aBuffer
บัฟเฟอร์ข้อความ ICMPv6 ผลรวมตรวจสอบของ ICMPv6 จะเป็นศูนย์และแพลตฟอร์มควรคำนวณผลรวมตรวจสอบ
[in] aBufferLength
ความยาวของบัฟเฟอร์ข้อความ
แสดงผลค่า
OT_ERROR_NONE
ส่งข้อความ ICMPv6 สำเร็จแล้ว
OT_ERROR_FAILED
ไม่สามารถส่งข้อความ ICMPv6

otPlatInfraIfStateChanged

otError otPlatInfraIfStateChanged(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  bool aIsRunning
)

ไดรเวอร์อินเทอร์เฟซ infra เรียกใช้เมธอดนี้เพื่อแจ้ง OpenThread เกี่ยวกับการเปลี่ยนแปลงสถานะของอินเทอร์เฟซ

แพลตฟอร์มสามารถเรียกใช้เมธอดได้ แม้ว่าสถานะการทำงานของอินเทอร์เฟซจะไม่มีการเปลี่ยนแปลงก็ตาม ในกรณีนี้ Routing Manager จะไม่ได้รับผลกระทบ

รายละเอียด
พารามิเตอร์
[in] aInstance
โครงสร้างอินสแตนซ์ OpenThread
[in] aInfraIfIndex
ดัชนีของอินเทอร์เฟซโครงสร้างพื้นฐาน
[in] aIsRunning
บูลีนที่ระบุว่าอินเทอร์เฟซโครงสร้างพื้นฐานทำงานอยู่หรือไม่
แสดงผลค่า
OT_ERROR_NONE
อัปเดตสถานะอินเทอร์เฟซโครงสร้างพื้นฐานสำเร็จแล้ว
OT_ERROR_INVALID_STATE
Routing Manager ไม่เริ่มต้น
OT_ERROR_INVALID_ARGS
aInfraIfIndex ไม่ตรงกับอินเทอร์เฟซโครงสร้างพื้นฐานที่ Routing Manager เริ่มต้น

แหล่งข้อมูล

หัวข้ออ้างอิง API ของ OpenThread จะมาจากซอร์สโค้ดซึ่งพร้อมใช้งานใน GitHub ดูข้อมูลเพิ่มเติมหรือมีส่วนร่วมในเอกสารประกอบของเราได้ที่แหล่งข้อมูล