เครื่องมือจัดการ Border Routing

โมดูลนี้มีคำจำกัดความที่เกี่ยวข้องกับ Border Routing Manager

สรุป

ฟังก์ชันทั้งหมดในโมดูลนี้ต้องเปิดใช้งาน OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE

Border Routing Manager จัดการการกำหนดเส้นทางแบบ 2 ทิศทางระหว่างเครือข่ายเทรดและลิงก์โครงสร้างพื้นฐานที่อยู่ติดกัน (AIL)

โดยจะส่งข้อความโฆษณาเราเตอร์ ICMRv6 ND (RA) ใน AIL เพื่อโฆษณาคำนำหน้าลิงก์และกำหนดเส้นทางคำนำหน้า นอกจากนี้ยังประมวลผลข้อความ RA จากโครงสร้างพื้นฐานและมิเรอร์คำนำหน้าที่ค้นพบบนข้อมูลเครือข่ายเทรด เพื่อให้แน่ใจว่าอุปกรณ์ในตาข่ายเทรดสามารถเข้าถึง AIL ผ่าน Border Router

Routing Manager จัดการคำนำหน้า Off-Mesh Routable (OMR) ในข้อมูลเครือข่ายเทรด ซึ่งกำหนดค่าอุปกรณ์ Thread ด้วยที่อยู่ IPv6 ที่กำหนดเส้นทางได้แบบปิด Mesh ที่เหมาะสม โดยจะประกาศความสามารถในการเข้าถึงของคำนำหน้านี้ใน AIL ด้วยการใส่คำนำหน้านี้ในข้อความ RA ที่ปล่อยออกมาเป็นตัวเลือกข้อมูลเส้นทาง IPv6 (RIO)

Routing Manager ยังตรวจสอบและเพิ่มคำนำหน้าลิงก์บนเครือข่ายโครงสร้างพื้นฐานด้วย หากเราเตอร์ใน AIL ส่งข้อความ RA ที่มีตัวเลือกข้อมูลคำนำหน้า IPv6 (PIO) ซึ่งทำให้อุปกรณ์ IPv6 ในลิงก์สามารถกำหนดค่าที่อยู่ IPv6 แบบ Unicast ที่กำหนดเส้นทางด้วยตนเองได้ อุปกรณ์เทรดจะใช้ที่อยู่นี้เพื่อเข้าถึง AIL ได้ หาก Border Router ไม่พบข้อความ RA ดังกล่าวใน AIL ระบบจะสร้างคำนำหน้า ULA On Link ซึ่งจะโฆษณาใน AIL ในข้อความ RA ที่ปล่อยออกมา

การแจกแจง

otBorderRoutingDhcp6PdState{
  OT_BORDER_ROUTING_DHCP6_PD_STATE_DISABLED,
  OT_BORDER_ROUTING_DHCP6_PD_STATE_STOPPED,
  OT_BORDER_ROUTING_DHCP6_PD_STATE_RUNNING
}
enum
การแจงนับนี้แสดงสถานะของการมอบสิทธิ์คำนำหน้า DHCPv6
otBorderRoutingState{
  OT_BORDER_ROUTING_STATE_UNINITIALIZED,
  OT_BORDER_ROUTING_STATE_DISABLED,
  OT_BORDER_ROUTING_STATE_STOPPED,
  OT_BORDER_ROUTING_STATE_RUNNING
}
enum
แสดงสถานะของ Border Routing Manager

Typedef

otBorderRoutingPrefixTableEntry typedef
แสดงรายการจากตารางคำนำหน้าที่ค้นพบ
otBorderRoutingPrefixTableIterator typedef
แสดงถึงการทำซ้ำเพื่อทำซ้ำผ่านตารางคำนำหน้าที่ Border Router ที่ค้นพบ
otBorderRoutingRouterEntry typedef
แสดงเราเตอร์ที่ค้นพบในลิงก์โครงสร้างพื้นฐาน
otPdProcessedRaInfo typedef
แสดงกลุ่มข้อมูลข้อความ RA ที่แพลตฟอร์มสร้างขึ้นซึ่งประมวลผลแล้ว

ฟังก์ชัน

otBorderRoutingClearRouteInfoOptionPreference(otInstance *aInstance)
void
ล้างค่ากําหนดที่ตั้งไว้ก่อนหน้าสําหรับตัวเลือกข้อมูลเส้นทางที่โฆษณา
otBorderRoutingClearRoutePreference(otInstance *aInstance)
void
ล้างค่ากําหนดที่ตั้งไว้ก่อนหน้าสําหรับเส้นทางที่เผยแพร่ในข้อมูลเครือข่าย
otBorderRoutingDhcp6PdGetState(otInstance *aInstance)
รับสถานะปัจจุบันของการมอบสิทธิ์คำนำหน้า DHCPv6
otBorderRoutingDhcp6PdSetEnabled(otInstance *aInstance, bool aEnabled)
void
เปิดใช้ / ปิดใช้การมอบสิทธิ์คำนำหน้า DHCPv6
otBorderRoutingGetFavoredNat64Prefix(otInstance *aInstance, otIp6Prefix *aPrefix, otRoutePreference *aPreference)
รับคำนำหน้า NAT64 ที่โปรดปรานในขณะนี้
otBorderRoutingGetFavoredOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix, otRoutePreference *aPreference)
รับคำนำหน้า Off-Mesh-Routable (OMR) ที่ได้รับความนิยมในขณะนี้
otBorderRoutingGetFavoredOnLinkPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
รับคำนำหน้า On-Link ซึ่งเป็นที่นิยมในปัจจุบัน
otBorderRoutingGetNat64Prefix(otInstance *aInstance, otIp6Prefix *aPrefix)
รับคำนำหน้า NAT64 ภายในของ Border Router
otBorderRoutingGetNextPrefixTableEntry(otInstance *aInstance, otBorderRoutingPrefixTableIterator *aIterator, otBorderRoutingPrefixTableEntry *aEntry)
ทำซ้ำรายการในตารางคำนำหน้าที่ Border Router ที่ค้นพบ
otBorderRoutingGetNextRouterEntry(otInstance *aInstance, otBorderRoutingPrefixTableIterator *aIterator, otBorderRoutingRouterEntry *aEntry)
ทำซ้ำรายการเราเตอร์ที่ค้นพบในลิงก์โครงสร้างพื้นฐาน
otBorderRoutingGetOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
รับคำนำหน้า Off-Mesh-Routable (OMR) ในเครื่อง เช่น fdfc:1ff5:1512:5622::/64
otBorderRoutingGetOnLinkPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
รับคำนำหน้า On-Link ภายในสำหรับลิงก์โครงสร้างพื้นฐานที่อยู่ติดกัน
otBorderRoutingGetPdOmrPrefix(otInstance *aInstance, otBorderRoutingPrefixTableEntry *aPrefixInfo)
รับคำนำหน้านอกตาข่าย (OMR) ที่ใช้ DHCPv6 Prefix Delegation (PD)
otBorderRoutingGetPdProcessedRaInfo(otInstance *aInstance, otPdProcessedRaInfo *aPdProcessedRaInfo)
รับข้อมูลของข้อความ RA ที่สร้างโดยแพลตฟอร์มซึ่งประมวลผลแล้ว
otBorderRoutingGetRouteInfoOptionPreference(otInstance *aInstance)
รับค่ากำหนดปัจจุบันที่ใช้เมื่อโฆษณา Route Info Options (RIO) ในข้อความการโฆษณาเราเตอร์ที่ส่งผ่านลิงก์โครงสร้างพื้นฐาน
otBorderRoutingGetRoutePreference(otInstance *aInstance)
รับค่ากำหนดปัจจุบันที่ใช้สำหรับเส้นทางที่เผยแพร่ในข้อมูลเครือข่าย
otBorderRoutingGetState(otInstance *aInstance)
รับสถานะปัจจุบันของ Border Routing Manager
otBorderRoutingInit(otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning)
เริ่มต้น Border Routing Manager บนอินเทอร์เฟซโครงสร้างพื้นฐานที่กำหนด
otBorderRoutingPrefixTableInitIterator(otInstance *aInstance, otBorderRoutingPrefixTableIterator *aIterator)
void
เริ่มต้น otBorderRoutingPrefixTableIterator
otBorderRoutingSetEnabled(otInstance *aInstance, bool aEnabled)
เปิดหรือปิดใช้งาน Border Routing Manager
otBorderRoutingSetRouteInfoOptionPreference(otInstance *aInstance, otRoutePreference aPreference)
void
ตั้งค่ากำหนดที่จะใช้อย่างชัดเจนเมื่อโฆษณาตัวเลือกข้อมูลเส้นทาง (RIO) ในข้อความการโฆษณาเราเตอร์ที่ส่งผ่านลิงก์โครงสร้างพื้นฐาน
otBorderRoutingSetRoutePreference(otInstance *aInstance, otRoutePreference aPreference)
void
ตั้งค่ากำหนดของเส้นทางที่เผยแพร่ในข้อมูลเครือข่ายอย่างชัดเจน

โครงสร้าง

otBorderRoutingPrefixTableEntry

แสดงรายการจากตารางคำนำหน้าที่ค้นพบ

otBorderRoutingPrefixTableIterator

แสดงถึงการทำซ้ำเพื่อทำซ้ำผ่านตารางคำนำหน้าที่ Border Router ที่ค้นพบ

otBorderRoutingRouterEntry

แสดงเราเตอร์ที่ค้นพบในลิงก์โครงสร้างพื้นฐาน

otPdProcessedRaInfo

แสดงกลุ่มข้อมูลข้อความ RA ที่แพลตฟอร์มสร้างขึ้นซึ่งประมวลผลแล้ว

การแจกแจง

otBorderRoutingDhcp6PdState

 otBorderRoutingDhcp6PdState

การแจงนับนี้แสดงสถานะของการมอบสิทธิ์คำนำหน้า DHCPv6

พร็อพเพอร์ตี้
OT_BORDER_ROUTING_DHCP6_PD_STATE_DISABLED

DHCPv6 PD ถูกปิดใช้ใน Border Router

OT_BORDER_ROUTING_DHCP6_PD_STATE_RUNNING

DHCPv6 PD เปิดใช้อยู่และจะพยายามขอและเผยแพร่คำนำหน้า

OT_BORDER_ROUTING_DHCP6_PD_STATE_STOPPED

DHCPv6 PD เปิดใช้แล้ว แต่จะไม่พยายามขอและเผยแพร่คำนำหน้า

otBorderRoutingState

 otBorderRoutingState

แสดงสถานะของ Border Routing Manager

พร็อพเพอร์ตี้
OT_BORDER_ROUTING_STATE_DISABLED

Routing Manager ได้เริ่มต้นแล้วแต่ปิดใช้

OT_BORDER_ROUTING_STATE_RUNNING

Routing Manager มีการเริ่มต้น เปิดใช้ และทำงานอยู่

OT_BORDER_ROUTING_STATE_STOPPED

Routing Manager ได้เริ่มต้นและเปิดใช้งานแล้ว แต่ขณะนี้หยุดอยู่

OT_BORDER_ROUTING_STATE_UNINITIALIZED

Routing Manager ไม่ได้เริ่มต้นแล้ว

Typedef

otBorderRoutingPrefixTableEntry

struct otBorderRoutingPrefixTableEntry otBorderRoutingPrefixTableEntry

แสดงรายการจากตารางคำนำหน้าที่ค้นพบ

รายการในตารางที่ค้นพบจะติดตามตัวเลือกคำนำหน้า/เส้นทางในข้อความการโฆษณาเราเตอร์ที่ได้รับจากเราเตอร์อื่นๆ ในลิงก์โครงสร้างพื้นฐาน

otBorderRoutingPrefixTableIterator

struct otBorderRoutingPrefixTableIterator otBorderRoutingPrefixTableIterator

แสดงถึงการทำซ้ำเพื่อทำซ้ำผ่านตารางคำนำหน้าที่ Border Router ที่ค้นพบ

ช่องประเภทนี้จะทึบแสง (มีไว้ใช้กับ OpenThread Core เท่านั้น) ผู้โทรจึงไม่ควรเข้าถึงหรือใช้งานฟิลด์ดังกล่าว

ต้องเริ่มต้นโดยใช้ otBorderRoutingPrefixTableInitIterator() ก่อนใช้ตัวซ้ำ

otBorderRoutingRouterEntry

struct otBorderRoutingRouterEntry otBorderRoutingRouterEntry

แสดงเราเตอร์ที่ค้นพบในลิงก์โครงสร้างพื้นฐาน

otPdProcessedRaInfo

struct otPdProcessedRaInfo otPdProcessedRaInfo

แสดงกลุ่มข้อมูลข้อความ RA ที่แพลตฟอร์มสร้างขึ้นซึ่งประมวลผลแล้ว

ฟังก์ชัน

otBorderRoutingClearRouteInfoOptionPreference

void otBorderRoutingClearRouteInfoOptionPreference(
  otInstance *aInstance
)

ล้างค่ากําหนดที่ตั้งไว้ก่อนหน้าสําหรับตัวเลือกข้อมูลเส้นทางที่โฆษณา

หลังจากเรียกใช้ฟังก์ชันนี้ BR จะใช้บทบาทของอุปกรณ์เพื่อระบุค่ากำหนด RIO: ค่ากำหนดปานกลางเมื่ออยู่ในบทบาทเราเตอร์/ผู้นำ และอยู่ในบทบาทระดับล่าง

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread

otBorderRoutingClearRoutePreference

void otBorderRoutingClearRoutePreference(
  otInstance *aInstance
)

ล้างค่ากําหนดที่ตั้งไว้ก่อนหน้าสําหรับเส้นทางที่เผยแพร่ในข้อมูลเครือข่าย

หลังจากเรียกใช้ฟังก์ชันนี้ BR จะกำหนดค่ากำหนดโดยอัตโนมัติตามบทบาทและคุณภาพของลิงก์ของอุปกรณ์ (ไปยังผู้ปกครองเมื่อทำหน้าที่เป็นอุปกรณ์ปลายทาง)

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread

otBorderRoutingDhcp6PdGetState

otBorderRoutingDhcp6PdState otBorderRoutingDhcp6PdGetState(
  otInstance *aInstance
)

รับสถานะปัจจุบันของการมอบสิทธิ์คำนำหน้า DHCPv6

ต้องเปิดใช้ OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
การส่งคืน
สถานะปัจจุบันของการมอบสิทธิ์คำนำหน้า DHCPv6

otBorderRoutingDhcp6PdSetEnabled

void otBorderRoutingDhcp6PdSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

เปิดใช้ / ปิดใช้การมอบสิทธิ์คำนำหน้า DHCPv6

ต้องเปิดใช้ OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aEnabled
จะยอมรับข้อความ RA ที่แพลตฟอร์มสร้างขึ้นหรือไม่

otBorderRoutingGetFavoredNat64Prefix

otError otBorderRoutingGetFavoredNat64Prefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix,
  otRoutePreference *aPreference
)

รับคำนำหน้า NAT64 ที่โปรดปรานในขณะนี้

ดูคำนำหน้า NAT64 ที่ชอบได้จากลิงก์โครงสร้างพื้นฐานหรืออาจเป็นคำนำหน้า NAT64 ของอุปกรณ์เครื่องนี้ก็ได้

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

otBorderRoutingGetFavoredOmrPrefix

otError otBorderRoutingGetFavoredOmrPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix,
  otRoutePreference *aPreference
)

รับคำนำหน้า Off-Mesh-Routable (OMR) ที่ได้รับความนิยมในขณะนี้

คุณดูคำนำหน้า OMR ที่ชอบได้จากข้อมูลเครือข่ายหรืออาจเป็นคำนำหน้า OMR ในเครื่องของอุปกรณ์นี้

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

otBorderRoutingGetFavoredOnLinkPrefix

otError otBorderRoutingGetFavoredOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

รับคำนำหน้า On-Link ซึ่งเป็นที่นิยมในปัจจุบัน

คำนำหน้าที่โปรดปรานคือคำนำหน้า On-link ที่ค้นพบบนลิงก์โครงสร้างพื้นฐานหรือคำนำหน้า On-Link ภายใน

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

otBorderRoutingGetNat64Prefix

otError otBorderRoutingGetNat64Prefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

รับคำนำหน้า NAT64 ภายในของ Border Router

อาจไม่มีการโฆษณาคำนำหน้า NAT64 ในเครือข่ายเทรด

ต้องเปิดใช้ OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE

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

otBorderRoutingGetNextPrefixTableEntry

otError otBorderRoutingGetNextPrefixTableEntry(
  otInstance *aInstance,
  otBorderRoutingPrefixTableIterator *aIterator,
  otBorderRoutingPrefixTableEntry *aEntry
)

ทำซ้ำรายการในตารางคำนำหน้าที่ Border Router ที่ค้นพบ

ระบบรับประกันว่ารายการคำนำหน้าที่เชื่อมโยงกับเราเตอร์ที่ค้นพบเดียวกันในลิงก์โครงสร้างพื้นฐานจะมีการจัดกลุ่มไว้ด้วยกัน (ดึงข้อมูลอย่างต่อเนื่อง)

รายละเอียด
พารามิเตอร์
[in] aInstance
อินสแตนซ์ OpenThread
[in,out] aIterator
ตัวชี้ไปยังตัววนซ้ำ
[out] aEntry
ตัวชี้ไปยังรายการที่จะเติมข้อมูล
แสดงผลค่า
OT_ERROR_NONE
ทำซ้ำในรายการถัดไปแล้ว อัปเดต aEntry และ aIterator แล้ว
OT_ERROR_NOT_FOUND
ไม่มีรายการเพิ่มเติมในตาราง

otBorderRoutingGetNextRouterEntry

otError otBorderRoutingGetNextRouterEntry(
  otInstance *aInstance,
  otBorderRoutingPrefixTableIterator *aIterator,
  otBorderRoutingRouterEntry *aEntry
)

ทำซ้ำรายการเราเตอร์ที่ค้นพบในลิงก์โครงสร้างพื้นฐาน

รายละเอียด
พารามิเตอร์
[in] aInstance
อินสแตนซ์ OpenThread
[in,out] aIterator
ตัวชี้ไปยังตัววนซ้ำ
[out] aEntry
ตัวชี้ไปยังรายการที่จะเติมข้อมูล
แสดงผลค่า
OT_ERROR_NONE
อัปเดต aEntry และ aIterator ไปยังเราเตอร์ถัดไปแล้ว
OT_ERROR_NOT_FOUND
ไม่มีรายการเราเตอร์แล้ว

otBorderRoutingGetOmrPrefix

otError otBorderRoutingGetOmrPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

รับคำนำหน้า Off-Mesh-Routable (OMR) ในเครื่อง เช่น fdfc:1ff5:1512:5622::/64

คำนำหน้า OMR คือคำนำหน้า 64 บิตที่สร้างขึ้นแบบสุ่มซึ่งเผยแพร่ในเครือข่ายเทรดหากยังไม่มีคำนำหน้า OMR ซึ่งเข้าถึงคำนำหน้านี้ได้จากเครือข่าย Wi-Fi ของบ้านหรือเครือข่ายอีเทอร์เน็ต

หมายเหตุ: เมื่อเปิดใช้ DHCPv6 PD เราเตอร์ Border Router อาจเผยแพร่คำนำหน้าจาก DHCPv6 PD

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

otBorderRoutingGetOnLinkPrefix

otError otBorderRoutingGetOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

รับคำนำหน้า On-Link ภายในสำหรับลิงก์โครงสร้างพื้นฐานที่อยู่ติดกัน

คำนำหน้า On-Link ในเครื่องคือคำนำหน้า 64 บิตที่โฆษณาในลิงก์โครงสร้างพื้นฐาน หากยังไม่มีคำนำหน้า On-Link ที่ใช้ได้ซึ่งโฆษณาในลิงก์นั้น

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

otBorderRoutingGetPdOmrPrefix

otError otBorderRoutingGetPdOmrPrefix(
  otInstance *aInstance,
  otBorderRoutingPrefixTableEntry *aPrefixInfo
)

รับคำนำหน้านอกตาข่าย (OMR) ที่ใช้ DHCPv6 Prefix Delegation (PD)

ระบบจะใช้เฉพาะช่อง mPrefix, mValidLifetime และ mPreferredLifetime ในข้อมูลคำนำหน้าที่ส่งคืน

ต้องเปิดใช้ OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[out] aPrefixInfo
ตัวชี้ไปยังตำแหน่งที่ระบบจะส่งออกข้อมูลคำนำหน้า
แสดงผลค่า
OT_ERROR_NONE
เรียกดูคำนำหน้า OMR เรียบร้อยแล้ว
OT_ERROR_INVALID_STATE
Border Routing Manager ยังไม่ได้เริ่มต้น
OT_ERROR_NOT_FOUND
ไม่มีคำนำหน้า PD ที่ถูกต้องบนบราซิลนี้
โปรดดูข้อมูลเพิ่มเติมที่
otBorderRoutingGetOmrPrefix
otPlatBorderRoutingProcessIcmp6Ra

otBorderRoutingGetPdProcessedRaInfo

otError otBorderRoutingGetPdProcessedRaInfo(
  otInstance *aInstance,
  otPdProcessedRaInfo *aPdProcessedRaInfo
)

รับข้อมูลของข้อความ RA ที่สร้างโดยแพลตฟอร์มซึ่งประมวลผลแล้ว

ต้องเปิดใช้ OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[out] aPrefixInfo
ตัวชี้ไปยังตำแหน่งที่ระบบจะส่งออกข้อมูลคำนำหน้า
แสดงผลค่า
OT_ERROR_NONE
เรียกข้อมูลเรียบร้อยแล้ว
OT_ERROR_INVALID_STATE
Border Routing Manager ยังไม่ได้เริ่มต้น
OT_ERROR_NOT_FOUND
ไม่มีข้อมูลที่ถูกต้องบน BR นี้

otBorderRoutingGetRouteInfoOptionPreference

otRoutePreference otBorderRoutingGetRouteInfoOptionPreference(
  otInstance *aInstance
)

รับค่ากำหนดปัจจุบันที่ใช้เมื่อโฆษณา Route Info Options (RIO) ในข้อความการโฆษณาเราเตอร์ที่ส่งผ่านลิงก์โครงสร้างพื้นฐาน

ค่ากำหนด RIO กำหนดไว้ดังต่อไปนี้:

  • หากผู้ใช้ตั้งค่าอย่างชัดแจ้งโดยเรียกใช้ otBorderRoutingSetRouteInfoOptionPreference() ระบบจะใช้ค่ากำหนดที่ระบุ
  • มิเช่นนั้น จะพิจารณาจากบทบาทปัจจุบันของอุปกรณ์: ความชื่นชอบปานกลางเมื่ออยู่ในบทบาทเราเตอร์/ผู้นำ และความชอบระดับต่ำเมื่ออยู่ในบทบาทย่อย

รายละเอียด
การส่งคืน
ค่ากำหนดตัวเลือกข้อมูลเส้นทางปัจจุบัน

otBorderRoutingGetRoutePreference

otRoutePreference otBorderRoutingGetRoutePreference(
  otInstance *aInstance
)

รับค่ากำหนดปัจจุบันที่ใช้สำหรับเส้นทางที่เผยแพร่ในข้อมูลเครือข่าย

ค่ากำหนดจะกำหนดดังนี้

  • หากผู้ใช้ตั้งค่าอย่างชัดแจ้งโดยเรียกใช้ otBorderRoutingSetRoutePreference() ระบบจะใช้ค่ากำหนดที่ระบุ
  • มิเช่นนั้น RoutingManager จะพิจารณาจากบทบาทและคุณภาพลิงก์ของอุปกรณ์โดยอัตโนมัติ

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

otBorderRoutingGetState

otBorderRoutingState otBorderRoutingGetState(
  otInstance *aInstance
)

รับสถานะปัจจุบันของ Border Routing Manager

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
การส่งคืน
สถานะปัจจุบันของ Border Routing Manager

otBorderRoutingInit

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

เริ่มต้น Border Routing Manager บนอินเทอร์เฟซโครงสร้างพื้นฐานที่กำหนด

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

otBorderRoutingPrefixTableInitIterator

void otBorderRoutingPrefixTableInitIterator(
  otInstance *aInstance,
  otBorderRoutingPrefixTableIterator *aIterator
)

เริ่มต้น otBorderRoutingPrefixTableIterator

เครื่องมือซ้ำต้องถูกเริ่มต้นก่อนใช้งาน

คุณสามารถกำหนดค่าเริ่มต้นอีกครั้งเพื่อรีสตาร์ทตารางได้

เมื่อทำซ้ำรายการต่างๆ ในตาราง ระบบจะกำหนดเวลาอัปเดต mMsecSinceLastUpdate ของรายการให้สอดคล้องกันกับเวลาที่เริ่มต้นตัววนซ้ำ

รายละเอียด
พารามิเตอร์
[in] aInstance
อินสแตนซ์ OpenThread
[out] aIterator
ตัวชี้ไปยังตัววนซ้ำเพื่อเริ่มต้นใช้งาน

otBorderRoutingSetEnabled

otError otBorderRoutingSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

เปิดหรือปิดใช้งาน Border Routing Manager

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

otBorderRoutingSetRouteInfoOptionPreference

void otBorderRoutingSetRouteInfoOptionPreference(
  otInstance *aInstance,
  otRoutePreference aPreference
)

ตั้งค่ากำหนดที่จะใช้อย่างชัดเจนเมื่อโฆษณาตัวเลือกข้อมูลเส้นทาง (RIO) ในข้อความการโฆษณาเราเตอร์ที่ส่งผ่านลิงก์โครงสร้างพื้นฐาน

หลังจากเรียกใช้ฟังก์ชันนี้ BR จะใช้ค่ากำหนดดังกล่าวสำหรับ RIO ทั้งหมดที่โฆษณา คุณล้างค่ากำหนดได้โดยการเรียกใช้ otBorderRoutingClearRouteInfoOptionPreference()

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aPreference
ค่ากำหนดเส้นทางที่จะใช้

otBorderRoutingSetRoutePreference

void otBorderRoutingSetRoutePreference(
  otInstance *aInstance,
  otRoutePreference aPreference
)

ตั้งค่ากำหนดของเส้นทางที่เผยแพร่ในข้อมูลเครือข่ายอย่างชัดเจน

หลังเรียกฟังก์ชันนี้ BR จะใช้ค่ากำหนดที่ระบุ คุณล้างค่ากำหนดได้โดยการเรียกใช้ otBorderRoutingClearRoutePreference()

รายละเอียด
พารามิเตอร์
[in] aInstance
ตัวชี้ไปยังอินสแตนซ์ OpenThread
[in] aPreference
ค่ากำหนดเส้นทางที่จะใช้

แหล่งข้อมูล

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