NDIS_TCP_LARGE_SEND_OFFLOAD_V1 結構 (ntddndis.h)
NDIS_TCP_LARGE_SEND_OFFLOAD_V1 結構提供 NDIS_OFFLOAD結構中 大型傳送卸除第 1 版 (LSOV1) 資訊。
語法
typedef struct _NDIS_TCP_LARGE_SEND_OFFLOAD_V1 {
struct {
ULONG Encapsulation;
ULONG MaxOffLoadSize;
ULONG MinSegmentCount;
ULONG TcpOptions : 2;
ULONG IpOptions : 2;
} IPv4;
} NDIS_TCP_LARGE_SEND_OFFLOAD_V1, *PNDIS_TCP_LARGE_SEND_OFFLOAD_V1;
成員
IPv4
包含下列成員之NDIS_TCP_LARGE_SEND_OFFLOAD_V1內的 結構:
IPv4.Encapsulation
封裝 IPv4 的設定。 如需此成員的詳細資訊,請參閱下列一節。
IPv4.MaxOffLoadSize
傳輸可以傳遞至單一封包中迷你埠驅動程式的用戶數據最大位元元組數。 傳輸不會將封包傳遞至迷你埠驅動程式,其中包含比 MaxOffLoadSize 指定更多的用戶數據位元組。 如果必須傳輸這類封包,傳輸本身會將封包分割成較小的封包。
IPv4.MinSegmentCount
傳輸才能將大型 TCP 封包卸除至硬體以進行分割之前,必須先將大型 TCP 封包的區段數目減去。 傳輸不會將大型封包卸除至迷你埠驅動程式以進行分割,除非迷你埠驅動程式可以建立至少與 MinSegmentCount 指定的分割區段一樣多。 如果大型 TCP 封包不符合最低區段需求,TCP/IP 傳輸本身會將封包分割成較小的封包。
IPv4.TcpOptions
迷你埠驅動程式設定的 ULONG 值,表示迷你埠驅動程式可以分割大型 TCP 封包,其 TCP 標頭包含 TCP 選項,或表示已啟用或停用此功能。 TCP/IP 傳輸會將此值設定為啟用或停用此功能。
IPv4.IpOptions
迷你埠驅動程式設定的 ULONG 值,表示迷你埠配接器可以分割大型 TCP 封包,其 IP 標頭包含 IP 選項,或表示已啟用或停用此功能。
備註
NDIS_TCP_LARGE_SEND_OFFLOAD_V1 結構用於NDIS_OFFLOAD結構的 LsoV1 成員中。 NDIS_TCP_LARGE_SEND_OFFLOAD_V1 指定迷你埠配接器所提供的目前或支持的服務,以便將大型 TCP 封包分割成較小的封包。 NDIS 也提供大型傳送卸除版本 2 (LSOV2) ,這是增強版的 LSO。 如需 LSOV2 的詳細資訊,請參閱 NDIS_TCP_LARGE_SEND_OFFLOAD_V2。
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_V1的封裝成員會定義迷你埠配接器的 LSOV1 封裝功能或設定。
回應 OID_TCP_OFFLOAD_CURRENT_CONFIG 查詢要求,NDIS 會在 封裝 成員中提供封裝旗標的位 OR,指出支援的封裝設定。 迷你埠驅動程序必須提供乙太網路封裝 (NDIS_ENCAPSULATION_IEEE_802_3) 。 其他類型的封裝是選擇性的。
針對 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 狀態指示,迷你埠驅動程式會提供封裝旗標的位 OR,指出 封裝 成員中的目前功能。
下列旗標是針對 封裝 成員所定義的:
NDIS_ENCAPSULATION_NONE或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_TCP_LARGE_SEND_OFFLOAD_V1 TcpOptions 和 IpOptions 成員中的值,在 中指定迷你埠配接器支援 OID_TCP_OFFLOAD_CURRENT_CONFIG OID 或 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 狀態指示。 這些成員可以有下列其中一個值:
NDIS_OFFLOAD_NOT_SUPPORTED
迷你埠配接器不支持成員指定的功能。
NDIS_OFFLOAD_SUPPORTED
迷你埠配接器支持成員指定的功能
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | NDIS 6.0 和更新版本支援。 |
標頭 | ntddndis.h (包含 Ndis.h) |