Bộ định tuyến biên

Mô-đun này bao gồm các hàm để quản lý dữ liệu mạng cục bộ bằng Bộ định tuyến đường viền OpenThread.

Tóm tắt

Typedef

otBorderRouterNetDataFullCallback)(void *aContext) typedef
void(*
Lệnh gọi lại con trỏ hàm được gọi khi Dữ liệu mạng (cục bộ hoặc đầu) nhận đầy.

Hàm

otBorderRouterAddOnMeshPrefix(otInstance *aInstance, const otBorderRouterConfig *aConfig)
Thêm cấu hình bộ định tuyến biên vào dữ liệu mạng cục bộ.
otBorderRouterAddRoute(otInstance *aInstance, const otExternalRouteConfig *aConfig)
Thêm cấu hình tuyến bên ngoài vào dữ liệu mạng cục bộ.
otBorderRouterGetNetData(otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
Cung cấp bản sao đầy đủ hoặc ổn định của Dữ liệu mạng luồng cục bộ.
otBorderRouterGetNextOnMeshPrefix(otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
Nhận Tiền tố lưới tiếp theo trong Dữ liệu mạng cục bộ.
otBorderRouterGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
Xem tuyến đường bên ngoài tiếp theo trong Dữ liệu mạng cục bộ.
otBorderRouterRegister(otInstance *aInstance)
Đăng ký ngay dữ liệu mạng cục bộ với Thủ lĩnh.
otBorderRouterRemoveOnMeshPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix)
Xóa cấu hình bộ định tuyến biên khỏi dữ liệu mạng cục bộ.
otBorderRouterRemoveRoute(otInstance *aInstance, const otIp6Prefix *aPrefix)
Xóa cấu hình tuyến đường bên ngoài khỏi dữ liệu mạng cục bộ.
otBorderRouterSetNetDataFullCallback(otInstance *aInstance, otBorderRouterNetDataFullCallback aCallback, void *aContext)
void
Đặt lệnh gọi lại để cho biết thời điểm Dữ liệu mạng nhận được đầy dữ liệu.

Typedef

otBorderRouterNetDataFullCallback

void(* otBorderRouterNetDataFullCallback)(void *aContext)

Lệnh gọi lại con trỏ hàm được gọi khi Dữ liệu mạng (cục bộ hoặc đầu) nhận đầy.

Thông tin chi tiết
Các tham số
[in] aContext
Con trỏ tới thông tin ngữ cảnh tùy ý.

Hàm

otBorderRouterAddOnMeshTiền tố

otError otBorderRouterAddOnMeshPrefix(
  otInstance *aInstance,
  const otBorderRouterConfig *aConfig
)

Thêm cấu hình bộ định tuyến biên vào dữ liệu mạng cục bộ.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aConfig
Con trỏ tới cấu hình bộ định tuyến biên.
Giá trị trả về
OT_ERROR_NONE
Đã thêm thành công cấu hình vào dữ liệu mạng cục bộ.
OT_ERROR_INVALID_ARGS
Một hoặc nhiều thông số cấu hình không hợp lệ.
OT_ERROR_NO_BUFS
Không đủ dung lượng để thêm cấu hình vào dữ liệu mạng cục bộ.
Xem thêm:
otBorderRouterRemoveOnMeshprefix
otBorderRouterregister

otBorderRouterAddRoute

otError otBorderRouterAddRoute(
  otInstance *aInstance,
  const otExternalRouteConfig *aConfig
)

Thêm cấu hình tuyến bên ngoài vào dữ liệu mạng cục bộ.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aConfig
Con trỏ tới cấu hình tuyến bên ngoài.
Giá trị trả về
OT_ERROR_NONE
Đã thêm thành công cấu hình vào dữ liệu mạng cục bộ.
OT_ERROR_INVALID_ARGS
Một hoặc nhiều thông số cấu hình không hợp lệ.
OT_ERROR_NO_BUFS
Không đủ dung lượng để thêm cấu hình vào dữ liệu mạng cục bộ.
Xem thêm:
otBorderRouterRemoveRoute
otBorderRouterregister

otBorderRouterGetNetData

otError otBorderRouterGetNetData(
  otInstance *aInstance,
  bool aStable,
  uint8_t *aData,
  uint8_t *aDataLength
)

Cung cấp bản sao đầy đủ hoặc ổn định của Dữ liệu mạng luồng cục bộ.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aStable
TRUE khi sao chép phiên bản ổn định, FALSE khi sao chép phiên bản đầy đủ.
[out] aData
Con trỏ tới vùng đệm dữ liệu.
[in,out] aDataLength
Khi nhập, kích thước của vùng đệm dữ liệu do aData trỏ đến. Khi thoát, số byte được sao chép.

otBorderRouterGetNextOnMeshprefix

otError otBorderRouterGetNextOnMeshPrefix(
  otInstance *aInstance,
  otNetworkDataIterator *aIterator,
  otBorderRouterConfig *aConfig
)

Nhận Tiền tố lưới tiếp theo trong Dữ liệu mạng cục bộ.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in,out] aIterator
Con trỏ tới ngữ cảnh lặp của Dữ liệu mạng. Để nhận được mục đầu tiên trên lưới cho mạng lưới, bạn phải đặt giá trị này thành OT_NETWORK_DATA_ITERATOR_INIT.
[out] aConfig
Con trỏ tới thông tin Tiền tố trên lưới.
Giá trị trả về
OT_ERROR_NONE
Đã tìm thấy tiền tố On Mesh tiếp theo thành công.
OT_ERROR_NOT_FOUND
Không có tiền tố On Mesh nào tiếp theo tồn tại trong Thread Network Data (Dữ liệu mạng chuỗi).

otBorderRouterGetNextRoute

otError otBorderRouterGetNextRoute(
  otInstance *aInstance,
  otNetworkDataIterator *aIterator,
  otExternalRouteConfig *aConfig
)

Xem tuyến đường bên ngoài tiếp theo trong Dữ liệu mạng cục bộ.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in,out] aIterator
Con trỏ tới ngữ cảnh lặp của Dữ liệu mạng. Để có mục nhập tuyến đường bên ngoài đầu tiên, bạn nên đặt mục này thành OT_NETWORK_DATA_ITERATOR_INIT.
[out] aConfig
Con trỏ tới thông tin Tuyến đường bên ngoài.
Giá trị trả về
OT_ERROR_NONE
Đã tìm thấy thành công tuyến bên ngoài tiếp theo.
OT_ERROR_NOT_FOUND
Không có mục nhập tuyến bên ngoài tiếp theo nào tồn tại trong Dữ liệu mạng luồng.

otBorderRouterĐăng ký

otError otBorderRouterRegister(
  otInstance *aInstance
)

Đăng ký ngay dữ liệu mạng cục bộ với Thủ lĩnh.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
Giá trị trả về
OT_ERROR_NONE
Đã gửi thành công một thông báo Yêu cầu dữ liệu máy chủ để gửi đi.
Xem thêm:
otBorderRouterAddOnMeshPrefix
otBorderRouterRemoveOnMeshPrefix
otBorderRouterAddRoute
otBorderRouterRemoveRoute

otBorderRouterRemoveOnMeshprefix

otError otBorderRouterRemoveOnMeshPrefix(
  otInstance *aInstance,
  const otIp6Prefix *aPrefix
)

Xóa cấu hình bộ định tuyến biên khỏi dữ liệu mạng cục bộ.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aPrefix
Con trỏ trỏ tới tiền tố IPv6.
Giá trị trả về
OT_ERROR_NONE
Đã xóa thành công cấu hình khỏi dữ liệu mạng cục bộ.
OT_ERROR_NOT_FOUND
Không tìm thấy mục nhập Bộ định tuyến biên.
Xem thêm:
otBorderRouterAddOnMeshPrefix
otBorderRouterregister

otBorderRouterRemoveRoute

otError otBorderRouterRemoveRoute(
  otInstance *aInstance,
  const otIp6Prefix *aPrefix
)

Xóa cấu hình tuyến đường bên ngoài khỏi dữ liệu mạng cục bộ.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aPrefix
Con trỏ trỏ tới tiền tố IPv6.
Giá trị trả về
OT_ERROR_NONE
Đã xóa thành công cấu hình khỏi dữ liệu mạng cục bộ.
OT_ERROR_NOT_FOUND
Không tìm thấy mục nhập Bộ định tuyến biên.
Xem thêm:
otBorderRouterAddRoute
otBorderRouterregister

otBorderRouterSetNetDataFullCallback

void otBorderRouterSetNetDataFullCallback(
  otInstance *aInstance,
  otBorderRouterNetDataFullCallback aCallback,
  void *aContext
)

Đặt lệnh gọi lại để cho biết thời điểm Dữ liệu mạng nhận được đầy dữ liệu.

Yêu cầu OPENTHREAD_CONFIG_BORDER_ROUTER_SIGNAL_NETWORK_DATA_FULL.

Lệnh gọi lại được gọi bất cứ khi nào:

  • Thiết bị đóng vai trò là thiết bị hàng đầu và nhận được gói đăng ký Dữ liệu mạng từ Bộ định tuyến biên (BR) mà thiết bị không thể thêm vào Dữ liệu mạng (hết dung lượng).
  • Thiết bị đang hoạt động như một BR và không thể thêm mục nhập mới vào Dữ liệu mạng cục bộ của thiết bị.
  • Thiết bị đóng vai trò là BR và cố gắng đăng ký các mục nhập Dữ liệu mạng cục bộ với thiết bị hàng đầu, nhưng xác định rằng các mục nhập cục bộ của thiết bị sẽ không phù hợp.

Thông tin chi tiết
Các tham số
[in] aInstance
Con trỏ trỏ đến một thực thể OpenThread.
[in] aCallback
Lệnh gọi lại.
[in] aContext
Con trỏ tới thông tin ngữ cảnh tuỳ ý được sử dụng với aCallback.

Tài nguyên

Các chủ đề Tham chiếu API OpenThread bắt nguồn từ mã nguồn, có sẵn trên GitHub. Để biết thêm thông tin hoặc đóng góp cho tài liệu của chúng tôi, hãy tham khảo phần Tài nguyên.