Share via


NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO Struktur (ndis/nbllso.h)

Die NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO-Struktur gibt Informationen an, die beim Auslagern von LSO-Tasks (Large Send Offload) aus dem TCP/IP-Transport an einen Miniportadapter verwendet werden. Die NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO-Struktur ist Teil der NET_BUFFER_LIST Informationen.

Syntax

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;

Member

Transmit

Eine Struktur in NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO, die Übertragungsinformationen angibt und die die folgenden Elemente enthält:

Transmit.Unused

Ein ULONG-Wert, der nicht genutzten Speicherplatz angibt, der für NDIS reserviert ist.

Transmit.Type

Der Auslagerungstyp, den der Miniporttreiber ausführen soll. Protokolltreiber legen dieses Element auf NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE fest, um LSOV1-Vorgänge (Large Send Offload Version 1) anzugeben, oder NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE, um LSOV2-Vorgänge (Large Send Offload Version 2) anzugeben.

Transmit.Reserved2

Reserviert für NDIS.

LsoV1Transmit

Eine Struktur in NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO, die LSO-Übertragungsinformationen angibt und die die folgenden Elemente enthält:

LsoV1Transmit.MSS

Die maximale Segmentgröße (MSS) in Bytes für jedes Paket nach der Segmentierung. Der TCP/IP-Transport schreibt diesen Wert, bevor ein großes TCP-Paket zur Segmentierung an einen Miniporttreiber übergeben wird. Die Größe der TCP-Nutzlast in jedem übertragenen Segment darf diesen Wert nicht überschreiten.

LsoV1Transmit.TcpHeaderOffset

Der Offset des TCP-Headers vom Anfang des Pakets für TCP-Pakete in Bytes. Miniporttreiber können tcpHeaderOffset verwenden, um den Speicherort des TCP-Headers zu bestimmen, sodass sie IP-Header nicht analysieren müssen.

LsoV1Transmit.Type

Der Auslagerungstyp, den der Miniporttreiber ausführen soll. Protokolltreiber legen dieses Element auf NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE fest, um LSOV1-Vorgänge anzugeben oder LSOV2-Vorgänge anzugeben NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE.

LsoV1Transmit.Reserved2

Reserviert für NDIS.

LsoV1TransmitComplete

Eine Struktur in NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO, die das LSO angibt, um vollständige Informationen zu übertragen und die die folgenden Elemente enthält:

LsoV1TransmitComplete.TcpPayload

Die Gesamtanzahl der TCP-Nutzlastbytes in einer Gruppe von Paketen, die eine Netzwerkschnittstelle (NIC) durch Segmentieren eines großen Pakets erstellt Karte. Ein Miniporttreiber schreibt die TCP-Nutzlastgröße vor abschluss des Sendens eines LSO-Pakets.

LsoV1TransmitComplete.Type

Der Vom Miniporttreiber ausgeführte Auslagerungstyp. Die Miniporttreiber lassen diesen Wert unverändert, als der überlastende Treiber das Paket zur Übertragung übermittelt hat.

LsoV1TransmitComplete.Reserved2

Reserviert für NDIS.

LsoV2Transmit

Eine Struktur in NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO, die LSOV2-Übertragungsinformationen angibt und die die folgenden Elemente enthält:

LsoV2Transmit.MSS

Der MSS in Bytes für jedes TCP-Segment. Der TCP/IP-Transport schreibt diesen Wert, bevor ein großes TCP-Paket zur Segmentierung an einen Miniporttreiber übergeben wird.

LsoV2Transmit.TcpHeaderOffset

Der Offset des TCP-Headers vom Anfang des Pakets für TCP-Pakete in Bytes. Miniporttreiber können tcpHeaderOffset verwenden, um den Speicherort des TCP-Headers zu bestimmen, sodass sie IP-Header nicht analysieren müssen.

LsoV2Transmit.Type

Der Auslagerungstyp, den der Miniporttreiber ausführen soll. Protokolltreiber legen dieses Element auf NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE fest, um LSOV1-Vorgänge anzugeben oder LSOV2-Vorgänge anzugeben NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE.

LsoV2Transmit.IPVersion

Die IP-Version des Pakets. Für IPv4-Pakete ist IPVersion auf NDIS_TCP_LARGE_SEND_OFFLOAD_IPv4 festgelegt. Für IPv6-Pakete ist IPVersion auf NDIS_TCP_LARGE_SEND_OFFLOAD_IPv6 festgelegt.

LsoV2TransmitComplete

Eine Struktur in NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO, die LSOV2 angibt, vollständige Informationen zu übertragen und die die folgenden Elemente enthält:

LsoV2TransmitComplete.Reserved

Im Allgemeinen ist dieser Member für NDIS reserviert. Wenn jedoch ein Sendevorgang abgeschlossen ist, muss der Miniporttreiber diesen Member auf 0 festlegen.

LsoV2TransmitComplete.Type

Der Vom Miniporttreiber ausgeführte Auslagerungstyp. Der Miniporttreiber lässt diesen Wert unverändert, als der überlastende Treiber das Paket zur Übertragung übermittelt hat.

Wenn beispielsweise ein Sendevorgang abgeschlossen ist, legt der Miniporttreiber diesen Member auf NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE fest.

LsoV2TransmitComplete.Reserved2

Reserviert für NDIS.

Value

Eine PVOID-Version der LSO-Informationen. Verwenden Sie dieses Element, um auf die Rohinformationen anstelle der spezifischen Felder zuzugreifen.

Hinweise

Die NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO-Struktur gibt Informationen für LSOV1- und LSOV2-Vorgänge an. Die NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO-Struktur ist Teil der Informationen, die in einer NET_BUFFER_LIST-Struktur enthalten sind.

Um die LSOV1- oder LSOV2-Informationen festzulegen und abzurufen, verwenden Sie den TcpLargeSendNetBufferListInfo-Index mit dem NET_BUFFER_LIST_INFO Makro. NET_BUFFER_LIST_INFO gibt einen ULONG-Wert (keinen Zeiger auf einen ULONG-Wert) zurück.

Der TCP/IP-Transport aktualisiert die MSS - und TcpHeaderOffset-Member der NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO-Struktur , bevor ein großes Paket an einen Miniporttreiber gesendet wird.

Für LSOV1 schreiben Miniporttreiber die TCP-Nutzlastgröße im TcpPayload-Member , bevor ein Sendevorgang für ein segmentiertes Paket abgeschlossen wird.

Hinweis Jede NET_BUFFER_LIST-Struktur , die die LSOv1- oder LSOv2-Informationen enthält, enthält auch eine einzelne NET_BUFFER-Struktur .
 

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt in NDIS 6.0 und höher.
Kopfzeile ndis/nbllso.h (include ndis.h)

Weitere Informationen

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_INFO

Auslagerung der Segmentierung großer TCP-Pakete