OID_SRIOV_WRITE_VF_CONFIG_SPACE
Driver yang terlalu berlebihan mengeluarkan permintaan set pengidentifikasi objek (OID) OID_SRIOV_WRITE_VF_CONFIG_SPACE untuk menulis data ke ruang konfigurasi PCI Express (PCIe) untuk Fungsi Virtual PCIe (VF) tertentu pada adaptor jaringan.
Driver yang terlalu berlebih mengeluarkan permintaan set OID ini ke driver miniport untuk PcIe Physical Function (PF) adaptor jaringan. Permintaan metode OID ini diperlukan untuk driver miniport PF yang mendukung antarmuka virtualisasi I/O root tunggal (SR-IOV).
Anggota InformationBuffer dari struktur NDIS_OID_REQUEST berisi penunjuk ke buffer yang dialokasikan pemanggil. Buffer ini diformat untuk memuat hal berikut:
Struktur NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS yang berisi parameter untuk operasi tulis ruang konfigurasi PCI VF.
Ruang buffer tambahan yang berisi data yang akan ditulis ke ruang konfigurasi PCI.
Keterangan
Driver miniport VF berjalan dalam sistem operasi tamu partisi anak Hyper-V. Karena itu, driver miniport VF tidak dapat langsung mengakses sumber daya perangkat keras, seperti ruang konfigurasi PCI VF. Hanya driver miniport PF, yang berjalan dalam sistem operasi manajemen partisi induk Hyper-V, yang dapat mengakses ruang konfigurasi PCI untuk VF.
Driver yang terlalu berlebihan, seperti tumpukan virtualisasi, mengeluarkan permintaan set OID OID_SRIOV_WRITE_VF_CONFIG_SPACE ketika driver miniport VF memanggil NdisMSetBusData untuk menulis ke ruang konfigurasi PCI-nya.
Ketika menangani permintaan metode OID OID_SRIOV_WRITE_VF_CONFIG_SPACE, driver miniport PF harus mengikuti panduan berikut:
Driver miniport PF harus memverifikasi bahwa VF, yang ditentukan oleh anggota VFId dari struktur NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS , memiliki sumber daya yang sebelumnya telah dialokasikan. Driver miniport PF mengalokasikan sumber daya untuk VF melalui permintaan metode OID OID_NIC_SWITCH_ALLOCATE_VF.
Jika sumber daya untuk VF yang ditentukan belum dialokasikan, driver harus gagal dalam permintaan OID.
Driver miniport PF memanggil NdisMSetVirtualFunctionBusData untuk menulis ke ruang konfigurasi PCI yang diminta. Namun, driver miniport PF juga dapat mengembalikan data ruang konfigurasi PCI untuk VF yang telah di-cache driver dari operasi baca atau tulis sebelumnya dari ruang konfigurasi PCI.
Catatan Jika vendor perangkat keras independen (IHV) menyediakan driver bus virtual (VBD) sebagai bagian dari paket driver SR-IOV-nya, driver miniport PF-nya tidak boleh memanggil NdisMSetVirtualFunctionBusData. Sebagai gantinya, driver harus berinteraksi dengan VBD melalui saluran komunikasi privat, dan meminta agar VBD memanggil SetVirtualFunctionData. Fungsi ini terekspos dari antarmuka GUID_VPCI_INTERFACE_STANDARD yang didukung oleh driver bus PCI virtual (VPCI) yang mendasar.
Jika driver miniport PF berhasil menyelesaikan permintaan OID, driver harus menyalin data ruang konfigurasi PCI yang diminta ke buffer yang direferensikan oleh anggota InformationBuffer dari struktur NDIS_OID_REQUEST . Driver menyalin data ke buffer pada offset yang ditentukan oleh anggota BufferOffset dari struktur NDIS_SRIOV_READ_VF_CONFIG_SPACE_PARAMETERS .
Untuk informasi selengkapnya, lihat Mengatur Data Konfigurasi PCI dari Fungsi Virtual.
Mengembalikan Kode Status
Driver miniport PF mengembalikan salah satu kode status berikut untuk permintaan set OID_SRIOV_WRITE_VF_CONFIG_SPACE OID.
Kode Status | Deskripsi |
---|---|
NDIS_STATUS_SUCCESS |
Permintaan OID berhasil diselesaikan. |
NDIS_STATUS_NOT_SUPPORTED |
Driver miniport PF tidak mendukung antarmuka virtualisasi I/O root tunggal (SR-IOV) atau tidak diaktifkan untuk menggunakan antarmuka. |
NDIS_STATUS_INVALID_PARAMETER |
Satu atau beberapa anggota struktur NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS memiliki nilai yang tidak valid. |
NDIS_STATUS_INVALID_LENGTH |
Buffer informasi terlalu pendek. NDIS mengatur DATA. SET_INFORMATION. Anggota BytesNeeded dalam struktur NDIS_OID_REQUEST ke ukuran buffer minimum yang diperlukan. |
NDIS_STATUS_FAILURE |
Permintaan gagal karena alasan lain. |
Persyaratan
Versi |
Didukung di NDIS 6.30 dan yang lebih baru. |
Header |
Ntddndis.h (termasuk Ndis.h) |
Lihat juga
NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS
NdisMSetVirtualFunctionBusData
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