बॉर्डर रूटिंग मैनेजर

इस मॉड्यूल में बॉर्डर रूटिंग मैनेजर से जुड़ी परिभाषाएं शामिल हैं.

खास जानकारी

इस मॉड्यूल में सभी फ़ंक्शन के लिए, OPENTHREAD_CONFIG_BORDER_ROUTING_ENABLE का चालू होना ज़रूरी है.

बॉर्डर रूटिंग मैनेजर, Thread नेटवर्क और इससे जुड़े इन्फ़्रास्ट्रक्चर लिंक (AIL) के बीच, दो-तरफ़ा रूटिंग को हैंडल करता है.

यह सेवा, ऑन-लिंक और रूट प्रीफ़िक्स के बारे में विज्ञापन देने के लिए, AIL पर ICMRv6 ND राऊटर विज्ञापन (RA) के मैसेज भेजती है. यह इन्फ़्रास्ट्रक्चर से मिले आरए मैसेज को भी प्रोसेस करता है. साथ ही, यह Thread Network के डेटा पर खोजे गए प्रीफ़िक्स की डुप्लीकेट कॉपी भी बनाता है, ताकि यह पक्का किया जा सके कि Thread मेश पर मौजूद डिवाइस, बॉर्डर राऊटर की मदद से AIL तक पहुंच सकें.

रूटिंग मैनेजर, Thread Network के डेटा पर ऑफ़-मेश रूटेबल (OMR) प्रीफ़िक्स को मैनेज करता है. यह Thread डिवाइसों को, सही ऑफ़-मेश रााउटेबल IPv6 पते के साथ कॉन्फ़िगर करता है. यह प्रीफ़िक्स को आईपीवी6 रूट इन्फ़ॉर्मेशन ऑप्शन (RIO) के तौर पर शामिल करके, AIL पर इस प्रीफ़िक्स के उपलब्ध होने की जानकारी देता है.

रूटिंग मैनेजर, इंफ़्रास्ट्रक्चर नेटवर्क पर ऑन-लिंक प्रीफ़िक्स को भी मॉनिटर करता है और उसे जोड़ता है. अगर AIL पर कोई राऊटर, आईपीवी6 प्रीफ़िक्स इन्फ़ॉर्मेशन विकल्प (पीआईओ) वाले आरए मैसेज पहले से उपलब्ध करा रहा है, तो वह आईपीवी6 डिवाइसों को अपना रूटिंग वाला यूनिकास्ट आईपीवी6 पता खुद कॉन्फ़िगर करने की सुविधा देता है. ऐसे में, Thread डिवाइस इस पते का इस्तेमाल करके, AIL तक पहुंच सकते हैं. अगर Border राऊटर को AIL पर ऐसा कोई RA मैसेज नहीं मिलता, तो वह ULA ऑन-लिंक प्रीफ़िक्स जनरेट करता है. इसके बाद, वह उत्सर्जित किए गए RA मैसेज में AIL पर विज्ञापन दिखाता है.

गिनती

otBorderRoutingDhcp6PdState{
  OT_BORDER_ROUTING_DHCP6_PD_STATE_DISABLED,
  OT_BORDER_ROUTING_DHCP6_PD_STATE_STOPPED,
  OT_BORDER_ROUTING_DHCP6_PD_STATE_RUNNING
}
enum
इस गिनती से, DHCPv6 प्रीफ़िक्स की स्थिति के बारे में पता चलता है.
otBorderRoutingState{
  OT_BORDER_ROUTING_STATE_UNINITIALIZED,
  OT_BORDER_ROUTING_STATE_DISABLED,
  OT_BORDER_ROUTING_STATE_STOPPED,
  OT_BORDER_ROUTING_STATE_RUNNING
}
enum
बॉर्डर रूटिंग मैनेजर की स्थिति को दिखाता है.

टाइपडीफ़

otBorderRoutingPrefixTableEntry typedef
यह खोजे गए प्रीफ़िक्स टेबल की एंट्री को दिखाता है.
otBorderRoutingPrefixTableIterator typedef
बॉर्डर राऊटर की खोजी गई प्रीफ़िक्स टेबल की मदद से, दोहराए जाने वाले इटरेटर को दिखाता है.
otBorderRoutingRouterEntry typedef
इंफ़्रास्ट्रक्चर लिंक पर खोजे गए राऊटर को दिखाता है.
otPdProcessedRaInfo typedef
प्रोसेस किए गए प्लैटफ़ॉर्म से जनरेट किए गए आरए मैसेज के डेटा के ग्रुप को दिखाता है.

फ़ंक्शन

otBorderRoutingClearRouteInfoOptionPreference(otInstance *aInstance)
void
विज्ञापन में दिखाए गए रास्ते की जानकारी के विकल्पों के लिए, पहले से तय की गई प्राथमिकता को मिटाता है.
otBorderRoutingClearRoutePreference(otInstance *aInstance)
void
नेटवर्क डेटा में पब्लिश किए गए रास्तों के लिए, पहले से सेट की गई प्राथमिकता वैल्यू मिटाता है.
otBorderRoutingDhcp6PdGetState(otInstance *aInstance)
DHCPv6 प्रीफ़िक्स डेलिगेशन की मौजूदा स्थिति की जानकारी देता है.
otBorderRoutingDhcp6PdSetEnabled(otInstance *aInstance, bool aEnabled)
void
DHCPv6 प्रीफ़िक्स डेलिगेशन की सुविधा को चालू या बंद करता है.
otBorderRoutingGetFavoredNat64Prefix(otInstance *aInstance, otIp6Prefix *aPrefix, otRoutePreference *aPreference)
मौजूदा समय में पसंदीदा NAT64 प्रीफ़िक्स मिलता है.
otBorderRoutingGetFavoredOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix, otRoutePreference *aPreference)
फ़िलहाल, पसंदीदा ऑफ़-मेश-राउटेबल (ओएमआर) प्रीफ़िक्स लगाया जाता है.
otBorderRoutingGetFavoredOnLinkPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
वर्तमान में पसंदीदा ऑन-लिंक उपसर्ग मिलता है.
otBorderRoutingGetNat64Prefix(otInstance *aInstance, otIp6Prefix *aPrefix)
बॉर्डर राऊटर का स्थानीय NAT64 प्रीफ़िक्स मिलता है.
otBorderRoutingGetNextPrefixTableEntry(otInstance *aInstance, otBorderRoutingPrefixTableIterator *aIterator, otBorderRoutingPrefixTableEntry *aEntry)
बॉर्डर राऊटर की खोजे गए प्रीफ़िक्स टेबल में मौजूद एंट्री पर फिर से लागू होता है.
otBorderRoutingGetNextRouterEntry(otInstance *aInstance, otBorderRoutingPrefixTableIterator *aIterator, otBorderRoutingRouterEntry *aEntry)
इन्फ़्रास्ट्रक्चर लिंक पर खोजी गई राऊटर एंट्री पर फिर से लागू होता है.
otBorderRoutingGetOmrPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
उदाहरण के लिए, fdfc:1ff5:1512:5622::/64 में लोकल ऑफ़-मेश-रूटेबल (OMR) प्रीफ़िक्स लगाया जाता है.
otBorderRoutingGetOnLinkPrefix(otInstance *aInstance, otIp6Prefix *aPrefix)
पास के इंफ़्रास्ट्रक्चर लिंक के लिए स्थानीय ऑन-लिंक प्रीफ़िक्स मिलता है.
otBorderRoutingGetPdOmrPrefix(otInstance *aInstance, otBorderRoutingPrefixTableEntry *aPrefixInfo)
इससे ऑफ़-मेश-रूटेबल (OMR) प्रीफ़िक्स DHCPv6 प्रीफ़िक्स डेलिगेशन (PD) मिलता है.
otBorderRoutingGetPdProcessedRaInfo(otInstance *aInstance, otPdProcessedRaInfo *aPdProcessedRaInfo)
प्लैटफ़ॉर्म से जनरेट किए गए आरए मैसेज के डेटा को प्रोसेस किया जाता है.
otBorderRoutingGetRouteInfoOptionPreference(otInstance *aInstance)
इन्फ़्रास्ट्रक्चर लिंक पर भेजे गए राऊटर विज्ञापन मैसेज में, रास्ते की जानकारी के विकल्प (आरआईओ) का विज्ञापन करते समय मौजूदा प्राथमिकता मिलती है.
otBorderRoutingGetRoutePreference(otInstance *aInstance)
नेटवर्क डेटा में पब्लिश किए गए रास्तों के लिए इस्तेमाल की जाने वाली मौजूदा प्राथमिकता पाएं.
otBorderRoutingGetState(otInstance *aInstance)
बॉर्डर रूटिंग मैनेजर की मौजूदा स्थिति की जानकारी देता है.
otBorderRoutingInit(otInstance *aInstance, uint32_t aInfraIfIndex, bool aInfraIfIsRunning)
दिए गए इंफ़्रास्ट्रक्चर इंटरफ़ेस पर, बॉर्डर रूटिंग मैनेजर को शुरू करता है.
otBorderRoutingPrefixTableInitIterator(otInstance *aInstance, otBorderRoutingPrefixTableIterator *aIterator)
void
otBorderRoutingPrefixTableIterator शुरू करता है.
otBorderRoutingSetEnabled(otInstance *aInstance, bool aEnabled)
बॉर्डर रूटिंग मैनेजर को चालू या बंद करता है.
otBorderRoutingSetRouteInfoOptionPreference(otInstance *aInstance, otRoutePreference aPreference)
void
इंफ़्रास्ट्रक्चर लिंक पर भेजे गए राऊटर के विज्ञापन मैसेज में, रूट जानकारी के विकल्पों (RIO) का विज्ञापन करते समय, इस्तेमाल करने की प्राथमिकता साफ़ तौर पर सेट करता है.
otBorderRoutingSetRoutePreference(otInstance *aInstance, otRoutePreference aPreference)
void
नेटवर्क डेटा में पब्लिश किए गए रूट की प्राथमिकता साफ़ तौर पर सेट करता है.

संरचना

otBorderRoutingPrefixTableEntry

यह खोजे गए प्रीफ़िक्स टेबल की एंट्री को दिखाता है.

otBorderRoutingPrefixTableIterator

बॉर्डर राऊटर की खोजी गई प्रीफ़िक्स टेबल की मदद से, दोहराए जाने वाले इटरेटर को दिखाता है.

otBorderRoutingRouterEntry

इंफ़्रास्ट्रक्चर लिंक पर खोजे गए राऊटर को दिखाता है.

otPdProcessedRaInfo

प्रोसेस किए गए प्लैटफ़ॉर्म से जनरेट किए गए आरए मैसेज के डेटा के ग्रुप को दिखाता है.

गिनती

otBorderRoutingDhcp6PdState

 otBorderRoutingDhcp6PdState

इस गिनती से, DHCPv6 प्रीफ़िक्स की स्थिति के बारे में पता चलता है.

प्रॉपर्टी
OT_BORDER_ROUTING_DHCP6_PD_STATE_DISABLED

बॉर्डर राऊटर पर DHCPv6 PD की सुविधा बंद है.

OT_BORDER_ROUTING_DHCP6_PD_STATE_RUNNING

DHCPv6 PD की सुविधा चालू है. यह प्रीफ़िक्स का अनुरोध करके, उसे पब्लिश करने की कोशिश करेगा.

OT_BORDER_ROUTING_DHCP6_PD_STATE_STOPPED

DHCPv6 PD की सुविधा चालू है, लेकिन इसमें प्रीफ़िक्स का अनुरोध करके, उसे पब्लिश करने की कोशिश नहीं की जाएगी.

otBorderRoutingState

 otBorderRoutingState

बॉर्डर रूटिंग मैनेजर की स्थिति को दिखाता है.

प्रॉपर्टी
OT_BORDER_ROUTING_STATE_DISABLED

रूटिंग मैनेजर शुरू किया गया है, लेकिन बंद है.

OT_BORDER_ROUTING_STATE_RUNNING

रूटिंग मैनेजर शुरू हो गया है, चालू है, और चल रहा है.

OT_BORDER_ROUTING_STATE_STOPPED

रूटिंग मैनेजर शुरू हो चुका है और चालू है, लेकिन फ़िलहाल बंद है.

OT_BORDER_ROUTING_STATE_UNINITIALIZED

रूटिंग मैनेजर को शुरू नहीं किया गया है.

टाइपडीफ़

otBorderRoutingPrefixTableEntry

struct otBorderRoutingPrefixTableEntry otBorderRoutingPrefixTableEntry

यह खोजे गए प्रीफ़िक्स टेबल की एंट्री को दिखाता है.

खोजी गई टेबल में मौजूद एंट्री, इंफ़्रास्ट्रक्चर लिंक पर अन्य राऊटर से मिले राऊटर विज्ञापन मैसेज में प्रीफ़िक्स/रूट जानकारी विकल्पों को ट्रैक करती हैं.

otBorderRoutingPrefixTableIterator

struct otBorderRoutingPrefixTableIterator otBorderRoutingPrefixTableIterator

बॉर्डर राऊटर की खोजी गई प्रीफ़िक्स टेबल की मदद से, दोहराए जाने वाले इटरेटर को दिखाता है.

इस तरह के फ़ील्ड ओपेक होते हैं (इसका मकसद सिर्फ़ OpenThread कोर पर इस्तेमाल करना है) इसलिए, कॉलर को इन्हें ऐक्सेस या इस्तेमाल नहीं करना चाहिए.

इटरेटर का इस्तेमाल करने से पहले, इसे otBorderRoutingPrefixTableInitIterator() की मदद से शुरू करना ज़रूरी है.

otBorderRoutingRouterEntry

struct otBorderRoutingRouterEntry otBorderRoutingRouterEntry

इंफ़्रास्ट्रक्चर लिंक पर खोजे गए राऊटर को दिखाता है.

otPdProcessedRaInfo

struct otPdProcessedRaInfo otPdProcessedRaInfo

प्रोसेस किए गए प्लैटफ़ॉर्म से जनरेट किए गए आरए मैसेज के डेटा के ग्रुप को दिखाता है.

फ़ंक्शन

otBorderRoutingClearRouteInfoOptionPreference

void otBorderRoutingClearRouteInfoOptionPreference(
  otInstance *aInstance
)

विज्ञापन में दिखाए गए रास्ते की जानकारी के विकल्पों के लिए, पहले से तय की गई प्राथमिकता को मिटाता है.

इस फ़ंक्शन को कॉल करने के बाद, आरआईओ की प्राथमिकता तय करने के लिए BR डिवाइस की भूमिका का इस्तेमाल किया जाएगा: राऊटर/लीडर की भूमिका में होने पर मध्यम प्राथमिकता और बच्चे की भूमिका में होने पर कम प्राथमिकता.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.

otBorderRoutingClearRoutePreference

void otBorderRoutingClearRoutePreference(
  otInstance *aInstance
)

नेटवर्क डेटा में पब्लिश किए गए रास्तों के लिए, पहले से सेट की गई प्राथमिकता वैल्यू मिटाता है.

इस फ़ंक्शन को कॉल करने के बाद, डिवाइस की भूमिका और लिंक क्वालिटी के आधार पर BR अपने-आप प्राथमिकता तय करेगा. यह एंड-डिवाइस के तौर पर काम करते समय, माता-पिता की भूमिका तय करेगा.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.

otBorderRoutingDhcp6PdGetState

otBorderRoutingDhcp6PdState otBorderRoutingDhcp6PdGetState(
  otInstance *aInstance
)

DHCPv6 प्रीफ़िक्स डेलिगेशन की मौजूदा स्थिति की जानकारी देता है.

OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE का चालू होना ज़रूरी है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
लौटाए गए सामान
DHCPv6 प्रीफ़िक्स डेलिगेशन की मौजूदा स्थिति.

otBorderRoutingDhcp6PdSetEnabled

void otBorderRoutingDhcp6PdSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

DHCPv6 प्रीफ़िक्स डेलिगेशन की सुविधा को चालू या बंद करता है.

OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE चालू होना चाहिए.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aEnabled
प्लैटफ़ॉर्म से जनरेट किए गए आरए मैसेज स्वीकार करने हैं या नहीं.

otBorderRoutingGetFavoredNat64Prefix

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

मौजूदा समय में पसंदीदा NAT64 प्रीफ़िक्स मिलता है.

पसंदीदा NAT64 प्रीफ़िक्स, इंफ़्रास्ट्रक्चर लिंक से खोजा जा सकता है या यह इस डिवाइस का लोकल NAT64 प्रीफ़िक्स हो सकता है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[out] aPrefix
पसंदीदा NAT64 प्रीफ़िक्स का आउटपुट देने के लिए पॉइंटर.
[out] aPreference
पसंदीदा प्रीफ़िक्स से जुड़ी प्राथमिकता के आउटपुट के लिए पॉइंटर.
रिटर्न वैल्यू
OT_ERROR_INVALID_STATE
बॉर्डर रूटिंग मैनेजर अभी तक शुरू नहीं हुआ है.
OT_ERROR_NONE
पसंदीदा NAT64 प्रीफ़िक्स को सफलतापूर्वक हासिल कर लिया गया है.

otBorderRoutingGetFavoredOmrPrefix

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

फ़िलहाल, पसंदीदा ऑफ़-मेश-राउटेबल (ओएमआर) प्रीफ़िक्स लगाया जाता है.

पसंदीदा ओएमआर प्रीफ़िक्स, नेटवर्क डेटा से खोजा जा सकता है या यह डिवाइस का लोकल ओएमआर प्रीफ़िक्स हो सकता है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[out] aPrefix
पसंदीदा OMR प्रीफ़िक्स का आउटपुट देने के लिए पॉइंटर.
[out] aPreference
पसंदीदा प्रीफ़िक्स से जुड़ी प्राथमिकता के आउटपुट के लिए पॉइंटर.
रिटर्न वैल्यू
OT_ERROR_INVALID_STATE
बॉर्डर रूटिंग मैनेजर अभी नहीं चल रहा है.
OT_ERROR_NONE
पसंदीदा ओएमआर प्रीफ़िक्स को हटा लिया गया है.

otBorderRoutingGetFavoredOnLinkPrefix

otError otBorderRoutingGetFavoredOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

वर्तमान में पसंदीदा ऑन-लिंक उपसर्ग मिलता है.

पसंदीदा प्रीफ़िक्स, या तो इन्फ़्रास्ट्रक्चर लिंक पर मिला ऑन-लिंक प्रीफ़िक्स या लोकल ऑन-लिंक प्रीफ़िक्स होता है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[out] aPrefix
वह पॉइंटर जहां प्रीफ़िक्स आउटपुट होगा.
रिटर्न वैल्यू
OT_ERROR_INVALID_STATE
बॉर्डर रूटिंग मैनेजर अभी तक शुरू नहीं हुआ है.
OT_ERROR_NONE
पसंदीदा ऑन-लिंक प्रीफ़िक्स को हटा लिया गया है.

otBorderRoutingGetNat64Prefix

otError otBorderRoutingGetNat64Prefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

बॉर्डर राऊटर का स्थानीय NAT64 प्रीफ़िक्स मिलता है.

ऐसा हो सकता है कि Thread नेटवर्क में NAT64 प्रीफ़िक्स का विज्ञापन न दिखाया गया हो.

OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE चालू होना चाहिए.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[out] aPrefix
वह पॉइंटर जहां प्रीफ़िक्स आउटपुट होगा.
रिटर्न वैल्यू
OT_ERROR_INVALID_STATE
बॉर्डर रूटिंग मैनेजर अभी तक शुरू नहीं हुआ है.
OT_ERROR_NONE
NAT64 प्रीफ़िक्स को वापस ले लिया गया है.

otBorderRoutingGetNextPrefixTableEntry

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

बॉर्डर राऊटर की खोजे गए प्रीफ़िक्स टेबल में मौजूद एंट्री पर फिर से लागू होता है.

इन्फ़्रास्ट्रक्चर लिंक पर खोजे गए एक ही राऊटर से जुड़ी प्रीफ़िक्स एंट्री के एक साथ ग्रुप होने की गारंटी होती है (वापस-एक के बाद फिर से लाया जाता है).

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस.
[in,out] aIterator
इटरेटर की ओर एक पॉइंटर.
[out] aEntry
एंट्री के लिए पॉइंटर को पॉप्युलेट करने की सुविधा.
रिटर्न वैल्यू
OT_ERROR_NONE
अगली एंट्री पर ले जाने के बाद, aEntry और aIterator अपडेट हो जाते हैं.
OT_ERROR_NOT_FOUND
टेबल में अब और एंट्री नहीं हैं.

otBorderRoutingGetNextRouterEntry

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

इन्फ़्रास्ट्रक्चर लिंक पर खोजी गई राऊटर एंट्री पर फिर से लागू होता है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस.
[in,out] aIterator
इटरेटर की ओर एक पॉइंटर.
[out] aEntry
एंट्री के लिए पॉइंटर को पॉप्युलेट करने की सुविधा.
रिटर्न वैल्यू
OT_ERROR_NONE
अगले राऊटर पर ले जाया जाता है, aEntry और aIterator अपडेट हो जाते हैं.
OT_ERROR_NOT_FOUND
राऊटर की एंट्री की ज़रूरत नहीं है.

otBorderRoutingGetOmrPrefix

otError otBorderRoutingGetOmrPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

उदाहरण के लिए, fdfc:1ff5:1512:5622::/64 में लोकल ऑफ़-मेश-रूटेबल (OMR) प्रीफ़िक्स लगाया जाता है.

ओएमआर प्रीफ़िक्स, बिना किसी क्रम के जनरेट किया गया 64-बिट वाला प्रीफ़िक्स है. इसे Thread नेटवर्क में तब पब्लिश किया जाता है, जब पहले से कोई ओएमआर प्रीफ़िक्स न हो. इस प्रीफ़िक्स तक स्थानीय वाई-फ़ाई या ईथरनेट नेटवर्क से पहुंचा जा सकता है.

ध्यान दें: DHCPv6 PD को चालू करने पर, बॉर्डर राऊटर, DHCPv6 PD से जुड़ा प्रीफ़िक्स पब्लिश कर सकता है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[out] aPrefix
वह पॉइंटर जहां प्रीफ़िक्स आउटपुट होगा.
रिटर्न वैल्यू
OT_ERROR_INVALID_STATE
बॉर्डर रूटिंग मैनेजर अभी तक शुरू नहीं हुआ है.
OT_ERROR_NONE
ओएमआर प्रीफ़िक्स की जानकारी मिल गई है.
यह भी देखें:
otBorderRoutingGetPdOmrPrefix

otBorderRoutingGetOnLinkPrefix

otError otBorderRoutingGetOnLinkPrefix(
  otInstance *aInstance,
  otIp6Prefix *aPrefix
)

पास के इंफ़्रास्ट्रक्चर लिंक के लिए स्थानीय ऑन-लिंक प्रीफ़िक्स मिलता है.

स्थानीय ऑन-लिंक प्रीफ़िक्स एक 64-बिट प्रीफ़िक्स है, जिसे इंफ़्रास्ट्रक्चर लिंक पर तब दिखाया जाता है, जब लिंक पर इस्तेमाल करने लायक ऑन-लिंक प्रीफ़िक्स पहले से मौजूद न हो.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[out] aPrefix
वह पॉइंटर जहां प्रीफ़िक्स आउटपुट होगा.
रिटर्न वैल्यू
OT_ERROR_INVALID_STATE
बॉर्डर रूटिंग मैनेजर अभी तक शुरू नहीं हुआ है.
OT_ERROR_NONE
लोकल ऑन-लिंक प्रीफ़िक्स को वापस लाया गया.

otBorderRoutingGetPdOmrPrefix

otError otBorderRoutingGetPdOmrPrefix(
  otInstance *aInstance,
  otBorderRoutingPrefixTableEntry *aPrefixInfo
)

इससे ऑफ़-मेश-रूटेबल (OMR) प्रीफ़िक्स DHCPv6 प्रीफ़िक्स डेलिगेशन (PD) मिलता है.

दी गई प्रीफ़िक्स की जानकारी में, सिर्फ़ mPrefix, mValidलाइफ़, और mPreferredलाइफ़ फ़ील्ड ही इस्तेमाल किए जाते हैं.

OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE चालू होना चाहिए.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[out] aPrefixInfo
वह पॉइंटर जहां प्रीफ़िक्स की जानकारी दिखेगी.
रिटर्न वैल्यू
OT_ERROR_NONE
ओएमआर प्रीफ़िक्स की जानकारी मिल गई है.
OT_ERROR_INVALID_STATE
बॉर्डर रूटिंग मैनेजर अभी तक शुरू नहीं हुआ है.
OT_ERROR_NOT_FOUND
इस ब्राज़ील में कोई मान्य PD प्रीफ़िक्स नहीं है.
यह भी देखें:
otBorderRoutingGetOmrPrefix
otPlatBorder शुरुआतीProcessIcmp6Ra

otBorderRoutingGetPdProcessedRaInfo

otError otBorderRoutingGetPdProcessedRaInfo(
  otInstance *aInstance,
  otPdProcessedRaInfo *aPdProcessedRaInfo
)

प्लैटफ़ॉर्म से जनरेट किए गए आरए मैसेज के डेटा को प्रोसेस किया जाता है.

OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE चालू होना चाहिए.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[out] aPrefixInfo
वह पॉइंटर जहां प्रीफ़िक्स की जानकारी दिखेगी.
रिटर्न वैल्यू
OT_ERROR_NONE
जानकारी वापस मिल गई है.
OT_ERROR_INVALID_STATE
बॉर्डर रूटिंग मैनेजर अभी तक शुरू नहीं हुआ है.
OT_ERROR_NOT_FOUND
इस बीआर के बारे में कोई मान्य जानकारी मौजूद नहीं है.

otBorderRoutingGetRouteInfoOptionPreference

otRoutePreference otBorderRoutingGetRouteInfoOptionPreference(
  otInstance *aInstance
)

इन्फ़्रास्ट्रक्चर लिंक पर भेजे गए राऊटर विज्ञापन मैसेज में, रास्ते की जानकारी के विकल्प (आरआईओ) का विज्ञापन करते समय मौजूदा प्राथमिकता मिलती है.

आरआईओ की प्राथमिकता इस तरह तय की जाती है:

  • अगर उपयोगकर्ता ने otBorderRoutingSetRouteInfoOptionPreference() को कॉल करके इसे साफ़ तौर पर सेट किया है, तो दी गई प्राथमिकता का इस्तेमाल किया जाता है.
  • अगर ऐसा नहीं है, तो यह डिवाइस की मौजूदा भूमिका के आधार पर तय किया जाता है: राऊटर/लीडर की भूमिका में होने पर मध्यम प्राथमिकता और बच्चे की भूमिका में होने पर कम प्राथमिकता.

ब्यौरा
लौटाए गए सामान
रास्ते की जानकारी के विकल्प की मौजूदा प्राथमिकता.

otBorderRoutingGetRoutePreference

otRoutePreference otBorderRoutingGetRoutePreference(
  otInstance *aInstance
)

नेटवर्क डेटा में पब्लिश किए गए रास्तों के लिए इस्तेमाल की जाने वाली मौजूदा प्राथमिकता पाएं.

प्राथमिकता इस तरह तय की जाती है:

  • अगर उपयोगकर्ता ने otBorderRoutingSetRoutePreference() को कॉल करके इसे साफ़ तौर पर सेट किया है, तो दी गई प्राथमिकता का इस्तेमाल किया जाता है.
  • अगर ऐसा नहीं है, तो RoutingManager यह अपने-आप तय हो जाता है. यह डिवाइस की भूमिका और लिंक की क्वालिटी के आधार पर तय होता है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
लौटाए गए सामान
प्रकाशित रास्ते की मौजूदा प्राथमिकता.

otBorderRoutingGetState

otBorderRoutingState otBorderRoutingGetState(
  otInstance *aInstance
)

बॉर्डर रूटिंग मैनेजर की मौजूदा स्थिति की जानकारी देता है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
लौटाए गए सामान
बॉर्डर रूटिंग मैनेजर की मौजूदा स्थिति.

otBorderRoutingInit

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

दिए गए इंफ़्रास्ट्रक्चर इंटरफ़ेस पर, बॉर्डर रूटिंग मैनेजर को शुरू करता है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aInfraIfIndex
इन्फ़्रास्ट्रक्चर इंटरफ़ेस इंडेक्स.
[in] aInfraIfIsRunning
एक बूलियन, जो बताता है कि इन्फ़्रास्ट्रक्चर इंटरफ़ेस चल रहा है या नहीं.
रिटर्न वैल्यू
OT_ERROR_NONE
दी गई इंफ़्रास्ट्रक्चर पर बॉर्डर रूटिंग मैनेजर को सफलतापूर्वक शुरू किया गया.
OT_ERROR_INVALID_STATE
बॉर्डर रूटिंग मैनेजर, बंद या शुरू नहीं की गई स्थिति के अलावा किसी दूसरी स्थिति में है.
OT_ERROR_INVALID_ARGS
इंफ़्रास्ट्रक्चर इंटरफ़ेस का इंडेक्स मान्य नहीं है.
OT_ERROR_FAILED
कोई अंदरूनी गड़बड़ी हुई. आम तौर पर, यह रैंडम प्रीफ़िक्स जनरेट नहीं करने की वजह से होता है.
यह भी देखें:
otPlatInfraIfStateChanged.
otBorderRoutingSetEnabled.

otBorderRoutingPrefixTableInitIterator

void otBorderRoutingPrefixTableInitIterator(
  otInstance *aInstance,
  otBorderRoutingPrefixTableIterator *aIterator
)

otBorderRoutingPrefixTableIterator शुरू करता है.

इटरेटर का इस्तेमाल करने से पहले, उसे शुरू करना ज़रूरी है.

टेबल की शुरुआत से रीस्टार्ट करने के लिए, इटरेटर को फिर से शुरू किया जा सकता है.

टेबल में एंट्री को अपडेट करते समय, यह पक्का करने के लिए कि अपडेट का समय mMsecSinceLastUpdate एक जैसा हो, इसे इटरेटर के शुरू होने के समय के हिसाब से दिया जाता है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस.
[out] aIterator
शुरू करने के लिए, इटरेटर का पॉइंटर.

otBorderRoutingSetEnabled

otError otBorderRoutingSetEnabled(
  otInstance *aInstance,
  bool aEnabled
)

बॉर्डर रूटिंग मैनेजर को चालू या बंद करता है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aEnabled
रूटिंग मैनेजर को चालू/बंद करने का बूलियन.
रिटर्न वैल्यू
OT_ERROR_INVALID_STATE
बॉर्डर रूटिंग मैनेजर अभी तक शुरू नहीं हुआ है.
OT_ERROR_NONE
बॉर्डर रूटिंग मैनेजर को चालू या बंद किया गया.

otBorderRoutingSetRouteInfoOptionPreference

void otBorderRoutingSetRouteInfoOptionPreference(
  otInstance *aInstance,
  otRoutePreference aPreference
)

इंफ़्रास्ट्रक्चर लिंक पर भेजे गए राऊटर के विज्ञापन मैसेज में, रूट जानकारी के विकल्पों (RIO) का विज्ञापन करते समय, इस्तेमाल करने की प्राथमिकता साफ़ तौर पर सेट करता है.

इस फ़ंक्शन को कॉल करने के बाद, BR सभी विज्ञापन किए गए आरआईओ के लिए दी गई प्राथमिकता का इस्तेमाल करेगा. otBorderRoutingClearRouteInfoOptionPreference() पर कॉल करके प्राथमिकता मिटाई जा सकती है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aPreference
इस्तेमाल करने के लिए चुना गया रास्ता.

otBorderRoutingSetRoutePreference

void otBorderRoutingSetRoutePreference(
  otInstance *aInstance,
  otRoutePreference aPreference
)

नेटवर्क डेटा में पब्लिश किए गए रूट की प्राथमिकता साफ़ तौर पर सेट करता है.

इस फ़ंक्शन को कॉल करने के बाद, BR दी गई प्राथमिकता का इस्तेमाल करेगा. otBorderRoutingClearRoutePreference() पर कॉल करके प्राथमिकता मिटाई जा सकती है.

ब्यौरा
पैरामीटर
[in] aInstance
OpenThread इंस्टेंस के लिए पॉइंटर.
[in] aPreference
इस्तेमाल करने के लिए चुना गया रास्ता.

रिसॉर्स

OpenThread API के रेफ़रंस के विषय, सोर्स कोड से मिलते हैं. यह सोर्स GitHub पर उपलब्ध है. ज़्यादा जानकारी या हमारे दस्तावेज़ में योगदान देने के लिए, संसाधन देखें.