estrutura NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO (ndis/nbllso.h)

A estrutura NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO especifica informações usadas no descarregamento de tarefas LSO (descarregamento de envio grande) do transporte TCP/IP para um adaptador de miniporto. A estrutura NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO faz parte das informações de NET_BUFFER_LIST .

Sintaxe

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;

Membros

Transmit

Uma estrutura dentro de NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO que especifica informações de transmissão e que contém os seguintes membros:

Transmit.Unused

Um valor ULONG que especifica o espaço não utilizado reservado para NDIS.

Transmit.Type

O tipo de descarregamento que o driver de miniporto deve executar. Os drivers de protocolo definem esse membro como NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE para especificar operações LSOV1 (versão de descarregamento de envio grande) ou para NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE para especificar operações LSOV2 (versão de descarregamento de envio grande 2).

Transmit.Reserved2

Reservado para NDIS.

LsoV1Transmit

Uma estrutura dentro de NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO que especifica informações de transmissão de LSO e que contém os seguintes membros:

LsoV1Transmit.MSS

O MSS (tamanho máximo do segmento), em bytes, para cada pacote após segmentação. O transporte TCP/IP grava esse valor antes de passar um pacote TCP grande para um driver de miniporto para segmentação. O tamanho da carga TCP em cada segmento transmitido não deve exceder esse valor.

LsoV1Transmit.TcpHeaderOffset

O deslocamento, em bytes, do cabeçalho TCP desde o início do pacote para pacotes TCP. Os drivers de miniport podem usar TcpHeaderOffset para determinar o local do cabeçalho TCP para que eles não precisem analisar cabeçalhos IP.

LsoV1Transmit.Type

O tipo de descarregamento que o driver de miniporto deve executar. Os drivers de protocolo definem esse membro como NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE para especificar operações LSOV1 ou para NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE para especificar operações LSOV2.

LsoV1Transmit.Reserved2

Reservado para NDIS.

LsoV1TransmitComplete

Uma estrutura dentro de NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO que especifica o LSO transmite informações completas e que contém os seguintes membros:

LsoV1TransmitComplete.TcpPayload

O número total de bytes de carga TCP em um conjunto de pacotes que um adaptador de rede cartão (NIC) criou segmentando um pacote grande. Um driver de miniporta grava o tamanho da carga TCP antes de concluir o envio de um pacote LSO.

LsoV1TransmitComplete.Type

O tipo de descarregamento que o driver de miniporto executou. Os drivers mniport deixam esse valor da mesma forma que era quando o driver de sobreposição enviou o pacote para transmissão.

LsoV1TransmitComplete.Reserved2

Reservado para NDIS.

LsoV2Transmit

Uma estrutura dentro de NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO que especifica informações de transmissão LSOV2 e que contém os seguintes membros:

LsoV2Transmit.MSS

O MSS, em bytes, para cada segmento TCP. O transporte TCP/IP grava esse valor antes de passar um pacote TCP grande para um driver de miniporto para segmentação.

LsoV2Transmit.TcpHeaderOffset

O deslocamento, em bytes, do cabeçalho TCP desde o início do pacote para pacotes TCP. Os drivers de miniport podem usar TcpHeaderOffset para determinar o local do cabeçalho TCP para que eles não precisem analisar cabeçalhos IP.

LsoV2Transmit.Type

O tipo de descarregamento que o driver de miniporto deve executar. Os drivers de protocolo definem esse membro como NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE para especificar operações LSOV1 ou para NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE para especificar operações LSOV2.

LsoV2Transmit.IPVersion

A versão ip do pacote. Para pacotes IPv4, IPVersion é definido como NDIS_TCP_LARGE_SEND_OFFLOAD_IPv4. Para pacotes IPv6, IPVersion é definido como NDIS_TCP_LARGE_SEND_OFFLOAD_IPv6.

LsoV2TransmitComplete

Uma estrutura dentro de NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO que especifica o LSOV2 transmite informações completas e que contém os seguintes membros:

LsoV2TransmitComplete.Reserved

Em geral, esse membro é reservado para NDIS. No entanto, quando uma operação de envio for concluída, o driver de miniporto deverá definir esse membro como zero.

LsoV2TransmitComplete.Type

O tipo de descarregamento que o driver de miniporto executou. O driver mniport deixa esse valor da mesma forma que era quando o driver de sobreposição enviou o pacote para transmissão.

Por exemplo, quando uma operação de envio é concluída, o driver de miniporto define esse membro como NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE.

LsoV2TransmitComplete.Reserved2

Reservado para NDIS.

Value

Uma versão PVOID das informações de LSO. Use esse membro para acessar as informações brutas em vez dos campos específicos.

Comentários

A estrutura NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO especifica informações para operações LSOV1 e LSOV2. A estrutura NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO faz parte das informações incluídas em uma estrutura NET_BUFFER_LIST .

Para definir e obter as informações LSOV1 ou LSOV2, use o índice TcpLargeSendNetBufferListInfo com a macro NET_BUFFER_LIST_INFO . NET_BUFFER_LIST_INFO retorna um valor ULONG (não um ponteiro para um valor ULONG).

O transporte TCP/IP atualiza os membros MSS e TcpHeaderOffset da estrutura NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO antes de enviar um pacote grande para um driver de miniport.

Para LSOV1, os drivers de miniporta gravam o tamanho da carga TCP no membro TcpPayload antes de concluir uma operação de envio para um pacote segmentado.

Nota Qualquer estrutura NET_BUFFER_LIST que contenha as informações LSOv1 ou LSOv2 também contém uma única estrutura NET_BUFFER .
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte no NDIS 6.0 e posterior.
Cabeçalho ndis/nbllso.h (include ndis.h)

Confira também

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

Descarregando a segmentação de pacotes TCP grandes