NDIS_TCP_LARGE_SEND_OFFLOAD_V2 結構 (ntddndis.h)
NDIS_TCP_LARGE_SEND_OFFLOAD_V2 結構提供NDIS_OFFLOAD結構中大型傳送卸除第 2 版 (LSOV2) 資訊。
語法
typedef struct _NDIS_TCP_LARGE_SEND_OFFLOAD_V2 {
struct {
ULONG Encapsulation;
ULONG MaxOffLoadSize;
ULONG MinSegmentCount;
} IPv4;
struct {
ULONG Encapsulation;
ULONG MaxOffLoadSize;
ULONG MinSegmentCount;
ULONG IpExtensionHeadersSupported : 2;
ULONG TcpOptionsSupported : 2;
} IPv6;
} NDIS_TCP_LARGE_SEND_OFFLOAD_V2, *PNDIS_TCP_LARGE_SEND_OFFLOAD_V2;
成員
IPv4
NDIS_TCP_LARGE_SEND_OFFLOAD_V2內的 結構,指定 IPv4 資訊,且包含下列成員:
IPv4.Encapsulation
封裝 IPv4 的設定。 如需此成員的詳細資訊,請參閱下列一節。
IPv4.MaxOffLoadSize
傳輸可以傳遞至單一封包中迷你埠驅動程式的用戶數據最大位元元組數。 傳輸不會將封包傳遞至迷你埠驅動程式,其中包含比 MaxOffLoadSize 指定更多的用戶數據位元組。 如果必須傳輸這類封包,傳輸本身會將封包分割成較小的封包。
IPv4.MinSegmentCount
傳輸才能將大型 TCP 封包卸除至硬體以進行分割之前,必須先將大型 TCP 封包的區段數目減去。 傳輸不會將大型封包卸除至迷你埠驅動程式以進行分割,除非迷你埠驅動程式可以建立至少與 MinSegmentCount 指定的分割區段一樣多。 如果大型 TCP 封包不符合最低區段需求,TCP/IP 傳輸本身會將封包分割成較小的封包。
IPv6
NDIS_TCP_LARGE_SEND_OFFLOAD_V2內的 結構,指定 IPv6 資訊,且包含下列成員:
IPv6.Encapsulation
封裝 IPv6 的設定。 如需此成員的詳細資訊,請參閱下列一節。
IPv6.MaxOffLoadSize
傳輸可以傳遞至單一封包中迷你埠驅動程式的用戶數據最大位元元組數。 傳輸不會將封包傳遞至迷你埠驅動程式,其中包含比 MaxOffLoadSize 指定更多的用戶數據位元組。 如果必須傳輸這類封包,傳輸本身會將封包分割成較小的封包。
IPv6.MinSegmentCount
傳輸才能將大型 TCP 封包卸除的最社區段數目,才能將其卸除至 NIC 以進行分割。 傳輸不會將大型封包卸除至迷你埠驅動程式以進行分割,除非迷你埠驅動程式可以建立至少與 MinSegmentCount 指定的分割區段一樣多。 如果大型 TCP 封包不符合最低區段需求,TCP/IP 傳輸本身會將封包分割成較小的封包。
IPv6.IpExtensionHeadersSupported
迷你埠驅動程式設定的 ULONG 值,表示迷你埠配接器可以分割大型 TCP 封包,其 IP 標頭包含 IPv6 擴充功能標頭。
IPv6.TcpOptionsSupported
迷你埠驅動程式設定的 ULONG 值,表示迷你埠驅動程式可以分割大型 TCP 封包,其 TCP 標頭包含 TCP 選項,或表示已啟用或停用此功能。
備註
NDIS_TCP_LARGE_SEND_OFFLOAD_V2 結構用於NDIS_OFFLOAD結構的 LsoV2 成員中。 NDIS_TCP_LARGE_SEND_OFFLOAD_V2 結構會指定迷你埠配接器所提供的目前或支援服務,以便將大型 TCP 封包分割成較小的封包。 NDIS 也提供大型傳送卸除版本 1 (LSOV1) ,這是舊版 LSOV2。 如需 LSOV1 的詳細資訊,請參閱 NDIS_TCP_LARGE_SEND_OFFLOAD_V1。
NDIS_OFFLOAD 用於 NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES 結構、 NDIS_BIND_PARAMETERS 結構、 NDIS_FILTER_ATTACH_PARAMETERS 結構, OID_TCP_OFFLOAD_CURRENT_CONFIG OID 和 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 狀態指示。
針對OID_TCP_OFFLOAD_CURRENT_CONFIG,NDIS_OFFLOAD結構會指定迷你埠配接器支援的工作卸除功能。 如果目前的卸除功能變更,迷你埠驅動程式會報告 中的新功能 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 狀態指示。
NDIS_TCP_LARGE_SEND_OFFLOAD_V2的 封裝 成員 會 定義迷你埠配接器的 LSOV2 封裝設定。
回應 OID_TCP_OFFLOAD_CURRENT_CONFIG 查詢要求,NDIS 會提供封裝旗標的位 OR,指出每個 封裝 成員中支援的封裝設定。 迷你埠驅動程序必須提供乙太網路封裝 (NDIS_ENCAPSULATION_IEEE_802_3) 。 其他類型的封裝是選擇性的。
針對 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 狀態指示,迷你埠驅動程式會提供封裝旗標的位 OR,這表示每個 封裝 成員中的目前功能。
下列旗標是針對 封裝 成員所定義的:
NDIS_ENCAPSULATION_NOT_SUPPORTED
指定不支援封裝卸除。
NDIS_ENCAPSULATION_NULL
指定 NULL 封裝。
NDIS_ENCAPSULATION_IEEE_802_3
指定 IEEE 802.3 封裝。
NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q
指定 IEEE 802.3p 和 IEEE 802.3q 封裝。
NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB
指定在每個NET_BUFFER_LIST結構的 NetBufferListInfo 成員中指定 IEEE 802.3p 和 IEEE 802.3q 封裝設定。
NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED
指定路由通訊協議的邏輯連結控制 (LLC) 封裝,如 RFC 1483 中所述。 此旗標也用來指出乙太網路 LLC/SNAP 封裝。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.0 和更新版本支援。 |
標頭 | ntddndis.h (包含 Ndis.h) |