struktur TCP_OFFLOAD_STATE_CACHED (ndischimney.h)
[Fitur offload cerobong asap TCP tidak digunakan lagi dan tidak boleh digunakan.]
Struktur TCP_OFFLOAD_STATE_CACHED berisi variabel cache dari objek status koneksi TCP.
Sintaks
typedef struct _TCP_OFFLOAD_STATE_CACHED {
OFFLOAD_STATE_HEADER Header;
USHORT Flags;
ULONG InitialRcvWnd;
ULONG RcvIndicationSize;
UCHAR KaProbeCount;
ULONG KaTimeout;
ULONG KaInterval;
ULONG MaxRT;
ULONG FlowLabel : 20;
UCHAR TtlOrHopLimit;
UCHAR TosOrTrafficClass;
UCHAR UserPriority : 3;
} TCP_OFFLOAD_STATE_CACHED, *PTCP_OFFLOAD_STATE_CACHED;
Anggota
Header
Struktur OFFLOAD_STATE_HEADER . NDIS mengatur panjang anggotaHeader ke ukuran, dalam byte, dari struktur TCP_OFFLOAD_STATE_CACHED. Anggota Header RecognizedOptions dicadangkan.
Flags
Bitmask yang dapat diatur ke nol atau salah satu bendera berikut, dikombinasikan dengan bitwise ATAU:
TCP_FLAG_KEEP_ALIVE_ENABLED
Tumpukan host mengatur bendera ini untuk mengaktifkan opsi keepalive pada koneksi. Tumpukan host menghapus bendera ini untuk menonaktifkan opsi keepalive pada koneksi. Untuk informasi selengkapnya tentang opsi keepalive, lihat RFC 1122.
TCP_FLAG_NAGLING_ENABLED
Tumpukan host mengatur bendera ini untuk mengaktifkan algoritma Nagle pada koneksi. Tumpukan host menghapus bendera ini untuk menonaktifkan algoritma Nagle pada koneksi. Untuk informasi selengkapnya tentang algoritma Nagle, lihat RFC 896.
TCP_FLAG_KEEP_ALIVE_RESTART
Tumpukan host menetapkan bendera ini untuk menyebabkan target offload mengatur ulang timer keepalive-nya menjadi nol.
TCP_FLAG_MAX_RT_RESTART
Tumpukan host mengatur bendera ini untuk menyebabkan target offload mengatur ulang variabel TotalRT dalam status didelegasikan TCP untuk koneksi ke nol.
TCP_FLAG_UPDATE_RCV_WND
Tumpukan host mengatur bendera ini untuk menunjukkan bahwa ukuran jendela penerima default (InitialRcvWnd dalam struktur TCP_OFFLOAD_STATE_CACHED) telah berubah. Jika nilai InitialRcvWnd berbeda dari ukuran jendela penerima target saat ini offload (RcvWnd dalam struktur TCP_OFFLOAD_STATE_DELEGATED), target offload harus mengiklankan ukuran jendela penerima baru ke serekan.
InitialRcvWnd
Jendela terima default (dari opsi soket SO_RCVBUF).
RcvIndicationSize
Ketika non-NULL, jumlah byte data optimal yang harus disediakan target offload dalam satu panggilan ke Fungsi NdisTcpOffloadReceiveHandler . Angka ini, yang biasanya antara puluhan dan ratusan byte, adalah saran --bukan persyaratan. Target offload dapat menunjukkan lebih atau kurang dari byte data RcvIndicationSize . Namun, untuk performa optimal, target offload harus menunjukkan
Byte data RcvIndicationSize . Untuk mengetahui informasi selengkapnya, lihat NdisTcpOffloadReceiveHandler.
Ketika NULL, RcvIndicationSize tidak ditentukan. Dalam hal ini, target offload harus mengabaikan RcvIndicationSize dan menunjukkan data sebanyak mungkin dalam panggilan ke fungsi NdisTcpOffloadReceiveHandler .
KaProbeCount
Jumlah pemeriksaan keepalive yang harus dikirim target offload untuk menentukan apakah koneksi TCP utuh (lihat RFC 1122).
KaTimeout
Anggota ini menentukan, dalam jam tick, interval waktu habis untuk tidak aktif sebelum mengirim pemeriksaan keepalive (lihat RFC 1122).
KaInterval
Anggota ini menentukan, dalam jam berdetik, waktu habis setelah mengirim ulang bingkai keepalive jika tidak ada respons yang diterima untuk pemeriksaan keepalive (lihat RFC 1122).
MaxRT
Anggota ini menentukan, dalam jam berdetik, waktu maksimum yang harus dihabiskan target offload untuk mengirimkan ulang segmen. Jika nilai MaxRT bukan nol, MaxRT mengambil alih TcpMaximumRetransmissions di NDIS_TASK_TCP_CONNECTION_OFFLOAD struktur. Nilai default untuk adalah MaxRT adalah nol, yang berarti bahwa TcpMaximumRetransmissions menetapkan berapa kali maksimum target offload harus mengirimkan ulang segmen pada koneksi TCP. Jika nilai MaxRT adalah FFFFFFFF (atau -1), tidak ada batasan jumlah maksimum transmisi ulang. Ketika MaxRT bukan nol, target offload harus mengatur ulang variabel TotalRT dalam status yang didelegasikan TCP untuk koneksi. TotalRT menunjukkan total waktu, dalam jam tick, bahwa target offload telah menghabiskan pengiriman ulang segmen TCP saat ini.
FlowLabel
Anggota ini menandai paket berlabel host untuk penanganan khusus dengan mengintervensi router--misalnya, QoS nondefault atau layanan "real-time" (lihat RFC 2460). Variabel ini diatur melalui opsi soket dan dapat bervariasi selama masa pakai koneksi TCP. Variabel ini hanya bermakna jika koneksi TCP melalui IPv6.
TtlOrHopLimit
Jika koneksi TCP lebih dari IPv4, maka anggota ini menentukan waktu hidup (lihat RFC 791). Variabel ini diatur melalui opsi soket dan dapat bervariasi selama masa pakai koneksi TCP.
Jika koneksi TCP lebih dari IPv6, maka anggota ini menentukan jumlah router yang dapat dilewati paket (lihat RFC 2460). Variabel ini diatur melalui opsi soket dan dapat bervariasi selama masa pakai koneksi TCP.
TosOrTrafficClass
Jika koneksi TCP lebih dari IPv4, maka anggota ini menentukan jenis layanan untuk perutean paket (lihat RFC 2474). Variabel ini diatur melalui opsi soket dan dapat bervariasi selama masa pakai koneksi TCP.
Jika koneksi TCP lebih dari IPv6, maka anggota ini memprioritaskan nilai untuk paket sesuai dengan jenis lalu lintas, menunjukkan seberapa bersedia pengirim membuang paket (lihat RFC 2460). Variabel ini diatur melalui opsi soket dan dapat bervariasi selama masa pakai koneksi TCP.
UserPriority
Nilai prioritas 3-bit. Jika target offload mendukung informasi paket 802.1p, target tersebut harus memasukkan nilai prioritas ini ke header tag dari semua paket yang dikirimkan pada koneksi TCP yang dilepas. Jika target offload tidak mendukung informasi paket 802.1p, target tersebut harus mengabaikan UserPriority . Untuk informasi selengkapnya tentang mendukung informasi paket 802.1p, lihat Pemrosesan 802.1Q dan 802.1p pada Koneksi TCP yang Dibongkar.
Keterangan
Variabel yang di-cache dimiliki dan dikelola oleh tumpukan host. Target offload tidak boleh mengubah nilai variabel yang di-cache kecuali diminta untuk melakukannya oleh tumpukan host. Jika nilai variabel yang di-cache berubah, tumpukan host meminta pembaruan variabel, yang menyebabkan NDIS memanggil fungsi MiniportUpdateOffload target offload. Ketika tumpukan host mengakhiri offload satu atau beberapa objek status dengan menyebabkan NDIS memanggil target offload Fungsi MiniportTerminateOffload , target offload tidak mengembalikan nilai variabel konstanta yang dilepas ke tumpukan host.
Perhatikan bahwa jika bendera TCP_FLAG_MAX_RT_RESTART koneksi TCP yang dibongkar diatur, target offload harus:
- Atur ulang variabel KeepaliveProbeCount yang didelegasikan koneksi tersebut saat tumpukan host memperbarui variabel KaProbeCount yang di-cache koneksi.
- Atur ulang variabel KeepaliveTimeoutDelta yang didelegasikan koneksi tersebut saat tumpukan host memperbarui variabel KaTimeout dan/atau KaInterval yang di-cache koneksi tersebut.
Persyaratan
Persyaratan | Nilai |
---|---|
Header | ndischimney.h (termasuk Ndischimney.h) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk