Поле flags
может включать следующие флаги:
BOARD_PRESENT |
Устанавливается драйвером после успешной инициализации адаптера |
BOARD_DISABLED |
Устанавливается драйвером при неудачной инициализации адаптера. Этот флаг также может быть установлен, если драйвер определит нарушения в функционировании адаптера |
TX_BUSY |
Указывает на отсутствие ресурсов, например отсутствие необходимых буферов для передачи кадра |
TX_QUEUED |
Указывает на наличие кадров, ожидающих передачи |
Для каждого подключенного пользователя услуг, или, другими словами, для каждой активной SAP драйвер создает структуру данных DL_sap_t
, описывающую тип и характеристики точки доступа. Приведем описание некоторых полей этой структуры:
state |
Состояние SAP. Возможные состояния определены интерфейсом DLPI. Исходное состояние точки доступа DL_UNBOUND |
|
sap_addr |
Уникальный адрес (идентификатор) SAP | |
flags |
Флаги, определяющие дополнительные характеристики SAP | |
read_q |
Указатель на очередь чтения потока, связанного с SAP | |
write_q |
Указатель на очередь записи потока, связанного с SAP | |
mac_type |
Тип используемого протокола доступа и формат используемого кадра. Возможные значения включают: | |
DL_CMACD |
IEEE 802.3 | |
DL_ETHER |
Ethernet 2.0 | |
DL_TPB |
IEEE 802.4 | |
DL_TPR |
IEEE 802.5 | |
DL_HDLC |
ISO HDLC | |
DL_FDDI |
FDDI | |
service_mode |
Режим передачи данных. В локальных сетях обычно используется режим без установления связи без подтверждения DL_CLDLS |
|
provider_style |
Тип поставщика услуг: DL_STYLE1 или DL_STYLE2 |
|
bd |
Указатель на структуру DL_bdconfig_t , связанную с сетевым адаптером |
|
next_sap |
Указатель на следующую точку доступа в списке активных SAP | |
max_spdu |
Максимальный размер данных, которые могут быть переданы в кадре | |
min_spdu |
Минимальный размер данных, которые могут быть переданы в кадре |
Дополнительные характеристики SAP хранятся в поле flags
, которое может включать следующие флаги:
RAWCSMACD |
Указывает, что через SAP передаются только кадры формата IEEE 802.3 |
SNAPCSMACD |
Указывает, что через SAP передаются кадры формата LLC SNAP |
PROMISCUOUS |
Указывает, что SAP работает в режиме отсутствия фильтрации кадров (promiscuous mode), при котором SAP получает копии всех кадров независимо от адреса точки доступа, которой они предназначаются. Данный режим применяется, например, при создании приложений мониторинга уровня канала данных |
PRIVILEGED |
Указывает, что управление точкой доступа требует привилегий суперпользователя |
Кроме того, драйвер хранит и обновляет статистическую информацию о сетевом интерфейсе, представляющую собой набор счетчиков, связанных с работой адаптера, и ассоциированных с ним точек доступа. Пользователь может получить интересующую его статистику с помощью соответствующей команды ioctl(2). Приведем в качестве примера описание некоторых из этих счетчиков:
ifInOctets |
Общее число октетов, полученных адаптером |
ifOutOctets |
Общее число октетов, переданных адаптером |
ifOutUcastPkts |
Число переданных однонаправленных (unicast) пакетов |
ifOutNUcastPkts |
Число переданных групповых (multicast) и широковещательных (broadcast) пакетов |
ifInDiscards |
Число полученных, но отброшенных правильных пакетов |
ifInUcastPkts |
Число полученных однонаправленных (unicast) пакетов |
ifInNUcastPkts |
Число полученных групповых (multicast) и широковещательных (broadcast) пакетов |
ifInErrors |
Число пакетов, полученных с ошибкой |
ifUnknownProtos |
Число полученных пакетов, которые были отброшены из-за неправильной SAP адресата |
ifOutQlen |
Число пакетов, находящихся в очереди на передачу |
ifOutErrors |
Число пакетов, переданных с ошибкой |
etherCollisions |
Число коллизий |