אבחון רשת

המודול הזה כולל הגדרות ופונקציות ל'אבחון רשת'.

סיכום

ממשקי ה-API של Mesh לאבחון צריכים OPENTHREAD_CONFIG_MESH_DIAG_ENABLE ו-OPENTHREAD_FTD.

סוג שגיאות

otMeshDiagChildEntry typedef
השדה הזה מייצג מידע על רשומת צאצא של otMeshDiagQueryChildTable().
otMeshDiagChildInfo typedef
מייצגת מידע על ילדים שזוהו ברשת השרשורים באמצעות otMeshDiagDiscoverTopology().
otMeshDiagChildIp6AddrsCallback)(otError aError, uint16_t aChildRloc16, otMeshDiagIp6AddrIterator *aIp6AddrIterator, void *aContext) typedef
void(*
השדה הזה מייצג את הקריאה החוזרת (callback) שנעשה בה שימוש על ידי otMeshDiagQueryChildrenIp6Addrs() כדי לספק מידע על ילדים מה-MTD ועל רשימת כתובות IPv6 שלו.
otMeshDiagChildIterator typedef
איטרציה אטומה שמטרתה לשפר את רשימת הילדים של הנתב.
otMeshDiagDiscoverCallback)(otError aError, otMeshDiagRouterInfo *aRouterInfo, void *aContext) typedef
void(*
סוג המצביע מייצג את הקריאה החוזרת (callback) שמשמשת את otMeshDiagDiscoverTopology() כדי לספק מידע על נתב שהתגלה.
otMeshDiagDiscoverConfig typedef
מייצג את קבוצת ההגדרות שהיו בשימוש בזמן גילוי הטופולוגיה של הרשת, המציינת אילו פריטים יש לגלות.
otMeshDiagIp6AddrIterator typedef
איטרטור אטום לחזרה על רשימת כתובות IPv6 של נתב.
otMeshDiagQueryChildTableCallback)(otError aError, const otMeshDiagChildEntry *aChildEntry, void *aContext) typedef
void(*
מייצג את הקריאה החוזרת (callback) שבה משתמש otMeshDiagQueryChildTable() כדי לספק מידע על רשומות בטבלת צאצא.
otMeshDiagQueryRouterNeighborTableCallback)(otError aError, const otMeshDiagRouterNeighborEntry *aNeighborEntry, void *aContext) typedef
void(*
מייצג את הקריאה החוזרת (callback) שבה משתמש otMeshDiagQueryRouterNeighborTable() כדי לספק מידע לגבי רשומות בטבלה של הנתב השכן.
otMeshDiagRouterInfo typedef
מייצג מידע על נתב ברשת Thread שהתגלה באמצעות otMeshDiagDiscoverTopology().
otMeshDiagRouterNeighborEntry typedef
מייצג מידע על רשומה של שכן בנתב מ-otMeshDiagQueryRouterNeighborTable().

פונקציות

otMeshDiagCancel(otInstance *aInstance)
void
ביטול גילוי טופולוגי מתמשך אם יש כזה, אחרת לא תבוצע כל פעולה.
otMeshDiagDiscoverTopology(otInstance *aInstance, const otMeshDiagDiscoverConfig *aConfig, otMeshDiagDiscoverCallback aCallback, void *aContext)
מתחיל חיפוש של הטופולוגיה של הרשת.
otMeshDiagGetNextChildInfo(otMeshDiagChildIterator *aIterator, otMeshDiagChildInfo *aChildInfo)
חוזרים על התהליך הזה עם הצאצאים של הנתב.
otMeshDiagGetNextIp6Address(otMeshDiagIp6AddrIterator *aIterator, otIp6Address *aIp6Address)
חוזרים על התהליך דרך כתובות IPv6 שזוהו בנתב או במכשיר צאצא של MTD.
otMeshDiagQueryChildTable(otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryChildTableCallback aCallback, void *aContext)
מתחילה שאילתה לטבלת צאצא עבור נתב נתון.
otMeshDiagQueryChildrenIp6Addrs(otInstance *aInstance, uint16_t aRloc16, otMeshDiagChildIp6AddrsCallback aCallback, void *aContext)
שולחת שאילתה להורה כדי לאחזר את כתובות ה-IPv6 של כל הצאצאים שלה.
otMeshDiagQueryRouterNeighborTable(otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryRouterNeighborTableCallback aCallback, void *aContext)
מתחילה שאילתה לטבלת השכן עבור הנתב הנתון.

מבנים

otMeshDiagChildEntry

השדה הזה מייצג מידע על רשומת צאצא של otMeshDiagQueryChildTable().

otMeshDiagChildInfo

מייצגת מידע על ילדים שזוהו ברשת השרשורים באמצעות otMeshDiagDiscoverTopology().

otMeshDiagDiscoverConfig

מייצג את קבוצת ההגדרות שהיו בשימוש בזמן גילוי הטופולוגיה של הרשת, המציינת אילו פריטים יש לגלות.

otMeshDiagRouterInfo

מייצג מידע על נתב ברשת Thread שהתגלה באמצעות otMeshDiagDiscoverTopology().

otMeshDiagRouterNeighborEntry

מייצג מידע על רשומה של שכן בנתב מ-otMeshDiagQueryRouterNeighborTable().

סוג שגיאות

otMeshDiagChildEntry

struct otMeshDiagChildEntry otMeshDiagChildEntry

השדה הזה מייצג מידע על רשומת צאצא של otMeshDiagQueryChildTable().

mSupportsErrRate מציין אם תכונת המעקב אחר שגיאות נתמכת או ערכי mFrameErrorRate ו-mMessageErrorRate חוקיים. שיעור השגיאות של המסגרת עוקב אחר שגיאות tx של פריימים (לגבי הילד) בשכבת MAC, ואילו mMessageErrorRate עוקב אחר שיעור השגיאות של הודעות IPv6 (מעל שכבת MAC ואחרי ניסיונות חוזרים של MAC) כשהודעת IPv6 מושמטת. לדוגמה, אם ההודעה גדולה ודורשת פיצול של 6LoWPAN, tx של הודעה ייחשב לכישלון אם אחד מ-tx framework של ה-כשל נכשל (לדוגמה, לעולם לא ארוז).

otMeshDiagChildInfo

struct otMeshDiagChildInfo otMeshDiagChildInfo

מייצגת מידע על ילדים שזוהו ברשת השרשורים באמצעות otMeshDiagDiscoverTopology().

otMeshDiagChildIp6AddrsCallback

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

השדה הזה מייצג את הקריאה החוזרת (callback) שנעשה בה שימוש על ידי otMeshDiagQueryChildrenIp6Addrs() כדי לספק מידע על ילדים מה-MTD ועל רשימת כתובות IPv6 שלו.

כשהערך של aError הוא OT_ERROR_PENDING, המשמעות היא שיש יותר ילדים והקריאה החוזרת תופעל שוב.

פרטים
פרמטרים
[in] aError
OT_ERROR_PENDING מציין שיש ילדים נוספים בטבלה. OT_ERROR_NONE מציין שהטבלה הסתיימה. OT_ERROR_ANSWER_FILENAME הסתיים הזמן הקצוב לתגובה.
[in] aChildRloc16
RLOC16 של הילד או הילדה. 0xfffe נמצא בשימוש בתאריך OT_ERROR_RESPONSE_TIMEOUT.
[in] aIp6AddrIterator
איטרציה למעבר של כתובות IPv6 של הילד או הילדה עם aRloc באמצעות otMeshDiagGetNextIp6Address(). מוגדרת כ-NULL ב-OT_ERROR_RESPONSE_TIMEOUT.
[in] aContext
הקשר ספציפי לאפליקציה.

otMeshDiagChildIterator

struct otMeshDiagChildIterator otMeshDiagChildIterator

איטרציה אטומה שמטרתה לשפר את רשימת הילדים של הנתב.

מצביעים למופע מהסוג הזה מסופקים ב-otMeshDiagRouterInfo.

otMeshDiagDiscoverCallback

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

סוג המצביע מייצג את הקריאה החוזרת (callback) שמשמשת את otMeshDiagDiscoverTopology() כדי לספק מידע על נתב שהתגלה.

כשהערך של aError הוא OT_ERROR_PENDING, פירוש הדבר שהגילוי עדיין לא הסתיים ויהיו יותר נתבים שיזוהו, והקריאה החוזרת תופעל שוב.

פרטים
פרמטרים
[in] aError
OT_ERROR_PENDING מציין שיש נתבים נוספים שיגלו. OT_ERROR_NONE מציין שזוהי הנתב האחרון וגילוי הרשת הסתיים. OT_ERROR_ANSWER_CHECK הזמן הקצוב לתפוגה בהמתנה לתגובה של נתב אחד או יותר.
[in] aRouterInfo
המידע על הנתב שהתגלה (עשוי להיות null אם aError הוא OT_ERROR_ANSWER_CHECK).
[in] aContext
הקשר ספציפי לאפליקציה.

otMeshDiagDiscoverConfig

struct otMeshDiagDiscoverConfig otMeshDiagDiscoverConfig

מייצג את קבוצת ההגדרות שהיו בשימוש בזמן גילוי הטופולוגיה של הרשת, המציינת אילו פריטים יש לגלות.

otMeshDiagIp6AddrIterator

struct otMeshDiagIp6AddrIterator otMeshDiagIp6AddrIterator

איטרטור אטום לחזרה על רשימת כתובות IPv6 של נתב.

מצביעים למופע מהסוג הזה מסופקים ב-otMeshDiagRouterInfo.

otMeshDiagQueryChildTableCallback

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

מייצג את הקריאה החוזרת (callback) שבה משתמש otMeshDiagQueryChildTable() כדי לספק מידע על רשומות בטבלת צאצא.

כשהערך של aError הוא OT_ERROR_PENDING, פירוש הדבר שבטבלה יש עדיין ערכים נוספים, והקריאה החוזרת תופעל שוב.

פרטים
פרמטרים
[in] aError
OT_ERROR_PENDING מציין שיש רשומות נוספות בטבלה. OT_ERROR_NONE מציין שהטבלה הסתיימה. OT_ERROR_ANSWER_FILENAME הסתיים הזמן הקצוב לתגובה.
[in] aChildEntry
הערך של הצאצא (עשוי להיות null אם aError הוא OT_ERROR_ANSWER_CHECK או OT_ERROR_NONE).
[in] aContext
הקשר ספציפי לאפליקציה.

otMeshDiagQueryRouterNeighborTableCallback

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

מייצג את הקריאה החוזרת (callback) שבה משתמש otMeshDiagQueryRouterNeighborTable() כדי לספק מידע לגבי רשומות בטבלה של הנתב השכן.

כשהערך של aError הוא OT_ERROR_PENDING, פירוש הדבר שבטבלה יש עדיין ערכים נוספים, והקריאה החוזרת תופעל שוב.

פרטים
פרמטרים
[in] aError
OT_ERROR_PENDING מציין שיש רשומות נוספות בטבלה. OT_ERROR_NONE מציין שהטבלה הסתיימה. OT_ERROR_ANSWER_FILENAME הסתיים הזמן הקצוב לתגובה.
[in] aNeighborEntry
הרשומה של השכן (עשויה להיות null אם aError הוא ANSWER_CHECK או NONE).
[in] aContext
הקשר ספציפי לאפליקציה.

otMeshDiagRouterInfo

struct otMeshDiagRouterInfo otMeshDiagRouterInfo

מייצג מידע על נתב ברשת Thread שהתגלה באמצעות otMeshDiagDiscoverTopology().

otMeshDiagRouterNeighborEntry

struct otMeshDiagRouterNeighborEntry otMeshDiagRouterNeighborEntry

מייצג מידע על רשומה של שכן בנתב מ-otMeshDiagQueryRouterNeighborTable().

mSupportsErrRate מציין אם תכונת המעקב אחר שגיאות נתמכת או ערכי mFrameErrorRate ו-mMessageErrorRate חוקיים. שיעור השגיאות של המסגרת עוקב אחר שגיאות tx של פריימים (לגבי הילד) בשכבת MAC, ואילו mMessageErrorRate עוקב אחר שיעור השגיאות של הודעות IPv6 (מעל שכבת MAC ואחרי ניסיונות חוזרים של MAC) כשהודעת IPv6 מושמטת. לדוגמה, אם ההודעה גדולה ודורשת פיצול של 6LoWPAN, tx של הודעה ייחשב לכישלון אם אחד מ-tx framework של ה-כשל נכשל (לדוגמה, לעולם לא ארוז).

פונקציות

otMeshDiagCancel

void otMeshDiagCancel(
  otInstance *aInstance
)

ביטול גילוי טופולוגי מתמשך אם יש כזה, אחרת לא תבוצע כל פעולה.

כשהגילוי המתמשך יבוטל, לא תהיה יותר אפשרות לקרוא ל-callback של otMeshDiagDiscoverTopology().

otMeshDiagDiscoverטופולוגיה

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

מתחיל חיפוש של הטופולוגיה של הרשת.

פרטים
פרמטרים
[in] aInstance
מופע ה-OpenThread.
[in] aConfig
ההגדרה שתשמש לגילוי (למשל, אילו פריטים לגלות).
[in] aCallback
הקריאה החוזרת לדיווח על הנתבים שזוהו.
[in] aContext
הקשר שצריך להעביר בaCallback.
ערכי החזרה
OT_ERROR_NONE
הגילוי של הטופולוגיה של הרשת התחיל בהצלחה.
OT_ERROR_BUSY
בקשת הגילוי הקודמת עדיין לא הסתיימה.
OT_ERROR_INVALID_STATE
המכשיר לא מחובר.
OT_ERROR_NO_BUFS
לא ניתן להקצות מאגר נתונים זמני לשליחת הודעות Discovery.

otMeshDiagGetNextChildInfo

otError otMeshDiagGetNextChildInfo(
  otMeshDiagChildIterator *aIterator,
  otMeshDiagChildInfo *aChildInfo
)

חוזרים על התהליך הזה עם הצאצאים של הנתב.

חובה להשתמש בפונקציה הזו מהקריאה החוזרת (callback) של otMeshDiagDiscoverCallback(), ולהשתמש ב-mChildIterator, מהמבנה aRouterInfo המסופק כקלט לקריאה החוזרת (callback).

פרטים
פרמטרים
[in,out] aIterator
איטרציה של הכתובת לשימוש.
[out] aChildInfo
הנחיה להחזיר את פרטי הילד (אם יש).
ערכי החזרה
OT_ERROR_NONE
הילד הבא אוחזר בהצלחה. aChildInfo וגם aIterator מעודכנים.
OT_ERROR_NOT_FOUND
אין יותר ילד או ילדה. הגעת לסוף הרשימה.

otMeshDiagGetNextIp6Address

otError otMeshDiagGetNextIp6Address(
  otMeshDiagIp6AddrIterator *aIterator,
  otIp6Address *aIp6Address
)

חוזרים על התהליך דרך כתובות IPv6 שזוהו בנתב או במכשיר צאצא של MTD.

חובה להשתמש באפליקציה

פרטים
פרמטרים
[in,out] aIterator
איטרציה של הכתובת לשימוש.
[out] aIp6Address
מצביע כדי להחזיר את כתובת ה-IPv6 הבאה (אם יש).
ערכי החזרה
OT_ERROR_NONE
הכתובת הבאה אוחזרה בהצלחה. aIp6Address וגם aIterator מעודכנים.
OT_ERROR_NOT_FOUND
אין עוד כתובת. הגעת לסוף הרשימה.

otMeshDiagQueryChildTable

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

מתחילה שאילתה לטבלת צאצא עבור נתב נתון.

פרטים
פרמטרים
[in] aInstance
מופע ה-OpenThread.
[in] aRloc16
ה-RLOC16 של הנתב ליצירת שאילתה.
[in] aCallback
הקריאה החוזרת לדיווח על טבלת הצאצא בשאילתות.
[in] aContext
הקשר שצריך להעביר בaCallback.
ערכי החזרה
OT_ERROR_NONE
השאילתה התחילה בהצלחה.
OT_ERROR_BUSY
בקשת גילוי או שאילתת שאילתה קודמת עדיין מתבצעת.
OT_ERROR_INVALID_ARGS
הaRloc16 אינו נתב RLOC16 תקין.
OT_ERROR_INVALID_STATE
המכשיר לא מחובר.
OT_ERROR_NO_BUFS
לא ניתן להקצות את המאגר כדי לשלוח הודעות שאילתה.

otMeshDiagQueryChildIp6Addrs

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

שולחת שאילתה להורה כדי לאחזר את כתובות ה-IPv6 של כל הצאצאים שלה.

פרטים
פרמטרים
[in] aInstance
מופע ה-OpenThread.
[in] aRloc16
ה-RLOC16 של ההורה ליצירת שאילתה.
[in] aCallback
הקריאה החוזרת לדיווח של רשימת כתובות ה-IPv6 של הצאצא.
[in] aContext
הקשר שצריך להעביר בaCallback.
ערכי החזרה
OT_ERROR_NONE
השאילתה התחילה בהצלחה.
OT_ERROR_BUSY
בקשת גילוי או שאילתת שאילתה קודמת עדיין מתבצעת.
OT_ERROR_INVALID_ARGS
הערך aRloc16 אינו RLOC1 תקין.
OT_ERROR_INVALID_STATE
המכשיר לא מחובר.
OT_ERROR_NO_BUFS
לא ניתן להקצות את המאגר כדי לשלוח הודעות שאילתה.

otMeshDiagQueryRouterNeighborTable

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

מתחילה שאילתה לטבלת השכן עבור הנתב הנתון.

פרטים
פרמטרים
[in] aInstance
מופע ה-OpenThread.
[in] aRloc16
ה-RLOC16 של הנתב ליצירת שאילתה.
[in] aCallback
הקריאה החוזרת לדיווח על טבלת השאילתות.
[in] aContext
הקשר שצריך להעביר בaCallback.
ערכי החזרה
OT_ERROR_NONE
השאילתה התחילה בהצלחה.
OT_ERROR_BUSY
בקשת גילוי או שאילתת שאילתה קודמת עדיין מתבצעת.
OT_ERROR_INVALID_ARGS
הaRloc16 אינו נתב RLOC16 תקין.
OT_ERROR_INVALID_STATE
המכשיר לא מחובר.
OT_ERROR_NO_BUFS
לא ניתן להקצות את המאגר כדי לשלוח הודעות שאילתה.

פקודות מאקרו

OT_MESH_DIAG_VERSION_UNKNOWN

 OT_MESH_DIAG_VERSION_UNKNOWN 0xffff

המדיניות הזו קובעת שגרסת השרשור לא ידועה.

הוא משמש ב-otMeshDiagRouterInfo לנכס mVersion כאשר המכשיר לא מספק את הגרסה שלו. פירוש הדבר הוא שהמכשיר כנראה פועל עם גרסה 1.3.0 (גרסה 4) או מוקדמת יותר.

משאבים

הנושאים של קובצי העזר של OpenThread API מגיעים מקוד המקור, והם זמינים ב-GitHub. למידע נוסף או כדי לתרום למסמכי התיעוד שלנו, יש לעיין בקטע משאבים.