NAT64

Bu modül, sınır yönlendiricideki NAT64 işleviyle ilgili işlevleri ve struct'ları içerir.

Özet

Bu işlevler yalnızca OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE etkinken kullanılabilir.

Sıralamalar

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
Paket bırakma nedenleri.
otNat64State{
  OT_NAT64_STATE_DISABLED = 0,
  OT_NAT64_STATE_NOT_RUNNING,
  OT_NAT64_STATE_IDLE,
  OT_NAT64_STATE_ACTIVE
}
enum
NAT64 durumları.

Türdefler

otIp4Address typedef
struct otIp4Address
Bir IPv4 adresini temsil eder.
otIp4Cidr typedef
struct otIp4Cidr
otNat64AddressMapping typedef
NAT64 için adres eşleme kaydını temsil eder.
otNat64AddressMappingIterator typedef
NAT64 adres eşlemelerini yinelemek için kullanılır.
otNat64Counters typedef
NAT64 sayaçlarını temsil eder.
otNat64DropReason typedef
Paket bırakma nedenleri.
otNat64ErrorCounters typedef
NAT64 paketleri işlenirken yaşanan hatalar nedeniyle bırakılan paketlerin sayaçlarını temsil eder.
otNat64ProtocolCounters typedef
NAT64 tarafından desteklenen protokollerin sayaçlarını temsil eder.
otNat64ReceiveIp4Callback)(otMessage *aMessage, void *aContext) typedef
void(*
Bir IPv4 datagramı (NAT64 çevirmeni tarafından çevrilen) alındığında işaretçi çağrılır.

Değişkenler

OT_TOOL_PACKED_END

İşlevler

otIp4AddressFromString(const char *aString, otIp4Address *aAddress)
İnsanlar tarafından okunabilir bir IPv4 adres dizesini ikili gösterime dönüştürür.
otIp4AddressToString(const otIp4Address *aAddress, char *aBuffer, uint16_t aSize)
void
Adresi bir dizeye dönüştürür.
otIp4CidrFromString(const char *aString, otIp4Cidr *aCidr)
Kullanıcılar tarafından okunabilir bir IPv4 CIDR dizesini ikili gösterime dönüştürür.
otIp4CidrToString(const otIp4Cidr *aCidr, char *aBuffer, uint16_t aSize)
void
IPv4 CIDR'yi bir dizeye dönüştürür.
otIp4ExtractFromIp6Address(uint8_t aPrefixLength, const otIp6Address *aIp6Address, otIp4Address *aIp4Address)
void
aIp4Address değerini, RFC 6052'de belirtildiği gibi aIp6Address ürününden NAT64 adres çevirisi gerçekleştirerek ayarlayın.
otIp4IsAddressEqual(const otIp4Address *aFirst, const otIp4Address *aSecond)
bool
İki IPv4 adresinin aynı olup olmadığını test edin.
otIp4NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
NAT64 çevirmene IPv4 mesajı göndermek için yeni bir mesaj arabelleği ayırın.
otNat64GetCidr(otInstance *aInstance, otIp4Cidr *aCidr)
NAT64 çevirmeninde yapılandırılan IPv4 CIDR'yi alır.
otNat64GetCounters(otInstance *aInstance, otNat64ProtocolCounters *aCounters)
void
NAT64 çevirmen sayaçlarını alır.
otNat64GetErrorCounters(otInstance *aInstance, otNat64ErrorCounters *aCounters)
void
NAT64 çevirmen hatası sayaçlarını alır.
otNat64GetNextAddressMapping(otInstance *aInstance, otNat64AddressMappingIterator *aIterator, otNat64AddressMapping *aMapping)
Sonraki AddressEşleme bilgisini alır (yineleyici kullanarak).
otNat64GetPrefixManagerState(otInstance *aInstance)
NAT64 ön ek yöneticisinin durumunu alır.
otNat64GetTranslatorState(otInstance *aInstance)
NAT64 çevirmenin durumunu alır.
otNat64InitAddressMappingIterator(otInstance *aInstance, otNat64AddressMappingIterator *aIterator)
void
otNat64Send(otInstance *aInstance, otMessage *aMessage)
Bir IPv4 datagramını IPv6 datagramına çevirir ve Thread arayüzü üzerinden gönderir.
otNat64SetEnabled(otInstance *aInstance, bool aEnabled)
void
NAT64 işlevlerini etkinleştirin veya devre dışı bırakın.
otNat64SetIp4Cidr(otInstance *aInstance, const otIp4Cidr *aCidr)
Giden çevrilmiş IPv4 paketlerinin kaynak adresini ayarlarken kullanılan CIDR'yi belirler.
otNat64SetReceiveIp4Callback(otInstance *aInstance, otNat64ReceiveIp4Callback aCallback, void *aContext)
void
Alınan IPv4 verigramlarını sağlamak için bir geri çağırma kaydeder.
otNat64SynthesizeIp6Address(otInstance *aInstance, const otIp4Address *aIp4Address, otIp6Address *aIp6Address)
IPv6 adresini, tercih edilen NAT64 ön ekinden ve verilen IPv4 adresinden RFC 6052'de belirtildiği şekilde NAT64 adres çevirisi gerçekleştirerek belirler.

Yapılar

otIp4Address

Bir IPv4 adresini temsil eder.

otIp4Cidr

Bir IPv4 CIDR bloğunu temsil eder.

otNat64AddressMapping

NAT64 için adres eşleme kaydını temsil eder.

otNat64AddressMappingIterator

NAT64 adres eşlemelerini yinelemek için kullanılır.

otNat64Counters

NAT64 sayaçlarını temsil eder.

otNat64ErrorCounters

NAT64 paketleri işlenirken yaşanan hatalar nedeniyle bırakılan paketlerin sayaçlarını temsil eder.

otNat64ProtocolCounters

NAT64 tarafından desteklenen protokollerin sayaçlarını temsil eder.

Birlikler

otIp4Address::OT_TOOL_PACKED_FIELD

Sıralamalar

otNat64DropReason

 otNat64DropReason

Paket bırakma nedenleri.

Özellikler
OT_NAT64_DROP_REASON_ILLEGAL_PACKET

Datagramın ayrıştırılamaması nedeniyle paket düşüşü.

OT_NAT64_DROP_REASON_NO_MAPPING

Eşleme bulunamadığı veya eşleme havuzu tükendiği için paket düşüşü.

OT_NAT64_DROP_REASON_UNKNOWN

Bilinmeyen nedenlerle paket bırakma.

OT_NAT64_DROP_REASON_UNSUPPORTED_PROTO

Desteklenmeyen IP protokolü nedeniyle paket düşüşü.

otNat64State

 otNat64State

NAT64 durumları.

Özellikler
OT_NAT64_STATE_ACTIVE

BR, bir NAT64 öneki yayınlıyor ve/veya paketleri çeviriyor.

OT_NAT64_STATE_DISABLED

NAT64 devre dışı.

OT_NAT64_STATE_IDLE

NAT64 etkin ancak bu BR etkin bir NAT64 BR değil.

OT_NAT64_STATE_NOT_RUNNING

NAT64 etkin, ancak NAT64'ün bir veya daha fazla bağımlılığı çalışmıyor.

Türdefler

otIp4Address

struct otIp4Address otIp4Address

Bir IPv4 adresini temsil eder.

otIp4Cidr

struct otIp4Cidr otIp4Cidr

otNat64AddressMapping

struct otNat64AddressMapping otNat64AddressMapping

NAT64 için adres eşleme kaydını temsil eder.

otNat64AddressMappingIterator

struct otNat64AddressMappingIterator otNat64AddressMappingIterator

NAT64 adres eşlemelerini yinelemek için kullanılır.

Bu türdeki alanlar opaktır (yalnızca OpenThread Core tarafından kullanılmak üzere tasarlanmıştır) ve bu nedenle arayan tarafından erişilmemeli veya kullanılmamalıdır.

Bir iterasyon/yineleyici kullanılmadan önce otNat64AddressMappingIteratorInit() kullanılarak başlatılması ZORUNLUDUR.

otNat64Counters

struct otNat64Counters otNat64Counters

NAT64 sayaçlarını temsil eder.

otNat64DropReason

enum otNat64DropReason otNat64DropReason

Paket bırakma nedenleri.

otNat64ErrorCounters

struct otNat64ErrorCounters otNat64ErrorCounters

NAT64 paketleri işlenirken yaşanan hatalar nedeniyle bırakılan paketlerin sayaçlarını temsil eder.

otNat64ProtocolCounters

struct otNat64ProtocolCounters otNat64ProtocolCounters

NAT64 tarafından desteklenen protokollerin sayaçlarını temsil eder.

otNat64ReceiveIp4Callback

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

Bir IPv4 datagramı (NAT64 çevirmeni tarafından çevrilen) alındığında işaretçi çağrılır.

Ayrıntılar
Parametreler
[in] aMessage
Alınan IPv6 datagramını içeren mesaj arabelleğinin işaretçisi. Bu işlev, aMessage öğesinin sahipliğini geri çağırmanın alıcısına aktarır. İleti, işlendikten sonra geri çağırmanın alıcısı tarafından serbest bırakılır.
[in] aContext
Uygulamaya özel bağlama işaret eden bir işaretçi.

Değişkenler

OT_TOOL_PACKED_END

OT_TOOL_PACKED_BEGIN struct otIp4Address OT_TOOL_PACKED_END

İşlevler

otIp4AddressFromString

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

İnsanlar tarafından okunabilir bir IPv4 adres dizesini ikili gösterime dönüştürür.

Ayrıntılar
Parametreler
[in] aString
NULL sonlandırılmış bir dizenin işaretçisi.
[out] aAddress
IPv4 adresine işaretçi.
Döndürülen Değerler
OT_ERROR_NONE
Dize başarıyla ayrıştırıldı.
OT_ERROR_INVALID_ARGS
Dize ayrıştırılamadı.

otIp4AddressToString

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

Adresi bir dizeye dönüştürür.

Dize biçimi, adreste dört baytlık dört noktalı gösterimi kullanır (ör. "127.0.0.1").

Oluşturulan dize aBuffer içine sığmazsa (aSize karakter içinde) dize kısaltılır, ancak çıkarılan dize her zaman boş sona erer.

Ayrıntılar
Parametreler
[in] aAddress
Bir IPv4 adresine işaretçi (NULL OLMAMALIDIR).
[out] aBuffer
Dizenin çıktısını almak için bir karakter dizisine işaret eden işaretçi (nullptr OLMAMALIDIR).
[in] aSize
aBuffer öğesinin boyutu (bayt cinsinden).

otIp4CidrFromString

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

Kullanıcılar tarafından okunabilir bir IPv4 CIDR dizesini ikili gösterime dönüştürür.

Ayrıntılar
Parametreler
[in] aString
NULL sonlandırılmış bir dizenin işaretçisi.
[out] aCidr
IPv4 CIDR işaretçisi.
Döndürülen Değerler
OT_ERROR_NONE
Dize başarıyla ayrıştırıldı.
OT_ERROR_INVALID_ARGS
Dize ayrıştırılamadı.

otIp4CidrToString

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

IPv4 CIDR'yi bir dizeye dönüştürür.

Dize biçimi, adreste ön ek uzunluğuyla birlikte (ör. "127.0.0.1/32").

Oluşturulan dize aBuffer içine sığmazsa (aSize karakter içinde) dize kısaltılır, ancak çıkarılan dize her zaman boş sona erer.

Ayrıntılar
Parametreler
[in] aCidr
Bir IPv4 CIDR işaretçisi (NULL OLMAMALIDIR).
[out] aBuffer
Dizenin çıktısını almak için bir karakter dizisine işaret eden işaretçi (nullptr OLMAMALIDIR).
[in] aSize
aBuffer öğesinin boyutu (bayt cinsinden).

otIp4ExtractFromIp6Address

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

aIp4Address değerini, RFC 6052'de belirtildiği gibi aIp6Address ürününden NAT64 adres çevirisi gerçekleştirerek ayarlayın.

NAT64 aPrefixLength şu değerlerden biri OLMALIDIR: 32, 40, 48, 56, 64 veya 96. Aksi takdirde, bu yöntemin davranışı tanımlanmamış olur.

Ayrıntılar
Parametreler
[in] aPrefixLength
IPv4/IPv6 çevirisi için kullanılacak ön ek uzunluğu.
[in] aIp6Address
IPv6 adresine işaretçi.
[out] aIp4Address
IPv4 adresini çıkış noktası olarak gösteren bir işaretçi.

otIp4IsAddressEqual

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

İki IPv4 adresinin aynı olup olmadığını test edin.

Ayrıntılar
Parametreler
[in] aFirst
Karşılaştırılacak ilk IPv4 adresinin işaretçisi.
[in] aSecond
Karşılaştırılacak ikinci IPv4 adresinin işaretçisi.
Döndürülen Değerler
TRUE
İki IPv4 adresi aynıdır.
FALSE
İki IPv4 adresi aynı değildir.

otIp4NewMessage

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

NAT64 çevirmene IPv4 mesajı göndermek için yeni bir mesaj arabelleği ayırın.

Bu işlev tarafından ayrılan mesaj arabelleklerinde 20 bayt (IPv6 üstbilgilerinin boyutu ile IPv4 üst bilgi boyutları arasındaki fark) ayrılmış olur.

OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE etkinleştirildiğinde kullanılabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aSettings
Varsayılan ayarları belirlemek için mesaj ayarlarını veya NULL işaretçisi.
İadeler
Kullanılabilir mesaj arabelleği yoksa veya parametreler geçersizse mesaj arabelleğine veya NULL değerine işaret eder.
Şu makaleyi de inceleyebilirsiniz:
otNat64Send

otNat64GetCidr

otError otNat64GetCidr(
  otInstance *aInstance,
  otIp4Cidr *aCidr
)

NAT64 çevirmeninde yapılandırılan IPv4 CIDR'yi alır.

OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE etkinleştirildiğinde kullanılabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[out] aCidr
otIp4Cidr işaretçisi. CIDR'nin doldurulacağı yer.

otNat64GetCounters

void otNat64GetCounters(
  otInstance *aInstance,
  otNat64ProtocolCounters *aCounters
)

NAT64 çevirmen sayaçlarını alır.

Sayaç, örneğin başlatılmasından itibaren sayılır.

OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE etkinleştirildiğinde kullanılabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[out] aCounters
NAT64 çevirmeninin sayaçlarının yerleştirileceği bir otNat64Counters işaretçisi.

otNat64GetErrorCounters

void otNat64GetErrorCounters(
  otInstance *aInstance,
  otNat64ErrorCounters *aCounters
)

NAT64 çevirmen hatası sayaçlarını alır.

OpenThread örneği başlatıldığında sayaçlar sıfır olarak başlatılır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[out] aCounters
NAT64 çevirmeninin sayaçlarının yerleştirileceği bir otNat64Counters işaretçisi.

otNat64GetNextAddressMapping

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

Sonraki AddressEşleme bilgisini alır (yineleyici kullanarak).

OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE etkinleştirildiğinde kullanılabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in,out] aIterator
Yineleyicinin işaretçisi. Başarılı olursa yineleyici, bir sonraki NAT64 adres eşleme kaydını gösterecek şekilde güncellenir. İlk girişi almak için yinelemenin OT_NAT64_ADDRESS_MAPPING_ITERATOR_INIT olarak ayarlanması gerekir.
[out] aMapping
Sonraki NAT64 adres eşleme kaydının bilgilerinin yerleştirildiği otNat64AddressMapping işaretçisi (başarılı).
Döndürülen Değerler
OT_ERROR_NONE
Sonraki NAT64 adres eşleme bilgisi başarıyla bulundu (aMapping başarıyla güncellendi).
OT_ERROR_NOT_FOUND
Daha sonra NAT64 adres eşleme bilgisi bulunamadı.

otNat64GetPrefixManagerState

otNat64State otNat64GetPrefixManagerState(
  otInstance *aInstance
)

NAT64 ön ek yöneticisinin durumunu alır.

OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE etkinleştirildiğinde kullanılabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
Döndürülen Değerler
OT_NAT64_STATE_DISABLED
NAT64 önek yöneticisi devre dışı.
OT_NAT64_STATE_NOT_RUNNING
NAT64 önek yöneticisi etkin ancak çalışmıyor (yönlendirme yöneticisi çalışmadığı için).
OT_NAT64_STATE_IDLE
NAT64 ön ek yöneticisi etkin, ancak NAT64 öneki yayınlamıyor. Genellikle daha yüksek önceliğe sahip bir NAT64 öneki yayınlayan başka bir sınır yönlendiricisi olduğunda.
OT_NAT64_STATE_ACTIVE
NAT64 ön ek yöneticisi etkin ve NAT64 önekini Thread ağına yayınlıyor.

otNat64GetTranslatorState

otNat64State otNat64GetTranslatorState(
  otInstance *aInstance
)

NAT64 çevirmenin durumunu alır.

OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE etkinleştirildiğinde kullanılabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
Döndürülen Değerler
OT_NAT64_STATE_DISABLED
NAT64 çevirmeni devre dışı bırakıldı.
OT_NAT64_STATE_NOT_RUNNING
NAT64 çevirmeni etkin ancak çevirmen geçerli bir NAT64 öneki ve CIDR ile yapılandırılmamış.
OT_NAT64_STATE_ACTIVE
NAT64 çevirmeni etkinleştirildi ve paketleri çeviriyor.

otNat64InitAddressMappingIterator

void otNat64InitAddressMappingIterator(
  otInstance *aInstance,
  otNat64AddressMappingIterator *aIterator
)

Bir otNat64AddressMappingIterator başlatır.

Bir yinelemenin kullanılmadan önce başlatılması ZORUNLUDUR.

Eşleme bilgilerinin başlangıcından itibaren yeniden başlatmak için bir iterasyon tekrar başlatılabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneği.
[out] aIterator
Başlatılacak yinelemenin işaretçisi.

otNat64Send

otError otNat64Send(
  otInstance *aInstance,
  otMessage *aMessage
)

Bir IPv4 datagramını IPv6 datagramına çevirir ve Thread arayüzü üzerinden gönderir.

Arayan, bu aramayı yaparken aMessage sahipliğini aktarır. OpenThread, OT_ERROR_NONE dışında bir değerin döndürülmesi de dahil olmak üzere işleme tamamlandığında aMessage alanını boşaltır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aMessage
IPv4 datagramını içeren mesaj arabelleğinin işaretçisi.
Döndürülen Değerler
OT_ERROR_NONE
İleti başarıyla işlendi.
OT_ERROR_DROP
İleti iyi biçimlendirilmiş ancak paket işleme kuralları nedeniyle tam olarak işlenmemiş.
OT_ERROR_NO_BUFS
Datagram işlenirken gerekli mesaj arabellekleri tahsis edilemedi.
OT_ERROR_NO_ROUTE
Barındırılacak yol yok.
OT_ERROR_INVALID_SOURCE_ADDRESS
Kaynak adresi geçersiz (ör. her noktaya yayın adresi veya çoklu yayın adresi).
OT_ERROR_PARSE
İleti işlenirken hatalı biçimlendirilmiş bir üstbilgiyle karşılaşıldı.

otNat64SetEnabled

void otNat64SetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

NAT64 işlevlerini etkinleştirin veya devre dışı bırakın.

Not: NAT64 Çevirmeni (OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE etkinken) ve NAT64 Önek Yöneticisi'ni (OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE etkinken) içerir.

OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE etkinleştirildiğinde, devre dışı olan ayar true (doğru) değerine ayarlandığında çevirmendeki harita tablosunu sıfırlar.

OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE veya OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE etkinleştirildiğinde kullanılabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aEnabled
NAT64 işlevlerini etkinleştirmek/devre dışı bırakmak için boole değeri
Şu makaleyi de inceleyebilirsiniz:
otNat64GetTranslatorState
otNat64GetPrefixManagerState

otNat64SetIp4Cidr

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

Giden çevrilmiş IPv4 paketlerinin kaynak adresini ayarlarken kullanılan CIDR'yi belirler.

Yalnızca OPENTHREAD_CONFIG_NAT64_TRANSLATOR_ENABLE etkinleştirildiğinde kullanılabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aCidr
NAT64 için IPv4 CIDR bloku için otIp4Cidr işaretçisi.
Döndürülen Değerler
OT_ERROR_INVALID_ARGS
Verilen CIDR, NAT64 için geçerli bir IPv4 CIDR değil.
OT_ERROR_NONE
NAT64 için CIDR başarıyla ayarlandı.
Şu makaleyi de inceleyebilirsiniz:
otBorderRouterSend
otBorderRouterSetReceiveCallback

otNat64SetReceiveIp4Callback

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

Alınan IPv4 verigramlarını sağlamak için bir geri çağırma kaydeder.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aCallback
Bir IPv4 datagramı alındığında çağrılan bir işlevin işaretçisi veya geri çağırmayı devre dışı bırakmak için NULL değerine işaret eder.
[in] aContext
Uygulamaya özel bağlama işaret eden bir işaretçi.

otNat64SynthesizeIp6Address

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

IPv6 adresini, tercih edilen NAT64 ön ekinden ve verilen IPv4 adresinden RFC 6052'de belirtildiği şekilde NAT64 adres çevirisi gerçekleştirerek belirler.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aIp4Address
IPv6'ya çevrilecek IPv4 adresine yönlendiren bir işaretçi.
[out] aIp6Address
Sentezlenmiş IPv6 adresinin işaretçisi.
İadeler
OT_ERROR_NONE IPv6 adresi NAT64 önekinden ve IPv4 adresinden başarıyla sentezlendi.
İadeler
OT_ERROR_INVALID_STATE Ağ verilerinde geçerli bir NAT64 öneki yok.

Makrolar

OT_IP4_ADDRESS_SIZE

 OT_IP4_ADDRESS_SIZE 4

IPv4 adresinin boyutu (bayt)

OT_IP4_ADDRESS_STRING_SIZE

 OT_IP4_ADDRESS_STRING_SIZE 17

000.000.000.000 uzunluk ve NUL son eki.

OT_IP4_CIDR_STRING_SIZE

 OT_IP4_CIDR_STRING_SIZE 20

000.000.000.000/00 uzunluk ve NUL son eki.

Kaynaklar

OpenThread API Referans konuları, GitHub'da bulunan kaynak koddan gelir. Daha fazla bilgi edinmek veya dokümanlarımıza katkıda bulunmak için Kaynaklar bölümüne bakın.