struktur NET_PACKET (packet.h)

Mewakili satu paket jaringan.

Sintaks

typedef struct _NET_PACKET {
  UINT32            FragmentIndex;
  UINT16            FragmentCount;
  NET_PACKET_LAYOUT Layout;
  UINT8             Ignore : 1;
  UINT8             Scratch : 1;
  UINT8             Reserved1 : 6;
} NET_PACKET;

Anggota

FragmentIndex

Indeks dalam cincin fragmen dari struktur NET_FRAGMENT pertama dalam payload paket ini.

FragmentCount

Jumlah struktur NET_FRAGMENT yang termasuk dalam paket ini.

Layout

Struktur NET_PACKET_LAYOUT .

Untuk mengirimkan antrean, jika tumpukan host telah mengaktifkan offload tugas yang menggunakan header protokol, menentukan offset baca-saja ke setiap bidang protokol. Misalnya, jika offload checksum TCP diaktifkan, anggota ini menentukan offset ke header TCP. Jika tidak, anggota ini kosong.

Untuk menerima antrean, jika tumpukan host telah mengaktifkan offload tugas yang menggunakan header protokol, atur bendera Layer2Type, Layer3Type, dan Layer4Type . Ketika tidak ada tugas yang membongkar anggota ini kosong.

Ignore

Untuk menerima antrean, klien mengatur bidang ini untuk mencegah paket ditunjukkan ke host. Misalnya, jika perangkat keras mengalami kesalahan DMA saat menulis byte ke dalam buffer data untuk fragmen paket ini, klien dapat mengatur bidang ini untuk menghilangkan paket parsial.

Untuk mengirimkan antrean, bidang ini bersifat baca-saja. Jika diatur, itu menunjukkan bahwa klien tidak boleh mengirimkan paket.

Scratch

Nilai bidang bit yang dapat digunakan klien untuk tujuan apa pun. Saat NET_PACKET digunakan kembali, nilai ini direset ke nol.

Reserved1

Dicadangkan. Driver klien tidak boleh membaca atau menulis nilai ini.

Keterangan

Setiap struktur NET_PACKET mewakili satu bingkai jaringan dan berisi metadata dasar yang berlaku untuk semua paket, seperti tata letak pembingkaian. NET_PACKET berisi setidaknya satu NET_FRAGMENT yang menjelaskan lokasi dalam memori sistem tempat data paket berada.

Struktur NET_PACKET dapat menjadi elemen dalam struktur NET_RING .

Persyaratan

Persyaratan Nilai
Versi KMDF minimum 1.29
Header packet.h