NDIS_TCP_CONNECTION_OFFLOAD 구조체(ntddndis.h)

NDIS_TCP_CONNECTION_OFFLOAD 구조는 현재 설정 및 지원되는 기능에 대한 연결 오프로드 정보를 제공합니다.

구문

typedef struct _NDIS_TCP_CONNECTION_OFFLOAD {
  NDIS_OBJECT_HEADER Header;
  ULONG              Encapsulation;
  ULONG              SupportIPv4 : 2;
  ULONG              SupportIPv6 : 2;
  ULONG              SupportIPv6ExtensionHeaders : 2;
  ULONG              SupportSack : 2;
  ULONG              CongestionAlgorithm : 4;
  ULONG              TcpConnectionOffloadCapacity;
  ULONG              Flags;
} NDIS_TCP_CONNECTION_OFFLOAD, *PNDIS_TCP_CONNECTION_OFFLOAD;

멤버

Header

NDIS_TCP_CONNECTION_OFFLOAD 구조체의 NDIS_OBJECT_HEADER 구조체입니다. HeaderNDIS_OBJECT_TYPE_DEFAULT 지정하는 구조체의 Type 멤버, NDIS_TCP_CONNECTION_OFFLOAD_REVISION_1 수정 멤버 및 Size멤버를NDIS_SIZEOF_TCP_CONNECTION_OFFLOAD_REVISION_1 설정합니다.

Encapsulation

TCP 굴뚝 오프로드에 대한 캡슐화 설정입니다. 이 멤버에 대한 자세한 내용은 다음 설명 섹션을 참조하세요.

SupportIPv4

오프로드 대상이 IPv4를 지원함을 나타내기 위해 설정하는 ULONG 값입니다. TCP/IP 드라이버 스택은 IPv4를 사용하도록 이 멤버를 설정합니다.

SupportIPv6

오프로드 대상이 IPv6을 지원함을 나타내기 위해 설정하는 ULONG 값입니다. TCP/IP 드라이버 스택은 IPv6을 사용하도록 이 멤버를 설정합니다. 오프로드 대상은 IPv4 및 IPv6을 모두 지원할 수 있습니다.

SupportIPv6ExtensionHeaders

오프로드 대상이 IPv6 확장 헤더(즉, 라우팅, 조각화/재어셈블리, 인증, 캡슐화, 홉별 처리 및 대상 옵션)를 지원함을 나타내기 위해 설정하는 ULONG 값입니다. TCP/IP 드라이버 스택은 IPv6 확장 헤더를 사용하도록 이 멤버를 설정합니다.

SupportSack

오프로드 대상이 전송 및 수신 작업 모두에 대해 TCP 선택적 승인(SACK)을 지원함을 나타내기 위해 설정하는 ULONG 값입니다. TCP/IP 드라이버 스택은 전송 및 수신 작업 모두에 대해 SACK를 사용하도록 이 멤버를 설정합니다.

오프로드 대상이 SupportSack 멤버를 설정하는 경우 대상은 SACK 세그먼트를 생성하고 사용할 수 있어야 합니다. 오프로드 대상이 SACK 옵션을 지원하지 않는 경우 대상은 SACK 옵션을 무시하고 TCP 세그먼트의 나머지 부분을 정상적으로 처리할 수 있어야 합니다.

CongestionAlgorithm

다음에 사용하도록 예약됩니다.

IHV(독립 하드웨어 공급업체)이며 기본이 아닌 정체 제어 알고리즘(예: 복합 TCP)을 구현하려는 경우 외부 TCP 오프로드 심사에서 Microsoft에 문의하세요.

TcpConnectionOffloadCapacity

오프로드 대상이 지원하는 오프로드된 TCP 연결의 최대 수를 나타내기 위해 설정하는 ULONG 값입니다. 이 번호에는 IPv4 및 IPv6 연결이 모두 포함됩니다.

Flags

예약되어 있습니다.

설명

NDIS_TCP_CONNECTION_OFFLOAD 구조는 미니포트 어댑터가 TCP 굴뚝 오프로드에 제공하는 현재 또는 지원되는 서비스를 지정합니다.

NDIS_TCP_CONNECTION_OFFLOAD 구조체는 NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES 구조체, NDIS_BIND_PARAMETERS 구조체, OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG Oid OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES OID, NDIS_STATUS_OFFLOAD_RESUME 상태 표시 및 상태 표시를 NDIS_STATUS_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES. (NDIS_STATUS_OFFLOAD_RESUME 대한 자세한 내용은 NDIS 6.0 TCP 굴뚝 오프로드 설명서를 참조하세요.)

미니포트 드라이버는 OID 쿼리를 받지 않습니다. NDIS는 미니포트 드라이버가 특성 및 상태 표시에 제공하는 정보를 사용하여 OID 쿼리에 대한 응답을 제공하고 바인딩 매개 변수를 제공합니다.

NDIS는 OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG 또는 OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES 쿼리에 대한 응답으로 NDIS_TCP_CONNECTION_OFFLOAD 구조를 제공합니다. OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG 쿼리에 대한 응답으로 NDIS_TCP_CONNECTION_OFFLOAD 구조는 오프로드 대상의 현재 구성 설정을 지정합니다. OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES 쿼리에 대한 응답으로 NDIS_TCP_CONNECTION_OFFLOAD 구조는 TCP/IP 전송에서 TCP 연결을 오프로드하기 위한 오프로드 대상의 하드웨어 기능을 지정합니다.

NDIS_TCP_CONNECTION_OFFLOAD 캡슐화 멤버는 미니포트 어댑터에 대한 TCP 굴뚝 오프로드 캡슐화 설정을 정의합니다.

의 경우쿼리 요청에 OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES NDIS는 캡슐화 멤버에서 하드웨어 캡슐화 기능을 나타내는 단일 플래그 제공합니다.

의 경우쿼리 요청에 OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG NDIS는 현재 캡슐화 설정을 나타내는 캡슐화 플래그의 비트 OR을 제공합니다.

캡슐화 멤버에 대해 다음 플래그가 정의됩니다.

중요 굴뚝이 가능한 미니포트 또는 mux 드라이버는 캡슐화 멤버를 NDIS_ENCAPSULATION_IEEE_802_3, NDIS_ENCAPSULATION_IEEE_LLC_SNAP_ROUTED 또는 둘 다로 설정해야 합니다. 그렇지 않으면 굴뚝 기능이 인식되지 않습니다.
 

TCP 굴뚝 오프로드 쿼리

NDIS가 의 쿼리에 응답하는 경우 OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES 또는 오프로드 대상에 대한 OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG NDIS는 NDIS_TCP_CONNECTION_OFFLOAD 구조의 SupportIp4, SupportIp6, SupportIp6ExtensionHeadersSupportISack 멤버를 제공합니다. 이러한 멤버는 다음 값 중 하나를 가질 수 있습니다.

오프로드 대상은 IPv4 또는 IPv6(또는 둘 다)을 지원해야 합니다. 오프로드 대상은 필요에 따라 IPv6 확장 헤더를 지원할 수 있습니다.

오프로드 대상은 IPv4 옵션을 지원하지 않아야 합니다. 오프로드 대상은 IPv4 옵션이 포함된 수신된 IP 데이터그램을 TCP/IP 드라이버 스택으로 전달해야 합니다. 오프로드 대상은 를 호출하여 TCP/IP 드라이버 스택에 대한 IP 데이터그램을 나타냅니다. NdisMIndicateReceiveNetBufferLists. TCP/IP 드라이버 스택은 IPv4 옵션을 처리하고 데이터그램을 오프로드 대상의 에 반환합니다. MiniportTcpOffloadForward 함수입니다. ( MiniportTcpOffloadForward에 대한 자세한 내용은 NDIS 6.0 TCP 굴뚝 오프로드 설명서를 참조하세요.)

또한 오프로드 대상은 NDIS_TCP_CONNECTION_OFFLOAD TcpConnectionOffloadCapacity 멤버에 대한 값을 제공해야 합니다. 이 값은 오프로드 대상이 지원할 수 있는 동시에 오프로드된 TCP 연결의 최대 수여야 합니다.

오프로드 대상은 새 오프로드 기능을 직접 나타낼 수 없습니다. 대신 오프로드 대상은 TCP/IP 드라이버 스택을 일시 중지한 다음 오프로드를 다시 시작하도록 요청해야 합니다. 미니포트 어댑터가 TCP 연결 오프로드를 다시 시작할 준비가 되면 새 연결 오프로드 기능을 보고하는 NDIS_STATUS_OFFLOAD_RESUME 상태 표시를 발급합니다. NDIS_STATUS_OFFLOAD_RESUME 대한 자세한 내용은 NDIS 6.0 TCP 굴뚝 오프로드 설명서를 참조하세요.

요구 사항

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

추가 정보

NDIS_BIND_PARAMETERS

NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES

NDIS_OBJECT_HEADER

NDIS_OFFLOAD

NDIS_STATUS_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES NdisMIndicateReceiveNetBufferLists OID_TCP_CONNECTION_OFFLOAD_CURRENT_CONFIG OID_TCP_CONNECTION_OFFLOAD_HARDWARE_CAPABILITIES