Дополнительные характеристики 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 Число коллизийАппаратно-независимая часть драйвера обрабатывает все запросы, поступающие от пользователя услуг уровня канала данных. Для этого в драйвере определены следующие функции (часть из них являются стандартными точками входа STREAMS):
Примитивы DLPI
Как и в случае предоставления транспортных услуг, обмен данными между пользователем и поставщиком происходит в виде сообщений, несущих примитивы DLPI. Ниже рассмотрены некоторые из этих примитивов, относящиеся к режиму передачи без предварительного установления связи и без подтверждения. Именно такой режим обычно используется в традиционных локальных сетях.
Несмотря на то что рассматриваемая услуга не предусматривает установления связи, фактической передаче данных предшествует обмен примитивами для инициализации потока и подключения его к поставщику услуг уровня канала данных. Во-первых, пользователь должен создать точку доступа к поставщику услуг, для чего необходимо произвести операцию связывания. Во-вторых, в случае использования поставщика услуг второго типа (style 2), пользователь также должен подключиться к требуемой PPA. Наконец, пользователю может потребоваться произвести ряд действий, включающих получение информации о созданном потоке, регистрацию специфического группового адреса для потока или включение режима отсутствия фильтрации кадров, при котором пользователь сможет получать копии всех пакетов, полученных поставщиком услуг.[94]