NDIS_RECEIVE_HASH_PARAMETERS 구조체(ntddndis.h)

NDIS_RECEIVE_HASH_PARAMETERS 구조는 수신 해시 계산을 지원하는 미니포트 어댑터에 대한 수신 해시 매개 변수를 지정합니다.

구문

typedef struct _NDIS_RECEIVE_HASH_PARAMETERS {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG              HashInformation;
  USHORT             HashSecretKeySize;
  ULONG              HashSecretKeyOffset;
} NDIS_RECEIVE_HASH_PARAMETERS, *PNDIS_RECEIVE_HASH_PARAMETERS;

멤버

Header

NDIS_RECEIVE_HASH_PARAMETERS 구조체의 NDIS_OBJECT_HEADER 구조체입니다. Header에서 지정하는 구조체의 Type 멤버를 NDIS_OBJECT_TYPE_DEFAULT, Revision 멤버를 NDIS_RECEIVE_HASH_PARAMETERS_REVISION_1, Size 멤버를 NDIS_SIZEOF_RECEIVE_HASH_PARAMETERS_REVISION_1 설정합니다.

Flags

미니포트 드라이버가 해시 매개 변수를 사용하여 수행해야 하는 작업을 나타내는 USHORT 값입니다. 미니포트 드라이버는 이러한 플래그를 사용하여 변경된 매개 변수를 신속하게 확인하고 그에 따라 해시 설정을 업데이트할 수 있습니다.

집합 요청에서 플래그는 다음과 같이 정의됩니다.

NDIS_RECEIVE_HASH_FLAG_ENABLE_HASH

이 플래그가 설정된 경우 수신된 프레임에서 해시 값을 계산하고 계산된 해시 값을 NET_BUFFER_LIST 구조의 NetBufferListHashValue OOB 정보에 배치합니다.

이 플래그가 명확하면 수신된 프레임에서 해시 값 계산을 사용하지 않도록 설정합니다.

수신 해시 계산을 사용하는 경우 미니포트 드라이버는 이 플래그를 설정해야 합니다. 그렇지 않으면 이 플래그가 명확해야 합니다.

NDIS_RECEIVE_HASH_FLAG_HASH_INFO_UNCHANGED

HashInformation 멤버가 변경되지 않았습니다. 해시 정보에는 해시 형식 및 해시 함수가 포함됩니다.

이 플래그가 설정되면 NDIS_RECEIVE_HASH_PARAMETERS 구조체의 HashInformation 멤버를 무시해야 합니다.

이 플래그가 지워지면 HashInformation 멤버에는 미니포트 드라이버가 수신된 프레임의 해시 값을 계산하는 데 사용해야 하는 새 값이 포함됩니다.

NDIS_RECEIVE_HASH_FLAG_HASH_KEY_UNCHANGED

비밀 키 및 연결된 데이터 멤버가 변경되지 않았습니다.

이 플래그가 설정되면 비밀 키 및 연결된 데이터 멤버를 무시해야 합니다.

이 플래그가 지워지면 비밀 키 또는 연결된 데이터 멤버가 변경되고 미니포트 드라이버에서 새 정보를 사용해야 합니다.

쿼리 요청에서 플래그는 다음과 같이 정의됩니다.

HashInformation

집합 요청에서 NIC가 들어오는 패킷에 대한 해시 값을 계산하는 데 사용해야 하는 해시 형식 및 해시 함수입니다.

쿼리 요청에서 NIC에서 사용하는 해시 형식 및 해시 함수입니다.

오버리딩 드라이버 및 NDIS는 다음을 사용할 수 있습니다. 해시 형식과 해시 함수를 해시 정보로 결합하고 HashInformation 멤버를 설정하는 매크로를 NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC.

미니포트 드라이버는 다음을 사용할 수 있습니다. NDIS_RSS_HASH_TYPE_FROM_HASH_INFO 매크로를 사용하여 HashInformation 및 에서 해시 형식을 가져옵니다. 매크로를 NDIS_RSS_HASH_FUNC_FROM_HASH_INFO 해시 함수를 가져옵니다.

HashSecretKeySize

해시 함수의 비밀 키 배열 크기(바이트)입니다. 배열의 크기는 NdisHashFunctionToeplitz의 경우 40바이트입니다.

HashSecretKeyOffset

NDIS_RECEIVE_HASH_PARAMETERS 구조체의 시작 부분에서 해시 함수의 비밀 키 배열 오프셋입니다. 이 오프셋을 사용하여 320비트(40바이트) 비밀 키를 가져옵니다.

설정된 요청에서 비밀 키는 오버리링 드라이버가 선택하는 모든 데이터를 포함할 수 있습니다.

쿼리 요청에서 비밀 키에는 NIC에서 사용하는 데이터가 포함됩니다.

설명

NDIS_RECEIVE_HASH_PARAMETERS 구조체는 OID_GEN_RECEIVE_HASH OID에 대한 해시 매개 변수를 정의합니다.

참고 프로토콜 드라이버는 RSS를 사용하도록 설정하기 전에 수신 해시 계산을 사용하지 않도록 설정해야 합니다. RSS를 사용하도록 설정한 경우 프로토콜 드라이버는 수신 해시 계산을 사용하도록 설정하기 전에 RSS를 사용하지 않도록 설정합니다. 다른 서비스가 현재 사용하도록 설정된 경우 미니포트 드라이버는 수신 해시 계산 또는 RSS를 사용하도록 요청하는 데 실패해야 합니다.
 
참고 비밀 키는 NDIS_RECEIVE_HASH_PARAMETERS 구조체 멤버 다음에 추가됩니다.
 

요구 사항

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

추가 정보

NDIS_OBJECT_HEADER

NDIS_RSS_HASH_FUNC_FROM_HASH_INFO NDIS_RSS_HASH_INFO_FROM_TYPE_AND_FUNC NDIS_RSS_HASH_TYPE_FROM_HASH_INFO

NET_BUFFER_LIST

OID_GEN_RECEIVE_HASH