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

Внимание! Этот перевод, возможно, ещё не готов, так как модераторы установили для него статус «перевод редактируется»

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

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

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

unsigned long rx_packets;
unsigned long tx_packets;

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

unsigned long rx_bytes;
unsigned long tx_bytes;

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

unsigned long rx_errors;
unsigned long tx_errors;

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

unsigned long rx_dropped;
unsigned long tx_dropped;

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

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

unsigned long multicast;

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

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

Внимание! Этот перевод, возможно, ещё не готов.
Его статус: перевод редактируется

Переведено на Нотабеноиде
http://notabenoid.org/book/11832/38394

Переводчики: hardorsoft

Настройки

Готово:

100.00% КП = 1.0