VMMQ 송신 및 수신 처리

VMMQ(Virtual Machine 다중 큐) 는 RSS 처리를 사용하여 PF VPort(물리적 함수 가상 포트 )에 대한 네트워크 트래픽을 효율적으로 분산합니다. SR-IOV(단일 루트 I/O 가상화) 인터페이스 및 해당 구성 요소에 대한 자세한 내용은 SR-IOV 아키텍처를 참조하세요.

다음 그림은 VMMQ 인터페이스 내의 네트워크 패킷 수신 경로를 보여줍니다.

vmmq를 사용하는 네트워크 패킷 데이터 경로를 보여 주는 다이어그램

수신 경로에서 패킷이 VMMQ를 지원하는 NIC에 도착하면 NIC:

  1. 대상 MAC 주소와 일치하여 대상 VPort를 찾습니다.

  2. VPort의 RSS 매개 변수 (비밀 키, 해시 함수 및 해시 형식)를 사용하여 패킷의 RSS 해시 값을 계산합니다.

  3. 해시 값을 사용하여 VPort와 연결된 간접 참조 테이블을 인덱싱합니다. 간접 테이블의 값은 수신된 데이터를 프로세서에 할당하는 데 사용됩니다.

  4. 대상 프로세서를 인터럽트하고 수신된 패킷이 호스트 네트워크 스택에 표시됩니다.

수신된 NBL을 나타내는 경우 미니포트 어댑터는 VPort ID 및 RSS 관련 OOB(대역 외) 필드를 적절한 값으로 설정합니다.

전송 경로에서 NIC는 패킷의 RSS 해시 값(있는 경우)을 VPort의 RSS 간접 데이터 테이블에 대한 인덱스로 사용해야 합니다. NIC는 이 간접 테이블 값을 사용하여 패킷에 대한 전송 전체 인터럽트 및 DPC를 처리하는 프로세서를 결정합니다.

NIC가 수신된 패킷의 RSS 해시 값을 계산할 수 없거나 RSS 해시 값이 전송 패킷에 없는 경우 VPort의 기본 RSS 프로세서를 대상 RSS 프로세서로 사용해야 합니다. VPort의 기본 RSS 프로세서는 VPort의 RSS 매개 변수에 지정됩니다. 자세한 내용은 VPort에서 VMMQ 사용, 사용 안 함 및 업데이트를 참조하세요.

호스트 네트워킹 스택은 런타임에 VPort의 RSS 매개 변수를 동적으로 업데이트할 수 있습니다. NIC는 VPort를 오가는 트래픽의 중단을 최소화하면서 VPort의 RSS 매개 변수 변경에 응답해야 합니다.