NDIS_SWITCH_NIC_PARAMETERS 구조체(ntddndis.h)
NDIS_SWITCH_NIC_PARAMETERS 구조는 Hyper-V 확장 가능한 스위치 포트에 연결된 NIC(네트워크 어댑터)에 대한 구성 매개 변수를 지정합니다.
구문
typedef struct _NDIS_SWITCH_NIC_PARAMETERS {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
NDIS_SWITCH_NIC_NAME NicName;
NDIS_SWITCH_NIC_FRIENDLYNAME NicFriendlyName;
NDIS_SWITCH_PORT_ID PortId;
NDIS_SWITCH_NIC_INDEX NicIndex;
NDIS_SWITCH_NIC_TYPE NicType;
NDIS_SWITCH_NIC_STATE NicState;
NDIS_VM_NAME VmName;
NDIS_VM_FRIENDLYNAME VmFriendlyName;
GUID NetCfgInstanceId;
ULONG MTU;
USHORT NumaNodeId;
UCHAR PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
UCHAR VMMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
UCHAR CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH];
BOOLEAN VFAssigned;
ULONG64 NdisReserved[2];
} NDIS_SWITCH_NIC_PARAMETERS, *PNDIS_SWITCH_NIC_PARAMETERS;
멤버
Header
NDIS_SWITCH_NIC_PARAMETERS 구조체의 형식, 수정 버전 및 크기입니다. 이 멤버는 NDIS_OBJECT_HEADER 구조체로 형식이 지정됩니다.
헤더의 Type 멤버를 NDIS_OBJECT_TYPE_DEFAULT 설정해야 합니다. NDIS_SWITCH_NIC_PARAMETERS 구조체의 버전을 지정하려면 Header의 Revision 멤버를 다음 값으로 설정해야 합니다.
NDIS_SWITCH_NIC_PARAMETERS_REVISION_1
NDIS 6.30 이상에 대한 원래 버전입니다.
Size 멤버를 NDIS_SIZEOF_NDIS_SWITCH_NIC_PARAMETERS_REVISION_1 설정합니다.
Flags
플래그의 비트 OR을 포함하는 ULONG 값입니다. 다음 플래그 값이 정의됩니다.
값 | 의미 |
---|---|
|
이 플래그는 OID_SWITCH_NIC_CREATE OID가 VM NIC 개체의 수명 동안 처음으로 발급되면 설정됩니다. 이 플래그가 설정된 경우:
|
NicName
확장 가능한 스위치 포트에 연결된 네트워크 어댑터의 고유한 내부 이름을 지정하는 NDIS_SWITCH_NIC_NAME 값입니다.
자세한 내용은 주의 섹션을 참조하세요.
NicFriendlyName
네트워크 어댑터에 대한 사용자에게 친숙한 설명을 지정하는 NDIS_SWITCH_NIC_FRIENDLYNAME 값입니다.
PortId
네트워크 어댑터가 연결된 확장 가능한 스위치 포트의 고유 식별자를 포함하는 NDIS_SWITCH_PORT_ID 값입니다.
NicIndex
PortId 멤버가 지정한 확장 가능한 스위치 포트에 연결된 네트워크 어댑터의 인덱스를 지정하는 NDIS_SWITCH_NIC_INDEX 값입니다.
NDIS_SWITCH_NIC_INDEX 값에 대한 자세한 내용은 네트워크 어댑터 인덱스 값을 참조하세요.
NicType
확장 가능한 스위치 포트에 연결된 네트워크 어댑터의 유형을 지정하는 NDIS_SWITCH_NIC_TYPE 값입니다.
NicState
네트워크 어댑터의 현재 상태를 지정하는 NDIS_SWITCH_NIC_STATE 값입니다.
VmName
네트워크 어댑터를 노출하는 게스트 운영 체제가 실행 중인 Hyper-V 자식 파티션의 고유한 내부 이름을 지정하는 NDIS_VM_NAME 값입니다.
Hyper-V 자식 파티션을 VM(가상 머신)으로도 알려져 있습니다.
VmFriendlyName
NetCfgInstanceId
기본 네트워크 어댑터의 NetCfgInstanceId 레지스트리 값을 지정하는 GUID 값입니다.
MTU
네트워크 어댑터의 최대 MTU(전송 단위) 크기를 바이트 단위로 지정하는 ULONG 값입니다.
NumaNodeId
CPU의 기본 NUMA(Non-Uniform Memory Access) 노드에 대한 식별자를 지정하는 USHORT 값입니다. NUMA 아키텍처를 지원하는 컴퓨터에서 기본 NUMA 노드는 네트워크 어댑터까지의 거리가 가장 작은 CPU입니다.
PermanentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]
네트워크 어댑터의 호스트 파티션에 구성된 대로 MAC(미디어 액세스 제어) 주소를 지정하는 UCHAR 배열입니다. 네트워크 어댑터에서 현재 사용 중인 MAC 주소와 다를 수 있습니다.
VMMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]
VM 자체 내의 네트워크 어댑터에 구성된 MAC 주소를 지정하는 UCHAR 배열입니다. 필드는 VM이 아닌 NIC의 경우 모두 0입니다. AllowMacSpoofing(NDIS_SWITCH_PORT_PROPERTY_SECURITY)이 TRUE이면 이 주소도 CurrentMacAddress에 적용됩니다.
CurrentMacAddress[NDIS_MAX_PHYS_ADDRESS_LENGTH]
네트워크 어댑터의 스위치에서 현재 사용 중인 MAC 주소를 지정하는 UCHAR 배열입니다. AllowMacSpoofing 및 AllowTeaming이 모두 FALSE이면 이 값은 PermanentMacAddress와 같습니다. AllowMacSpoofing이 TRUE이면 이 값은 VMMacAddress와 같습니다. AllowTeaming이 TRUE이고 VM 내에서 팀 장애 조치(failover)가 발생한 경우 CurrentMacAddress는 장애 조치(failover)가 발생하지 않은 경우 네트워크 어댑터 또는 PermanentMacAddress로 장애 조치(failover)된 MAC 주소와 동일합니다.
VFAssigned
TRUE로 설정된 경우 네트워크 어댑터가 PCI Express(PCIe) VF(가상 함수)에 연결되도록 지정하는 BOOLEAN 값입니다. VF는 SR-IOV(단일 루트 I/O 가상화) 인터페이스를 지원하는 기본 물리적 네트워크 어댑터에 의해 노출됩니다.
자세한 내용은 주의 섹션을 참조하세요.
NdisReserved[2]
설명
OID_SWITCH_NIC_ARRAY OID 쿼리 요청은 요소가 0개 이상 포함된 NDIS_SWITCH_NIC_ARRAY 구조를 반환합니다. 각 요소의 형식은 NDIS_SWITCH_NIC_PARAMETERS 구조체로 지정됩니다.
NDIS_SWITCH_NIC_PARAMETERS 구조는 다음 OID 요청에도 사용됩니다.
NicType 및 NicName 멤버에 대한 지침
NicType 멤버 값에 따라 NicName 멤버의 형식은 다음과 같습니다.-
NicType 멤버가 NdisSwitchNicTypeExternal로 설정된 경우 NicName 멤버의 값은 외부 네트워크 어댑터에 바인딩된 실제 네트워크 어댑터의 고유한 instance 식별자(InstanceId)입니다. 이 유형의 네트워크 어댑터는 Hyper-V 부모 파티션에서 실행되는 관리 운영 체제에 노출됩니다.
외부 네트워크 어댑터는 호스트에서 사용할 수 있는 실제 네트워크 인터페이스에 대한 연결을 제공합니다. 외부 네트워크 어댑터는 Hyper-V 부모 파티션 및 모든 자식 파티션에서 액세스할 수 있습니다.
참고InstanceId 값은 관리 운영 체제에서 실행되는 플러그 앤 플레이 관리자에 의해 생성됩니다. -
NicType 멤버가 NdisSwitchNicTypeInternal로 설정된 경우 NicName 멤버의 값은 내부 네트워크 어댑터를 식별하는 디바이스 표시 이름입니다. 이 유형의 네트워크 어댑터는 Hyper-V 부모 파티션의 관리 운영 체제에 노출됩니다.
내부 네트워크 어댑터는 Hyper-V 부모 파티션 및 모든 자식 파티션에서 액세스할 수 있습니다. 그러나 내부 네트워크 어댑터는 호스트에서 사용할 수 있는 실제 네트워크 인터페이스에 연결되지 않습니다.
참고 디바이스 표시 이름은 관리 운영 체제에서 실행되는 Hyper-V WMI 관리 계층에 의해 생성됩니다. - 다른 모든 NicType 멤버 값의 경우 NicName 멤버의 값은 정책 관리 인터페이스에 의해 가상 또는 에뮬레이트된 네트워크 어댑터에 고유하게 할당됩니다. 이러한 유형의 네트워크 어댑터는 Hyper-V 자식 파티션으로 실행되는 게스트 운영 체제에 노출됩니다.
VFAssigned 멤버에 대한 지침
PCIe VF는 SR-IOV 인터페이스를 지원하는 기본 물리적 어댑터에 의해 만들어지고 할당됩니다. PCIe VF를 만든 후 가상화 스택은 Hyper-V 자식 파티션을 VF에 연결하거나 할당합니다. 이 파티션에서 실행되는 게스트 운영 체제는 기본 SR-IOV 물리적 어댑터에 연결되거나 할당된 VM(가상 머신) 네트워크 어댑터를 노출합니다.VFAssigned 멤버가 TRUE로 설정된 경우 패킷은 기본 SR-IOV 물리적 네트워크 어댑터와 가상 어댑터 간에 직접 라우팅됩니다. 그러나 확장 가능한 스위치는 패킷 배달에 포함되지 않으므로 ACL(액세스 제어 목록)과 같은 확장 가능한 스위치 포트 정책은 이러한 패킷에 적용되지 않습니다.
확장은 NDIS_STATUS_SWITCH_PORT_REMOVE_VF 상태 표시를 실행하여 VF 할당을 제거할 수 있습니다. 이 표시로 인해 VM 네트워크 어댑터와 SR-IOV 물리적 어댑터 간에 직접 전달되지 않고 확장 가능한 스위치 포트를 통해 패킷이 전달됩니다. 이렇게 하면 확장 가능한 스위치 포트를 통해 수신되거나 전송되는 패킷에 확장 가능한 스위치 포트 정책을 적용할 수 있습니다. 확장에서 NDIS_STATUS_SWITCH_PORT_REMOVE_VF 상태 표시하면 가상 네트워크 어댑터가 연결된 확장 가능한 스위치 포트를 지정합니다.
자세한 내용은 NDIS_STATUS_SWITCH_PORT_REMOVE_VF 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | NDIS 6.30 이상에서 지원됩니다. |
머리글 | ntddndis.h(Ndis.h, Fwpsk.h 포함) |
추가 정보