Linux监听网线插入/工作函数

[转载]http://blog.csdn.net/qianguozheng/article/details/50404753

这个函数简单查询就解决了我遇到的问题. 从中了解很很多关于Linux内核的sys文件系统的知识以及其实现. [email protected]

网卡在物理上具有载波侦听的功能,当网络连接完整或者网络链接断开时,网卡芯片硬件会自动设置寄存器标志位来标识。

如网线链接断开的时候,会将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状态来告知内核链路状态的变化

 

内核态可以完全知道当前设备的网线是否插入,也就很容易检测当前是否可以联网。

后续会加入更多关于这几个函数的用法和说明。

发表评论

电子邮件地址不会被公开。 必填项已用*标注