struktur NDIS_TCP_CONNECTION_OFFLOAD (ntddndis.h)

Struktur NDIS_TCP_CONNECTION_OFFLOAD menyediakan informasi offload koneksi untuk pengaturan saat ini dan untuk kemampuan yang didukung.

Sintaks

typedef struct _NDIS_TCP_CONNECTION_OFFLOAD {
  NDIS_OBJECT_HEADER Header;
  ULONG              Encapsulation;
  ULONG              SupportIPv4 : 2;
  ULONG              SupportIPv6 : 2;
  ULONG              SupportIPv6ExtensionHeaders : 2;
  ULONG              SupportSack : 2;
  ULONG              CongestionAlgorithm : 4;
  ULONG              TcpConnectionOffloadCapacity;
  ULONG              Flags;
} NDIS_TCP_CONNECTION_OFFLOAD, *PNDIS_TCP_CONNECTION_OFFLOAD;

Anggota

Header

Struktur NDIS_OBJECT_HEADER untuk struktur NDIS_TCP_CONNECTION_OFFLOAD. Atur anggota Jenis struktur yang ditentukan Header ke NDIS_OBJECT_TYPE_DEFAULT, anggota Revisi ke NDIS_TCP_CONNECTION_OFFLOAD_REVISION_1, dan anggota Ukuran ke NDIS_SIZEOF_TCP_CONNECTION_OFFLOAD_REVISION_1.

Encapsulation

Pengaturan enkapulasi untuk offload cerobong asap TCP. Untuk informasi selengkapnya tentang anggota ini, lihat bagian Keterangan berikut ini.

SupportIPv4

Nilai ULONG yang ditetapkan target offload untuk menunjukkan bahwa ia mendukung IPv4. Tumpukan driver TCP/IP mengatur anggota ini untuk mengaktifkan IPv4.

SupportIPv6

Nilai ULONG yang ditetapkan target offload untuk menunjukkan bahwa ia mendukung IPv6. Tumpukan driver TCP/IP mengatur anggota ini untuk mengaktifkan IPv6. Perhatikan bahwa target offload dapat mendukung IPv4 dan IPv6.

SupportIPv6ExtensionHeaders

Nilai ULONG yang ditetapkan target offload untuk menunjukkan bahwa ia mendukung header ekstensi IPv6 (yaitu, perutean, fragmentasi/penyatuan ulang, autentikasi, enkapkulasi, pemrosesan hop-by-hop, dan opsi tujuan). Tumpukan driver TCP/IP mengatur anggota ini untuk mengaktifkan header ekstensi IPv6.

SupportSack

Nilai ULONG yang ditetapkan target offload untuk menunjukkan bahwa ia mendukung pengakuan selektif TCP (SACK) untuk operasi transmisi dan penerimaan. Tumpukan driver TCP/IP mengatur anggota ini untuk mengaktifkan SACK untuk operasi pengiriman dan penerimaan.

Jika target offload menetapkan anggota SupportSack , target harus dapat menghasilkan dan mengonsumsi segmen SACK. Jika target offload tidak mendukung opsi SACK, target harus dapat mengabaikan opsi SACK dan memproses sisa segmen TCP secara normal.

CongestionAlgorithm

Disiapkan untuk penggunaan masa mendatang.

Jika Anda adalah vendor perangkat keras independen (IHV) dan ingin menerapkan algoritma kontrol kemacetan nondefault, misalnya TCP Campuran, hubungi Microsoft di Triase Offload TCP Eksternal.

TcpConnectionOffloadCapacity

Nilai ULONG yang ditetapkan target offload untuk menunjukkan jumlah maksimum koneksi TCP offload yang didukungnya. Jumlah ini mencakup koneksi IPv4 dan IPv6.

Flags

Dicadangkan.

Keterangan

Struktur NDIS_TCP_CONNECTION_OFFLOAD menentukan layanan saat ini atau yang didukung yang disediakan adaptor miniport untuk offload cerobong asap TCP.

Struktur NDIS_TCP_CONNECTION_OFFLOAD digunakan dalam struktur NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES , struktur NDIS_BIND_PARAMETERS , OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG OID, OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES OID, indikasi status NDIS_STATUS_OFFLOAD_RESUME, dan NDIS_STATUS_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES indikasi status. (Untuk informasi tentang NDIS_STATUS_OFFLOAD_RESUME, lihat dokumentasi offload cerobong asap NDIS 6.0 TCP.)

Driver Miniport tidak menerima kueri OID. NDIS menggunakan informasi yang disediakan driver miniport dalam atribut dan indikasi status untuk memberikan respons terhadap kueri OID dan untuk memberikan parameter ikatan.

NDIS menyediakan struktur NDIS_TCP_CONNECTION_OFFLOAD sebagai respons terhadap kueri OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG atau OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES. Menanggapi kueri OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG, struktur NDIS_TCP_CONNECTION_OFFLOAD menentukan pengaturan konfigurasi target offload saat ini. Menanggapi kueri OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES, struktur NDIS_TCP_CONNECTION_OFFLOAD menentukan kemampuan perangkat keras target offload untuk membongkar koneksi TCP dari transportasi TCP/IP.

Anggota Enkapulasi NDIS_TCP_CONNECTION_OFFLOAD mendefinisikan pengaturan enkapulasi offload cerobong asap TCP untuk adaptor miniport.

Untuk OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES permintaan kueri, NDIS menyediakan satu bendera yang menunjukkan kemampuan enkapulasi perangkat keras, di anggota Enkapsulasi .

Untuk OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG permintaan kueri, NDIS menyediakan bitwise ATAU dari bendera enkapsulasi, yang menunjukkan pengaturan enkapkulasi saat ini.

Bendera berikut didefinisikan untuk anggota Enkapsulasi :

Penting Driver miniport atau mux yang mampu cerobong asap harus mengatur anggota Enkapsulasi ke NDIS_ENCAPSULATION_IEEE_802_3, NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED, atau keduanya. Jika tidak, kemampuan cerobong asap tidak akan dikenali.
 

Kueri Offload TCP Chimney

Saat NDIS merespons kueri OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES atau OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG untuk target offload, NDIS menyediakan anggota SupportIp4, SupportIp6, SupportIp6ExtensionHeaders, dan SupportISack dari struktur NDIS_TCP_CONNECTION_OFFLOAD. Anggota ini bisa memiliki salah satu nilai berikut:

Target offload harus mendukung IPv4 atau IPv6 (atau keduanya). Target offload dapat secara opsional mendukung header ekstensi IPv6.

Target offload tidak boleh mendukung opsi IPv4 apa pun. Target offload harus meneruskan datagram IP yang diterima yang berisi opsi IPv4 ke tumpukan driver TCP/IP. Target offload menunjukkan datagram IP tersebut ke tumpukan driver TCP/IP dengan memanggil NdisMIndicateReceiveNetBufferLists. Tumpukan driver TCP/IP memproses opsi IPv4 dan mengembalikan datagram ke target offload Fungsi MiniportTcpOffloadForward . (Untuk informasi tentang MiniportTcpOffloadForward, lihat dokumentasi offload cerobong asap NDIS 6.0 TCP.)

Target offload juga harus memberikan nilai untuk anggota TcpConnectionOffloadCapacity dari NDIS_TCP_CONNECTION_OFFLOAD. Nilai ini harus menjadi jumlah maksimum koneksi TCP yang dilepas secara bersamaan yang dapat didukung oleh target offload.

Perhatikan bahwa target offload tidak dapat secara langsung menunjukkan kemampuan offload baru. Sebagai gantinya, target offload harus meminta tumpukan driver TCP/IP untuk menjeda lalu melanjutkan offload. Ketika adaptor miniport siap untuk melanjutkan pembongkaran koneksi TCP, adaptor miniport mengeluarkan indikasi status NDIS_STATUS_OFFLOAD_RESUME untuk melaporkan kemampuan offload koneksi baru. Untuk informasi selengkapnya tentang NDIS_STATUS_OFFLOAD_RESUME, lihat dokumentasi offload cerobong asap NDIS 6.0 TCP.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Didukung di NDIS 6.0 dan yang lebih baru.
Header ntddndis.h (termasuk Ndis.h)

Lihat juga

NDIS_BIND_PARAMETERS

NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES

NDIS_OBJECT_HEADER

NDIS_OFFLOAD

NDIS_STATUS_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES NdisMIndicateReceiveNetBufferLists OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES