Операционная система ЗОСРВ «Нейтрино» > Руководство разработчика > Основные принципы системной разработки > Разработка драйверов и драйверные библиотеки > Драйверные библиотеки > Библиотеки разработки сетевых драйверов (devnp-*) > API NIC > nic_stats_t



nic_stats_t

Сведения о структуре nic_stats_t

Прототип:

#include <hw/nicinfo.h>
typedef struct _nic_stats {
_Uint32t revision; /* Set to NIC_STATS_REVISION */
_Uint32t media;
/* Media specific statistics */
union {
nic_ethernet_stats_t estats; /* NIC_MEDIA_802_3 */
nic_wifi_stats_t wstats; /* NIC_MEDIA_802_11 */
_Uint8t bytes[1024];
} un;
/* Generic statistics follow */
_Uint32t valid_stats; /* see NIC_STAT_... */
/* Mandatory statistics - assumed to be valid */
_Uint32t txed_ok;
_Uint32t rxed_ok;
_Uint64t octets_txed_ok;
_Uint64t octets_rxed_ok;
/* Optional statistics - "valid_stats" determines validity */
_Uint32t txed_multicast;
_Uint32t rxed_multicast;
_Uint32t txed_broadcast;
_Uint32t rxed_broadcast;
_Uint32t tx_failed_allocs;
_Uint32t rx_failed_allocs;
_Uint32t reserved[32];
} nic_stats_t;

Библиотека:

libnetdrvr

Описание:

Структура net_stats_t используется, когда модуль хочет отслеживать обязательную и необязательную статистическую информацию. Программное обеспечение более высокого уровня может запросить статистический счетчик драйвера, выполнив DCMD_IO_NET_GET_STATS devctl(). Результаты из devctl сохраняются в net_stats_t.

Структура включает следующие поля:

revision
Установите это поле в значение NIC_STATS_REVISION.
media
Описывает тип среды устройства. Должно быть установлено в одно из значений перечисления nic_media_types, определенного в файле <hw/nicinfo.h>. Важно правильно установить это поле, поскольку оно влияет на то, как будет интерпретироваться остальная часть структуры.
un.estats
Если тип среды — NIC_MEDIA_802_3, это поле должно быть заполнено статистикой, специфичной для Ethernet. Подробнее о структуре статистики Ethernet см. в структуре nic_ethernet_stats_t.
un.wstats
Если тип среды — NIC_MEDIA_802_11, это поле должно быть заполнено статистикой, специфичной для беспроводных сетей. Подробнее о структуре статистики для беспроводных сетей см. в структуре nic_wifi_stats_t.
valid_stats
Набор флагов, который указывает, какие общие статистические данные отслеживает драйвер. Определены следующие флаги:
NIC_STAT_TXED_MULTICAST
поле txed_multicast активно.
NIC_STAT_RXED_MULTICAST
поле rxed_multicast активно.
NIC_STAT_TXED_BROADCAST
поле txed_broadcast активно.
NIC_STAT_RXED_BROADCAST
поле rxed_broadcast активно.
NIC_STAT_TX_FAILED_ALLOCS
поле tx_failed_allocs активно.
NIC_STAT_RX_FAILED_ALLOCS
поле rx_failed_allocs активно.
txed_ok
Обязательная статистика, которая отслеживает количество успешно переданных пакетов.
rxed_ok
Обязательная статистика, которая отслеживает количество успешно полученных пакетов.
octets_txed_ok
Обязательная статистика, которая отслеживает количество успешно переданных байт.
octets_rxed_ok
Обязательная статистика, которая отслеживает количество успешно полученных байт.
txed_multicast
Отслеживает количество переданных мультикастовых пакетов.
rxed_multicast
Отслеживает количество полученных мультикастовых пакетов.
txed_broadcast
Отслеживает количество переданных широковещательных пакетов.
rxed_broadcast
Отслеживает количество полученных широковещательных пакетов.
txed_failed_allocs
Отслеживает количество сброшенных пакетов, которые не удалось передать из-за ошибки выделения памяти.
rxed_failed_allocs
Отслеживает количество сброшенных пакетов, которые не удалось получить из-за ошибки выделения памяти.

Классификация:

ЗОСРВ «Нейтрино»

Тематические ссылки:

nicinfo




Предыдущий раздел: Библиотека разработки сетевых драйверов