Linux內核中監聽網線是否插入是否工作函數

這個函數簡單查詢就解決了我遇到的問題. 從中瞭解很很多關於Linux內核的sys文件系統的知識以及其實現. 感謝羣衆的@Win給的提示.

網卡在物理上具有載波偵聽的功能,當網絡連接完整或者網絡鏈接斷開時,網卡芯片硬件會自動設置寄存器標誌位來標識。

如網線鏈接斷開的時候,會將LinkSts清位;重新鏈接網線,則硬件自動將此位置位。

這樣,在網卡驅動中讀寫該位信息就可一判斷網絡是否鏈接通路。

網卡驅動程序通過netif_carrier_on/netif_carrier_off/netif_carrier_ok來和內核網絡子系統傳遞信息。

1】netif_carrier_on

【作用】告訴內核子系統網絡鏈接完整。

2】netif_carrier_off

【作用】告訴內核子系統網絡斷開。

3】netif_carrier_ok

【作用】查詢網絡斷開還是鏈接。

以上函數主要是改變net_device dev的state狀態來告知內核鏈路狀態的變化。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章