NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO 구조체(ndis/nbllso.h)
NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO 구조는 TCP/IP 전송에서 미니포트 어댑터로 LSO(대규모 송신 오프로드) 작업을 오프로드하는 데 사용되는 정보를 지정합니다. NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO 구조는 NET_BUFFER_LIST 정보의 일부입니다.
구문
typedef struct _NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO {
union {
struct {
ULONG Unused : 30;
ULONG Type : 1;
ULONG Reserved2 : 1;
} Transmit;
struct {
ULONG MSS : 20;
ULONG TcpHeaderOffset : 10;
ULONG Type : 1;
ULONG Reserved2 : 1;
} LsoV1Transmit;
struct {
ULONG TcpPayload : 30;
ULONG Type : 1;
ULONG Reserved2 : 1;
} LsoV1TransmitComplete;
struct {
ULONG MSS : 20;
ULONG TcpHeaderOffset : 10;
ULONG Type : 1;
ULONG IPVersion : 1;
} LsoV2Transmit;
struct {
ULONG Reserved : 30;
ULONG Type : 1;
ULONG Reserved2 : 1;
} LsoV2TransmitComplete;
PVOID Value;
};
} NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO, *PNDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO;
멤버
Transmit
전송 정보를 지정하고 다음 멤버를 포함하는 NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO 내의 구조체입니다.
Transmit.Unused
NDIS용으로 예약된 사용되지 않는 공간을 지정하는 ULONG 값입니다.
Transmit.Type
미니포트 드라이버가 실행되어야 하는 오프로드 형식입니다. 프로토콜 드라이버는 이 멤버를 NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE 설정하여 LSOV1(대규모 송신 오프로드 버전 1) 작업을 지정하거나 NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE LSOV2(대규모 송신 오프로드 버전 2) 작업을 지정합니다.
Transmit.Reserved2
NDIS용으로 예약되었습니다.
LsoV1Transmit
LSO 전송 정보를 지정하고 다음 멤버를 포함하는 NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO 내의 구조체입니다.
LsoV1Transmit.MSS
segmentaion 이후의 각 패킷에 대한 최대 세그먼트 크기(바이트)입니다. TCP/IP 전송은 분할을 위해 큰 TCP 패킷을 미니포트 드라이버에 전달하기 전에 이 값을 씁니다. 전송된 각 세그먼트의 TCP 페이로드 크기는 이 값을 초과해서는 안됩니다.
LsoV1Transmit.TcpHeaderOffset
TCP 패킷에 대한 패킷 시작 부분의 TCP 헤더 오프셋(바이트)입니다. 미니포트 드라이버는 TcpHeaderOffset 을 사용하여 IP 헤더를 구문 분석할 필요가 없도록 TCP 헤더의 위치를 확인할 수 있습니다.
LsoV1Transmit.Type
미니포트 드라이버가 실행되어야 하는 오프로드 형식입니다. 프로토콜 드라이버는 이 멤버를 NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE 설정하여 LSOV1 작업을 지정하거나 NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE LSOV2 작업을 지정합니다.
LsoV1Transmit.Reserved2
NDIS용으로 예약되었습니다.
LsoV1TransmitComplete
LSO 전송 전체 정보를 지정하고 다음 멤버를 포함하는 NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO 내의 구조체입니다.
LsoV1TransmitComplete.TcpPayload
큰 패킷을 분할하여 만든 NIC(네트워크 인터페이스 카드) 패킷 집합의 총 TCP 페이로드 바이트 수입니다. 미니포트 드라이버는 LSO 패킷 보내기를 완료하기 전에 TCP 페이로드 크기를 씁니다.
LsoV1TransmitComplete.Type
미니포트 드라이버가 수행한 오프로드 유형입니다. mniport 드라이버는 오버리싱 드라이버가 전송을 위해 패킷을 제출했을 때와 동일하게 이 값을 남깁니다.
LsoV1TransmitComplete.Reserved2
NDIS용으로 예약되었습니다.
LsoV2Transmit
LSOV2 전송 정보를 지정하고 다음 멤버를 포함하는 NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO 내의 구조체입니다.
LsoV2Transmit.MSS
각 TCP 세그먼트에 대한 MSS(바이트)입니다. TCP/IP 전송은 분할을 위해 큰 TCP 패킷을 미니포트 드라이버에 전달하기 전에 이 값을 씁니다.
LsoV2Transmit.TcpHeaderOffset
TCP 패킷에 대한 패킷 시작 부분의 TCP 헤더 오프셋(바이트)입니다. 미니포트 드라이버는 TcpHeaderOffset 을 사용하여 IP 헤더를 구문 분석할 필요가 없도록 TCP 헤더의 위치를 확인할 수 있습니다.
LsoV2Transmit.Type
미니포트 드라이버가 실행되어야 하는 오프로드 형식입니다. 프로토콜 드라이버는 이 멤버를 NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE 설정하여 LSOV1 작업을 지정하거나 NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE LSOV2 작업을 지정합니다.
LsoV2Transmit.IPVersion
패킷의 IP 버전입니다. IPv4 패킷의 경우 IPVersion 은 NDIS_TCP_LARGE_SEND_OFFLOAD_IPv4 설정됩니다. IPv6 패킷의 경우 IPVersion 은 NDIS_TCP_LARGE_SEND_OFFLOAD_IPv6 설정됩니다.
LsoV2TransmitComplete
LSOV2 전송 전체 정보를 지정하고 다음 멤버를 포함하는 NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO 내의 구조체입니다.
LsoV2TransmitComplete.Reserved
일반적으로 이 멤버는 NDIS용으로 예약되어 있습니다. 그러나 보내기 작업이 완료되면 미니포트 드라이버는 이 멤버를 0으로 설정해야 합니다.
LsoV2TransmitComplete.Type
미니포트 드라이버가 수행한 오프로드 유형입니다. mniport 드라이버는 오버리싱 드라이버가 전송을 위해 패킷을 제출했을 때와 동일하게 이 값을 남깁니다.
예를 들어 보내기 작업이 완료되면 미니포트 드라이버는 이 멤버를 NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE 설정합니다.
LsoV2TransmitComplete.Reserved2
NDIS용으로 예약되었습니다.
Value
LSO 정보의 PVOID 버전입니다. 이 멤버를 사용하여 특정 필드 대신 원시 정보에 액세스합니다.
설명
NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO 구조체는 LSOV1 및 LSOV2 작업에 대한 정보를 지정합니다. NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO 구조체는 NET_BUFFER_LIST 구조체에 포함된 정보의 일부입니다.
LSOV1 또는 LSOV2 정보를 설정하고 가져오려면 NET_BUFFER_LIST_INFO 매크로와 함께 TcpLargeSendNetBufferListInfo 인덱스를 사용합니다. NET_BUFFER_LIST_INFO ULONG 값(ULONG 값에 대한 포인터가 아님)을 반환합니다.
TCP/IP 전송은 미니포트 드라이버에 큰 패킷을 보내기 전에 NDIS_TCP_LARGE_SEND_OFFLOAD_NET_BUFFER_LIST_INFO 구조체의 MSS 및 TcpHeaderOffset 멤버를 업데이트합니다.
LSOV1의 경우 미니포트 드라이버는 분할된 패킷에 대한 보내기 작업을 완료하기 전에 TcpPayload 멤버에 TCP 페이로드 크기를 씁니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | NDIS 6.0 이상에서 지원됩니다. |
머리글 | ndis/nbllso.h(ndis.h 포함) |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기