Bagikan melalui


Memodifikasi Data Port Sumber Sakelar yang Dapat Diperluas Paket

Port sumber sakelar yang dapat diperluas Hyper-V ditentukan oleh anggota SourcePortId dalam struktur NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO . Struktur ini terkandung dalam konteks penerusan out-of-band (OOB) dari struktur NET_BUFFER_LIST paket. Untuk informasi selengkapnya tentang konteks ini, lihat Konteks Penerusan Sakelar yang Dapat Diperluas Hyper-V.

Ekstensi sakelar yang dapat diperluas harus mengikuti panduan ini untuk memodifikasi pengidentifikasi port sumber paket:

  • Ekstensi sakelar yang dapat diperluas harus memanggil SetNetBufferListSource untuk mengubah port sumber untuk paket. Ekstensi tidak boleh langsung mengubah anggota SourcePortId dari struktur NDIS_SWITCH_FORWARDING_DETAIL_NET_BUFFER_LIST_INFO .

  • Jika ekstensi membuat atau mengkloning paket, ekstensi harus memanggil fungsi AllocateNetBufferListForwardingContext setelah memanggil NdisAllocateNetBufferList. Fungsi ini mengalokasikan area konteks sakelar yang dapat diperluas untuk data OOB yang digunakan untuk meneruskan informasi untuk paket.

    Saat ekstensi memanggil AllocateNetBufferListForwardingContext, anggota SourcePortId diatur ke NDIS_SWITCH_DEFAULT_PORT_ID. Ini menentukan bahwa paket berasal dari ekstensi alih-alih tiba pada port sakelar yang dapat diperluas.

    Paket dengan port sumber NDIS_SWITCH_DEFAULT_PORT_ID diperlakukan oleh jalur data ekstensi switch yang dapat diperluas sebagai hak istimewa dan tepercaya. Lalu lintas tersebut tidak boleh tunduk pada kebijakan yang diterapkan pada paket dari port sumber lain. Misalnya, paket dengan pengidentifikasi port sumber NDIS_SWITCH_DEFAULT_PORT_ID melewati kebijakan sakelar yang dapat diperluas bawaan yang diterapkan oleh tepi miniport yang mendasar dari sakelar yang dapat diperluas. Kebijakan ini termasuk daftar kontrol akses (ACL) dan kualitas layanan (QoS).

    Ketika ekstensi berasal dari lalu lintas paket, ekstensi harus menggunakan port sumber NDIS_SWITCH_DEFAULT_PORT_ID dengan hemat dan hati-hati. Dalam kebanyakan kasus, ekstensi harus memodifikasi pengidentifikasi port sumber ke port aktif pada sakelar yang dapat diperluas. Ini memungkinkan kebijakan port tersebut diterapkan ke paket.

    Namun, mungkin ada situasi di mana ekstensi harus menggunakan port sumber NDIS_SWITCH_DEFAULT_PORT_ID untuk paket yang berasal. Misalnya, jika ekstensi berasal dari paket kontrol yang harus dikirim ke tujuannya pada jaringan fisik atau virtual, ekstensi harus menggunakan NDIS_SWITCH_DEFAULT_PORT_ID untuk pengidentifikasi port sumber. Ini memastikan bahwa paket tidak akan difilter dan ditolak oleh ekstensi yang mendasar dalam tumpukan driver sakelar yang dapat diperluas.