إدارة التوجيه الحدودي

تتضمن هذه الوحدة تعريفات ذات صلة بـ "إدارة التوجيه الحدودي".

ملخّص

تتطلب جميع الدوال في هذه الوحدة تفعيل "OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE".

يعالج مدير التوجيه الحدودي التوجيه الثنائي الاتجاه بين شبكة Thread ورابط البنية الأساسية المجاورة (AIL).

وتُصدر هذه الخدمة رسائل إعلانات أجهزة التوجيه ICMRv6 ND (المعروفة اختصارًا باسم RA) على طريقة AIL للإعلان عن بادئات المسار والرابط على الروابط. وتعالج أيضًا الرسائل التي تم استقبالها من خلال RA (RA) من البنية الأساسية ويعكس البادئات المكتشفة في Thread Network Data لضمان إمكانية وصول الأجهزة المتصلة بشبكة Thread mesh من خلال جهاز توجيه الحدود.

يدير "مدير التوجيه" بادئة Off-Mesh Routable (OMR) على بيانات شبكة Thread التي تهيئ أجهزة Thread باستخدام عنوان IPv6 مناسب للتوجيه خارج الشبكة. يعلن عن إمكانية الوصول إلى هذه البادئة في AIL من خلال تضمينها في رسائل RA الصادرة كخيار معلومات مسار IPv6 (RIO).

يراقب مدير التوجيه أيضًا بادئة الرابط ويضيفها إلى شبكة البنية الأساسية. إذا كان جهاز التوجيه على AIL يوفّر حاليًا رسائل RA (RA) تحتوي على خيار معلومات بادئة IPv6 (PIO) الذي يتيح لأجهزة IPv6 على الرابط الإعداد الذاتي لعنوان IPv6 الأحادي القابل للتوجيه الخاص بها، يمكن لأجهزة Thread استخدام هذا العنوان للوصول إلى AIL. إذا لم يعثر جهاز توجيه الحدود على رسالة RA في AIL، فإنّه ينشئ بادئة ULA على الرابط ويعلَن عنها بعد ذلك على AIL في رسائل RA الصادرة.

عمليات التعداد

otBorderRoutingDhcp6PdState{
  OT_BORDER_ROUTING_DHCP6_PD_STATE_DISABLED,
  OT_BORDER_ROUTING_DHCP6_PD_STATE_STOPPED,
  OT_BORDER_ROUTING_DHCP6_PD_STATE_RUNNING
}
تعداد
يمثل هذا التعداد حالة حالة تفويض DHCPv6.
otBorderRoutingState{
  OT_BORDER_ROUTING_STATE_UNINITIALIZED,
  OT_BORDER_ROUTING_STATE_DISABLED,
  OT_BORDER_ROUTING_STATE_STOPPED,
  OT_BORDER_ROUTING_STATE_RUNNING
}
تعداد
يمثل حالة مدير التوجيه الحدودي.

تحديدات النوع

otBorderRoutingPrefixTableEntry typedef
تمثّل هذه السمة إدخالاً من جدول البادئة الذي تم اكتشافه.
otBorderRoutingPrefixTableIterator typedef
يمثّل هذا الخيار مكرّرًا للتكرار في جدول البادئة الذي تم اكتشافه في جهاز التوجيه الحدودي.
otBorderRoutingRouterEntry typedef
يمثل جهاز توجيه مكتشفًا على رابط البنية الأساسية.
otPdProcessedRaInfo typedef
يُمثِّل هذا التقرير مجموعة من بيانات رسائل طلب الموافقة التي تم إنشاؤها من خلال المنصة والتي تمت معالجتها.

الدوال

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)
الحصول على بادئة "خارج الشبكة المتداخلة" (OMR) المفضّلة حاليًا.
otBorderRoutingGetFavoredOnLinkPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
الحصول على البادئة على الرابط المفضلة حاليًا.
otBorderRoutingGetNat64Prefix(otInstance *aInstance, otIp6Prefix *aPrefix)
الحصول على بادئة NAT64 المحلية لجهاز التوجيه الحدودي
otBorderRoutingGetNextPrefixTableEntry(otInstance *aInstance, otBorderRoutingPrefixTableIterator *aIterator, otBorderRoutingPrefixTableEntry *aEntry)
التكرار فوق الإدخالات في جدول البادئة الذي تم اكتشافه في جهاز التوجيه الحدودي.
otBorderRoutingGetNextRouterEntry(otInstance *aInstance, otBorderRoutingPrefixTableIterator *aIterator, otBorderRoutingRouterEntry *aEntry)
يتكرر على إدخالات جهاز التوجيه التي تم اكتشافها على رابط البنية الأساسية.
otBorderRoutingGetOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
للحصول على بادئة الشبكة المحلية غير المتداخلة (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)
الحصول على التفضيل الحالي المستخدم للمسارات المنشورة في بيانات الشبكة.
otBorderRoutingGetState(otInstance *aInstance)
للحصول على الحالة الحالية لـ "مدير التوجيه الحدودي".
otBorderRoutingInit(otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning)
يقوم بإعداد مدير التوجيه الحدودي على واجهة البنية الأساسية المحددة.
otBorderRoutingPrefixTableInitIterator(otInstance *aInstance, otBorderRoutingPrefixTableIterator *aIterator)
void
otBorderRoutingSetEnabled(otInstance *aInstance, bool aEnabled)
تعمل هذه السياسة على تفعيل "مدير التوجيه الحدودي" أو إيقافه.
otBorderRoutingSetRouteInfoOptionPreference(otInstance *aInstance, otRoutePreference aPreference)
void
يحدد هذا الخيار تفضيل الاستخدام بشكل صريح عند الإعلان عن خيارات معلومات المسار (RIO) في رسائل إعلان جهاز التوجيه التي يتم إرسالها عبر رابط البنية الأساسية.
otBorderRoutingSetRoutePreference(otInstance *aInstance, otRoutePreference aPreference)
void
يحدد صراحةً تفضيل المسارات المنشورة في بيانات الشبكة.

الهياكل

otBorderRoutingPrefixTableEntry

تمثّل هذه السمة إدخالاً من جدول البادئة الذي تم اكتشافه.

otBorderRoutingPrefixTableIterator

يمثّل هذا الخيار مكرّرًا للتكرار في جدول البادئة الذي تم اكتشافه في جهاز التوجيه الحدودي.

otBorderRoutingRouterEntry

يمثل جهاز توجيه مكتشفًا على رابط البنية الأساسية.

otPdProcessedRaInfo

يُمثِّل هذا التقرير مجموعة من بيانات رسائل طلب الموافقة التي تم إنشاؤها من خلال المنصة والتي تمت معالجتها.

عمليات التعداد

otBorderRoutingDhcp6PdState

 otBorderRoutingDhcp6PdState

يمثل هذا التعداد حالة حالة تفويض 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

يتم إعداد "مدير التوجيه" ولكن تم إيقافه.

OT_BORDER_ROUTING_STATE_RUNNING

يتم إعداد "مدير التوجيه" وتفعيله وتشغيله.

OT_BORDER_ROUTING_STATE_STOPPED

تم إعداد Route Manager وتفعيله، ولكنه متوقف حاليًا.

OT_BORDER_ROUTING_STATE_UNINITIALIZED

لم يتم إعداد مدير التوجيه.

تحديدات النوع

otBorderRoutingPrefixTableEntry

struct otBorderRoutingPrefixTableEntry otBorderRoutingPrefixTableEntry

تمثّل هذه السمة إدخالاً من جدول البادئة الذي تم اكتشافه.

تتبع الإدخالات الموجودة في الجدول الذي تم اكتشافه خيارات معلومات البادئة/المسار في رسائل إعلان جهاز التوجيه التي تم استلامها من أجهزة التوجيه الأخرى على رابط البنية الأساسية.

otBorderRoutingPrefixTableIterator

struct otBorderRoutingPrefixTableIterator otBorderRoutingPrefixTableIterator

يمثّل هذا الخيار مكرّرًا للتكرار في جدول البادئة الذي تم اكتشافه في جهاز التوجيه الحدودي.

الحقول في هذا النوع معتمة (الغرض منها الاستخدام بواسطة OpenThread الأساسي فقط) وبالتالي يجب ألا يصل إليها المتصل أو يستخدمها.

قبل استخدام المكرر، يجب تهيئته باستخدام otBorderRoutingPrefixTableInitIterator().

otBorderRoutingRouterEntry

struct otBorderRoutingRouterEntry otBorderRoutingRouterEntry

يمثل جهاز توجيه مكتشفًا على رابط البنية الأساسية.

otPdProcessedRaInfo

struct otPdProcessedRaInfo otPdProcessedRaInfo

يُمثِّل هذا التقرير مجموعة من بيانات رسائل طلب الموافقة التي تم إنشاؤها من خلال المنصة والتي تمت معالجتها.

الدوال

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
لم يتم إعداد "إدارة التوجيه الحدودي" حتى الآن.
OT_ERROR_NONE
تم استرداد بادئة NAT64 المفضّلة بنجاح.

otBorderRoutingGetFavoredOmrPrefix

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

الحصول على بادئة "خارج الشبكة المتداخلة" (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
)

الحصول على البادئة على الرابط المفضلة حاليًا.

البادئة المفضّلة هي بادئة يتم اكتشافها على الرابط من خلال رابط البنية الأساسية أو بادئة على رابط محلي.

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

otBorderRoutingGetNat64Prefix

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
)

التكرار فوق الإدخالات في جدول البادئة الذي تم اكتشافه في جهاز التوجيه الحدودي.

يتم ضمان تجميع إدخالات البادئة المرتبطة بجهاز التوجيه نفسه الذي تم اكتشافه على رابط بنية أساسية (يتم استرجاعها بشكل عكسي).

التفاصيل
المَعلمات
[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
)

للحصول على بادئة الشبكة المحلية غير المتداخلة (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 المحلية لرابط البنية الأساسية المجاورة

البادئة المحلية على الرابط هي بادئة بتنسيق 64 بت يتم الإعلان عنها على رابط البنية الأساسية إذا لم تكن هناك بادئة على الرابط قابلة للاستخدام يتم الإعلان عنها على الرابط.

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

otBorderRoutingGetPdOmrPrefix

otError otBorderRoutingGetPdOmrPrefix(
  otInstance *aInstance,
  otBorderRoutingPrefixTableEntry *aPrefixInfo
)

الحصول على بادئة تفويض DHCPv6 (PD) التي يتم توفيرها للتوجيه خارج الشبكة المتداخلة (OMR).

لا يتم استخدام سوى الحقول mPrefix وm وتحسينLifetime و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
otPlatBorder ردProcessIcmp6Ra

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
لا تتوفّر معلومات صالحة عن هذا البرازيل.

otBorderRoutingGetRouteInfoOptionPreference

otRoutePreference otBorderRoutingGetRouteInfoOptionPreference(
  otInstance *aInstance
)

الحصول على التفضيل الحالي المستخدم عند الإعلان عن خيارات معلومات المسار (RIO) في رسائل إعلان جهاز التوجيه التي يتم إرسالها عبر رابط البنية الأساسية.

يتم تحديد تفضيل RIO على النحو التالي:

  • إذا تم ضبط السياسة صراحةً من خلال المستخدم من خلال طلب الرقم otBorderRoutingSetRouteInfoOptionPreference()، يتم استخدام الخيار المفضّل المحدد.
  • وبخلاف ذلك، يتم تحديدها استنادًا إلى الدور الحالي للجهاز: تفضيل متوسط عند تولّي دور جهاز التوجيه/القائد، وتفضيل منخفض عند تولّي دور ثانوي.

التفاصيل
المرتجعات
تفضيل خيار معلومات المسار الحالي.

otBorderRoutingGetRoutePreference

otRoutePreference otBorderRoutingGetRoutePreference(
  otInstance *aInstance
)

الحصول على التفضيل الحالي المستخدم للمسارات المنشورة في بيانات الشبكة.

يتم تحديد التفضيل على النحو التالي:

  • إذا تم ضبط السياسة صراحةً من خلال المستخدم من خلال طلب الرقم 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 من رمز المصدر المتاح على GitHub. للحصول على مزيد من المعلومات أو للمساهمة في مستنداتنا، يمكنك الاطّلاع على المراجع.