Share via


IP_OFFLOAD_STATS 구조체(ndischimney.h)

[TCP 굴뚝 오프로드 기능은 더 이상 사용되지 않으며 사용하지 않아야 합니다.]

IP_OFFLOAD_STATS 구조에는 OID_IP4_OFFLOAD_STATS 또는OID_IP6_OFFLOAD_STATS 쿼리에 대한 응답으로 오프로드 대상이 제공하는 통계가 포함되어 있습니다.

구문

typedef struct _IP_OFFLOAD_STATS {
  ULONG64 InReceives;
  ULONG64 InOctets;
  ULONG64 InDelivers;
  ULONG64 OutRequests;
  ULONG64 OutOctets;
  ULONG   InHeaderErrors;
  ULONG   InTruncatedPackets;
  ULONG   InDiscards;
  ULONG   OutDiscards;
  ULONG   OutNoRoutes;
} IP_OFFLOAD_STATS, *PIP_OFFLOAD_STATS;

멤버

InReceives

오류로 수신된 IP 데이터그램을 포함하여 오프로드된 TCP 연결의 인터페이스에서 받은 총 입력 IP 데이터그램 수입니다. RFC 2011의 "ipInReceives"를 참조하세요.

InOctets

오프로드된 TCP 연결의 인터페이스에서 받은 입력 IP 데이터그램의 총 8진수(바이트)입니다. InReceives에 계산된 데이터그램의 8진수는 여기에서 계산해야 합니다. InOctets는 IP 헤더 및 페이로드에 바이트 수를 포함해야 합니다.

InDelivers

오프로드된 TCP 연결에 성공적으로 전달된 입력 IP 데이터그램의 수입니다. RFC 2011의 "ipInDelivers"를 참조하세요.

OutRequests

오프로드된 TCP 연결의 전송 요청에서 오프로드 대상이 해당 IP 계층에 제공한 IP 데이터그램의 수입니다. RFC 2011의 "ipOutRequests"를 참조하세요.

OutOctets

오프로드 대상에서 오프로드된 TCP 연결에 대한 전송 요청에서 IP 계층에 제공한 IP 데이터그램의 총 8진수(바이트)입니다. OutRequests에 계산된 데이터그램의 8진수는 여기에서 계산해야 합니다. OutOctets 는 IP 헤더 및 페이로드에 바이트 수를 포함해야 합니다.

InHeaderErrors

IP 헤더의 오류로 인해 삭제된 오프로드된 TCP 연결에서 수신된 입력 IP 데이터그램의 수입니다. 이러한 오류에는 잘못된 체크섬, 버전 번호 불일치, 기타 형식 오류, 초과된 시간 및 오프로드 대상이 이러한 옵션을 지원하는 경우 IPv6 옵션 처리에서 발견된 오류가 포함됩니다. (오프로드 대상은 IPv4 옵션을 처리하지 않습니다.) 이 개수에는 잘못된 대상 주소로 인한 오류가 포함되지 않습니다. RFC 2011의 "ipInHdrErrors"를 참조하세요.

InTruncatedPackets

데이터그램 프레임에 충분한 데이터가 전달되지 않아 삭제된 입력 IP 데이터그램의 수입니다. InTruncatedPackets 는 프레임에 유효한 헤더가 포함되어 있지만 필요 이상으로 짧은 경우에만 증가해야 합니다. 올바른 헤더를 포함하기에 너무 짧은 프레임은 InHeaderErrors 로 계산되어야 합니다.

InDiscards

오프로드된 TCP 연결에서 수신된 입력 IP 데이터그램의 수로, 추가 처리를 방지하기 위해 아무것도 포함되지 않았지만 사용 가능한 메모리 또는 기타 리소스 부족과 같은 런타임 이유로 삭제되었습니다. RFC 2011의 "ipInDiscards"를 참조하세요.

OutDiscards

오프로드 대상이 IP 계층에 제공한 출력 IP 데이터그램의 수로, 전송을 방지하기 위해 문제가 발생하지 않았지만 메모리 부족 또는 기타 리소스 부족과 같은 런타임 이유로 삭제되었습니다. RFC 2011의 "ipOutDiscards"를 참조하세요.

OutNoRoutes

오프로드된 경로 상태 개체와 같은 경로를 찾을 수 없어서 삭제된 IP 계층에 오프로드 대상이 제공한 출력 IP 데이터그램의 수입니다. RFC 2011의 "ipOutNoRoutes"를 참조하세요.

설명

IP_OFFLOAD_STATS 구조의 통계는 오프로드 대상이 오프로드된 TCP 연결에서 처리한 IP 데이터그램과만 관련됩니다. 오프로드 대상에는 오프로드되지 않은 연결의 IP 데이터그램 개수가 포함되어서는 안 됩니다. 통계는 단일 네트워크 인터페이스와 관련이 있습니다.

오프로드 대상에 여러 네트워크 인터페이스가 있는 경우 각 네트워크 인터페이스에 대해 별도의 IP 오프로드 통계를 유지해야 합니다. 오프로드 대상이 네트워크 인터페이스에 대해 IPv4 및 IPv6 연결을 모두 지원하는 경우 IPv4 오프로드 통계 카운터 집합과 해당 네트워크 인터페이스에 대한 다른 IPv6 오프로드 통계 카운터 집합을 유지해야 합니다.

오프로드 대상의 TCP 굴뚝 기능을 사용하도록 설정하고( NDIS_TASK_OFFLOAD 참조) 하나 이상의 인접 상태 개체가 오프로드 대상에 오프로드된 경우 오프로드 대상은 두 가지 방법 중 하나로 손상된 IP 헤더가 있는 수신된 패킷을 처리할 수 있습니다.

  • 오프로드 대상은 를 호출하여 비 오프로드 인터페이스를 통해 패킷을 나타낼 수 있습니다. NdisMIndicateReceiveNetBufferLists 함수입니다. 이 경우 오프로드 대상은 InHeaderErrors 카운터를 증가시키지 않아야 합니다. 이는 권장되는 방법입니다.
  • 또는 오프로드 대상이 손상된 패킷 NDIS_TASK_OFFLOAD 삭제하고 InHeaderErrors 카운터를 증분할 수 있습니다.
호스트 스택은 오프로드 대상에서 반환된 통계를 호스트 스택이 오프로드되지 않은 TCP 연결에 대해 유지 관리하는 통계와 통합합니다.

호스트 스택은 OID_IP4_OFFLOAD_STATS 또는 OID_IP6_OFFLOAD_STATS 설정할 때 IP_OFFLOAD_STATS 구조를 제공합니다. 그러나 두 경우 모두 오프로드 대상은 IP_OFFLOAD_STATS 구조체의 값을 검사할 필요가 없습니다. 대신 OID_IP4_OFFLOAD_STATS 설정되면 오프로드 대상은 오프로드된 TCP 연결에 대한 모든 IPv4 통계 카운터를 다시 설정해야 합니다. OID_IP6_OFFLOAD_STATS 설정되면 오프로드 대상은 오프로드된 TCP 연결에 대한 모든 IPv6 통계 카운터를 다시 설정해야 합니다.

최대 개수를 초과하여 증가하면 IP_OFFLOAD_STATS 구조 래핑(0에서 다시 시작)에 대한 값을 제공하는 모든 카운터입니다.

요구 사항

요구 사항
헤더 ndischimney.h(Ndischimney.h 포함)

추가 정보

NDIS_TASK_OFFLOAD

NdisMIndicateReceiveNetBufferLists

OID_IP4_OFFLOAD_STATS

OID_IP6_OFFLOAD_STATS