IPv6

Modul ini mencakup fungsi yang mengontrol komunikasi IPv6.

Ringkasan

Enumerasi

anonymous enum{
  OT_ADDRESS_ORIGIN_THREAD = 0,
  OT_ADDRESS_ORIGIN_SLAAC = 1,
  OT_ADDRESS_ORIGIN_DHCPV6 = 2,
  OT_ADDRESS_ORIGIN_MANUAL = 3
}
enum
Asal Alamat IPv6.
anonymous enum{
  OT_ECN_NOT_CAPABLE = 0x0,
  OT_ECN_CAPABLE_0 = 0x2,
  OT_ECN_CAPABLE_1 = 0x1,
  OT_ECN_MARKED = 0x3
}
enum
Status ECN, yang diwakili sebagai header IP.
anonymous enum{
  OT_IP6_PROTO_HOP_OPTS = 0,
  OT_IP6_PROTO_TCP = 6,
  OT_IP6_PROTO_UDP = 17,
  OT_IP6_PROTO_IP6 = 41,
  OT_IP6_PROTO_ROUTING = 43,
  OT_IP6_PROTO_FRAGMENT = 44,
  OT_IP6_PROTO_ICMP6 = 58,
  OT_IP6_PROTO_NONE = 59,
  OT_IP6_PROTO_DST_OPTS = 60
}
enum
Nomor Protokol Internet.

Typedef

otBorderRoutingCounters typedef
Merepresentasikan penghitung paket yang diteruskan melalui Border Route.
otIp6Address typedef
struct otIp6Address
Merepresentasikan alamat IPv6.
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext) typedef
void(*
Pointer dipanggil saat alamat IPv6 internal ditambahkan atau dihapus.
otIp6AddressComponents typedef
Merepresentasikan komponen alamat IPv6.
otIp6AddressInfo typedef
otIp6InterfaceIdentifier typedef
Mewakili ID Antarmuka alamat IPv6.
otIp6NetworkPrefix typedef
Mewakili Prefiks Jaringan alamat IPv6 (64 bit alamat yang paling signifikan).
otIp6Prefix typedef
struct otIp6Prefix
Mewakili awalan IPv6.
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext) typedef
void(*
Pointer dipanggil saat datagram IPv6 diterima.
otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum) typedef
void(*
Pointer dipanggil dengan hasil otIp6RegisterMulticastListeners.
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix) typedef
bool(*
Pointer memungkinkan pengguna memfilter awalan dan tidak mengizinkan alamat SLAAC berdasarkan awalan yang akan ditambahkan.
otMessageInfo typedef
struct otMessageInfo
Merepresentasikan alamat soket IPv6 lokal dan peer.
otNetifAddress typedef
Mewakili alamat unicast antarmuka jaringan IPv6.
otNetifMulticastAddress typedef
Mewakili alamat multicast antarmuka jaringan IPv6.
otPacketsAndBytes typedef
Merepresentasikan penghitung untuk paket dan byte.
otSockAddr typedef
struct otSockAddr
Merepresentasikan alamat soket IPv6.

Variabel

OT_TOOL_PACKED_END

Fungsi

otIp6AddUnicastAddress(otInstance *aInstance, const otNetifAddress *aAddress)
Menambahkan Alamat Antarmuka Jaringan ke antarmuka Thread.
otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort)
Menambahkan port ke daftar port tidak aman yang diizinkan.
otIp6AddressFromString(const char *aString, otIp6Address *aAddress)
Mengonversi string alamat IPv6 yang dapat dibaca manusia menjadi representasi biner.
otIp6AddressToString(const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
void
Mengonversi alamat IPv6 tertentu menjadi string yang dapat dibaca manusia.
otIp6ArePrefixesEqual(const otIp6Prefix *aFirst, const otIp6Prefix *aSecond)
bool
Uji apakah dua awalan IPv6 sama.
otIp6GetBorderRoutingCounters(otInstance *aInstance)
Mendapatkan penghitung Perutean Batas.
otIp6GetMulticastAddresses(otInstance *aInstance)
Mendapatkan daftar alamat multicast IPv6 yang berlangganan antarmuka Thread.
otIp6GetPrefix(const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix)
void
Mendapatkan awalan dengan aLength dari aAddress.
otIp6GetUnicastAddresses(otInstance *aInstance)
const otNetifAddress *
Mendapatkan daftar alamat IPv6 yang ditetapkan untuk antarmuka Thread.
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
const uint16_t *
Menampilkan pointer ke daftar port yang tidak aman.
otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
bool
Uji apakah dua alamat IPv6 sama.
otIp6IsAddressUnspecified(const otIp6Address *aAddress)
bool
Menunjukkan apakah alamat IPv6 tertentu adalah Alamat Tidak Ditentukan.
otIp6IsEnabled(otInstance *aInstance)
bool
Menunjukkan apakah antarmuka IPv6 aktif atau tidak.
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
bool
Memeriksa apakah mode promiscuous multicast diaktifkan di antarmuka Thread.
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
bool
Menunjukkan apakah traffic kontrol Thread difilter saat mengirimkan datagram IPv6 melalui callback yang ditentukan di otIp6SetReceiveCallback().
otIp6IsSlaacEnabled(otInstance *aInstance)
bool
Menunjukkan apakah modul SLAAC diaktifkan atau tidak.
otIp6NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
Alokasikan buffering pesan baru untuk mengirim pesan IPv6.
otIp6NewMessageFromBuffer(otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
Alokasikan buffering pesan baru dan tulis datagram IPv6 ke buffering pesan untuk mengirim pesan IPv6.
otIp6PrefixFromString(const char *aString, otIp6Prefix *aPrefix)
Mengonversi string awalan IPv6 yang dapat dibaca manusia menjadi representasi biner.
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
uint8_t
Menampilkan panjang pencocokan awalan (bit) untuk dua alamat IPv6.
otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
void
Mengonversi awalan IPv6 tertentu menjadi string yang dapat dibaca manusia.
otIp6ProtoToString(uint8_t aIpProto)
const char *
Mengonversi nomor protokol IP tertentu menjadi string yang dapat dibaca manusia.
otIp6RegisterMulticastListeners(otInstance *aInstance, const otIp6Address *aAddresses, uint8_t aAddressNum, const uint32_t *aTimeout, otIp6RegisterMulticastListenersCallback aCallback, void *aContext)
Mendaftarkan Pemroses Multicast ke Router Backbone Utama.
otIp6RemoveAllUnsecurePorts(otInstance *aInstance)
void
Menghapus semua port dari daftar port yang tidak aman yang diizinkan.
otIp6RemoveUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
Menghapus Alamat Antarmuka Jaringan dari antarmuka Thread.
otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort)
Menghapus port dari daftar port tidak aman yang diizinkan.
otIp6ResetBorderRoutingCounters(otInstance *aInstance)
void
Mereset penghitung Perutean Batas.
otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo)
Melakukan pemilihan alamat sumber OpenThread.
otIp6Send(otInstance *aInstance, otMessage *aMessage)
Mengirim datagram IPv6 melalui antarmuka Thread.
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
void
Mendaftarkan callback untuk memberi tahu perubahan alamat IPv6 internal.
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
Menghadirkan antarmuka IPv6 ke atas atau ke bawah.
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
Menetapkan Mesh Local IID (untuk tujuan pengujian).
otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
void
Mengaktifkan atau menonaktifkan mode promiscuous multicast pada antarmuka Thread.
otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
void
Mendaftarkan callback untuk memberikan datagram IPv6 yang diterima.
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
void
Menetapkan apakah traffic kontrol Thread difilter atau tidak saat mengirimkan datagram IPv6 melalui callback yang ditentukan di otIp6SetReceiveCallback().
otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
void
Mengaktifkan/menonaktifkan modul SLAAC.
otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
void
Menetapkan pengendali filter modul SLAAC.
otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
void
Mengonversi alamat soket IPv6 tertentu menjadi string yang dapat dibaca manusia.
otIp6SubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
Menyertakan antarmuka Thread ke Alamat Multicast Antarmuka Jaringan.
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
Menghentikan langganan antarmuka Thread ke Alamat Multicast Antarmuka Jaringan.

Struct

otBorderRouteCounters

Merepresentasikan penghitung paket yang diteruskan melalui Border Route.

otIp6Alamat

Merepresentasikan alamat IPv6.

otIp6AddressComponents

Merepresentasikan komponen alamat IPv6.

otIp6InfoInfo

Mewakili informasi alamat IPv6.

otIp6InterfaceIdentifier

Mewakili ID Antarmuka alamat IPv6.

OTIp6NetworkPrefix

Mewakili Prefiks Jaringan alamat IPv6 (64 bit alamat yang paling signifikan).

OTIp6Awalan

Mewakili awalan IPv6.

InfoPesan

Merepresentasikan alamat soket IPv6 lokal dan peer.

otNetifAddress

Mewakili alamat unicast antarmuka jaringan IPv6.

otNetifMulticastAddress

Mewakili alamat multicast antarmuka jaringan IPv6.

OTPacketsAndBytes

Merepresentasikan penghitung untuk paket dan byte.

OTSockAddr

Merepresentasikan alamat soket IPv6.

Serikat

otIp6InterfaceIdentifier::OT_TOOL_PACKED_FIELD

Enumerasi

enum anonim

 anonymous enum

Asal Alamat IPv6.

Properti
OT_ADDRESS_ORIGIN_DHCPV6

Alamat yang ditetapkan DHCPv6.

OT_ADDRESS_ORIGIN_MANUAL

Alamat yang ditetapkan secara manual.

OT_ADDRESS_ORIGIN_SLAAC

Alamat SLAAC yang ditetapkan.

OT_ADDRESS_ORIGIN_THREAD

Alamat yang ditetapkan untuk rangkaian pesan (ALOC, RLOC, MLEID, dll.)

enum anonim

 anonymous enum

Status ECN, yang diwakili sebagai header IP.

Properti
OT_ECN_CAPABLE_0

ECT(0)

OT_ECN_CAPABLE_1

ECT(1)

OT_ECN_MARKED

Terjadi kemacetan (CE)

OT_ECN_NOT_CAPABLE

Non-ECT.

enum anonim

 anonymous enum

Nomor Protokol Internet.

Properti
OT_IP6_PROTO_DST_OPTS

Opsi Tujuan untuk IPv6.

OT_IP6_PROTO_FRAGMENT

Header Fragmen untuk IPv6.

OT_IP6_PROTO_HOP_OPTS

Opsi IPv6 Hop-by-Hop.

OT_IP6_PROTO_ICMP6

ICMP untuk IPv6.

OT_IP6_PROTO_IP6

Enkapsulasi IPv6.

OT_IP6_PROTO_NONE

Tidak Ada Header Berikutnya untuk IPv6.

OT_IP6_PROTO_ROUTING

Perutean Header untuk IPv6.

OT_IP6_PROTO_TCP

Protokol Kontrol Transmisi.

OT_IP6_PROTO_UDP

Datagram Pengguna.

Typedef

otBorderRouteCounter

struct otBorderRoutingCounters otBorderRoutingCounters

Merepresentasikan penghitung paket yang diteruskan melalui Border Route.

otIp6Alamat

struct otIp6Address otIp6Address

Merepresentasikan alamat IPv6.

OTIp6AddressCallback

void(* otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext)

Pointer dipanggil saat alamat IPv6 internal ditambahkan atau dihapus.

Detail
Parameter
[in] aAddressInfo
Pointer ke informasi alamat IPv6.
[in] aIsAdded
TRUE jika aAddress ditambahkan, FALSE jika aAddress dihapus.
[in] aContext
Pointer ke konteks khusus aplikasi.

otIp6AddressComponents

struct otIp6AddressComponents otIp6AddressComponents

Merepresentasikan komponen alamat IPv6.

OTIp6AddressInfo

struct otIp6AddressInfo otIp6AddressInfo

OTIp6InterfaceIdentifier

struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier

Mewakili ID Antarmuka alamat IPv6.

otIp6Awalan

struct otIp6NetworkPrefix otIp6NetworkPrefix

Mewakili Prefiks Jaringan alamat IPv6 (64 bit alamat yang paling signifikan).

OTIp6Awalan

struct otIp6Prefix otIp6Prefix

Mewakili awalan IPv6.

OTIp6TerimaCallback

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

Pointer dipanggil saat datagram IPv6 diterima.

Detail
Parameter
[in] aMessage
Pointer ke buffering pesan yang berisi datagram IPv6 yang diterima. Fungsi ini mentransfer kepemilikan aMessage ke penerima callback. Pesan harus dibebaskan oleh penerima callback setelah diproses (lihat otMessageFree()).
[in] aContext
Pointer ke konteks khusus aplikasi.

OTIp6RegisterMulticastListenersCallback

void(* otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum)

Pointer dipanggil dengan hasil otIp6RegisterMulticastListeners.

Detail
Parameter
[in] aContext
Pointer ke konteks pengguna.
[in] aError
OT_ERROR_NONE saat berhasil mengirim MLR.req dan menerima MLR.rsp, OT_ERROR_response_pesan saat gagal menerima MLR.rsp, OT_ERROR_PARSE saat gagal mengurai MLR.rsp.
[in] aMlrStatus
Status Pendaftaran Pemroses Multicast saat aError adalah OT_ERROR_NONE.
[in] aFailedAddresses
Pointer ke alamat IPv6 yang gagal saat aError adalah OT_ERROR_NONE.
[in] aFailedAddressNum
Jumlah alamat IPv6 yang gagal saat aError adalah OT_ERROR_NONE.
Lihat juga:
otIp6RegisterMulticastListeners

OTIp6SlaacPrefixFilter

bool(* otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix)

Pointer memungkinkan pengguna memfilter awalan dan tidak mengizinkan alamat SLAAC berdasarkan awalan yang akan ditambahkan.

otIp6SetSlaacPrefixFilter() dapat digunakan untuk menyetel pengendali filter. Pengendali filter dipanggil oleh modul SLAAC saat akan menambahkan alamat SLAAC berdasarkan awalan. Nilai hasil booleannya menentukan apakah alamat difilter (tidak ditambahkan) atau tidak.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aPrefix
Pointer ke awalan yang akan ditambahkan alamat SLAAC.
Nilai yang Ditampilkan
TRUE
Menunjukkan bahwa alamat SLAAC berdasarkan awalan harus difilter dan TIDAK ditambahkan.
FALSE
Menunjukkan bahwa alamat SLAAC berdasarkan awalan harus ditambahkan.

InfoInfo

struct otMessageInfo otMessageInfo

Merepresentasikan alamat soket IPv6 lokal dan peer.

otNetifAlamat

struct otNetifAddress otNetifAddress

Mewakili alamat unicast antarmuka jaringan IPv6.

OTNetifMulticastAddress

struct otNetifMulticastAddress otNetifMulticastAddress

Mewakili alamat multicast antarmuka jaringan IPv6.

OTPacket dan AndByte

struct otPacketsAndBytes otPacketsAndBytes

Merepresentasikan penghitung untuk paket dan byte.

OTSockAddr

struct otSockAddr otSockAddr

Merepresentasikan alamat soket IPv6.

Variabel

OT_TOOL_PACKED_END [OT_TOOL_PACKED_END]

OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END

Fungsi

OTIp6AddUnicastAddress

otError otIp6AddUnicastAddress(
  otInstance *aInstance,
  const otNetifAddress *aAddress
)

Menambahkan Alamat Antarmuka Jaringan ke antarmuka Thread.

Instance yang diteruskan aAddress disalin oleh antarmuka Thread. Antarmuka Thread hanya mendukung sejumlah alamat unicast yang telah ditambahkan secara eksternal. Lihat OPENTHREAD_CONFIG_IP6_MAX_EXT_UCAST_ADDRS.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aAddress
Pointer ke Alamat Antarmuka Jaringan.
Nilai yang Ditampilkan
OT_ERROR_NONE
Berhasil menambahkan (atau memperbarui) Alamat Antarmuka Jaringan.
OT_ERROR_INVALID_ARGS
Alamat IP yang ditunjukkan oleh aAddress adalah alamat internal.
OT_ERROR_NO_BUFS
Antarmuka Jaringan sudah menyimpan alamat eksternal maksimum yang diizinkan.

OTIp6AddUnsecurePort

otError otIp6AddUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

Menambahkan port ke daftar port tidak aman yang diizinkan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aPort
Nilai port.
Nilai yang Ditampilkan
OT_ERROR_NONE
Port berhasil ditambahkan ke daftar port tidak aman yang diizinkan.
OT_ERROR_INVALID_ARGS
Port tidak valid (nilai 0 dicadangkan untuk penggunaan internal).
OT_ERROR_NO_BUFS
Daftar port yang tidak aman penuh.

otIp6AlamatDariString

otError otIp6AddressFromString(
  const char *aString,
  otIp6Address *aAddress
)

Mengonversi string alamat IPv6 yang dapat dibaca manusia menjadi representasi biner.

Detail
Parameter
[in] aString
Pointer ke string yang dihentikan NULL.
[out] aAddress
Pointer ke alamat IPv6.
Nilai yang Ditampilkan
OT_ERROR_NONE
Berhasil mengurai aString dan memperbarui aAddress.
OT_ERROR_PARSE
Gagal menguraikan aString sebagai alamat IPv6.

OTIp6AddressToString

void otIp6AddressToString(
  const otIp6Address *aAddress,
  char *aBuffer,
  uint16_t aSize
)

Mengonversi alamat IPv6 tertentu menjadi string yang dapat dibaca manusia.

String alamat IPv6 diformat sebagai 16 nilai heksadesimal yang dipisahkan oleh ':' (yaitu, "%x:%x:%x:...:%x").

Jika string yang dihasilkan tidak sesuai dalam aBuffer (dalam karakter aSize), string akan terpotong, tetapi string yang dihasilkan selalu diakhiri dengan null.

Detail
Parameter
[in] aAddress
Pointer ke alamat IPv6 (HARUS TIDAK berupa NULL).
[out] aBuffer
Pointer ke array karakter untuk menghasilkan string (HARUS TIDAK boleh NULL).
[in] aSize
Ukuran aBuffer (dalam byte). Direkomendasikan untuk menggunakan OT_IP6_ADDRESS_STRING_SIZE.

otIp6ArePrefixesEqual

bool otIp6ArePrefixesEqual(
  const otIp6Prefix *aFirst,
  const otIp6Prefix *aSecond
)

Uji apakah dua awalan IPv6 sama.

Detail
Parameter
[in] aFirst
Pointer ke awalan IPv6 pertama untuk dibandingkan.
[in] aSecond
Pointer ke awalan IPv6 kedua untuk dibandingkan.
Nilai yang Ditampilkan
TRUE
Kedua awalan IPv6 sama.
FALSE
Kedua awalan IPv6 tidak sama.

otIp6GetBorderRouteCounters

const otBorderRoutingCounters * otIp6GetBorderRoutingCounters(
  otInstance *aInstance
)

Mendapatkan penghitung Perutean Batas.

Fitur waktu build OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE harus diaktifkan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Pengembalian
Pointer ke penghitung Perutean Batas.

otIp6GetMulticastAddress

const otNetifMulticastAddress * otIp6GetMulticastAddresses(
  otInstance *aInstance
)

Mendapatkan daftar alamat multicast IPv6 yang berlangganan antarmuka Thread.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Pengembalian
Pointer ke Alamat Multicast Antarmuka Jaringan pertama.

OTIp6GetPrefix

void otIp6GetPrefix(
  const otIp6Address *aAddress,
  uint8_t aLength,
  otIp6Prefix *aPrefix
)

Mendapatkan awalan dengan aLength dari aAddress.

Detail
Parameter
[in] aAddress
Pointer ke alamat IPv6.
[in] aLength
Panjang awalan dalam bit.
[out] aPrefix
Pointer untuk menghasilkan awalan IPv6.

otIp6GetUnicastAddress

const otNetifAddress * otIp6GetUnicastAddresses(
  otInstance *aInstance
)

Mendapatkan daftar alamat IPv6 yang ditetapkan untuk antarmuka Thread.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Pengembalian
Pointer ke Alamat Antarmuka Jaringan pertama.

otIp6GetUnsecurePorts

const uint16_t * otIp6GetUnsecurePorts(
  otInstance *aInstance,
  uint8_t *aNumEntries
)

Menampilkan pointer ke daftar port yang tidak aman.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[out] aNumEntries
Jumlah entri dalam daftar.
Pengembalian
Pointer ke daftar port yang tidak aman.

otIp6IsAddressEqual

bool otIp6IsAddressEqual(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

Uji apakah dua alamat IPv6 sama.

Detail
Parameter
[in] aFirst
Pointer ke alamat IPv6 pertama yang akan dibandingkan.
[in] aSecond
Pointer ke alamat IPv6 kedua untuk dibandingkan.
Nilai yang Ditampilkan
TRUE
Kedua alamat IPv6 sama.
FALSE
Kedua alamat IPv6 tidak sama.

otIp6IsAddressUnditentukan

bool otIp6IsAddressUnspecified(
  const otIp6Address *aAddress
)

Menunjukkan apakah alamat IPv6 tertentu adalah Alamat Tidak Ditentukan.

Detail
Parameter
[in] aAddress
Pointer ke alamat IPv6.
Nilai yang Ditampilkan
TRUE
Jika alamat IPv6 adalah Alamat yang Tidak Ditentukan.
FALSE
Jika alamat IPv6 bukan Alamat Belum Ditetapkan.

OTIp6IsEnabled

bool otIp6IsEnabled(
  otInstance *aInstance
)

Menunjukkan apakah antarmuka IPv6 aktif atau tidak.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Nilai yang Ditampilkan
TRUE
Antarmuka IPv6 diaktifkan.
FALSE
Antarmuka IPv6 dinonaktifkan.

OTIp6IsMulticastPromiscuousEnabled

bool otIp6IsMulticastPromiscuousEnabled(
  otInstance *aInstance
)

Memeriksa apakah mode promiscuous multicast diaktifkan di antarmuka Thread.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Lihat juga:
otIp6SetMulticastPromiscuousEnabled

OTIp6IsReceiveFilterEnabled

bool otIp6IsReceiveFilterEnabled(
  otInstance *aInstance
)

Menunjukkan apakah traffic kontrol Thread difilter saat mengirimkan datagram IPv6 melalui callback yang ditentukan di otIp6SetReceiveCallback().

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Pengembalian
TRUE jika Traffic kontrol thread difilter, FALSE jika tidak.
Lihat juga:
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled

otIp6IsSlaacEnabled

bool otIp6IsSlaacEnabled(
  otInstance *aInstance
)

Menunjukkan apakah modul SLAAC diaktifkan atau tidak.

Fitur waktu build OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE harus diaktifkan.

Detail
Nilai yang Ditampilkan
TRUE
Modul SLAAC diaktifkan.
FALSE
Modul SLAAC dinonaktifkan.

OTIp6PesanBaru

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

Alokasikan buffering pesan baru untuk mengirim pesan IPv6.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aSettings
Pointer ke setelan pesan atau NULL untuk menetapkan setelan default.
Pengembalian
Pointer ke buffering pesan atau NULL jika tidak ada buffering pesan yang tersedia atau parameter tidak valid.
Lihat juga:
otMessageFree

OTIp6NewMessageFromBuffer

otMessage * otIp6NewMessageFromBuffer(
  otInstance *aInstance,
  const uint8_t *aData,
  uint16_t aDataLength,
  const otMessageSettings *aSettings
)

Alokasikan buffering pesan baru dan tulis datagram IPv6 ke buffering pesan untuk mengirim pesan IPv6.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aData
Pointer ke buffering datagram IPv6.
[in] aDataLength
Ukuran buffering datagram IPv6 yang ditunjuk oleh aData.
[in] aSettings
Pointer ke setelan pesan atau NULL untuk menetapkan setelan default.
Pengembalian
Pointer ke pesan atau NULL jika header IPv6 yang salah atau tersedia buffering pesan yang tidak memadai.
Lihat juga:
otMessageFree

OTIp6PrefixFromString

otError otIp6PrefixFromString(
  const char *aString,
  otIp6Prefix *aPrefix
)

Mengonversi string awalan IPv6 yang dapat dibaca manusia menjadi representasi biner.

Parameter aString harus berupa string dalam format "

/", dengan
adalah alamat IPv6 dan adalah panjang awalan.

Detail
Parameter
[in] aString
Pointer ke string yang dihentikan NULL.
[out] aPrefix
Pointer ke awalan IPv6.
Nilai yang Ditampilkan
OT_ERROR_NONE
Berhasil mengurai string sebagai awalan IPv6 dan memperbarui aPrefix.
OT_ERROR_PARSE
Gagal mengurai aString sebagai awalan IPv6.

otIp6PrefixCocok

uint8_t otIp6PrefixMatch(
  const otIp6Address *aFirst,
  const otIp6Address *aSecond
)

Menampilkan panjang pencocokan awalan (bit) untuk dua alamat IPv6.

Detail
Parameter
[in] aFirst
Pointer ke alamat IPv6 pertama.
[in] aSecond
Pointer ke alamat IPv6 kedua.
Pengembalian
Panjang awalan yang cocok dalam bit.

OTIp6PrefixToString

void otIp6PrefixToString(
  const otIp6Prefix *aPrefix,
  char *aBuffer,
  uint16_t aSize
)

Mengonversi awalan IPv6 tertentu menjadi string yang dapat dibaca manusia.

String alamat IPv6 diformat sebagai "%x:%x:%x:...[::]/plen".

Jika string yang dihasilkan tidak sesuai dalam aBuffer (dalam karakter aSize), string akan terpotong, tetapi string yang dihasilkan selalu diakhiri dengan null.

Detail
Parameter
[in] aPrefix
Pointer ke awalan IPv6 (HARUS TIDAK NULL).
[out] aBuffer
Pointer ke array karakter untuk menghasilkan string (HARUS TIDAK boleh NULL).
[in] aSize
Ukuran aBuffer (dalam byte). Direkomendasikan untuk menggunakan OT_IP6_PREFIX_STRING_SIZE.

OTIp6ProtoToString

const char * otIp6ProtoToString(
  uint8_t aIpProto
)

Mengonversi nomor protokol IP tertentu menjadi string yang dapat dibaca manusia.

Detail
Parameter
[in] aIpProto
Nomor protokol IP (enumerasi OT_IP6_PROTO_*).
Pengembalian
String yang mewakili aIpProto.

otIp6RegisterMulticastListeners

otError otIp6RegisterMulticastListeners(
  otInstance *aInstance,
  const otIp6Address *aAddresses,
  uint8_t aAddressNum,
  const uint32_t *aTimeout,
  otIp6RegisterMulticastListenersCallback aCallback,
  void *aContext
)

Mendaftarkan Pemroses Multicast ke Router Backbone Utama.

OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE dan OPENTHREAD_CONFIG_COMMISSIONER_ENABLE harus diaktifkan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aAddresses
Array Alamat Multicast yang akan didaftarkan.
[in] aAddressNum
Jumlah Alamat Multicast yang akan didaftarkan (0 jika aAddresses NULL).
[in] aTimeout
Pointer ke nilai waktu tunggu (dalam detik) yang akan disertakan di MLR.req. Nilai waktu tunggu 0 menghapus Pemroses Multicast yang sesuai. Jika NULL, MLR.req tidak akan memiliki Timeout Tlv secara default.
[in] aCallback
Pointer ke fungsi callback.
[in] aContext
Pointer ke konteks pengguna.
Nilai yang Ditampilkan
OT_ERROR_NONE
Berhasil mengirim MLR.req. aCallback akan dipanggil jika metode ini menampilkan OT_ERROR_NONE.
OT_ERROR_BUSY
Jika pendaftaran sebelumnya sedang berlangsung.
OT_ERROR_INVALID_ARGS
Jika satu atau beberapa argumen tidak valid.
OT_ERROR_INVALID_STATE
Jika perangkat tidak dalam status valid untuk mengirim MLR.req (misalnya Commissioner tidak dimulai, Primary Backbone Router tidak ditemukan).
OT_ERROR_NO_BUFS
Jika buffering pesan tidak tersedia.
Lihat juga:
otIp6RegisterMulticastListenersCallback

otIp6RemoveAllUnsecurePorts

void otIp6RemoveAllUnsecurePorts(
  otInstance *aInstance
)

Menghapus semua port dari daftar port yang tidak aman yang diizinkan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.

otIp6RemoveUnicastAddress

otError otIp6RemoveUnicastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

Menghapus Alamat Antarmuka Jaringan dari antarmuka Thread.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aAddress
Pointer ke Alamat IP.
Nilai yang Ditampilkan
OT_ERROR_NONE
Berhasil menghapus Alamat Antarmuka Jaringan.
OT_ERROR_INVALID_ARGS
Alamat IP yang ditunjukkan oleh aAddress adalah alamat internal.
OT_ERROR_NOT_FOUND
Alamat IP yang ditunjukkan oleh aAddress tidak ditemukan.

OTIp6RemoveUnsecurePort

otError otIp6RemoveUnsecurePort(
  otInstance *aInstance,
  uint16_t aPort
)

Menghapus port dari daftar port tidak aman yang diizinkan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aPort
Nilai port.
Nilai yang Ditampilkan
OT_ERROR_NONE
Port berhasil dihapus dari daftar port tidak aman yang diizinkan.
OT_ERROR_INVALID_ARGS
Port tidak valid (nilai 0 dicadangkan untuk penggunaan internal).
OT_ERROR_NOT_FOUND
Port tidak ditemukan dalam daftar port yang tidak aman.

otIp6ResetBorderRouteCounters

void otIp6ResetBorderRoutingCounters(
  otInstance *aInstance
)

Mereset penghitung Perutean Batas.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.

OTIp6SelectSourceAddress

otError otIp6SelectSourceAddress(
  otInstance *aInstance,
  otMessageInfo *aMessageInfo
)

Melakukan pemilihan alamat sumber OpenThread.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in,out] aMessageInfo
Pointer ke informasi pesan.
Nilai yang Ditampilkan
OT_ERROR_NONE
Menemukan alamat sumber dan diisi ke mSockAddr dari aMessageInfo.
OT_ERROR_NOT_FOUND
Alamat sumber tidak ditemukan dan aMessageInfo tidak berubah.

OTIp6Kirim

otError otIp6Send(
  otInstance *aInstance,
  otMessage *aMessage
)

Mengirim datagram IPv6 melalui antarmuka Thread.

Penelepon mentransfer kepemilikan aMessage saat melakukan panggilan ini. OpenThread akan membebaskan aMessage saat pemrosesan selesai, termasuk saat nilai selain OT_ERROR_NONE ditampilkan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aMessage
Pointer ke buffering pesan yang berisi datagram IPv6.
Nilai yang Ditampilkan
OT_ERROR_NONE
Berhasil memproses pesan.
OT_ERROR_DROP
Pesan diformat dengan baik, tetapi tidak diproses sepenuhnya karena aturan pemrosesan paket.
OT_ERROR_NO_BUFS
Tidak dapat mengalokasikan buffering pesan yang diperlukan saat memproses datagram.
OT_ERROR_NO_ROUTE
Tidak ada rute untuk dihosting.
OT_ERROR_INVALID_SOURCE_ADDRESS
Alamat sumber tidak valid, misalnya alamat anycast atau alamat multicast.
OT_ERROR_PARSE
Terjadi error pada header saat memproses pesan.

OTIp6SetAddressCallback

void otIp6SetAddressCallback(
  otInstance *aInstance,
  otIp6AddressCallback aCallback,
  void *aCallbackContext
)

Mendaftarkan callback untuk memberi tahu perubahan alamat IPv6 internal.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aCallback
Pointer ke fungsi yang dipanggil saat alamat IPv6 internal ditambahkan atau dihapus. NULL untuk menonaktifkan callback.
[in] aCallbackContext
Pointer ke konteks khusus aplikasi.

OTIp6SetEnabled

otError otIp6SetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Menghadirkan antarmuka IPv6 ke atas atau ke bawah.

Panggil ini untuk mengaktifkan atau menonaktifkan komunikasi IPv6.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aEnabled
TRUE untuk mengaktifkan IPv6, FALSE jika sebaliknya.
Nilai yang Ditampilkan
OT_ERROR_NONE
Berhasil membawa antarmuka IPv6 ke atas/bawah.
OT_ERROR_INVALID_STATE
Antarmuka IPv6 tidak tersedia karena perangkat beroperasi dalam mode link mentah (hanya berlaku jika fitur OPENTHREAD_CONFIG_LINK_RAW_ENABLE diaktifkan).

OTIp6SetMeshLocalIid

otError otIp6SetMeshLocalIid(
  otInstance *aInstance,
  const otIp6InterfaceIdentifier *aIid
)

Menetapkan Mesh Local IID (untuk tujuan pengujian).

OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE harus diaktifkan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aIid
Pointer ke IID Lokal Mesh untuk ditetapkan.
Nilai yang Ditampilkan
OT_ERROR_NONE
Berhasil menetapkan IID Lokal Mesh.
OT_ERROR_INVALID_STATE
Protokol thread diaktifkan.

OTIp6SetMulticastPromiscuousEnabled

void otIp6SetMulticastPromiscuousEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Mengaktifkan atau menonaktifkan mode promiscuous multicast pada antarmuka Thread.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aEnabled
TRUE untuk mengaktifkan mode Multicast Promiscuous, FALSE jika sebaliknya.
Lihat juga:
otIp6IsMulticastPromiscuousEnabled

OTIp6SetReceiveCallback

void otIp6SetReceiveCallback(
  otInstance *aInstance,
  otIp6ReceiveCallback aCallback,
  void *aCallbackContext
)

Mendaftarkan callback untuk memberikan datagram IPv6 yang diterima.

Secara default, callback ini tidak meneruskan traffic kontrol Thread. Lihat otIp6SetReceiveFilterEnabled() untuk mengubah setelan filter traffic kontrol Thread.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aCallback
Pointer ke fungsi yang dipanggil saat datagram IPv6 diterima atau NULL untuk menonaktifkan callback.
[in] aCallbackContext
Pointer ke konteks khusus aplikasi.
Lihat juga:
otIp6IsReceiveFilterEnabled
otIp6SetReceiveFilterEnabled

OTIp6SetReceiveFilterEnabled

void otIp6SetReceiveFilterEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Menetapkan apakah traffic kontrol Thread difilter atau tidak saat mengirimkan datagram IPv6 melalui callback yang ditentukan di otIp6SetReceiveCallback().

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aEnabled
TRUE jika Traffic kontrol thread difilter, FALSE jika tidak.
Lihat juga:
otIp6SetReceiveCallback
otIsReceiveIp6FilterEnabled

OTIp6SetSlaacEnabled

void otIp6SetSlaacEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Mengaktifkan/menonaktifkan modul SLAAC.

Fitur waktu build OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE harus diaktifkan.

Saat modul SLAAC diaktifkan, alamat SLAAC (berdasarkan awalan on-mesh di Data Jaringan) ditambahkan ke antarmuka. Jika modul SLAAC dinonaktifkan, alamat SLAAC yang ditambahkan sebelumnya akan dihapus.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aEnabled
TRUE untuk mengaktifkan, FALSE untuk menonaktifkan.

OTIp6SetSlaacPrefixFilter

void otIp6SetSlaacPrefixFilter(
  otInstance *aInstance,
  otIp6SlaacPrefixFilter aFilter
)

Menetapkan pengendali filter modul SLAAC.

Fitur waktu build OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE harus diaktifkan.

Pengendali filter dipanggil oleh modul SLAAC saat akan menambahkan alamat SLAAC berdasarkan awalan untuk menentukan apakah alamat harus ditambahkan atau tidak.

Pengendali filter NULL menonaktifkan pemfilteran dan memungkinkan semua alamat SLAAC ditambahkan.

Jika fungsi ini tidak dipanggil, filter default yang digunakan oleh modul SLAAC akan menjadi NULL (pemfilteran dinonaktifkan).

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aFilter
Pointer ke pengendali filter awalan SLAAC, atau NULL untuk menonaktifkan pemfilteran.

OTIp6SockAddrToString

void otIp6SockAddrToString(
  const otSockAddr *aSockAddr,
  char *aBuffer,
  uint16_t aSize
)

Mengonversi alamat soket IPv6 tertentu menjadi string yang dapat dibaca manusia.

String alamat soket IPv6 diformat sebagai [address]:port dengan address ditampilkan sebagai 16 nilai heksadesimal yang dipisahkan oleh : dan port adalah nomor port dalam format desimal, misalnya "[%x:%x:...:%x]:%u".

Jika string yang dihasilkan tidak sesuai dalam aBuffer (dalam karakter aSize), string akan terpotong, tetapi string yang dihasilkan selalu diakhiri dengan null.

Detail
Parameter
[in] aSockAddr
Pointer ke alamat soket IPv6 (HARUS TIDAK NULL).
[out] aBuffer
Pointer ke array karakter untuk menghasilkan string (HARUS TIDAK boleh NULL).
[in] aSize
Ukuran aBuffer (dalam byte). Direkomendasikan untuk menggunakan OT_IP6_SOCK_ADDR_STRING_SIZE.

OTIp6SubscribeMulticastAddress

otError otIp6SubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

Menyertakan antarmuka Thread ke Alamat Multicast Antarmuka Jaringan.

Instance aAddress yang diteruskan akan disalin oleh antarmuka Thread. Antarmuka Thread hanya mendukung jumlah alamat multicast yang ditambahkan secara eksternal. Lihat OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aAddress
Pointer ke Alamat IP.
Nilai yang Ditampilkan
OT_ERROR_NONE
Berhasil berlangganan Alamat Multicast Antarmuka Jaringan.
OT_ERROR_ALREADY
Alamat multicast sudah berlangganan.
OT_ERROR_INVALID_ARGS
Alamat IP yang ditunjukkan oleh aAddress adalah alamat multicast yang tidak valid.
OT_ERROR_REJECTED
Alamat IP yang ditunjukkan oleh aAddress adalah alamat multicast internal.
OT_ERROR_NO_BUFS
Antarmuka Jaringan sudah menyimpan alamat multicast eksternal maksimum yang diizinkan.

OTIp6UnsubscribeMulticastAddress

otError otIp6UnsubscribeMulticastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

Menghentikan langganan antarmuka Thread ke Alamat Multicast Antarmuka Jaringan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aAddress
Pointer ke Alamat IP.
Nilai yang Ditampilkan
OT_ERROR_NONE
Berhasil berhenti berlangganan Alamat Multicast Antarmuka Jaringan.
OT_ERROR_REJECTED
Alamat IP yang ditunjukkan oleh aAddress adalah alamat internal.
OT_ERROR_NOT_FOUND
Alamat IP yang ditunjukkan oleh aAddress tidak ditemukan.

Makro

OT_IP6_ADDRESS_SIZE

 OT_IP6_ADDRESS_SIZE 16

Ukuran alamat IPv6 (byte)

OT_IP6_ADDRESS_STRING_SIZE

 OT_IP6_ADDRESS_STRING_SIZE 40

Ukuran yang direkomendasikan untuk representasi string alamat IPv6.

OT_IP6_HEADER_PROTO_OFFSET

 OT_IP6_HEADER_PROTO_OFFSET 6

Offset kolom proto di header IPv6 (byte)

OT_IP6_HEADER_SIZE

 OT_IP6_HEADER_SIZE 40

Ukuran header IPv6 (byte)

OT_IP6_IID_SIZE

 OT_IP6_IID_SIZE 8

Ukuran ID Antarmuka IPv6 (byte)

OT_IP6_MAX_MLR_ADDRESSES

 OT_IP6_MAX_MLR_ADDRESSES 15

Jumlah maksimum alamat IPv6 yang didukung oleh Pendaftaran Pemroses Multicast.

OT_IP6_NOTIFICATION_BITSIZE

 OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)

Ukuran awalan IPv6 (bit)

OT_IP6_CREDENTIAL_SIZE

 OT_IP6_PREFIX_SIZE 8

Ukuran awalan IPv6 (byte)

OT_IP6_OUTPUT_STRING_SIZE

 OT_IP6_PREFIX_STRING_SIZE 45

Ukuran yang direkomendasikan untuk representasi string dari awalan IPv6.

OT_IP6_SOCK_ADDR_STRING_SIZE

 OT_IP6_SOCK_ADDR_STRING_SIZE 48

Ukuran yang disarankan untuk representasi string dari alamat soket IPv6.

Referensi

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