NDIS_RECEIVE_FILTER_CAPABILITIES struttura (ntddndis.h)
La struttura NDIS_RECEIVE_FILTER_CAPABILITIES specifica le funzionalità di filtro di ricezione di una scheda di rete.
I filtri di ricezione NDIS vengono usati nelle interfacce NDIS seguenti:
-
Unione dei pacchetti NDIS. Per altre informazioni su come usare i filtri di ricezione in questa interfaccia, vedere Gestione dei filtri di ricezione del carbone dei pacchetti.
-
Virtualizzazione I/O radice singola (SR-IOV). Per altre informazioni su come usare i filtri di ricezione in questa interfaccia, vedere Impostazione di un filtro di ricezione in una porta virtuale.
-
VMQ (Virtual Machine Queue). Per altre informazioni sull'uso dei filtri di ricezione in questa interfaccia, vedere Impostazione e cancellazione dei filtri VMQ.
Sintassi
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;
Members
Header
Struttura NDIS_OBJECT_HEADER per la struttura NDIS_RECEIVE_FILTER_CAPABILITIES . Il driver imposta il membro Type della struttura che Header specifica su NDIS_OBJECT_TYPE_DEFAULT.
Per indicare la versione della struttura NDIS_RECEIVE_FILTER_CAPABILITIES , il driver imposta il membro Revision su uno dei valori seguenti:
NDIS_RECEIVE_FILTER_CAPABILITIES_REVISION_2
Aggiunta
vari membri per NDIS 6.30 e versioni successive.
Il driver imposta il membro Size su NDIS_SIZEOF_RECEIVE_FILTER_CAPABILITIES_REVISION_2.
NDIS_RECEIVE_FILTER_CAPABILITIES_REVISION_1
Versione originale per NDIS 6.20.
Il driver imposta il membro Size su NDIS_SIZEOF_RECEIVE_FILTER_CAPABILITIES_REVISION_1.
Flags
Or bit per bit dei flag. Questo membro è riservato per NDIS.
EnabledFilterTypes
Or bit per bit dei flag che specificano i tipi di filtri di ricezione abilitati. Il flag di tipo di filtro seguente è valido.
NDIS_RECEIVE_FILTER_VMQ_FILTERS_ENABLED
Specifica che i filtri VMQ sono abilitati.
NDIS_RECEIVE_FILTER_PACKET_COALESCING_FILTERS_ENABLED
Specifica che i filtri di ricezione del pacchetto NDIS sono abilitati.
EnabledQueueTypes
Or bit per bit di flag che specificano i tipi di code di ricezione abilitate. Il flag del tipo di coda seguente è valido.
NDIS_RECEIVE_FILTER_VM_QUEUES_ENABLED
Specifica che le code di macchine virtuali sono abilitate. Le code di macchine virtuali vengono usate quando il driver miniport è abilitato per usare l'interfaccia VMQ.
NumQueues
Numero di code di macchine virtuali supportate dalla scheda di rete.
SupportedQueueProperties
Or bit per bit di flag che specificano le proprietà della coda della macchina virtuale supportate dalla scheda di rete. I flag seguenti sono definiti:
NDIS_RECEIVE_FILTER_MSI_X_SUPPORTED
La scheda di rete usa MSI-X per la generazione di interruzioni della coda. Questo flag è obbligatorio per i driver miniport che supportano l'interfaccia VMQ o SR-IOV.
NDIS_RECEIVE_FILTER_VM_QUEUE_SUPPORTED
La scheda di rete fornisce i requisiti minimi per supportare il filtro dei pacchetti della coda di macchine virtuali.
Il driver miniport deve impostare questo flag se è abilitato per usare l'interfaccia VMQ o SR-IOV.
Per altre informazioni sui requisiti di VMQ per il filtro dei pacchetti della coda di macchine virtuali, vedere Impostazione e cancellazione dei filtri VMQ.
Per altre informazioni sui requisiti SR-IOV per il filtro dei pacchetti della coda di macchine virtuali, vedere Impostazione di un filtro di ricezione in una porta virtuale.
NDIS_RECEIVE_FILTER_LOOKAHEAD_SPLIT_SUPPORTED
La scheda di rete supporta le code di macchine virtuali che suddivideno un pacchetto ricevuto in ingresso all'offset lookahead. Questo offset è uguale o maggiore delle dimensioni di lookahead richieste. La scheda di rete usa DMA per trasferire i dati lookahead e post-lookahead per separare i segmenti di memoria condivisa.
NDIS_RECEIVE_FILTER_DYNAMIC_PROCESSOR_AFFINITY_CHANGE_SUPPORTED
La scheda di rete supporta la possibilità di modificare dinamicamente uno degli attributi di affinità del processore seguenti:
- Affinità del processore di una coda di macchine virtuali nell'interfaccia VMQ. L'affinità del processore viene modificata tramite una richiesta di set OID di OID_RECEIVE_FILTER_QUEUE_PARAMETERS.
- L'affinità del processore di una porta virtuale non definita (VPort), creata nell'interfaccia SR-IOV e collegata alla funzione fisica PCI Express (PCIe) della scheda di rete. L'affinità del processore viene modificata tramite una richiesta di set OID di OID_NIC_SWITCH_VPORT_PARAMETERS.
NDIS_RECEIVE_FILTER_INTERRUPT_VECTOR_COALESCING_SUPPORTED
La scheda di rete supporta l'interruzione del raggruppamento per i pacchetti ricevuti in uno dei seguenti elementi:
- Più code di macchine virtuali nell'interfaccia VMQ.
- Più VPort collegati al pf nell'interfaccia SR-IOV.
NDIS_RECEIVE_FILTER_IMPLAT_MIN_OF_QUEUES_MODE
Indica che il numero di code di macchine virtuali disponibili è il numero minimo di code disponibili da qualsiasi membro di un team di failover di bilanciamento del carico. Questo flag si applica solo ai filtri LBFO. Questo flag non è impostato per miniport.
NDIS_RECEIVE_FILTER_IMPLAT_SUM_OF_QUEUES_MODE
Indica che il numero di code di macchine virtuali disponibili è la somma di tutte le code disponibili da ogni membro di un team LBFO. Questo flag si applica solo ai filtri LBFO. Questo flag non è impostato per miniport.
NDIS_RECEIVE_FILTER_PACKET_COALESCING_SUPPORTED_ON_DEFAULT_QUEUE
La scheda di rete supporta il raggruppamento dei pacchetti NDIS. Il raggruppamento dei pacchetti è supportato solo nella coda di ricezione predefinita della scheda di rete. Questa coda di ricezione ha un identificatore di NDIS_DEFAULT_RECEIVE_QUEUE_ID.
SupportedFilterTests
Or bit per bit di flag che specificano le operazioni di test supportate da un driver miniport. I flag seguenti sono definiti:
NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_EQUAL_SUPPORTED
La scheda di rete supporta il test del campo intestazione selezionato per determinare se è uguale a un determinato valore.
NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_MASK_EQUAL_SUPPORTED
La scheda di rete supporta la maschera ( ovvero un valore AND bit per bit) del campo intestazione selezionato per determinare se il risultato è uguale a un valore specificato.
NDIS_RECEIVE_FILTER_TEST_HEADER_FIELD_NOT_EQUAL_SUPPORTED
La scheda di rete supporta il test del campo intestazione selezionato per determinare se non è uguale a un valore specificato.
SupportedHeaders
Or bit per bit di flag che specificano i tipi di intestazioni di pacchetti di rete che un driver miniport può controllare. I flag seguenti sono definiti:
NDIS_RECEIVE_FILTER_MAC_HEADER_SUPPORTED
La scheda di rete può controllare l'intestazione MAC (Media Access Control) di un pacchetto di rete. Il membro SupportedMacHeaderFields definisce i vari campi dell'intestazione MAC che possono essere controllati.
NDIS_RECEIVE_FILTER_ARP_HEADER_SUPPORTED
La scheda di rete può esaminare l'intestazione ARP (Address Resolution Protocol) di un pacchetto di rete. Il membro SupportedArpHeaderFields definisce i vari campi dell'intestazione ARP che possono essere controllati.
NDIS_RECEIVE_FILTER_IPV4_HEADER_SUPPORTED
La scheda di rete può controllare l'intestazione IP versione 4 (IPv4) di un pacchetto di rete. Il membro SupportedIPv4HeaderFields definisce i vari campi dell'intestazione IPv4 che possono essere controllati.
NDIS_RECEIVE_FILTER_IPV6_HEADER_SUPPORTED
La scheda di rete può controllare l'intestazione IP versione 6 (IPv6) di un pacchetto di rete. Il membro SupportedIPv6HeaderFields definisce i vari campi dell'intestazione IPv6 che possono essere controllati.
NDIS_RECEIVE_FILTER_UDP_HEADER_SUPPORTED
La scheda di rete può controllare l'intestazione USER Datagram Protocol (UDP) di un pacchetto di rete. Il membro SupportedIPv6HeaderFields definisce i vari campi dell'intestazione UDP che possono essere controllati.
SupportedMacHeaderFields
Or bit per bit di flag che specificano i tipi di campi di intestazione MAC che un driver miniport può controllare. I flag seguenti sono definiti:
NDIS_RECEIVE_FILTER_MAC_HEADER_DEST_ADDR_SUPPORTED
La scheda di rete supporta l'ispezione e il filtro basati sull'indirizzo MAC di destinazione nell'intestazione MAC.
NDIS_RECEIVE_FILTER_MAC_HEADER_SOURCE_ADDR_SUPPORTED
La scheda di rete supporta l'ispezione e il filtro basati sull'indirizzo MAC di origine nell'intestazione MAC.
NDIS_RECEIVE_FILTER_MAC_HEADER_PROTOCOL_SUPPORTED
La scheda di rete supporta l'ispezione e il filtro basati sull'identificatore EtherType nell'intestazione MAC. Ad esempio, l'identificatore EtherType per i pacchetti IPv4 è 0x0800.
NDIS_RECEIVE_FILTER_MAC_HEADER_VLAN_ID_SUPPORTED
La scheda di rete supporta l'ispezione e il filtro basati sull'identificatore VLAN nell'intestazione MAC.
NDIS_RECEIVE_FILTER_MAC_HEADER_PRIORITY_SUPPORTED
La scheda di rete supporta l'ispezione e il filtro basati sul tag di priorità nell'intestazione MAC.
NDIS_RECEIVE_FILTER_MAC_HEADER_PACKET_TYPE_SUPPORTED
La scheda di rete supporta l'ispezione e il filtro basati sul campo del tipo di pacchetto dell'intestazione IEEE 802.2 subnetwork access protocol (SNAP) in un'intestazione MAC 802.3.
MaxMacHeaderFilters
Numero massimo di filtri di intestazione MAC supportati dal driver miniport.
MaxQueueGroups
Questo membro è riservato per NDIS.
MaxQueuesPerQueueGroup
Questo membro è riservato per NDIS.
MinLookaheadSplitSize
Dimensioni minime, in byte, supportate dalla scheda di rete per i buffer dei pacchetti lookahead.
MaxLookaheadSplitSize
Dimensioni massime, in byte, supportate dalla scheda di rete per i buffer dei pacchetti lookahead.
SupportedARPHeaderFields
Or bit per bit di flag che specificano i tipi di campi di intestazione ARP che un driver miniport può controllare. I flag seguenti sono definiti:
NDIS_RECEIVE_FILTER_ARP_HEADER_OPERATION_SUPPORTED
La scheda di rete supporta la ricezione del filtro nel campo dell'operazione ARP.
NDIS_RECEIVE_FILTER_ARP_HEADER_SPA_SUPPORTED
La scheda di rete supporta la ricezione del filtro nel campo Indirizzo del protocollo di origine ARP (SPA).
NDIS_RECEIVE_FILTER_ARP_HEADER_TPA_SUPPORTED
La scheda di rete supporta la ricezione del filtro nel campo TPA (ARP Target Protocol Address).
SupportedIPv4HeaderFields
Or bit per bit dei flag che specificano i tipi di campi di intestazione IPv4 che un driver miniport può controllare. I flag seguenti sono definiti:
NDIS_RECEIVE_FILTER_IPV4_HEADER_PROTOCOL_SUPPORTED
La scheda di rete supporta la ricezione del filtro nel campo del protocollo IPv4.
SupportedIPv6HeaderFields
Or bit per bit di flag che specificano i tipi di campi di intestazione IPv6 che un driver miniport può controllare. I flag seguenti sono definiti:
NDIS_RECEIVE_FILTER_IPV6_HEADER_PROTOCOL_SUPPORTED
La scheda di rete supporta la ricezione del filtro nel campo protocollo IPv6.
SupportedUdpHeaderFields
Or bit per bit di flag che specificano i tipi di campi di intestazione IPv6 che un driver miniport può controllare. I flag seguenti sono definiti:
NDIS_RECEIVE_FILTER_UDP_HEADER_DEST_PORT_SUPPORTED
La scheda di rete supporta la ricezione del filtro nel campo della porta di destinazione UDP.
MaxFieldTestsPerPacketCoalescingFilter
Numero massimo di test nei campi dell'intestazione del pacchetto che possono essere specificati per un singolo filtro di unione dei pacchetti. Per altre informazioni sul raggruppamento dei pacchetti, vedere Coalescing dei pacchetti NDIS.
MaxPacketCoalescingFilters
Numero massimo di filtri di ricezione del raggruppamento di pacchetti supportati dalla scheda di rete.
NdisReserved
Riservato. Impostare su 0.
Commenti
La struttura NDIS_RECEIVE_FILTER_CAPABILITIES viene usata nel membro ReceiveFilterCapabilities del NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES, NDIS_FILTER_ATTACH_PARAMETERS e NDIS_BIND_PARAMETERS strutture e il risultato restituito OID_RECEIVE_FILTER_HARDWARE_CAPABILITIES Query OID.
Molte delle impostazioni dei membri e del flag della struttura NDIS_RECEIVE_FILTER_CAPABILITIES sono valide solo se il driver miniport è abilitato per usare l'interfaccia VMQ o SR-IOV. Il driver miniport è abilitato per usare queste interfacce tramite parole chiave INF standardizzate. Per altre informazioni, vedere Gestione delle parole chiave SR-IOV, VMQ e RSS Standardized INF.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato in NDIS 6.20 e versioni successive. |
Intestazione | ntddndis.h (include Ndis.h) |
Vedi anche
NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES OID_RECEIVE_FILTER_HARDWARE_CAPABILITIESCommenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per