2012-06-11 14 views
5

मैं एक लिनक्स कर्नेल मॉड्यूल लिख रहा हूं जिसे एक लिंक ऊपर/नीचे होने पर अधिसूचित करने की आवश्यकता है, अब मैंने पढ़ा है कि मैं netlink socket खोल सकता हूं और RTMGRP_LINK (नेटवर्क इंटरफ़ेस बना/हटा/ऊपर/नीचे ईवेंट सुन सकता हूं)) मल्टीकास्ट समूह, लेकिन इसका उपयोग उपयोगकर्ता अंतरिक्ष से किया जाता है ... कोई भी जानता है कि कर्नेल स्पेस से इस बाधा को कैसे पकड़ें? मैं कर्नेल 2.6.35एनआईसी इंटरप्ट (ऊपर/नीचे) को कैसे पकड़ें?

उत्तर

3

<linux/netdevice.h> में विशेष रूप से नेटडेव नोटिफ़ायर श्रृंखला के बारे में सामग्री का उपयोग कर रहा हूं। कॉलबैक पंजीकृत करने के लिए आप register_netdevice_notifier() पर कॉल कर सकते हैं (कई अन्य ईवेंट प्रकारों के बीच) NETDEV_UP और NETDEV_DOWN ईवेंट प्राप्त करेंगे।

+0

बहुत बहुत धन्यवाद! नोटिफ़ायर चेन का उपयोग करना बिल्कुल वही था जो मुझे चाहिए था। –

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