struktur NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO (ndis.h)

Struktur NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO berisi informasi out-of-band tambahan untuk paket yang dienkapsulasi. Untuk informasi selengkapnya, lihat Virtualisasi Jaringan menggunakan Offload Tugas Generic Routing Encapsulation (NVGRE) (NVGRE-TO).

Sintaks

typedef struct _NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO {
  union {
    struct {
      ULONG IsEncapsulatedPacket : 1;
      ULONG EncapsulatedPacketOffsetsValid : 1;
      ULONG InnerFrameOffset : 8;
      ULONG TransportIpHeaderRelativeOffset : 6;
      ULONG TcpHeaderRelativeOffset : 10;
      ULONG IsInnerIPv6 : 1;
      ULONG TcpOptionsPresent : 1;
      ULONG Reserved : 4;
    } EncapsulatedPacketOffsets;
    PVOID Value;
  };
} NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO, *PNDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO;

Anggota

EncapsulatedPacketOffsets

EncapsulatedPacketOffsets.IsEncapsulatedPacket

Jika anggota ini TRUE, NBL ini mewakili paket yang berisi bingkai Ethernet dalam dengan header IP transportasi. Ini FALSE untuk paket normal. Ketika IsEncapsulatedPacketADALAH TRUE, bidang offset header yang ada, NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO. LsoV2Transmit. TcpHeaderOffset dan NDIS_TCP_IP_CHECKSUM_NET_BUFFER_LIST_INFO. Kirimkan. TcpHeaderOffset, tidak akan memiliki nilai yang benar dan tidak boleh digunakan oleh NIC atau driver. Sebagai gantinya, driver miniport harus menggunakan offset yang ditentukan dalam anggota lain dari struktur ini.

EncapsulatedPacketOffsets.EncapsulatedPacketOffsetsValid

Jika anggota ini TRUE, anggota InnerFrameOffset, TransportIpHeaderRelativeOffset, dan TcpHeaderRelativeOffset memiliki nilai yang valid.

EncapsulatedPacketOffsets.InnerFrameOffset

Offset dari awal paket ke byte pertama dari bingkai Ethernet bagian dalam.

EncapsulatedPacketOffsets.TransportIpHeaderRelativeOffset

Offset ke byte pertama header IP dalam relatif terhadap InnerFrameOffset.

EncapsulatedPacketOffsets.TcpHeaderRelativeOffset

Offset ke byte pertama header dalam (transportasi) relatif terhadap TransportIpHeaderRelativeOffset. Nilai ini selalu diatur ke offset yang benar, bahkan jika bingkai dalam bukan paket TCP.

EncapsulatedPacketOffsets.IsInnerIPv6

Atur oleh driver protokol untuk menunjukkan bahwa header IP dalam dalam paket yang dienkapsulasi berisi alamat IPv6.

EncapsulatedPacketOffsets.TcpOptionsPresent

Diatur oleh driver protokol ketika header TCP dalam berisi opsi TCP. Ini memungkinkan driver miniport untuk mengoptimalkan kasus ketika tidak ada opsi untuk mengasumsikan panjang header TCP untuk mengakses payload.

EncapsulatedPacketOffsets.Reserved

Disiapkan untuk penggunaan masa mendatang.

Value

Disiapkan untuk penggunaan masa mendatang.

Keterangan

Anggota NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO bermakna jika dan hanya jika TcpIpChecksumNetBufferListInfo atau TcpLargeSendNetBufferListInfo ditentukan dalam struktur NDIS_NET_BUFFER_LIST_INFO .

Jika anggota IsEncapsulatedPackettrue dan informasi out-of-band (OOB) TcpIpChecksumNetBufferListInfo valid, ini menunjukkan bahwa dukungan NVGRE diperlukan dan NIC harus menghitung checksum untuk header IP terowongan (luar), header IP transportasi (dalam), dan header TCP atau UDP jika salah satunya ada. Paket NVGRE hanya akan dilepas jika paket sesuai dengan kemampuan yang diiklankan miniport. Misalnya, paket yang berisi header UDP tidak akan dilepas jika miniport tidak mengiklankan dukungan offload checksum UDP Tx dalam kemampuan dasarnya. Untuk informasi selengkapnya, lihat Membongkar Tugas Checksum.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di NDIS 6.30 dan yang lebih baru.
Header ndis.h

Lihat juga

NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD

NDIS_NET_BUFFER_LIST_INFO

Virtualisasi Jaringan menggunakan Offload Tugas Enkapsulasi Perutean Generik (NVGRE)

Membongkar Tugas Checksum