NDIS_TCP_LARGE_SEND_OFFLOAD_V2 구조체(ntddndis.h)

NDIS_TCP_LARGE_SEND_OFFLOAD_V2 구조는 NDIS_OFFLOAD 구조에서 LSOV2(대규모 송신 오프로드 버전 2) 정보를 제공합니다.

구문

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

IPv4 정보를 지정하고 다음 멤버를 포함하는 NDIS_TCP_LARGE_SEND_OFFLOAD_V2 내의 구조체입니다.

IPv4.Encapsulation

IPv4에 대한 캡슐화 설정입니다. 이 멤버에 대한 자세한 내용은 다음 주의 섹션을 참조하세요.

IPv4.MaxOffLoadSize

전송이 단일 패킷의 미니포트 드라이버에 전달할 수 있는 최대 사용자 데이터 바이트입니다. 전송은 MaxOffLoadSize 가 지정하는 것보다 더 많은 사용자 데이터 바이트를 포함하는 미니포트 드라이버에 패킷을 전달하지 않습니다. 이러한 패킷을 전송해야 하는 경우 전송 자체는 패킷을 더 작은 패킷으로 분할합니다.

IPv4.MinSegmentCount

전송에서 분할을 위해 하드웨어로 오프로드하기 전에 큰 TCP 패킷을 나눌 수 있어야 하는 최소 세그먼트 수입니다. 미니포트 드라이버가 패킷에서 MinSegmentCount 가 지정한 만큼의 세그먼트를 만들 수 없다면 전송은 분할을 위해 미니포트 드라이버에 큰 패킷을 오프로드하지 않습니다. 대형 TCP 패킷이 최소 세그먼트 요구 사항을 충족하지 않는 경우 TCP/IP 전송 자체는 패킷을 더 작은 패킷으로 분할합니다.

IPv6

IPv6 정보를 지정하고 다음 멤버를 포함하는 NDIS_TCP_LARGE_SEND_OFFLOAD_V2 내의 구조체입니다.

IPv6.Encapsulation

IPv6에 대한 캡슐화 설정입니다. 이 멤버에 대한 자세한 내용은 다음 주의 섹션을 참조하세요.

IPv6.MaxOffLoadSize

전송이 단일 패킷의 미니포트 드라이버에 전달할 수 있는 최대 사용자 데이터 바이트입니다. 전송은 MaxOffLoadSize 가 지정하는 것보다 더 많은 사용자 데이터 바이트를 포함하는 미니포트 드라이버에 패킷을 전달하지 않습니다. 이러한 패킷을 전송해야 하는 경우 전송 자체는 패킷을 더 작은 패킷으로 분할합니다.

IPv6.MinSegmentCount

전송에서 분할을 위해 NIC로 오프로드하기 전에 큰 TCP 패킷을 나눌 수 있어야 하는 최소 세그먼트 수입니다. 미니포트 드라이버가 패킷에서 MinSegmentCount 가 지정한 만큼의 세그먼트를 만들 수 없다면 전송은 분할을 위해 미니포트 드라이버에 큰 패킷을 오프로드하지 않습니다. 대형 TCP 패킷이 최소 세그먼트 요구 사항을 충족하지 않는 경우 TCP/IP 전송 자체는 패킷을 더 작은 패킷으로 분할합니다.

IPv6.IpExtensionHeadersSupported

미니포트 어댑터가 IP 헤더에 IPv6 확장 헤더가 포함된 대형 TCP 패킷을 분할할 수 있음을 나타내기 위해 미니포트 드라이버가 설정하는 ULONG 값입니다.

IPv6.TcpOptionsSupported

미니포트 드라이버가 TCP 옵션이 포함된 TCP 헤더의 큰 TCP 패킷을 분할하거나 이 기능이 사용 또는 비활성화되었음을 나타내기 위해 미니포트 드라이버가 설정하는 ULONG 값입니다.

설명

NDIS_TCP_LARGE_SEND_OFFLOAD_V2 구조체는 NDIS_OFFLOAD 구조체의 LsoV2 멤버에 사용됩니다. NDIS_TCP_LARGE_SEND_OFFLOAD_V2 구조는 미니포트 어댑터가 큰 TCP 패킷을 더 작은 패킷으로 분할하기 위해 제공하는 현재 또는 지원되는 서비스를 지정합니다. 또한 NDIS는 이전 버전의 LSOV2인 LSOV1(대규모 송신 오프로드 버전 1)도 제공합니다. 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
RFC 1483에 설명된 대로 라우트된 프로토콜에 대한 LLC(논리 링크 제어) 캡슐화를 지정합니다. 이 플래그는 이더넷 LLC/SNAP 캡슐화를 나타내는 데도 사용됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.0 이상에서 지원됩니다.
머리글 ntddndis.h(Ndis.h 포함)

추가 정보

NDIS_BIND_PARAMETERS

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES

NDIS_OFFLOAD

NDIS_OID_REQUEST

NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG NDIS_TCP_LARGE_SEND_OFFLOAD_V1

NET_BUFFER_LIST

OID_TCP_OFFLOAD_CURRENT_CONFIG