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
}
enum
पैकेट कम होने की वजहें.
otNat64State{
  OT_NAT64_STATE_DISABLED = 0,
  OT_NAT64_STATE_NOT_RUNNING,
  OT_NAT64_STATE_IDLE,
  OT_NAT64_STATE_ACTIVE
}
enum
NAT64 राज्य.

टाइपडीफ़

otIp4Address typedef
struct otIp4Address
आईपीवी4 पता दिखाता है.
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(*
आईपीवी4 डेटाग्राम (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 सीआईडीआर स्ट्रिंग को बाइनरी प्रज़ेंटेशन में बदलता है.
otIp4CidrToString(const otIp4Cidr *aCidr, char *aBuffer, uint16_t aSize)
void
आईपीवी4 सीआईडीआर को स्ट्रिंग में बदलता है.
otIp4ExtractFromIp6Address(uint8_t aPrefixLength, const otIp6Address *aIp6Address, otIp4Address *aIp4Address)
void
RFC 6052 में बताए गए तरीके से, aIp6Address से NAT64 पते का अनुवाद करके aIp4Address सेट करें.
otIp4IsAddressEqual(const otIp4Address *aFirst, const otIp4Address *aSecond)
bool
जांचें कि दो IPv4 पते एक ही हैं या नहीं.
otIp4NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
NAT64 अनुवादक को IPv4 मैसेज भेजने के लिए, नया मैसेज बफ़र असाइन करें.
otNat64GetCidr(otInstance *aInstance, otIp4Cidr *aCidr)
NAT64 अनुवादक में कॉन्फ़िगर किया गया IPv4 सीआईडीआर मिलता है.
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)
यह सुविधा, अनुवाद किए गए आउटगोइंग आईपीवी4 पैकेट का सोर्स पता सेट करते समय इस्तेमाल किया जाने वाला सीआईडीआर सेट करती है.
otNat64SetReceiveIp4Callback(otInstance *aInstance, otNat64ReceiveIp4Callback aCallback, void *aContext)
void
मिले हुए IPv4 डेटाग्राम देने के लिए, कॉलबैक को रजिस्टर करता है.
otNat64SynthesizeIp6Address(otInstance *aInstance, const otIp4Address *aIp4Address, otIp6Address *aIp6Address)
RFC 6052 में बताए गए आईपीवी4 पते और पसंदीदा NAT64 प्रीफ़िक्स से NAT64 पते का अनुवाद करके, आईपीवी6 पता सेट करता है.

संरचना

otIp4Address

आईपीवी4 पता दिखाता है.

otIp4Cidr

आईपीवी4 सीआईडीआर ब्लॉक के बारे में बताता है.

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

काम न करने वाले आईपी प्रोटोकॉल की वजह से पैकेट ड्रॉप.

otNat64State

 otNat64State

NAT64 राज्य.

प्रॉपर्टी
OT_NAT64_STATE_ACTIVE

ब्राज़ील, 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

आईपीवी4 पता दिखाता है.

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)

आईपीवी4 डेटाग्राम (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
आईपीवी4 पते के लिए पॉइंटर.
रिटर्न वैल्यू
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
आईपीवी4 पते के लिए पॉइंटर (शून्य नहीं होना चाहिए).
[out] aBuffer
स्ट्रिंग को आउटपुट करने के लिए चार्ट अरे का पॉइंटर (यह nullptr नहीं होना चाहिए).
[in] aSize
aBuffer का साइज़ (बाइट में).

otIp4CidrFromString

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

इंसान के पढ़े जा सकने वाले IPv4 सीआईडीआर स्ट्रिंग को बाइनरी प्रज़ेंटेशन में बदलता है.

ब्यौरा
पैरामीटर
[in] aString
NULL-खत्म की गई स्ट्रिंग के लिए पॉइंटर.
[out] aCidr
आईपीवी4 सीआईडीआर के लिए पॉइंटर.
रिटर्न वैल्यू
OT_ERROR_NONE
स्ट्रिंग को पार्स कर दिया गया.
OT_ERROR_INVALID_ARGS
स्ट्रिंग को पार्स नहीं किया जा सका.

otIp4CidrToString

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

आईपीवी4 सीआईडीआर को स्ट्रिंग में बदलता है.

स्ट्रिंग फ़ॉर्मैट, प्रीफ़िक्स की लंबाई वाले पते में चार बाइट के क्वाड-डॉट नोटेशन का इस्तेमाल करता है (उदाहरण के लिए, "127.0.0.1/32").

अगर नतीजे में मिलने वाली स्ट्रिंग, aBuffer (इसके aSize वर्णों के अंदर) में फ़िट नहीं होती है, तो स्ट्रिंग को छोटा कर दिया जाएगा. हालांकि, आउटपुट स्ट्रिंग हमेशा खाली रहेगी.

ब्यौरा
पैरामीटर
[in] aCidr
IPv4 सीआईडीआर का पॉइंटर (शून्य नहीं होना चाहिए).
[out] aBuffer
स्ट्रिंग को आउटपुट करने के लिए चार्ट अरे का पॉइंटर (यह nullptr नहीं होना चाहिए).
[in] aSize
aBuffer का साइज़ (बाइट में).

otIp4ExtractFromIp6Address

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

RFC 6052 में बताए गए तरीके से, aIp6Address से NAT64 पते का अनुवाद करके aIp4Address सेट करें.

NAT64 aPrefixLength को इनमें से कोई एक वैल्यू होनी चाहिए: 32, 40, 48, 56, 64 या 96. ऐसा न होने पर, इस तरीके का व्यवहार तय नहीं होता.

ब्यौरा
पैरामीटर
[in] aPrefixLength
IPv4/IPv6 अनुवाद के लिए इस्तेमाल की जाने वाली प्रीफ़िक्स की लंबाई.
[in] aIp6Address
आईपीवी6 पते के लिए पॉइंटर.
[out] aIp4Address
IPv4 पता आउटपुट करने के लिए पॉइंटर.

otIp4IsAddressEqual

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

जांचें कि दो IPv4 पते एक ही हैं या नहीं.

ब्यौरा
पैरामीटर
[in] aFirst
तुलना करने के लिए, पहले IPv4 पते का पॉइंटर.
[in] aSecond
दूसरे IPv4 पते का पॉइंटर, जिसकी तुलना करनी है.
रिटर्न वैल्यू
TRUE
दोनों आईपीवी4 पते एक जैसे हैं.
FALSE
दो IPv4 पते एक जैसे नहीं हैं.

otIp4NewMessage

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

NAT64 अनुवादक को IPv4 मैसेज भेजने के लिए, नया मैसेज बफ़र असाइन करें.

इस फ़ंक्शन के लिए असाइन किए गए मैसेज बफ़र में 20 बाइट (IPv6 हेडर और IPv4 हेडर साइज़ में अंतर) रिज़र्व होंगे.

OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE चालू होने पर उपलब्ध होगा.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aSettings
मैसेज सेटिंग का पॉइंटर या डिफ़ॉल्ट सेटिंग सेट करने के लिए NULL.
लौटाए गए सामान
अगर कोई मैसेज बफ़र उपलब्ध नहीं है या पैरामीटर अमान्य है, तो मैसेज बफ़र या शून्य का पॉइंटर.
यह भी देखें:
otNat64Send

otNat64GetCidr

otError otNat64GetCidr(
  otInstance *aInstance,
  otIp4Cidr *aCidr
)

NAT64 अनुवादक में कॉन्फ़िगर किया गया IPv4 सीआईडीआर मिलता है.

OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE चालू होने पर उपलब्ध होगा.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[out] aCidr
otIp4Cidr के लिए पॉइंटर. सीआईडीआर की जानकारी कहां भरी होगी.

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 प्रीफ़िक्स मैनेजर की सुविधा चालू है और Thread नेटवर्क के लिए NAT64 प्रीफ़िक्स पब्लिश किया जा रहा है.

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 प्रीफ़िक्स और सीआईडीआर के साथ कॉन्फ़िगर नहीं किया गया है.
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
)

यह सुविधा, अनुवाद किए गए आउटगोइंग आईपीवी4 पैकेट का सोर्स पता सेट करते समय इस्तेमाल किया जाने वाला सीआईडीआर सेट करती है.

यह तब ही उपलब्ध होता है, जबOPEN \t_CONFIG_NAT64_TRANSLATOR_ENABLE चालू होता है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aCidr
NAT64 के लिए, IPv4 सीआईडीआर ब्लॉक के लिए otIp4Cidr का पॉइंटर.
रिटर्न वैल्यू
OT_ERROR_INVALID_ARGS
दिया गया सीआईडीआर, NAT64 के लिए मान्य IPv4 सीआईडीआर नहीं है.
OT_ERROR_NONE
NAT64 के लिए सीआईडीआर सेट किया गया.
यह भी देखें:
otBorderRouterSend
otBorderRouterSetReceiveCallback
को

otNat64SetReceiveIp4Callback

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

मिले हुए IPv4 डेटाग्राम देने के लिए, कॉलबैक को रजिस्टर करता है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aCallback
आईपीवी4 डेटाग्राम मिलने पर कॉल किया जाने वाला फ़ंक्शन का पॉइंटर या कॉलबैक को बंद करने के लिए NULL.
[in] aContext
ऐप्लिकेशन के हिसाब से संदर्भ के लिए पॉइंटर.

otNat64SynthesizeIp6Address

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

RFC 6052 में बताए गए आईपीवी4 पते और पसंदीदा NAT64 प्रीफ़िक्स से NAT64 पते का अनुवाद करके, आईपीवी6 पता सेट करता है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aIp4Address
आईपीवी6 में अनुवाद करने के लिए आईपीवी4 पते का पॉइंटर.
[out] aIp6Address
संश्लेषित IPv6 पते के लिए पॉइंटर.
लौटाए गए सामान
OT_ERROR_NONE NAT64 प्रीफ़िक्स और IPv4 पते से IPv6 पते को पूरा किया गया.
लौटाए गए सामान
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 API के रेफ़रंस के विषय, सोर्स कोड से मिलते हैं. यह सोर्स GitHub पर उपलब्ध है. ज़्यादा जानकारी या हमारे दस्तावेज़ में योगदान देने के लिए, संसाधन देखें.