جهاز توجيه الحدود

تتضمّن هذه الوحدة وظائف لإدارة بيانات الشبكة المحلية باستخدام جهاز توجيه حد OpenScript.

الملخّص

الدوال

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)
تحصل هذه الدالة على بادئة الشبكة المتداخلة التالية في بيانات الشبكة المحلية.
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)
تعرض هذه الطريقة بادئة توجيه الشبكة المتداخلة (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
كانت معلَمة إعداد واحدة أو أكثر غير صالحة.
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
)

توفِّر هذه الطريقة نسخة كاملة أو ثابتة من بيانات شبكة سلاسل المحادثات المحلية.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aStable
TRUE عند نسخ الإصدار الثابت، أو FALSE عند نسخ الإصدار الكامل.
[out] aData
مؤشر إلى مخزن البيانات المؤقت.
[in,out] aDataLength
عند الإدخال، حجم المخزن المؤقت للبيانات المُشار إليه من خلال aData. عند الخروج، عدد وحدات البايت المنسوخة.

otBorderRouterGetNextOnMeshPrefix

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

تحصل هذه الدالة على بادئة الشبكة المتداخلة التالية في بيانات الشبكة المحلية.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in,out] aIterator
مؤشر لسياق تكرار بيانات الشبكة. للحصول على أول إدخال على الشبكة المتداخلة، يجب ضبطه على OT_NETWORK_DATA_ITERATOR_INIT.
[out] aConfig
إشارة إلى معلومات "بادئة الشبكة المتداخلة".
قيم الإرجاع
OT_ERROR_NONE
تم العثور على بادئة On Mesh بنجاح.
OT_ERROR_NOT_FOUND
ما مِن بادئة لاحقة على الشبكة المتداخلة في بيانات شبكة سلاسل المحادثات.

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
لا يتوفر إدخال مسار خارجي لاحق في بيانات شبكة سلاسل المحادثات.

otBorderRouterالسجل

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
تعذّر العثور على جهاز توجيه الحدود.
اطّلع أيضًا على:
otBorderRouterAddOnMeshPrefix
otBorderRouterRegister

otBorderRouterRemoveRoute

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

إزالة إعداد مسار خارجي من بيانات الشبكة المحلية.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aPrefix
مؤشر إلى بادئة IPv6
قيم الإرجاع
OT_ERROR_NONE
تمت إزالة الإعداد من بيانات الشبكة المحلية بنجاح.
OT_ERROR_NOT_FOUND
تعذّر العثور على جهاز توجيه الحدود.
اطّلع أيضًا على:
otBorderRouterAddRoute
otBorderRouterRegister

otBorderRouteGetNat64Prefix

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 بنجاح.

otBorderRouteGetOmrPrefix

otError otBorderRoutingGetOmrPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

تعرض هذه الطريقة بادئة توجيه الشبكة المتداخلة (OMR) خارج التوجيه.

سيتم نشر بادئة 64 بت التي تم إنشاؤها عشوائيًا في شبكة سلاسل المحادثات إذا لم تكن هناك بادئة OMR.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[out] aPrefix
مؤشر إلى المكان الذي سيتم إخراج البادئة منه.
قيم الإرجاع
OT_ERROR_INVALID_STATE
لم يتم إعداد مدير توجيه الحدود حتى الآن.
OT_ERROR_NONE
تم استرداد بادئة OMR بنجاح.

otBorderRouteGetOnLinkPrefix

otError otBorderRoutingGetOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

تعرض هذه الطريقة البادئة "على الرابط" لرابط البنية المجاورة.

سيتم الإعلان عن بادئة 64 بت التي تم إنشاؤها عشوائيًا على رابط البنية الأساسية في حال عدم وجود بادئة قابلة للاستخدام على الرابط يتم الإعلان عنها على الرابط.

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[out] aPrefix
مؤشر إلى المكان الذي سيتم إخراج البادئة منه.
قيم الإرجاع
OT_ERROR_INVALID_STATE
لم يتم إعداد مدير توجيه الحدود حتى الآن.
OT_ERROR_NONE
تم استرداد البادئة على الرابط بنجاح.

otBorderRouteInit

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.

otBorderRouteSetEnabled

otError otBorderRoutingSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

تعمل هذه الطريقة على تفعيل/إيقاف "مدير توجيه الحدود".

التفاصيل
المعلَمات
[in] aInstance
مؤشر إلى مثيل OpenThread.
[in] aEnabled
منطقي لتفعيل/إيقاف مدير التوجيه.
قيم الإرجاع
OT_ERROR_INVALID_STATE
لم يتم إعداد مدير توجيه الحدود حتى الآن.
OT_ERROR_NONE
تم تفعيل/إيقاف مدير توجيه الحدود بنجاح.

المراجع

تنشأ مواضيع واجهة برمجة التطبيقات المرجعية لـ OpenThread من رمز المصدر، المتوفر على GitHub. للاطّلاع على مزيد من المعلومات أو للمساهمة في مستنداتنا، يُرجى الرجوع إلى المراجع.