структура NDIS_NET_BUFFER_LIST_8021Q_INFO (ndis/nbl8021q.h)

Структура NDIS_NET_BUFFER_LIST_8021Q_INFO указывает сведения 802.1Q, связанные со структурой NET_BUFFER_LIST .

Синтаксис

typedef struct _NDIS_NET_BUFFER_LIST_8021Q_INFO {
  union {
    struct {
      UINT32 UserPriority : 3;
      UINT32 CanonicalFormatId : 1;
      UINT32 VlanId : 12;
      UINT32 Reserved : 16;
    } TagHeader;
    struct {
      UINT32 UserPriority : 3;
      UINT32 CanonicalFormatId : 1;
      UINT32 VlanId : 12;
      UINT32 WMMInfo : 4;
      UINT32 Reserved : 12;
    } WLanTagHeader;
    PVOID Value;
  };
} NDIS_NET_BUFFER_LIST_8021Q_INFO, *PNDIS_NET_BUFFER_LIST_8021Q_INFO;

Члены

TagHeader

Член объединения, содержащегося в NDIS_NET_BUFFER_LIST_8021Q_INFO. Драйверы ethernet 802.3 miniport используют TagHeader для доступа к сведениям 802.1Q. TagHeader — это битовое поле со следующими элементами:

TagHeader.UserPriority

Указывает сведения о приоритете 802.1p, используемые для определения приоритета пакетов в сетях 802 shared-media. Биты в этом элементе задают значение приоритета 802.1p.

TagHeader.CanonicalFormatId

Для этого элемента необходимо задать нулевое значение, указывающее, что все сведения MAC-адреса, присутствующих в пакете, представлены в каноническом формате (то есть в простейшей форме).

TagHeader.VlanId

Определяет виртуальную локальную сеть, к которой принадлежит пакет. Исходящие пакеты помечаются идентификатором виртуальной локальной сети.

TagHeader.Reserved

Этот элемент зарезервирован и должен иметь нулевое значение.

WLanTagHeader

Член объединения, содержащегося в NDIS_NET_BUFFER_LIST_8021Q_INFO. Собственные драйверы минипорта 802.11 используют WLanTagHeader для доступа к сведениям 802.1Q. WLanTagHeader — это битовое поле со следующими элементами:

WLanTagHeader.UserPriority

Указывает сведения о приоритете 802.1p, используемые для определения приоритета пакетов в сетях 802 shared-media. Биты в этом элементе задают значение приоритета 802.1p.

WLanTagHeader.CanonicalFormatId

Для этого элемента необходимо задать нулевое значение, указывающее, что все сведения MAC-адреса, присутствующих в пакете, представлены в каноническом формате (то есть в простейшей форме).

WLanTagHeader.VlanId

Определяет виртуальную локальную сеть, к которой принадлежит пакет. Исходящие пакеты помечаются идентификатором виртуальной локальной сети.

WLanTagHeader.WMMInfo

Целочисленное значение беспроводной мультимедиа (WMM), совпадающее с полями идентификатора трафика (TID), которые отображаются в определенных кадрах, которые используются для доставки и управления доставкой данных качества обслуживания (QoS) 802.1Q. Значения от 0 до 7 представляют приоритеты пользователей QoS (UP) для единиц данных службы MAC (MSTU). Значения от 8 до 15 зарезервированы. Таким образом, самый высокий бит в WMMInfo должен быть равен нулю.

Примечание Спецификация трафика (TSPEC) и классификация трафика (TCLAS) не поддерживаются.
 

WLanTagHeader.Reserved

Этот элемент зарезервирован и должен иметь нулевое значение.

Value

Член объединения, содержащегося в NDIS_NET_BUFFER_LIST_8021Q_INFO. Значение содержит значение указателя, которое совместимо с типом элемента NetBufferListInfo в структуре NET_BUFFER_LIST .

Комментарии

Чтобы получить или вставить сведения 802.1Q, связанные со структурой NET_BUFFER_LIST , драйвер NDIS вызывает макрос NET_BUFFER_LIST_INFO и задает тип сведений Ieee8021QNetBufferListInfo .

Макрос NET_BUFFER_LIST_INFO возвращает указатель, указанный в элементе Value структуры NDIS_NET_BUFFER_LIST_8021Q_INFO. Драйвер NDIS может использовать элемент TagHeader или WLanTagHeader объединения для доступа к определенным типам информации, таким как приоритет 802.1p и сведения об идентификаторе виртуальной локальной сети. Член WLanTagHeader предоставляет доступ к беспроводной информации мультимедиа (WMM) в дополнение к информации, доступной через элемент TagHeader .

Драйверы miniport, поддерживающие тег 802.1Q в оборудовании, должны использовать структуру NDIS_NET_BUFFER_LIST_8021Q_INFO для операций передачи и приема:

  • Для операций передачи драйвер мини-порта должен проверка для NDIS_NET_BUFFER_LIST_8021Q_INFO данных OOB в структуре NET_BUFFER_LIST. Драйвер мини-порта должен убедиться, что оборудование создает тег 802.1Q из спецификаций NDIS_NET_BUFFER_LIST_8021Q_INFO и вставляет его в кадр Ethernet.
  • Для операций получения драйвер мини-порта должен удалить тег 802.1Q из кадра Ethernet и сопоставить сведения тега 802.1Q с данными NDIS_NET_BUFFER_LIST_8021Q_INFO OOB в структуре NET_BUFFER_LIST, прежде чем указывать данные в NDIS с помощью Функция NdisMIndicateReceiveNetBufferLists .

Требования

Требование Значение
Минимальная версия клиента Поддерживается в NDIS 6.0 и более поздних версиях.
Верхняя часть ndis/nbl8021q.h (включая ndis.h)

См. также раздел

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

NdisMIndicateReceiveNetBufferLists