Я собираюсь написать драйвер сетевого устройства, который поддерживает несколько каналов.
Теперь я собираюсь записать некоторые счетчики (например, переданные байты/пакеты) этого канала в sysfs
.
Например, это устройство открывает 8 каналов, тогда я хотел бы, чтобы sysfs был таким:
/sys/devices/mynetdev/channel_0/
______________________________/bytes_egress
/sys/devices/mynetdev/channel_1/
______________________________/bytes_egress
/sys/devices/mynetdev/channel_2/
______________________________/bytes_egress
...
Вопросы:
- Как создать группу атрибутов, чтобы у меня была одна папка на канал?
- Похоже, мне нужно связать группу атрибутов перед регистрацией устройства. Тогда когда мне обновить эти атрибуты? Обновление атрибута может повлиять на производительность сети?
- Как работает «атрибут»? Например, когда пользователь запрашивает sysfs из команды
cat
, выдает ли он команду драйверу для обновления атрибута? Или мой драйвер будет продолжать обновлять атрибут, а командаcat
просто запросит значение?
Спасибо!