مدیر مسیریابی مرزی

این ماژول شامل تعاریف مربوط به Border Routing Manager می باشد.

خلاصه

همه توابع در این ماژول نیاز به فعال کردن OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE دارند.

Border Routing Manager مسیریابی دو جهته بین شبکه Thread و پیوند زیرساخت مجاور (AIL) را مدیریت می کند.

این پیام‌های ICMRv6 ND Router Advertisement (RA) را در AIL منتشر می‌کند تا پیشوندهای روی پیوند و مسیر را تبلیغ کند. همچنین پیام‌های RA دریافتی از زیرساخت را پردازش می‌کند و پیشوندهای کشف‌شده را روی داده‌های شبکه Thread منعکس می‌کند تا مطمئن شود دستگاه‌های روی Thread mesh می‌توانند از طریق مسیریاب مرزی به AIL برسند.

Routing Manager پیشوند Off-Mesh Routable (OMR) را روی داده‌های شبکه Thread مدیریت می‌کند که دستگاه‌های Thread را با آدرس IPv6 قابل مسیریابی Off-Mesh مناسب پیکربندی می‌کند. دسترسی به این پیشوند را در AIL با گنجاندن آن در پیام های RA منتشر شده به عنوان گزینه اطلاعات مسیر IPv6 (RIO) اعلام می کند.

Routing Manager همچنین پیشوند پیوندی را در شبکه زیرساخت نظارت و اضافه می کند. اگر روتر روی AIL در حال حاضر پیام‌های RA حاوی گزینه اطلاعات پیشوند IPv6 (PIO) ارائه می‌دهد که دستگاه‌های IPv6 روی پیوند را قادر می‌سازد تا آدرس IPv6 unicast قابل مسیریابی خود را پیکربندی کنند، این آدرس می‌تواند توسط دستگاه‌های Thread برای دسترسی به AIL استفاده شود. اگر Border Router چنین پیام RA را در AIL پیدا نکند، یک پیشوند ULA on-link ایجاد می کند که سپس در پیام های RA منتشر شده در AIL تبلیغ می کند.

شمارش ها

otBorderRoutingDhcp6PdState {
OT_BORDER_ROUTING_DHCP6_PD_STATE_DISABLED ,
OT_BORDER_ROUTING_DHCP6_PD_STATE_STOPPED ,
OT_BORDER_ROUTING_DHCP6_PD_STATE_RUNNING
}
enum
این شمارش وضعیت Delegation State Prefix DHCPv6 را نشان می دهد.
otBorderRoutingState {
OT_BORDER_ROUTING_STATE_UNINITIALIZED ,
OT_BORDER_ROUTING_STATE_DISABLED ,
OT_BORDER_ROUTING_STATE_STOPPED ,
OT_BORDER_ROUTING_STATE_RUNNING
}
enum
نشان دهنده وضعیت مدیر مسیریابی مرزی است.

Typedefs

otBorderRoutingPrefixTableEntry typedef
یک ورودی از جدول پیشوند کشف شده را نشان می دهد.
otBorderRoutingPrefixTableIterator typedef
یک تکرار کننده را برای تکرار از طریق جدول پیشوند کشف شده Border Router نشان می دهد.
otBorderRoutingRouterEntry typedef
نشان دهنده یک روتر کشف شده در پیوند زیرساخت است.
otPdProcessedRaInfo typedef
نشان دهنده گروهی از داده های پیام های RA تولید شده توسط پلت فرم پردازش شده است.

کارکرد

otBorderRoutingClearRouteInfoOptionPreference ( otInstance *aInstance)
void
یک مقدار ترجیحی تنظیم شده قبلی را برای گزینه‌های اطلاعات مسیر تبلیغ شده پاک می‌کند.
otBorderRoutingClearRoutePreference ( otInstance *aInstance)
void
یک مقدار ترجیحی تنظیم شده قبلی را برای مسیرهای منتشر شده در Network Data پاک می کند.
otBorderRoutingDhcp6PdGetState ( otInstance *aInstance)
وضعیت فعلی Delegation پیشوند DHCPv6 را دریافت می کند.
otBorderRoutingDhcp6PdSetEnabled ( otInstance *aInstance, bool aEnabled)
void
Delegation پیشوند 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 روتر مرزی را دریافت می کند.
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)
پیشوند پیشوند پیشوند DHCPv6 (PD) ارائه شده با قابلیت مسیریابی خارج از شبکه (OMR) را دریافت می کند.
otBorderRoutingGetPdProcessedRaInfo ( otInstance *aInstance, otPdProcessedRaInfo *aPdProcessedRaInfo)
داده های پیام RA تولید شده توسط پلت فرم را پردازش می کند.
otBorderRoutingGetRouteInfoOptionPreference ( otInstance *aInstance)
ترجیحات فعلی مورد استفاده را هنگام تبلیغ گزینه‌های اطلاعات مسیر (RIO) در پیام‌های تبلیغاتی روتر که از طریق پیوند زیرساخت ارسال می‌شوند، دریافت می‌کند.
otBorderRoutingGetRoutePreference ( otInstance *aInstance)
اولویت فعلی مورد استفاده برای مسیرهای منتشر شده در Network Data را دریافت می کند.
otBorderRoutingGetState ( otInstance *aInstance)
وضعیت فعلی Border Routing Manager را دریافت می کند.
otBorderRoutingInit ( otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning)
مدیر مسیریابی مرزی را در رابط زیرساخت داده شده راه اندازی می کند.
otBorderRoutingPrefixTableInitIterator ( otInstance *aInstance, otBorderRoutingPrefixTableIterator *aIterator)
void
یک otBorderRoutingPrefixTableIterator را راه اندازی می کند.
otBorderRoutingSetEnabled ( otInstance *aInstance, bool aEnabled)
مدیر مسیریابی مرزی را فعال یا غیرفعال می کند.
otBorderRoutingSetRouteInfoOptionPreference ( otInstance *aInstance, otRoutePreference aPreference)
void
صراحتاً این اولویت را تنظیم می‌کند که هنگام تبلیغات گزینه‌های اطلاعات مسیر (RIO) در پیام‌های تبلیغاتی روتر ارسال شده از طریق پیوند زیرساخت استفاده شود.
otBorderRoutingSetRoutePreference ( otInstance *aInstance, otRoutePreference aPreference)
void
به صراحت اولویت مسیرهای منتشر شده را در داده های شبکه تنظیم می کند.

سازه ها

otBorderRoutingPrefixTableEntry

یک ورودی از جدول پیشوند کشف شده را نشان می دهد.

otBorderRoutingPrefixTableIterator

یک تکرار کننده را برای تکرار از طریق جدول پیشوند کشف شده Border Router نشان می دهد.

otBorderRoutingRouterEntry

نشان دهنده یک روتر کشف شده در پیوند زیرساخت است.

otPdProcessedRaInfo

نشان دهنده گروهی از داده های پیام های RA تولید شده توسط پلت فرم پردازش شده است.

شمارش ها

otBorderRoutingDhcp6PdState

 otBorderRoutingDhcp6PdState

این شمارش وضعیت Delegation State Prefix DHCPv6 را نشان می دهد.

خواص
OT_BORDER_ROUTING_DHCP6_PD_STATE_DISABLED

DHCPv6 PD در روتر مرزی غیرفعال است.

OT_BORDER_ROUTING_DHCP6_PD_STATE_RUNNING

DHCPv6 PD فعال است و سعی خواهد کرد یک پیشوند درخواست و منتشر کند.

OT_BORDER_ROUTING_DHCP6_PD_STATE_STOPPED

DHCPv6 PD فعال است اما سعی نمی کند پیشوندی را درخواست و منتشر کند.

otBorderRoutingState

 otBorderRoutingState

نشان دهنده وضعیت مدیر مسیریابی مرزی است.

خواص
OT_BORDER_ROUTING_STATE_DISABLED

Routing Manager مقداردهی اولیه شده اما غیرفعال است.

OT_BORDER_ROUTING_STATE_RUNNING

Routing Manager مقداردهی اولیه، فعال و در حال اجرا است.

OT_BORDER_ROUTING_STATE_STOPPED

مدیر مسیریابی مقداردهی اولیه و فعال است اما در حال حاضر متوقف شده است.

OT_BORDER_ROUTING_STATE_UNINITIALIZED

Routing Manager غیر اولیه است.

Typedefs

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
)

یک مقدار ترجیحی تنظیم شده قبلی را برای مسیرهای منتشر شده در Network Data پاک می کند.

پس از تماس با این عملکرد، BR به طور خودکار بر اساس نقش دستگاه و کیفیت پیوند (به والد هنگام عمل به عنوان دستگاه نهایی) اولویت را تعیین می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.

otBorderRoutingDhcp6PdGetState

otBorderRoutingDhcp6PdState otBorderRoutingDhcp6PdGetState(
  otInstance *aInstance
)

وضعیت فعلی Delegation پیشوند DHCPv6 را دریافت می کند.

برای فعال کردن OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE نیاز دارد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
برمی گرداند
وضعیت فعلی انتقال پیشوند DHCPv6.

otBorderRoutingDhcp6PdSetEnabled

void otBorderRoutingDhcp6PdSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Delegation پیشوند DHCPv6 را فعال / غیرفعال می کند.

OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE باید فعال باشد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aEnabled
آیا می توان پیام های RA تولید شده از پلت فرم را بپذیرد یا خیر.

پیشوند otBorderRoutingGetFavoredNat64

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

پیشوند NAT64 مورد علاقه فعلی را دریافت می کند.

پیشوند مورد علاقه NAT64 را می توان از پیوند زیرساخت کشف کرد یا می تواند پیشوند محلی NAT64 این دستگاه باشد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[out] aPrefix
اشاره گر برای خروجی پیشوند مورد علاقه NAT64.
[out] aPreference
یک اشاره گر برای خروجی اولویت مربوط به پیشوند مورد علاقه.
ارزش های بازگشتی
OT_ERROR_INVALID_STATE
مدیر مسیریابی مرزی هنوز راه اندازی نشده است.
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
مدیر مسیریابی مرزی هنوز اجرا نمی شود.
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
مدیر مسیریابی مرزی هنوز راه اندازی نشده است.
OT_ERROR_NONE
پیشوند پیوند دلخواه با موفقیت بازیابی شد.

پیشوند otBorderRoutingGetNat64

otError otBorderRoutingGetNat64Prefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

پیشوند محلی NAT64 روتر مرزی را دریافت می کند.

ممکن است پیشوند NAT64 در شبکه Thread تبلیغ نشود.

OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE باید فعال باشد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[out] aPrefix
یک اشاره گر به جایی که پیشوند به آن خروجی می شود.
ارزش های بازگشتی
OT_ERROR_INVALID_STATE
مدیر مسیریابی مرزی هنوز راه اندازی نشده است.
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 بیتی تصادفی است که در شبکه Thread منتشر می شود اگر قبلاً پیشوند OMR وجود نداشته باشد. این پیشوند از طریق شبکه محلی Wi-Fi یا اترنت قابل دسترسی است.

توجه: وقتی DHCPv6 PD فعال است، روتر مرزی ممکن است پیشوند را از DHCPv6 PD منتشر کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[out] aPrefix
یک اشاره گر به جایی که پیشوند به آن خروجی می شود.
ارزش های بازگشتی
OT_ERROR_INVALID_STATE
مدیر مسیریابی مرزی هنوز راه اندازی نشده است.
OT_ERROR_NONE
پیشوند OMR با موفقیت بازیابی شد.
همچنین ببینید:
otBorderRoutingGetPdOmrPrefix

otBorderRoutingGetOnLinkPrefix

otError otBorderRoutingGetOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

پیشوند محلی On-Link را برای پیوند زیرساخت مجاور دریافت می کند.

پیشوند محلی On-Link یک پیشوند 64 بیتی است که در پیوند زیرساخت تبلیغ می شود، اگر قبلاً یک پیشوند روی پیوند قابل استفاده روی پیوند تبلیغ نشده باشد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[out] aPrefix
یک اشاره گر به جایی که پیشوند به آن خروجی می شود.
ارزش های بازگشتی
OT_ERROR_INVALID_STATE
مدیر مسیریابی مرزی هنوز راه اندازی نشده است.
OT_ERROR_NONE
پیشوند محلی روی پیوند با موفقیت بازیابی شد.

otBorderRoutingGetPdOmrPrefix

otError otBorderRoutingGetPdOmrPrefix(
  otInstance *aInstance,
  otBorderRoutingPrefixTableEntry *aPrefixInfo
)

پیشوند پیشوند پیشوند DHCPv6 (PD) ارائه شده با قابلیت مسیریابی خارج از شبکه (OMR) را دریافت می کند.

فقط از فیلدهای mPrefix، mValidLifetime و mPreferredLifetime در اطلاعات پیشوند برگشتی استفاده می شود.

OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE باید فعال باشد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[out] aPrefixInfo
اشاره گر به جایی که اطلاعات پیشوند به آن خروجی می شود.
ارزش های بازگشتی
OT_ERROR_NONE
پیشوند OMR با موفقیت بازیابی شد.
OT_ERROR_INVALID_STATE
مدیر مسیریابی مرزی هنوز راه اندازی نشده است.
OT_ERROR_NOT_FOUND
هیچ پیشوند معتبر PD در این BR وجود ندارد.
همچنین ببینید:
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
مدیر مسیریابی مرزی هنوز راه اندازی نشده است.
OT_ERROR_NOT_FOUND
هیچ اطلاعات معتبری در مورد این BR وجود ندارد.

otBorderRoutingGetRouteInfoOptionPreference

otRoutePreference otBorderRoutingGetRouteInfoOptionPreference(
  otInstance *aInstance
)

ترجیحات فعلی مورد استفاده را هنگام تبلیغ گزینه‌های اطلاعات مسیر (RIO) در پیام‌های تبلیغاتی روتر که از طریق پیوند زیرساخت ارسال می‌شوند، دریافت می‌کند.

اولویت RIO به شرح زیر تعیین می شود:

  • اگر به صراحت توسط کاربر با فراخوانی otBorderRoutingSetRouteInfoOptionPreference() تنظیم شود، از اولویت داده شده استفاده می شود.
  • در غیر این صورت، بر اساس نقش فعلی دستگاه تعیین می‌شود: اولویت متوسط ​​در نقش روتر/رهبر و اولویت پایین در نقش فرزند.

جزئیات
برمی گرداند
تنظیمات برگزیده گزینه اطلاعات مسیر فعلی.

otBorderRoutingGetRoutePreference

otRoutePreference otBorderRoutingGetRoutePreference(
  otInstance *aInstance
)

اولویت فعلی مورد استفاده برای مسیرهای منتشر شده در Network Data را دریافت می کند.

اولویت به شرح زیر تعیین می شود:

  • اگر به صراحت توسط کاربر با فراخوانی otBorderRoutingSetRoutePreference() تنظیم شود، ترجیح داده شده استفاده می شود.
  • در غیر این صورت، به طور خودکار توسط RoutingManager بر اساس نقش دستگاه و کیفیت لینک تعیین می شود.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
برمی گرداند
اولویت مسیر منتشر شده فعلی.

otBorderRoutingGetState

otBorderRoutingState otBorderRoutingGetState(
  otInstance *aInstance
)

وضعیت فعلی مدیر مسیریابی مرزی را دریافت می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
برمی گرداند
وضعیت فعلی مدیر مسیریابی مرزی.

otBorderRoutingInit

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 .

otBorderRoutingPrefixTableInitIterator

void otBorderRoutingPrefixTableInitIterator(
  otInstance *aInstance,
  otBorderRoutingPrefixTableIterator *aIterator
)

یک otBorderRoutingPrefixTableIterator را راه اندازی می کند.

یک تکرار کننده باید قبل از استفاده مقداردهی اولیه شود.

یک تکرار کننده را می توان دوباره برای راه اندازی مجدد از ابتدای جدول مقداردهی کرد.

هنگام تکرار بر روی ورودی‌های جدول، برای اطمینان از سازگاری زمان‌های به‌روزرسانی mMsecSinceLastUpdate ورودی‌ها، نسبت به زمانی که تکرارکننده مقداردهی اولیه شده است، داده می‌شود.

جزئیات
مولفه های
[in] aInstance
نمونه OpenThread.
[out] aIterator
یک اشاره گر به تکرار کننده برای مقداردهی اولیه.

otBorderRoutingSetEnabled

otError otBorderRoutingSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

مدیر مسیریابی مرزی را فعال یا غیرفعال می کند.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aEnabled
یک بولی برای فعال/غیرفعال کردن مدیر مسیریابی.
ارزش های بازگشتی
OT_ERROR_INVALID_STATE
مدیر مسیریابی مرزی هنوز راه اندازی نشده است.
OT_ERROR_NONE
مدیر مسیریابی مرزی با موفقیت فعال/غیرفعال شد.

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
ترجیح مسیر برای استفاده

منابع

موضوعات مرجع OpenThread API از کد منبع موجود در GitHub سرچشمه می گیرند. برای اطلاعات بیشتر، یا مشارکت در اسناد ما، به منابع مراجعه کنید.