Sınır Yönlendirme Yöneticisi

Bu modül, Sınır Yönlendirme Yöneticisi ile ilgili tanımları içerir.

Özet

Bu modüldeki tüm işlevler için OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE özelliğinin etkinleştirilmesi gerekir.

Sınır Yönlendirme Yöneticisi, iş parçacığı ağı ile bitişik altyapı bağlantısı (AIL) arasındaki çift yönlü yönlendirmeyi yönetir.

Bağlantı ve rota öneklerinin reklamını yapmak için AIL'de ICMRv6 ND Yönlendirici Reklamı (RA) mesajları yayınlar. Ayrıca, altyapıdan alınan RA mesajlarını işler ve Thread ağ verilerindeki cihazların Sınır Yönlendirici üzerinden AIL'ye ulaşabilmesini sağlamak için Thread Network Data'da keşfedilen ön ekleri yansıtır.

Yönlendirme Yöneticisi, Thread cihazlarını uygun bir Off-Mesh yönlendirilebilir IPv6 adresiyle yapılandıran Thread Network verilerindeki Off-Mesh Routable (OMR) ön ekini yönetir. Bu ön eki, yayınlanan RA mesajlarına IPv6 Rota Bilgisi Seçeneği (RIO) olarak ekleyerek AIL'de bu ön ekin erişilebilirliğini duyurur.

Yönlendirme Yöneticisi, altyapı ağındaki bağlantı içi ön eki de izler ve ekler. AIL'deki bir yönlendirici, bağlantıdaki IPv6 cihazlarının kendi yönlendirilebilir tekli yayın IPv6 adreslerini kendi kendine yapılandırmasını sağlayan IPv6 Ön Ek Bilgi Seçeneği (PIO) içeren RA mesajları zaten sağlıyorsa bu adres, Thread cihazları tarafından AIL'ye ulaşmak için kullanılabilir. Sınır Yönlendirici, AIL'de böyle bir RA mesajı bulamazsa yayınlanan RA mesajlarında AIL'de reklam yayınlamak için bağlantıda ULA ön eki oluşturur.

Sıralamalar

otBorderRoutingDhcp6PdState{
  OT_BORDER_ROUTING_DHCP6_PD_STATE_DISABLED,
  OT_BORDER_ROUTING_DHCP6_PD_STATE_STOPPED,
  OT_BORDER_ROUTING_DHCP6_PD_STATE_RUNNING
}
enum
Bu numaralandırma, DHCPv6 Önek Yetki Durumu'nun durumunu gösterir.
otBorderRoutingState{
  OT_BORDER_ROUTING_STATE_UNINITIALIZED,
  OT_BORDER_ROUTING_STATE_DISABLED,
  OT_BORDER_ROUTING_STATE_STOPPED,
  OT_BORDER_ROUTING_STATE_RUNNING
}
enum
Sınır Yönlendirme Yöneticisi'nin durumunu gösterir.

Türdefler

otBorderRoutingPrefixTableEntry typedef
Keşfedilen önek tablosundaki bir girişi temsil eder.
otBorderRoutingPrefixTableIterator typedef
Sınır Yönlendiricinin keşfedilen önek tablosu üzerinden yineleme yapacak bir yinelemeyi temsil eder.
otBorderRoutingRouterEntry typedef
Altyapı bağlantısında keşfedilen bir yönlendiriciyi temsil eder.
otPdProcessedRaInfo typedef
Platform tarafından oluşturulan ve işlenen RA mesajlarının veri grubunu temsil eder.

İşlevler

otBorderRoutingClearRouteInfoOptionPreference(otInstance *aInstance)
void
Bildirilen Rota Bilgisi Seçenekleri için daha önce ayarlanmış bir tercih değerini temizler.
otBorderRoutingClearRoutePreference(otInstance *aInstance)
void
Ağ verilerinde yayınlanan rotalar için önceden belirlenmiş tercih değerini temizler.
otBorderRoutingDhcp6PdGetState(otInstance *aInstance)
DHCPv6 Önek Yetkisinin geçerli durumunu alır.
otBorderRoutingDhcp6PdSetEnabled(otInstance *aInstance, bool aEnabled)
void
DHCPv6 Önek Yetkisini Etkinleştirir / Devre Dışı Bırakır.
otBorderRoutingGetFavoredNat64Prefix(otInstance *aInstance, otIp6Prefix *aPrefix, otRoutePreference *aPreference)
Şu anda tercih edilen NAT64 önekini alır.
otBorderRoutingGetFavoredOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix, otRoutePreference *aPreference)
Şu anda tercih edilen Off-Mesh-Routable (OMR) Öneki'ni alır.
otBorderRoutingGetFavoredOnLinkPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Geçerli olarak tercih edilen Bağlantı Ön Eki'ni alır.
otBorderRoutingGetNat64Prefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Sınır Yönlendiricinin yerel NAT64 Öneki'ni alır.
otBorderRoutingGetNextPrefixTableEntry(otInstance *aInstance, otBorderRoutingPrefixTableIterator *aIterator, otBorderRoutingPrefixTableEntry *aEntry)
Sınır Yönlendirici'nin keşfedilen önek tablosundaki girişler üzerinde yinelenir.
otBorderRoutingGetNextRouterEntry(otInstance *aInstance, otBorderRoutingPrefixTableIterator *aIterator, otBorderRoutingRouterEntry *aEntry)
Altyapı bağlantısında bulunan yönlendirici girişleri üzerinden yinelenir.
otBorderRoutingGetOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Yerel Off-Mesh-Routable (OMR) Önekini alır, örneğin fdfc:1ff5:1512:5622::/64.
otBorderRoutingGetOnLinkPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
Bitişik altyapı bağlantısı için yerel Bağlantı Ön Eki'ni alır.
otBorderRoutingGetPdOmrPrefix(otInstance *aInstance, otBorderRoutingPrefixTableEntry *aPrefixInfo)
Sağlanan DHCPv6 Önek Yetkisini (PD) ağ dışına yönlendirilebilir (OMR) ön ekini alır.
otBorderRoutingGetPdProcessedRaInfo(otInstance *aInstance, otPdProcessedRaInfo *aPdProcessedRaInfo)
Platform tarafından oluşturulan RA mesajının verilerini işler.
otBorderRoutingGetRouteInfoOptionPreference(otInstance *aInstance)
Altyapı bağlantısı üzerinden gönderilen Yönlendirici Reklamı mesajlarında Rota Bilgi Seçenekleri (RIO) gösterilirken kullanılan mevcut tercihi alır.
otBorderRoutingGetRoutePreference(otInstance *aInstance)
Ağ Verileri'nde yayınlanan rotalar için kullanılan mevcut tercihi alır.
otBorderRoutingGetState(otInstance *aInstance)
Sınır Yönlendirme Yöneticisi'nin geçerli durumunu alır.
otBorderRoutingInit(otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning)
Belirtilen altyapı arayüzünde Sınır Yönlendirme Yöneticisi'ni başlatır.
otBorderRoutingPrefixTableInitIterator(otInstance *aInstance, otBorderRoutingPrefixTableIterator *aIterator)
void
otBorderRoutingSetEnabled(otInstance *aInstance, bool aEnabled)
Sınır Yönlendirme Yöneticisi'ni etkinleştirir veya devre dışı bırakır.
otBorderRoutingSetRouteInfoOptionPreference(otInstance *aInstance, otRoutePreference aPreference)
void
Altyapı bağlantısı üzerinden gönderilen Yönlendirici Reklamı mesajlarında Rota Bilgisi Seçenekleri (RIO) gösterilirken kullanılacak tercihi açık bir şekilde ayarlar.
otBorderRoutingSetRoutePreference(otInstance *aInstance, otRoutePreference aPreference)
void
Ağ Verileri'nde yayınlanan rotaların tercihini açık bir şekilde ayarlar.

Yapılar

otBorderRoutingPrefixTableEntry

Keşfedilen önek tablosundaki bir girişi temsil eder.

otBorderRoutingPrefixTableIterator

Sınır Yönlendiricinin keşfedilen önek tablosu üzerinden yineleme yapacak bir yinelemeyi temsil eder.

otBorderRoutingRouterEntry

Altyapı bağlantısında keşfedilen bir yönlendiriciyi temsil eder.

otPdProcessedRaInfo

Platform tarafından oluşturulan ve işlenen RA mesajlarının veri grubunu temsil eder.

Sıralamalar

otBorderRoutingDhcp6PdState

 otBorderRoutingDhcp6PdState

Bu numaralandırma, DHCPv6 Önek Yetki Durumu'nun durumunu gösterir.

Özellikler
OT_BORDER_ROUTING_DHCP6_PD_STATE_DISABLED

Sınır yönlendiricide DHCPv6 PD devre dışı.

OT_BORDER_ROUTING_DHCP6_PD_STATE_RUNNING

DHCPv6 PD etkinleştirilmiştir ve bir ön ek isteyip yayınlamaya çalışacaktır.

OT_BORDER_ROUTING_DHCP6_PD_STATE_STOPPED

DHCPv6 PD etkin durumda ancak önek isteyip yayınlamaya çalışmıyor.

otBorderRoutingState

 otBorderRoutingState

Sınır Yönlendirme Yöneticisi'nin durumunu gösterir.

Özellikler
OT_BORDER_ROUTING_STATE_DISABLED

Yönlendirme Yöneticisi başlatıldı ancak devre dışı bırakıldı.

OT_BORDER_ROUTING_STATE_RUNNING

Yönlendirme Yöneticisi başlatıldı, etkinleştirildi ve çalışıyor.

OT_BORDER_ROUTING_STATE_STOPPED

Yönlendirme Yöneticisi başlatılmış ve etkin ancak şu anda durdurulmuş durumda.

OT_BORDER_ROUTING_STATE_UNINITIALIZED

Yönlendirme Yöneticisi başlatılmadı.

Türdefler

otBorderRoutingPrefixTableEntry

struct otBorderRoutingPrefixTableEntry otBorderRoutingPrefixTableEntry

Keşfedilen önek tablosundaki bir girişi temsil eder.

Keşfedilen tablodaki girişler, altyapı bağlantısındaki diğer yönlendiricilerden alınan Yönlendirici Reklamı mesajlarındaki Önek/Rota Bilgisi Seçeneklerini izler.

otBorderRoutingPrefixTableIterator

struct otBorderRoutingPrefixTableIterator otBorderRoutingPrefixTableIterator

Sınır Yönlendiricinin keşfedilen önek tablosu üzerinden yineleme yapacak bir yinelemeyi temsil eder.

Bu türdeki alanlar opaktır (yalnızca OpenThread Core tarafından kullanılmak üzere tasarlanmıştır) ve bu nedenle arayan tarafından erişilmemeli veya kullanılmamalıdır.

Bir iterasyon/yineleyici kullanılmadan önce otBorderRoutingPrefixTableInitIterator() kullanılarak başlatılması ZORUNLUDUR.

otBorderRoutingRouterEntry

struct otBorderRoutingRouterEntry otBorderRoutingRouterEntry

Altyapı bağlantısında keşfedilen bir yönlendiriciyi temsil eder.

otPdProcessedRaInfo

struct otPdProcessedRaInfo otPdProcessedRaInfo

Platform tarafından oluşturulan ve işlenen RA mesajlarının veri grubunu temsil eder.

İşlevler

otBorderRoutingClearRouteInfoOptionPreference

void otBorderRoutingClearRouteInfoOptionPreference(
  otInstance *aInstance
)

Bildirilen Rota Bilgisi Seçenekleri için daha önce ayarlanmış bir tercih değerini temizler.

Bu işlev çağrıldıktan sonra BR, RIO tercihini belirlemek için cihazın rolünü kullanır: Yönlendirici/lider rolündeyken orta tercih, alt roldeyken düşük tercih.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.

otBorderRoutingClearRoutePreference

void otBorderRoutingClearRoutePreference(
  otInstance *aInstance
)

Ağ verilerinde yayınlanan rotalar için önceden belirlenmiş tercih değerini temizler.

Bu işleve yapılan bir çağrıdan sonra BR, cihazın rolüne ve bağlantı kalitesine (son cihaz olarak hareket ederken ebeveyne) göre tercihi otomatik olarak belirler.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.

otBorderRoutingDhcp6PdGetState

otBorderRoutingDhcp6PdState otBorderRoutingDhcp6PdGetState(
  otInstance *aInstance
)

DHCPv6 Önek Yetkisinin geçerli durumunu alır.

OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE politikasının etkinleştirilmesini gerektirir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
İadeler
DHCPv6 Önek Yetkisinin mevcut durumu.

otBorderRoutingDhcp6PdSetEnabled

void otBorderRoutingDhcp6PdSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

DHCPv6 Önek Yetkisini Etkinleştirir / Devre Dışı Bırakır.

OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE etkinleştirilmelidir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aEnabled
Platform tarafından oluşturulan RA mesajlarının kabul edilip edilmeyeceğini belirtir.

otBorderRoutingGetFavoredNat64Prefix

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

Şu anda tercih edilen NAT64 önekini alır.

Tercih edilen NAT64 öneki, altyapı bağlantısından bulunabilir veya bu cihazın yerel NAT64 ön eki olabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[out] aPrefix
Tercih edilen NAT64 önekinin çıkışını sağlayan işaretçi.
[out] aPreference
Tercih edilen ön ekle ilişkili tercihi veren bir işaretçi.
Döndürülen Değerler
OT_ERROR_INVALID_STATE
Sınır Yönlendirme Yöneticisi henüz başlatılmadı.
OT_ERROR_NONE
Tercih edilen NAT64 öneki başarıyla alındı.

otBorderRoutingGetFavoredOmrPrefix

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

Şu anda tercih edilen Off-Mesh-Routable (OMR) Öneki'ni alır.

Tercih edilen OMR öneki, Network Data'dan bulunabilir veya bu cihazın yerel OMR öneki olabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[out] aPrefix
Tercih edilen OMR önekini veren bir işaretçi.
[out] aPreference
Tercih edilen ön ekle ilişkili tercihi veren bir işaretçi.
Döndürülen Değerler
OT_ERROR_INVALID_STATE
Sınır Yönlendirme Yöneticisi henüz çalışmıyor.
OT_ERROR_NONE
Tercih edilen OMR öneki başarıyla alındı.

otBorderRoutingGetFavoredOnLinkPrefix

otError otBorderRoutingGetFavoredOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Geçerli olarak tercih edilen Bağlantı Ön Eki'ni alır.

Tercih edilen önek, altyapı bağlantısında keşfedilen bir bağlantı içi ön eki veya yerel bağlantı ön ekidir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[out] aPrefix
Ön ekin verileceği yeri gösteren bir işaretçi.
Döndürülen Değerler
OT_ERROR_INVALID_STATE
Sınır Yönlendirme Yöneticisi henüz başlatılmadı.
OT_ERROR_NONE
Tercih edilen bağlantıda ön eki başarıyla alındı.

otBorderRoutingGetNat64Prefix

otError otBorderRoutingGetNat64Prefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Sınır Yönlendiricinin yerel NAT64 Öneki'ni alır.

İş parçacığı ağında NAT64 ön ekinin reklamı yapılamayabilir.

OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE etkinleştirilmelidir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[out] aPrefix
Ön ekin verileceği yeri gösteren bir işaretçi.
Döndürülen Değerler
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ı.

otBorderRoutingGetNextPrefixTableEntry

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

Sınır Yönlendirici'nin keşfedilen önek tablosundaki girişler üzerinde yinelenir.

Bir altyapı bağlantısında keşfedilen aynı yönlendiriciyle ilişkili ön ek girişlerinin birlikte gruplandırılacağı garanti edilir (arka arkaya alınır).

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneği.
[in,out] aIterator
Yineleyicinin işaretçisi.
[out] aEntry
Doldurulacak girişin işaretçisi.
Döndürülen Değerler
OT_ERROR_NONE
Bir sonraki girişe yinelenir, aEntry ve aIterator güncellenir.
OT_ERROR_NOT_FOUND
Tabloda başka giriş yok.

otBorderRoutingGetNextRouterEntry

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

Altyapı bağlantısında bulunan yönlendirici girişleri üzerinden yinelenir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneği.
[in,out] aIterator
Yineleyicinin işaretçisi.
[out] aEntry
Doldurulacak girişin işaretçisi.
Döndürülen Değerler
OT_ERROR_NONE
Sonraki yönlendiriciye yükseltilen aEntry ve aIterator güncellenir.
OT_ERROR_NOT_FOUND
Başka yönlendirici girişi yok.

otBorderRoutingGetOmrPrefix

otError otBorderRoutingGetOmrPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Yerel Off-Mesh-Routable (OMR) Önekini alır, örneğin fdfc:1ff5:1512:5622::/64.

OMR Öneki, halihazırda bir OMR öneki yoksa ileti dizisi ağında yayınlanan rastgele oluşturulmuş 64 bitlik bir ön ektir. Bu öneke yerel kablosuz ağ veya Ethernet ağından erişilebilir.

Not: DHCPv6 PD etkinleştirildiğinde sınır yönlendiricisi DHCPv6 PD'deki öneki yayınlayabilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[out] aPrefix
Ön ekin verileceği yeri gösteren bir işaretçi.
Döndürülen Değerler
OT_ERROR_INVALID_STATE
Sınır Yönlendirme Yöneticisi henüz başlatılmadı.
OT_ERROR_NONE
OMR öneki başarıyla alındı.
Şu makaleyi de inceleyebilirsiniz:
otBorderRoutingGetPdOmrPrefix

otBorderRoutingGetOnLinkPrefix

otError otBorderRoutingGetOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

Bitişik altyapı bağlantısı için yerel Bağlantı Ön Eki'ni alır.

Yerel bağlantı ön eki, bağlantıda tanıtılan kullanılabilir bir bağlantı içi ön eki yoksa altyapı bağlantısında tanıtılan 64 bitlik bir ön ektir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[out] aPrefix
Ön ekin verileceği yeri gösteren bir işaretçi.
Döndürülen Değerler
OT_ERROR_INVALID_STATE
Sınır Yönlendirme Yöneticisi henüz başlatılmadı.
OT_ERROR_NONE
Yerel bağlantıda bağlantı ön eki başarıyla alındı.

otBorderRoutingGetPdOmrPrefix

otError otBorderRoutingGetPdOmrPrefix(
  otInstance *aInstance,
  otBorderRoutingPrefixTableEntry *aPrefixInfo
)

Sağlanan DHCPv6 Önek Yetkisini (PD) ağ dışına yönlendirilebilir (OMR) ön ekini alır.

Döndürülen ön ek bilgilerinde yalnızca mPrefix, mValidLifetime ve mPreferredLifetime alanları kullanılır.

OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE etkinleştirilmelidir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[out] aPrefixInfo
Ön ek bilgilerinin alınacağı yeri gösteren bir işaretçi.
Döndürülen Değerler
OT_ERROR_NONE
OMR öneki başarıyla alındı.
OT_ERROR_INVALID_STATE
Sınır Yönlendirme Yöneticisi henüz başlatılmadı.
OT_ERROR_NOT_FOUND
Bu BR üzerinde geçerli bir PD öneki yok.
Şu makaleyi de inceleyebilirsiniz:
otBorderRoutingGetOmrPrefix
otPlatBorderreferralProcessIcmp6Ra

otBorderRoutingGetPdProcessedRaInfo

otError otBorderRoutingGetPdProcessedRaInfo(
  otInstance *aInstance,
  otPdProcessedRaInfo *aPdProcessedRaInfo
)

Platform tarafından oluşturulan RA mesajının verilerini işler.

OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE etkinleştirilmelidir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[out] aPrefixInfo
Ön ek bilgilerinin alınacağı yeri gösteren bir işaretçi.
Döndürülen Değerler
OT_ERROR_NONE
Bilgiler başarıyla alındı.
OT_ERROR_INVALID_STATE
Sınır Yönlendirme Yöneticisi henüz başlatılmadı.
OT_ERROR_NOT_FOUND
Bu BR ile ilgili geçerli bilgi yok.

otBorderRoutingGetRouteInfoOptionPreference

otRoutePreference otBorderRoutingGetRouteInfoOptionPreference(
  otInstance *aInstance
)

Altyapı bağlantısı üzerinden gönderilen Yönlendirici Reklamı mesajlarında Rota Bilgi Seçenekleri (RIO) gösterilirken kullanılan mevcut tercihi alır.

RIO tercihi aşağıdaki şekilde belirlenir:

  • Kullanıcı tarafından otBorderRoutingSetRouteInfoOptionPreference() çağrısı yapılarak açıkça ayarlanırsa belirtilen tercih kullanılır.
  • Aksi takdirde, cihazın mevcut rolüne göre belirlenir: Yönlendirici/lider rolünde orta seviyede tercih, alt roldeyken düşük tercih.

Ayrıntılar
İadeler
Geçerli Rota Bilgisi Seçeneği tercihi.

otBorderRoutingGetRoutePreference

otRoutePreference otBorderRoutingGetRoutePreference(
  otInstance *aInstance
)

Ağ Verileri'nde yayınlanan rotalar için kullanılan mevcut tercihi alır.

Bu tercih aşağıdaki şekilde belirlenir:

  • Kullanıcı tarafından otBorderRoutingSetRoutePreference() çağrısı yapılarak açıkça ayarlanırsa belirtilen tercih kullanılır.
  • Aksi takdirde, cihazın rolüne ve bağlantı kalitesine göre RoutingManager tarafından otomatik olarak belirlenir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
İadeler
Yayınlanan mevcut rota tercihi.

otBorderRoutingGetState

otBorderRoutingState otBorderRoutingGetState(
  otInstance *aInstance
)

Sınır Yönlendirme Yöneticisi'nin geçerli durumunu alır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
İadeler
Sınır Yönlendirme Yöneticisi'nin mevcut durumu.

otBorderRoutingInit

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

Belirtilen altyapı arayüzünde Sınır Yönlendirme Yöneticisi'ni başlatır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aInfraIfIndex
Altyapı arayüzü dizini.
[in] aInfraIfIsRunning
Altyapı arayüzünün çalışıp çalışmadığını gösteren bir boole.
Döndürülen Değerler
OT_ERROR_NONE
Belirtilen 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 devre dışı veya başlatılmadı dışında bir durumda.
OT_ERROR_INVALID_ARGS
Altyapı arayüzünün dizini geçerli değil.
OT_ERROR_FAILED
Dahili hata. Genellikle rastgele öneklerin oluşturulamamasından kaynaklanır.
Şu makaleyi de inceleyebilirsiniz:
otPlatInfraIfStateChanged.
otBorderRoutingSetEnabled.

otBorderRoutingPrefixTableInitIterator

void otBorderRoutingPrefixTableInitIterator(
  otInstance *aInstance,
  otBorderRoutingPrefixTableIterator *aIterator
)

Bir otBorderRoutingPrefixTableIterator başlatır.

Bir yinelemenin kullanılmadan önce başlatılması ZORUNLUDUR.

Yineleyici, tablonun başından yeniden başlatılacak şekilde tekrar başlatılabilir.

Tablodaki girişler üzerinde iterasyon yaparken, girişlerin mMsecSinceLastUpdate güncelleme sürelerinin tutarlı olduğundan emin olmak için bu süreler, yineleyicinin başlatıldığı zamana göre verilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneği.
[out] aIterator
Başlatılacak yinelemenin işaretçisi.

otBorderRoutingSetEnabled

otError otBorderRoutingSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

Sınır Yönlendirme Yöneticisi'ni etkinleştirir veya devre dışı bırakır.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aEnabled
Yönlendirme yöneticisini etkinleştirmek/devre dışı bırakmak için kullanılan boole.
Döndürülen Değerler
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ı.

otBorderRoutingSetRouteInfoOptionPreference

void otBorderRoutingSetRouteInfoOptionPreference(
  otInstance *aInstance,
  otRoutePreference aPreference
)

Altyapı bağlantısı üzerinden gönderilen Yönlendirici Reklamı mesajlarında Rota Bilgisi Seçenekleri (RIO) gösterilirken kullanılacak tercihi açık bir şekilde ayarlar.

Bu işleve çağrılmadan sonra BR, belirtilen tüm ilgili RIO'ları için belirtilen tercihi kullanır. Bu tercih, otBorderRoutingClearRouteInfoOptionPreference() çağrısı yapılarak temizlenebilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aPreference
Kullanılacak rota tercihi.

otBorderRoutingSetRoutePreference

void otBorderRoutingSetRoutePreference(
  otInstance *aInstance,
  otRoutePreference aPreference
)

Ağ Verileri'nde yayınlanan rotaların tercihini açık bir şekilde ayarlar.

Bu işlev çağrıldıktan sonra, BR belirtilen tercihi kullanır. Bu tercih, otBorderRoutingClearRoutePreference() çağrısı yapılarak temizlenebilir.

Ayrıntılar
Parametreler
[in] aInstance
OpenThread örneğinin işaretçisi.
[in] aPreference
Kullanılacak rota tercihi.

Kaynaklar

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