这两个标志通常一起设置。它们之间有什么区别?
IFF_UP 这个标志对于驱动程序来说是只读的。当接口处于活动状态并且准备好传送数据包时,内核会将其打开。
...
IFF_RUNNING
此标志表示接口正在运行。它主要用于BSD兼容性;内核很少使用它。大多数网络驱动程序不需要担心IFF_RUNNING。
深入挖掘一下,似乎有一个重要的区别:
IFF_RUNNING
应该反映网络接口的操作状态,而不是其管理状态。例如,管理员可以将以太网接口带上线(例如ifconfig eth0 up
),但如果电缆未插入,则不会被视为运行(即符合RFC2863的“RUNNING”)。
检查以确定以太网电缆是否真正连接到网络,您应该检查 IFF_RUNNIG。 IFF_UP 表示系统为接口分配了资源。
请查找详细的代码,“ip link show”和“ethtool eth0”如何检查链接在这里。