واجهة البنية الأساسية

تتضمن هذه الوحدة ملخصًا للنظام الأساسي لواجهة شبكة البنية التحتية المجاورة.

ملخّص

الدوال

otPlatInfraIfDiscoverNat64Prefix(uint32_t aInfraIfIndex)
يمكنك إرسال طلب لاكتشاف بادئة NAT64 على واجهة البنية الأساسية باستخدام aInfraIfIndex.
otPlatInfraIfDiscoverNat64PrefixDone(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Prefix *aIp6Prefix)
void
يستدعي سائق واجهة واجهة برمجة التطبيقات هذه الطريقة لإعلام OpenThread باكتشاف بادئة NAT64.
otPlatInfraIfHasAddress(uint32_t aInfraIfIndex, const otIp6Address *aAddress)
bool
تُحدِّد هذه السياسة ما إذا كان قد تم تخصيص عنوان IPv6 المحدَّد لواجهة Infra.
otPlatInfraIfRecvIcmp6Nd(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Address *aSrcAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
void
يستدعي سائق واجهة واجهة برمجة التطبيقات هذه الطريقة لإعلام OpenThread باستلام رسالة ICMPv6 Neighbor Discovery.
otPlatInfraIfSendIcmp6Nd(uint32_t aInfraIfIndex, const otIp6Address *aDestAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
يتم إرسال رسالة استكشاف منصّة ICMPv6 Neighbor Discovery على واجهة البنية الأساسية المحددة.
otPlatInfraIfStateChanged(otInstance *aInstance, uint32_t aInfraIfIndex, bool aIsRunning)
يستدعي برنامج تشغيل واجهة البنية الأساسية هذه الطريقة لإعلام OpenThread بالتغييرات في حالة الواجهة.

الدوال

otPlatInfraIfDiscoverNat64بادئة

otError otPlatInfraIfDiscoverNat64Prefix(
  uint32_t aInfraIfIndex
)

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

ستسمّي OpenThread هذه الطريقة بشكل دوري لمراقبة توفُّر بادئة NAT64 أو تغييرها.

التفاصيل
المَعلمات
[in] aInfraIfIndex
فهرس واجهة البنية الأساسية لاكتشاف بادئة NAT64.
قيم الإرجاع
OT_ERROR_NONE
تم طلب اكتشاف بادئة NAT64 بنجاح.
OT_ERROR_FAILED
تعذّر طلب اكتشاف بادئة NAT64.

otPlatInfraIfDiscoverNat64بادئة تم

void otPlatInfraIfDiscoverNat64PrefixDone(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  const otIp6Prefix *aIp6Prefix
)

يستدعي سائق واجهة واجهة برمجة التطبيقات هذه الطريقة لإعلام OpenThread باكتشاف بادئة NAT64.

من المتوقّع أن يتم استدعاءها بعد استدعاء otPlatInfraIfDiscoverNat64بادئة. في حال عدم العثور على بادئة NAT64، سيشير aIp6Prefix إلى بادئة فارغة بدون قيمة صفرية.

التفاصيل
المَعلمات
[in] aInstance
بنية مثيل OpenThread.
[in] aInfraIfIndex
فهرس واجهة البنية الأساسية التي تم اكتشاف بادئة NAT64 فيها
[in] aIp6Prefix
مؤشر لبادئة NAT64

otPlatInfraIfHasAddress

bool otPlatInfraIfHasAddress(
  uint32_t aInfraIfIndex,
  const otIp6Address *aAddress
)

تُحدِّد هذه السياسة ما إذا كان قد تم تخصيص عنوان IPv6 المحدَّد لواجهة Infra.

التفاصيل
المَعلمات
[in] aInfraIfIndex
فهرس واجهة infra.
[in] aAddress
عنوان IPv6.
المرتجعات
TRUE في حال كانت واجهة Infra قد حدّدت عنوان IPv6، و"خطأ" في الحالات الأخرى

otPlatInfraIfRecvIcmp6Nd

void otPlatInfraIfRecvIcmp6Nd(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  const otIp6Address *aSrcAddress,
  const uint8_t *aBuffer,
  uint16_t aBufferLength
)

يستدعي سائق واجهة واجهة برمجة التطبيقات هذه الطريقة لإعلام OpenThread باستلام رسالة ICMPv6 Neighbor Discovery.

اطّلِع على RFC 4861: https://tools.ietf.org/html/rfc4861.

التفاصيل
المَعلمات
[in] aInstance
بنية مثيل OpenThread.
[in] aInfraIfIndex
فهرس واجهة البنية الأساسية التي تم تلقّي رسالة ICMPv6 عليها.
[in] aSrcAddress
عنوان المصدر الذي تم تلقّي هذه الرسالة منه.
[in] aBuffer
الفترة الآمنة لرسائل ICMPv6.
[in] aBufferLength
طول المخزن المؤقت لرسائل ICMPv6.

otPlatInfraIfSendIcmp6Nd

otError otPlatInfraIfSendIcmp6Nd(
  uint32_t aInfraIfIndex,
  const otIp6Address *aDestAddress,
  const uint8_t *aBuffer,
  uint16_t aBufferLength
)

يتم إرسال رسالة استكشاف منصّة ICMPv6 Neighbor Discovery على واجهة البنية الأساسية المحددة.

اطّلِع على RFC 4861: https://tools.ietf.org/html/rfc4861.

التفاصيل
المَعلمات
[in] aInfraIfIndex
فهرس واجهة البنية الأساسية التي تم إرسال هذه الرسالة إليها
[in] aDestAddress
عنوان الوجهة الذي يتم إرسال هذه الرسالة إليه.
[in] aBuffer
الفترة الآمنة لرسائل ICMPv6. يتم ترك مجموع اختبار ICMPv6 صفرًا ومن المفترض أن تُجري المنصة المجموع الاختباري.
[in] aBufferLength
طول المخزن المؤقت للرسائل
قيم الإرجاع
OT_ERROR_NONE
تم إرسال رسالة ICMPv6 بنجاح.
OT_ERROR_FAILED
تعذَّر إرسال رسالة ICMPv6.

otPlatInfraIfStateChanged

otError otPlatInfraIfStateChanged(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  bool aIsRunning
)

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

ما من مشكلة بالنسبة إلى النظام الأساسي للاتصال بالمنهج حتى في حال عدم تغيير حالة تشغيل الواجهة. وفي هذه الحالة، لن تتأثر حالة "مدير التوجيه".

التفاصيل
المَعلمات
[in] aInstance
بنية مثيل OpenThread.
[in] aInfraIfIndex
فهرس واجهة البنية الأساسية
[in] aIsRunning
قيمة منطقية تحدّد ما إذا كانت واجهة البنية الأساسية قيد التشغيل
قيم الإرجاع
OT_ERROR_NONE
تم تعديل حالة واجهة Infra بنجاح.
OT_ERROR_INVALID_STATE
لم يتم إعداد "مدير التوجيه".
OT_ERROR_INVALID_ARGS
لا يتطابق aInfraIfIndex مع واجهة البنية الأساسية التي يتم إعدادها باستخدام مدير التوجيه.

الموارد

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