큐 쌍의 대칭 및 비대칭 할당

큐 쌍은 네트워크 어댑터에서 별도의 전송 및 수신 큐로 구성됩니다. 큐 쌍은 VPort를 만들 때 VPort(가상 포트)에서 구성됩니다. 기본 VPort와 연결된 큐 쌍은 스위치를 만들 때 OID_NIC_SWITCH_CREATE_SWITCH OID 메서드 요청을 통해 구성됩니다. 하나 이상의 큐 쌍은 OID_NIC_SWITCH_CREATE_VPORT OID 메서드 요청을 통해 기본이 아닌 VPort에서 구성됩니다.

기본이 아닌 각 VPort는 서로 다른 수의 큐 쌍을 갖도록 구성할 수 있습니다. 이를 큐 쌍의 비대칭 할당 이라고 합니다. 미니포트 드라이버가 비대칭 할당을 지원하지 않는 경우 기본이 아닌 각 VPort는 동일한 수의 큐 쌍을 갖도록 구성됩니다. 이를 큐 쌍 의 대칭 할당 이라고 합니다.

미니포트 드라이버는 NDIS_NIC_SWITCH_CAPABILITIES 구조를 사용하여 MiniportInitializeEx 중에 VPort 및 큐 쌍 기능을 보급합니다. 드라이버는 이 구조체의 NicSwitchCapabilities 멤버에서 NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED 플래그를 설정하여 큐 쌍의 비대칭 할당에 대한 지원을 보급합니다.

미니포트 드라이버가 비대칭 큐 쌍 할당을 지원하는 경우 가상화 스택은 서로 다른 수의 큐 쌍으로 기본이 아닌 각 VPort를 구성합니다. 미니포트 드라이버가 대칭 큐 쌍 할당을 지원하는 경우 가상화 스택은 동일한 수의 큐 쌍으로 각 VPort를 구성합니다.

참고 기본이 아닌 VPort에서 대칭 또는 비대칭 큐 쌍 할당을 지원하는 미니포트 드라이버는 기본 VPort에 할당할 다른 수의 큐 쌍을 지원해야 합니다. 기본 VPort는 항상 네트워크 어댑터의 PF에 연결됩니다.

큐 쌍 구성은 기본이 아닌 VPort가 OID_NIC_SWITCH_CREATE_VPORT OID_NIC_SWITCH_VPORT_PARAMETERS OID 요청을 통해 생성되거나 업데이트될 때 지정됩니다. 구성 매개 변수는 두 OID 요청과 연결된 NDIS_NIC_SWITCH_VPORT_PARAMETERS 구조에 지정됩니다.

예를 들어 미니포트 드라이버가 NDIS_NIC_SWITCH_CAPABILITIES 구조의 다음 멤버를 설정하여 NIC 스위치에서 VPort 및 큐 쌍에 대한 구성을 보급한다고 가정합니다.

  • MaxNumQueuePairs 는 128로 설정됩니다.

  • MaxNumVPorts 는 64로 설정됩니다.

  • MaxNumQueuePairsPerNonDefaultPort 가 4로 설정됩니다.

미니포트 드라이버가 기본이 아닌 VPort에서 큐 쌍의 비대칭 구성을 지원하지 않는 경우 가상화 스택은 VPort를 만들 때 다음 큐 쌍 구성을 지정할 수 있습니다.

  • 각각 두 개의 큐 쌍이 있는 63개의 기본 VF VPort와 하나의 큐 쌍이 있는 기본 PF VPort.
  • 각각 4개의 큐 쌍이 있는 31개의 기본 VF VPort와 하나의 큐 쌍이 있는 기본 PF VPort.

참고 Windows Server 2012 시작하여 하나의 기본 VPort만 지원되며 항상 네트워크 어댑터의 PF에 연결됩니다.