如何检测WAN口的网线插拔

如题,怎么检测WAN口网线插拔,要能实时检测
已邀请:

xzmu - 10w

赞同来自:

内核netlink有接口。实时的。
 
具体可以参考procd里的代码是怎么实现的。
 
如果想省事点,直接/etc/hotplug.d/iface写个脚本就行。脚本可以参考同目录的其他文件

清风

赞同来自:

我用netlink试了,但是插拔网线收不到相关的消息,只有网络或者ip变化了才能检测到,hotplug脚本也试过,插拔网线貌似也不行,但是通过ifup/ifdown命令的确可以有效检测到。想问下proc里是哪一个文件是说实现这个的啊?谢谢了,附上测试的hotplug脚本:
[ "ifup" == "$ACTION" ]  && {
        [ "wan" == "$INTERFACE" ] && logger "WAN UP OKay"
}

xzmu - 10w

赞同来自:

procd的源码,不是proc。。。

清风

赞同来自:

额,看错了,我去看下,谢谢啦

xzmu - 10w

赞同来自:

不好意思,我重新看了下代码,主要的代码是在netifd里,而不是procd。你去找netifd的device.c,中这里开始往后查就能查到怎么判断网口断开、连接的事件获取办法了

要回复问题请先登录注册