Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

TREL

Modul ini mencakup abstraksi platform untuk Thread Radio Encapsulation Link (TREL) menggunakan antarmuka IPv6/UDP.

Ringkasan

Fungsi

otPlatTrelUdp6HandleReceived ( otInstance *aInstance, uint8_t *aBuffer, uint16_t aLength)
void
Fungsi ini merupakan panggilan balik dari platform untuk memberitahukan paket yang diterima.
otPlatTrelUdp6Init ( otInstance *aInstance, const otIp6Address *aUnicastAddress, uint16_t aUdpPort)
void
Fungsi ini menginisialisasi antarmuka TREL IPv6/UDP.
otPlatTrelUdp6SendTo ( otInstance *aInstance, const uint8_t *aBuffer, uint16_t aLength, const otIp6Address *aDestAddress)
Fungsi ini meminta paket untuk dikirim ke tujuan tertentu.
otPlatTrelUdp6SetTestMode ( otInstance *aInstance, bool aEnable)
Fungsi opsional ini dimaksudkan untuk pengujian saja.
otPlatTrelUdp6SubscribeMulticastAddress ( otInstance *aInstance, const otIp6Address *aMulticastAddress)
void
Fungsi ini berlangganan antarmuka TREL IPv6/UDP ke alamat multicast baru.
otPlatTrelUdp6UpdateAddress ( otInstance *aInstance, const otIp6Address *aUnicastAddress)
void
Fungsi ini memperbarui alamat IPv6 unicast untuk antarmuka TREL IPv6/UDP.

Fungsi

otPlatTrelUdp6HandleDiterima

void otPlatTrelUdp6HandleReceived(
  otInstance *aInstance,
  uint8_t *aBuffer,
  uint16_t aLength
)

Fungsi ini merupakan panggilan balik dari platform untuk memberitahukan paket yang diterima.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aBuffer
Buffer yang berisi paket yang diterima.
[in] aLength
Panjang paket (jumlah byte).

otPlatTrelUdp6Init

void otPlatTrelUdp6Init(
  otInstance *aInstance,
  const otIp6Address *aUnicastAddress,
  uint16_t aUdpPort
)

Fungsi ini menginisialisasi antarmuka TREL IPv6/UDP.

Fungsi ini dipanggil sebelum fungsi platform TREL lainnya.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aUnicastAddress
Alamat unicast untuk ditambahkan ke antarmuka dan digunakan sebagai sumber tx dan tujuan rx.
[in] aUdpPort
Nomor port UDP untuk digunakan.

otPlatTrelUdp6SendTo

otError otPlatTrelUdp6SendTo(
  otInstance *aInstance,
  const uint8_t *aBuffer,
  uint16_t aLength,
  const otIp6Address *aDestAddress
)

Fungsi ini meminta paket untuk dikirim ke tujuan tertentu.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aBuffer
Pointer ke buffer yang berisi paket yang akan dikirim.
[in] aLength
Panjang paket (jumlah byte).
[in] aDestAddress
Alamat IPv6 tujuan (dapat berupa alamat IPv6 unicast atau multicast).
Mengembalikan Nilai
OT_ERROR_NONE
Permintaan tx berhasil ditangani.
OT_ERROR_ABORT
Antarmuka belum siap dan tx dibatalkan

otPlatTrelUdp6SetTestMode

otError otPlatTrelUdp6SetTestMode(
  otInstance *aInstance,
  bool aEnable
)

Fungsi opsional ini dimaksudkan untuk pengujian saja.

Ini mengubah status mode uji untuk antarmuka TREL.

Fungsi ini meminta antarmuka TREL untuk sementara dinonaktifkan atau diaktifkan. Saat dinonaktifkan, semua arus lalu lintas melalui antarmuka TREL harus dihentikan secara diam-diam.

Implementasi default yang lemah dari metode ini disediakan oleh OpenThread (mengembalikan NOT_IMPLEMENTED).

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aEnable
Menunjukkan apakah akan mengaktifkan/menonaktifkan antarmuka TREL.
Mengembalikan Nilai
OT_ERROR_NONE
Berhasil mengubah status pengujian antarmuka TREL (diaktifkan/dinonaktifkan).
OT_ERROR_FAILED
Gagal mengaktifkan antarmuka TREL.
OT_ERROR_NOT_IMPLEMENTED
Fungsi ini tidak disediakan oleh platform.

otPlatTrelUdp6SubscribeMulticastAddress

void otPlatTrelUdp6SubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aMulticastAddress
)

Fungsi ini berlangganan antarmuka TREL IPv6/UDP ke alamat multicast baru.

Fungsi ini dapat dipanggil beberapa kali untuk berlangganan ke alamat yang berbeda. Antarmuka harus menerima / menerima paket ditakdirkan untuk alamat multicast sebelumnya berlangganan selain alamat unicast ditambahkan oleh otPlatTrelUdp6Init() berfungsi bila antarmuka diinisialisasi.

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aMulticastAddress
Alamat IPv6 multicast.

otPlatTrelUdp6UpdateAddress

void otPlatTrelUdp6UpdateAddress(
  otInstance *aInstance,
  const otIp6Address *aUnicastAddress
)

Fungsi ini memperbarui alamat IPv6 unicast untuk antarmuka TREL IPv6/UDP.

Antarmuka hanya boleh memiliki satu alamat IPv6 unicast. Memanggil fungsi ini menggantikan setiap ditetapkan sebelumnya unicast alamat IPv6 (selama inisialisasi dari otPlatTrelUdp6Init atau panggilan sebelumnya untuk otPlatTrelUdp6UpdateAddress() ).

rincian
Parameter
[in] aInstance
Struktur instance OpenThread.
[in] aUnicastAddress
Alamat unicast untuk ditambahkan ke antarmuka dan digunakan sebagai sumber tx dan tujuan rx.