Border Router

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

สรุป

ประเภทคําสั่ง

otBorderRouterNetDataFullCallback)(void *aContext) Typedef
void(*
การเรียกกลับสําหรับฟังก์ชันซึ่งเรียกใช้เมื่อข้อมูลเครือข่าย (ภายในเครื่องหรือผู้นํา) เต็ม

ฟังก์ชัน

otBorderRouterAddOnMeshPrefix(otInstance *aInstance, const otBorderRouterConfig *aConfig)
เพิ่มการกําหนดค่า Border Router ในข้อมูลเครือข่ายภายใน
otBorderRouterAddRoute(otInstance *aInstance, const otExternalRouteConfig *aConfig)
เพิ่มการกําหนดค่าเส้นทางภายนอกไปยังข้อมูลเครือข่ายภายใน
otBorderRouterGetNetData(otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
มอบสําเนาที่สมบูรณ์หรือคงที่ของข้อมูลเครือข่ายเทรดในเครื่อง
otBorderRouterGetNextOnMeshPrefix(otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
รับคํานําหน้า Mesh ถัดไปในข้อมูลเครือข่ายภายใน
otBorderRouterGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
รับเส้นทางภายนอกถัดไปในข้อมูลเครือข่ายภายใน
otBorderRouterRegister(otInstance *aInstance)
ลงทะเบียนข้อมูลเครือข่ายท้องถิ่นกับผู้นําโดยทันที
otBorderRouterRemoveOnMeshPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix)
นําการกําหนดค่า Border Router ออกจากข้อมูลเครือข่ายในเครื่อง
otBorderRouterRemoveRoute(otInstance *aInstance, const otIp6Prefix *aPrefix)
นําการกําหนดค่าเส้นทางภายนอกออกจากข้อมูลเครือข่ายภายใน
otBorderRouterSetNetDataFullCallback(otInstance *aInstance, otBorderRouterNetDataFullCallback aCallback, void *aContext)
void
ตั้งค่าโค้ดเรียกกลับเพื่อระบุว่าข้อมูลเครือข่ายจะเต็มเมื่อใด

ประเภทคําสั่ง

otBorderRouterNetDataFullFullback

void(* otBorderRouterNetDataFullCallback)(void *aContext)

การเรียกกลับสําหรับฟังก์ชันซึ่งเรียกใช้เมื่อข้อมูลเครือข่าย (ภายในเครื่องหรือผู้นํา) เต็ม

รายละเอียด
พารามิเตอร์
[in] aContext
ตัวชี้ไปยังข้อมูลบริบทที่กําหนดเอง

ฟังก์ชัน

OTBorderRouterAddOnMeshPrefix

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

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

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aConfig
ตัวชี้ไปยังการกําหนดค่าเราเตอร์ Border
แสดงผลค่า
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 เมื่อคัดลอกเวอร์ชันเสถียร FALSE เมื่อคัดลอกเวอร์ชันเต็ม
[out] aData
ตัวชี้ไปยังบัฟเฟอร์ข้อมูล
[in,out] aDataLength
เมื่ออัปโหลด ขนาดของบัฟเฟอร์ข้อมูลที่ชี้ไปยัง aData เมื่อออก จํานวนไบต์ที่คัดลอก

OTBorderRouterGetNextOnMeshPrefix

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

รับคํานําหน้า Mesh ถัดไปในข้อมูลเครือข่ายภายใน

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in,out] aIterator
ตัวชี้ไปยังบริบทตัววนซ้ําข้อมูลเครือข่าย ในการรับรายการ Mesh รายการแรก ควรตั้งค่าเป็น OT_NETWORK_DATA_ITERATOR_INIT
[out] aConfig
ตัวชี้ไปยังข้อมูลคํานําหน้า Mesh
แสดงผลค่า
OT_ERROR_NONE
พบคํานําหน้า 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
พบ External Route ถัดไปเรียบร้อยแล้ว
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
)

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

รายละเอียด
พารามิเตอร์
[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

OTBorderRouterSetNetDataFullFullback

void otBorderRouterSetNetDataFullCallback(
  otInstance *aInstance,
  otBorderRouterNetDataFullCallback aCallback,
  void *aContext
)

ตั้งค่าโค้ดเรียกกลับเพื่อระบุว่าข้อมูลเครือข่ายจะเต็มเมื่อใด

ต้องใช้ OPENTHREAD_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL

ระบบจะเรียกโค้ดเรียกกลับเมื่อใดก็ตามที่:

  • อุปกรณ์กําลังทําหน้าที่เป็นผู้นําและได้รับการลงทะเบียนข้อมูลเครือข่ายจาก Border Router (BR) ซึ่งไม่สามารถเพิ่มลงในข้อมูลเครือข่ายได้ (พื้นที่เต็ม)
  • อุปกรณ์ทําหน้าที่เป็น BR และจะไม่สามารถเพิ่มรายการใหม่ในข้อมูลเครือข่ายภายใน
  • อุปกรณ์ทําหน้าที่เป็น BR และพยายามลงทะเบียนข้อมูลเครือข่ายในเครื่องกับผู้นํา แต่พบว่ารายการในเครื่องนั้นไม่พอดี

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

แหล่งข้อมูล

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