struttura NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO (ndis/nbllso.h)

La struttura NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO specifica le informazioni utilizzate per l'offload di attività di offload di invio di grandi dimensioni (LSO) dal trasporto TCP/IP a una scheda miniport. La struttura NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO fa parte delle informazioni NET_BUFFER_LIST .

Sintassi

typedef struct _NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO {
  union {
    struct {
      ULONG Unused : 30;
      ULONG Type : 1;
      ULONG Reserved2 : 1;
    } Transmit;
    struct {
      ULONG MSS : 20;
      ULONG TcpHeaderOffset : 10;
      ULONG Type : 1;
      ULONG Reserved2 : 1;
    } LsoV1Transmit;
    struct {
      ULONG TcpPayload : 30;
      ULONG Type : 1;
      ULONG Reserved2 : 1;
    } LsoV1TransmitComplete;
    struct {
      ULONG MSS : 20;
      ULONG TcpHeaderOffset : 10;
      ULONG Type : 1;
      ULONG IPVersion : 1;
    } LsoV2Transmit;
    struct {
      ULONG Reserved : 30;
      ULONG Type : 1;
      ULONG Reserved2 : 1;
    } LsoV2TransmitComplete;
    PVOID Value;
  };
} NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO, *PNDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO;

Members

Transmit

Struttura all'interno di NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO che specifica la trasmissione di informazioni e che contiene i membri seguenti:

Transmit.Unused

Valore ULONG che specifica lo spazio inutilizzato riservato per NDIS.

Transmit.Type

Tipo di offload che deve essere eseguito dal driver miniport. I driver di protocollo impostano questo membro su NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE per specificare operazioni offload di invio di grandi dimensioni versione 1 (LSOV1) o su NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE per specificare operazioni offload di invio di grandi dimensioni versione 2 (LSOV2).

Transmit.Reserved2

Riservato per NDIS.

LsoV1Transmit

Struttura all'interno di NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO che specifica LSO trasmettere informazioni e che contiene i membri seguenti:

LsoV1Transmit.MSS

Dimensione massima del segmento (MSS), in byte, per ogni pacchetto dopo la segmentazione. Il trasporto TCP/IP scrive questo valore prima di passare un pacchetto TCP di grandi dimensioni a un driver miniport per la segmentazione. Le dimensioni del payload TCP in ogni segmento trasmesso non devono superare questo valore.

LsoV1Transmit.TcpHeaderOffset

Offset, in byte, dell'intestazione TCP dall'inizio del pacchetto per i pacchetti TCP. I driver Miniport possono usare TcpHeaderOffset per determinare la posizione dell'intestazione TCP in modo che non sia necessario analizzare le intestazioni IP.

LsoV1Transmit.Type

Tipo di offload che deve essere eseguito dal driver miniport. I driver di protocollo impostano questo membro su NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE per specificare le operazioni LSOV1 o per NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE per specificare le operazioni LSOV2.

LsoV1Transmit.Reserved2

Riservato per NDIS.

LsoV1TransmitComplete

Struttura all'interno di NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO che specifica LSO trasmettere informazioni complete e che contiene i membri seguenti:

LsoV1TransmitComplete.TcpPayload

Numero totale di byte di payload TCP in un set di pacchetti creati da una scheda di interfaccia di rete (NIC) segmentando un pacchetto di grandi dimensioni. Un driver miniport scrive le dimensioni del payload TCP prima di completare l'invio di un pacchetto LSO.

LsoV1TransmitComplete.Type

Tipo di offload eseguito dal driver miniport. I driver miniport lasciano questo valore uguale a quando il driver overlying ha inviato il pacchetto per la trasmissione.

LsoV1TransmitComplete.Reserved2

Riservato per NDIS.

LsoV2Transmit

Struttura all'interno di NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO che specifica LSOV2 trasmettere informazioni e che contiene i membri seguenti:

LsoV2Transmit.MSS

Mss, in byte, per ogni segmento TCP. Il trasporto TCP/IP scrive questo valore prima di passare un pacchetto TCP di grandi dimensioni a un driver miniport per la segmentazione.

LsoV2Transmit.TcpHeaderOffset

Offset, in byte, dell'intestazione TCP dall'inizio del pacchetto per i pacchetti TCP. I driver Miniport possono usare TcpHeaderOffset per determinare la posizione dell'intestazione TCP in modo che non sia necessario analizzare le intestazioni IP.

LsoV2Transmit.Type

Tipo di offload che deve essere eseguito dal driver miniport. I driver di protocollo impostano questo membro su NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE per specificare le operazioni LSOV1 o per NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE per specificare le operazioni LSOV2.

LsoV2Transmit.IPVersion

Versione IP del pacchetto. Per i pacchetti IPv4, IPVersion è impostato su NDIS_TCP_LARGE_SEND_OFFLOAD_IPv4. Per i pacchetti IPv6, IPVersion è impostato su NDIS_TCP_LARGE_SEND_OFFLOAD_IPv6.

LsoV2TransmitComplete

Struttura all'interno di NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO che specifica LSOV2 trasmettere informazioni complete e che contiene i membri seguenti:

LsoV2TransmitComplete.Reserved

In generale, questo membro è riservato per NDIS. Tuttavia, al termine di un'operazione di invio, il driver miniport deve impostare questo membro su zero.

LsoV2TransmitComplete.Type

Tipo di offload eseguito dal driver miniport. Il driver miniport lascia questo valore uguale a quando il driver overlying ha inviato il pacchetto per la trasmissione.

Ad esempio, al termine di un'operazione di invio, il driver miniport imposta questo membro su NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE.

LsoV2TransmitComplete.Reserved2

Riservato per NDIS.

Value

Versione PVOID delle informazioni sull'LSO. Utilizzare questo membro per accedere alle informazioni non elaborate anziché ai campi specifici.

Commenti

La struttura NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO specifica le informazioni per le operazioni LSOV1 e LSOV2. La struttura NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO fa parte delle informazioni incluse in una struttura NET_BUFFER_LIST .

Per impostare e ottenere le informazioni LSOV1 o LSOV2, utilizzare l'indice TcpLargeSendNetBufferListInfo con la macro NET_BUFFER_LIST_INFO . NET_BUFFER_LIST_INFO restituisce un valore ULONG (non un puntatore a un valore ULONG).

Il trasporto TCP/IP aggiorna i membri MSS e TcpHeaderOffset della struttura NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO prima di inviare un pacchetto di grandi dimensioni a un driver miniport.

Per LSOV1, i driver miniport scrivono le dimensioni del payload TCP nel membro TcpPayload prima di completare un'operazione di invio per un pacchetto segmentato.

Nota Qualsiasi struttura NET_BUFFER_LIST che contiene le informazioni LSOv1 o LSOv2 contiene anche una singola struttura NET_BUFFER .
 

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.0 e versioni successive.
Intestazione ndis/nbllso.h (include ndis.h)

Vedi anche

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

Offload della segmentazione di pacchetti TCP di grandi dimensioni