Sınır Yönlendirici

Bu modül, OpenThread Sınır Yönlendirici ile yerel ağ verilerini yönetmek için işlevler içerir.

Özet

İşlevler

otBorderRouterAddOnMeshPrefix(otInstance *aInstance, const otBorderRouterConfig *aConfig)
Yerel ağ verilerine sınır yönlendirici yapılandırması ekleyin.
otBorderRouterAddRoute(otInstance *aInstance, const otExternalRouteConfig *aConfig)
Yerel ağ verilerine harici bir rota yapılandırması ekleyin.
otBorderRouterGetNetData(otInstance *aInstance, bool aStable, uint8_t *aData, uint8_t *aDataLength)
Bu yöntem, yerel İleti Dizisi Ağ Verilerinin tam veya sabit bir kopyasını sağlar.
otBorderRouterGetNextOnMeshPrefix(otInstance *aInstance, otNetworkDataIterator *aIterator, otBorderRouterConfig *aConfig)
Bu işlev, yerel Ağ Verilerinde bir sonraki Örgü Ön Ekini alır.
otBorderRouterGetNextRoute(otInstance *aInstance, otNetworkDataIterator *aIterator, otExternalRouteConfig *aConfig)
Bu işlev, yerel Ağ Verilerindeki bir sonraki harici rotayı alır.
otBorderRouterRegister(otInstance *aInstance)
Yerel ağ verilerini hemen Lidere kaydedin.
otBorderRouterRemoveOnMeshPrefix(otInstance *aInstance, const otIp6Prefix *aPrefix)
Yerel ağ verilerinden sınır yönlendirici yapılandırmasını kaldırın.
otBorderRouterRemoveRoute(otInstance *aInstance, const otIp6Prefix *aPrefix)
Yerel ağ verilerinden harici bir rota yapılandırmasını kaldırın.
otBorderRoutingGetNat64Prefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Bu işlev, yerel NAT64 önekini döndürür.
otBorderRoutingGetOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Bu yöntem, ağ dışı yönlendirilebilir (OMR) ön ekini döndürür.
otBorderRoutingGetOnLinkPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Bu yöntem, bitişik altyapı bağlantısı için bağlantı ön ekini döndürür.
otBorderRoutingInit(otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning)
Bu yöntem, belirli bir altyapı arayüzünde Sınır Yönlendirme Yöneticisi'ni başlatır.
otBorderRoutingSetEnabled(otInstance *aInstance, bool aEnabled)
Bu yöntem, Sınır Yönlendirme Yöneticisi'ni etkinleştirir/devre dışı bırakır.

İşlevler

otBorderRouterAddOnMeshPrefix

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

Yerel ağ verilerine sınır yönlendirici yapılandırması ekleyin.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[in] aConfig
Kenarlık yönlendirici yapılandırmasının işaretçisi.
Değerleri Döndür
OT_ERROR_NONE
Yapılandırma, yerel ağ verilerine başarıyla eklendi.
OT_ERROR_INVALID_ARGS
Bir veya daha fazla yapılandırma parametresi geçersiz.
OT_ERROR_NO_BUFS
Yapılandırmayı yerel ağ verilerine eklemek için yeterli alan yok.
Şu makaleyi de inceleyebilirsiniz:
otBorderRouterRemoveOnMeshPrefix
otBorderRouterRegister

RotBitRotasıRotası

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

Yerel ağ verilerine harici bir rota yapılandırması ekleyin.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[in] aConfig
Harici rota yapılandırmasına yönelik bir işaret.
Değerleri Döndür
OT_ERROR_NONE
Yapılandırma, yerel ağ verilerine başarıyla eklendi.
OT_ERROR_INVALID_ARGS
Bir veya daha fazla yapılandırma parametresi geçersiz.
OT_ERROR_NO_BUFS
Yapılandırmayı yerel ağ verilerine eklemek için yeterli alan yok.
Şu makaleyi de inceleyebilirsiniz:
otBorderRouterRemoveRoute
otBorderRouterRegister

otBorderRouterGetNetData

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

Bu yöntem, yerel İleti Dizisi Ağ Verilerinin tam veya sabit bir kopyasını sağlar.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[in] aStable
Kararlı sürümü kopyalarken DO,RU, tam sürümü kopyalarken YANLIŞ.
[out] aData
Veri arabelleğinin işaretçisi.
[in,out] aDataLength
Girişte, aData tarafından işaret edilen veri arabelleğinin boyutu. Çıkışta, kopyalanan bayt sayısı.

otBorderRouterGetNextOnMeshPrefix

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

Bu işlev, yerel Ağ Verilerinde bir sonraki Örgü Ön Ekini alır.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[in,out] aIterator
Ağ Verileri yineleyici bağlamına işaret eden öğedir. İlk örgülü girişi almak için bu girişin OT_NETWORK_DATA_ITERATOR_INIT olarak ayarlanması gerekir.
[out] aConfig
Örgüde Önek bilgilerinin işaretçisi.
Değerleri Döndür
OT_ERROR_NONE
Bir sonraki Örgüde önek başarıyla bulundu.
OT_ERROR_NOT_FOUND
İş Parçacığı Ağ Verilerinde sonraki Mesh ön eki bulunmuyor.

otBorderRouterGetNextRoute

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

Bu işlev, yerel Ağ Verilerindeki bir sonraki harici rotayı alır.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[in,out] aIterator
Ağ Verileri yineleyici bağlamına işaret eden öğedir. İlk harici rota girişini almak için bu girişin OT_NETWORK_DATA_ITERATOR_INIT olarak ayarlanması gerekir.
[out] aConfig
Harici Rota bilgilerinin işaretçisi.
Değerleri Döndür
OT_ERROR_NONE
Sonraki Harici Rota başarıyla bulundu.
OT_ERROR_NOT_FOUND
İş Parçacığı Ağ Verilerinde harici rota girişi yok.

otBorderRouterRegister

otError otBorderRouterRegister(
  otInstance *aInstance
)

Yerel ağ verilerini hemen Lidere kaydedin.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
Değerleri Döndür
OT_ERROR_NONE
Sunucu Veri İsteği iletisi dağıtım için başarıyla sıraya alındı.
Şu makaleyi de inceleyebilirsiniz:
otBorderRouterAddOnMeshPrefix
otBorderRouterRemoveOnMeshPrefix
otBorderRouterAddRoute
otBorderRouterRemoveRoute

otBorderRouterRemoveOnMeshPrefix

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

Yerel ağ verilerinden sınır yönlendirici yapılandırmasını kaldırın.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[in] aPrefix
IPv6 ön ekinin işaretçisi.
Değerleri Döndür
OT_ERROR_NONE
Yapılandırma, yerel ağ verilerinden başarıyla kaldırıldı.
OT_ERROR_NOT_FOUND
Kenarlık Yönlendirici Girişi bulunamadı.
Şu makaleyi de inceleyebilirsiniz:
otBorderRouterAddOnMeshPrefix
otBorderRouterRegister

otBorderRouterRemoveRoute

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

Yerel ağ verilerinden harici bir rota yapılandırmasını kaldırın.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[in] aPrefix
IPv6 ön ekinin işaretçisi.
Değerleri Döndür
OT_ERROR_NONE
Yapılandırma, yerel ağ verilerinden başarıyla kaldırıldı.
OT_ERROR_NOT_FOUND
Kenarlık Yönlendirici Girişi bulunamadı.
Şu makaleyi de inceleyebilirsiniz:
otBorderRouterAddRoute
otBorderRouterRegister

otBorderRoutingGetNat64Öneki

otError otBorderRoutingGetNat64Prefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Bu işlev, yerel NAT64 önekini döndürür.

İleti dizisi ağında bu ön ekin reklamı yapılmayabilir.

Bu işlev yalnızca OPENTHREAD_CONFIG_BORDER_ROUTING_NAT64_ENABLE etkin olduğunda kullanılabilir.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[out] aPrefix
Ön ekin çıkış yapılacak yere işaret eder.
Değerleri Döndür
OT_ERROR_INVALID_STATE
Sınır Yönlendirme Yöneticisi henüz başlatılmadı.
OT_ERROR_NONE
NAT64 öneki başarıyla alındı.

otBorderRoutingGetOmrPrefix

otError otBorderRoutingGetOmrPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Bu yöntem, ağ dışı yönlendirilebilir (OMR) ön ekini döndürür.

OMR ön eki yoksa rastgele oluşturulmuş 64 bitlik ön ek, İş Parçacığı ağında yayınlanır.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[out] aPrefix
Ön ekin çıkış yapılacak yere işaret eder.
Değerleri Döndür
OT_ERROR_INVALID_STATE
Sınır Yönlendirme Yöneticisi henüz başlatılmadı.
OT_ERROR_NONE
OMR ön eki başarıyla alındı.

otBorderRoutingGetOnLinkPrefix

otError otBorderRoutingGetOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Bu yöntem, bitişik altyapı bağlantısı için bağlantı ön ekini döndürür.

Bağlantıda reklamı yapılan kullanılabilir bir bağlantı ön eki yoksa 64 bitlik rastgele oluşturulmuş ön ek, altyapı bağlantısında tanıtılır.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[out] aPrefix
Ön ekin çıkış yapılacak yere işaret eder.
Değerleri Döndür
OT_ERROR_INVALID_STATE
Sınır Yönlendirme Yöneticisi henüz başlatılmadı.
OT_ERROR_NONE
Bağlantı ön eki başarıyla alındı.

otBorderRoutingInit

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

Bu yöntem, belirli bir altyapı arayüzünde Sınır Yönlendirme Yöneticisi'ni başlatır.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[in] aInfraIfIndex
Altyapı arayüzü dizini.
[in] aInfraIfIsRunning
Altyapı arayüzünün çalışıp çalışmadığını belirten bir boole.
Değerleri Döndür
OT_ERROR_NONE
Belirli bir altyapıda Sınır Yönlendirme Yöneticisi başarıyla başlatıldı.
OT_ERROR_INVALID_STATE
Sınır Yönlendirme Yöneticisi zaten başlatıldı.
OT_ERROR_INVALID_ARGS
Altyapı arayüzünün dizini geçerli değil.
OT_ERROR_FAILED
Dahili hata. Genellikle rastgele önekler oluşturulamadığından kaynaklanır.
Şu makaleyi de inceleyebilirsiniz:
otPlatInfraIfStateChanged.

otBorderRoutingSetEnabled değeri

otError otBorderRoutingSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Bu yöntem, Sınır Yönlendirme Yöneticisi'ni etkinleştirir/devre dışı bırakır.

Ayrıntılar
Parametreler
[in] aInstance
Bir OpenThread örneğinin işaretçisi.
[in] aEnabled
Yönlendirme yöneticisini etkinleştirmek/devre dışı bırakmak için bir boole.
Değerleri Döndür
OT_ERROR_INVALID_STATE
Sınır Yönlendirme Yöneticisi henüz başlatılmadı.
OT_ERROR_NONE
Sınır Yönlendirme Yöneticisi başarıyla etkinleştirildi/devre dışı bırakıldı.

Kaynaklar

OpenThread API Referansı konuları, GitHub'da bulunan kaynak koddan gelmektedir. Daha fazla bilgi edinmek veya dokümanlarımıza katkıda bulunmak için Kaynaklar'a bakın.