Altyapı Arayüzü

Bu modül, bitişik altyapı ağ arayüzü için platform soyutlamasını içerir.

Özet

İşlevler

otPlatInfraIfDiscoverNat64Prefix(uint32_t aInfraIfIndex)
aInfraIfIndex ile altyapı arayüzünde NAT64 önekini keşfetmek için istek gönderin.
otPlatInfraIfDiscoverNat64PrefixDone(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Prefix *aIp6Prefix)
void
Altyapı arayüz sürücüsü, OpenThread'e NAT64 önekinin keşfinin tamamlandığını bildirmek için bu yöntemi çağırır.
otPlatInfraIfHasAddress(uint32_t aInfraIfIndex, const otIp6Address *aAddress)
bool
Bir altyapı arayüzüne, verilen IPv6 adresinin atanmış olup olmadığını bildirir.
otPlatInfraIfRecvIcmp6Nd(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Address *aSrcAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
void
Altyapı arayüz sürücüsü, OpenThread'e bir ICMPv6 Komşu Keşif mesajının alındığını bildirmek için bu yöntemi çağırır.
otPlatInfraIfSendIcmp6Nd(uint32_t aInfraIfIndex, const otIp6Address *aDestAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
Belirtilen altyapı arayüzünde bir ICMPv6 Komşu Keşif mesajı gönderir.
otPlatInfraIfStateChanged(otInstance *aInstance, uint32_t aInfraIfIndex, bool aIsRunning)
Altyapı arayüz sürücüsü, arayüz durumu değişikliklerini OpenThread'e bildirmek için bu yöntemi çağırır.

İşlevler

otPlatInfraIfDiscoverNat64Prefix

otError otPlatInfraIfDiscoverNat64Prefix(
  uint32_t aInfraIfIndex
)

aInfraIfIndex ile altyapı arayüzünde NAT64 önekini keşfetmek için istek gönderin.

OpenThread, NAT64 ön ekinin varlığını veya değişikliğini izlemek için bu yöntemi düzenli olarak çağırır.

Ayrıntılar
Parametreler
[in] aInfraIfIndex
NAT64 önekinin keşfedileceği altyapı arayüzünün dizini.
Döndürülen Değerler
OT_ERROR_NONE
NAT64 ön eki bulma isteği başarıyla gönderildi.
OT_ERROR_FAILED
NAT64 ön ek keşfi istenemedi.

otPlatInfraIfDiscoverNat64PrefixDone

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

Altyapı arayüz sürücüsü, OpenThread'e NAT64 önekinin keşfinin tamamlandığını bildirmek için bu yöntemi çağırır.

otPlatInfraIfKeşfetNat64Prefix çağrıldıktan sonra çağrılması bekleniyor. Herhangi bir NAT64 ön eki bulunmazsa aIp6Prefix, sıfır uzunlukta boş bir ön eki göstermelidir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aInfraIfIndex
NAT64 ön ekinin bulunduğu altyapı arayüzünün dizini.
[in] aIp6Prefix
NAT64 ön ekini gösteren bir işaretçi.

otPlatInfraIfHasAddress

bool otPlatInfraIfHasAddress(
  uint32_t aInfraIfIndex,
  const otIp6Address *aAddress
)

Bir altyapı arayüzüne, verilen IPv6 adresinin atanmış olup olmadığını bildirir.

Ayrıntılar
Parametreler
[in] aInfraIfIndex
Altyapı arayüzünün dizini.
[in] aAddress
IPv6 adresi.
İadeler
Altyapı arayüzü atanmış IPv6 adresi verdiyse DOĞRU, aksi halde YANLIŞ olur.

otPlatInfraIfRecvIcmp6Nd

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

Altyapı arayüz sürücüsü, OpenThread'e bir ICMPv6 Komşu Keşif mesajının alındığını bildirmek için bu yöntemi çağırır.

RFC 4861 sayfasına göz atın: https://tools.ietf.org/html/rfc4861.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aInfraIfIndex
ICMPv6 mesajının alındığı altyapı arayüzünün dizini.
[in] aSrcAddress
Bu iletinin alındığı kaynak adresi.
[in] aBuffer
ICMPv6 mesaj arabelleği.
[in] aBufferLength
ICMPv6 mesaj arabelleğinin uzunluğu.

otPlatInfraIfSendIcmp6Nd

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

Belirtilen altyapı arayüzünde bir ICMPv6 Komşu Keşif mesajı gönderir.

RFC 4861 sayfasına göz atın: https://tools.ietf.org/html/rfc4861.

Ayrıntılar
Parametreler
[in] aInfraIfIndex
Bu mesajın gönderildiği altyapı arayüzünün dizini.
[in] aDestAddress
Bu mesajın gönderildiği hedef adres.
[in] aBuffer
ICMPv6 mesaj arabelleği. ICMPv6 sağlaması sıfır olarak bırakılır ve sağlama toplamı hesaplamasını platform yapmalıdır.
[in] aBufferLength
İleti arabelleğinin uzunluğu.
Döndürülen Değerler
OT_ERROR_NONE
ICMPv6 mesajı başarıyla gönderildi.
OT_ERROR_FAILED
ICMPv6 mesajı gönderilemedi.

otPlatInfraIfStateChanged

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

Altyapı arayüz sürücüsü, arayüz durumu değişikliklerini OpenThread'e bildirmek için bu yöntemi çağırır.

Arayüzün çalışma durumu değişmediğinde bile platformun yöntemi çağırması sorun oluşturmaz. Bu durumda, Yönlendirme Yöneticisi durumu etkilenmez.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örnek yapısı.
[in] aInfraIfIndex
Altyapı arayüzünün dizini.
[in] aIsRunning
Altyapı arayüzünün çalışıp çalışmadığını gösteren bir boole.
Döndürülen Değerler
OT_ERROR_NONE
Altyapı arayüzü durumu başarıyla güncellendi.
OT_ERROR_INVALID_STATE
Yönlendirme Yöneticisi başlatılmadı.
OT_ERROR_INVALID_ARGS
aInfraIfIndex, Yönlendirme Yöneticisi'nin başlatıldığı altyapı arayüzüyle eşleşmiyor.

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.