共用方式為


查詢和變更 NVGRE 工作卸載狀態

本節描述如何使用 一般路由封裝來查詢或變更目前的網路虛擬化, (NVGRE) 支援 NVGRE 的迷你埠驅動程式的工作卸載狀態。 NVGRE 工作卸載預設可以啟用,但預設不得以運作方式運作。 在 NDIS 通訊協定或篩選驅動程式明確啟用此功能之前,NIC 不應該開始在封裝封包上執行工作卸載。

查詢 NVGRE 工作卸載狀態

若要查詢迷你埠驅動程式目前的 NVGRE 工作卸載狀態,NDIS 通訊協定或篩選驅動程式會使用 OID_TCP_OFFLOAD_CURRENT_CONFIG OID 要求。 這會傳回封裝套件TaskOffloadGre成員為NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD結構,如果目前針對 GRE 封裝封包啟用這些卸載,則會傳回包含NDIS_OFFLOAD_SUPPORTED的 NDIS_OFFLOAD 結構,否則為NDIS_OFFLOAD_NOT_SUPPORTED。 NDIS 會處理此 OID,而不會將其傳遞至迷你埠。

注意 若要判斷迷你埠驅動程式是否支援 NVGRE 工作卸載,請使用 OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES OID 要求,如 判斷網路介面卡的 NVGRE 工作卸載功能中所述。

變更 NVGRE 工作卸載狀態

NDIS 通訊協定或篩選驅動程式可以發出 OID_TCP_OFFLOAD_PARAMETERS OID 要求來啟用或停用 NVGRE 工作卸載。 這個 OID 會使用 NDIS_OFFLOAD_PARAMETERS 結構。 在此結構中, PackedPacketTaskOffload 成員可以有下列值:

詞彙 描述

NDIS_OFFLOAD_SET_NO_CHANGE

NVGRE 工作卸載狀態保持不變。

NDIS_OFFLOAD_SET_ON

指定此旗標以啟用 NVGRE 工作卸載。

NDIS_OFFLOAD_SET_OFF

指定此旗標以停用 NVGRE 工作卸載。

迷你埠驅動程式處理 OID_TCP_OFFLOAD_PARAMETERS OID 要求之後,必須發出 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 狀態指示,並顯示更新的卸載狀態。

當迷你埠驅動程式收到指定NDIS_OFFLOAD_SET_OFF旗標的 OID_TCP_OFFLOAD_PARAMETERS OID 要求時,驅動程式應該指出任何部分處理的工作卸載堆疊的現有封裝封包,再完成 OID 要求。

一般封包的基底工作卸載是由現有的 OID 所啟用,例如 OID_OFFLOAD_ENCAPSULATIONOID_RECEIVE_FILTER_ALLOCATE_QUEUEPackedPacketTaskOffload成員設定會補充這些 OID,並指示 NIC 也針對封裝的封包執行這些卸載。