Bagikan melalui


Jenis data konteks Penerusan Sakelar Yang Dapat Diperluas Hyper-V

Struktur NET_BUFFER_LIST untuk setiap paket yang melintasi jalur data sakelar yang dapat diperluas Hyper-V berisi data out-of-band (OOB). Data ini menentukan port sumber dari mana paket berasal, serta satu atau beberapa port tujuan untuk pengiriman paket. Data OOB ini dikenal sebagai konteks penerusan sakelar yang dapat diperluas.

Jenis data berikut telah dinyatakan untuk mengakses konteks penerusan sakelar yang dapat diperluas dalam struktur NET_BUFFER_LIST paket:

NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO
Ini adalah serikat 64-bit yang berisi karakteristik penerusan paket. Data ini mencakup pengidentifikasi untuk port sumber dan koneksi adaptor jaringan dari mana paket berasal. Data ini juga mencakup jumlah elemen yang tidak digunakan yang tersedia di array port tujuan.

Ekstensi sakelar yang dapat diperluas dapat mengakses data ini dengan menggunakan makro NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL .

NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY
Struktur ini mendefinisikan array port tujuan untuk paket. Setiap elemen dalam array ini diformat sebagai struktur NDIS_SWITCH_PORT_DESTINATION .

Struktur NDIS_SWITCH_FORWARDING_DESTINATION_ARRAY berisi anggota yang menentukan jumlah total elemen saat ini serta jumlah elemen yang digunakan dalam array.

Ekstensi sakelar yang dapat diperluas dapat memperoleh array ini dengan memanggil fungsi GetNetBufferListDestinations . Jika driver menambahkan atau memodifikasi elemen dalam array untuk paket dengan beberapa port tujuan, driver harus memanggil fungsi UpdateNetBufferListDestinations . Fungsi ini menerapkan perubahan tersebut pada array port tujuan dalam konteks penerusan paket.

Catatan Untuk menerapkan perubahan pada paket hanya dengan satu port tujuan, lebih efisien bagi driver untuk memanggil fungsi AddNetBufferListDestination .

NDIS_SWITCH_PORT_DESTINATION
Struktur ini mendefinisikan port tujuan untuk paket. Untuk paket dengan port tujuan tunggal, hanya ada satu elemen NDIS_SWITCH_PORT_DESTINATION dalam array port tujuan. Untuk paket dengan beberapa port tujuan, ada satu atau beberapa elemen ini dalam array.

Setelah ekstensi sakelar yang dapat diperluas disebut GetNetBufferListDestinations untuk mendapatkan array port tujuan paket, ekstensi sakelar dapat mengakses elemen individual dalam array dengan menggunakan makro NDIS_SWITCH_PORT_DESTINATION_AT_ARRAY_INDEX .