Bagikan melalui


Mengelola Permintaan OID Offload Perangkat Keras ke Adaptor Jaringan Fisik

Topik ini membahas bagaimana ekstensi penerusan sakelar Hyper-V yang dapat diperluas mengelola permintaan pengidentifikasi objek (OID) untuk teknologi offload perangkat keras pada adaptor fisik yang mendasar melalui jalur kontrol sakelar yang dapat diperluas.

Misalnya, adaptor jaringan eksternal dapat terikat ke tepi miniport virtual dari driver perantara multiplekser NDIS (MUX). Driver MUX terikat dengan tim dari satu atau beberapa jaringan fisik pada host. Konfigurasi ini dikenal sebagai tim pengalih yang dapat diperluas.

Dalam konfigurasi ini, ekstensi sakelar yang dapat diperluas diekspos ke setiap adaptor jaringan dalam tim. Ini memungkinkan ekstensi untuk mengelola konfigurasi dan penggunaan adaptor jaringan individual dalam tim. Misalnya, ekstensi penerusan dapat memberikan dukungan untuk solusi load balancing failover (LBFO) melalui tim dengan meneruskan paket keluar ke adaptor individual. Ekstensi penerusan yang mengelola tim pengalih yang dapat diperluas dikenal sebagai penyedia tim. Untuk informasi selengkapnya tentang penyedia tim, lihat Ekstensi Penyedia Teaming.

Gambar berikut menunjukkan contoh tim sakelar yang dapat diperluas untuk NDIS 6.40 (Windows Server 2012 R2) dan yang lebih baru.

Diagram memperlihatkan tim sakelar yang dapat diperluas untuk NDIS 6.40.

Gambar berikut menunjukkan contoh tim sakelar yang dapat diperluas untuk NDIS 6.30 (Windows Server 2012).

Diagram yang mengilustrasikan tim sakelar yang dapat diperluas untuk NDIS 6.30.

Catatan Dalam antarmuka sakelar yang dapat diperluas, driver filter NDIS dikenal sebagai ekstensi sakelar yang dapat diperluas dan tumpukan driver dikenal sebagai tumpukan driver sakelar yang dapat diperluas.

Dengan menangani permintaan OID OID_SWITCH_NIC_REQUEST, ekstensi penerusan dapat berpartisipasi dalam konfigurasi tim sakelar yang dapat diperluas untuk offload perangkat keras. Misalnya, jika ekstensi mengelola adaptor jaringan fisik dari tim sakelar yang dapat diperluas, ekstensi dapat meneruskan permintaan OID_SWITCH_NIC_REQUEST ke adaptor fisik yang mendukung offload perangkat keras.

NDIS dan protokol yang terlalu berlebihan dan driver filter dapat mengeluarkan permintaan OID untuk teknologi offload perangkat keras ke adaptor jaringan fisik yang mendasar. Ketika permintaan OID ini tiba di antarmuka sakelar yang dapat diperluas, permintaan OID di dalam NDIS_SWITCH_NIC_OID_REQUEST. Kemudian, tepi protokol sakelar yang dapat diperluas mengeluarkan permintaan OID OID_SWITCH_NIC_REQUEST yang berisi struktur ini.

Antarmuka sakelar yang dapat diperluas merangkum OID untuk teknologi offload perangkat keras berikut:

Offload keamanan Protokol Internet (IPsec) (versi 2)
Permintaan IPsec OID berikut dienkapsulasi:

Ekstensi penerusan tidak boleh gagal, atau veto, permintaan OID ini.

Untuk informasi selengkapnya tentang teknologi offload perangkat keras IPsec versi 2, lihat IPsec Offload Versi 2.

Virtualisasi I/O root tunggal (SR-IOV)
Permintaan OID SR-IOV berikut dienkapsulasi:

Ekstensi penerusan dapat mem-veto permintaan OID dari OID_NIC_SWITCH_ALLOCATE_VF dan OID_NIC_SWITCH_CREATE_VPORT dengan menyelesaikan permintaan dengan kode status selain NDIS_STATUS_SUCCESS. Namun, ekstensi tidak boleh mem-veto permintaan OID SR-IOV lainnya.

Untuk informasi selengkapnya tentang teknologi offload perangkat keras SR-IOV, lihat Virtualisasi I/O Root Tunggal (SR-IOV).

Antrean komputer virtual (VMQ)
Permintaan VMQ OID berikut dienkapsulasi:

Ekstensi penerusan dapat mem-veto permintaan OID dari OID_RECEIVE_FILTER_ALLOCATE_QUEUE dan OID_RECEIVE_FILTER_SET_FILTER dengan menyelesaikan permintaan dengan kode status selain NDIS_STATUS_SUCCESS. Namun, ekstensi tidak boleh mem-veto permintaan OID VMQ lainnya.

Untuk informasi selengkapnya tentang teknologi offload perangkat keras VMQ, lihat Antrean Komputer Virtual (VMQ).

Ekstensi penerusan harus mengikuti panduan ini untuk menangani permintaan OID offload perangkat keras:

  • Platform IM Microsoft hanya mengiklankan kemampuan offload umum untuk tim keseluruhan. Namun, ekstensi dapat menghasilkan permintaan OID untuk mengkueri kemampuan setiap adaptor dalam tim.

    Setelah ekstensi menentukan kemampuan perangkat keras adaptor fisik dalam tim, ekstensi dapat meneruskan permintaan set OID untuk offload perangkat keras ke adaptor yang paling cocok untuk offload.

  • Semua permintaan OID offload perangkat keras yang berasal dari protokol yang terlalu berlebihan atau driver filter akan dienkapsulasi dalam struktur NDIS_SWITCH_NIC_OID_REQUEST . Semua permintaan OID offload perangkat keras yang berasal dari ekstensi penerusan juga harus dienkapsulasi dalam struktur NDIS_SWITCH_NIC_OID_REQUEST .

    Ekstensi meneruskan permintaan OID yang dienkapsulasi ke adaptor jaringan fisik yang mendasarinya melalui permintaan set OID_SWITCH_NIC_REQUEST OID. Untuk informasi selengkapnya tentang prosedur ini, lihat Meneruskan Permintaan OID ke Adaptor Jaringan Fisik.

  • Ekstensi tidak boleh mengubah atau menggagalkan permintaan OID offload perangkat keras untuk menghapus, membebaskan, atau menyelesaikan alokasi sumber daya offload. Misalnya, ekstensi tidak boleh gagal permintaan OID dari OID_RECEIVE_FILTER_CLEAR_FILTER atau OID_NIC_SWITCH_DELETE_VPORT. Antarmuka sakelar yang dapat diperluas harus menangani permintaan OID ini untuk membersihkan informasi status untuk sumber daya ini.

    Ekstensi dapat mengubah atau gagal membongkar permintaan OID perangkat keras untuk mengalokasikan, memindahkan, atau mengatur sumber daya offload. Misalnya, ekstensi dapat gagal atau memodifikasi permintaan OID dari OID_NIC_SWITCH_ALLOCATE_VF atau OID_TCP_TASK_IPSEC_OFFLOAD_V2_ADD_SA.

  • Ekstensi ini dapat memulai OID offload perangkat keras apa pun ke adaptor jaringan fisik yang mendasar. Namun, ekstensi tidak boleh berasal dari OID offload perangkat keras yang menghapus atau membebaskan sumber daya offload yang tidak dialokasikan ekstensi.

    Misalnya, ekstensi tidak boleh berasal dari permintaan OID offload perangkat keras OID_RECEIVE_FILTER_FREE_QUEUE jika tidak berasal dari permintaan OID_RECEIVE_FILTER_ALLOCATE_QUEUE untuk antrean yang sama.

    Catatan Ekstensi hanya dapat berasal dari permintaan OID offload perangkat keras yang dienkapsulasi sendiri jika memfilter permintaan OID yang sama yang dikeluarkan oleh driver yang terlalu berlebihan. Dalam hal ini, ekstensi tidak boleh meneruskan permintaan OID asli. Sebagai gantinya, ekstensi harus memanggil NdisFOidRequestComplete untuk menyelesaikan permintaan ini ketika NDIS memanggil FilterOidRequestComplete untuk menyelesaikan permintaan OID yang berasal.

  • Jika ekstensi meneruskan permintaan OID offload perangkat keras ke adaptor jaringan fisik yang mendasar, anggota DestinationNicIndex dari struktur NDIS_SWITCH_NIC_OID_REQUEST harus diatur ke nilai indeks bukan nol adaptor. Untuk informasi selengkapnya tentang nilai indeks ini, lihat Nilai Indeks Adapter Jaringan.

    Selain itu, anggota DestinationPortId harus diatur ke pengidentifikasi port sakelar yang dapat diperluas tempat adaptor jaringan eksternal tersambung.

  • Jika ekstensi berasal dari permintaan OID offload perangkat keras untuk mengalokasikan sumber daya untuk partisi anak Hyper-V, anggota SourcePortId dari struktur NDIS_SWITCH_NIC_OID_REQUEST harus diatur ke pengidentifikasi port sakelar yang dapat diperluas tempat partisi terhubung.

    Anggota SourceNicIndex harus diatur ke NDIS_SWITCH_DEFAULT_NIC_INDEX.

  • Ketika ekstensi memanggil NdisFOidRequest untuk meneruskan permintaan OID, ekstensi harus mengatur parameter OidRequest ke penunjuk ke struktur NDIS_OID_REQUEST untuk permintaan OID OID_SWITCH_NIC_REQUEST .

Untuk informasi selengkapnya tentang cara ekstensi memfilter permintaan OID, lihat Memfilter Permintaan OID di Driver Filter NDIS.

Untuk informasi selengkapnya tentang driver MUX, lihat Driver Perantara NDIS MUX.