RSS 및 VMQ 수신 작업 오프로드에서 NVGRE 지원
NDIS 6.30(Windows Server 2012)은 NVGRE(일반 라우팅 캡슐화)를 사용하여 네트워크 가상화를 도입했습니다. RSS( 수신 쪽 크기 조정 ) 및 VMQ(가상 머신 큐) 수신 태스크 오프로드를 수행하는 NDIS 미니포트 드라이버 및 NIC는 NVGRE를 지원하는 방식으로 수행되어야 합니다.
참고 이 페이지에서는 큰 TCP 패킷의 구분을 오프로드하는 데 있는 정보를 잘 알고 있다고 가정합니다.
미니포트 드라이버가 캡슐화된 패킷에 대해 RSS 및 VMQ를 지원하는 경우 NDIS_ENCAPSULATED_PACKET_TASK_OFFLOAD 구조의RssSupported 및 VmqSupported 멤버에서 이러한 기능을 보급해야 합니다. 미니포트가 이러한 기능을 보급하고 , OID_TCP_OFFLOAD_PARAMETERS OID 요청을 수신하고, OID에 성공한 경우 NIC는 보급된 캡슐화된 패킷 유형에서 RSS 및 VMQ를 수행해야 합니다.
구문 분석할 수 있는 지원되는 캡슐화된 패킷의 경우 NIC는 내부 MAC 헤더의 전송(내부) IP 헤더 및 VMQ 페이로드에서 TCP 또는 UDP 헤더에서 RSS를 수행해야 합니다.
RSS 및 VMQ를 수행하기 위해 NIC는 수신 경로에서 캡슐화된 패킷에 대한 전송 헤더를 찾고 프로토콜 번호를 검사 설명한 대로 캡슐화된 패킷의 전송(내부) IP 헤더로 이동해야 합니다. NIC가 NIC가 구문 분석할 수 있는 프로토콜을 사용하는 패킷을 수신하는 경우 NIC는 다음을 수행해야 합니다.
- 전송(내부) IP 헤더 및 TCP 또는 UDP 헤더에서 4 튜플 해시를 수행하여 RSS를 수행합니다.
- 미니포트가 구문 분석할 수 없는 프로토콜이 포함된 캡슐화된 패킷의 경우 NIC는 터널(외부) IP 헤더의 원본 및 대상 주소 필드에 대해 2 튜플 해시를 수행해야 합니다.
- 전송(내부) IP 헤더 바로 다음에 TCP 또는 UDP 헤더를 포함하지 않는 캡슐화된 패킷의 경우 NIC는 터널(외부) IP 헤더의 원본 및 대상 주소 필드에 대해 2 튜플 해시를 수행해야 합니다.
- 캡슐화된 패킷에서 이더넷 헤더를 사용하여 VMQ를 수행합니다. 캡슐화된 패킷 내에서 이더넷 헤더를 포함하지 않는 캡슐화된 패킷의 경우 가장 바깥쪽 이더넷 헤더를 사용하여 VMQ를 수행해야 합니다.