NDIS_OFFLOAD_PARAMETERS結構 (ntddndis.h)
NDIS_OFFLOAD_PARAMETERS 結構會指定目前的工作卸除組態設定,以回應 OID_TCP_OFFLOAD_PARAMETERS的 OID 集合要求。
語法
typedef struct _NDIS_OFFLOAD_PARAMETERS {
NDIS_OBJECT_HEADER Header;
UCHAR IPv4Checksum;
UCHAR TCPIPv4Checksum;
UCHAR UDPIPv4Checksum;
UCHAR TCPIPv6Checksum;
UCHAR UDPIPv6Checksum;
UCHAR LsoV1;
UCHAR IPsecV1;
UCHAR LsoV2IPv4;
UCHAR LsoV2IPv6;
UCHAR TcpConnectionIPv4;
UCHAR TcpConnectionIPv6;
ULONG Flags;
UCHAR IPsecV2;
UCHAR IPsecV2IPv4;
struct {
UCHAR RscIPv4;
UCHAR RscIPv6;
};
struct {
UCHAR EncapsulatedPacketTaskOffload;
UCHAR EncapsulationTypes;
};
union {
struct {
USHORT VxlanUDPPortNumber;
} VxlanParameters;
ULONG Value;
} EncapsulationProtocolParameters;
_ENCAPSULATION_PROTOCOL_PARAMETERS _ENCAPSULATION_PROTOCOL_PARAMETERS;
struct {
UCHAR IPv4;
UCHAR IPv6;
} UdpSegmentation;
struct {
UCHAR Enabled;
} UdpRsc;
} NDIS_OFFLOAD_PARAMETERS, *PNDIS_OFFLOAD_PARAMETERS;
成員
Header
NDIS_OFFLOAD_PARAMETERS 結構的 NDIS_OBJECT_HEADER 結構。 設定 Header 指定為NDIS_OBJECT_TYPE_DEFAULT之結構的 Type 成員。
若要指出 NDIS_OFFLOAD_PARAMETERS 結構的版本,請將 Revision 成員設定為下列其中一個值:
價值 | 意義 |
---|---|
NDIS_OFFLOAD_PARAMETERS_REVISION_6 6 |
支援 NDIS 6.89 UdpRsc 成員。 將 Size 成員設定為 NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_6。 |
NDIS_OFFLOAD_PARAMETERS_REVISION_5 5 |
支援 IPv4 的 UdpSegmentation,以及適用於 NDIS 6.83 的 IPv6。 將 Size 成員設定為 NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_5。 |
NDIS_OFFLOAD_PARAMETERS_REVISION_4 4 |
支援 EncapsulationProtocolParameters 及其巢狀 VxlanParameters NDIS 6.50。 將 Size 成員設定為 NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_4。 |
NDIS_OFFLOAD_PARAMETERS_REVISION_3 3 |
支援 RscIPv4、RscIPv6、EncapsulatedPacketTaskOffload,以及 NDIS 6.30 成員的 EncapsulationTypes。 將 Size 成員設定為 NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_3。 |
NDIS_OFFLOAD_PARAMETERS_REVISION_2 2 |
支援 IPsecV2、IPsecV2IPv4、Reserved1,以及 NDIS 6.1 Reserved2 成員。 將 Size 成員設定為 NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2。 |
NDIS_OFFLOAD_PARAMETERS_REVISION_1 1 |
NDIS 6.0 的原始版本。 將 Size 成員設定為 NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_1。 |
IPv4Checksum
迷你埠適配卡的IPv4總和檢查碼設定。 如需詳細資訊,請參閱下列一節。
TCPIPv4Checksum
TCP 封包迷你埠適配卡的 IPv4 總和檢查碼設定。 如需詳細資訊,請參閱下列一節。
UDPIPv4Checksum
UDP 封包迷你埠適配卡的 IPv4 總和檢查碼設定。 如需詳細資訊,請參閱下列一節。
TCPIPv6Checksum
TCP 封包迷你埠適配卡的 IPv6 總和檢查碼設定。 如需詳細資訊,請參閱下列一節。
UDPIPv6Checksum
UDP 封包迷你埠適配卡的 IPv6 總和檢查碼設定。 如需詳細資訊,請參閱下列一節。
LsoV1
迷你埠配接器的大型傳送卸除第 1 版 (LSOV1) 設定。 此設定應該是下列其中一個值:
價值 | 意義 |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | 迷你埠驅動程序不應該變更目前的設定。 |
NDIS_OFFLOAD_PARAMETERS_LSOV1_DISABLED | LSOV1 已停用。 |
NDIS_OFFLOAD_PARAMETERS_LSOV1_ENABLED | LSOV1 已啟用。 |
IPsecV1
迷你埠配接器的因特網通訊協定安全性 (IPsec) 卸除設定。 此設定應該是下列其中一個值:
價值 | 意義 |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | 迷你埠驅動程序不應該變更目前的設定。 |
NDIS_OFFLOAD_PARAMETERS_IPSECV1_DISABLED | IPsec 卸除已停用。 |
NDIS_OFFLOAD_PARAMETERS_IPSECV1_AH_ENABLED | 應啟用 IPsec 卸除驗證標頭 (AH) 功能以進行傳輸和接收。 |
NDIS_OFFLOAD_PARAMETERS_IPSECV1_ESP_ENABLED | 應啟用 IPsec 卸載封裝安全性承載 (ESP) 功能以進行傳輸和接收。 |
NDIS_OFFLOAD_PARAMETERS_IPSECV1_AH_AND_ESP_ENABLED | IPsec 卸除 AH 和 ESP 功能已啟用傳輸和接收。 |
LsoV2IPv4
迷你埠適配卡的 IPv4 大型傳送卸除第 2 版 (LSOV2) 設定。 此設定應該是下列其中一個值:
價值 | 意義 |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | 迷你埠驅動程序不應該變更目前的設定。 |
NDIS_OFFLOAD_PARAMETERS_LSOV2_DISABLED | IPv4 的 LSOV2 已停用。 |
NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED | 已啟用 IPv4 的 LSOV2。 |
LsoV2IPv6
迷你埠配接器的IPv6 LSOV2 設定。 這些設定會指定為下列其中一個值:
價值 | 意義 |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | 迷你埠驅動程序不應該變更目前的設定。 |
NDIS_OFFLOAD_PARAMETERS_LSOV2_DISABLED | IPv6 的 LSOV2 已停用。 |
NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED | 已啟用 IPv6 的 LSOV2。 |
TcpConnectionIPv4
迷你埠適配卡的IPv4連線卸除設定。 這些設定會指定為下列其中一個值:
價值 | 意義 |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | 迷你埠驅動程序不應該變更目前的設定。 |
TcpConnectionIPv6
迷你埠配接器的IPv6連線卸載設定。 這些設定會指定為下列其中一個值:
價值 | 意義 |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | 迷你埠驅動程序不應該變更目前的設定。 |
Flags
一組旗標,可以與位 OR 作業結合。 將此成員設定為零或下列值:
價值 | 意義 |
---|---|
NDIS_OFFLOAD_PARAMETERS_SKIP_REGISTRY_UPDATE 0x00000001 |
只允許在運行時間停用 UDP 接收區段聯合卸載 (URO)。 使用此旗標所做的變更不會儲存至登錄。 |
IPsecV2
因特網通訊協定安全性 (IPsec) 卸除支援 IPv6 和 IPv4 的迷你埠適配卡第 2 版設定。 此成員會指定 IPv6 和 IPv4 支援的設定。 此設定應該是下列其中一個值:
價值 | 意義 |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | 迷你埠驅動程序不應該變更目前的設定。 |
NDIS_OFFLOAD_PARAMETERS_IPSECV2_DISABLED | IPsec 卸除第 2 版已停用。 |
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_ENABLED | 應啟用 IPsec 卸除第 2 版驗證標頭 (AH) 功能以進行傳輸和接收。 |
NDIS_OFFLOAD_PARAMETERS_IPSECV2_ESP_ENABLED | 應啟用 IPsec 卸除第 2 版封裝安全性承載 (ESP) 功能以進行傳輸和接收。 |
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_AND_ESP_ENABLED | IPsec 卸除第 2 版 AH 和 ESP 功能已啟用傳輸和接收。 |
IPsecV2IPv4
因特網通訊協定安全性 (IPsec) 卸除支援 IPv4 且不支援 IPv6 的迷你埠適配卡第 2 版設定。 如果迷你埠驅動程序支援 IPv6,IPsecV2 成員會指定 IPv4 設定,而且不會使用此成員。 此設定應該是下列其中一個值:
價值 | 意義 |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | 迷你埠驅動程序不應該變更目前的設定。 |
NDIS_OFFLOAD_PARAMETERS_IPSECV2_DISABLED | IPsec 卸除第 2 版已停用。 |
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_ENABLED | 應啟用 IPsec 卸除第 2 版驗證標頭 (AH) 功能以進行傳輸和接收。 |
NDIS_OFFLOAD_PARAMETERS_IPSECV2_ESP_ENABLED | 應啟用 IPsec 卸除第 2 版封裝安全性承載 (ESP) 功能以進行傳輸和接收。 |
NDIS_OFFLOAD_PARAMETERS_IPSECV2_AH_AND_ESP_ENABLED | IPsec 卸除第 2 版 AH 和 ESP 功能已啟用傳輸和接收。 |
RscIPv4
指出 IPv4 的接收區段聯合狀態。
價值 | 意義 |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | RSC 狀態不變。 |
NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED | RSC 狀態已啟用。 |
NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED | RSC 狀態已停用。 |
RscIPv6
指出 IPv6 的接收區段聯合狀態。
價值 | 意義 |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | RSC 狀態不變。 |
NDIS_OFFLOAD_PARAMETERS_RSC_ENABLED | RSC 狀態已啟用。 |
NDIS_OFFLOAD_PARAMETERS_RSC_DISABLED | RSC 狀態已停用。 |
EncapsulatedPacketTaskOffload
通訊協議驅動程式會設定 EncapsulatedPacketTaskOffload,如下所示:
附註:針對 VMQ 和 RSS 等接收端卸除,通訊協定驅動程式會傳送其他設定的 OID 來啟用和設定卸除參數(例如佇列、哈希和間接存取數據表)。 EncapsulatedPacketTaskOffload 成員會補充這些 OID,並指示 NIC 也針對封裝的封包執行這些卸除。
價值 | 意義 |
---|---|
NDIS_OFFLOAD_SET_NO_CHANGE 0 |
NVGRE 和 VXLAN 工作卸除狀態不變。 |
NDIS_OFFLOAD_SET_ON 1 |
啟用 NVGRE 和 VXLAN 工作卸除。 |
NDIS_OFFLOAD_SET_OFF 2 |
停用 NVGRE 和 VXLAN 工作卸除。 |
EncapsulationTypes
只有當 EncapsulatedPacketTaskOffload 設定為 NDIS_OFFLOAD_SET_ON時,此字段才有效。 如果 EncapsulatedPacketTaskOffload 成員未設定為 NDIS_OFFLOAD_SET_ON,則此成員為零。 通訊協定驅動程式必須將 EncapsulationTypes 設定為對應至所需封裝類型之旗標的位 OR。 它可以從下列項目選取旗標:
價值 | 意義 |
---|---|
NDIS_ENCAPSULATION_TYPE_GRE_MAC 0x00000001 |
指定 GRE MAC 封裝 (NVGRE)。 |
NDIS_ENCAPSULATION_TYPE_VXLAN 0x00000002 |
指定 VXLAN 封裝。 |
EncapsulationProtocolParameters
聯集,描述 VXLAN 封裝的封裝參數。
如果迷你埠驅動程式 VxlanUDPPortNumerConfigurable 公告 為 TRUE,則通訊協定驅動程式可以將 EncapsulationProtocolParameters.VxlanParameters.VxlanUDPPortNumber 設為非 0 值。 迷你埠驅動程序必須在成功 OID 之後,使用此埠號碼來比對和產生 VXLAN 畫面格,同時在其功能中公告更新的值。 如果通訊協定驅動程式傳遞的值 0,則迷你埠驅動程式會繼續使用從標準化關鍵詞初始化的埠號碼。
EncapsulationProtocolParameters.VxlanParameters
結構,包含 VxlanUDPPortNumber。
EncapsulationProtocolParameters.VxlanParameters.VxlanUDPPortNumber
VXLAN 目的地埠值。 此值預設會設定為 IANA 指派的 4789 值。 如果迷你埠驅動程序支援 NDIS_OFFLOAD 結構中所公告的可設定埠號碼,通訊協定驅動程式可以發出 OID_TCP_OFFLOAD_PARAMETERS OID,以 VxlanUDPPortNumber中的不同值來啟用NDIS_ENCAPSULATION_TYPE_VXLAN。 迷你埠驅動程序必須使用 VxlanUDPPortNumber 來判斷執行接收卸除的 VXLAN 封裝封包。
EncapsulationProtocolParameters.Value
如果 EncapsulationTypes 未設定為 NDIS_ENCAPSULATION_TYPE_VXLAN,則為埠值。
_ENCAPSULATION_PROTOCOL_PARAMETERS
EncapsulationProtocolParameters的類型名稱。
UdpSegmentation
結構,描述迷你埠配接器的 UDP 分割卸載 (USO) 設定。
UdpSegmentation.IPv4
迷你埠配接器的 IPv4 UDP 分割卸載 (USO) 設定。 此設定應該是下列其中一個值:
價值 | 意義 |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | 迷你埠驅動程序不應該變更目前的設定。 |
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_DISABLED | USO 已停用。 |
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_ENABLED | 已啟用 USO。 |
UdpSegmentation.IPv6
迷你埠配接器的 IPv6 UDP 分割卸載 (USO) 設定。 此設定應該是下列其中一個值:
價值 | 意義 |
---|---|
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE | 迷你埠驅動程序不應該變更目前的設定。 |
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_DISABLED | USO 已停用。 |
NDIS_OFFLOAD_PARAMETERS_UDP_SEG_ENABLED | 已啟用 USO。 |
UdpRsc
結構,描述迷你埠適配卡的 UDP 接收區段聯合卸除 (URO) 設定。
UdpRsc.Enabled
迷你埠配接器的URO設定。 此設定應該是下列其中一個值:
價值 | 意義 |
---|---|
NDIS_OFFLOAD_PARAMETERS_UDP_RSC_NO_CHANGE 0 |
迷你埠驅動程序不應該變更目前的設定。 |
NDIS_OFFLOAD_PARAMETERS_UDP_RSC_DISABLED 1 |
URO 已停用。 |
NDIS_OFFLOAD_PARAMETERS_UDP_RSC_ENABLED 2 |
已啟用URO。 |
言論
為了回應 OID_TCP_OFFLOAD_PARAMETERS OID 集合要求,迷你埠驅動程式會使用 NDIS_OFFLOAD_PARAMETERS 結構中的設定來設定迷你埠配接器的目前組態。
NDIS 會在卸除標準化關鍵詞的登錄中保留要求的設定。 當 NDIS 重新啟動迷你埠配接器時,迷你埠驅動程式會讀取卸除標準化關鍵詞,並使用它們來設定 NIC 的預設卸除組態。
若要存取總和檢查碼卸除設定,請使用下列 NDIS_OFFLOAD_PARAMETERS 結構成員:
IPv4Checksum
TCPIPv4Checksum
UDPIPv4Checksum
TCPIPv6Checksum
UDPIPv6Checksum
上述成員可以具有下列其中一個值:
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE
迷你埠驅動程序不應該變更目前的設定。
NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED
成員指定的功能已停用。
NDIS_OFFLOAD_PARAMETERS_TX_ENABLED_RX_DISABLED
成員指定的功能已啟用傳輸,並停用接收功能。
NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED
成員指定的功能已啟用接收和停用傳輸。
NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED
成員指定的功能已啟用傳輸和接收。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista,支援 NDIS 6.0 和更新版本。 |
支援的最低伺服器 | Windows Server 2008 |
標頭 | ntddndis.h (包括 Ndis.h) |