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:

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


GUID_VPCI_INTERFACE_STANDARD

NDIS_OID_REQUEST

NDIS_SRIOV_WRITE_VF_CONFIG_SPACE_PARAMETERS

NdisMSetBusData

NdisMSetVirtualFunctionBusData

OID_NIC_SWITCH_ALLOCATE_VF

OID_SRIOV_READ_VF_CONFIG_SPACE

SetVirtualFunctionData