NDIS_STATUS_SWITCH_PORT_REMOVE_VF
Indikasi status NDIS_STATUS_SWITCH_PORT_REMOVE_VF dikeluarkan oleh ekstensi penerusan sakelar yang dapat diperluas Hyper-V untuk menghapus pengikatan antara adaptor jaringan komputer virtual (VM) dan fungsi virtual (VF) PCI Express (PCIe). VF diekspos dan didukung oleh adaptor jaringan fisik yang mendasar yang mendukung antarmuka virtualisasi I/O root tunggal (SR-IOV).
Untuk mengeluarkan indikasi status NDIS_STATUS_SWITCH_PORT_REMOVE_VF , ekstensi penerusan harus merangkum indikasi dalam struktur NDIS_SWITCH_NIC_STATUS_INDICATION dan mengeluarkan indikasi status NDIS_STATUS_SWITCH_NIC_STATUS .
Untuk informasi selengkapnya tentang proses ini, lihat Panduan untuk Mengeluarkan Indikasi Status NDIS_STATUS_SWITCH_PORT_REMOVE_VF.
Keterangan
PCIe VF dibuat dan dialokasikan oleh adaptor fisik dasar yang mendukung antarmuka SR-IOV. Setelah dibuat, tumpukan virtualisasi melampirkan, atau menetapkan, VF ke partisi anak Hyper-V. Sistem operasi tamu yang berjalan dalam partisi ini mengekspos adaptor jaringan komputer virtual (VM) yang terikat ke VF adaptor fisik SR-IOV yang mendasarinya.
Setelah adaptor jaringan virtual dan fisik ditetapkan, paket dirutekan langsung antara VF dan adaptor jaringan VM. Namun, karena sakelar yang dapat diperluas tidak terlibat dalam pengiriman paket, kebijakan port sakelar yang dapat diperluas tidak diterapkan ke paket ini. Ini termasuk kebijakan port untuk daftar kontrol akses (ACL) dan kualitas layanan (QoS).
Ekstensi penerusan sakelar yang dapat diperluas dapat menghapus penugasan VF ke partisi anak dengan mengeluarkan indikasi status NDIS_STATUS_SWITCH_PORT_REMOVE_VF . Indikasi ini menyebabkan paket dikirimkan melalui port sakelar yang dapat diperluas alih-alih langsung antara adaptor jaringan VM dan VF adaptor fisik SR-IOV yang mendasar. Ini memungkinkan kebijakan port switch yang dapat diperluas diterapkan ke paket yang diterima atau dikirim melalui port sakelar yang dapat diperluas.
Ketika ekstensi penerusan membuat indikasi status NDIS_STATUS_SWITCH_PORT_REMOVE_VF , ekstensi menentukan port sakelar yang dapat diperluas tempat adaptor jaringan VM tersambung.
Untuk informasi selengkapnya tentang ekstensi penerusan sakelar yang dapat diperluas, lihat Ekstensi Penerusan.
Pedoman Penerbitan Indikasi Status NDIS_STATUS_SWITCH_PORT_REMOVE_VF
Untuk mengeluarkan indikasi status NDIS_STATUS_SWITCH_PORT_REMOVE_VF , ekstensi penerusan harus mengikuti langkah-langkah berikut:
Ekstensi penerusan menginisialisasi struktur NDIS_STATUS_INDICATION untuk indikasi NDIS_STATUS_SWITCH_PORT_REMOVE_VF . Untuk indikasi ini, ekstensi penerusan menetapkan anggota struktur NDIS_STATUS_INDICATION berikut:
Anggota StatusCode harus diatur ke NDIS_STATUS_SWITCH_PORT_REMOVE_VF.
Anggota StatusBuffer harus diatur ke NULL.
StatusBufferSize harus diatur ke nol.
Ekstensi penerusan menginisialisasi struktur NDIS_SWITCH_NIC_STATUS_INDICATION . Untuk menghapus penugasan VF, ekstensi penerusan harus mengatur anggota dengan cara berikut:
Anggota DestinationPortId harus diatur ke pengidentifikasi port sakelar yang dapat diperluas tempat adaptor jaringan VM tersambung.
Anggota DestinationNicIndex harus diatur ke nilai indeks adaptor jaringan VM yang tersambung ke port yang ditentukan.
Anggota SourcePortId harus diatur ke NDIS_SWITCH_DEFAULT_PORT_ID.
Anggota SourceNicIndex harus diatur ke NDIS_SWITCH_DEFAULT_NIC_INDEX.
Anggota StatusIndication harus diatur ke alamat struktur NDIS_STATUS_INDICATION untuk indikasi NDIS_STATUS_SWITCH_PORT_REMOVE_VF .
Ekstensi penerusan menginisialisasi struktur NDIS_STATUS_INDICATION untuk indikasi NDIS_SWITCH_NIC_STATUS_INDICATION . Untuk indikasi ini, ekstensi penerusan menetapkan anggota struktur NDIS_STATUS_INDICATION berikut:
Anggota StatusCode harus diatur ke NDIS_STATUS_SWITCH_NIC_STATUS.
Anggota StatusBuffer harus diatur ke alamat struktur NDIS_SWITCH_NIC_STATUS_INDICATION .
StatusBufferSize harus diatur ke panjang, dalam byte, dari struktur NDIS_SWITCH_NIC_STATUS_INDICATION dan struktur NDIS_STATUS_INDICATION untuk indikasi NDIS_STATUS_SWITCH_PORT_REMOVE_VF.
Ekstensi penerusan harus memanggil ReferenceSwitchNic untuk meningkatkan penghitung referensi untuk adaptor jaringan VM. Jika ReferenceSwitchNic tidak selesai dengan NDIS_STATUS_SUCCESS, ekstensi penerusan tidak boleh meneruskan indikasi status.
Catatan Jika ekstensi penerusan telah menerima permintaan set OID_SWITCH_NIC_DISCONNECT untuk adaptor VM, ekstensi tersebut tidak boleh memanggil ReferenceSwitchNic atau meneruskan indikasi status.
Ekstensi penerusan memanggil NdisFIndicateStatus untuk meneruskan NDIS_STATUS_INDICATION ke ekstensi yang terlalu berlebihan di tumpukan driver sakelar yang dapat diperluas. Saat ekstensi penerusan memanggil fungsi ini, ekstensi ini mengatur parameter StatusIndication ke penunjuk ke struktur NDIS_STATUS_INDICATION untuk indikasi NDIS_STATUS_SWITCH_NIC_STATUS .
Setelah NdisFIndicateStatus kembali, ekstensi penerusan harus memanggil DereferenceSwitchNic untuk mengurangi penghitung referensi untuk adaptor jaringan VM.
Catatan Ekstensi penerusan harus mengikuti langkah-langkah sebelumnya untuk setiap penetapan VF yang dihapus ekstensi penerusan.
Untuk informasi selengkapnya tentang cara ekstensi penerusan meneruskan indikasi status, lihat Memfilter Indikasi Status Modul.
Panduan untuk Menentukan Penugasan VF
Ekstensi penerusan dapat menghitung penetapan VF saat ini untuk adaptor jaringan virtual dengan mengeluarkan permintaan kueri OID OID_SWITCH_NIC_ARRAY. Permintaan ini mengembalikan struktur NDIS_SWITCH_NIC_ARRAY yang berisi array struktur NDIS_SWITCH_NIC_PARAMETERS . Setiap struktur NDIS_SWITCH_NIC_PARAMETERS menentukan parameter adaptor jaringan yang diekspos di salah satu lingkungan berikut:
Sistem operasi manajemen yang berjalan di partisi induk Hyper-V.
Adaptor jaringan yang terekspos dalam sistem operasi ini ditentukan dengan nilai enumerasi NDIS_SWITCH_NIC_TYPENdisSwitchNicTypeExternal atau NdisSwitchNicTypeInternal.
Sistem operasi tamu yang berjalan dalam partisi anak Hyper-V.
Adaptor jaringan yang terekspos dalam sistem operasi ini ditentukan dengan nilai enumerasi NDIS_SWITCH_NIC_TYPENdisSwitchNicTypeSynthetic atau NdisSwitchNicTypeEmulated.
Jika permintaan kueri OID OID_SWITCH_NIC_ARRAY selesai dengan status NDIS_STATUS_SUCCESS, ekstensi penerusan dapat menentukan penetapan VF dengan memeriksa setiap struktur NDIS_SWITCH_NIC_PARAMETERS dalam array yang dikembalikan. Jika anggota VFAssigned dari struktur NDIS_SWITCH_NIC_PARAMETERS diatur ke TRUE, adaptor jaringan yang sesuai dengan struktur NDIS_SWITCH_NIC_PARAMETERS ditetapkan ke VF.
Ekstensi penerusan dapat menghapus penugasan dengan mengeluarkan indikasi status NDIS_STATUS_SWITCH_PORT_REMOVE_VF . Dalam hal ini, ekstensi penerusan harus mengatur anggota DestinationPortId dari NDIS_SWITCH_NIC_STATUS_INDICATION ke nilai anggota PortId dari struktur NDIS_SWITCH_NIC_PARAMETERS .
Untuk informasi selengkapnya tentang cara mengeluarkan indikasi status NDIS_STATUS_SWITCH_PORT_REMOVE_VF, lihat Panduan untuk Menerbitkan Indikasi Status NDIS_STATUS_SWITCH_PORT_REMOVE_VF.
Persyaratan
Versi |
Didukung di NDIS 6.30 dan yang lebih baru. |
Header |
Ndis.h (termasuk Ndis.h) |