NDIS_NIC_SWITCH_VPORT_PARAMETERS 구조체(ntddndis.h)

NDIS_NIC_SWITCH_VPORT_PARAMETERS 구조는 네트워크 어댑터의 네트워크 어댑터 스위치에서 VPort(가상 포트)에 대한 구성을 지정합니다.

구문

typedef struct _NDIS_NIC_SWITCH_VPORT_PARAMETERS {
  NDIS_OBJECT_HEADER                         Header;
  ULONG                                      Flags;
  NDIS_NIC_SWITCH_ID                         SwitchId;
  NDIS_NIC_SWITCH_VPORT_ID                   VPortId;
  NDIS_VPORT_NAME                            VPortName;
  NDIS_SRIOV_FUNCTION_ID                     AttachedFunctionId;
  ULONG                                      NumQueuePairs;
  NDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION InterruptModeration;
  NDIS_NIC_SWITCH_VPORT_STATE                VPortState;
  GROUP_AFFINITY                             ProcessorAffinity;
  ULONG                                      LookaheadSize;
  NDIS_NDK_PARAMETERS                        NdkParams;
  NDIS_QOS_SQ_ID                             QosSqId;
} NDIS_NIC_SWITCH_VPORT_PARAMETERS, *PNDIS_NIC_SWITCH_VPORT_PARAMETERS;

멤버

Header

NDIS_NIC_SWITCH_VPORT_PARAMETERS 구조체의 형식, 수정 버전 및 크기입니다. 이 멤버는 NDIS_OBJECT_HEADER 구조체로 형식이 지정됩니다.

미니포트 드라이버는 헤더Type 멤버를 NDIS_OBJECT_TYPE_DEFAULT 설정해야 합니다.

NDIS_NIC_SWITCH_VPORT_PARAMETERS 구조체의 버전을 나타내려면 HeaderRevision 멤버를 다음 값 중 하나로 설정합니다.

NDIS_NIC_SWITCH_VPORT_PARAMETERS_REVISION_2

NDIS 6.50에 대한 QosSqId 필드가 추가되었습니다.

Size 멤버를 NDIS_SIZEOF_NIC_SWITCH_VPORT_PARAMETERS_REVISION_2 설정합니다.

NDIS_NIC_SWITCH_VPORT_PARAMETERS_REVISION_1

NDIS 6.30 이상에 대한 원래 버전입니다.

Size 멤버를 NDIS_SIZEOF_NIC_SWITCH_VPORT_PARAMETERS_REVISION_1 설정합니다.

Flags

플래그의 비트 OR을 포함하는 ULONG 값입니다. 이 멤버에 대해 다음 플래그가 정의됩니다.

NDIS_NIC_SWITCH_VPORT_PARAMS_LOOKAHEAD_SPLIT_ENABLED

이 플래그는 나중에 사용하도록 예약되어 있습니다. 미니포트 드라이버는 이 플래그를 무시해야 합니다.

NDIS_NIC_SWITCH_VPORT_PARAMS_FLAGS_CHANGED

이 플래그는 VPort를 만든 후 Flags 멤버가 업데이트되었음을 지정합니다. 이러한 플래그는 OID_NIC_SWITCH_VPORT_PARAMETERS OID 집합 요청을 사용하여 VPort를 만든 후에 사용하거나 사용하지 않도록 설정할 수 있습니다.

참고

이 플래그는 이 구조체가 OID_NIC_SWITCH_VPORT_PARAMETERS OID 집합 요청에 사용되는 경우에만 유효합니다.

NDIS_NIC_SWITCH_VPORT_PARAMS_NAME_CHANGED

이 플래그는 VPort를 만든 후 VPortName 멤버가 업데이트되었음을 지정합니다. 이 멤버는 OID_NIC_SWITCH_VPORT_PARAMETERS OID 집합 요청을 사용하여 업데이트할 수 있습니다.

참고

이 플래그는 이 구조체가 OID_NIC_SWITCH_VPORT_PARAMETERS OID 집합 요청에 사용되는 경우에만 유효합니다.

NDIS_NIC_SWITCH_VPORT_PARAMS_INT_MOD_CHANGED

이 플래그는 VPort를 만든 후 InterruptModeration 멤버가 업데이트되었음을 지정합니다. 이 멤버는 OID_NIC_SWITCH_VPORT_PARAMETERS OID 집합 요청을 사용하여 업데이트할 수 있습니다.

참고

이 플래그는 이 구조체가 OID_NIC_SWITCH_VPORT_PARAMETERS OID 집합 요청에 사용되는 경우에만 유효합니다.

NDIS_NIC_SWITCH_VPORT_PARAMS_STATE_CHANGED

이 플래그는 VPort를 만든 후 VPortState 멤버가 업데이트되었음을 지정합니다. 이 멤버는 OID_NIC_SWITCH_VPORT_PARAMETERS OID 집합 요청을 사용하여 업데이트할 수 있습니다.

참고

이 플래그는 이 구조체가 OID_NIC_SWITCH_VPORT_PARAMETERS OID 집합 요청에 사용되는 경우에만 유효합니다.

NDIS_NIC_SWITCH_VPORT_PARAMS_PROCESSOR_AFFINITY_CHANGED

이 플래그는 VPort를 만든 후 ProcessoryAffinity 멤버가 업데이트되었음을 지정합니다. VPort의 프로세서 선호도는 VPort가 네트워크 어댑터의 PF에 연결된 경우에만 업데이트할 수 있습니다. ProcessoryAffinity 멤버는 OID_NIC_SWITCH_VPORT_PARAMETERS OID 집합 요청을 사용하여 업데이트할 수 있습니다.

참고

이 플래그는 이 구조체가 OID_NIC_SWITCH_VPORT_PARAMETERS OID 집합 요청에 사용되는 경우에만 유효합니다.

NDIS_NIC_SWITCH_VPORT_PARAMS_NUM_QUEUE_PAIRS_CHANGED

이 플래그는 VPort를 만든 후 NumQueuePairs 멤버가 업데이트되었음을 지정합니다. VMMQ(Virtual Machine 다중 큐)를 사용하도록 설정하면 기본 Vport 및 기본이 아닌 Vport에 대한 큐 수를 업데이트할 수 있습니다. NumQueuePairs 멤버는 OID_NIC_SWITCH_VPORT_PARAMETERS OID 집합 요청을 사용하여 업데이트할 수 있습니다.

참고 이 플래그는 이 구조체가 OID_NIC_SWITCH_VPORT_PARAMETERS OID 집합 요청에 사용되는 경우에만 유효합니다.
 

SwitchId

VPort를 만들 스위치의 식별자를 지정하는 NDIS_NIC_SWITCH_ID 값입니다.

스위치 식별자는 0과 네트워크 어댑터가 지원하는 스위치 수 사이의 정수입니다. NDIS_DEFAULT_SWITCH_ID 값은 기본 네트워크 어댑터 스위치를 나타냅니다.

참고

Windows Server 2012 시작해서 SR-IOV(단일 루트 I/O 가상화) 인터페이스는 네트워크 어댑터의 기본 네트워크 어댑터 스위치만 지원합니다. 이 멤버의 값은 NDIS_DEFAULT_SWITCH_ID 설정해야 합니다.

VPortId

네트워크 어댑터에서 VPort의 식별자를 지정하는 NDIS_NIC_SWITCH_VPORT_ID 값입니다. 값은 NDIS에서 할당되며 네트워크 어댑터에서 고유합니다.

VPortId 값은 0에서 (NumVPorts - 1) 범위 내에 있습니다. 여기서 NumVPorts는 미니포트 드라이버가 네트워크 어댑터에서 구성한 VPort의 수입니다. 드라이버는 NDIS_NIC_SWITCH_INFO 구조체의 NumVPorts 멤버에서 이 숫자를 지정합니다. 드라이버는 OID_NIC_SWITCH_ENUM_SWITCHES OID 쿼리 요청을 통해 이 구조를 반환합니다.

참고

NDIS_DEFAULT_VPORT_ID VPort 식별자는 기본 NIC 스위치에서 PF에 연결된 기본 VPort용으로 예약됩니다.

VPortName

VPort의 이름을 지정하는 NDIS_VPORT_NAME 값입니다. 이 멤버에는 VPort에 대한 사용자에게 친숙한 설명이 포함되어 있습니다.

AttachedFunctionId

VPort가 연결된 PF(물리적 함수) 또는 VF(가상 함수)의 ID를 지정하는 NDIS_SRIOV_FUNCTION_ID 값입니다. NDIS_PF_FUNCTION_ID 값은 VPort가 PF에 연결되도록 지정합니다. 값이 유효한 VF 식별자이면 VPort가 VF에 연결됩니다.

NumQueuePairs

이 VPort에 대해 구성된 큐 쌍의 수를 지정하는 ULONG 값입니다.

큐 쌍은 전송 큐와 수신 큐로 구성됩니다. 기본 VPort와 연결된 큐 쌍은 스위치를 만들 때 OID_NIC_SWITCH_CREATE_SWITCH OID 메서드 요청을 통해 구성됩니다. 하나 이상의 큐 쌍은 OID_NIC_SWITCH_CREATE_VPORT OID 메서드 요청을 통해 기본이 아닌 VPort에 구성됩니다.

InterruptModeration

VPort의 인터럽트 조정 설정을 지정하는 NDIS_NIC_SWITCH_VPORT_INTERRUPT_MODERATION 값입니다.

VPortState

VPort의 현재 상태를 지정하는 NDIS_NIC_SWITCH_VPORT_STATE 값입니다.

ProcessorAffinity

이 VPort와 연결된 CPU의 그룹 번호 및 비트맵을 지정하는 GROUP_AFFINITY 값입니다. 이 필드는 PF에 연결된 VPort에만 유효합니다.

참고

기본이 아닌 PF VPort의 경우 VPort를 만들 때 하나의 프로세서만 지정하는 GROUP_AFFINITY 값을 지정해야 합니다. VPort는 OID_NIC_SWITCH_CREATE_VPORT OID 메서드 요청을 통해 만들어집니다.

PF에 연결된 기본이 아닌 VPort와 연결된 프로세서 선호도는 VPort를 만든 후에 변경할 수 있습니다. 기본 VPort와 연결된 프로세서 선호도는 OID_NIC_SWITCH_VPORT_PARAMETERS OID 집합 요청을 사용하여 변경할 수도 있습니다.

LookaheadSize

이 멤버는 나중에 사용하도록 예약되어 있습니다. 이 멤버는 0으로 설정해야 합니다.

NdkParams

QosSqId

vPort를 SQ(Scheduler Queue)와 연결합니다. 이 필드를 유효한 SQ ID로 설정하여 vPort를 SQ에 연결합니다. SQ 연결이 없는 경우 이 필드를 0 으로 설정합니다. NDIS_QOS_SQ_ID 대한 자세한 내용은 OID_QOS_OFFLOAD_CREATE_SQ 참조 하세요.

설명

이 구조는 OID_NIC_SWITCH_CREATE_VPORT OID_NIC_SWITCH_VPORT_PARAMETERS OID 요청에 사용됩니다.

SR-IOV 인터페이스에 대한 자세한 내용은 SR-IOV(단일 루트 I/O 가상화) 개요를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.30 이상에서 지원됩니다.
지원되는 최소 서버 Windows Server 2022
머리글 ntddndis.h(Ndis.h 포함)

추가 정보

NDIS_NIC_SWITCH_INFO

NDIS_NIC_SWITCH_VF_INFO

NDIS_OBJECT_HEADER

OID_NIC_SWITCH_CREATE_VPORT

OID_NIC_SWITCH_ENUM_SWITCHES

OID_NIC_SWITCH_VPORT_PARAMETERS