Condividi tramite


struttura NDIS_NIC_SWITCH_CAPABILITIES (ntddndis.h)

La struttura NDIS_NIC_SWITCH_CAPABILITIES specifica le funzionalità di un commutatore di interfaccia di rete nella scheda di rete.

Sintassi

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;

Members

Header

Tipo, revisione e dimensioni della struttura NDIS_NIC_SWITCH_CAPABILITIES . Questo membro viene formattato come struttura NDIS_OBJECT_HEADER .

Il driver miniport deve impostare il membro Type di Header su NDIS_OBJECT_TYPE_DEFAULT. Per specificare la versione della struttura NDIS_NIC_SWITCH_CAPABILITIES , il driver deve impostare il membro Revision di Header su uno dei valori seguenti:

NDIS_NIC_SWITCH_CAPABILITIES_REVISION_3

Aggiunta dei membri dell'interfaccia RSS per NDIS 6.60.

Nota La revisione 3 di questa struttura è supportata solo in Windows Server 2016 e versioni successive di Windows Server.

 

Impostare il membro Size su NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_3.

NDIS_NIC_SWITCH_CAPABILITIES_REVISION_2

Sono stati aggiunti i membri dell'interfaccia SR-IOV (Single Root I/O Virtualization) per NDIS 6.30.

Nota La revisione 2 di questa struttura è supportata solo in Windows Server 2012 e versioni successive di Windows Server.

 

Impostare il membro Size su NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_2.

NDIS_NIC_SWITCH_CAPABILITIES_REVISION_1

Versione originale per NDIS 6.20.

Impostare il membro Size su NDIS_SIZEOF_NIC_SWITCH_CAPABILITIES_REVISION_1.

Flags

Valore ULONG che contiene un OR bit per bit di flag. Questo membro è riservato per NDIS.

NdisReserved1

Riservato per NDIS.

NumTotalMacAddresses

Valore ULONG che contiene il numero totale di indirizzi MAC (Media Access Control) supportati dalla scheda di rete.

Nota I driver devono impostare questo membro su zero per le revisioni 2 e successive di questa struttura.
 

NumMacAddressesPerPort

Valore ULONG che contiene il numero di indirizzi MAC supportati per ogni porta.

Nota I driver devono impostare questo membro su zero per le revisioni 2 e successive di questa struttura.
 

NumVlansPerPort

Valore ULONG che contiene il numero di VLAN supportate per ogni porta.

Nota I driver devono impostare questo membro su zero per le revisioni 2 e successive di questa struttura.
 

NdisReserved2

Riservato per NDIS.

NdisReserved3

Riservato per NDIS.

NicSwitchCapabilities

Valore ULONG che contiene un OR bit per bit dei flag seguenti che specificano le funzionalità dell'opzione della scheda di interfaccia di rete:

NDIS_NIC_SWITCH_CAPS_RSS_ON_PF_VPORTS_SUPPORTED

Nota Questo flag è supportato in Windows Server 2016 e versioni successive. È stato introdotto in NDIS 6.60.

Specifica che la scheda di interfaccia di rete supporta VMMQ per VPort PF.

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_INDIRECTION_TABLE_SUPPORTED

Nota Questo flag è supportato in Windows Server 2016 e versioni successive. È stato introdotto in NDIS 6.60.

Se impostato su 1, specifica che la scheda di interfaccia di rete è in grado di gestire le tabelle indirette VPort per PF.

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_FUNCTION_SUPPORTED

Nota Questo flag è supportato in Windows Server 2016 e versioni successive. È stato introdotto in NDIS 6.60.

Se impostato su 1, specifica che la scheda di interfaccia di rete supporta l'impostazione di una funzione hash diversa per ogni VPort PF. Se questo flag è impostato, NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_KEY_SUPPORTED deve essere impostato anche.

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_TYPE_SUPPORTED

Nota Questo flag è supportato in Windows Server 2016 e versioni successive. È stato introdotto in NDIS 6.60.

Se impostato su 1, specifica che la scheda di interfaccia di rete supporta l'impostazione di tipi hash diversi per VPort PF.

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_KEY_SUPPORTED

Nota Questo flag è supportato in Windows Server 2016 e versioni successive. È stato introdotto in NDIS 6.60.

Se impostato su 1, specifica che la scheda di interfaccia di rete supporta l'impostazione di una chiave privata hash diversa per ogni VPort PF. Questo flag deve essere impostato se è impostato NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_HASH_FUNCTION_SUPPORTED .

NDIS_NIC_SWITCH_CAPS_RSS_PER_PF_VPORT_INDIRECTION_TABLE_SIZE_RESTRICTED

Nota Questo flag è supportato in Windows Server 2016 e versioni successive. È stato introdotto in NDIS 6.60.

Se impostato su 1, specifica che la scheda di interfaccia di rete ha una limitazione sulle dimensioni della tabella di riferimento indiretto per I VPort PF. Questo flag impone all'autorità di certificazione di un OID RSS di usare una dimensione di tabella di riferimento indiretto VPort per PF uguale al numero di code VPort arrotondate fino alla potenza successiva di due. Questo vale solo per pf vPorts e non si applica ai VPort VF. Questo flag può essere combinato con il flag NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED (i diversi VPort PF possono avere un numero diverso di code). Questo flag impedisce agli utenti di VMMQ di eseguire lo sterzamento della coda con granularità fine.

NDIS_NIC_SWITCH_CAPS_NIC_SWITCH_WITHOUT_IOV_SUPPORTED

Nota Questo flag è supportato in Windows Server 2016 e versioni successive.

Questo flag, introdotto con NDIS 6.60, specifica che è possibile creare un'opzione di interfaccia di rete senza usare SR-IOV. Questo flag consente di separare un'opzione di interfaccia di rete dalla parola chiave *SRIOV, vale a dire che è possibile creare un'opzione di interfaccia di rete tramite OID_NIC_SWITCH_CREATE_SWITCH anche se *SRIOV = 0.

Per altre informazioni sulle funzionalità del commutatore della scheda di interfaccia di rete per i driver miniport NDIS 6.60 e versioni successive, vedere Determinazione delle funzionalità del commutatore di scheda di interfaccia di rete.

NDIS_NIC_SWITCH_CAPS_VLAN_SUPPORTED

Questo flag specifica che il commutatore della scheda di interfaccia di rete supporta il filtro dei pacchetti hardware in base all'identificatore VLAN (Virtual Local Area Network) (ID).

Nota Questo flag deve essere impostato solo se l'opzione NIC supporta il filtro ID VLAN in base alle singole porte virtuali SR-IOV (VPorts).
 

NDIS_NIC_SWITCH_CAPS_PER_VPORT_INTERRUPT_MODERATION_SUPPORTED

Questo flag specifica che il commutatore della scheda di interfaccia di rete può supportare la configurazione di moderazione degli interrupt nei singoli VPort.

NDIS_NIC_SWITCH_CAPS_ASYMMETRIC_QUEUE_PAIRS_FOR_NONDEFAULT_VPORT_SUPPORTED

Questo flag specifica che l'opzione NIC può configurare un numero diverso di coppie di code per ogni VPort non predefinito. Ciò significa che ogni VPort non predefinito può essere configurato in modo asimmetrico in modo da avere un numero diverso di coppie di code.

Se questo flag non è impostato, tutte le porte virtuali non predefinite devono essere configurate simmetricamente per avere lo stesso numero di coppie di code.

Indipendentemente dal fatto che questo flag sia impostato, l'opzione NIC deve supportare la possibilità di impostare il numero di coppie di code nel VPort predefinito. Questi valori possono differire dal numero di coppie di code impostate nelle VPort non predefinite.

Nota Una coppia di code è costituita da una coda di trasmissione e da una coda di ricezione. Le coppie di code associate al VPort predefinito vengono configurate al momento della creazione del commutatore tramite una richiesta di metodo OID di OID_NIC_SWITCH_CREATE_SWITCH. Una o più coppie di code vengono configurate in un VPort non predefinito tramite una richiesta di metodo OID di OID_NIC_SWITCH_CREATE_VPORT.
 
Per altre informazioni, vedere Assegnazione simmetrica e asimmetrica delle coppie di code.

NDIS_NIC_SWITCH_CAPS_VF_RSS_SUPPORTED

Questo flag specifica che le coppie di code da VPort non predefinite collegate a una funzione virtuale PCI Express (PCIe) possono essere usate per ricevere il ridimensionamento laterale (RSS). Il driver miniport VF viene eseguito nel sistema operativo guest di una partizione figlio Hyper-V.

Se questo flag è impostato, il driver miniport supporta RSS in un VF e può usare una o più coppie di code dal VPort non predefinito per RSS.

Nota A partire da Windows Server 2012, è possibile collegare un solo VPort non predefinito a un VF.
 

NDIS_NIC_SWITCH_CAPS_SINGLE_VPORT_POOL

Questo flag specifica che le VPort non predefinite possono essere create in modo non riservato dal pool VPort nella scheda di rete. In questo modo, le VPort non predefinite disponibili possono essere create e assegnate in base alle esigenze al file PF e alle macchine virtuali allocate. Se la scheda di rete supporta l'interfaccia VMQ (Virtual Machine Queue), le VPort non predefinite assegnate al file PF possono essere usate anche per le code di ricezione delle macchine virtuali.

Nota Il VPort predefinito è sempre riservato per l'assegnazione al file PF.
 
Se questo flag è impostato, le VPort non predefinite disponibili vengono create e assegnate al file PF e alle macchine virtuali allocate. Tuttavia, questo meccanismo non riserva VPort non predefiniti per la creazione e l'assegnazione VF. Di conseguenza, è possibile che si verifichino situazioni in cui non è possibile assegnare un VPort a un VF se il pool è stato esaurito di VPort disponibili.
Nota Se non è possibile assegnare un VPort a un VF, il traffico dei pacchetti tramite VF avviene sul percorso di dati sintetici SR-IOV. Per altre informazioni su questo percorso dati, vedere Percorsi dati SR-IOV.
 
Se questo flag non è impostato, la creazione e l'assegnazione di VPort non predefiniti è riservata per l'assegnazione VF. È possibile creare e assegnare ulteriori VPort non predefiniti al file PF.

Per altre informazioni su VMQ, vedere Virtual Machine Queue (VMQ).For more information about VMQ, see Virtual Machine Queue (VMQ).

Per altre informazioni sulle porte virtuali, vedere Gestione delle porte virtuali.

MaxNumSwitches

Valore ULONG che specifica il numero massimo di commutatori che è possibile creare nella funzione fisica (PCIe) di PCI Express (PCIe) della scheda di rete.

Nota A partire da Windows Server 2012, Windows supporta solo il commutatore di scheda di interfaccia di rete predefinito nella scheda di rete. Pertanto, questo membro deve essere sempre impostato su uno.
 

MaxNumVPorts

Valore ULONG che specifica il numero massimo di VPort che è possibile creare in una scheda di rete. Ciò include il VPort predefinito che è sempre collegato al file PF.

Nota L'opzione NIC deve supportare almeno (MaxNumVFs + 1) VPort.
 

NdisReserved4

Riservato per NDIS.

MaxNumVFs

Valore ULONG che specifica il numero massimo di VFS che è possibile creare nell'opzione della scheda di interfaccia di rete.

Nota A seconda delle risorse hardware disponibili nella scheda di rete, il driver miniport può impostare il membro MaxNumVFs su un valore minore della parola chiave *NumVFs . Per altre informazioni su questa parola chiave, vedere Parole chiave INF standardizzate per SR-IOV.
 

MaxNumQueuePairs

Valore ULONG che specifica il numero massimo di coppie di code che possono essere assegnate a tutte le VPort. Ciò include il VPort predefinito collegato al file PF.

Nota Questo valore deve essere maggiore o uguale al valore di MaxNumVPorts.
 

NdisReserved5

Riservato per NDIS.

NdisReserved6

Riservato per NDIS.

NdisReserved7

Riservato per NDIS.

MaxNumQueuePairsPerNonDefaultVPort

Valore ULONG che specifica il numero massimo di coppie di code che possono essere assegnate a un VPort non predefinito.

Questo valore viene specificato nei poteri 2 e fornisce la configurazione asimmetrica e l'assegnazione di coppie di code a VPorts. Per altre informazioni, vedere Assegnazione simmetrica e asimmetrica delle coppie di code.

NdisReserved8

Riservato per NDIS.

NdisReserved9

Riservato per NDIS.

NdisReserved10

Riservato per NDIS.

NdisReserved11

Riservato per NDIS.

NdisReserved12

Riservato per NDIS.

MaxNumMacAddresses

Valore ULONG che specifica il numero massimo di filtri di indirizzi MAC unicast disponibili nell'opzione della scheda di interfaccia di rete.

Nota Questo valore deve essere maggiore o uguale al valore di MaxNumVPorts. In questo modo ogni VPort (incluso il VPort predefinito) può essere configurato in modo da avere almeno un filtro di indirizzi MAC unicast.
 

NdisReserved13

Riservato per NDIS.

NdisReserved14

Riservato per NDIS.

NdisReserved15

Riservato per NDIS.

NdisReserved16

Riservato per NDIS.

NdisReserved17

Riservato per NDIS.

MaxNumRssCapableNonDefaultPFVPorts

Valore ULONG che specifica il numero massimo di PFVPorts con supporto RSS non predefinito.

NumberOfIndirectionTableEntriesForDefaultVPort

Valore ULONG che specifica il numero di voci di tabella di riferimento indiretto per il VPort predefinito.

NumberOfIndirectionTableEntriesPerNonDefaultPFVPort

Valore ULONG che specifica il numero di voci di tabella di riferimento indiretto per ogni PFVPort non predefinito.

MaxNumQueuePairsForDefaultVPort

Valore ULONG che specifica il numero massimo di coppie di code che possono essere assegnate al VPort predefinito.

Questo valore viene specificato nei poteri 2 e fornisce la configurazione asimmetrica e l'assegnazione di coppie di code a VPorts. Per altre informazioni, vedere Assegnazione simmetrica e asimmetrica delle coppie di code.

Commenti

La struttura NDIS_NIC_SWITCH_CAPABILITIES viene utilizzata nei membri delle strutture seguenti:

Richieste di query OID di OID_NIC_SWITCH_CURRENT_CAPABILITIES e OID_NIC_SWITCH_HARDWARE_CAPABILITIES restituire una struttura di NDIS_NIC_SWITCH_CAPABILITIES .

Requisiti

Requisito Valore
Client minimo supportato Supportato in NDIS 6.20 e versioni successive.
Intestazione ntddndis.h (include Ndis.h)

Vedi anche

NDIS_BIND_PARAMETERS

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES

NDIS_OBJECT_HEADER

OID_NIC_SWITCH_CREATE_VPORT

OID_NIC_SWITCH_CURRENT_CAPABILITIES

OID_NIC_SWITCH_HARDWARE_CAPABILITIES