структура 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 |