다음을 통해 공유


NVGRE 작업 오프로드 상태 쿼리 및 변경

이 섹션에서는 NVGRE(일반 라우팅 캡슐화) NVGRE 지원 미니포트 드라이버의 작업 오프로드 상태를 사용하여 현재 네트워크 가상화를 쿼리하거나 변경하는 방법을 설명합니다. NVGRE 작업 오프로드는 기본적으로 사용하도록 설정할 수 있지만 기본적으로 운영적으로 활성화되어서는 안 됩니다. NIC는 이 기능이 NDIS 프로토콜 또는 필터 드라이버에 의해 명시적으로 사용하도록 설정될 때까지 캡슐화된 패킷에서 작업 오프로드를 수행하지 않아야 합니다.

NVGRE 작업 오프로드 상태 쿼리

미니포트 드라이버의 현재 NVGRE 태스크 오프로드 상태를 쿼리하기 위해 NDIS 프로토콜 또는 필터 드라이버는 OID_TCP_OFFLOAD_CURRENT_CONFIG OID 요청을 사용합니다. 이렇게 하면 EncapsulatedPacketTaskOffloadGre 멤버가 해당 오프로드가 현재 GRE 캡슐화된 패킷에 대해 사용하도록 설정되어 있고 그렇지 않으면 NDIS_OFFLOAD_NOT_SUPPORTED NDIS_OFFLOAD_SUPPORTED 포함하는 NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD구조체인 NDIS_OFFLOAD 구조체가 반환됩니다. NDIS는 이 OID를 처리하고 미니포트에 전달하지 않습니다.

참고 미니포트 드라이버가 NVGRE 작업 오프로드를 지원하는지 여부를 확인하려면 네트워크 어댑터의 NVGRE 작업 오프로드 기능 확인에 설명된 대로 OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES OID 요청을 사용합니다.

NVGRE 작업 오프로드 상태 변경

NDIS 프로토콜 또는 필터 드라이버는 OID_TCP_OFFLOAD_PARAMETERS OID 요청을 실행하여 NVGRE 작업 오프로드를 사용하거나 사용하지 않도록 설정할 수 있습니다. 이 OID는 NDIS_OFFLOAD_PARAMETERS 구조를 사용합니다. 이 구조에서 EncapsulatedPacketTaskOffload 멤버는 다음 값을 가질 수 있습니다.

용어 Description

NDIS_OFFLOAD_SET_NO_CHANGE

NVGRE 태스크 오프로드 상태는 변경되지 않습니다.

NDIS_OFFLOAD_SET_ON

NVGRE 작업 오프로드를 사용하도록 설정하려면 이 플래그를 지정합니다.

NDIS_OFFLOAD_SET_OFF

NVGRE 작업 오프로드를 사용하지 않도록 설정하려면 이 플래그를 지정합니다.

미니포트 드라이버는 OID_TCP_OFFLOAD_PARAMETERS OID 요청을 처리한 후 업데이트된 오프로드 상태의 NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG 상태 표시를 실행해야 합니다.

미니포트 드라이버가 NDIS_OFFLOAD_SET_OFF 플래그가 지정된 OID_TCP_OFFLOAD_PARAMETERS OID 요청을 받으면 드라이버는 OID 요청을 완료하기 전에 태스크가 스택을 오프로드하기 위해 부분적으로 처리되는 모든 기존 캡슐화된 패킷을 나타내야 합니다.

일반 패킷에 대한 기본 작업 오프로드는 OID_OFFLOAD_ENCAPSULATIONOID_RECEIVE_FILTER_ALLOCATE_QUEUE 같은 기존 OID에서 사용하도록 설정됩니다. EncapsulatedPacketTaskOffload 멤버 설정은 이러한 OID를 보완하고 캡슐화된 패킷에 대해 이러한 오프로드를 수행하도록 NIC에 지시합니다.