estructura NET_PACKET (packet.h)
Representa un único paquete de red.
Sintaxis
typedef struct _NET_PACKET {
UINT32 FragmentIndex;
UINT16 FragmentCount;
NET_PACKET_LAYOUT Layout;
UINT8 Ignore : 1;
UINT8 Scratch : 1;
UINT8 Reserved1 : 6;
} NET_PACKET;
Miembros
FragmentIndex
Índice en el anillo de fragmento de la primera estructura NET_FRAGMENT de la carga de este paquete.
FragmentCount
Número de estructuras de NET_FRAGMENT que pertenecen a este paquete.
Layout
Estructura NET_PACKET_LAYOUT .
En el caso de las colas de transmisión, si la pila de hosts ha habilitado una descarga de tareas que usa un encabezado de protocolo, especifica un desplazamiento de solo lectura para cada campo de protocolo. Por ejemplo, si la descarga de suma de comprobación tcp está habilitada, este miembro especifica el desplazamiento al encabezado TCP. De lo contrario, este miembro está vacío.
Para las colas de recepción, si la pila de hosts ha habilitado una descarga de tareas que usa un encabezado de protocolo, establezca las marcas Layer2Type, Layer3Type y Layer4Type . Cuando no hay descargas de tareas, este miembro está vacío.
Ignore
Para las colas de recepción, el cliente establece este campo para evitar que el paquete se indique en el host. Por ejemplo, si el hardware encontró un error DMA al escribir bytes en este búfer de datos para los fragmentos de este paquete, el cliente puede establecer este campo para quitar el paquete parcial.
En el caso de las colas de transmisión, este campo es de solo lectura. Si se establece, indica que el cliente no debe transmitir el paquete.
Scratch
Valor de campo de bits que el cliente puede usar para cualquier propósito. Cuando se reutiliza el NET_PACKET , este valor se restablece a cero.
Reserved1
Reservado. Los controladores de cliente no deben leer ni escribir este valor.
Comentarios
Cada estructura de NET_PACKET representa un único marco de red y contiene metadatos básicos aplicables a todos los paquetes, como el diseño de trama. Un NET_PACKET contiene al menos un NET_FRAGMENT que describe la ubicación en la memoria del sistema donde residen los datos del paquete.
La estructura NET_PACKET puede ser un elemento de una estructura NET_RING .
Requisitos
Requisito | Value |
---|---|
Versión mínima de KMDF | 1.29 |
Versión mínima de UMDF | 2,33 |
Encabezado | packet.h |