Antarmuka Infrastruktur

Modul ini mencakup abstraksi platform untuk antarmuka jaringan infrastruktur yang berdekatan.

Ringkasan

Fungsi

otPlatInfraIfDiscoverNat64Prefix(uint32_t aInfraIfIndex)
Kirim permintaan untuk menemukan awalan NAT64 di antarmuka infrastruktur dengan aInfraIfIndex.
otPlatInfraIfDiscoverNat64PrefixDone(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Prefix *aIp6Prefix)
void
Driver antarmuka infra memanggil metode ini untuk memberi tahu OpenThread bahwa penemuan awalan NAT64 telah dilakukan.
otPlatInfraIfHasAddress(uint32_t aInfraIfIndex, const otIp6Address *aAddress)
bool
Memberi tahu apakah antarmuka infra memiliki alamat IPv6 yang telah ditetapkan.
otPlatInfraIfRecvIcmp6Nd(otInstance *aInstance, uint32_t aInfraIfIndex, const otIp6Address *aSrcAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
void
Driver antarmuka infra memanggil metode ini untuk memberi tahu OpenThread bahwa pesan ICMPv6 Neighbor Discovery diterima.
otPlatInfraIfSendIcmp6Nd(uint32_t aInfraIfIndex, const otIp6Address *aDestAddress, const uint8_t *aBuffer, uint16_t aBufferLength)
Mengirim pesan Penemuan Tetangga ICMPv6 pada antarmuka infrastruktur tertentu.
otPlatInfraIfStateChanged(otInstance *aInstance, uint32_t aInfraIfIndex, bool aIsRunning)
Driver antarmuka infra memanggil metode ini untuk memberi tahu OpenThread tentang perubahan status antarmuka.

Fungsi

otPlatInfraIfDiscoverNat64Prefix

otError otPlatInfraIfDiscoverNat64Prefix(
  uint32_t aInfraIfIndex
)

Kirim permintaan untuk menemukan awalan NAT64 di antarmuka infrastruktur dengan aInfraIfIndex.

OpenThread akan memanggil metode ini secara berkala untuk memantau keberadaan atau perubahan awalan NAT64.

Detail
Parameter
[in] aInfraIfIndex
Indeks antarmuka infrastruktur untuk menemukan awalan NAT64.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil meminta penemuan awalan NAT64.
OT_ERROR_FAILED
Gagal meminta penemuan awalan NAT64.

otPlatInfraIfDiscoverNat64PrefixDone

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

Driver antarmuka infra memanggil metode ini untuk memberi tahu OpenThread bahwa penemuan awalan NAT64 telah dilakukan.

Diharapkan untuk dipanggil setelah memanggil otPlatInfraIfDiscoverNat64Prefix. Jika tidak ada awalan NAT64 yang ditemukan, aIp6Prefix harus mengarah ke awalan kosong dengan panjang nol.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aInfraIfIndex
Indeks antarmuka infrastruktur tempat awalan NAT64 ditemukan.
[in] aIp6Prefix
Pointer ke awalan NAT64.

otPlatInfraIfHasAddress

bool otPlatInfraIfHasAddress(
  uint32_t aInfraIfIndex,
  const otIp6Address *aAddress
)

Memberi tahu apakah antarmuka infra memiliki alamat IPv6 yang telah ditetapkan.

Detail
Parameter
[in] aInfraIfIndex
Indeks antarmuka infra.
[in] aAddress
Alamat IPv6.
Hasil
TRUE jika antarmuka infra telah memberikan alamat IPv6 yang ditetapkan, FALSE jika sebaliknya.

{i>otPlatInfraIfRecvIcmp6Nd<i}

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

Driver antarmuka infra memanggil metode ini untuk memberi tahu OpenThread bahwa pesan ICMPv6 Neighbor Discovery diterima.

Lihat RFC 4861: https://tools.ietf.org/html/rfc4861.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aInfraIfIndex
Indeks antarmuka infrastruktur tempat pesan ICMPv6 diterima.
[in] aSrcAddress
Alamat sumber tempat pesan ini diterima.
[in] aBuffer
Buffering pesan ICMPv6.
[in] aBufferLength
Panjang buffering pesan ICMPv6.

otPlatInfraIfSendIcmp6Nd

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

Mengirim pesan Penemuan Tetangga ICMPv6 pada antarmuka infrastruktur tertentu.

Lihat RFC 4861: https://tools.ietf.org/html/rfc4861.

Detail
Parameter
[in] aInfraIfIndex
Indeks antarmuka infrastruktur yang dikirimi pesan ini.
[in] aDestAddress
Alamat tujuan pengiriman pesan ini.
[in] aBuffer
Buffering pesan ICMPv6. {i>checksum<i} ICMPv6 dibiarkan nol dan platform harus melakukan perhitungan {i>checksum<i}.
[in] aBufferLength
Panjang buffering pesan.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil mengirim pesan ICMPv6.
OT_ERROR_FAILED
Gagal mengirim pesan ICMPv6.

otPlatInfraIfStateChanged

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

Driver antarmuka infra memanggil metode ini untuk memberi tahu OpenThread tentang perubahan status antarmuka.

Platform boleh memanggil ke metode meskipun status antarmuka yang berjalan belum berubah. Dalam kasus ini, status Pengelola Perutean tidak terpengaruh.

Detail
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aInfraIfIndex
Indeks antarmuka infrastruktur.
[in] aIsRunning
Boolean yang menunjukkan apakah antarmuka infrastruktur berjalan.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil memperbarui status antarmuka infra.
OT_ERROR_INVALID_STATE
Routing Manager tidak diinisialisasi.
OT_ERROR_INVALID_ARGS
aInfraIfIndex tidak cocok dengan antarmuka infra yang diinisialisasi dengan Pengelola Pemilihan Rute.

Referensi

Topik Referensi OpenThread API berasal dari kode sumber yang tersedia di GitHub. Untuk informasi selengkapnya, atau untuk berkontribusi pada dokumentasi kami, lihat Referensi.