네트워크 어댑터의 NVGRE 작업 오프로드 기능 확인
NVGRE(일반 라우팅 캡슐화) 작업 오프로드를 사용하여 네트워크 가상화를 지원하는 미니포트 드라이버는 MiniportInitializeEx 함수가 NdisMSetMiniportAttributes에 전달하는 NDIS_OFFLOAD 구조를 통해 이 기능을 보고합니다.
NVGRE 작업 오프로드 기능 보고
NDIS_OFFLOAD 구조에서 Header 멤버는 다음과 같이 설정해야 합니다.
- Revision 멤버는 NDIS_OFFLOAD_REVISION_3 설정해야 합니다.
- Size 멤버는 NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_3 설정해야 합니다.
NVGRE 태스크 오프로드에 대한 지원을 보고하기 위해 미니포트 드라이버는 미니포트 드라이버의 MiniportInitializeEx 함수가 NdisMSetMiniportAttributes에 전달하는 NDIS_OFFLOAD 구조체의 EncapsulatedPacketTaskOffloadGre 멤버에 저장된 NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD 구조체에 다음 멤버를 설정합니다.
MaxHeaderSizeSupported 멤버를 패킷 시작부터 내부 TCP 또는 UDP 페이로드의 시작 부분(TCP 또는 UDP 내부 헤더의 마지막 바이트)까지 최대 헤더 크기로 설정합니다. 이 멤버는 이러한 모든 태스크 오프로드에 대해 NIC가 지원해야 합니다. 프로토콜 드라이버는 결합된 캡슐화 헤더가 이 크기를 초과하는 패킷의 처리를 오프로드하지 않을 것으로 예상됩니다.
참고 256바이트 는 가능한 모든 사례를 포함해야 하는 좋은 기본값입니다.
다른 멤버를 설정하여 미니포트 드라이버가 캡슐화된 패킷에 대해 지원하는 작업 오프로드 유형을 나타냅니다. 이러한 멤버에 대해 설정할 수 있는 플래그 목록은 NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD 설명 섹션을 참조하세요.
NVGRE 작업 오프로드 기능 쿼리
미니포트 드라이버가 NVGRE 작업 오프로드를 지원하는지 여부를 확인하기 위해 프로토콜 및 필터 드라이버는 NDIS_OFFLOAD 구조를 반환하는 OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES OID 요청을 실행할 수 있습니다.
참고 미니포트 드라이버의 NVGRE 기능이 현재 사용하도록 설정되어 있는지 확인하려면 NVGRE 작업 오프로드 상태 쿼리 및 변경에 설명된 대로 OID_TCP_OFFLOAD_CURRENT_CONFIG OID 요청을 사용합니다.
참고 미니포트 드라이버의 NVGRE 기능을 사용하거나 사용하지 않도록 설정하려면 NVGRE 작업 오프로드 상태 쿼리 및 변경에 설명된 대로 OID_TCP_OFFLOAD_PARAMETERS OID 요청을 사용합니다.