NAT64
এই মডিউলটি বর্ডার রাউটারে NAT64 ফাংশনের জন্য ফাংশন এবং স্ট্রাকস অন্তর্ভুক্ত করে।
সারসংক্ষেপ
OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE
সক্ষম হলেই এই ফাংশনগুলি উপলব্ধ৷
গণনা | |
---|---|
otNat64DropReason { | enum প্যাকেট ড্রপ কারণ. |
otNat64State { | enum NAT64 এর রাজ্য। |
Typedefs | |
---|---|
otIp4Address | typedefstruct otIp4Address একটি IPv4 ঠিকানা প্রতিনিধিত্ব করে। |
otIp4Cidr | typedefstruct otIp4Cidr |
otNat64AddressMapping | typedefstruct otNat64AddressMapping NAT64 এর জন্য একটি ঠিকানা ম্যাপিং রেকর্ড প্রতিনিধিত্ব করে। |
otNat64AddressMappingIterator | typedef NAT64 ঠিকানা ম্যাপিংয়ের মাধ্যমে পুনরাবৃত্তি করতে ব্যবহৃত হয়। |
otNat64Counters | typedefstruct otNat64Counters NAT64 এর জন্য কাউন্টার প্রতিনিধিত্ব করে। |
otNat64DropReason | typedefenum otNat64DropReason প্যাকেট ড্রপ কারণ. |
otNat64ErrorCounters | typedefstruct otNat64ErrorCounters NAT64 প্যাকেটগুলি পরিচালনা করার সময় ত্রুটির কারণে বাদ দেওয়া প্যাকেটগুলির কাউন্টারগুলিকে প্রতিনিধিত্ব করে৷ |
otNat64ProtocolCounters | typedefstruct otNat64ProtocolCounters NAT64 দ্বারা সমর্থিত প্রোটোকলগুলির জন্য কাউন্টারগুলির প্রতিনিধিত্ব করে। |
otNat64ReceiveIp4Callback )(otMessage *aMessage, void *aContext) | typedefvoid(* পয়েন্টার বলা হয় যখন একটি IPv4 ডেটাগ্রাম (NAT64 অনুবাদক দ্বারা অনুবাদিত) প্রাপ্ত হয়। |
ভেরিয়েবল | |
---|---|
OT_TOOL_PACKED_END | OT_TOOL_PACKED_BEGIN struct otIp4Address |
ফাংশন | |
---|---|
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 IPv4 CIDR-কে একটি স্ট্রিং-এ রূপান্তর করে। |
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 CIDR কনফিগার করা হয়। |
otNat64GetCounters ( otInstance *aInstance, otNat64ProtocolCounters *aCounters) | void NAT64 অনুবাদক কাউন্টার পায়। |
otNat64GetErrorCounters ( otInstance *aInstance, otNat64ErrorCounters *aCounters) | void NAT64 অনুবাদক ত্রুটি কাউন্টার পায়। |
otNat64GetNextAddressMapping ( otInstance *aInstance, otNat64AddressMappingIterator *aIterator, otNat64AddressMapping *aMapping) | পরবর্তী ঠিকানা ম্যাপিং তথ্য পায় (একটি পুনরাবৃত্তিকারী ব্যবহার করে)। |
otNat64GetPrefixManagerState ( otInstance *aInstance) | NAT64 উপসর্গ ব্যবস্থাপকের অবস্থা পায়। |
otNat64GetTranslatorState ( otInstance *aInstance) | NAT64 অনুবাদকের অবস্থা পায়। |
otNat64InitAddressMappingIterator ( otInstance *aInstance, otNat64AddressMappingIterator *aIterator) | void একটি otNat64AddressMappingIterator শুরু করে। |
otNat64Send ( otInstance *aInstance, otMessage *aMessage) | একটি IPv4 ডেটাগ্রামকে একটি IPv6 ডেটাগ্রামে অনুবাদ করে এবং থ্রেড ইন্টারফেসের মাধ্যমে পাঠায়। |
otNat64SetEnabled ( otInstance *aInstance, bool aEnabled) | void NAT64 ফাংশন সক্রিয় বা নিষ্ক্রিয় করুন। |
otNat64SetIp4Cidr ( otInstance *aInstance, const otIp4Cidr *aCidr) | বহির্গামী অনুবাদিত IPv4 প্যাকেটের উৎস ঠিকানা সেট করার সময় ব্যবহৃত CIDR সেট করে। |
otNat64SetReceiveIp4Callback ( otInstance *aInstance, otNat64ReceiveIp4Callback aCallback, void *aContext) | void প্রাপ্ত IPv4 ডেটাগ্রাম প্রদানের জন্য একটি কলব্যাক নিবন্ধন করে। |
otNat64SynthesizeIp6Address ( otInstance *aInstance, const otIp4Address *aIp4Address, otIp6Address *aIp6Address) | পছন্দের NAT64 উপসর্গ থেকে NAT64 ঠিকানা অনুবাদ এবং RFC 6052-এ নির্দিষ্ট করা IPv4 ঠিকানা থেকে IPv6 ঠিকানা সেট করে। |
কাঠামো | |
---|---|
otIp4 ঠিকানা | একটি IPv4 ঠিকানা প্রতিনিধিত্ব করে। |
otIp4Cidr | একটি IPv4 CIDR ব্লকের প্রতিনিধিত্ব করে। |
otNat64AddressMapping | NAT64 এর জন্য একটি ঠিকানা ম্যাপিং রেকর্ড প্রতিনিধিত্ব করে। |
otNat64AddressMappingIterator | NAT64 ঠিকানা ম্যাপিংয়ের মাধ্যমে পুনরাবৃত্তি করতে ব্যবহৃত হয়। |
otNat64 কাউন্টার | NAT64 এর জন্য কাউন্টার প্রতিনিধিত্ব করে। |
otNat64ErrorCounters | NAT64 প্যাকেটগুলি পরিচালনা করার সময় ত্রুটির কারণে বাদ দেওয়া প্যাকেটগুলির কাউন্টারগুলিকে প্রতিনিধিত্ব করে৷ |
otNat64 প্রোটোকল কাউন্টার | NAT64 দ্বারা সমর্থিত প্রোটোকলগুলির জন্য কাউন্টারগুলির প্রতিনিধিত্ব করে। |
ইউনিয়ন | |
---|---|
otIp4Address:: OT_TOOL_PACKED_FIELD |
গণনা
otNat64DropReason
otNat64DropReason
প্যাকেট ড্রপ কারণ.
otNat64State
otNat64State
NAT64 এর রাজ্য।
Typedefs
otIp4Cidr
struct otIp4Cidr otIp4Cidr
otNat64AddressMapping
struct otNat64AddressMapping otNat64AddressMapping
NAT64 এর জন্য একটি ঠিকানা ম্যাপিং রেকর্ড প্রতিনিধিত্ব করে।
otNat64AddressMappingIterator
struct otNat64AddressMappingIterator otNat64AddressMappingIterator
NAT64 ঠিকানা ম্যাপিংয়ের মাধ্যমে পুনরাবৃত্তি করতে ব্যবহৃত হয়।
এই ধরনের ক্ষেত্রগুলি অস্বচ্ছ (শুধুমাত্র OpenThread কোর দ্বারা ব্যবহারের উদ্দেশ্যে) এবং তাই কলার দ্বারা অ্যাক্সেস বা ব্যবহার করা উচিত নয়।
একটি পুনরাবৃত্তিকারী ব্যবহার করার আগে, এটি অবশ্যই otNat64AddressMappingIteratorInit()
ব্যবহার করে আরম্ভ করা উচিত।
otNat64ErrorCounters
struct otNat64ErrorCounters otNat64ErrorCounters
NAT64 প্যাকেটগুলি পরিচালনা করার সময় ত্রুটির কারণে বাদ দেওয়া প্যাকেটগুলির কাউন্টারগুলিকে প্রতিনিধিত্ব করে৷
otNat64 প্রোটোকল কাউন্টার
struct otNat64ProtocolCounters otNat64ProtocolCounters
NAT64 দ্বারা সমর্থিত প্রোটোকলগুলির জন্য কাউন্টারগুলির প্রতিনিধিত্ব করে।
otNat64ReceiveIp4Callback
void(* otNat64ReceiveIp4Callback)(otMessage *aMessage, void *aContext)
পয়েন্টার বলা হয় যখন একটি IPv4 ডেটাগ্রাম (NAT64 অনুবাদক দ্বারা অনুবাদিত) প্রাপ্ত হয়।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
|
ভেরিয়েবল
OT_TOOL_PACKED_END
OT_TOOL_PACKED_BEGIN struct otIp4Address OT_TOOL_PACKED_END
ফাংশন
otIp4AddressFromString
otError otIp4AddressFromString( const char *aString, otIp4Address *aAddress )
একটি মানব-পাঠযোগ্য IPv4 ঠিকানা স্ট্রিংকে একটি বাইনারি উপস্থাপনায় রূপান্তর করে।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
| ||||
রিটার্ন মান |
|
otIp4AddressToString
void otIp4AddressToString( const otIp4Address *aAddress, char *aBuffer, uint16_t aSize )
ঠিকানাটিকে একটি স্ট্রিংয়ে রূপান্তর করে।
স্ট্রিং ফরম্যাট ঠিকানায় চার বাইটের কোয়াড-ডটেড নোটেশন ব্যবহার করে (যেমন, "127.0.0.1")।
যদি ফলস্বরূপ স্ট্রিংটি aBuffer
এ মাপসই না হয় (এর aSize
অক্ষরের মধ্যে), স্ট্রিংটি কাটা হবে তবে আউটপুট করা স্ট্রিংটি সর্বদা নাল-টার্মিনেট করা হয়।
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
|
otIp4CidrFromString
otError otIp4CidrFromString( const char *aString, otIp4Cidr *aCidr )
একটি মানব-পাঠযোগ্য IPv4 CIDR স্ট্রিংকে একটি বাইনারি উপস্থাপনায় রূপান্তর করে।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
| ||||
রিটার্ন মান |
|
otIp4CidrToString
void otIp4CidrToString( const otIp4Cidr *aCidr, char *aBuffer, uint16_t aSize )
IPv4 CIDR-কে একটি স্ট্রিং-এ রূপান্তর করে।
স্ট্রিং বিন্যাসটি উপসর্গের দৈর্ঘ্য (যেমন, "127.0.0.1/32") ঠিকানায় চার বাইটের চতুর্ভুজ-বিন্দুযুক্ত স্বরলিপি ব্যবহার করে।
যদি ফলস্বরূপ স্ট্রিংটি aBuffer
এ মাপসই না হয় (এর aSize
অক্ষরের মধ্যে), স্ট্রিংটি কাটা হবে তবে আউটপুট করা স্ট্রিংটি সর্বদা নাল-টার্মিনেট করা হয়।
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
|
otIp4ExtractFromIp6Address
void otIp4ExtractFromIp6Address( uint8_t aPrefixLength, const otIp6Address *aIp6Address, otIp4Address *aIp4Address )
RFC 6052-এ উল্লেখিত হিসাবে aIp6Address
থেকে NAT64 ঠিকানা অনুবাদ সম্পাদন করে aIp4Address
সেট করুন।
NAT64 aPrefixLength
অবশ্যই নিম্নলিখিত মানগুলির মধ্যে একটি হতে হবে: 32, 40, 48, 56, 64, বা 96, অন্যথায় এই পদ্ধতির আচরণ অনির্ধারিত।
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
|
otIp4IsAddressEqual
bool otIp4IsAddressEqual( const otIp4Address *aFirst, const otIp4Address *aSecond )
দুটি IPv4 ঠিকানা একই কিনা তা পরীক্ষা করুন।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
| ||||
রিটার্ন মান |
|
otIp4NewMessage
otMessage * otIp4NewMessage( otInstance *aInstance, const otMessageSettings *aSettings )
NAT64 অনুবাদককে একটি IPv4 বার্তা পাঠানোর জন্য একটি নতুন বার্তা বাফার বরাদ্দ করুন৷
এই ফাংশন দ্বারা বরাদ্দ করা বার্তা বাফারগুলিতে 20 বাইট (IPv6 হেডার এবং IPv4 হেডারের আকারের মধ্যে পার্থক্য) সংরক্ষিত থাকবে।
OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE
সক্ষম হলে উপলব্ধ৷
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
| ||||
রিটার্নস | কোনো বার্তা বাফার উপলব্ধ না হলে বা পরামিতি অবৈধ হলে বার্তা বাফার বা NULL-এর একটি পয়েন্টার৷ |
otNat64 পাঠান
otNat64GetCidr
otError otNat64GetCidr( otInstance *aInstance, otIp4Cidr *aCidr )
NAT64 অনুবাদক-এ IPv4 CIDR কনফিগার করা হয়।
OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE
সক্ষম হলে উপলব্ধ৷
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
|
otNat64GetCounters
void otNat64GetCounters( otInstance *aInstance, otNat64ProtocolCounters *aCounters )
NAT64 অনুবাদক কাউন্টার পায়।
উদাহরণ শুরু হওয়ার পর থেকে কাউন্টারটি গণনা করা হয়।
OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE
সক্ষম হলে উপলব্ধ৷
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
|
otNat64GetErrorCounters
void otNat64GetErrorCounters( otInstance *aInstance, otNat64ErrorCounters *aCounters )
NAT64 অনুবাদক ত্রুটি কাউন্টার পায়।
ওপেন থ্রেড ইনস্ট্যান্স আরম্ভ হলে কাউন্টারগুলিকে শূন্য করা হয়।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
|
otNat64GetNextAddressMapping
otError otNat64GetNextAddressMapping( otInstance *aInstance, otNat64AddressMappingIterator *aIterator, otNat64AddressMapping *aMapping )
পরবর্তী ঠিকানা ম্যাপিং তথ্য পায় (একটি পুনরাবৃত্তিকারী ব্যবহার করে)।
OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE
সক্ষম হলে উপলব্ধ৷
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||
রিটার্ন মান |
|
otNat64GetPrefixManagerState
otNat64State otNat64GetPrefixManagerState( otInstance *aInstance )
NAT64 উপসর্গ ব্যবস্থাপকের অবস্থা পায়।
OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE
সক্ষম হলে উপলব্ধ।
বিস্তারিত | |||||||||
---|---|---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||||
রিটার্ন মান |
|
otNat64GetTranslatorState
otNat64State otNat64GetTranslatorState( otInstance *aInstance )
NAT64 অনুবাদকের অবস্থা পায়।
OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE
সক্ষম হলে উপলব্ধ৷
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||
রিটার্ন মান |
|
otNat64InitAddressMappingIterator
void otNat64InitAddressMappingIterator( otInstance *aInstance, otNat64AddressMappingIterator *aIterator )
একটি otNat64AddressMappingIterator
শুরু করে।
একটি পুনরাবৃত্ত ব্যবহার করার আগে এটি অবশ্যই শুরু করতে হবে।
ম্যাপিং তথ্যের শুরু থেকে পুনরায় চালু করার জন্য একটি পুনরাবৃত্তিকারীকে আবার শুরু করা যেতে পারে।
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
|
otNat64 পাঠান
otError otNat64Send( otInstance *aInstance, otMessage *aMessage )
একটি IPv4 ডেটাগ্রামকে একটি IPv6 ডেটাগ্রামে অনুবাদ করে এবং থ্রেড ইন্টারফেসের মাধ্যমে পাঠায়।
এই কল করার সময় কলার aMessage
এর মালিকানা স্থানান্তর করে। প্রক্রিয়াকরণ সম্পূর্ণ হলে OpenThread aMessage
মুক্ত করবে, যখন OT_ERROR_NONE
ছাড়া অন্য কোনো মান ফেরত দেওয়া হয়।
বিস্তারিত | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
পরামিতি |
| ||||||||||||
রিটার্ন মান |
|
otNat64Set সক্ষম
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
সক্ষম হলে উপলব্ধ৷
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
|
otNat64GetTranslatorState
otNat64GetPrefixManagerState
otNat64SetIp4Cidr
otError otNat64SetIp4Cidr( otInstance *aInstance, const otIp4Cidr *aCidr )
বহির্গামী অনুবাদিত IPv4 প্যাকেটের উৎস ঠিকানা সেট করার সময় ব্যবহৃত CIDR সেট করে।
শুধুমাত্র OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE সক্ষম হলেই উপলব্ধ৷
বিস্তারিত | |||||
---|---|---|---|---|---|
পরামিতি |
| ||||
রিটার্ন মান |
|
otBorderRouterSend
#BorderRouterSetReceiveCallback
otNat64SetReceiveIp4Callback
void otNat64SetReceiveIp4Callback( otInstance *aInstance, otNat64ReceiveIp4Callback aCallback, void *aContext )
প্রাপ্ত IPv4 ডেটাগ্রাম প্রদানের জন্য একটি কলব্যাক নিবন্ধন করে।
বিস্তারিত | |||||||
---|---|---|---|---|---|---|---|
পরামিতি |
|
otNat64SynthesizeIp6Address
otError otNat64SynthesizeIp6Address( otInstance *aInstance, const otIp4Address *aIp4Address, otIp6Address *aIp6Address )
পছন্দের NAT64 উপসর্গ থেকে NAT64 ঠিকানা অনুবাদ এবং RFC 6052-এ নির্দিষ্ট করা IPv4 ঠিকানা থেকে 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- এ উপলব্ধ। আরও তথ্যের জন্য, বা আমাদের ডকুমেন্টেশনে অবদান রাখতে, সম্পদ দেখুন।