NDIS_NIC_SWITCH_CAPABILITIES 구조체(ntddndis.h)
NDIS_NIC_SWITCH_CAPABILITIES 구조는 네트워크 어댑터에서 NIC 스위치의 기능을 지정합니다.
구문
typedef struct _NDIS_NIC_SWITCH_CAPABILITIES {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
ULONG NdisReserved1;
ULONG NumTotalMacAddresses;
ULONG NumMacAddressesPerPort;
ULONG NumVlansPerPort;
ULONG NdisReserved2;
ULONG NdisReserved3;
ULONG NicSwitchCapabilities;
ULONG MaxNumSwitches;
ULONG MaxNumVPorts;
ULONG NdisReserved4;
ULONG MaxNumVFs;
ULONG MaxNumQueuePairs;
ULONG NdisReserved5;
ULONG NdisReserved6;
ULONG NdisReserved7;
ULONG MaxNumQueuePairsPerNonDefaultVPort;
ULONG NdisReserved8;
ULONG NdisReserved9;
ULONG NdisReserved10;
ULONG NdisReserved11;
ULONG NdisReserved12;
ULONG MaxNumMacAddresses;
ULONG NdisReserved13;
ULONG NdisReserved14;
ULONG NdisReserved15;
ULONG NdisReserved16;
ULONG NdisReserved17;
ULONG MaxNumRssCapableNonDefaultPFVPorts;
ULONG NumberOfIndirectionTableEntriesForDefaultVPort;
ULONG NumberOfIndirectionTableEntriesPerNonDefaultPFVPort;
ULONG MaxNumQueuePairsForDefaultVPort;
} NDIS_NIC_SWITCH_CAPABILITIES, *PNDIS_NIC_SWITCH_CAPABILITIES;
멤버
Header
NDIS_NIC_SWITCH_CAPABILITIES 구조체의 형식, 수정 버전 및 크기입니다. 이 멤버는 NDIS_OBJECT_HEADER 구조체로 형식이 지정됩니다.
미니포트 드라이버는 헤더의 형식 멤버를 NDIS_OBJECT_TYPE_DEFAULT 설정해야 합니다. NDIS_NIC_SWITCH_CAPABILITIES 구조체의 버전을 지정하려면 드라이버가 Header의 Revision 멤버를 다음 값 중 하나로 설정해야 합니다.
NDIS_NIC_SWITCH_CAPABILITIES_REVISION_3
NDIS 6.60에 대한 RSS 인터페이스 멤버가 추가되었습니다.
Size 멤버를 NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_3 설정합니다.
NDIS_NIC_SWITCH_CAPABILITIES_REVISION_2
NDIS 6.30에 대한 SR-IOV(단일 루트 I/O 가상화) 인터페이스 멤버가 추가되었습니다.
Size 멤버를 NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_2 설정합니다.
NDIS_NIC_SWITCH_CAPABILITIES_REVISION_1
NDIS 6.20의 원래 버전입니다.
Size 멤버를 NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_1 설정합니다.
Flags
비트 OR 플래그를 포함하는 ULONG 값입니다. 이 멤버는 NDIS용으로 예약되어 있습니다.
NdisReserved1
NDIS용으로 예약되었습니다.
NumTotalMacAddresses
네트워크 어댑터가 지원하는 MAC(미디어 액세스 제어) 주소의 총 수를 포함하는 ULONG 값입니다.
NumMacAddressesPerPort
각 포트에 대해 지원되는 MAC 주소 수를 포함하는 ULONG 값입니다.
NumVlansPerPort
각 포트에 대해 지원되는 VLAN 수를 포함하는 ULONG 값입니다.
NdisReserved2
NDIS용으로 예약되었습니다.
NdisReserved3
NDIS용으로 예약되었습니다.
NicSwitchCapabilities
NIC 스위치의 기능을 지정하는 다음 플래그의 비트 OR을 포함하는 ULONG 값입니다.
NDIS_NIC_SWITCH_CAPS_RSS_ON_PF_VPORTS_SUPPORTED
NIC가 PF VPort용 VMMQ를 지원한다고 지정합니다.
NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_INDIRECTION_TABLE_SUPPORTED
1 로 설정하면 NIC가 PF별 VPort 간접 참조 테이블을 유지할 수 있도록 지정합니다.
NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_FUNCTION_SUPPORTED
1 로 설정하면 NIC가 PF VPort당 다른 해시 함수 설정을 지원하도록 지정합니다. 이 플래그가 설정되면 NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_KEY_SUPPORTED 설정해야 합니다.
NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_TYPE_SUPPORTED
1 로 설정하면 NIC가 PF VPort당 다른 해시 형식 설정을 지원하도록 지정합니다.
NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_KEY_SUPPORTED
1 로 설정하면 NIC가 PF VPort당 다른 해시 비밀 키 설정을 지원하도록 지정합니다. NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_FUNCTION_SUPPORTED 설정된 경우 이 플래그를 설정해야 합니다.
NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_INDIRECTION_TABLE_SIZE_RESTRICTED
1 로 설정하면 NIC에 PF VPorts의 간접 참조 테이블 크기가 제한되도록 지정합니다. 이 플래그는 RSS OID 발급자가 PF별 VPort 간접 참조 테이블 크기를 다음 두 개 권한으로 반올림된 VPort 큐 수와 동일하게 사용하도록 합니다. PF VPort에만 적용되며 VF VPort에는 적용되지 않습니다. 이 플래그는 NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED 플래그와 결합할 수 있습니다(PF VPort의 큐 수가 다를 수 있음). 이 플래그를 사용하면 VMMQ 사용자가 세분화된 큐 조향을 수행할 수 없습니다.
NDIS_NIC_SWITCH_CAPS_NIC_SWITCH_WITHOUT_IOV_SUPPORTED
NDIS 6.60에서 도입된 이 플래그는 SR-IOV를 사용하지 않고 NIC 스위치를 만들 수 있음을 지정합니다. 이 플래그를 사용하면 SRIOV 키워드에서 *NIC 스위치를 분리할 수 있습니다. 즉, SRIOV = 0인 경우에도 *OID_NIC_SWITCH_CREATE_SWITCH 통해 NIC 스위치를 만들 수 있습니다.
NDIS 6.60 이상 미니포트 드라이버에 대한 NIC 스위치 기능을 보고하는 방법에 대한 자세한 내용은 NIC 스위치 기능 확인(Determining NIC Switch Capabilities)을 참조하세요.
NDIS_NIC_SWITCH_CAPS_VLAN_SUPPORTED
이 플래그는 NIC 스위치가 VLAN(가상 로컬 영역 네트워크) ID(식별자)를 기반으로 하드웨어 패킷 필터링을 지원한다고 지정합니다.
NDIS_NIC_SWITCH_CAPS_PER_VPORT_INTERRUPT_MODERATION_SUPPORTED
이 플래그는 NIC 스위치가 개별 VPort에서 인터럽트 조정 구성을 지원할 수 있도록 지정합니다.
NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED
이 플래그는 NIC 스위치가 기본이 아닌 각 VPort에 대해 서로 다른 수의 큐 쌍을 구성할 수 있도록 지정합니다. 즉, 기본이 아닌 각 VPort는 서로 다른 수의 큐 쌍을 갖도록 비대칭적으로 구성할 수 있습니다.
이 플래그를 설정하지 않으면 동일한 수의 큐 쌍을 갖도록 기본이 아닌 모든 VPort를 대칭적으로 구성해야 합니다.
이 플래그가 설정되었는지 여부에 관계없이 NIC 스위치는 기본 VPort에서 큐 쌍 수를 설정하는 기능을 지원해야 합니다. 이는 기본이 아닌 VPort에 설정된 큐 쌍의 수와 다를 수 있습니다.
NDIS_NIC_SWITCH_CAPS_VF_RSS_SUPPORTED
이 플래그는 PCI Express(PCIe) VF(가상 함수)에 연결된 기본이 아닌 VPort의 큐 쌍을 RSS(수신측 크기 조정)에 사용할 수 있도록 지정합니다. VF 미니포트 드라이버는 Hyper-V 자식 파티션의 게스트 운영 체제에서 실행됩니다.
이 플래그가 설정된 경우 미니포트 드라이버는 VF에서 RSS를 지원하며 RSS용 기본이 아닌 VPort에서 하나 이상의 큐 쌍을 사용할 수 있습니다.
NDIS_NIC_SWITCH_CAPS_SINGLE_VPORT_POOL
이 플래그는 기본이 아닌 VPort를 네트워크 어댑터의 VPort 풀에서 예약되지 않은 방식으로 만들 수 있도록 지정합니다. 이렇게 하면 PF 및 할당된 VF에 필요에 따라 사용 가능한 기본이 아닌 VPort를 만들고 할당할 수 있습니다. 네트워크 어댑터가 VMQ(가상 머신 큐) 인터페이스를 지원하는 경우 PF에 할당된 기본이 아닌 VPort를 VM 수신 큐에 사용할 수도 있습니다.
VMQ에 대한 자세한 내용은 VMQ(Virtual Machine Queue)를 참조하세요.
VPort에 대한 자세한 내용은 가상 포트 관리를 참조하세요.
MaxNumSwitches
네트워크 어댑터의 PCI Express(PCIe) PF(물리적 함수)에서 만들 수 있는 최대 스위치 수를 지정하는 ULONG 값입니다.
MaxNumVPorts
네트워크 어댑터에서 만들 수 있는 VPort의 최대 수를 지정하는 ULONG 값입니다. 여기에는 항상 PF에 연결된 기본 VPort가 포함됩니다.
NdisReserved4
NDIS용으로 예약되었습니다.
MaxNumVFs
NIC 스위치에서 만들 수 있는 최대 VF 수를 지정하는 ULONG 값입니다.
MaxNumQueuePairs
모든 VPort에 할당할 수 있는 최대 큐 쌍 수를 지정하는 ULONG 값입니다. 여기에는 PF에 연결된 기본 VPort가 포함됩니다.
NdisReserved5
NDIS용으로 예약되었습니다.
NdisReserved6
NDIS용으로 예약되었습니다.
NdisReserved7
NDIS용으로 예약되었습니다.
MaxNumQueuePairsPerNonDefaultVPort
기본이 아닌 VPort에 할당할 수 있는 최대 큐 쌍 수를 지정하는 ULONG 값입니다.
이 값은 2의 권한으로 지정되며 비대칭 구성 및 VPort에 큐 쌍 할당을 제공합니다. 자세한 내용은 큐 쌍의 대칭 및 비대칭 할당을 참조하세요.
NdisReserved8
NDIS용으로 예약되었습니다.
NdisReserved9
NDIS용으로 예약되었습니다.
NdisReserved10
NDIS용으로 예약되었습니다.
NdisReserved11
NDIS용으로 예약되었습니다.
NdisReserved12
NDIS용으로 예약되었습니다.
MaxNumMacAddresses
NIC 스위치에서 사용할 수 있는 유니캐스트 MAC 주소 필터의 최대 수를 지정하는 ULONG 값입니다.
NdisReserved13
NDIS용으로 예약되었습니다.
NdisReserved14
NDIS용으로 예약되었습니다.
NdisReserved15
NDIS용으로 예약되었습니다.
NdisReserved16
NDIS용으로 예약되었습니다.
NdisReserved17
NDIS용으로 예약되었습니다.
MaxNumRssCapableNonDefaultPFVPorts
RSS 지원 비 기본 PFVPort의 최대 수를 지정하는 ULONG 값입니다.
NumberOfIndirectionTableEntriesForDefaultVPort
기본 VPort의 간접 참조 테이블 항목 수를 지정하는 ULONG 값입니다.
NumberOfIndirectionTableEntriesPerNonDefaultPFVPort
기본이 아닌 각 PFVPort에 대한 간접 참조 테이블 항목 수를 지정하는 ULONG 값입니다.
MaxNumQueuePairsForDefaultVPort
기본 VPort에 할당할 수 있는 최대 큐 쌍 수를 지정하는 ULONG 값입니다.
이 값은 2의 권한으로 지정되며 비대칭 구성 및 VPort에 큐 쌍 할당을 제공합니다. 자세한 내용은 큐 쌍의 대칭 및 비대칭 할당을 참조하세요.
설명
NDIS_NIC_SWITCH_CAPABILITIES 구조체는 다음 구조체의 멤버에서 사용됩니다.
- NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES 구조체의 HardwareNicSwitchCapabilities 및 CurrentNicSwitchCapabilities 멤버입니다.
- NDIS_FILTER_ATTACH_PARAMETERS 및 NDIS_BIND_PARAMETERS 구조체의 NicSwitchCapabilities 멤버입니다.
요구 사항
| 지원되는 최소 클라이언트 | NDIS 6.20 이상에서 지원됩니다. |
| 헤더 | ntddndis.h(Ndis.h 포함) |
참고 항목
NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES
피드백
다음에 대한 사용자 의견 제출 및 보기