2010-07-08 19 views
9

मैं ioctl() सिस्टम कॉल prgramtically का उपयोग कर ipv6 पता असाइन कर रहा हूँ। मैं जानना चाहता हूं कि कोई रास्ता है या नहीं, मुझे लगता है कि असाइन किया गया आईपी टेटेटिव/डुप्लिकेट है?IPv6 पता के TENTATIVE ध्वज को कैसे पढ़ा जाए?

धन्यवाद।

+0

मेजबान या नेटवर्क पर? –

उत्तर

1

होस्ट: getifaddrs() के साथ इंटरफेस का आकलन करें।

(संपादित करें) ऐसा लगता है कि आपको से पहले sysctl(NET_IPV6_OPT_DAD_ENABLE) पर कॉल करने की आवश्यकता है?

http://lwn.net/Articles/218597/

नेटवर्क: भेजें एक ICMP पिंग खासियत है लेकिन सबूत विधि है कि DHCP सर्वर का उपयोग मूर्ख नहीं।

यह माना जाता है कि यदि आप आईपी सेट कर रहे हैं तो आप डीएचसीपी का एक रूप कार्यान्वित कर रहे हैं और आप उस सेगमेंट के सभी पते को नियंत्रित करते हैं। अन्यथा लिंक-लोकल स्कोप पहले से ही अद्वितीय पते का उपयोग करें।

+0

आपकी प्रतिक्रिया के लिए धन्यवाद। मैं मेजबान पर जांच कर रहा हूँ। मैं आईपीवी 6 पता असाइन करता हूं और फिर मैं जानना चाहता हूं कि यह टेंटेटिव/डुप्लिकेट नहीं है। गेटिफैडर्स() फ़ंक्शन केवल SIOCGIFFLAGS देता है जिसमें IFA_F_TENTATIVE मौजूद नहीं है। "आईपी" कमांड मुझे बताता है कि आईपी "आईपी एड्र शो <इंटरफ़ेस नाम> – Krishna

+0

कमांड का उपयोग कर टेटेटिव है या नहीं, मैं आईपीआरओटीई पैकेज के स्रोतों के माध्यम से जा रहा हूं जो" आईपी "का गठन करते हैं। हालांकि कोई भाग्य नहीं था ...: - ( – Krishna

1

आप नीचे दिए गए के रूप में IPv6 पता की जांच झंडा पढ़ सकते हैं:

इंगित करता है झंडे कि मल्टीकास्ट एड्रेस पर सेट कर रहे हैं। आरएफसी 2373 के रूप में, परिभाषित एकमात्र ध्वज क्षणिक (टी) ध्वज है। टी ध्वज ध्वज फ़ील्ड के निम्न-क्रम बिट का उपयोग करता है।

* If 0, the multicast address is a permanently assigned, well-known multicast address allocated by the Internet Assigned Numbers Authority (IANA). 
* If 1, the multicast address is a not permanently assigned, or transient. 
+0

हाय, आपकी प्रतिक्रिया के लिए धन्यवाद। मुझे लगता है कि यह केवल बहु-कलाकार आईपीवी 6 पते के लिए काम करता है। यह लिंक-स्थानीय, साइट-स्थानीय और वैश्विक पते के लिए नहीं है। लेकिन, मैं नेटलिंक का उपयोग करने में सक्षम हूं हालांकि झंडे को पुनः प्राप्त करने के लिए सॉकेट। सम्मान, -कृष्णा – Krishna

0

एक तरह से पता के राज्य पाने के लिए RTM_GETADDR संदेश जो ifaddrmsg संरचना जो ifa_flags शामिल पुन: प्राप्त करता माध्यम rtnetlink पुस्तकालय का प्रयोग है। आदमी पेज पर यहाँ जानकारी के लिए देखो:

http://man7.org/linux/man-pages/man7/rtnetlink.7.html

झंडे और ifaddrmsg संरचना if_addr.h में दिखाए जाते हैं:

https://github.com/torvalds/linux/blob/master/include/uapi/linux/if_addr.h

संबंधित मुद्दे