NAT64

تتضمن هذه الوحدة دوال ودوال لدالة NAT64 على جهاز التوجيه الحدودي.

ملخّص

لا تتوفّر هذه الدوال إلّا عند تفعيل OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE.

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

otNat64DropReason{
  OT_NAT64_DROP_REASON_UNKNOWN = 0,
  OT_NAT64_DROP_REASON_ILLEGAL_PACKET,
  OT_NAT64_DROP_REASON_UNSUPPORTED_PROTO,
  OT_NAT64_DROP_REASON_NO_MAPPING
}
تعداد
أسباب إسقاط الحِزمة
otNat64State{
  OT_NAT64_STATE_DISABLED = 0,
  OT_NAT64_STATE_NOT_RUNNING,
  OT_NAT64_STATE_IDLE,
  OT_NAT64_STATE_ACTIVE
}
تعداد
حالات NAT64.

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

otIp4Address typedef
struct otIp4Address
يُمثِّل عنوان IPv4.
otIp4Cidr typedef
struct otIp4Cidr
otNat64AddressMapping typedef
يمثل سجل تعيين العنوان لـ NAT64.
otNat64AddressMappingIterator typedef
يُستخدم لتكرار تعيينات عناوين NAT64.
otNat64Counters typedef
يمثل عدّادات NAT64.
otNat64DropReason typedef
أسباب إسقاط الحِزمة
otNat64ErrorCounters typedef
يمثل عدادات الحزم التي تم إسقاطها بسبب حدوث أخطاء عند معالجة حزم NAT64.
otNat64ProtocolCounters typedef
يمثل عدادات البروتوكولات المتوافقة مع NAT64.
otNat64ReceiveIp4Callback)(otMessage *aMessage, void *aContext) typedef
void(*
يتم استدعاء المؤشر عند تلقي مخطط بيانات IPv4 (تمت الترجمة بواسطة مترجم NAT64).

المتغيرات

OT_TOOL_PACKED_END

الدوال

otIp4AddressFromString(const char *aString, otIp4Address *aAddress)
تحوِّل سلسلة عناوين IPv4 التي يمكن لشخص عادي قراءتها إلى تمثيل ثنائي.
otIp4AddressToString(const otIp4Address *aAddress, char *aBuffer, uint16_t aSize)
void
لتحويل العنوان إلى سلسلة.
otIp4CidrFromString(const char *aString, otIp4Cidr *aCidr)
لتحويل سلسلة IPv4 CIDR التي يمكن لشخص عادي قراءتها إلى تمثيل ثنائي.
otIp4CidrToString(const otIp4Cidr *aCidr, char *aBuffer, uint16_t aSize)
void
تحوِّل CIDR لبروتوكول IPv4 إلى سلسلة.
otIp4ExtractFromIp6Address(uint8_t aPrefixLength, const otIp6Address *aIp6Address, otIp4Address *aIp4Address)
void
اضبط aIp4Address من خلال تنفيذ ترجمة عنوان NAT64 من aIp6Address كما هو محدّد في RFC 6052.
otIp4IsAddressEqual(const otIp4Address *aFirst, const otIp4Address *aSecond)
bool
اختبِر ما إذا كان عنوانا IPv4 متطابقَين.
otIp4NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
تخصيص مورد احتياطي جديد للرسائل لإرسال رسالة IPv4 إلى مترجم NAT64
otNat64GetCidr(otInstance *aInstance, otIp4Cidr *aCidr)
للحصول على بروتوكول CIDR لبروتوكول IPv4 في مترجم NAT64.
otNat64GetCounters(otInstance *aInstance, otNat64ProtocolCounters *aCounters)
void
الحصول على عدّادات مترجم NAT64
otNat64GetErrorCounters(otInstance *aInstance, otNat64ErrorCounters *aCounters)
void
الحصول على عدادات أخطاء مترجم NAT64.
otNat64GetNextAddressMapping(otInstance *aInstance, otNat64AddressMappingIterator *aIterator, otNat64AddressMapping *aMapping)
الحصول على معلومات addressMapping التالية (باستخدام تكرار).
otNat64GetPrefixManagerState(otInstance *aInstance)
للحصول على حالة مدير بادئة NAT64.
otNat64GetTranslatorState(otInstance *aInstance)
للحصول على حالة مترجم NAT64.
otNat64InitAddressMappingIterator(otInstance *aInstance, otNat64AddressMappingIterator *aIterator)
void
يبدأ تشغيل otNat64AddressMappingIterator.
otNat64Send(otInstance *aInstance, otMessage *aMessage)
لترجمة مخطط بيانات IPv4 إلى مخطط بيانات IPv6 وإرساله عبر واجهة Thread.
otNat64SetEnabled(otInstance *aInstance, bool aEnabled)
void
تفعيل دوال NAT64 أو إيقافها.
otNat64SetIp4Cidr(otInstance *aInstance, const otIp4Cidr *aCidr)
تحدِّد هذه السياسة CIDR المستخدم عند ضبط العنوان المصدر لحِزم IPv4 المترجمة الصادرة.
otNat64SetReceiveIp4Callback(otInstance *aInstance, otNat64ReceiveIp4Callback aCallback, void *aContext)
void
تسجل معاودة الاتصال لتقديم مخططات بيانات IPv4 المستلمة.
otNat64SynthesizeIp6Address(otInstance *aInstance, const otIp4Address *aIp4Address, otIp6Address *aIp6Address)
تحدد عنوان IPv6 من خلال إجراء ترجمة عنوان NAT64 من بادئة NAT64 المفضّلة وعنوان IPv4 المحدد كما هو محدد في RFC 6052.

الهياكل

otIp4Address

يُمثِّل عنوان IPv4.

otIp4Cidr

يمثِّل حظر CIDR لبروتوكول IPv4.

otNat64AddressMapping

يمثل سجل تعيين العنوان لـ NAT64.

otNat64AddressMappingIterator

يُستخدم لتكرار تعيينات عناوين NAT64.

otNat64Counters

يمثل عدّادات NAT64.

otNat64ErrorCounters

يمثل عدادات الحزم التي تم إسقاطها بسبب حدوث أخطاء عند معالجة حزم NAT64.

otNat64ProtocolCounters

يمثل عدادات البروتوكولات المتوافقة مع NAT64.

الاتحادات

otIp4Address::OT_TOOL_PACKED_FIELD

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

otNat64DropReason

 otNat64DropReason

أسباب إسقاط الحِزمة

أماكن إقامة
OT_NAT64_DROP_REASON_ILLEGAL_PACKET

انخفاض في الحزمة بسبب تعذّر تحليل مخطط البيانات.

OT_NAT64_DROP_REASON_NO_MAPPING

انخفاض في الحزمة بسبب عدم العثور على أي تعيينات أو نفاد تجمع الخرائط.

OT_NAT64_DROP_REASON_UNKNOWN

عُطل في الحزمة لأسباب غير معروفة.

OT_NAT64_DROP_REASON_UNSUPPORTED_PROTO

انخفاض في الحزمة بسبب بروتوكول IP غير متوافق.

otNat64State

 otNat64State

حالات NAT64.

أماكن إقامة
OT_NAT64_STATE_ACTIVE

ينشر BR حاليًا بادئة NAT64 و/أو ترجمة حِزم البيانات.

OT_NAT64_STATE_DISABLED

آلية NAT64 غير مفعّلة.

OT_NAT64_STATE_IDLE

تم تفعيل NAT64، إلا أنّ غرفة BR هذه ليست نشطة من نوع NAT64 BR.

OT_NAT64_STATE_NOT_RUNNING

تم تفعيل NAT64، لكن هناك تبعية واحدة أو أكثر من NAT64 لا تعمل.

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

otIp4Address

struct otIp4Address otIp4Address

يُمثِّل عنوان IPv4.

otIp4Cidr

struct otIp4Cidr otIp4Cidr

otNat64AddressMapping

struct otNat64AddressMapping otNat64AddressMapping

يمثل سجل تعيين العنوان لـ NAT64.

otNat64AddressMappingIterator

struct otNat64AddressMappingIterator otNat64AddressMappingIterator

يُستخدم لتكرار تعيينات عناوين NAT64.

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

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

otNat64Counters

struct otNat64Counters otNat64Counters

يمثل عدّادات NAT64.

otNat64DropReason

enum otNat64DropReason otNat64DropReason

أسباب إسقاط الحِزمة

otNat64ErrorCounters

struct otNat64ErrorCounters otNat64ErrorCounters

يمثل عدادات الحزم التي تم إسقاطها بسبب حدوث أخطاء عند معالجة حزم NAT64.

otNat64ProtocolCounters

struct otNat64ProtocolCounters otNat64ProtocolCounters

يمثل عدادات البروتوكولات المتوافقة مع NAT64.

otNat64ReceiveIp4Callback

void(* otNat64ReceiveIp4Callback)(otMessage *aMessage, void *aContext)

يتم استدعاء المؤشر عند تلقي مخطط بيانات IPv4 (تمت الترجمة بواسطة مترجم NAT64).

التفاصيل
المَعلمات
[in] aMessage
يشير إلى المخزن المؤقت للرسائل الذي يحتوي على مخطط بيانات IPv6 الذي تم استلامه. تنقل هذه الدالة ملكية aMessage إلى متلقي معاودة الاتصال. ويجب أن يحرر متلقي معاودة الاتصال الرسالة بعد معالجتها.
[in] aContext
مؤشر إلى السياق الخاص بالتطبيق.

المتغيرات

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIp4Address OT_TOOL_PACKED_END

الدوال

otIp4AddressFromString

otError otIp4AddressFromString(
  const char *aString,
  otIp4Address *aAddress
)

تحوِّل سلسلة عناوين IPv4 التي يمكن لشخص عادي قراءتها إلى تمثيل ثنائي.

التفاصيل
المَعلمات
[in] aString
مؤشر إلى سلسلة تم إنهاؤها فارغة (NULL).
[out] aAddress
مؤشر إلى عنوان IPv4.
قيم الإرجاع
OT_ERROR_NONE
تم تحليل السلسلة بنجاح.
OT_ERROR_INVALID_ARGS
تعذّر تحليل السلسلة.

otIp4AddressToString

void otIp4AddressToString(
  const otIp4Address *aAddress,
  char *aBuffer,
  uint16_t aSize
)

لتحويل العنوان إلى سلسلة.

يستخدم تنسيق السلسلة تدوينًا رباعي النقاط لأربع بايت في العنوان (على سبيل المثال، "127.0.0.1").

إذا كانت السلسلة الناتجة لا تتوافق مع aBuffer (ضمن أحرف aSize)، سيتم اقتطاع السلسلة، ولكن يتم دائمًا إبقاء قيمة السلسلة فارغة.

التفاصيل
المَعلمات
[in] aAddress
يشير هذا المصطلح إلى مؤشر إلى عنوان IPv4 (يجب ألا يكون فارغًا).
[out] aBuffer
مؤشر إلى صفيف أحرف لإخراج السلسلة (يجب ألا يكون nullptr).
[in] aSize
حجم aBuffer (بالبايت).

otIp4CidrFromString

otError otIp4CidrFromString(
  const char *aString,
  otIp4Cidr *aCidr
)

لتحويل سلسلة IPv4 CIDR التي يمكن لشخص عادي قراءتها إلى تمثيل ثنائي.

التفاصيل
المَعلمات
[in] aString
مؤشر إلى سلسلة تم إنهاؤها فارغة (NULL).
[out] aCidr
يشير هذا المصطلح إلى مؤشر IPv4 CIDR.
قيم الإرجاع
OT_ERROR_NONE
تم تحليل السلسلة بنجاح.
OT_ERROR_INVALID_ARGS
تعذّر تحليل السلسلة.

otIp4CidrToString

void otIp4CidrToString(
  const otIp4Cidr *aCidr,
  char *aBuffer,
  uint16_t aSize
)

تحوِّل CIDR لبروتوكول IPv4 إلى سلسلة.

يستخدم تنسيق السلسلة تدوينًا رباعي النقاط لأربع بايت في العنوان مع طول البادئة (على سبيل المثال، "127.0.0.1/32").

إذا كانت السلسلة الناتجة لا تتوافق مع aBuffer (ضمن أحرف aSize)، سيتم اقتطاع السلسلة، ولكن يتم دائمًا إبقاء قيمة السلسلة فارغة.

التفاصيل
المَعلمات
[in] aCidr
يشير هذا المصطلح إلى مؤشر IPv4 CIDR (يجب ألا يكون فارغًا).
[out] aBuffer
مؤشر إلى صفيف أحرف لإخراج السلسلة (يجب ألا يكون nullptr).
[in] aSize
حجم aBuffer (بالبايت).

otIp4ExtractFromIp6Address

void otIp4ExtractFromIp6Address(
  uint8_t aPrefixLength,
  const otIp6Address *aIp6Address,
  otIp4Address *aIp4Address
)

اضبط aIp4Address من خلال تنفيذ ترجمة عنوان NAT64 من aIp6Address كما هو محدّد في RFC 6052.

يجب أن تكون قيمة NAT64 aPrefixLength واحدة من القيم التالية: 32 أو 40 أو 48 أو 56 أو 64 أو 96، وإلا فإن سلوك هذه الطريقة غير معروف.

التفاصيل
المَعلمات
[in] aPrefixLength
طول البادئة المطلوب استخدامه لترجمة IPv4/IPv6.
[in] aIp6Address
مؤشر إلى عنوان IPv6.
[out] aIp4Address
مؤشر لإخراج عنوان IPv4.

otIp4IsAddressEqual

bool otIp4IsAddressEqual(
  const otIp4Address *aFirst,
  const otIp4Address *aSecond
)

اختبِر ما إذا كان عنوانا IPv4 متطابقَين.

التفاصيل
المَعلمات
[in] aFirst
مؤشر إلى أول عنوان IPv4 للمقارنة.
[in] aSecond
مؤشر إلى عنوان IPv4 الثاني للمقارنة.
قيم الإرجاع
TRUE
عنوانا IPv4 متطابقان.
FALSE
عنوانا IPv4 غير متطابقين.

otIp4NewMessage

otMessage * otIp4NewMessage(
  otInstance *aInstance,
  const otMessageSettings *aSettings
)

تخصيص مورد احتياطي جديد للرسائل لإرسال رسالة IPv4 إلى مترجم NAT64

سيتم حجز 20 بايت (الفرق بين حجم رؤوس IPv6 وأحجام عناوين IPv4) للمخازن المؤقتة للرسائل التي خصصتها هذه الدالة.

تتوفّر هذه الميزة عندما تكون ميزة "OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE" مفعّلة.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aSettings
مؤشر إلى إعدادات الرسالة أو فارغ لضبط الإعدادات التلقائية.
المرتجعات
يشير هذا المصطلح إلى مؤشر المخزن المؤقت للرسائل أو NULL في حال عدم توفّر أي مخازن مؤقتة للرسائل أو كانت المَعلمات غير صالحة.
راجِع أيضًا:
otNat64Send

otNat64GetCidr

otError otNat64GetCidr(
  otInstance *aInstance,
  otIp4Cidr *aCidr
)

للحصول على بروتوكول CIDR لبروتوكول IPv4 في مترجم NAT64.

تتوفّر هذه الميزة عندما تكون ميزة "OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE" مفعّلة.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[out] aCidr
مؤشر إلى otIp4Cidr المكان الذي سيتم فيه ملء CIDR.

otNat64GetCounters

void otNat64GetCounters(
  otInstance *aInstance,
  otNat64ProtocolCounters *aCounters
)

الحصول على عدّادات مترجم NAT64

يتم احتساب العدّاد منذ إعداد المثيل.

تتوفّر هذه الميزة عندما تكون ميزة "OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE" مفعّلة.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[out] aCounters
مؤشر يشير إلى otNat64Counters حيث سيتم وضع عدّادات ترجمة NAT64

otNat64GetErrorCounters

void otNat64GetErrorCounters(
  otInstance *aInstance,
  otNat64ErrorCounters *aCounters
)

الحصول على عدادات أخطاء مترجم NAT64.

تتم تهيئة العدادات على الصفر عند تهيئة مثيل OpenThread.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[out] aCounters
مؤشر يشير إلى otNat64Counters حيث سيتم وضع عدّادات ترجمة NAT64

otNat64GetNextAddressMapping

otError otNat64GetNextAddressMapping(
  otInstance *aInstance,
  otNat64AddressMappingIterator *aIterator,
  otNat64AddressMapping *aMapping
)

الحصول على معلومات addressMapping التالية (باستخدام تكرار).

تتوفّر هذه الميزة عندما تكون ميزة "OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE" مفعّلة.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in,out] aIterator
مؤشر يشير إلى المكرّر. عند إتمام العملية بنجاح، سيتم تحديث المكرّر للتوجيه إلى سجل تعيين عنوان NAT64 التالي. للحصول على الإدخال الأول، يجب تعيين المكرر على OT_NAT64_ADDRESS_MAPPING_ITERATOR_INIT.
[out] aMapping
مؤشر يشير إلى otNat64AddressMapping حيث يتم وضع معلومات حول سجلّ ربط عنوان NAT64 التالي (عند نجاح العملية).
قيم الإرجاع
OT_ERROR_NONE
تم العثور بنجاح على معلومات ربط عنوان NAT64 التالية (تم تعديل aMapping بنجاح).
OT_ERROR_NOT_FOUND
لم يتم العثور على أي معلومات لاحقة لتعيين عنوان NAT64.

otNat64GetPrefixManagerState

otNat64State otNat64GetPrefixManagerState(
  otInstance *aInstance
)

للحصول على حالة مدير بادئة NAT64.

تتوفّر هذه الميزة عندما تكون ميزة "OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE" مفعّلة.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
قيم الإرجاع
OT_NAT64_STATE_DISABLED
تم إيقاف مدير بادئة NAT64.
OT_NAT64_STATE_NOT_RUNNING
تم تفعيل مدير بادئة NAT64، ولكنه لا يعمل (لأن مدير التوجيه لا يعمل).
OT_NAT64_STATE_IDLE
تم تفعيل مدير بادئة NAT64، ولكن لم يتم نشر بادئة NAT64. عادةً ما يكون هناك موجه حدودي آخر ينشر بادئة NAT64 بأولوية أعلى.
OT_NAT64_STATE_ACTIVE
تم تفعيل مدير بادئة NAT64، وجارٍ نشر بادئة NAT64 على شبكة Thread.

otNat64GetTranslatorState

otNat64State otNat64GetTranslatorState(
  otInstance *aInstance
)

للحصول على حالة مترجم NAT64.

تتوفّر هذه الميزة عندما تكون ميزة "OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE" مفعّلة.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
قيم الإرجاع
OT_NAT64_STATE_DISABLED
مترجم NAT64 غير مفعّل.
OT_NAT64_STATE_NOT_RUNNING
مترجم NAT64 مفعّل، ولكن لم يتم إعداد المترجم باستخدام بادئة NAT64 وCIDR صالحة.
OT_NAT64_STATE_ACTIVE
مترجم NAT64 مفعَّل وهو يعمل على ترجمة حزم البيانات.

otNat64InitAddressMappingIterator

void otNat64InitAddressMappingIterator(
  otInstance *aInstance,
  otNat64AddressMappingIterator *aIterator
)

يبدأ تشغيل otNat64AddressMappingIterator.

"يجب" تهيئة المكرر قبل استخدامه.

يمكن إعداد المكرّر مرة أخرى لإعادة التشغيل من بداية معلومات التعيين.

التفاصيل
المَعلمات
[in] aInstance
مثيل OpenThread.
[out] aIterator
مؤشر يشير إلى المكرّر للتهيئة.

otNat64Send

otError otNat64Send(
  otInstance *aInstance,
  otMessage *aMessage
)

لترجمة مخطط بيانات IPv4 إلى مخطط بيانات IPv6 وإرساله عبر واجهة Thread.

ينقل المتصل ملكية aMessage عند إجراء هذه المكالمة. سيعمل OpenThread على تفريغ aMessage عند اكتمال المعالجة، بما في ذلك عند عرض قيمة بخلاف OT_ERROR_NONE.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aMessage
يشير هذا المصطلح إلى مؤشر للمخزن المؤقت للرسائل يحتوي على مخطط بيانات IPv4.
قيم الإرجاع
OT_ERROR_NONE
تمت معالجة الرسالة بنجاح.
OT_ERROR_DROP
تمت صياغة الرسالة بشكل جيد، ولكن لم تتم معالجتها بالكامل بسبب قواعد معالجة الحِزم.
OT_ERROR_NO_BUFS
تعذَّر تخصيص الموارد الاحتياطية اللازمة للرسائل عند معالجة مخطط البيانات.
OT_ERROR_NO_ROUTE
لا يتوفّر مسار للمضيف.
OT_ERROR_INVALID_SOURCE_ADDRESS
عنوان المصدر غير صالح، على سبيل المثال، عنوان البث المتعدد أو عنوان البث المتعدد.
OT_ERROR_PARSE
تمت مصادفة رأس مكتوب بشكلٍ غير صحيح عند معالجة الرسالة.

otNat64SetEnabled

void otNat64SetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

تفعيل دوال NAT64 أو إيقافها.

ملاحظة: يشمل ذلك "مترجم NAT64" (عندما يكون OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE مفعَّلاً) و"مدير بادئة NAT64" (عندما يكون OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE مفعَّلاً).

عند تفعيل OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE، يؤدي إيقاف الإعداد على "صحيح" إلى إعادة ضبط جدول الربط في المترجم.

تتوفّر هذه الميزة عند تفعيل "OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE" أو "OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE".

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aEnabled
قيمة منطقية لتفعيل/إيقاف دوال NAT64
راجِع أيضًا:
otNat64GetTranslatorState
otNat64GetPrefixManagerState

otNat64SetIp4Cidr

otError otNat64SetIp4Cidr(
  otInstance *aInstance,
  const otIp4Cidr *aCidr
)

تحدِّد هذه السياسة CIDR المستخدم عند ضبط العنوان المصدر لحِزم IPv4 المترجمة الصادرة.

لا يتوفر هذا الخيار إلا عندما تكون طريقة OPENthread_CONFIG_NAT64_TRANSLATOR_ENABLE مفعّلة.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aCidr
مؤشر إلى otIp4Cidr لكتلة IPv4 CIDR لـ NAT64.
قيم الإرجاع
OT_ERROR_INVALID_ARGS
CIDR المحدد ليس CIDR صالحًا من الإصدار 4 من بروتوكول IP لنظام NAT64.
OT_ERROR_NONE
تم بنجاح إعداد CIDR لـ NAT64.
يُرجى الاطّلاع أيضًا على:
otBorderRouterSend
otBorderRouterSetReceivedCallback

otNat64SetReceiveIp4Callback

void otNat64SetReceiveIp4Callback(
  otInstance *aInstance,
  otNat64ReceiveIp4Callback aCallback,
  void *aContext
)

تسجل معاودة الاتصال لتقديم مخططات بيانات IPv4 المستلمة.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aCallback
يشير ذلك المصطلح إلى مؤشر يشير إلى دالة يتم استدعاؤها عند تلقّي مخطط بيانات IPv4 أو قيمة فارغة (NULL) لإيقاف الردّ.
[in] aContext
مؤشر إلى السياق الخاص بالتطبيق.

otNat64SynthesizeIp6Address

otError otNat64SynthesizeIp6Address(
  otInstance *aInstance,
  const otIp4Address *aIp4Address,
  otIp6Address *aIp6Address
)

تحدد عنوان IPv6 من خلال إجراء ترجمة عنوان NAT64 من بادئة NAT64 المفضّلة وعنوان IPv4 المحدد كما هو محدد في RFC 6052.

التفاصيل
المَعلمات
[in] aInstance
يشير هذا المصطلح إلى مؤشر لمثيل OpenThread.
[in] aIp4Address
مؤشر إلى عنوان IPv4 لترجمته إلى IPv6.
[out] aIp6Address
مؤشر إلى عنوان IPv6 المركب.
المرتجعات
OT_ERROR_NONE تم بنجاح إنشاء عنوان IPv6 من بادئة NAT64 وعنوان IPv4.
المرتجعات
OT_ERROR_INVALID_STATE لا توجد بادئة NAT64 صالحة في بيانات الشبكة.

وحدات ماكرو

OT_IP4_ADDRESS_SIZE

 OT_IP4_ADDRESS_SIZE 4

حجم عنوان IPv4 (بالبايت)

OT_IP4_ADDRESS_STRING_SIZE

 OT_IP4_ADDRESS_STRING_SIZE 17

طول 000.000.000.000 بالإضافة إلى لاحقة NUL.

OT_IP4_CIDR_STRING_SIZE

 OT_IP4_CIDR_STRING_SIZE 20

الطول 000.000.000.000/00 بالإضافة إلى لاحقة NUL.

المراجِع

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