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

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, ditampilkan di 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

otIp6Address typedef
struct otIp6Address
Struktur ini mewakili alamat IPv6.
otIp6AddressCallback)(const otIp6AddressInfo *aAddressInfo, bool aIsAdded, void *aContext) typedef
void(*
Pointer fungsi ini dipanggil saat alamat IPv6 internal ditambahkan atau dihapus.
otIp6AddressComponents typedef
Struktur ini mewakili komponen alamat IPv6.
otIp6AddressInfo typedef
otIp6InterfaceIdentifier typedef
Struktur ini mewakili ID Antarmuka dari alamat IPv6.
otIp6NetworkPrefix typedef
Struktur ini mewakili Awalan Jaringan dari alamat IPv6 (64 bit paling signifikan dari alamat).
otIp6Prefix typedef
struct otIp6Prefix
Struktur ini mewakili awalan IPv6.
otIp6ReceiveCallback)(otMessage *aMessage, void *aContext) typedef
void(*
Pointer fungsi ini dipanggil saat datagram IPv6 diterima.
otIp6RegisterMulticastListenersCallback)(void *aContext, otError aError, uint8_t aMlrStatus, const otIp6Address *aFailedAddresses, uint8_t aFailedAddressNum) typedef
void(*
Pointer fungsi ini dipanggil dengan hasil otIp6RegisterMulticastListeners.
otIp6SlaacPrefixFilter)(otInstance *aInstance, const otIp6Prefix *aPrefix) typedef
bool(*
Pointer fungsi ini memungkinkan pengguna memfilter awalan dan tidak mengizinkan alamat SLAAC berdasarkan awalan yang akan ditambahkan.
otMessageInfo typedef
struct otMessageInfo
Struktur ini merepresentasikan alamat soket IPv6 lokal dan peer.
otNetifAddress typedef
Struktur ini mewakili alamat unicast antarmuka jaringan IPv6.
otNetifMulticastAddress typedef
Struktur ini mewakili alamat multicast antarmuka jaringan IPv6.
otSockAddr typedef
struct otSockAddr
Struktur ini mewakili alamat soket IPv6.

Variabel

OT_TOOL_PACKED_END

Fungsi

otIp6AddUnicastAddress(otInstance *aInstance, const otNetifAddress *aAddress)
Tambahkan Alamat Antarmuka Jaringan ke antarmuka Thread.
otIp6AddUnsecurePort(otInstance *aInstance, uint16_t aPort)
Fungsi ini menambahkan port ke daftar port tidak aman yang diizinkan.
otIp6AddressFromString(const char *aString, otIp6Address *aAddress)
Fungsi ini mengonversi string alamat IPv6 yang dapat dibaca manusia menjadi representasi biner.
otIp6AddressToString(const otIp6Address *aAddress, char *aBuffer, uint16_t aSize)
void
Fungsi ini mengonversi alamat IPv6 tertentu menjadi string yang dapat dibaca manusia.
otIp6ArePrefixesEqual(const otIp6Prefix *aFirst, const otIp6Prefix *aSecond)
bool
Uji apakah dua awalan IPv6 sama.
otIp6GetMulticastAddresses(otInstance *aInstance)
Mendapatkan daftar alamat multicast IPv6 yang berlangganan antarmuka Thread.
otIp6GetUnicastAddresses(otInstance *aInstance)
const otNetifAddress *
Dapatkan daftar alamat IPv6 yang ditetapkan ke antarmuka Thread.
otIp6GetUnsecurePorts(otInstance *aInstance, uint8_t *aNumEntries)
const uint16_t *
Fungsi ini 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
Fungsi ini menunjukkan apakah alamat IPv6 tertentu adalah Alamat yang Tidak Ditentukan.
otIp6IsEnabled(otInstance *aInstance)
bool
Fungsi ini menunjukkan apakah antarmuka IPv6 aktif atau tidak.
otIp6IsMulticastPromiscuousEnabled(otInstance *aInstance)
bool
Periksa apakah mode promiscuous multicast diaktifkan di antarmuka Thread.
otIp6IsReceiveFilterEnabled(otInstance *aInstance)
bool
Fungsi ini menunjukkan apakah traffic kontrol Thread difilter atau tidak saat mengirim datagram IPv6 melalui callback yang ditentukan dalam otIp6SetReceiveCallback().
otIp6IsSlaacEnabled(otInstance *aInstance)
bool
Fungsi ini menunjukkan apakah modul SLAAC diaktifkan atau tidak.
otIp6NewMessage(otInstance *aInstance, const otMessageSettings *aSettings)
Alokasikan buffer pesan baru untuk mengirim pesan IPv6.
otIp6NewMessageFromBuffer(otInstance *aInstance, const uint8_t *aData, uint16_t aDataLength, const otMessageSettings *aSettings)
Alokasikan buffer pesan baru dan tulis datagram IPv6 ke buffering pesan untuk mengirim pesan IPv6.
otIp6PrefixMatch(const otIp6Address *aFirst, const otIp6Address *aSecond)
uint8_t
Fungsi ini menampilkan panjang pencocokan awalan (bit) untuk dua alamat IPv6.
otIp6PrefixToString(const otIp6Prefix *aPrefix, char *aBuffer, uint16_t aSize)
void
Fungsi ini mengonversi awalan IPv6 tertentu menjadi string yang dapat dibaca manusia.
otIp6ProtoToString(uint8_t aIpProto)
const char *
Fungsi ini 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)
Fungsi ini mendaftarkan Pemroses Multicast ke Router Backbone Utama.
otIp6RemoveAllUnsecurePorts(otInstance *aInstance)
void
Fungsi ini menghapus semua port dari daftar port tidak aman yang diizinkan.
otIp6RemoveUnicastAddress(otInstance *aInstance, const otIp6Address *aAddress)
Hapus Alamat Antarmuka Jaringan dari antarmuka Thread.
otIp6RemoveUnsecurePort(otInstance *aInstance, uint16_t aPort)
Fungsi ini menghapus port dari daftar port tidak aman yang diizinkan.
otIp6SelectSourceAddress(otInstance *aInstance, otMessageInfo *aMessageInfo)
Fungsi ini melakukan pemilihan alamat sumber OpenThread.
otIp6Send(otInstance *aInstance, otMessage *aMessage)
Fungsi ini mengirim datagram IPv6 melalui antarmuka Thread.
otIp6SetAddressCallback(otInstance *aInstance, otIp6AddressCallback aCallback, void *aCallbackContext)
void
Fungsi ini mendaftarkan callback untuk memberi tahu perubahan alamat IPv6 internal.
otIp6SetEnabled(otInstance *aInstance, bool aEnabled)
Fungsi ini memunculkan/menonaktifkan antarmuka IPv6.
otIp6SetMeshLocalIid(otInstance *aInstance, const otIp6InterfaceIdentifier *aIid)
Fungsi ini menetapkan IID Lokal Mesh (untuk tujuan pengujian).
otIp6SetMulticastPromiscuousEnabled(otInstance *aInstance, bool aEnabled)
void
Mengaktifkan mode promiscuous multicast di antarmuka Thread.
otIp6SetReceiveCallback(otInstance *aInstance, otIp6ReceiveCallback aCallback, void *aCallbackContext)
void
Fungsi ini mendaftarkan callback untuk memberikan datagram IPv6 yang diterima.
otIp6SetReceiveFilterEnabled(otInstance *aInstance, bool aEnabled)
void
Fungsi ini menyetel apakah traffic kontrol Thread difilter atau tidak saat mengirimkan datagram IPv6 melalui callback yang ditentukan di otIp6SetReceiveCallback().
otIp6SetSlaacEnabled(otInstance *aInstance, bool aEnabled)
void
Fungsi ini mengaktifkan/menonaktifkan modul SLAAC.
otIp6SetSlaacPrefixFilter(otInstance *aInstance, otIp6SlaacPrefixFilter aFilter)
void
Fungsi ini menetapkan pengendali filter modul SLAAC.
otIp6SockAddrToString(const otSockAddr *aSockAddr, char *aBuffer, uint16_t aSize)
void
Fungsi ini mengonversi alamat soket IPv6 tertentu menjadi string yang dapat dibaca manusia.
otIp6SubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
Buat antarmuka Thread ke Alamat Multicast Antarmuka Jaringan.
otIp6UnsubscribeMulticastAddress(otInstance *aInstance, const otIp6Address *aAddress)
Berhenti berlangganan antarmuka Thread ke Alamat Multicast Antarmuka Jaringan.

Struct

otIp6Address

Struktur ini mewakili alamat IPv6.

otIp6AddressComponents

Struktur ini mewakili komponen alamat IPv6.

otIp6AddressInfo

Struktur ini mewakili informasi alamat IPv6.

otIp6InterfaceIdentifier

Struktur ini mewakili ID Antarmuka dari alamat IPv6.

otIp6NetworkPrefix

Struktur ini mewakili Awalan Jaringan dari alamat IPv6 (64 bit paling signifikan dari alamat).

otIp6Prefix

Struktur ini mewakili awalan IPv6.

otMessageInfo

Struktur ini merepresentasikan alamat soket IPv6 lokal dan peer.

otNetifAddress

Struktur ini mewakili alamat unicast antarmuka jaringan IPv6.

otNetifMulticastAddress

Struktur ini mewakili alamat multicast antarmuka jaringan IPv6.

otSockAddr

Struktur ini mewakili 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 yang ditetapkan SLAAC.

OT_ADDRESS_ORIGIN_THREAD

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

enum anonim

 anonymous enum

Status ECN, ditampilkan di header IP.

Properti
OT_ECN_CAPABLE_0

ECT(0)

OT_ECN_CAPABLE_1

ECT(1)

OT_ECN_MARKED

Kemacetan terjadi (CE)

OT_ECN_NOT_CAPABLE

Bukan EECT.

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

Header Perutean untuk IPv6.

OT_IP6_PROTO_TCP

Protokol Kontrol Transmisi.

OT_IP6_PROTO_UDP

Datagram Pengguna.

Typedef

otIp6Alamat

struct otIp6Address otIp6Address

Struktur ini mewakili alamat IPv6.

otIp6AddressCallback

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

Pointer fungsi ini 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

Struktur ini mewakili komponen alamat IPv6.

otIp6AddressInfo

struct otIp6AddressInfo otIp6AddressInfo

otIp6InterfaceIdentifier

struct otIp6InterfaceIdentifier otIp6InterfaceIdentifier

Struktur ini mewakili ID Antarmuka dari alamat IPv6.

otIp6JaringanAwalan

struct otIp6NetworkPrefix otIp6NetworkPrefix

Struktur ini mewakili Awalan Jaringan dari alamat IPv6 (64 bit paling signifikan dari alamat).

otIp6Awalan

struct otIp6Prefix otIp6Prefix

Struktur ini mewakili awalan IPv6.

otIp6ReceiveCallback

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

Pointer fungsi ini dipanggil saat 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 fungsi ini 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_possesiveDirect jika gagal menerima MLR.rsp, OT_ERROR_PARSE saat gagal menguraikan 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 fungsi ini memungkinkan pengguna memfilter awalan dan tidak mengizinkan alamat SLAAC berdasarkan awalan yang akan ditambahkan.

otIp6SetSlaacPrefixFilter() dapat digunakan untuk menetapkan pengendali filter. Pengendali filter dipanggil oleh modul SLAAC ketika 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 alamat SLAAC-nya akan ditambahkan.
Nilai yang Ditampilkan
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

Struktur ini merepresentasikan alamat soket IPv6 lokal dan peer.

otNetifAddress

struct otNetifAddress otNetifAddress

Struktur ini mewakili alamat unicast antarmuka jaringan IPv6.

otNetifMulticastAddress

struct otNetifMulticastAddress otNetifMulticastAddress

Struktur ini mewakili alamat multicast antarmuka jaringan IPv6.

OTSockAddr

struct otSockAddr otSockAddr

Struktur ini mewakili alamat soket IPv6.

Variabel

OT_TOOL_PACKED_END [OT_ALAT_PACKED]

OT_TOOL_PACKED_BEGIN struct otIp6InterfaceIdentifier OT_TOOL_PACKED_END

Fungsi

otIp6AddUnicastAddress

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

Tambahkan Alamat Antarmuka Jaringan ke antarmuka Thread.

Instance aAddress yang diteruskan disalin oleh antarmuka Thread. Antarmuka Thread hanya mendukung sejumlah alamat unicast yang ditambahkan secara eksternal. Lihat OPEN pelaporan_KONFIG_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
)

Fungsi ini 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.

otIp6AddressFromString

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

Fungsi ini 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 menguraikan string.
OT_ERROR_INVALID_ARGS
Gagal mengurai string.

otIp6AddressToString

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

Fungsi ini mengonversi alamat IPv6 tertentu menjadi string yang dapat dibaca manusia.

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

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

Detail
Parameter
[in] aAddress
Pointer ke alamat IPv6 (HARUS TIDAK NULL).
[out] aBuffer
Pointer ke array char untuk mengeluarkan string (HARUS TIDAK menjadi 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 yang akan dibandingkan.
[in] aSecond
Pointer ke awalan IPv6 kedua untuk dibandingkan.
Nilai yang Ditampilkan
TRUE
Kedua awalan IPv6 sama.
FALSE
Kedua awalan IPv6 tidak sama.

otIp6GetMulticastAddress

const otNetifMulticastAddress * otIp6GetMulticastAddresses(
  otInstance *aInstance
)

Mendapatkan daftar alamat multicast IPv6 yang berlangganan antarmuka Thread.

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

otIp6GetUnicastAddress

const otNetifAddress * otIp6GetUnicastAddresses(
  otInstance *aInstance
)

Dapatkan daftar alamat IPv6 yang ditetapkan ke antarmuka Thread.

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

otIp6GetUnsecurePorts

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

Fungsi ini menampilkan pointer ke daftar port yang tidak aman.

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[out] aNumEntries
Jumlah entri dalam daftar.
Menampilkan
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 untuk dibandingkan.
[in] aSecond
Pointer ke alamat IPv6 kedua untuk dibandingkan.
Nilai yang Ditampilkan
TRUE
Kedua alamat IPv6 tersebut sama.
FALSE
Kedua alamat IPv6 tersebut tidak sama.

otIp6IsAddressUnspecified

bool otIp6IsAddressUnspecified(
  const otIp6Address *aAddress
)

Fungsi ini menunjukkan apakah alamat IPv6 tertentu adalah Alamat yang 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 yang Tidak Ditentukan.

otIp6IsEnabled

bool otIp6IsEnabled(
  otInstance *aInstance
)

Fungsi ini 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.

otIp6IsMulticastPromiscuousDiaktifkan

bool otIp6IsMulticastPromiscuousEnabled(
  otInstance *aInstance
)

Periksa apakah mode promiscuous multicast diaktifkan di antarmuka Thread.

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

otIp6IsReceiveFilterEnabled

bool otIp6IsReceiveFilterEnabled(
  otInstance *aInstance
)

Fungsi ini menunjukkan apakah traffic kontrol Thread difilter atau tidak saat mengirim datagram IPv6 melalui callback yang ditentukan dalam otIp6SetReceiveCallback().

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
Menampilkan
TRUE jika traffic Kontrol thread difilter, FALSE jika tidak.
Lihat juga:
otIp6SetReceiveCallback
otIp6SetReceiveFilterEnabled

otIp6IsSlaacEnabled

bool otIp6IsSlaacEnabled(
  otInstance *aInstance
)

Fungsi ini menunjukkan apakah modul SLAAC diaktifkan atau tidak.

Fungsi ini memerlukan fitur waktu build OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE agar dapat diaktifkan.

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

otIp6NewMessage

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

Alokasikan buffer 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.
Menampilkan
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
)

Alokasikan buffer 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 buffer datagram IPv6.
[in] aDataLength
Ukuran buffer datagram IPv6 yang ditunjukkan oleh aData.
[in] aSettings
Pointer ke setelan pesan atau NULL untuk menetapkan setelan default.
Menampilkan
Pointer ke pesan atau NULL jika format header IPv6 salah atau buffer pesan tidak tersedia tersedia.
Lihat juga:
otMessageFree

otIp6PrefixMatch

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

Fungsi ini 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.
Menampilkan
Panjang pencocokan awalan dalam bit.

otIp6PrefixToString

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

Fungsi ini 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), string akan dipotong, tetapi string yang dihasilkan akan selalu diakhiri dengan null.

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

otIp6ProtoToString

const char * otIp6ProtoToString(
  uint8_t aIpProto
)

Fungsi ini mengonversi nomor protokol IP tertentu menjadi string yang dapat dibaca manusia.

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

otIp6RegisterMulticastListeners

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

Fungsi ini mendaftarkan Pemroses Multicast ke Router Backbone Utama.

Catatan: hanya tersedia jika OPENTHREAD_CONFIG_TMF_PROXY_MLR_ENABLE dan OPENTHREAD_CONFIG_COMMISSIONER_ENABLE diaktifkan)

Detail
Parameter
[in] aInstance
Pointer ke instance OpenThread.
[in] aAddresses
Array Alamat Multicast untuk 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 dalam MLR.req. Nilai waktu tunggu 0 akan 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, Router Backbone Utama tidak ditemukan).
OT_ERROR_NO_BUFS
Jika tidak tersedia buffer pesan yang tersedia.
Lihat juga:
otIp6RegisterMulticastListenersCallback

otIp6RemoveAllUnsecurePorts

void otIp6RemoveAllUnsecurePorts(
  otInstance *aInstance
)

Fungsi ini 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
)

Hapus 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
)

Fungsi ini 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.

otIp6SelectSourceAddress

otError otIp6SelectSourceAddress(
  otInstance *aInstance,
  otMessageInfo *aMessageInfo
)

Fungsi ini 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 aMessageInfo.
OT_ERROR_NOT_FOUND
Tidak ada alamat sumber yang ditemukan dan aMessageInfo tidak berubah.

otIp6Kirim

otError otIp6Send(
  otInstance *aInstance,
  otMessage *aMessage
)

Fungsi ini 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 yang Ditampilkan
OT_ERROR_NONE
Berhasil memproses pesan.
OT_ERROR_DROP
Pesan diformat dengan benar tetapi tidak diproses sepenuhnya 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
Mengalami header yang salah format saat memproses pesan.

otIp6SetAddressCallback

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

Fungsi ini 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.

otIp6SetDiaktifkan

otError otIp6SetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Fungsi ini memunculkan/menonaktifkan antarmuka IPv6.

Panggil fungsi ini untuk mengaktifkan/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 saat fitur OPENTHREAD_CONFIG_LINK_RAW_ENABLE diaktifkan).

otIp6SetMeshLocalIid

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

Fungsi ini menetapkan IID Lokal Mesh (untuk tujuan pengujian).

Hanya tersedia jika OPENTHREAD_CONFIG_REFERENCE_DEVICE_ENABLE 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.

otIp6SetMulticastPromiscuousDiaktifkan

void otIp6SetMulticastPromiscuousEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Mengaktifkan mode promiscuous multicast di 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
)

Fungsi ini 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
)

Fungsi ini menyetel 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
)

Fungsi ini mengaktifkan/menonaktifkan modul SLAAC.

Fungsi ini memerlukan fitur waktu build OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE agar dapat diaktifkan.

Saat modul SLAAC diaktifkan, alamat SLAAC (berdasarkan awalan di mesh di Data Jaringan) ditambahkan ke antarmuka. Jika modul SLAAC dinonaktifkan, alamat SLAAC yang sebelumnya ditambahkan 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
)

Fungsi ini menetapkan pengendali filter modul SLAAC.

Fungsi ini memerlukan fitur waktu build OPENTHREAD_CONFIG_IP6_SLAAC_ENABLE agar dapat diaktifkan.

Pengendali filter dipanggil oleh modul SLAAC ketika 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
)

Fungsi ini mengonversi alamat soket IPv6 tertentu menjadi string yang dapat dibaca manusia.

String alamat soket IPv6 diformat sebagai "[

]:" dengan `
ditampilkan sebagai 16 nilai heksadesimal yang dipisahkan oleh ':' dan adalah nomor port dalam format desimal (yaitu, "[%x:%x:...:%x]:%u")

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

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

otIp6SubscribeMulticastAddress

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

Buat antarmuka Thread ke Alamat Multicast Antarmuka Jaringan.

Instance aAddress yang diteruskan akan disalin oleh antarmuka Thread. Antarmuka Thread hanya mendukung sejumlah alamat multicast yang ditambahkan secara eksternal. Lihat OPEN pelaporan_KONFIG_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
)

Berhenti berlangganan 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 Jaringan Multicast Antarmuka.
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 disarankan untuk representasi string alamat IPv6.

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 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.

Resource

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