У меня есть модуль ядра linux, который должен найти скорость заданного сетевого интерфейса (т. Е. «Eth0»). Для linux 2.6.31 как бы найти скорость (сконфигурированную/согласованную)?Как определить скорость сетевого устройства из модуля ядра linux
2
A
ответ
4
Каждый сетевой драйвер имеет реализацию «ethtool» для таких функций. Но вам, вероятно, нужна общая функция, которая может дать вам скорость для общей структуры netdev. Вы можете посмотреть на net/core/net-sysfs.c и посмотреть, как он реализует интерфейс/sys/class/net. Например:
static ssize_t show_speed(struct device *dev,
struct device_attribute *attr, char *buf)
{
struct net_device *netdev = to_net_dev(dev);
int ret = -EINVAL;
if (!rtnl_trylock())
return restart_syscall();
if (netif_running(netdev) &&
netdev->ethtool_ops &&
netdev->ethtool_ops->get_settings) {
struct ethtool_cmd cmd = { ETHTOOL_GSET };
if (!netdev->ethtool_ops->get_settings(netdev, &cmd))
ret = sprintf(buf, fmt_dec, ethtool_cmd_speed(&cmd));
}
rtnl_unlock();
return ret;
}
Смежные вопросы
- 1. драйвер сетевого устройства Linux
- 2. Как проверить работу tx_timeout сетевого модуля ядра?
- 3. Драйвер устройства сетевого ядра Linux и указатели skb
- 4. . Мониторинг сетевого ядра ядра на linux-машинах
- 5. Как определить текущую скорость устройства?
- 6. Как определить скорость Android-устройства?
- 7. Конфигурация модуля ядра Linux
- 8. Как получить скорость сетевого интерфейса в Linux?
- 9. Недостатки модуля ядра linux?
- 10. Компиляция модуля ядра Linux
- 11. ядра Linux разрешения модуля
- 12. Устранение блочного устройства из модуля ядра
- 13. Компиляция модуля ядра Linux
- 14. Программирование модуля ядра Linux
- 15. Расположение модуля ядра Linux
- 16. Как сохранить выход asm из модуля ядра ядра Linux
- 17. Как использовать системный вызов Linux из модуля ядра Linux
- 18. Запись на debugfs из модуля ядра Linux
- 19. Access/DEV/MEM из модуля ядра Linux
- 20. Установить состояние питания Linux из модуля ядра?
- 21. чтение большого массива из модуля ядра linux
- 22. Программирование модуля ядра Linux: makefile
- 23. Как определить размер физической памяти из модуля ядра?
- 24. Ошибка компиляции модуля ядра Linux
- 25. Код дизассемблирования модуля ядра linux
- 26. Создание простого модуля ядра linux
- 27. Makefile для Linux-модуля ядра?
- 28. Как автоматизировать компиляцию модуля ядра Linux при установке нового ядра?
- 29. Вызов функции пользовательского пространства из модуля ядра Linux
- 30. Как определить процедуру обработки прерываний драйвера устройства?