אבחון רשת

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

סיכום

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

ערכי דף

otMeshDiagChildEntry typedef
מייצג מידע על רשומת צאצא מ-otMeshDiagQueryChildTable().
otMeshDiagChildInfo typedef
מייצג מידע על צאצא שהתגלה ב-Thread mesh באמצעות 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 של כל צאצאי ה-MTD שלו.
otMeshDiagQueryRouterNeighborTable(otInstance *aInstance, uint16_t aRloc16, otMeshDiagQueryRouterNeighborTableCallback aCallback, void *aContext)
הפעלת שאילתה על טבלת סמוך של הנתב עבור נתב נתון.

מבנים

otMeshDiagChildEntry

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

otMeshDiagChildInfo

מייצג מידע על צאצא שהתגלה ב-Thread mesh באמצעות 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 של מסגרת המקטע שלה נכשלת (לדוגמה, אף פעם לא הופעלה).

otMeshDiagChildInfo

struct otMeshDiagChildInfo otMeshDiagChildInfo

מייצג מידע על צאצא שהתגלה ב-Thread mesh באמצעות 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_BROWSER_OFFSET תם הזמן הקצוב לתפוגה.
[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_"}, תם הזמן הקצוב לתפוגה של המתנה למענה על נתב אחד או יותר.
[in] aRouterInfo
פרטי הנתב שזוהו (הערך יכול להיות null אם הערך של aError הוא OT_ERROR_"},
[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_BROWSER_OFFSET תם הזמן הקצוב לתפוגה.
[in] aChildEntry
ערך הצאצא (הוא יכול להיות null אם הערך של aError הוא OT_ERROR_BROWSER_OFFSET או 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_BROWSER_OFFSET תם הזמן הקצוב לתפוגה.
[in] aNeighborEntry
הערך השכן (יכול להיות null אם aError הוא BROWSER_OFFSET או 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 של מסגרת המקטע שלה נכשלת (לדוגמה, אף פעם לא הופעלה).

פונקציות

otMeshDiagCancel

void otMeshDiagCancel(
  otInstance *aInstance
)

ביטול גילוי הטופולוגיה הקיים אם קיים, אחרת לא נדרשת פעולה.

כשהגילוי המתמשך מבוטל, לא תתבצע יותר התקשרות חזרה מ-otMeshDiagDiscoverTopology().

otMeshDiagDiscoverTopology

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
)

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

חובה להשתמש בפונקציה הזו מהקריאה החוזרת 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
לא ניתן להקצות מאגר נתונים זמני לשליחת הודעות שאילתה.

otMeshDiagQueryChildrenIp6Addrs

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

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

פרטים
פרמטרים
[in] aInstance
במכונה של OpenThread.
[in] aRloc16
ה-RLOC16 של ההורה שיש להריץ עליו שאילתה.
[in] aCallback
הקריאה החוזרת לדיווח על רשימת כתובות ה-IPv6 של הצאצא מסוג צאצא שנשאלו.
[in] aContext
הקשר שצריך לעבור בaCallback.
ערכים מוחזרים
OT_ERROR_NONE
השאילתה התחילה בהצלחה.
OT_ERROR_BUSY
בקשה קודמת לגילוי או לשאילתה עדיין מתבצעת.
OT_ERROR_INVALID_ARGS
ה-aRloc16 אינו RLOC16 חוקי.
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

ההגדרה קובעת שגרסת ה-Thread לא ידועה.

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

מקורות מידע

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