Border Router

โมดูลนี้มีฟังก์ชันสําหรับจัดการข้อมูลเครือข่ายภายในด้วยเราเตอร์ OpenThread Border

สรุป

ฟังก์ชัน

otBorderRouterAddOnMeshPrefix(otInstance *aInstance, const otBorderRouterConfig *aConfig)
เพิ่มการกําหนดค่าเราเตอร์เส้นขอบในข้อมูลเครือข่ายภายใน
otBorderRouterAddRoute(otInstance *aInstance, const otExternalRouteConfig *aConfig)
เพิ่มการกําหนดค่าเส้นทางภายนอกลงในข้อมูลเครือข่ายภายใน
otBorderRouterGetNetData(otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
วิธีนี้ให้สําเนาที่สมบูรณ์หรือคงที่ของข้อมูลเครือข่ายชุดข้อความในพื้นที่
otBorderRouterGetNextOnMeshPrefix(otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
ฟังก์ชันนี้จะได้รับคํานําหน้า On Mesh ครั้งถัดไปในข้อมูลเครือข่ายในเครื่อง
otBorderRouterGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
ฟังก์ชันนี้จะรับเส้นทางภายนอกถัดไปในข้อมูลเครือข่ายภายใน
otBorderRouterRegister(otInstance *aInstance)
ลงทะเบียนข้อมูลเครือข่ายท้องถิ่นกับผู้นําทันที
otBorderRouterRemoveOnMeshPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix)
นําการกําหนดค่าเราเตอร์เส้นขอบออกจากข้อมูลเครือข่ายภายใน
otBorderRouterRemoveRoute(otInstance *aInstance, const otIp6Prefix *aPrefix)
นําการกําหนดค่าเส้นทางภายนอกออกจากข้อมูลเครือข่ายภายใน
otBorderRoutingGetNat64Prefix(otInstance *aInstance, otIp6Prefix *aPrefix)
ฟังก์ชันนี้ส่งกลับคํานําหน้า NAT64 ในเครื่อง
otBorderRoutingGetOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
เมธอดนี้จะแสดงผลคํานําหน้า "Mesh-Routable (OMR)"
otBorderRoutingGetOnLinkPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
เมธอดนี้จะแสดงคํานําหน้าลิงก์สําหรับลิงก์โครงสร้างพื้นฐานที่อยู่ติดกัน
otBorderRoutingInit(otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning)
วิธีนี้จะเริ่มเครื่องมือจัดการการกําหนดเส้นทางเส้นขอบบนอินเทอร์เฟซโครงสร้างพื้นฐานที่ให้ไว้
otBorderRoutingSetEnabled(otInstance *aInstance, bool aEnabled)
วิธีนี้จะเปิด/ปิดใช้เครื่องมือจัดการการกําหนดเส้นทางเส้นขอบ

ฟังก์ชัน

otBorderRouterAddOnMeshPrefix

otError otBorderRouterAddOnMeshPrefix(
  otInstance *aInstance,
  const otBorderRouterConfig *aConfig
)

เพิ่มการกําหนดค่าเราเตอร์เส้นขอบในข้อมูลเครือข่ายภายใน

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aConfig
ตัวชี้ไปยังการกําหนดค่าเราเตอร์เส้นขอบ
แสดงผลค่า
OT_ERROR_NONE
เพิ่มการกําหนดค่าลงในข้อมูลเครือข่ายภายในสําเร็จแล้ว
OT_ERROR_INVALID_ARGS
พารามิเตอร์การกําหนดค่าอย่างน้อย 1 รายการไม่ถูกต้อง
OT_ERROR_NO_BUFS
มีพื้นที่ว่างไม่เพียงพอที่จะเพิ่มการกําหนดค่าลงในข้อมูลเครือข่ายเฉพาะที่
โปรดดูเพิ่มเติม
otBorderRouterRemoveOnMeshPrefix
otBorderRouterRegister

OTBorderRouterAddRoute

otError otBorderRouterAddRoute(
  otInstance *aInstance,
  const otExternalRouteConfig *aConfig
)

เพิ่มการกําหนดค่าเส้นทางภายนอกลงในข้อมูลเครือข่ายภายใน

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aConfig
ตัวชี้ไปยังการกําหนดค่าเส้นทางภายนอก
แสดงผลค่า
OT_ERROR_NONE
เพิ่มการกําหนดค่าลงในข้อมูลเครือข่ายภายในสําเร็จแล้ว
OT_ERROR_INVALID_ARGS
พารามิเตอร์การกําหนดค่าอย่างน้อย 1 รายการไม่ถูกต้อง
OT_ERROR_NO_BUFS
มีพื้นที่ว่างไม่เพียงพอที่จะเพิ่มการกําหนดค่าลงในข้อมูลเครือข่ายเฉพาะที่
โปรดดูเพิ่มเติม
otBorderRouterRemoveRoute
otBorderRouterRegister

OTBorderRouterGetNetData

otError otBorderRouterGetNetData(
  otInstance *aInstance,
  bool aStable,
  uint8_t *aData,
  uint8_t *aDataLength
)

วิธีนี้ให้สําเนาที่สมบูรณ์หรือคงที่ของข้อมูลเครือข่ายชุดข้อความในพื้นที่

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aStable
TRUE เมื่อคัดลอกเวอร์ชันเสถียร เท็จเมื่อคัดลอกเวอร์ชันเต็ม
[out] aData
ตัวชี้ไปยังบัฟเฟอร์ข้อมูล
[in,out] aDataLength
ขนาดของบัฟเฟอร์ข้อมูลซึ่ง aData ชี้ที่ทางเข้า เมื่อออก จํานวนไบต์ที่คัดลอก

otBorderRouterGetNextOnMeshPrefix

otError otBorderRouterGetNextOnMeshPrefix(
  otInstance *aInstance,
  otNetworkDataIterator *aIterator,
  otBorderRouterConfig *aConfig
)

ฟังก์ชันนี้จะได้รับคํานําหน้า On Mesh ครั้งถัดไปในข้อมูลเครือข่ายในเครื่อง

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in,out] aIterator
ตัวชี้ไปยังบริบทตัวดําเนินการข้อมูลเครือข่าย หากต้องการให้รายการแรกทํางาน ควรตั้งค่าให้เป็น OT_NETWORK_DATA_ITERATOR_INIT
[out] aConfig
ตัวชี้ข้อมูลคํานําหน้า On Mesh
แสดงผลค่า
OT_ERROR_NONE
พบคํานําหน้า On Mesh ครั้งถัดไปเรียบร้อยแล้ว
OT_ERROR_NOT_FOUND
ไม่มีข้อมูลคํานําหน้า Mesh หลังจากนี้ในข้อมูลเครือข่ายชุดข้อความ

OTBorderRouterGetNextRoute

otError otBorderRouterGetNextRoute(
  otInstance *aInstance,
  otNetworkDataIterator *aIterator,
  otExternalRouteConfig *aConfig
)

ฟังก์ชันนี้จะรับเส้นทางภายนอกถัดไปในข้อมูลเครือข่ายภายใน

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in,out] aIterator
ตัวชี้ไปยังบริบทตัวดําเนินการข้อมูลเครือข่าย หากต้องการรับข้อมูลเส้นทางภายนอกรายการแรก คุณควรตั้งค่าเป็น OT_NETWORK_DATA_ITERATOR_INIT
[out] aConfig
ตัวชี้ข้อมูลเส้นทางภายนอก
แสดงผลค่า
OT_ERROR_NONE
พบเส้นทางภายนอกครั้งถัดไปเรียบร้อยแล้ว
OT_ERROR_NOT_FOUND
ไม่มีข้อมูลเส้นทางภายนอกที่ตามมาในข้อมูลเครือข่ายชุดข้อความ

OTBorderRouterRegister

otError otBorderRouterRegister(
  otInstance *aInstance
)

ลงทะเบียนข้อมูลเครือข่ายท้องถิ่นกับผู้นําทันที

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
แสดงผลค่า
OT_ERROR_NONE
จัดคิวข้อความขอข้อมูลเซิร์ฟเวอร์สําหรับการส่งเรียบร้อยแล้ว
โปรดดูเพิ่มเติม
otBorderRouterAddOnMeshPrefix
otBorderRouterRemoveOnMeshPrefix
otBorderRouterAddRoute
otBorderRouterRemoveRoute

otBorderRouterRemoveOnMeshPrefix

otError otBorderRouterRemoveOnMeshPrefix(
  otInstance *aInstance,
  const otIp6Prefix *aPrefix
)

นําการกําหนดค่าเราเตอร์เส้นขอบออกจากข้อมูลเครือข่ายภายใน

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aPrefix
ตัวชี้ไปยังคํานําหน้า IPv6
แสดงผลค่า
OT_ERROR_NONE
นําการกําหนดค่าออกจากข้อมูลเครือข่ายภายในแล้ว
OT_ERROR_NOT_FOUND
ไม่พบรายการ Border Router
ดูเพิ่มเติม
otBorderRouterAddOnMeshPrefix
otBorderRouterRegister

otBorderRouterRemoveRoute

otError otBorderRouterRemoveRoute(
  otInstance *aInstance,
  const otIp6Prefix *aPrefix
)

นําการกําหนดค่าเส้นทางภายนอกออกจากข้อมูลเครือข่ายภายใน

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aPrefix
ตัวชี้ไปยังคํานําหน้า IPv6
แสดงผลค่า
OT_ERROR_NONE
นําการกําหนดค่าออกจากข้อมูลเครือข่ายภายในแล้ว
OT_ERROR_NOT_FOUND
ไม่พบรายการ Border Router
โปรดดูเพิ่มเติม
otBorderRouterAddRoute
otBorderRouterRegister

OTBorderRouting GetNat64Prefix

otError otBorderRoutingGetNat64Prefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

ฟังก์ชันนี้ส่งกลับคํานําหน้า NAT64 ในเครื่อง

คํานําหน้านี้อาจไม่ได้โฆษณาในเครือข่ายชุดข้อความ

ฟังก์ชันนี้จะใช้ได้เมื่อเปิดใช้ OPENTHREAD_CONFIG_BORDER_ROUTING_NAT64_ENABLE เท่านั้น

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[out] aPrefix
ตัวชี้ไปยังคํานําหน้าที่จะแสดงผลข้อมูล
แสดงผลค่า
OT_ERROR_INVALID_STATE
ยังไม่ได้เริ่มต้นโปรแกรมจัดการการกําหนดเส้นทางเส้นขอบ
OT_ERROR_NONE
เรียกดูคํานําหน้า NAT64 สําเร็จแล้ว

OTBorderRoutingGetOmrPrefix

otError otBorderRoutingGetOmrPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

เมธอดนี้จะแสดงผลคํานําหน้า "Mesh-Routable (OMR)"

ระบบจะเผยแพร่คํานําหน้า 64 บิตที่สร้างขึ้นแบบสุ่มในเครือข่ายชุดข้อความหากยังไม่ได้มีคํานําหน้า OMR

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[out] aPrefix
ตัวชี้ไปยังคํานําหน้าที่จะแสดงผลข้อมูล
แสดงผลค่า
OT_ERROR_INVALID_STATE
ยังไม่ได้เริ่มต้นโปรแกรมจัดการการกําหนดเส้นทางเส้นขอบ
OT_ERROR_NONE
เรียกข้อมูลคํานําหน้า OMR เรียบร้อยแล้ว

otBorderRoutingGetOnLinkPrefix

otError otBorderRoutingGetOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

เมธอดนี้จะแสดงคํานําหน้าลิงก์สําหรับลิงก์โครงสร้างพื้นฐานที่อยู่ติดกัน

คํานําหน้า 64 บิตที่สร้างขึ้นแบบสุ่มจะมีการโฆษณาในลิงก์โครงสร้างพื้นฐาน หากยังไม่มีการโฆษณานําหน้าคํานําหน้าที่ใช้งานได้ในลิงก์

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[out] aPrefix
ตัวชี้ไปยังคํานําหน้าที่จะแสดงผลข้อมูล
แสดงผลค่า
OT_ERROR_INVALID_STATE
ยังไม่ได้เริ่มต้นโปรแกรมจัดการการกําหนดเส้นทางเส้นขอบ
OT_ERROR_NONE
ดึงข้อมูลคํานําหน้าลิงก์เรียบร้อยแล้ว

OTBorderRouting Init

otError otBorderRoutingInit(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  bool aInfraIfIsRunning
)

วิธีนี้จะเริ่มเครื่องมือจัดการการกําหนดเส้นทางเส้นขอบบนอินเทอร์เฟซโครงสร้างพื้นฐานที่ให้ไว้

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

otBorderRoutingSetEnabled

otError otBorderRoutingSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

วิธีนี้จะเปิด/ปิดใช้เครื่องมือจัดการการกําหนดเส้นทางเส้นขอบ

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aEnabled
บูลีนเพื่อเปิดใช้/ปิดใช้ตัวจัดการการกําหนดเส้นทาง
แสดงผลค่า
OT_ERROR_INVALID_STATE
ยังไม่ได้เริ่มต้นโปรแกรมจัดการการกําหนดเส้นทางเส้นขอบ
OT_ERROR_NONE
เปิด/ปิดใช้เครื่องมือจัดการการกําหนดเส้นทางเส้นขอบเรียบร้อยแล้ว

ทรัพยากร

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