Condividi tramite


struttura NDIS_RSS_SET_INDIRECTION_ENTRY (ntddndis.h)

Avviso

Alcune informazioni contenute in questo argomento riguardano il prodotto in versione non definitiva, che può essere modificato in modo sostanziale prima che venga rilasciato in commercio. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.

RSSv2 è disponibile in anteprima solo in Windows 10 versione 1803.

La struttura NDIS_RSS_SET_INDIRECTION_ENTRY rappresenta un comando per impostare una singola voce di tabella indiretta. È contenuto in una struttura NDIS_RSS_SET_INDIRECTION_ENTRIES , usata nell'OID OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES . OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES è un OID sincrono per RSS versione 2 (RSSv2).

Sintassi

typedef struct _NDIS_RSS_SET_INDIRECTION_ENTRY {
  NDIS_NIC_SWITCH_ID       SwitchId;
  NDIS_NIC_SWITCH_VPORT_ID VPortId;
  ULONG                    Flags;
  USHORT                   IndirectionTableIndex;
  PROCESSOR_NUMBER         TargetProcessorNumber;
  NDIS_STATUS              EntryStatus;
} NDIS_RSS_SET_INDIRECTION_ENTRY, *PNDIS_RSS_SET_INDIRECTION_ENTRY;

Members

SwitchId

Valore NDIS_NIC_SWITCH_ID che rappresenta l'opzione di interfaccia di rete in cui risiede il VPort.

L'identificatore del commutatore è un numero intero compreso tra zero e il numero di commutatori supportati dalla scheda di rete. Un valore NDIS_DEFAULT_SWITCH_ID indica il commutatore della scheda di rete predefinito.

Questo campo deve essere impostato su 0 nel caso RSS nativo.

VPortId

Valore NDIS_NIC_SWITCH_VPORT_ID che rappresenta l'identificatore VPort.

Questo campo deve essere impostato su 0 nel caso RSS nativo.

Flags

Valore ULONG che contiene un OR bit per bit di flag. Questo membro qualifica le informazioni in questa struttura.

I flag possibili sono i seguenti:

Valore Significato
NDIS_RSS_SET_INDIRECTION_ENTRY_FLAG_PRIMARY_PROCESSOR
Indica che il NDIS_RSS_SET_INDIRECTION_ENTRY fa riferimento al processore primario dell'entità di ridimensionamento. La tabella di riferimento indiretto non viene utilizzata. Quando il processore primario è *inattivo* (RSS è abilitato), il driver miniport deve tenere traccia degli aggiornamenti alle voci con questo flag impostato in modo da sapere quale processore sarà il primario quando RSS è disabilitato.
NDIS_RSS_SET_INDIRECTION_ENTRY_FLAG_DEFAULT_PROCESSOR
Indica che il NDIS_RSS_SET_INDIRECTION_ENTRY fa riferimento al processore predefinito dell'entità di ridimensionamento. Il processore predefinito gestisce i pacchetti senzaash. La tabella di riferimento indiretto non viene utilizzata. Quando il processore predefinito è *inattivo* (RSS è disabilitato), il driver miniport deve tenere traccia degli aggiornamenti alle voci con questo flag impostato in modo da sapere quale processore sarà predefinito quando RSS è abilitato.

IndirectionTableIndex

Indice hash dell'ITE che punta attualmente alla CPU corrente e viene modificato in modo da puntare a un altro processore. Quando la tabella di riferimento indiretto è inattiva (RSS è disabilitata), il driver miniport deve tenere traccia degli aggiornamenti alle voci della tabella di riferimento indiretto in modo che abbia la tabella di riferimento indiretto corretta quando RSS è abilitato.

TargetProcessorNumber

Numero del processore di destinazione a cui l'ITE deve puntare al completamento. Il driver miniport dovrebbe avere esito positivo, l'ITE passa dal processore corrente al processore corrente.

EntryStatus

Codice NDIS_STATUS che indica lo stato dell'operazione di spostamento per questa voce. Poiché NDIS_RSS_SET_INDIRECTION_ENTRY viene usato nel contesto di una chiamata OID sincrona, il driver miniport non può restituire NDIS_STATUS_PENDING per questo membro.

Per semplificare l'implementazione dei driver miniport, il protocollo di livello superiore inizializzerà questo campo per NDIS_STATUS_PENDING. I driver Miniport devono sovrascrivere NDIS_STATUS_PENDING con un codice di stato NDIS riuscito o negativo. Se il livello superiore rileva che questo campo è ancora NDIS_STATUS_PENDING al completamento dell'OID OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES , causerà un controllo di bug di sistema e indicherà che il driver miniport è in errore.

Importante

Tutte le strutture NDIS_RSS_SET_INDIRECTION_ENTRY in un gruppo, contenute in una struttura NDIS_RSS_SET_INDIRECTION_ENTRIES , devono essere contrassegnate con lo stesso EntryStatus.

Se si verifica un errore con questo comando di spostamento, impostare EntryStatus su uno dei codici di stato seguenti per tale condizione di errore:

Codice stato Condizione di errore
NDIS_STATUS_INVALID_PARAMETER
  • Il membro SwitchId o VPortId non è valido.
  • Il membro Flags non è valido.
  • Il membro IndirectionTableIndex supera le voci NumberOfIndirectionTableEntries attualmente configurate dalla struttura NDIS_RECEIVE_SCALE_PARAMETERS_V2 .
NDIS_STATUS_INVALID_PORT_STATE Il VPort non è attivato o si trova in un altro stato che impedisce l'accettazione di OID RSSv2.
NDIS_STATUS_NOT_ACCEPTED CPU dell'attore non valida.
NDIS_STATUS_INVALID_DATA Per un parametro di spostamento attivo , il nuovo processore non fa parte del set di processori RSS dell'adattatore. Si noti che i parametri inattivi devono essere rilevati solo. Vengono convalidati in un secondo momento, durante la transizione dello stato RSS (su on o off).
NDIS_STATUS_NO_QUEUES Un gruppo di voci di comando non riesce il controllo "numero di code" per il VPort specificato da tale gruppo.

Requisiti

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

Vedi anche

NDIS_RSS_SET_INDIRECTION_ENTRIES

OID_GEN_RSS_SET_INDIRECTION_TABLE_ENTRIES

Ricevere il ridimensionamento laterale versione 2 (RSSv2)

Interfaccia di richiesta OID sincrona in NDIS 6.80