روتر مرزی

این ماژول شامل توابعی برای مدیریت داده های شبکه محلی با روتر مرزی OpenThread است.

خلاصه

کارکرد

otBorderRouterAddOnMeshPrefix ( otInstance *aInstance, const otBorderRouterConfig *aConfig)
یک پیکربندی روتر مرزی را به داده های شبکه محلی اضافه کنید.
otBorderRouterAddRoute ( otInstance *aInstance, const otExternalRouteConfig *aConfig)
یک پیکربندی مسیر خارجی را به داده های شبکه محلی اضافه کنید.
otBorderRouterGetNetData ( otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
این روش یک کپی کامل یا پایدار از داده های شبکه محلی Thread را ارائه می دهد.
otBorderRouterGetNextOnMeshPrefix ( otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
این تابع پیشوند On Mesh بعدی را در داده های شبکه محلی دریافت می کند.
otBorderRouterGetNextRoute ( otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
این تابع مسیر خارجی بعدی را در داده های شبکه محلی دریافت می کند.
otBorderRouterRegister ( otInstance *aInstance)
بلافاصله داده های شبکه محلی را با Leader ثبت کنید.
otBorderRouterRemoveOnMeshPrefix ( otInstance *aInstance, const otIp6Prefix *aPrefix)
پیکربندی روتر مرزی را از داده های شبکه محلی حذف کنید.
otBorderRouterRemoveRoute ( otInstance *aInstance, const otIp6Prefix *aPrefix)
یک پیکربندی مسیر خارجی را از داده های شبکه محلی حذف کنید.
otBorderRoutingGetNat64Prefix ( otInstance *aInstance, otIp6Prefix *aPrefix)
این تابع پیشوند محلی NAT64 را برمی گرداند.
otBorderRoutingGetOmrPrefix ( otInstance *aInstance, otIp6Prefix *aPrefix)
این روش پیشوند off-mesh-routable (OMR) را برمی گرداند.
otBorderRoutingGetOnLinkPrefix ( otInstance *aInstance, otIp6Prefix *aPrefix)
این روش پیشوند on-link را برای پیوند زیرساخت مجاور برمی گرداند.
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
یک یا چند پارامتر پیکربندی نامعتبر بود.
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
یک یا چند پارامتر پیکربندی نامعتبر بود.
OT_ERROR_NO_BUFS
فضای کافی برای افزودن پیکربندی به داده های شبکه محلی موجود نیست.
همچنین ببینید:
otBorderRouterRemoveRoute
otBorderRouterRegister

otBorderRouterGetNetData

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

این روش یک کپی کامل یا پایدار از داده های شبکه محلی Thread را ارائه می دهد.

جزئیات
مولفه های
[in] aInstance
اشاره گر به یک نمونه OpenThread.
[in] aStable
درست هنگام کپی کردن نسخه پایدار، نادرست هنگام کپی کردن نسخه کامل.
[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 Prefix.
ارزش های بازگشتی
OT_ERROR_NONE
پیشوند On Mesh بعدی با موفقیت پیدا شد.
OT_ERROR_NOT_FOUND
هیچ پیشوند بعدی On 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
)

بلافاصله داده های شبکه محلی را با Leader ثبت کنید.

جزئیات
مولفه های
[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

otBorderRoutingGetNat64Prefix

otError otBorderRoutingGetNat64Prefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

این تابع پیشوند محلی NAT64 را برمی گرداند.

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

این تابع فقط زمانی در دسترس است که 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
)

این روش پیشوند off-mesh-routable (OMR) را برمی گرداند.

اگر پیشوند OMR از قبل وجود نداشته باشد، پیشوند 64 بیتی به‌طور تصادفی در شبکه Thread منتشر می‌شود.

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

otBorderRoutingGetOnLinkPrefix

otError otBorderRoutingGetOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

این روش پیشوند on-link را برای پیوند زیرساخت مجاور برمی گرداند.

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

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

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

otError otBorderRoutingSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

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

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

منابع

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