Router graniczny

Ten moduł zawiera funkcje do zarządzania danymi sieci lokalnej za pomocą routera Border OpenOpen.

Podsumowanie

Funkcje

otBorderRouterAddOnMeshPrefix(otInstance *aInstance, const otBorderRouterConfig *aConfig)
Dodaj konfigurację routera granicznego do danych sieci lokalnej.
otBorderRouterAddRoute(otInstance *aInstance, const otExternalRouteConfig *aConfig)
Dodaj konfigurację trasy zewnętrznej do danych sieci lokalnej.
otBorderRouterGetNetData(otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
Ta metoda zapewnia pełną lub stabilną kopię danych lokalnych sieci sieciowych.
otBorderRouterGetNextOnMeshPrefix(otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
Ta funkcja uzyskuje kolejny prefiks On Mesh w lokalnych danych sieciowych.
otBorderRouterGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
Ta funkcja pobiera następną zewnętrzną trasę w danych sieci lokalnej.
otBorderRouterRegister(otInstance *aInstance)
Natychmiast zarejestruj dane lidera sieci lokalnej.
otBorderRouterRemoveOnMeshPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix)
Usuń konfigurację routera granicznego z danych sieci lokalnej.
otBorderRouterRemoveRoute(otInstance *aInstance, const otIp6Prefix *aPrefix)
Usuń konfigurację trasy zewnętrznej z danych sieci lokalnej.
otBorderRoutingGetNat64Prefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Ta funkcja zwraca lokalny prefiks NAT64.
otBorderRoutingGetOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Ta metoda zwraca prefiks niedostępny (poza siatką) (OMR).
otBorderRoutingGetOnLinkPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Ta metoda zwraca prefiks „link” dla sąsiedniego linku do infrastruktury.
otBorderRoutingInit(otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning)
Ta metoda inicjuje Menedżera routingu granicznego w określonym interfejsie infrastruktury.
otBorderRoutingSetEnabled(otInstance *aInstance, bool aEnabled)
Ta metoda pozwala włączać i wyłączać Menedżera routingu granicznego.

Funkcje

otBorderRouterAddOnMeshPrefix

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

Dodaj konfigurację routera granicznego do danych sieci lokalnej.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aConfig
Wskaźnik konfiguracji routera granicznego.
Zwracane wartości
OT_ERROR_NONE
Konfiguracja została dodana do danych sieci lokalnej.
OT_ERROR_INVALID_ARGS
Co najmniej jeden parametr konfiguracji jest nieprawidłowy.
OT_ERROR_NO_BUFS
Za mało miejsca, by dodać konfigurację do danych sieci lokalnej.
Zobacz też:
otBorderRouterRemoveOnMeshPrefix
otBorderRouterRegister

OTBorderRouterAddRoute

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

Dodaj konfigurację trasy zewnętrznej do danych sieci lokalnej.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aConfig
Wskaźnik konfiguracji trasy zewnętrznej.
Zwracane wartości
OT_ERROR_NONE
Konfiguracja została dodana do danych sieci lokalnej.
OT_ERROR_INVALID_ARGS
Co najmniej jeden parametr konfiguracji jest nieprawidłowy.
OT_ERROR_NO_BUFS
Za mało miejsca, by dodać konfigurację do danych sieci lokalnej.
Zobacz też:
otBorderRouterRemoveRoute
otBorderRouterRegister

otBorderRouterGetNetData

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

Ta metoda zapewnia pełną lub stabilną kopię danych lokalnych sieci sieciowych.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aStable
TRUE podczas kopiowania wersji stabilnej, FALSE podczas kopiowania pełnej wersji
[out] aData
Wskaźnik bufora danych.
[in,out] aDataLength
Po uruchomieniu rozmiar bufora danych, do którego wskazuje aData. Liczba wyjść skopiowanych przy zamknięciu.

otBorderRouterGetNextOnMeshPrefiks

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

Ta funkcja uzyskuje kolejny prefiks On Mesh w lokalnych danych sieciowych.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in,out] aIterator
Wskaźnik kontekstu iteratora danych sieci. Aby można było pobrać pierwszy wpis typu mesh, należy go ustawić na OT_NETWORK_DATA_ITERATOR_INIT.
[out] aConfig
Wskaźnik informacji o prefiksie On Mesh.
Zwracane wartości
OT_ERROR_NONE
Następny prefiks On Mesh został znaleziony.
OT_ERROR_NOT_FOUND
W wątku danych danych nie istnieje żaden dodatkowy prefiks On Mesh.

otBorderRouterGetNextRoute

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

Ta funkcja pobiera następną zewnętrzną trasę w danych sieci lokalnej.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in,out] aIterator
Wskaźnik kontekstu iteratora danych sieci. Aby uzyskać pierwszy wpis trasy zewnętrznej, należy go ustawić na OT_NETWORK_DATA_ITERATOR_INIT.
[out] aConfig
Wskaźnik informacji o trasie zewnętrznej.
Zwracane wartości
OT_ERROR_NONE
Następny szlak zewnętrzny został znaleziony.
OT_ERROR_NOT_FOUND
W pliku danych sieci wątków nie ma kolejnego wpisu trasy zewnętrznej.

otBorderRouterRegister

otError otBorderRouterRegister(
  otInstance *aInstance
)

Natychmiast zarejestruj dane lidera sieci lokalnej.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
Zwracane wartości
OT_ERROR_NONE
Dodano wiadomość do żądania serwera danych do kolejki do dostarczenia.
Zobacz też:
otBorderRouterAddOnMeshPrefix
otBorderRouterRemoveOnMeshPrefix
otBorderRouterAddRoute
otBorderRouterRemoveRoute

otBorderRouterRemoveOnMeshPrefix

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

Usuń konfigurację routera granicznego z danych sieci lokalnej.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aPrefix
Wskaźnik prefiksu IPv6.
Zwracane wartości
OT_ERROR_NONE
Konfiguracja została usunięta z danych sieci lokalnej.
OT_ERROR_NOT_FOUND
Nie udało się znaleźć wpisu Border Router.
Zobacz też:
otBorderRouterAddOnMeshPrefix
otBorderRouterRegister

OTBorderRouterRemoveRoute

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

Usuń konfigurację trasy zewnętrznej z danych sieci lokalnej.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aPrefix
Wskaźnik prefiksu IPv6.
Zwracane wartości
OT_ERROR_NONE
Konfiguracja została usunięta z danych sieci lokalnej.
OT_ERROR_NOT_FOUND
Nie udało się znaleźć wpisu Border Router.
Zobacz też:
otBorderRouterAddRoute
otBorderRouterRegister

otBorderRoutingGetNat64Prefix

otError otBorderRoutingGetNat64Prefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Ta funkcja zwraca lokalny prefiks NAT64.

Ten prefiks może nie być reklamowany w sieci wątków.

Ta funkcja jest dostępna tylko po włączeniu ustawienia OPENTHREAD_CONFIG_BORDER_ROUTING_NAT64_ENABLE.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[out] aPrefix
Wskaźnik, do którego będzie zwracany prefiks.
Zwracane wartości
OT_ERROR_INVALID_STATE
Menedżer routingu granicznego nie został jeszcze zainicjowany.
OT_ERROR_NONE
Prefiks NAT64 został pobrany.

otBorderRoutingGetOmrPrefix

otError otBorderRoutingGetOmrPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Ta metoda zwraca prefiks niedostępny (poza siatką) (OMR).

Wygenerowany losowo 64-bitowy prefiks zostanie opublikowany w sieci wątków, jeśli nie ma jeszcze prefiksu OMR.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[out] aPrefix
Wskaźnik, do którego będzie zwracany prefiks.
Zwracane wartości
OT_ERROR_INVALID_STATE
Menedżer routingu granicznego nie został jeszcze zainicjowany.
OT_ERROR_NONE
Prefiks OMR został pobrany.

otBorderRoutingGetOnLinkPrefix

otError otBorderRoutingGetOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Ta metoda zwraca prefiks „link” dla sąsiedniego linku do infrastruktury.

Wygenerowany losowo 64-bitowy prefiks będzie promowany w linku do infrastruktury, jeśli nie został jeszcze użyteczny prefiks linku używany w linku.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[out] aPrefix
Wskaźnik, do którego będzie zwracany prefiks.
Zwracane wartości
OT_ERROR_INVALID_STATE
Menedżer routingu granicznego nie został jeszcze zainicjowany.
OT_ERROR_NONE
Prefiks prefiksu linku został pobrany.

otBorderRoutingInit

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

Ta metoda inicjuje Menedżera routingu granicznego w określonym interfejsie infrastruktury.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aInfraIfIndex
Indeks interfejsu infrastruktury.
[in] aInfraIfIsRunning
Wartość logiczna wskazująca, czy interfejs infrastruktury jest aktywny.
Zwracane wartości
OT_ERROR_NONE
Uruchomiono Menedżera tras Border w danej infrastrukturze.
OT_ERROR_INVALID_STATE
Menedżer routingu granicznego został już zainicjowany.
OT_ERROR_INVALID_ARGS
Indeks interfejsu infrastruktury jest nieprawidłowy.
OT_ERROR_FAILED
Błąd wewnętrzny. Zwykle z powodu błędu generowania losowych prefiksów.
Zobacz też:
otPlatInfraIfStateChanged.

otBorderRoutingSetEnabled

otError otBorderRoutingSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Ta metoda pozwala włączać i wyłączać Menedżera routingu granicznego.

Szczegóły
Parametry
[in] aInstance
Wskaźnik do instancji OpenThread.
[in] aEnabled
Wartość logiczna włączająca i wyłączająca menedżera routingu.
Zwracane wartości
OT_ERROR_INVALID_STATE
Menedżer routingu granicznego nie został jeszcze zainicjowany.
OT_ERROR_NONE
Włączono lub wyłączono Menedżera routingu granicznego.

Zasoby

Tematy referencyjne interfejsu API OpenThread pochodzą z kodu źródłowego, który jest dostępny w GitHub. Jeśli chcesz dowiedzieć się więcej lub utworzyć dokumentację, zapoznaj się z materiałami.