2013-05-17 13 views
7

में संग्रहीत किया जाएगा, मैं हाल ही में प्राप्त राउटर विज्ञापन के एम ध्वज और ओ ध्वज के मूल्य को जानना चाहता हूं। कर्नेल स्रोत कोड से मुझे पता चला कि एम ध्वज और ओ ध्वज संग्रहित हैं।जहां एम ध्वज और ओ ध्वज लिनक्स

/* 
    * Remember the managed/otherconf flags from most recently 
    * received RA message (RFC 2462) -- yoshfuji 
    */ 
    in6_dev->if_flags = (in6_dev->if_flags & ~(IF_RA_MANAGED | 
          IF_RA_OTHERCONF)) | 
          (ra_msg->icmph.icmp6_addrconf_managed ? 
            IF_RA_MANAGED : 0) | 
          (ra_msg->icmph.icmp6_addrconf_other ? 
            IF_RA_OTHERCONF : 0); 
    . 
    . 
    . 

तो मेरा मानना ​​है कि यह ioctl या proc फाइल सिस्टम या किसी अन्य विधि का उपयोग कर उन मूल्यों को पुनः प्राप्त करना संभव होना चाहिए। क्या कोई इस तरह से इंगित कर सकता है।

+0

से कोड प्राप्त करें आप किस भाषा में काम कर रहे हैं? –

+0

बेशक मैं सी – theB

उत्तर

3

आखिर में मुझे रास्ता मिला। Google के लिए धन्यवाद, शर्ली मा के लिए धन्यवाद। कृपया मेरे ब्लॉग http://kumaran127.blogspot.jp/2013/05/get-m-and-o-flag-of-most-recently.html

+0

आपके ब्लॉग में आप आईबीएम द्वारा कुछ लाइब्रेरी कोड का जिक्र करते हैं। क्या आप इससे भी लिंक कर सकते हैं, अग्रिम धन्यवाद। – thuovila

+1

यहां उस कोड का लिंक है [लिंक] (http://dev.laptop.org/~mstone/sources/expanded_srpms/dhcpv6-0.10-44.fc7/dhcp-0.10/) (http: //dev.laptop .org/~ mstone/स्रोतों/expanded_srpms/dhcpv6-0.10-44.fc7/DHCP-0.10 /)। मैंने netlink.c फ़ाइल से कोड का उपयोग किया। – theB

1

मैं यकीन है कि आप इस procfs में नहीं मिलेगा, लेकिन आप radvdump के साथ इन पैकेट का विश्लेषण कर सकते हैं: http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/hints-daemons-radvd.html देख सकते हैं और यह कैसे लागू हो जाता है के संदर्भ के लिए: http://svn.dd-wrt.com/browser/src/router/radvd/radvdump.c?rev=11491 .. यहाँ कैसे वे एक कच्चे पर icmp6 फिल्टर बनाने के है सॉकेट http://svn.dd-wrt.com/browser/src/router/radvd/socket.c?rev=11491 जिसे बाद में सुनने के लिए उपयोग किया जाता है।

चीयर्स

+0

में काम कर रहा हूं क्या आप कृपया मुझे बता सकते हैं कि आप कैसे सुनिश्चित हैं कि proc फाइल सिस्टम में यह जानकारी नहीं है। और मैंने जो कोड साझा किया है उसे देखें। यह इतना स्पष्ट है कि हालिया आरए के झंडे भविष्य के संदर्भ के लिए संग्रहीत हैं (जैसे आरएफसी निर्दिष्ट करता है)। तो इसे पुनः प्राप्त करने का कोई तरीका होना चाहिए। – theB

+1

यहां सभी 'procfs' [प्रविष्टियों /prys/sys/net/ipv6/] (http://www.tldp.org/HOWTO/Linux+IPv6-HOWTO/proc-sys-net-ipv6 में प्रविष्टियों की एक सूची है। .html)। दुर्भाग्य से, आरए के झंडे के लिए कोई प्रविष्टि सूचीबद्ध नहीं है। –

+1

जो स्रोत कोड आप देख रहे हैं वह शायद * कर्नेल के भीतर * उपयोग के लिए झंडे को संग्रहीत कर रहा है। यदि आप उपयोगकर्ता स्पेस से इन झंडे तक पहुंच चाहते हैं, तो आपको ** radvd ** जैसे डिमन पर भरोसा करना होगा, या **/proc पर झंडे प्रिंट करने के लिए अपना स्वयं का कर्नेल मॉड्यूल (विशेष रूप से पूरा करना मुश्किल नहीं है) रोल करना होगा/**। –

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