篩選延伸模組
Hyper-V 可延伸交換器篩選延伸模組可以檢查、修改和插入封包至可延伸交換器資料路徑。 根據可延伸的交換器埠和交換器原則設定,延伸模組可以卸載封包,或排除其傳遞至一或多個目的地埠。
篩選延伸模組會在擷取輸入資料路徑中的延伸模組和輸出資料路徑中的轉送延伸模組之後叫用。 如需這些資料路徑的詳細資訊,請參閱 Hyper-V 可延伸交換器資料路徑。
篩選延伸模組可以使用在輸入資料路徑上取得的封包執行下列動作:
篩選封包流量,並強制執行透過可延伸交換器傳遞封包的自訂埠或交換器原則。 當篩選延伸模組篩選輸入資料路徑中的封包時,它只能根據封包來源的來源埠和網路介面卡連線來套用篩選規則。 這項資訊會儲存在封包 NET_BUFFER_LIST結構的頻 外 (OOB) 資料中,而且可以使用 NET_BUFFER_LIST_SWITCH_FORWARDING_DETAIL 宏來取得。
注意 在輸入資料路徑上取得的封包不包含目的地埠。 篩選以目的地埠為基礎的封包,只能在輸出資料路徑上取得的封包上完成。
自訂原則是由獨立軟體廠商所定義, (ISV) 。 此原則類型的屬性設定是透過 Hyper-V WMI 管理層來管理。 篩選延伸模組是透過 OID_SWITCH_PORT_PROPERTY_UPDATE 和 OID_SWITCH_PROPERTY_UPDATE 要求 (OID) 物件識別碼來設定這些屬性 設定。
如需自訂可延伸埠或交換器原則的詳細資訊,請參閱 管理 Hyper-V 可延伸交換器原則。
注意 只有轉送延伸模組可以強制執行透過可延伸交換器傳遞封包的標準埠原則。
將新的、修改或複製的封包插入輸入資料路徑。
如需詳細資訊,請參閱 Hyper-V 可延伸交換器傳送和接收作業。
篩選延伸模組可以使用在輸出資料路徑上取得的封包執行下列動作:
篩選封包流量,並強制執行透過可延伸交換器傳遞封包的自訂埠或交換器原則。 當篩選延伸模組篩選輸出資料路徑中的封包時,它可以根據封包的來源或目的地埠套用篩選規則。 目的地埠資料會儲存在封包 NET_BUFFER_LIST 結構的 OOB 資料中。 延伸模組會呼叫 GetNetBufferListDestinations 函式來取得這項資訊。
排除封包傳遞至一或多個可延伸交換器目的地埠。 這可讓篩選延伸模組排除封包傳遞至可延伸交換器埠。
如需如何排除封包傳遞至可延伸交換器埠的詳細資訊,請參閱 排除封包傳遞至可延伸交換器目的地埠。
藉由延後封包轉送至輸出資料路徑,以管理流量流向一或多個目的地埠。
例如,支援服務品質的篩選延伸模組 (QoS) 功能可能會想要立即呼叫 NdisFSendNetBufferLists 來轉送優先順序較高的指定封包。 視流量而定,延伸模組可能會想要在稍後轉送優先順序較低的封包。
修改封包資料。 如果篩選延伸模組需要修改封包中的資料,則必須先複製封包而不保留埠目的地。 然後,延伸模組必須將修改過的封包插入輸入資料路徑。 這可讓基礎延伸模組在修改的封包上強制執行原則,而轉送延伸模組可以新增埠目的地。
如需詳細資訊,請參閱 複製封包流量。
除了檢查 OID 要求和 NDIS 狀態指示之外,篩選延伸模組還可以執行下列動作:
透過傳回適用可延伸交換器 OID 的STATUS_DATA_NOT_ACCEPTED,來建立可延伸交換器埠或網路介面卡連線。 例如,篩選延伸模組可以在驅動程式收到 OID_SWITCH_PORT_CREATE的 OID 集合要求時,傳回STATUS_DATA_NOT_ACCEPTED,以取得埠建立要求。
注意 篩選延伸模組不會建立或刪除埠或網路介面卡連線。 可延伸交換器的通訊協定邊緣會發出 OID,以通知基礎篩選驅動程式有關建立或刪除埠或網路介面卡連線的相關資訊。 如需詳細資訊,請參閱 Hyper-V 可延伸交換器埠和網路介面卡狀態。
傳回適用可延伸交換器 OID 的STATUS_DATA_NOT_ACCEPTED,以新增或更新可延伸交換器或埠原則。 例如,篩選延伸模組可以在擴充功能收到 OID_SWITCH_PORT_PROPERTY_ADD的 OID 集合要求時傳回STATUS_DATA_NOT_ACCEPTED來加入埠原則。
如需可延伸交換器原則的詳細資訊,請參閱 管理 Hyper-V 可延伸交換器原則。
篩選延伸模組具有下列需求:
篩選延伸模組必須開發為支援可延伸交換器介面的 NDIS 篩選驅動程式。
如需篩選驅動程式的詳細資訊,請參閱 NDIS 篩選驅動程式。
如需如何撰寫篩選延伸模組的詳細資訊,請參閱 撰寫 Hyper-V 可延伸交換器擴充功能。
注意 Windows 篩選平台 () 提供現成的可延伸交換器篩選延伸模組 (Wfplwfs.sys ) 。 此延伸模組可讓一或多個圖說文字驅動程式沿著 Hyper-V 可延伸交換器資料路徑攔截封包。 這可讓篩選或圖說文字驅動程式使用其管理與系統功能來執行封包檢查或修改。 如需其概觀,請參閱 Windows 篩選平台。
篩選延伸模組的 INF 檔案必須安裝驅動程式作為修改篩選驅動程式。 NDIS 監視篩選驅動程式無法安裝在可延伸交換器驅動程式堆疊中。
如需修改篩選驅動程式的詳細資訊,請參閱 篩選驅動程式的類型。
如需修改篩選驅動程式之 INF 需求的詳細資訊,請參閱 設定修改篩選驅動程式的 INF 檔案。
篩選驅動程式 INF 檔案中的 FilterClass 值必須設定為 ms_switch_filter。 如需詳細資訊,請參閱 Hyper-V 可延伸交換器延伸模組的 INF 需求。
任何數目的篩選延伸模組都可以在可延伸交換器的每個實例的驅動程式堆疊中系結和啟用。 根據預設,多個篩選延伸模組會根據安裝擴充功能進行排序。 例如,多個篩選延伸模組會分層在可延伸交換器驅動程式堆疊中,且最近安裝的延伸模組分層于堆疊中的其他篩選延伸模組之上。
在可延伸交換器實例中系結並啟用它們之後,可以重新排序可延伸交換器驅動程式堆疊中的篩選延伸模組分層。 如需詳細資訊,請參閱 重新排列 Hyper-V 可延伸交換器延伸模組。