как работает /sys/class/net/*/operstate?

как работает /sys/class/net/*/operstate?

Я ищу способ проверить состояние сети для сайта 'панели управления'. По большей части, кажется, что дерево /sys/class/net/*/содержит соответствующую информацию. Сбивает с толку то, что operstateфайл, похоже, имеет три режима:

  • вверх
  • вниз
  • неизвестный

Когда я впервые запрашиваю это для известного рабочего сетевого адаптера, он либо «включен», либо «неизвестен». Если я тяну провод, он «вниз». Повторное подключение даст «включен». Так почему же «неизвестен»? И это вообще не работает для беспроводных точек доступа — всегда «вниз».

решение1

Как это объясняется вDocumentation/networking/operstates.txtв исходниках ядра:

IF_OPER_UNKNOWN (0):
 Interface is in unknown state, neither driver nor userspace has set
 operational state. Interface must be considered for user data as
 setting operational state has not been implemented in every driver.

Связанный контент