IPv6

Modul ini mencakup fungsi yang mengontrol komunikasi IPv6.

Ringkasan

Enumerasi

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
{i>Internet Protocol Numbers<i}.
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, direpresentasikan sebagai di header IP.

Typedef

otBorderRoutingCounters typedef
Menggambarkan penghitung paket yang diteruskan melalui Border Routing.
otIp6Address typedef
struct otIp6Address
Mewakili alamat IPv6.
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext) typedef
void(*
Pointer dipanggil saat alamat IPv6 internal ditambahkan atau dihapus.
otIp6AddressComponents typedef
Mewakili komponen alamat IPv6.
otIp6AddressInfo typedef
Merepresentasikan informasi alamat IPv6.
otIp6InterfaceIdentifier typedef
Menampilkan ID Antarmuka alamat IPv6.
otIp6NetworkPrefix typedef
Mewakili Awalan Jaringan alamat IPv6 (64 bit paling signifikan dari alamat tersebut).
otIp6Prefix typedef
struct otIp6Prefix
Mewakili awalan IPv6.
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext) typedef
void(*
Pointer dipanggil ketika 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 penambahan alamat SLAAC berdasarkan awalan.
otMessageInfo typedef
struct otMessageInfo
Mewakili alamat soket IPv6 lokal dan peer.
otNetifAddress typedef
Mewakili alamat unicast antarmuka jaringan IPv6.
otNetifMulticastAddress typedef
Mewakili alamat multicast antarmuka jaringan IPv6.
otPacketsAndBytes typedef
Menggambarkan 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 Border Routing.
otIp6GetMulticastAddresses(otInstance *aInstance)
Mendapatkan daftar alamat multicast IPv6 yang berlangganan ke antarmuka Thread.
otIp6GetPrefix(const otIp6Address *aAddress, uint8_t aLength, otIp6Prefix *aPrefix)
void
Mendapatkan awalan 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.
otIp6HasUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
bool
Menunjukkan apakah alamat IPv6 unicast ditetapkan ke antarmuka Thread atau tidak.
otIp6IsAddressEqual(const otIp6Address *aFirst, const otIp6Address *aSecond)
bool
Uji apakah dua alamat IPv6 adalah sama.
otIp6IsAddressUnspecified(const otIp6Address *aAddress)
bool
Menunjukkan apakah alamat IPv6 tertentu adalah Alamat yang Tidak Ditetapkan atau tidak.
otIp6IsEnabled(otInstance *aInstance)
bool
Menunjukkan apakah antarmuka IPv6 aktif atau tidak.
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
bool
Memeriksa apakah mode multicast promiscuous diaktifkan pada antarmuka Thread.
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
bool
Menunjukkan apakah traffic kontrol Thread difilter saat mengirim datagram IPv6 melalui callback yang ditentukan dalam otIp6SetReceiveCallback().
otIp6IsSlaacEnabled(otInstance *aInstance)
bool
Menunjukkan apakah modul SLAAC diaktifkan atau tidak.
otIp6NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
Mengalokasikan buffering pesan baru untuk mengirim pesan IPv6.
otIp6NewMessageFromBuffer(otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
Mengalokasikan {i>buffer<i} pesan baru dan menulis datagram IPv6 ke {i>buffer<i} 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 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 Border Routing.
otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo)
Lakukan 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)
Bawa antarmuka IPv6 ke atas atau ke bawah.
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
Menetapkan IID Lokal Mesh (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 menyediakan datagram IPv6 yang diterima.
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
void
Menetapkan apakah traffic kontrol Thread difilter saat mengirim datagram IPv6 melalui callback yang ditentukan dalam 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)
Berlangganan antarmuka Thread ke Alamat Multicast Antarmuka Jaringan.
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
Menghentikan langganan antarmuka Thread ke Alamat Multicast Antarmuka Jaringan.

Struct

otBorderRoutingCounters

Menggambarkan penghitung paket yang diteruskan melalui Border Routing.

otIp6Address

Mewakili alamat IPv6.

otIp6AddressComponents

Mewakili komponen alamat IPv6.

otIp6AddressInfo

Merepresentasikan informasi alamat IPv6.

otIp6InterfaceIdentifier

Menampilkan ID Antarmuka alamat IPv6.

otIp6NetworkPrefix

Mewakili Awalan Jaringan alamat IPv6 (64 bit paling signifikan dari alamat tersebut).

otIp6Prefix

Mewakili awalan IPv6.

otMessageInfo

Mewakili alamat soket IPv6 lokal dan peer.

otNetifAddress

Mewakili alamat unicast antarmuka jaringan IPv6.

otNetifMulticastAddress

Mewakili alamat multicast antarmuka jaringan IPv6.

otPacketsAndBytes

Menggambarkan penghitung untuk paket dan byte.

otSockAddr

Merepresentasikan alamat soket IPv6.

Serikat

otIp6InterfaceIdentifier::OT_TOOL_PACKED_FIELD

Enumerasi

enum anonim

 anonymous enum

{i>Internet Protocol Numbers<i}.

Properti
OT_IP6_PROTO_DST_OPTS

Opsi Tujuan untuk IPv6.

OT_IP6_PROTO_FRAGMENT

Header Fragmen untuk IPv6.

OT_IP6_PROTO_HOP_OPTS

Opsi Hop-by-Hop IPv6.

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

{i>Routing Header<i} untuk IPv6.

OT_IP6_PROTO_TCP

{i>Transmission Control Protocol<i}.

OT_IP6_PROTO_UDP

Datagram Pengguna.

enum anonim

 anonymous enum

Asal Alamat IPv6.

Properti
OT_ADDRESS_ORIGIN_DHCPV6

Alamat DHCPv6 yang telah ditetapkan.

OT_ADDRESS_ORIGIN_MANUAL

Alamat yang ditetapkan secara manual.

OT_ADDRESS_ORIGIN_SLAAC

Alamat yang ditetapkan SLAAC.

OT_ADDRESS_ORIGIN_THREAD

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

enum anonim

 anonymous enum

Status ECN, direpresentasikan sebagai di 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.

Typedef

otBorderRoutingCounters

struct otBorderRoutingCounters otBorderRoutingCounters

Menggambarkan penghitung paket yang diteruskan melalui Border Routing.

otIp6Address

struct otIp6Address otIp6Address

Mewakili 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
Penunjuk 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

Mewakili komponen alamat IPv6.

otIp6AddressInfo

struct otIp6AddressInfo otIp6AddressInfo

Merepresentasikan informasi alamat IPv6.

otIp6InterfaceIdentifier

struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier

Menampilkan ID Antarmuka alamat IPv6.

otIp6NetworkPrefix

struct otIp6NetworkPrefix otIp6NetworkPrefix

Mewakili Awalan Jaringan alamat IPv6 (64 bit paling signifikan dari alamat tersebut).

otIp6Prefix

struct otIp6Prefix otIp6Prefix

Mewakili awalan IPv6.

otIp6ReceiveCallback

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

Pointer dipanggil ketika datagram IPv6 diterima.

Detail
Parameter
[in] aMessage
Pointer ke buffer 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_TIMEOUT saat gagal menerima MLR.rsp, OT_ERROR_PARSE saat gagal mengurai MLR.rsp.
[in] aMlrStatus
Status Pendaftaran Pemroses Multicast jika aError adalah OT_ERROR_NONE.
[in] aFailedAddresses
Pointer ke alamat IPv6 yang gagal jika aError adalah OT_ERROR_NONE.
[in] aFailedAddressNum
Jumlah alamat IPv6 yang gagal jika aError adalah OT_ERROR_NONE.
Lihat juga:
otIp6RegisterMulticastListeners

otIp6SlaacPrefixFilter

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

Pointer memungkinkan pengguna memfilter awalan dan tidak mengizinkan penambahan alamat SLAAC berdasarkan awalan.

otIp6SetSlaacPrefixFilter() dapat digunakan untuk menetapkan pengendali filter. Pengendali filter dipanggil oleh modul SLAAC ketika akan menambahkan alamat SLAAC berdasarkan awalan. Nilai yang ditampilkan boolean menentukan apakah alamat difilter (tidak ditambahkan) atau tidak.

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

otMessageInfo

struct otMessageInfo otMessageInfo

Mewakili alamat soket IPv6 lokal dan peer.

otNetifAddress

struct otNetifAddress otNetifAddress

Mewakili alamat unicast antarmuka jaringan IPv6.

otNetifMulticastAddress

struct otNetifMulticastAddress otNetifMulticastAddress

Mewakili alamat multicast antarmuka jaringan IPv6.

otPacketsAndBytes

struct otPacketsAndBytes otPacketsAndBytes

Menggambarkan penghitung untuk paket dan byte.

otSockAddr

struct otSockAddr otSockAddr

Merepresentasikan alamat soket IPv6.

Variabel

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 aAddress yang diteruskan disalin oleh antarmuka Thread. Antarmuka Thread hanya mendukung jumlah tetap alamat unicast yang 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 Pengembalian
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 Pengembalian
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.

otIp6AddressFromString

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
Penunjuk ke alamat IPv6.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil menguraikan aString dan memperbarui aAddress.
OT_ERROR_PARSE
Gagal mengurai 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 dengan aBuffer (dalam karakter aSize-nya), string akan terpotong tetapi string yang dihasilkan selalu dihentikan null.

Detail
Parameter
[in] aAddress
Pointer ke alamat IPv6 (HARUS TIDAK NULL).
[out] aBuffer
Pointer ke array char untuk menghasilkan string (TIDAK BOLEH NULL).
[in] aSize
Ukuran aBuffer (dalam byte). Sebaiknya gunakan OT_IP6_ADDRESS_STRING_SIZE.

otIp6ArePrefixesEqual

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

Uji apakah dua awalan IPv6 sama.

Detail
Parameter
[in] aFirst
Penunjuk ke awalan IPv6 pertama untuk dibandingkan.
[in] aSecond
Penunjuk ke awalan IPv6 kedua untuk dibandingkan.
Nilai Pengembalian
TRUE
Kedua awalan IPv6 itu sama.
FALSE
Kedua awalan IPv6 tidak sama.

otIp6GetBorderRoutingCounters

const otBorderRoutingCounters * otIp6GetBorderRoutingCounters(
  otInstance *aInstance
)

Mendapatkan penghitung Border Routing.

Fitur waktu build OPENTHREAD_CONFIG_IP6_BR_COUNTERS_ENABLE harus diaktifkan.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
Pointer ke penghitung Border Routing.

otIp6GetMulticastAddresses

const otNetifMulticastAddress * otIp6GetMulticastAddresses(
  otInstance *aInstance
)

Mendapatkan daftar alamat multicast IPv6 yang berlangganan ke antarmuka Thread.

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

otIp6GetPrefix

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

Mendapatkan awalan aLength dari aAddress.

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

otIp6GetUnicastAddresses

const otNetifAddress * otIp6GetUnicastAddresses(
  otInstance *aInstance
)

Mendapatkan daftar alamat IPv6 yang ditetapkan untuk antarmuka Thread.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
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.
Hasil
Pointer ke daftar port yang tidak aman.

otIp6HasUnicastAddress

bool otIp6HasUnicastAddress(
  otInstance *aInstance,
  const otIp6Address *aAddress
)

Menunjukkan apakah alamat IPv6 unicast ditetapkan ke antarmuka Thread atau tidak.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aAddress
Pointer ke alamat unicast.
Nilai Pengembalian
TRUE
Apakah aAddress ditetapkan ke antarmuka Thread.
FALSE
Apakah aAddress tidak ditetapkan ke antarmuka Thread.

otIp6IsAddressEqual

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

Uji apakah dua alamat IPv6 adalah sama.

Detail
Parameter
[in] aFirst
Penunjuk ke alamat IPv6 pertama untuk dibandingkan.
[in] aSecond
Penunjuk ke alamat IPv6 kedua untuk dibandingkan.
Nilai Pengembalian
TRUE
Kedua alamat IPv6 itu sama.
FALSE
Kedua alamat IPv6 tersebut tidak sama.

otIp6IsAddressUnspecified

bool otIp6IsAddressUnspecified(
  const otIp6Address *aAddress
)

Menunjukkan apakah alamat IPv6 tertentu adalah Alamat yang Tidak Ditetapkan atau tidak.

Detail
Parameter
[in] aAddress
Penunjuk ke alamat IPv6.
Nilai Pengembalian
TRUE
Jika alamat IPv6 adalah Alamat yang Tidak Ditentukan.
FALSE
Jika alamat IPv6 bukan Alamat yang Tidak Ditentukan.

otIp6IsEnabled

bool otIp6IsEnabled(
  otInstance *aInstance
)

Menunjukkan apakah antarmuka IPv6 aktif atau tidak.

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

otIp6IsMulticastPromiscuousEnabled

bool otIp6IsMulticastPromiscuousEnabled(
  otInstance *aInstance
)

Memeriksa apakah mode multicast promiscuous diaktifkan pada 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 mengirim datagram IPv6 melalui callback yang ditentukan dalam otIp6SetReceiveCallback().

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Hasil
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 Pengembalian
TRUE
Modul SLAAC diaktifkan.
FALSE
Modul SLAAC dinonaktifkan.

otIp6NewMessage

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

Mengalokasikan 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.
Hasil
Pointer ke buffer pesan atau NULL jika tidak ada buffer 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
)

Mengalokasikan {i>buffer<i} pesan baru dan menulis datagram IPv6 ke {i>buffer<i} pesan untuk mengirim pesan IPv6.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aData
Sebuah pointer ke {i>buffer<i} datagram IPv6.
[in] aDataLength
Ukuran buffer datagram IPv6 yang ditunjukkan oleh aData.
[in] aSettings
Pointer ke setelan pesan atau NULL untuk menetapkan setelan default.
Hasil
Pointer ke pesan atau NULL jika header IPv6 yang salah atau memiliki buffering pesan yang tidak memadai tersedia.
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
Sebuah pointer ke awalan IPv6.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil mengurai string sebagai awalan IPv6 dan memperbarui aPrefix.
OT_ERROR_PARSE
Gagal mengurai aString sebagai awalan IPv6.

otIp6PrefixMatch

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

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

Detail
Parameter
[in] aFirst
Penunjuk ke alamat IPv6 pertama.
[in] aSecond
Penunjuk ke alamat IPv6 kedua.
Hasil
Panjang kecocokan awalan 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 dengan aBuffer (dalam karakter aSize-nya), string akan terpotong tetapi string yang dihasilkan selalu dihentikan null.

Detail
Parameter
[in] aPrefix
Pointer ke awalan IPv6 (HARUS TIDAK NULL).
[out] aBuffer
Pointer ke array char untuk menghasilkan string (TIDAK BOLEH NULL).
[in] aSize
Ukuran aBuffer (dalam byte). Sebaiknya gunakan 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_*).
Hasil
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
Multicast Address Array yang akan didaftarkan.
[in] aAddressNum
Jumlah Multicast Address yang akan didaftarkan (0 jika aAddresses adalah NULL).
[in] aTimeout
Pointer ke nilai waktu tunggu (dalam detik) yang akan disertakan dalam 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 Pengembalian
OT_ERROR_NONE
Berhasil mengirim MLR.req. aCallback akan dipanggil jika metode ini menampilkan OT_ERROR_NONE.
OT_ERROR_BUSY
Apakah 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, Komisaris belum dimulai, Router Backbone Utama tidak ditemukan).
OT_ERROR_NO_BUFS
Jika buffer pesan yang tersedia tidak memadai.
Lihat juga:
otIp6RegisterMulticastListenersCallback

otIp6RemoveAllUnsecurePorts

void otIp6RemoveAllUnsecurePorts(
  otInstance *aInstance
)

Menghapus semua port dari daftar port 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 Pengembalian
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 Pengembalian
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.

otIp6ResetBorderRoutingCounters

void otIp6ResetBorderRoutingCounters(
  otInstance *aInstance
)

Mereset penghitung Border Routing.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.

otIp6SelectSourceAddress

otError otIp6SelectSourceAddress(
  otInstance *aInstance,
  otMessageInfo *aMessageInfo
)

Lakukan pemilihan alamat sumber OpenThread.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in,out] aMessageInfo
Pointer ke informasi pesan.
Nilai Pengembalian
OT_ERROR_NONE
Ditemukan alamat sumber dan diisi dengan mSockAddr dari aMessageInfo.
OT_ERROR_NOT_FOUND
Tidak ada alamat sumber yang ditemukan dan aMessageInfo tidak berubah.

otIp6Send

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 buffer pesan yang berisi datagram IPv6.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil memproses pesan.
OT_ERROR_DROP
Pesan diformat dengan baik, tetapi tidak sepenuhnya diproses karena aturan pemrosesan paket.
OT_ERROR_NO_BUFS
Tidak dapat mengalokasikan buffer 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
Menemukan header yang salah format saat memproses pesan.
OT_ERROR_INVALID_ARGS
Metadata pesan tidak valid, misalnya pesan menggunakan OT_MESSAGE_ORIGIN_THREAD_NETIF sebagai asal.

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 ketika alamat IPv6 internal ditambahkan atau dihapus. NULL untuk menonaktifkan callback.
[in] aCallbackContext
Pointer ke konteks khusus aplikasi.

otIp6SetEnabled

otError otIp6SetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Bawa 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 untuk sebaliknya.
Nilai Pengembalian
OT_ERROR_NONE
Berhasil menaikkan/menurunkan antarmuka IPv6.
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 IID Lokal Mesh (untuk tujuan pengujian).

Memerlukan OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aIid
Pointer ke IID Lokal Mesh yang akan ditetapkan.
Nilai Pengembalian
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 {i>Multicast Promiscuous<i}, FALSE jika tidak.
Lihat juga:
otIp6IsMulticastPromiscuousEnabled

otIp6SetReceiveCallback

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

Mendaftarkan callback untuk menyediakan 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 ketika 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 saat mengirim datagram IPv6 melalui callback yang ditentukan dalam 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.

Jika modul SLAAC diaktifkan, alamat SLAAC (berdasarkan awalan on-mesh di Data Jaringan) akan 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 alamat SLAAC akan ditambahkan berdasarkan awalan untuk menentukan apakah alamat harus ditambahkan atau tidak.

Pengendali filter NULL menonaktifkan pemfilteran dan mengizinkan semua alamat SLAAC untuk 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 dengan aBuffer (dalam karakter aSize-nya), string akan terpotong tetapi string yang dihasilkan selalu dihentikan null.

Detail
Parameter
[in] aSockAddr
Pointer ke alamat soket IPv6 (TIDAK BOLEH NULL).
[out] aBuffer
Pointer ke array char untuk menghasilkan string (TIDAK BOLEH NULL).
[in] aSize
Ukuran aBuffer (dalam byte). Sebaiknya gunakan OT_IP6_SOCK_ADDR_STRING_SIZE.

otIp6SubscribeMulticastAddress

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

Berlangganan antarmuka Thread ke Alamat Multicast Antarmuka Jaringan.

Instance aAddress yang diteruskan akan disalin oleh antarmuka Thread. Antarmuka Thread hanya mendukung jumlah tetap 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 Pengembalian
OT_ERROR_NONE
Berhasil berlangganan ke {i>Network Interface Multicast Address<i}.
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 Pengembalian
OT_ERROR_NONE
Berhasil berhenti berlangganan ke 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_PREFIX_BITSIZE

 OT_IP6_PREFIX_BITSIZE (OT_IP6_PREFIX_SIZE * 8)

Ukuran awalan IPv6 (bit)

OT_IP6_PREFIX_SIZE

 OT_IP6_PREFIX_SIZE 8

Ukuran awalan IPv6 (byte)

OT_IP6_PREFIX_STRING_SIZE

 OT_IP6_PREFIX_STRING_SIZE 45

Ukuran yang direkomendasikan untuk representasi string awalan IPv6.

OT_IP6_SOCK_ADDR_STRING_SIZE

 OT_IP6_SOCK_ADDR_STRING_SIZE 48

Ukuran yang direkomendasikan untuk representasi string 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.