Trình quản lý định tuyến biên giới

Học phần này bao gồm các định nghĩa liên quan đến Trình quản lý định tuyến biên giới.

Tóm tắt

Tất cả hàm trong mô-đun này đều yêu cầu bật OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE.

Trình quản lý định tuyến đường biên xử lý việc định tuyến hai chiều giữa mạng luồng và đường liên kết cơ sở hạ tầng liền kề (AIL).

Phát đi thông báo Quảng cáo bộ định tuyến (RA) ICMRv6 ND trên AIL để quảng cáo tiền tố trên liên kết và tiền tố định tuyến. Máy chủ này cũng xử lý thông báo RA nhận được từ cơ sở hạ tầng và phản ánh các tiền tố đã phát hiện trên Dữ liệu mạng luồng để đảm bảo các thiết bị trên lưới Thread có thể truy cập AIL thông qua Bộ định tuyến biên.

Trình quản lý định tuyến quản lý tiền tố Off-Mesh Routable (OMR) trên dữ liệu Mạng luồng giúp định cấu hình các thiết bị Thread có địa chỉ IPv6 có thể định tuyến tắt phù hợp. Nó thông báo khả năng kết nối của tiền tố này trên AIL bằng cách đưa tiền tố này vào thông báo RA được phát ra dưới dạng Tùy chọn thông tin tuyến đường IPv6 (RIO).

Trình quản lý định tuyến cũng giám sát và thêm tiền tố on-link trên mạng cơ sở hạ tầng. Nếu một bộ định tuyến trên AIL đã cung cấp thông báo RA chứa Tùy chọn thông tin tiền tố IPv6 (PIO) cho phép các thiết bị IPv6 trên liên kết tự định cấu hình địa chỉ IPv6 unicast có thể định tuyến của riêng chúng, địa chỉ này có thể được các thiết bị Thread sử dụng để truy cập AIL. Nếu Bộ định tuyến biên giới không tìm thấy thông báo RA nào như vậy trên AIL, thì bộ định tuyến đó sẽ tạo một tiền tố liên kết ULA mà sau đó sẽ quảng cáo trên AIL trong các thông báo RA được phát ra.

Bảng liệt kê

otBorderRoutingDhcp6PdState{
  OT_BORDER_ROUTING_DHCP6_PD_STATE_DISABLED,
  OT_BORDER_ROUTING_DHCP6_PD_STATE_STOPPED,
  OT_BORDER_ROUTING_DHCP6_PD_STATE_RUNNING
}
enum
Bảng liệt kê này thể hiện trạng thái của Trạng thái uỷ quyền tiền tố DHCPv6.
otBorderRoutingState{
  OT_BORDER_ROUTING_STATE_UNINITIALIZED,
  OT_BORDER_ROUTING_STATE_DISABLED,
  OT_BORDER_ROUTING_STATE_STOPPED,
  OT_BORDER_ROUTING_STATE_RUNNING
}
enum
Biểu thị trạng thái của Trình quản lý định tuyến biên giới.

Typedef

otBorderRoutingPrefixTableEntry typedef
Đại diện cho một mục trong bảng tiền tố đã phát hiện.
otBorderRoutingPrefixTableIterator typedef
Đại diện cho một trình lặp để lặp lại thông qua bảng tiền tố đã phát hiện của Bộ định tuyến đường viền.
otBorderRoutingRouterEntry typedef
Biểu thị một bộ định tuyến đã phát hiện trên đường liên kết cơ sở hạ tầng.
otPdProcessedRaInfo typedef
Đại diện cho một nhóm dữ liệu của thông báo RA do nền tảng tạo đã xử lý.

Hàm

otBorderRoutingClearRouteInfoOptionPreference(otInstance *aInstance)
void
Xoá giá trị tuỳ chọn đã đặt trước đó cho Tùy chọn thông tin tuyến đường được quảng cáo.
otBorderRoutingClearRoutePreference(otInstance *aInstance)
void
Xoá giá trị tuỳ chọn đã đặt trước đó cho các tuyến đã xuất bản trong Dữ liệu mạng.
otBorderRoutingDhcp6PdGetState(otInstance *aInstance)
Lấy trạng thái hiện tại của việc Ủy quyền tiền tố DHCPv6.
otBorderRoutingDhcp6PdSetEnabled(otInstance *aInstance, bool aEnabled)
void
Bật / tắt tính năng uỷ quyền tiền tố DHCPv6.
otBorderRoutingGetFavoredNat64Prefix(otInstance *aInstance, otIp6Prefix *aPrefix, otRoutePreference *aPreference)
Lấy tiền tố NAT64 hiện được ưa chuộng.
otBorderRoutingGetFavoredOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix, otRoutePreference *aPreference)
Tải Tiền tố có thể định tuyến tắt lưới (OMR) hiện được ưa thích.
otBorderRoutingGetFavoredOnLinkPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Lấy Tiền tố On-Link hiện được ưa thích.
otBorderRoutingGetNat64Prefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Lấy tiền tố NAT64 cục bộ của Bộ định tuyến đường biên.
otBorderRoutingGetNextPrefixTableEntry(otInstance *aInstance, otBorderRoutingPrefixTableIterator *aIterator, otBorderRoutingPrefixTableEntry *aEntry)
Lặp lại các mục nhập trong bảng tiền tố đã phát hiện của Bộ định tuyến biên giới (Border Router).
otBorderRoutingGetNextRouterEntry(otInstance *aInstance, otBorderRoutingPrefixTableIterator *aIterator, otBorderRoutingRouterEntry *aEntry)
Lặp lại các mục nhập bộ định tuyến đã phát hiện trên đường liên kết cơ sở hạ tầng.
otBorderRoutingGetOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Lấy Tiền tố có thể định tuyến tắt lưới (OMR) cục bộ, ví dụ: fdfc:1ff5:1512:5622::/64.
otBorderRoutingGetOnLinkPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Lấy Tiền tố On-Link cục bộ cho liên kết cơ sở hạ tầng liền kề.
otBorderRoutingGetPdOmrPrefix(otInstance *aInstance, otBorderRoutingPrefixTableEntry *aPrefixInfo)
Nhận tiền tố Uỷ quyền tiền tố DHCPv6 (PD) được cung cấp tiền tố có thể định tuyến ngoài lưới (OMR).
otBorderRoutingGetPdProcessedRaInfo(otInstance *aInstance, otPdProcessedRaInfo *aPdProcessedRaInfo)
Lấy dữ liệu của thông báo RA được tạo trên nền tảng đã được xử lý.
otBorderRoutingGetRouteInfoOptionPreference(otInstance *aInstance)
Lấy tùy chọn hiện tại được sử dụng khi quảng cáo Tùy chọn thông tin tuyến đường (RIO) trong thông báo Quảng cáo bộ định tuyến được gửi qua liên kết cơ sở hạ tầng.
otBorderRoutingGetRoutePreference(otInstance *aInstance)
Lấy lựa chọn ưu tiên hiện tại dùng cho các tuyến đã công bố trong mục Dữ liệu mạng.
otBorderRoutingGetState(otInstance *aInstance)
Xem trạng thái hiện tại của Trình quản lý định tuyến biên giới.
otBorderRoutingInit(otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning)
Khởi chạy Trình quản lý định tuyến biên giới trên giao diện cơ sở hạ tầng đã cho.
otBorderRoutingPrefixTableInitIterator(otInstance *aInstance, otBorderRoutingPrefixTableIterator *aIterator)
void
Khởi động một otBorderRoutingPrefixTableIterator.
otBorderRoutingSetEnabled(otInstance *aInstance, bool aEnabled)
Bật hoặc tắt Trình quản lý định tuyến biên giới.
otBorderRoutingSetRouteInfoOptionPreference(otInstance *aInstance, otRoutePreference aPreference)
void
Đặt rõ ràng tùy chọn sử dụng khi quảng cáo Tùy chọn thông tin tuyến đường (RIO) trong thông báo Quảng cáo bộ định tuyến được gửi qua liên kết cơ sở hạ tầng.
otBorderRoutingSetRoutePreference(otInstance *aInstance, otRoutePreference aPreference)
void
Đặt rõ ràng lựa chọn ưu tiên cho các tuyến đã xuất bản trong mục Dữ liệu mạng.

Cấu trúc

otBorderRoutingPrefixTableEntry

Đại diện cho một mục trong bảng tiền tố đã phát hiện.

otBorderRoutingPrefixTableIterator

Đại diện cho một trình lặp để lặp lại thông qua bảng tiền tố đã phát hiện của Bộ định tuyến đường viền.

otBorderRoutingRouterEntry

Biểu thị một bộ định tuyến đã phát hiện trên đường liên kết cơ sở hạ tầng.

otPdProcessedRaInfo

Đại diện cho một nhóm dữ liệu của thông báo RA do nền tảng tạo đã xử lý.

Bảng liệt kê

otBorderRoutingDhcp6PdState

 otBorderRoutingDhcp6PdState

Bảng liệt kê này thể hiện trạng thái của Trạng thái uỷ quyền tiền tố DHCPv6.

Thuộc tính
OT_BORDER_ROUTING_DHCP6_PD_STATE_DISABLED

DHCPv6 PD bị tắt trên bộ định tuyến biên.

OT_BORDER_ROUTING_DHCP6_PD_STATE_RUNNING

DHCPv6 PD đã được bật và sẽ cố gắng yêu cầu và xuất bản tiền tố.

OT_BORDER_ROUTING_DHCP6_PD_STATE_STOPPED

Đã bật PD DHCPv6 nhưng sẽ không cố yêu cầu và xuất bản tiền tố.

otBorderRoutingState

 otBorderRoutingState

Biểu thị trạng thái của Trình quản lý định tuyến biên giới.

Thuộc tính
OT_BORDER_ROUTING_STATE_DISABLED

Trình quản lý định tuyến đã được khởi chạy nhưng bị tắt.

OT_BORDER_ROUTING_STATE_RUNNING

Trình quản lý định tuyến đã được khởi chạy, bật và đang chạy.

OT_BORDER_ROUTING_STATE_STOPPED

Trình quản lý định tuyến đã được khởi chạy và bật nhưng hiện đã dừng.

OT_BORDER_ROUTING_STATE_UNINITIALIZED

Trình quản lý định tuyến chưa được khởi chạy.

Typedef

otBorderRoutingPrefixTableEntry

struct otBorderRoutingPrefixTableEntry otBorderRoutingPrefixTableEntry

Đại diện cho một mục trong bảng tiền tố đã phát hiện.

Các mục nhập trong bảng đã phát hiện sẽ theo dõi Tuỳ chọn thông tin tiền tố/Tuyến đường trong thông báo Quảng cáo bộ định tuyến đã nhận từ các bộ định tuyến khác trên liên kết cơ sở hạ tầng.

otBorderRoutingPrefixTableIterator

struct otBorderRoutingPrefixTableIterator otBorderRoutingPrefixTableIterator

Đại diện cho một trình lặp để lặp lại thông qua bảng tiền tố đã phát hiện của Bộ định tuyến đường viền.

Các trường trong loại này không rõ ràng (chỉ dành cho lõi OpenThread sử dụng) và do đó, phương thức gọi không được truy cập hoặc sử dụng.

Trước khi sử dụng trình lặp, bạn PHẢI khởi tạo bằng otBorderRoutingPrefixTableInitIterator().

otBorderRoutingRouterEntry

struct otBorderRoutingRouterEntry otBorderRoutingRouterEntry

Biểu thị một bộ định tuyến đã phát hiện trên đường liên kết cơ sở hạ tầng.

otPdProcessedRaInfo

struct otPdProcessedRaInfo otPdProcessedRaInfo

Đại diện cho một nhóm dữ liệu của thông báo RA do nền tảng tạo đã xử lý.

Hàm

otBorderRoutingClearRouteInfoOptionPreference

void otBorderRoutingClearRouteInfoOptionPreference(
  otInstance *aInstance
)

Xoá giá trị tuỳ chọn đã đặt trước đó cho Tùy chọn thông tin tuyến đường được quảng cáo.

Sau khi bạn gọi hàm này, BR sẽ sử dụng vai trò của thiết bị để xác định lựa chọn ưu tiên RIO: Mức độ ưu tiên trung bình khi ở vai trò bộ định tuyến/lãnh đạo và mức độ ưu tiên thấp khi ở vai trò con.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.

otBorderRoutingClearRoutePreference

void otBorderRoutingClearRoutePreference(
  otInstance *aInstance
)

Xoá giá trị tuỳ chọn đã đặt trước đó cho các tuyến đã xuất bản trong Dữ liệu mạng.

Sau khi gọi hàm này, BR sẽ tự động xác định lựa chọn ưu tiên dựa trên vai trò và chất lượng liên kết của thiết bị (đối với thiết bị gốc khi đóng vai trò là thiết bị cuối).

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.

otBorderRoutingDhcp6PdGetState

otBorderRoutingDhcp6PdState otBorderRoutingDhcp6PdGetState(
  otInstance *aInstance
)

Lấy trạng thái hiện tại của việc Ủy quyền tiền tố DHCPv6.

Bạn cần bật OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
Trả về
Trạng thái hiện tại của việc uỷ quyền tiền tố DHCPv6.

otBorderRoutingDhcp6PdSetEnabled

void otBorderRoutingDhcp6PdSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Bật / tắt tính năng uỷ quyền tiền tố DHCPv6.

Bạn phải bật OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aEnabled
Liệu có chấp nhận thông báo RA do nền tảng tạo hay không.

otBorderRoutingGetFavoredNat64Prefix

otError otBorderRoutingGetFavoredNat64Prefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix,
  otRoutePreference *aPreference
)

Lấy tiền tố NAT64 hiện được ưa chuộng.

Tiền tố NAT64 được ưu tiên có thể được phát hiện từ đường liên kết cơ sở hạ tầng hoặc có thể là tiền tố NAT64 cục bộ trên thiết bị này.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[out] aPrefix
Một con trỏ để xuất tiền tố NAT64 ưa thích.
[out] aPreference
Một con trỏ để xuất lựa chọn ưu tiên liên kết với tiền tố ưa thích.
Giá trị trả về
OT_ERROR_INVALID_STATE
Trình quản lý định tuyến biên giới chưa được khởi động.
OT_ERROR_NONE
Đã truy xuất thành công tiền tố NAT64 được ưa thích.

otBorderRoutingGetFavoredOmrPrefix

otError otBorderRoutingGetFavoredOmrPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix,
  otRoutePreference *aPreference
)

Tải Tiền tố có thể định tuyến tắt lưới (OMR) hiện được ưa thích.

Tiền tố OMR được ưu tiên có thể được tìm thấy trong Dữ liệu mạng hoặc có thể là tiền tố OMR cục bộ của thiết bị này.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[out] aPrefix
Con trỏ để xuất tiền tố OMR ưa thích.
[out] aPreference
Một con trỏ để xuất lựa chọn ưu tiên liên kết với tiền tố ưa thích.
Giá trị trả về
OT_ERROR_INVALID_STATE
Trình quản lý định tuyến biên giới chưa chạy.
OT_ERROR_NONE
Đã truy xuất thành công tiền tố OMR được yêu thích.

otBorderRoutingGetFavoredOnLinkPrefix

otError otBorderRoutingGetFavoredOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Lấy Tiền tố On-Link hiện được ưa thích.

Tiền tố được ưu tiên là tiền tố trong đường liên kết được phát hiện trên đường liên kết cơ sở hạ tầng hoặc tiền tố cục bộ trên đường liên kết.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[out] aPrefix
Con trỏ đến nơi tiền tố sẽ được xuất.
Giá trị trả về
OT_ERROR_INVALID_STATE
Trình quản lý định tuyến biên giới chưa được khởi động.
OT_ERROR_NONE
Đã truy xuất thành công tiền tố trên đường liên kết được ưa thích.

otBorderRoutingGetNat64Prefix

otError otBorderRoutingGetNat64Prefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Lấy tiền tố NAT64 cục bộ của Bộ định tuyến đường biên.

Tiền tố NAT64 có thể không được quảng cáo trong mạng Luồng.

Bạn phải bật OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[out] aPrefix
Con trỏ đến nơi tiền tố sẽ được xuất.
Giá trị trả về
OT_ERROR_INVALID_STATE
Trình quản lý định tuyến biên giới chưa được khởi động.
OT_ERROR_NONE
Đã truy xuất thành công tiền tố NAT64.

otBorderRoutingGetNextPrefixTableEntry

otError otBorderRoutingGetNextPrefixTableEntry(
  otInstance *aInstance,
  otBorderRoutingPrefixTableIterator *aIterator,
  otBorderRoutingPrefixTableEntry *aEntry
)

Lặp lại các mục nhập trong bảng tiền tố đã phát hiện của Bộ định tuyến biên giới (Border Router).

Các mục nhập tiền tố liên kết với cùng một bộ định tuyến đã phát hiện trên liên kết cơ sở hạ tầng phải được nhóm lại với nhau (được truy xuất liên tiếp).

Thông tin chi tiết
Thông số
[in] aInstance
Thực thể OpenThread.
[in,out] aIterator
Một con trỏ đến biến lặp.
[out] aEntry
Con trỏ đến mục nhập để điền.
Giá trị trả về
OT_ERROR_NONE
Lặp lại cho mục tiếp theo, aEntryaIterator sẽ được cập nhật.
OT_ERROR_NOT_FOUND
Không còn mục nhập nào trong bảng.

otBorderRoutingGetNextRouterEntry

otError otBorderRoutingGetNextRouterEntry(
  otInstance *aInstance,
  otBorderRoutingPrefixTableIterator *aIterator,
  otBorderRoutingRouterEntry *aEntry
)

Lặp lại các mục nhập bộ định tuyến đã phát hiện trên đường liên kết cơ sở hạ tầng.

Thông tin chi tiết
Thông số
[in] aInstance
Thực thể OpenThread.
[in,out] aIterator
Một con trỏ đến biến lặp.
[out] aEntry
Con trỏ đến mục nhập để điền.
Giá trị trả về
OT_ERROR_NONE
Lặp lại đến bộ định tuyến tiếp theo, cập nhật aEntryaIterator.
OT_ERROR_NOT_FOUND
Không còn mục nhập bộ định tuyến nào nữa.

otBorderRoutingGetOmrPrefix

otError otBorderRoutingGetOmrPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Lấy Tiền tố có thể định tuyến tắt lưới (OMR) cục bộ, ví dụ: fdfc:1ff5:1512:5622::/64.

Tiền tố OMR là tiền tố 64 bit được tạo ngẫu nhiên, được phát hành trên mạng Thread nếu chưa có tiền tố OMR. Bạn có thể truy cập vào tiền tố này từ mạng Wi-Fi hoặc Ethernet cục bộ.

Lưu ý: Khi DHCPv6 PD được bật, bộ định tuyến biên có thể xuất bản tiền tố từ DHCPv6 PD.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[out] aPrefix
Con trỏ đến nơi tiền tố sẽ được xuất.
Giá trị trả về
OT_ERROR_INVALID_STATE
Trình quản lý định tuyến biên giới chưa được khởi động.
OT_ERROR_NONE
Đã truy xuất thành công tiền tố OMR.
Xem thêm:
otBorderRoutingGetPdOmrPrefix

otBorderRoutingGetOnLinkPrefix

otError otBorderRoutingGetOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Lấy Tiền tố On-Link cục bộ cho liên kết cơ sở hạ tầng liền kề.

Tiền tố On-Link cục bộ là tiền tố 64 bit được quảng cáo trên đường liên kết cơ sở hạ tầng nếu chưa có tiền tố on-link nào có thể sử dụng được đang được quảng cáo trên đường liên kết đó.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[out] aPrefix
Con trỏ đến nơi tiền tố sẽ được xuất.
Giá trị trả về
OT_ERROR_INVALID_STATE
Trình quản lý định tuyến biên giới chưa được khởi động.
OT_ERROR_NONE
Đã truy xuất thành công tiền tố cục bộ trên liên kết.

otBorderRoutingGetPdOmrPrefix

otError otBorderRoutingGetPdOmrPrefix(
  otInstance *aInstance,
  otBorderRoutingPrefixTableEntry *aPrefixInfo
)

Nhận tiền tố Uỷ quyền tiền tố DHCPv6 (PD) được cung cấp tiền tố có thể định tuyến ngoài lưới (OMR).

Chỉ sử dụng các trường mPrefix, mValid thấp và mPreferredServices trong thông tin tiền tố được trả về.

Bạn phải bật OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[out] aPrefixInfo
Một con trỏ đến nơi thông tin tiền tố sẽ được xuất ra.
Giá trị trả về
OT_ERROR_NONE
Đã truy xuất thành công tiền tố OMR.
OT_ERROR_INVALID_STATE
Trình quản lý định tuyến biên giới chưa được khởi động.
OT_ERROR_NOT_FOUND
Không có tiền tố PD hợp lệ nào trên BR này.
Xem thêm:
otBorderRoutingGetOmrPrefix
otPlatBorderRoutingProcessIcmp6Ra

otBorderRoutingGetPdProcessedRaInfo

otError otBorderRoutingGetPdProcessedRaInfo(
  otInstance *aInstance,
  otPdProcessedRaInfo *aPdProcessedRaInfo
)

Lấy dữ liệu của thông báo RA được tạo trên nền tảng đã được xử lý.

Bạn phải bật OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[out] aPrefixInfo
Một con trỏ đến nơi thông tin tiền tố sẽ được xuất ra.
Giá trị trả về
OT_ERROR_NONE
Đã truy xuất thông tin thành công.
OT_ERROR_INVALID_STATE
Trình quản lý định tuyến biên giới chưa được khởi động.
OT_ERROR_NOT_FOUND
Không có thông tin hợp lệ về BR này.

otBorderRoutingGetRouteInfoOptionPreference

otRoutePreference otBorderRoutingGetRouteInfoOptionPreference(
  otInstance *aInstance
)

Lấy tùy chọn hiện tại được sử dụng khi quảng cáo Tùy chọn thông tin tuyến đường (RIO) trong thông báo Quảng cáo bộ định tuyến được gửi qua liên kết cơ sở hạ tầng.

Lựa chọn ưu tiên RIO được xác định như sau:

  • Nếu người dùng đặt rõ ràng bằng cách gọi otBorderRoutingSetRouteInfoOptionPreference(), thì lựa chọn ưu tiên nhất định sẽ được sử dụng.
  • Nếu không, cấp này được xác định dựa trên vai trò hiện tại của thiết bị: Mức độ ưu tiên trung bình khi ở vai trò bộ định tuyến/lãnh đạo và mức độ ưu tiên thấp khi ở vai trò con.

Thông tin chi tiết
Trả về
Tùy chọn thông tin tuyến đường hiện tại.

otBorderRoutingGetRoutePreference

otRoutePreference otBorderRoutingGetRoutePreference(
  otInstance *aInstance
)

Lấy lựa chọn ưu tiên hiện tại dùng cho các tuyến đã công bố trong mục Dữ liệu mạng.

Lựa chọn ưu tiên được xác định như sau:

  • Nếu người dùng đặt rõ ràng bằng cách gọi otBorderRoutingSetRoutePreference(), thì lựa chọn ưu tiên nhất định sẽ được sử dụng.
  • Nếu không, giá trị này sẽ do RoutingManager xác định tự động dựa trên vai trò và chất lượng của đường liên kết của thiết bị.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
Trả về
Tùy chọn tuyến đường đã xuất bản hiện tại.

otBorderRoutingGetState

otBorderRoutingState otBorderRoutingGetState(
  otInstance *aInstance
)

Xem trạng thái hiện tại của Trình quản lý định tuyến biên giới.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
Trả về
Tình trạng hiện tại của Trình quản lý định tuyến biên giới.

otBorderRoutingInit

otError otBorderRoutingInit(
  otInstance *aInstance,
  uint32_t aInfraIfIndex,
  bool aInfraIfIsRunning
)

Khởi chạy Trình quản lý định tuyến biên giới trên giao diện cơ sở hạ tầng đã cho.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aInfraIfIndex
Chỉ mục giao diện cơ sở hạ tầng.
[in] aInfraIfIsRunning
Giá trị boolean cho biết giao diện cơ sở hạ tầng có đang chạy hay không.
Giá trị trả về
OT_ERROR_NONE
Đã khởi động thành công Trình quản lý định tuyến biên giới trên cơ sở hạ tầng cụ thể.
OT_ERROR_INVALID_STATE
Trình quản lý định tuyến biên giới đang ở trạng thái không phải đã tắt hoặc chưa khởi chạy.
OT_ERROR_INVALID_ARGS
Chỉ mục của giao diện cơ sở hạ tầng không hợp lệ.
OT_ERROR_FAILED
Lỗi nội bộ. Thường là do không tạo được tiền tố ngẫu nhiên.
Xem thêm:
otPlatInfraIfStateChanged.
otBorderRoutingSetEnabled.

otBorderRoutingPrefixTableInitIterator

void otBorderRoutingPrefixTableInitIterator(
  otInstance *aInstance,
  otBorderRoutingPrefixTableIterator *aIterator
)

Khởi động một otBorderRoutingPrefixTableIterator.

Bạn PHẢI khởi tạo một biến lặp trước khi sử dụng.

Bạn có thể khởi chạy lại một trình lặp lại để khởi động lại từ đầu bảng.

Khi lặp lại qua các mục nhập trong bảng, để đảm bảo thời gian cập nhật mMsecSinceLastUpdate của các mục nhập nhất quán, các giá trị này sẽ được cung cấp tương ứng với thời gian khởi tạo trình lặp.

Thông tin chi tiết
Thông số
[in] aInstance
Thực thể OpenThread.
[out] aIterator
Một con trỏ đến trình lặp để khởi chạy.

otBorderRoutingSetEnabled

otError otBorderRoutingSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Bật hoặc tắt Trình quản lý định tuyến biên giới.

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aEnabled
Một giá trị boolean để bật/tắt trình quản lý định tuyến.
Giá trị trả về
OT_ERROR_INVALID_STATE
Trình quản lý định tuyến biên giới chưa được khởi động.
OT_ERROR_NONE
Bật/tắt thành công Trình quản lý định tuyến biên giới.

otBorderRoutingSetRouteInfoOptionPreference

void otBorderRoutingSetRouteInfoOptionPreference(
  otInstance *aInstance,
  otRoutePreference aPreference
)

Đặt rõ ràng tùy chọn sử dụng khi quảng cáo Tùy chọn thông tin tuyến đường (RIO) trong thông báo Quảng cáo bộ định tuyến được gửi qua liên kết cơ sở hạ tầng.

Sau khi gọi hàm này, BR sẽ sử dụng lựa chọn ưu tiên nhất định cho tất cả RIO được quảng cáo. Bạn có thể xoá lựa chọn ưu tiên này bằng cách gọi otBorderRoutingClearRouteInfoOptionPreference().

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aPreference
Tùy chọn tuyến đường để sử dụng.

otBorderRoutingSetRoutePreference

void otBorderRoutingSetRoutePreference(
  otInstance *aInstance,
  otRoutePreference aPreference
)

Đặt rõ ràng lựa chọn ưu tiên cho các tuyến đã xuất bản trong mục Dữ liệu mạng.

Sau khi gọi hàm này, BR sẽ sử dụng lựa chọn ưu tiên nhất định. Bạn có thể xoá lựa chọn ưu tiên này bằng cách gọi otBorderRoutingClearRoutePreference().

Thông tin chi tiết
Thông số
[in] aInstance
Con trỏ đến một thực thể OpenThread.
[in] aPreference
Tùy chọn tuyến đường để sử dụng.

Tài nguyên

Các chủ đề tham khảo API OpenThread bắt nguồn từ mã nguồn, có 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 Tài nguyên.