NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD 結構 (ntddndis.h)
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD 結構包含使用一般路由封裝 (NVGRE) 工作卸除 (NVGRE-TO) 的網路虛擬化卸除支持狀態。 這個結構用於 NDIS_OFFLOAD 結構的 EncapsulatedPacketTaskOffloadGre 成員中。
語法
typedef struct _NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD {
ULONG TransmitChecksumOffloadSupported : 4;
ULONG ReceiveChecksumOffloadSupported : 4;
ULONG LsoV2Supported : 4;
ULONG RssSupported : 4;
ULONG VmqSupported : 4;
ULONG UsoSupported : 4;
ULONG Reserved : 8;
ULONG MaxHeaderSizeSupported;
} NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD, *PNDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD;
成員
TransmitChecksumOffloadSupported
傳輸總和檢查碼的工作卸除設定。
ReceiveChecksumOffloadSupported
接收總和檢查碼的工作卸除設定。
LsoV2Supported
大型傳送卸除第 2 版的工作卸除設定 (LSOv2) 。
RssSupported
接收端調整的工作卸除設定 (RSS) 。
VmqSupported
虛擬機佇列的工作卸除設定 (VMQ) 。
UsoSupported
UDP 分割卸除的工作卸除設定 (USO) 。
Reserved
保留供系統使用。
MaxHeaderSizeSupported
此成員應設定為封包開頭到內部 TCP 或 UDP 承載開頭的最大標頭大小, (TCP 或 UDP 內部標頭的最後一個字節,) NIC 必須支援所有這些工作卸除。 通訊協定驅動程式預期不會卸除合併封裝標頭超過此大小的封包處理。
注意:256 個字節是應該涵蓋所有可能案例的良好預設值。
備註
在初始功能公告 和NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 和 NDIS_STATUS_TASK_OFFLOAD_HARDWARE_CAPABILITIES 狀態指示中, TransmitChecksumOffloadSupported、 ReceiveChecksumOffloadSupported、 LsoV2Supported、 RssSupported、 VmqSupported 和 UsoSupported 成員可以設定為下列旗標的位 OR:
詞彙 | 描述 |
---|---|
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_NOT_SUPPORTED | 指定迷你埠配接器不支持成員指定的對應工作卸載功能。 |
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV4 | 指定迷你埠配接器支持成員指定封裝封包內部IP標頭為IPv4的對應工作卸除功能。 |
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV4 | 指定迷你埠配接器支持成員指定封裝封包外部IP標頭為IPv4的對應工作卸除功能。 |
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV6 | 指定迷你埠配接器支持成員指定封裝封包內部IP標頭為IPv6的對應工作卸除功能。 |
NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV6 | 指定迷你埠配接器支持成員指定封裝封包外部IP標頭為IPv6的對應工作卸除功能。 |
例如,如果迷你埠適配卡和驅動程式只支援 IPv6 標頭做為外部 IP 標頭,但不是內部 IP 標頭,則會將 TransmitChecksumOffloadSupported、ReceiveChecksumOffloadSupported、LsoV2Supported、RssSupported、VmqSupported 和 UsoSupported 設定為位 OR 的值,NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_INNER_IPV4、NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV4和NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD_OUTER_IPV6。
關於IP選項和 TCP 選項,已針對封裝封包進行下列假設:
- 如果 NIC 在一般總和檢查碼卸除和 LSOv2 公告中指定 IpOptions 和 TcpOptions 支援,則如果支援 使用一般路由封裝 (NVGRE) 工作卸除, 則必須支援封裝封包的選項處理。 這表示它同時支援封裝封包內的內部和外部IP選項和TCP選項。 只有 NVGRE 工作卸除的特定功能公告沒有個別的功能公告。
通訊協議驅動程式可以卸除「混合模式」封包,這表示內部和外部IP標頭版本的封包不同。 例如,封包可能會有外部IP標頭作為IPv6,而內部IP標頭則為IPv4。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8,NDIS 6.30 和更新版本支援。 |
最低支援的伺服器 | Windows Server 2012 |
標頭 | ntddndis.h (包括 Ndis.h) |