Örgü Teşhisi

Bu modül, Örgü Teşhisi ile ilgili tanımlar ve işlevler içerir.

Özet

Örgü Teşhisi API'leri için OPENTHREAD_CONFIG_MESH_DIAG_ENABLE ve OPENTHREAD_FTD gerekir.

Türdefler

otMeshDiagChildEntry typedef
otMeshDiagQueryChildTable() alanındaki bir alt girişle ilgili bilgileri temsil eder.
otMeshDiagChildInfo typedef
otMeshDiagDiscoverTopology() kullanarak iş parçacığı ağında keşfedilen bir alt öğe hakkındaki bilgileri temsil eder.
otMeshDiagChildIp6AddrsCallback)(otError aError, uint16_t aChildRloc16, otMeshDiagIp6AddrIterator *aIp6AddrIterator, void *aContext) typedef
void(*
Bir MTD alt öğesi ve bu alt yayıncının IPv6 adresleri listesi hakkında bilgi sağlamak için otMeshDiagQueryChildrenIp6Addrs() tarafından kullanılan geri çağırmayı temsil eder.
otMeshDiagChildIterator typedef
Yönlendiricinin alt öğeleri listesini yinelemek için opak bir yineleme.
otMeshDiagDiscoverCallback)(otError aError, otMeshDiagRouterInfo *aRouterInfo, void *aContext) typedef
void(*
İşaretçi türü, keşfedilen bir yönlendirici hakkında bilgi sağlamak için otMeshDiagDiscoverTopology() tarafından kullanılan geri çağırmayı temsil eder.
otMeshDiagDiscoverConfig typedef
Hangi öğelerin keşfedileceğini belirten örgü topolojisini keşfederken kullanılan yapılandırma kümesini temsil eder.
otMeshDiagIp6AddrIterator typedef
Bir yönlendiricinin IPv6 adresleri listesini yinelemek için opak bir yineleme.
otMeshDiagQueryChildTableCallback)(otError aError, const otMeshDiagChildEntry *aChildEntry, void *aContext) typedef
void(*
Alt tablo girişleri hakkında bilgi sağlamak için otMeshDiagQueryChildTable() tarafından kullanılan geri çağırmayı temsil eder.
otMeshDiagQueryRouterNeighborTableCallback)(otError aError, const otMeshDiagRouterNeighborEntry *aNeighborEntry, void *aContext) typedef
void(*
Komşu yönlendirici tablosu girişleri hakkında bilgi sağlamak için otMeshDiagQueryRouterNeighborTable() tarafından kullanılan geri çağırmayı temsil eder.
otMeshDiagRouterInfo typedef
otMeshDiagDiscoverTopology() kullanılarak keşfedilen iş parçacığı örgüsündeki bir yönlendiriciyle ilgili bilgileri temsil eder.
otMeshDiagRouterNeighborEntry typedef
otMeshDiagQueryRouterNeighborTable() alanındaki bir yönlendirici komşu girişiyle ilgili bilgileri temsil eder.

İşlevler

otMeshDiagCancel(otInstance *aInstance)
void
Mevcut bir topoloji keşfini (varsa) iptal eder, aksi halde hiçbir işlem yoktur.
otMeshDiagDiscoverTopology(otInstance *aInstance, const otMeshDiagDiscoverConfig *aConfig, otMeshDiagDiscoverCallback aCallback, void *aContext)
Ağ topoloji keşfini başlatır.
otMeshDiagGetNextChildInfo(otMeshDiagChildIterator *aIterator, otMeshDiagChildInfo *aChildInfo)
Bir yönlendiricinin bulunan alt öğeleri üzerinden yinelenir.
otMeshDiagGetNextIp6Address(otMeshDiagIp6AddrIterator *aIterator, otIp6Address *aIp6Address)
Bir yönlendiricinin veya MTD alt öğesinin keşfedilen IPv6 adresleri aracılığıyla yinelenir.
otMeshDiagQueryChildTable(otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryChildTableCallback aCallback, void *aContext)
Belirli bir yönlendiricinin alt tablosu sorgusunu başlatır.
otMeshDiagQueryChildrenIp6Addrs(otInstance *aInstance, uint16_t aRloc16, otMeshDiagChildIp6AddrsCallback aCallback, void *aContext)
Tüm MTD alt öğelerinin IPv6 adreslerini almak için üst öğeye bir sorgu gönderir.
otMeshDiagQueryRouterNeighborTable(otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryRouterNeighborTableCallback aCallback, void *aContext)
Belirli bir yönlendiricide yönlendirici komşu tablosu için sorguyu başlatır.

Yapılar

otMeshDiagChildEntry

otMeshDiagQueryChildTable() alanındaki bir alt girişle ilgili bilgileri temsil eder.

otMeshDiagChildInfo

otMeshDiagDiscoverTopology() kullanarak iş parçacığı ağında keşfedilen bir alt öğe hakkındaki bilgileri temsil eder.

otMeshDiagDiscoverConfig

Hangi öğelerin keşfedileceğini belirten örgü topolojisini keşfederken kullanılan yapılandırma kümesini temsil eder.

otMeshDiagRouterInfo

otMeshDiagDiscoverTopology() kullanılarak keşfedilen iş parçacığı örgüsündeki bir yönlendiriciyle ilgili bilgileri temsil eder.

otMeshDiagRouterNeighborEntry

otMeshDiagQueryRouterNeighborTable() alanındaki bir yönlendirici komşu girişiyle ilgili bilgileri temsil eder.

Türdefler

otMeshDiagChildEntry

struct otMeshDiagChildEntry otMeshDiagChildEntry

otMeshDiagQueryChildTable() alanındaki bir alt girişle ilgili bilgileri temsil eder.

mSupportsErrRate, hata izleme özelliğinin desteklenip desteklenmediğini ve mFrameErrorRate ile mMessageErrorRate değerlerinin geçerli olup olmadığını belirtir. Kare hata oranı, MAC katmanında çerçeve tx hatalarını (alt öğeye doğru) izlerken mMessageErrorRate, bir IPv6 mesajı bırakıldığında IPv6 mesaj hata oranını (MAC katmanının üzerinde ve MAC denemelerinden sonra) izler. Örneğin, ileti büyükse ve 6LoWPAN parçasını gerektiriyorsa, parça çerçevesi tx'den birinin başarısız olması halinde (örneğin, hiçbir zaman onaylanmadı) ileti tx, başarısız olarak kabul edilir.

otMeshDiagChildInfo

struct otMeshDiagChildInfo otMeshDiagChildInfo

otMeshDiagDiscoverTopology() kullanarak iş parçacığı ağında keşfedilen bir alt öğe hakkındaki bilgileri temsil eder.

otMeshDiagChildIp6AddrsCallback

void(* otMeshDiagChildIp6AddrsCallback)(otError aError, uint16_t aChildRloc16, otMeshDiagIp6AddrIterator *aIp6AddrIterator, void *aContext)

Bir MTD alt öğesi ve bu alt yayıncının IPv6 adresleri listesi hakkında bilgi sağlamak için otMeshDiagQueryChildrenIp6Addrs() tarafından kullanılan geri çağırmayı temsil eder.

aError değeri OT_ERROR_PENDING olduğunda, daha fazla alt öğe olduğunu ve geri çağırmanın tekrar çağrılacağını belirtir.

Ayrıntılar
Parametreler
[in] aError
OT_ERROR_PENDING Tabloda daha fazla alt öğe olduğunu gösterir. OT_ERROR_NONE Tablonun tamamlandığını belirtir. OT_ERROR_RESPONSE_TIMEOUT Yanıt beklenirken zaman aşımına uğradı.
[in] aChildRloc16
Alt hesabın RLOC16'sı. 0xfffe, OT_ERROR_RESPONSE_TIMEOUT adlı cihazda kullanılıyor.
[in] aIp6AddrIterator
otMeshDiagGetNextIp6Address() kullanarak aRloc ile alt yayıncının IPv6 adreslerini geçmeye yarayan bir yineleme. OT_ERROR_RESPONSE_TIMEOUT tarihinde NULL olarak ayarlandı.
[in] aContext
Uygulamaya özel bağlam.

otMeshDiagChildIterator

struct otMeshDiagChildIterator otMeshDiagChildIterator

Yönlendiricinin alt öğeleri listesini yinelemek için opak bir yineleme.

Bu tür bir örneğe işaret edenler otMeshDiagRouterInfo içinde sağlanır.

otMeshDiagDiscoverCallback

void(* otMeshDiagDiscoverCallback)(otError aError, otMeshDiagRouterInfo *aRouterInfo, void *aContext)

İşaretçi türü, keşfedilen bir yönlendirici hakkında bilgi sağlamak için otMeshDiagDiscoverTopology() tarafından kullanılan geri çağırmayı temsil eder.

aError değeri OT_ERROR_PENDING olduğunda, keşif henüz tamamlanmamış, keşfedilecek daha fazla yönlendirici olacak ve geri arama tekrar başlatılacaktır.

Ayrıntılar
Parametreler
[in] aError
OT_ERROR_PENDING Keşfedilecek daha fazla yönlendirici olduğunu gösterir. OT_ERROR_NONE Bunun son yönlendirici olduğunu ve örgü keşfinin yapıldığını belirtir. OT_ERROR_RESPONSE_TIMEOUT Bir veya daha fazla yönlendiriciden yanıt beklenirken zaman aşımına uğradı.
[in] aRouterInfo
Keşfedilen yönlendirici bilgisi (aError değeri OT_ERROR_RESPONSE_TIMEOUT ise boş olabilir).
[in] aContext
Uygulamaya özel bağlam.

otMeshDiagDiscoverConfig

struct otMeshDiagDiscoverConfig otMeshDiagDiscoverConfig

Hangi öğelerin keşfedileceğini belirten örgü topolojisini keşfederken kullanılan yapılandırma kümesini temsil eder.

otMeshDiagIp6AddrIterator

struct otMeshDiagIp6AddrIterator otMeshDiagIp6AddrIterator

Bir yönlendiricinin IPv6 adresleri listesini yinelemek için opak bir yineleme.

Bu tür bir örneğe işaret edenler otMeshDiagRouterInfo içinde sağlanır.

otMeshDiagQueryChildTableCallback

void(* otMeshDiagQueryChildTableCallback)(otError aError, const otMeshDiagChildEntry *aChildEntry, void *aContext)

Alt tablo girişleri hakkında bilgi sağlamak için otMeshDiagQueryChildTable() tarafından kullanılan geri çağırmayı temsil eder.

aError değerinin OT_ERROR_PENDING olması, tabloda hâlâ daha fazla giriş olduğunu ve geri çağırmanın tekrar çağrılacağını belirtir.

Ayrıntılar
Parametreler
[in] aError
OT_ERROR_PENDING Tabloda daha fazla giriş olduğunu gösterir. OT_ERROR_NONE Tablonun tamamlandığını belirtir. OT_ERROR_RESPONSE_TIMEOUT Yanıt beklenirken zaman aşımına uğradı.
[in] aChildEntry
Alt giriş (aError değeri OT_ERROR_RESPONSE_TIMEOUT veya OT_ERROR_NONE ise boş olabilir).
[in] aContext
Uygulamaya özel bağlam.

otMeshDiagQueryRouterNeighborTableCallback

void(* otMeshDiagQueryRouterNeighborTableCallback)(otError aError, const otMeshDiagRouterNeighborEntry *aNeighborEntry, void *aContext)

Komşu yönlendirici tablosu girişleri hakkında bilgi sağlamak için otMeshDiagQueryRouterNeighborTable() tarafından kullanılan geri çağırmayı temsil eder.

aError değerinin OT_ERROR_PENDING olması, tabloda hâlâ daha fazla giriş olduğunu ve geri çağırmanın tekrar çağrılacağını belirtir.

Ayrıntılar
Parametreler
[in] aError
OT_ERROR_PENDING Tabloda daha fazla giriş olduğunu gösterir. OT_ERROR_NONE Tablonun tamamlandığını belirtir. OT_ERROR_RESPONSE_TIMEOUT Yanıt beklenirken zaman aşımına uğradı.
[in] aNeighborEntry
Komşu giriş (aError değeri RESPONSE_TIMEOUT veya NONE ise null olabilir).
[in] aContext
Uygulamaya özel bağlam.

otMeshDiagRouterInfo

struct otMeshDiagRouterInfo otMeshDiagRouterInfo

otMeshDiagDiscoverTopology() kullanılarak keşfedilen iş parçacığı örgüsündeki bir yönlendiriciyle ilgili bilgileri temsil eder.

otMeshDiagRouterNeighborEntry

struct otMeshDiagRouterNeighborEntry otMeshDiagRouterNeighborEntry

otMeshDiagQueryRouterNeighborTable() alanındaki bir yönlendirici komşu girişiyle ilgili bilgileri temsil eder.

mSupportsErrRate, hata izleme özelliğinin desteklenip desteklenmediğini ve mFrameErrorRate ile mMessageErrorRate değerlerinin geçerli olup olmadığını belirtir. Kare hata oranı, MAC katmanında çerçeve tx hatalarını (alt öğeye doğru) izlerken mMessageErrorRate, bir IPv6 mesajı bırakıldığında IPv6 mesaj hata oranını (MAC katmanının üzerinde ve MAC denemelerinden sonra) izler. Örneğin, ileti büyükse ve 6LoWPAN parçasını gerektiriyorsa, parça çerçevesi tx'den birinin başarısız olması halinde (örneğin, hiçbir zaman onaylanmadı) ileti tx, başarısız olarak kabul edilir.

İşlevler

otMeshDiagCancel

void otMeshDiagCancel(
  otInstance *aInstance
)

Mevcut bir topoloji keşfini (varsa) iptal eder, aksi halde hiçbir işlem yoktur.

Devam eden keşif iptal edildiğinde, otMeshDiagDiscoverTopology() numaralı telefondan yapılan geri arama artık çağrılmaz.

otMeshDiagDiscoverTopology

otError otMeshDiagDiscoverTopology(
  otInstance *aInstance,
  const otMeshDiagDiscoverConfig *aConfig,
  otMeshDiagDiscoverCallback aCallback,
  void *aContext
)

Ağ topoloji keşfini başlatır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneği.
[in] aConfig
Keşif için kullanılacak yapılandırma (ör. keşfedilecek öğeler).
[in] aCallback
Keşfedilen yönlendiricileri bildirmek için geri çağırma.
[in] aContext
aCallback içinde iletilecek bağlam.
Döndürülen Değerler
OT_ERROR_NONE
Ağ topolojisi keşfi başarıyla başlatıldı.
OT_ERROR_BUSY
Önceki bir keşif isteğinin işlemi devam ediyor.
OT_ERROR_INVALID_STATE
Cihaz takılı değil.
OT_ERROR_NO_BUFS
Keşif iletilerinin gönderilmesi için arabellek tahsis edilemedi.

otMeshDiagGetNextChildInfo

otError otMeshDiagGetNextChildInfo(
  otMeshDiagChildIterator *aIterator,
  otMeshDiagChildInfo *aChildInfo
)

Bir yönlendiricinin bulunan alt öğeleri üzerinden yinelenir.

Bu işlevin, otMeshDiagDiscoverCallback() geri çağırmasından ve geri çağırmaya girdi olarak sağlanan aRouterInfo yapısındaki mChildIterator öğesini kullanması ZORUNLUDUR.

Ayrıntılar
Parametreler
[in,out] aIterator
Kullanılacak adres yineleyici.
[out] aChildInfo
Çocuk bilgilerini (varsa) döndüren işaretçi.
Döndürülen Değerler
OT_ERROR_NONE
Sonraki alt öğe başarıyla alındı. aChildInfo ve aIterator güncellendi.
OT_ERROR_NOT_FOUND
Artık çocuk yok. Listenin sonuna ulaştınız.

otMeshDiagGetNextIp6Address

otError otMeshDiagGetNextIp6Address(
  otMeshDiagIp6AddrIterator *aIterator,
  otIp6Address *aIp6Address
)

Bir yönlendiricinin veya MTD alt öğesinin keşfedilen IPv6 adresleri aracılığıyla yinelenir.

KULLANILMALIDIR

Ayrıntılar
Parametreler
[in,out] aIterator
Kullanılacak adres yineleyici.
[out] aIp6Address
Sonraki IPv6 adresini döndürecek işaretçi (varsa).
Döndürülen Değerler
OT_ERROR_NONE
Sonraki adres başarıyla alındı. aIp6Address ve aIterator güncellendi.
OT_ERROR_NOT_FOUND
Başka adres yok. Listenin sonuna ulaştınız.

otMeshDiagQueryChildTable

otError otMeshDiagQueryChildTable(
  otInstance *aInstance,
  uint16_t aRloc16,
  otMeshDiagQueryChildTableCallback aCallback,
  void *aContext
)

Belirli bir yönlendiricinin alt tablosu sorgusunu başlatır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneği.
[in] aRloc16
Sorgulanacak yönlendiricinin RLOC16 değeri.
[in] aCallback
Sorgulanan alt tabloyu bildirmek için geri çağırma.
[in] aContext
aCallback içinde iletilecek bağlam.
Döndürülen Değerler
OT_ERROR_NONE
Sorgu başarıyla başlatıldı.
OT_ERROR_BUSY
Önceki bir keşif veya sorgu isteği hâlâ devam ediyor.
OT_ERROR_INVALID_ARGS
aRloc16, RLOC16 geçerli bir yönlendirici değil.
OT_ERROR_INVALID_STATE
Cihaz takılı değil.
OT_ERROR_NO_BUFS
Sorgu mesajları göndermek için arabellek tahsis edilemedi.

otMeshDiagQueryChildrenIp6Addrs

otError otMeshDiagQueryChildrenIp6Addrs(
  otInstance *aInstance,
  uint16_t aRloc16,
  otMeshDiagChildIp6AddrsCallback aCallback,
  void *aContext
)

Tüm MTD alt öğelerinin IPv6 adreslerini almak için üst öğeye bir sorgu gönderir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneği.
[in] aRloc16
Sorgulanacak üst öğenin RLOC16'sı.
[in] aCallback
Sorgulanan alt IPv6 adres listesini bildirmek için geri arama.
[in] aContext
aCallback içinde iletilecek bağlam.
Döndürülen Değerler
OT_ERROR_NONE
Sorgu başarıyla başlatıldı.
OT_ERROR_BUSY
Önceki bir keşif veya sorgu isteği hâlâ devam ediyor.
OT_ERROR_INVALID_ARGS
aRloc16, geçerli bir RLOC16 değil.
OT_ERROR_INVALID_STATE
Cihaz takılı değil.
OT_ERROR_NO_BUFS
Sorgu mesajları göndermek için arabellek tahsis edilemedi.

otMeshDiagQueryRouterNeighborTable

otError otMeshDiagQueryRouterNeighborTable(
  otInstance *aInstance,
  uint16_t aRloc16,
  otMeshDiagQueryRouterNeighborTableCallback aCallback,
  void *aContext
)

Belirli bir yönlendiricide yönlendirici komşu tablosu için sorguyu başlatır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneği.
[in] aRloc16
Sorgulanacak yönlendiricinin RLOC16 değeri.
[in] aCallback
Sorgulanan tabloyu bildirmek için geri çağırma.
[in] aContext
aCallback içinde iletilecek bağlam.
Döndürülen Değerler
OT_ERROR_NONE
Sorgu başarıyla başlatıldı.
OT_ERROR_BUSY
Önceki bir keşif veya sorgu isteği hâlâ devam ediyor.
OT_ERROR_INVALID_ARGS
aRloc16, RLOC16 geçerli bir yönlendirici değil.
OT_ERROR_INVALID_STATE
Cihaz takılı değil.
OT_ERROR_NO_BUFS
Sorgu mesajları göndermek için arabellek tahsis edilemedi.

Makrolar

OT_MESH_DIAG_VERSION_UNKNOWN

 OT_MESH_DIAG_VERSION_UNKNOWN 0xffff

İleti dizisi sürümünün bilinmediğini belirtir.

Bu, cihaz kendi sürümünü sağlamadığında mVersion özelliği için otMeshDiagRouterInfo içinde kullanılır. Bu, cihazın muhtemelen 1.3.0 (sürüm değeri 4) veya daha eski bir sürümü çalıştırdığını gösterir.

Kaynaklar

OpenThread API Referans konuları, GitHub'da bulunan kaynak koddan gelir. Daha fazla bilgi edinmek veya dokümanlarımıza katkıda bulunmak için Kaynaklar bölümüne bakın.