struktur IPSEC_OFFLOAD_V2_ADD_SA (ndis.h)
[Fitur Offload Tugas IPsec tidak digunakan lagi dan tidak boleh digunakan.]
Struktur IPSEC_OFFLOAD_V2_ADD_SA mendefinisikan informasi tentang asosiasi keamanan (SA) yang harus ditambahkan driver miniport ke NIC.
Sintaks
typedef struct _IPSEC_OFFLOAD_V2_ADD_SA {
NDIS_OBJECT_HEADER Header;
PIPSEC_OFFLOAD_V2_ADD_SA Next;
ULONG NumExtHdrs;
ULONG Flags;
union {
struct {
IPAddr SrcAddr;
IPAddr DestAddr;
} IPv4Endpoints;
struct {
UCHAR SrcAddr[16];
UCHAR DestAddr[16];
} IPv6Endpoints;
};
NDIS_HANDLE OffloadHandle;
ULONG UdpEspEncapsulation;
IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION SecAssoc[IPSEC_OFFLOAD_V2_MAX_EXTENSION_HEADERS];
ULONG KeyLength;
UCHAR KeyData[1];
} IPSEC_OFFLOAD_V2_ADD_SA, *PIPSEC_OFFLOAD_V2_ADD_SA;
Anggota
Header
Struktur NDIS_OBJECT_HEADER untuk struktur IPSEC_OFFLOAD_V2_ADD_SA. Atur anggota Jenis struktur yang ditentukan Header ke NDIS_OBJECT_TYPE_DEFAULT, anggota Revisi ke NDIS_IPSEC_OFFLOAD_V2_ADD_SA_REVISION_1, dan anggota Ukuran ke NDIS_SIZEOF_IPSEC_OFFLOAD_V2_ADD_SA_REVISION_1.
Next
Penunjuk ke struktur IPSEC_OFFLOAD_V2_ADD_SA yang merupakan struktur berikutnya dalam daftar tertaut. Jika pointer adalah NULL, struktur saat ini adalah struktur terakhir dalam daftar.
NumExtHdrs
Jumlah header ekstensi IPsec. Anggota ini bisa menjadi salah satu nilai berikut.
Jenis keamanan | Header ekstensi |
---|---|
Autentikasi AH saja | 1 |
Autentikasi ESP saja | 1 |
Enkripsi ESP saja | 1 |
Autentikasi ESP ditambah enkripsi | 1 |
Autentikasi AH plus ESP ditambah enkripsi | 2 |
UDP ESP | 1 |
Flags
Bitmask yang menunjukkan apakah SA yang sedang ditambahkan adalah SA masuk atau keluar sebagai berikut:
IPSEC_OFFLOAD_V2_IPv6
Jika bendera ini diatur, alamatnya adalah IPv6. Jika tidak, alamatnya adalah IPv4
IPSEC_OFFLOAD_V2_INBOUND
Jika bendera ini diatur, SA masuk. Jika tidak, SA keluar.
IPv4Endpoints
Alamat titik akhir IPv4. Struktur ini berisi anggota berikut:
IPv4Endpoints.SrcAddr
Alamat IPv4 host sumber (host yang mengirim paket).
IPv4Endpoints.DestAddr
Alamat IPv4 dari host tujuan (host yang menerima paket).
IPv6Endpoints
Alamat titik akhir IPv6. Struktur ini berisi anggota berikut:
IPv6Endpoints.SrcAddr[16]
Alamat IPv6 dari host sumber (host yang mengirim paket).
IPv6Endpoints.DestAddr[16]
Alamat IPv6 dari host tujuan (host yang menerima paket).
OffloadHandle
Handel ke SA yang baru dibuat. Driver miniport memasok handel ini sebelum menyelesaikan
OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA permintaan. Transportasi TCP/IP harus menentukan handel ini di
NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO atau NDIS_IPSEC_OFFLOAD_V2_TUNNEL_NET_BUFFER_LIST_INFO struktur sebelum meneruskan paket kirim ke driver miniport. Transportasi TCP/IP juga harus menentukan handel ini saat menghapus SA dengan OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA permintaan.
UdpEspEncapsulation
Jenis enkaplasi UDP ESP. Anggota ini bisa menjadi satu atau beberapa bendera berikut:
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_NONE
Tidak ada enkaplasi UDP yang digunakan.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT
Paket mode transportasi yang dienkapsulasi ESP dienkapulatasi oleh UDP.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TUNNEL
Bagian mode terowongan dari paket dienkapsulasi UDP. Bagian mode transportasi paket tidak dienkapsulasi UDP dan tidak dilindungi ESP.
IPSEC_OFFLOAD_V2_TRANSPORT_OVER_UDP_ESP_ENCAPSULATION_TUNNEL
Bagian mode terowongan dari paket dienkapsulasi UDP. Bagian mode transportasi dari paket tidak dienkapsulasi UDP tetapi dilindungi ESP.
IPSEC_OFFLOAD_V2_UDP_ESP_ENCAPSULATION_TRANSPORT_OVER_TUNNEL
Bagian mode terowongan dari paket tidak dienkapsulasi UDP. Bagian mode transportasi dari paket dienkapsulasi UDP dan dilindungi ESP.
SecAssoc[IPSEC_OFFLOAD_V2_MAX_EXTENSION_HEADERS]
Array dengan dua elemen yang berisi informasi tentang operasi IPsec (AH, ESP, atau keduanya) untuk SA. Jumlah elemen yang disediakan ditentukan dalam anggota NumExtHdrs . Informasi untuk setiap operasi IPsec diformat sebagai IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION struktur, yang dijelaskan di bawah ini.
Transportasi TCP/IP menentukan satu atau dua struktur IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION dalam buffer di SecAssoc . Setiap struktur IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION menunjukkan jenis operasi--autentikasi atau enkripsi/dekripsi--yang SA yang ditentukan dalam struktur akan digunakan. Urutan struktur IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION dalam array menunjukkan urutan di mana driver miniport harus melakukan operasi untuk setiap SA. Hanya satu kombinasi operasi yang didukung: enkripsi/dekripsi (ESP) diikuti dengan autentikasi (AH).
KeyLength
Panjangnya, dalam byte, dari buffer di KeyData .
KeyData[1]
Array panjang variabel yang berisi kunci untuk SAs yang ditentukan di SecAssoc . Jika algoritma enkripsi dan algoritma autentikasi ditentukan oleh anggota EncryptionAlgorithm dan AuthenticationAlgorithm dari IPSEC_OFFLOAD_V2_SECURITY_ASSOCIATION struktur, buffer di KeyData berisi informasi utama untuk satu diikuti oleh yang lain. Awal dan panjang kunci ditentukan oleh anggota KeyOffsetBytes dan KeyLength .
Keterangan
Struktur ini usang, gunakan IPSEC_OFFLOAD_V2_ADD_SA_EX sebagai gantinya.
Struktur IPSEC_OFFLOAD_V2_ADD_SA menentukan SA keamanan yang harus ditambahkan dan penunjuk ke struktur IPSEC_OFFLOAD_V2_ADD_SA berikutnya dalam daftar tertaut. Struktur IPSEC_OFFLOAD_V2_ADD_SA digunakan dengan OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA OID.
Struktur IPSEC_OFFLOAD_V2_ADD_SA menentukan sumber dan tujuan, serta protokol IP, yang diterapkan SAs. Filter ini berkaitan dengan koneksi mode transportasi--yaitu, koneksi end-to-end antara dua host. Jika koneksi yang ditentukan dibuat melalui terowongan, alamat sumber dan tujuan terowongan ditentukan.
Jika anggota diatur ke nol, parameter tersebut tidak digunakan untuk memfilter paket untuk CA yang ditentukan. Misalnya, jika SrcAddr diatur ke nol, CA yang ditentukan dapat berlaku untuk paket yang berisi alamat sumber apa pun. Jika semua parameter filter diatur ke nol, SAs yang ditentukan berlaku untuk host sumber apa pun yang mengirim semua jenis paket ke host tujuan apa pun.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Didukung di NDIS 6.1 dan 6.20. Untuk NDIS 6.30 dan yang lebih baru, gunakan IPSEC_OFFLOAD_V2_ADD_SA_EX. |
Header | ndis.h (termasuk Ndis.h) |