NDIS_RECEIVE_FILTER_CAPABILITIES 구조체(ntddndis.h)
NDIS_RECEIVE_FILTER_CAPABILITIES 구조는 네트워크 어댑터의 수신 필터링 기능을 지정합니다.
NDIS 수신 필터는 다음 NDIS 인터페이스에서 사용됩니다.
-
NDIS 패킷 병합. 이 인터페이스에서 수신 필터를 사용하는 방법에 대한 자세한 내용은 패킷 병합 수신 필터 관리를 참조하세요.
-
SR-IOV(단일 루트 I/O 가상화). 이 인터페이스에서 수신 필터를 사용하는 방법에 대한 자세한 내용은 가상 포트에서 수신 필터 설정을 참조하세요.
-
VMQ(Virtual Machine Queue). 이 인터페이스에서 수신 필터를 사용하는 방법에 대한 자세한 내용은 VMQ 필터 설정 및 지우기를 참조하세요.
구문
typedef struct _NDIS_RECEIVE_FILTER_CAPABILITIES {
NDIS_OBJECT_HEADER Header;
ULONG Flags;
ULONG EnabledFilterTypes;
ULONG EnabledQueueTypes;
ULONG NumQueues;
ULONG SupportedQueueProperties;
ULONG SupportedFilterTests;
ULONG SupportedHeaders;
ULONG SupportedMacHeaderFields;
ULONG MaxMacHeaderFilters;
ULONG MaxQueueGroups;
ULONG MaxQueuesPerQueueGroup;
ULONG MinLookaheadSplitSize;
ULONG MaxLookaheadSplitSize;
ULONG SupportedARPHeaderFields;
ULONG SupportedIPv4HeaderFields;
ULONG SupportedIPv6HeaderFields;
ULONG SupportedUdpHeaderFields;
ULONG MaxFieldTestsPerPacketCoalescingFilter;
ULONG MaxPacketCoalescingFilters;
ULONG NdisReserved;
} NDIS_RECEIVE_FILTER_CAPABILITIES, *PNDIS_RECEIVE_FILTER_CAPABILITIES;
멤버
Header
NDIS_RECEIVE_FILTER_CAPABILITIES 구조체의 NDIS_OBJECT_HEADER 구조체입니다. 드라이버는 Header가 지정하는 구조체의 Type 멤버를 NDIS_OBJECT_TYPE_DEFAULT 설정합니다.
NDIS_RECEIVE_FILTER_CAPABILITIES 구조체의 버전을 나타내기 위해 드라이버는 Revision 멤버를 다음 값 중 하나로 설정합니다.
NDIS_RECEIVE_FILTER_CAPABILITIES_REVISION_2
추가됨
NDIS 6.30 이상에 대한 다양한 멤버.
드라이버는 Size 멤버를 NDIS_SIZEOF_RECEIVE_FILTER_CAPABILITIES_REVISION_2 설정합니다.
NDIS_RECEIVE_FILTER_CAPABILITIES_REVISION_1
NDIS 6.20의 원래 버전입니다.
드라이버는 Size 멤버를 NDIS_SIZEOF_RECEIVE_FILTER_CAPABILITIES_REVISION_1 설정합니다.
Flags
플래그의 비트 OR입니다. 이 멤버는 NDIS용으로 예약되어 있습니다.
EnabledFilterTypes
활성화된 수신 필터의 유형을 지정하는 플래그의 비트 OR입니다. 다음 필터 형식 플래그가 유효합니다.
NDIS_RECEIVE_FILTER_VMQ_FILTERS_ENABLED
VMQ 필터를 사용하도록 지정합니다.
NDIS_RECEIVE_FILTER_PACKET_COALESCING_FILTERS_ENABLED
NDIS 패킷 병합 수신 필터를 사용하도록 지정합니다.
EnabledQueueTypes
활성화된 수신 큐의 유형을 지정하는 플래그의 비트 OR입니다. 다음 큐 유형 플래그가 유효합니다.
NDIS_RECEIVE_FILTER_VM_QUEUES_ENABLED
VM(가상 머신) 큐를 사용하도록 지정합니다. VM 큐는 미니포트 드라이버가 VMQ 인터페이스를 사용하도록 설정된 경우에 사용됩니다.
NumQueues
네트워크 어댑터가 지원하는 VM 큐 수입니다.
SupportedQueueProperties
네트워크 어댑터가 지원하는 VM 큐 속성을 지정하는 플래그의 비트 OR입니다. 다음 플래그가 정의됩니다.
NDIS_RECEIVE_FILTER_MSI_X_SUPPORTED
네트워크 어댑터는 수신 큐 인터럽트 생성에 MSI-X를 사용합니다. 이 플래그는 VMQ 또는 SR-IOV 인터페이스를 지원하는 미니포트 드라이버에 필수입니다.
NDIS_RECEIVE_FILTER_VM_QUEUE_SUPPORTED
네트워크 어댑터는 VM 큐 패킷 필터링을 지원하기 위한 최소 요구 사항을 제공합니다.
미니포트 드라이버는 VMQ 또는 SR-IOV 인터페이스를 사용하도록 설정된 경우 이 플래그를 설정해야 합니다.
VM 큐 패킷 필터링에 대한 VMQ 요구 사항에 대한 자세한 내용은 VMQ 필터 설정 및 지우기 를 참조하세요.
VM 큐 패킷 필터링에 대한 SR-IOV 요구 사항에 대한 자세한 내용은 가상 포트에서 수신 필터 설정을 참조하세요.
NDIS_RECEIVE_FILTER_LOOKAHEAD_SPLIT_SUPPORTED
네트워크 어댑터는 lookahead 오프셋에서 수신된 패킷을 분할하는 VM 큐를 지원합니다. 이 오프셋은 요청된 lookahead 크기와 같거나 큽니다. 네트워크 어댑터는 DMA를 사용하여 lookahead 및 사후 조회 데이터를 별도의 공유 메모리 세그먼트로 전송합니다.
NDIS_RECEIVE_FILTER_DYNAMIC_PROCESSOR_AFFINITY_CHANGE_SUPPORTED
네트워크 어댑터는 다음 프로세서 선호도 특성 중 하나를 동적으로 변경하는 기능을 지원합니다.
- VMQ 인터페이스에서 VM 큐의 프로세서 선호도입니다. 프로세서 선호도는 OID_RECEIVE_FILTER_QUEUE_PARAMETERS OID 집합 요청을 통해 변경됩니다.
- SR-IOV 인터페이스에서 만들어지고 네트워크 어댑터의 PCI Express(PCIe) 실제 함수(PF)에 연결된 기본이 아닌 VPort(가상 포트)의 프로세서 선호도입니다. 프로세서 선호도는 OID_NIC_SWITCH_VPORT_PARAMETERS OID 집합 요청을 통해 변경됩니다.
NDIS_RECEIVE_FILTER_INTERRUPT_VECTOR_COALESCING_SUPPORTED
네트워크 어댑터는 다음 중에서 수신된 패킷에 대한 인터럽트 병합을 지원합니다.
- VMQ 인터페이스의 여러 VM 큐.
- SR-IOV 인터페이스의 PF에 연결된 여러 VPort입니다.
NDIS_RECEIVE_FILTER_IMPLAT_MIN_OF_QUEUES_MODE
사용 가능한 VM 큐 수가 LBFO(부하 분산 장애 조치(failover) 팀의 구성원에서 사용할 수 있는 최소 큐 수임을 나타냅니다. 이 플래그는 LBFO 필터에만 적용됩니다. 이 플래그는 미니포트에 대해 설정되지 않습니다.
NDIS_RECEIVE_FILTER_IMPLAT_SUM_OF_QUEUES_MODE
사용 가능한 VM 큐 수가 LBFO 팀의 모든 멤버에서 사용할 수 있는 모든 큐의 합계임을 나타냅니다. 이 플래그는 LBFO 필터에만 적용됩니다. 이 플래그는 미니포트에 대해 설정되지 않습니다.
NDIS_RECEIVE_FILTER_PACKET_COALESCING_SUPPORTED_ON_DEFAULT_QUEUE
네트워크 어댑터는 NDIS 패킷 병합을 지원합니다. 패킷 병합은 네트워크 어댑터의 기본 수신 큐에서만 지원됩니다. 이 수신 큐에는 NDIS_DEFAULT_RECEIVE_QUEUE_ID 식별자가 있습니다.
SupportedFilterTests
미니포트 드라이버가 지원하는 테스트 작업을 지정하는 플래그의 비트 OR입니다. 다음 플래그가 정의됩니다.
NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_EQUAL_SUPPORTED
네트워크 어댑터는 선택한 헤더 필드를 테스트하여 지정된 값과 같은지 여부를 확인할 수 있습니다.
NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_MASK_EQUAL_SUPPORTED
네트워크 어댑터는 선택한 헤더 필드의 마스킹(즉, 비트 AND)을 지원하여 결과가 지정된 값과 같은지 여부를 확인합니다.
NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_NOT_EQUAL_SUPPORTED
네트워크 어댑터는 선택한 헤더 필드를 테스트하여 지정된 값과 같지 않은지 여부를 확인할 수 있습니다.
SupportedHeaders
미니포트 드라이버가 검사할 수 있는 네트워크 패킷 헤더 유형을 지정하는 플래그의 비트 OR입니다. 다음 플래그가 정의됩니다.
NDIS_RECEIVE_FILTER_MAC_HEADER_SUPPORTED
네트워크 어댑터는 네트워크 패킷의 MAC(미디어 액세스 제어) 헤더를 검사할 수 있습니다. SupportedMacHeaderFields 멤버는 검사할 수 있는 MAC 헤더의 다양한 필드를 정의합니다.
NDIS_RECEIVE_FILTER_ARP_HEADER_SUPPORTED
네트워크 어댑터는 네트워크 패킷의 ARP(주소 확인 프로토콜) 헤더를 검사할 수 있습니다. SupportedArpHeaderFields 멤버는 검사할 수 있는 ARP 헤더의 다양한 필드를 정의합니다.
NDIS_RECEIVE_FILTER_IPV4_HEADER_SUPPORTED
네트워크 어댑터는 네트워크 패킷의 IP 버전 4(IPv4) 헤더를 검사할 수 있습니다. SupportedIPv4HeaderFields 멤버는 검사할 수 있는 IPv4 헤더의 다양한 필드를 정의합니다.
NDIS_RECEIVE_FILTER_IPV6_HEADER_SUPPORTED
네트워크 어댑터는 네트워크 패킷의 IP 버전 6(IPv6) 헤더를 검사할 수 있습니다. SupportedIPv6HeaderFields 멤버는 검사할 수 있는 IPv6 헤더의 다양한 필드를 정의합니다.
NDIS_RECEIVE_FILTER_UDP_HEADER_SUPPORTED
네트워크 어댑터는 네트워크 패킷의 UDP(사용자 데이터그램 프로토콜) 헤더를 검사할 수 있습니다. SupportedIPv6HeaderFields 멤버는 검사할 수 있는 UDP 헤더의 다양한 필드를 정의합니다.
SupportedMacHeaderFields
미니포트 드라이버가 검사할 수 있는 MAC 헤더 필드의 형식을 지정하는 플래그의 비트 OR입니다. 다음 플래그가 정의됩니다.
NDIS_RECEIVE_FILTER_MAC_HEADER_DEST_ADDR_SUPPORTED
네트워크 어댑터는 MAC 헤더의 대상 MAC 주소를 기반으로 하는 검사 및 필터링을 지원합니다.
NDIS_RECEIVE_FILTER_MAC_HEADER_SOURCE_ADDR_SUPPORTED
네트워크 어댑터는 MAC 헤더의 원본 MAC 주소를 기반으로 하는 검사 및 필터링을 지원합니다.
NDIS_RECEIVE_FILTER_MAC_HEADER_PROTOCOL_SUPPORTED
네트워크 어댑터는 MAC 헤더의 EtherType 식별자를 기반으로 하는 검사 및 필터링을 지원합니다. 예를 들어 IPv4 패킷에 대한 EtherType 식별자는 0x0800.
NDIS_RECEIVE_FILTER_MAC_HEADER_VLAN_ID_SUPPORTED
네트워크 어댑터는 MAC 헤더의 VLAN 식별자를 기반으로 하는 검사 및 필터링을 지원합니다.
NDIS_RECEIVE_FILTER_MAC_HEADER_PRIORITY_SUPPORTED
네트워크 어댑터는 MAC 헤더의 우선 순위 태그를 기반으로 하는 검사 및 필터링을 지원합니다.
NDIS_RECEIVE_FILTER_MAC_HEADER_PACKET_TYPE_SUPPORTED
네트워크 어댑터는 802.3 MAC 헤더에서 IEEE 802.2 SNAP(서브네트워크 액세스 프로토콜) 헤더의 패킷 유형 필드를 기반으로 하는 검사 및 필터링을 지원합니다.
MaxMacHeaderFilters
미니포트 드라이버에서 지원하는 최대 MAC 헤더 필터 수입니다.
MaxQueueGroups
이 멤버는 NDIS용으로 예약되어 있습니다.
MaxQueuesPerQueueGroup
이 멤버는 NDIS용으로 예약되어 있습니다.
MinLookaheadSplitSize
네트워크 어댑터가 lookahead 패킷 버퍼를 지원하는 최소 크기(바이트)입니다.
MaxLookaheadSplitSize
네트워크 어댑터가 lookahead 패킷 버퍼를 지원하는 최대 크기(바이트)입니다.
SupportedARPHeaderFields
미니포트 드라이버에서 검사할 수 있는 ARP 헤더 필드의 형식을 지정하는 플래그의 비트 OR입니다. 다음 플래그가 정의됩니다.
NDIS_RECEIVE_FILTER_ARP_HEADER_OPERATION_SUPPORTED
네트워크 어댑터는 ARP 작업 필드에서 수신 필터링을 지원합니다.
NDIS_RECEIVE_FILTER_ARP_HEADER_SPA_SUPPORTED
네트워크 어댑터는 ARP SPA(원본 프로토콜 주소) 필드에서 수신 필터링을 지원합니다.
NDIS_RECEIVE_FILTER_ARP_HEADER_TPA_SUPPORTED
네트워크 어댑터는 ARP TPA(대상 프로토콜 주소) 필드에서 수신 필터링을 지원합니다.
SupportedIPv4HeaderFields
미니포트 드라이버가 검사할 수 있는 IPv4 헤더 필드의 형식을 지정하는 플래그의 비트 OR입니다. 다음 플래그가 정의됩니다.
NDIS_RECEIVE_FILTER_IPV4_HEADER_PROTOCOL_SUPPORTED
네트워크 어댑터는 IPv4 프로토콜 필드에서 수신 필터링을 지원합니다.
SupportedIPv6HeaderFields
미니포트 드라이버에서 검사할 수 있는 IPv6 헤더 필드의 형식을 지정하는 플래그의 비트 OR입니다. 다음 플래그가 정의됩니다.
NDIS_RECEIVE_FILTER_IPV6_HEADER_PROTOCOL_SUPPORTED
네트워크 어댑터는 IPv6 프로토콜 필드에서 수신 필터링을 지원합니다.
SupportedUdpHeaderFields
미니포트 드라이버에서 검사할 수 있는 IPv6 헤더 필드의 형식을 지정하는 플래그의 비트 OR입니다. 다음 플래그가 정의됩니다.
NDIS_RECEIVE_FILTER_UDP_HEADER_DEST_PORT_SUPPORTED
네트워크 어댑터는 UDP 대상 포트 필드에서 수신 필터링을 지원합니다.
MaxFieldTestsPerPacketCoalescingFilter
단일 패킷 병합 필터에 대해 지정할 수 있는 패킷 헤더 필드의 최대 테스트 수입니다. 패킷 병합에 대한 자세한 내용은 NDIS 패킷 병합을 참조하세요.
MaxPacketCoalescingFilters
네트워크 어댑터에서 지원하는 패킷 병합 수신 필터의 최대 수입니다.
NdisReserved
예약되어 있습니다. 0으로 설정합니다.
설명
NDIS_RECEIVE_FILTER_CAPABILITIES 구조체는 의 ReceiveFilterCapabilities 멤버에 사용됩니다. NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES NDIS_FILTER_ATTACH_PARAMETERS 및 NDIS_BIND_PARAMETERS 구조체 및 의 반환 결과 OID_RECEIVE_FILTER_HARDWARE_CAPABILITIES OID 쿼리.
NDIS_RECEIVE_FILTER_CAPABILITIES 구조체의 많은 멤버 및 플래그 설정은 미니포트 드라이버가 VMQ 또는 SR-IOV 인터페이스를 사용하도록 설정된 경우에만 유효합니다. 미니포트 드라이버는 표준화된 INF 키워드를 통해 이러한 인터페이스를 사용할 수 있습니다. 자세한 내용은 SR-IOV, VMQ 및 RSS 표준화된 INF 키워드 처리를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | NDIS 6.20 이상에서 지원됩니다. |
머리글 | ntddndis.h(Ndis.h 포함) |
추가 정보
NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES OID_RECEIVE_FILTER_HARDWARE_CAPABILITIES피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기