IFF_UP和IFF_RUNNING有什么区别?

Kar*_*ara 17 c linux network-programming

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

thk*_*ala 20

Linux设备驱动程序3:

IFF_UP此标志对于驱动程序是只读的.当接口处于活动状态并准备传输数据包时,内核会将其打开.

...

IFF_RUNNING

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

挖一个深一点,似乎有一个显著的区别:

IFF_RUNNING应该反映网络接口上的操作状态,而不是其管理状态.举例来说,UP管理员可以提供以太网接口(例如ifconfig eth0 up),但RUNNING如果没有插入电缆,则不会将其视为可操作的(即根据RFC2863).


Tru*_*ueY 5

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

在此处找到有关“ ip链接显示”和“ ethtool eth0”如何检查链接的详细代码。