Linux Device Drivers 3 / Драйверы устройств Линукс (третье издание): 17.13. Statistical Information

Оглавление
Английский оригинал Перевод на русский

Сожалеем, но текст оригинала доступен только зарегистрированным пользователям.

17.13. Статистическая информация
Последний метод необходимый драйверу – get_stats. Этот метод
возвращает указатель на статистическую информацию об устройстве.
Реализация метода – проста. Она работает, даже когда несколько
интерфейсов управляются одним драйвером, потому что статистические
данные находятся в структуре устройства.

hardorsoft 26.10.10 в 04:37

0

struct net_device_stats *snull_stats(struct net_device *dev)
{
struct snull_priv *priv = netdev_priv(dev);
return &priv->stats;
}

hardorsoft 26.10.10 в 04:38

0

Функция должна вернуть, статистику по всему драйверу, обновив
значения полей. Далее показаны наиболее важные поля структуры
net_device_stats.

hardorsoft 26.10.10 в 04:38

0

unsigned long rx_packets;
unsigned long tx_packets;

hardorsoft 26.10.10 в 04:38

0

Общее количество принятых и отправленных пакетов, успешно
переданных интерфейсу.

hardorsoft 26.10.10 в 04:39

0

unsigned long rx_bytes;
unsigned long tx_bytes;

hardorsoft 26.10.10 в 04:38

0

Количество байт принятых и отправленных интерфейсом.

hardorsoft 26.10.10 в 04:39

0

unsigned long rx_errors;
unsigned long tx_errors;

hardorsoft 26.10.10 в 04:38

0

Количество ошибок при приеме и передачи. Это не вся информация
которая описывает ошибки, возникающие при передачи пакетов.
Структура net_device_stats содержит шесть счетчиков для ошибок
приема и пять для ошибок передачи (смотрите файл
<"linux/netdevice.h"> ). Если ваш драйвер будет вести подробную
статистику ошибок, это может помочь системному администратору в
решении проблем.

hardorsoft 26.10.10 в 04:39

0

unsigned long rx_dropped;
unsigned long tx_dropped;

hardorsoft 26.10.10 в 04:38

0

Количество упущенных пакетов при приеме и передачи. Пакет
теряется, если не хватает памяти для его размещения. Поле
tx_dropped редко используется.
unsigned long collisions;

hardorsoft 26.10.10 в 04:40

0

Количество коллизий обусловленных перегрузкой передающей
среды.

hardorsoft 26.10.10 в 04:41

0

unsigned long multicast;

hardorsoft 26.10.10 в 04:39

0

Количество принятых пакетов с групповой адресацией.

hardorsoft 26.10.10 в 04:41

0

Достоинство метода get_stats в том, что он может быть вызван в
любое время, даже когда интерфейс выключен, драйвер должен
удерживать статистическую информацию столько, сколько существует
структура net_device.

hardorsoft 26.10.10 в 04:42

0
Минутку...