В чем разница между IFF UP и IFF RUNNING?
эти два флага часто устанавливаются совместно. В чем разница между ними?
2 ответов
IFF_UP Этот флаг только для чтения для водителя. Ядро включает его, когда интерфейс активен и готов к передаче пакетов.
...
IFF_RUNNING
этот флаг указывает, что интерфейс запущен и работает. Это в основном присутствует для совместимости с BSD; ядро мало использует его. Наиболее сетевые драйверы не должны беспокоиться о IFF_RUNNING.
копать немного глубже, кажется, что там is одно существенное различие:
IFF_RUNNING
должен отражать операционные состояние сетевого интерфейса, а не административное. В качестве примера можно привести интерфейс Ethernet UP
администратором (например,ifconfig eth0 up
), но он не будет считаться оперативным (т. е. RUNNING
согласно RFC2863), если кабель не подключен в.
чтобы проверить, действительно ли кабель ethernet подключен к сети, вы должны проверить IFF_RUNNIG. IFF_UP означает, что система выделила ресурсы для интерфейса.
пожалуйста, найдите подробный код, как" ip link show "и" ethtool eth0 " проверяет наличие ссылки здесь.