IFF_UP和IFF_RUNNING有什么区别?(这是一个关于IT技术的问题)

22

这两个标志通常一起设置。它们之间有什么区别?

2个回答

30

来自Linux设备驱动程序第3版:

IFF_UP 这个标志对于驱动程序来说是只读的。当接口处于活动状态并且准备好传送数据包时,内核会将其打开。

...

IFF_RUNNING

此标志表示接口正在运行。它主要用于BSD兼容性;内核很少使用它。大多数网络驱动程序不需要担心IFF_RUNNING。

深入挖掘一下,似乎有一个重要的区别:

IFF_RUNNING应该反映网络接口的操作状态,而不是其管理状态。例如,管理员可以将以太网接口带上线(例如ifconfig eth0 up),但如果电缆未插入,则不会被视为运行(即符合RFC2863的“RUNNING”)。


7

检查以确定以太网电缆是否真正连接到网络,您应该检查 IFF_RUNNIG。 IFF_UP 表示系统为接口分配了资源。

请查找详细的代码,“ip link show”和“ethtool eth0”如何检查链接在这里


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接