Поделиться через


структура NET_PACKET (packet.h)

Представляет один сетевой пакет.

Синтаксис

typedef struct _NET_PACKET {
  UINT32            FragmentIndex;
  UINT16            FragmentCount;
  NET_PACKET_LAYOUT Layout;
  UINT8             Ignore : 1;
  UINT8             Scratch : 1;
  UINT8             Reserved1 : 6;
} NET_PACKET;

Члены

FragmentIndex

Индекс в кольце фрагмента первой NET_FRAGMENT структуры в полезных данных этого пакета.

FragmentCount

Количество NET_FRAGMENT структур, принадлежащих этому пакету.

Layout

Структура NET_PACKET_LAYOUT.

Для очередей передачи, если стек узлов включил разгрузку задачи, использующую заголовок протокола, указывает смещение только для чтения для каждого поля протокола. Например, если включена разгрузка контрольной суммы TCP, этот элемент указывает смещение заголовка TCP. В противном случае этот элемент пуст.

Если стек узлов включил разгрузку задачи, использующую заголовок протокола, задайте флаги Layer2Type, Layer3Typeи Layer4Type. Если задача не выгружается, этот член пуст.

Ignore

Для очередей получения клиент задает это поле, чтобы предотвратить указание пакета узлу. Например, если оборудование столкнулось с ошибкой DMA при записи байтов в этот буфер данных для фрагментов этого пакета, клиент может задать это поле для удаления частичного пакета.

Для очередей передачи это поле доступно только для чтения. Если задано, он указывает, что клиент не должен передавать пакет.

Scratch

Битовое значение поля, которое клиент может использовать для любой цели. При повторном использовании NET_PACKET это значение сбрасывается до нуля.

Reserved1

Скрытный. Клиентские драйверы не должны читать или записывать это значение.

Замечания

Каждая NET_PACKET структура представляет один сетевой кадр и содержит базовые метаданные, применимые ко всем пакетам, например макету кадрирования. NET_PACKET содержит по крайней мере один NET_FRAGMENT, описывающий расположение в системной памяти, в которой находятся данные пакета.

Структура NET_PACKET может быть элементом в NET_RING структуре.

Требования

Требование Ценность
минимальная версия KMDF 1.29
минимальная версия UMDF 2.33
заголовка packet.h