Share via


Indicazione di frame Ethernet ricevuti

Il driver del protocollo TCP/IP di Windows impone un set di requisiti per la ricezione di frame Ethernet. Qualsiasi driver che ha origine riceve indicazioni di frame Ethernet o modifica riceve indicazioni dei driver sottostanti deve supportare i requisiti generali imposti da TCP/IP. Questi driver includono driver miniport Ethernet, driver intermedi MUX e driver di filtro.

Nota Se un driver non soddisfa questi requisiti, il comportamento imprevedibile dei driver, ad esempio il trasporto TCP/IP, i driver intermedi MUX e i driver di filtro.

I driver che hanno origine ethernet ricevono indicazioni devono supportare i requisiti seguenti:

  • Il driver deve allocare una struttura NET_BUFFER_LIST per il frame Ethernet ricevuto. Ogni struttura NET_BUFFER_LIST deve includere i dati fuori banda (OOB) definiti nel membro NetBufferListInfo del NET_BUFFER_LIST necessario per l'uso specifico.

  • Il driver deve allocare una struttura NET_BUFFER per il frame e collegarla a una struttura NET_BUFFER_LIST . Il miniport Ethernet deve assegnare esattamente una struttura NET_BUFFER a una struttura NET_BUFFER_LIST quando si indicano i dati ricevuti. Questa restrizione si applica solo al percorso di ricezione Ethernet. Non è applicabile agli altri tipi di supporti, ad esempio l'interfaccia LAN wireless nativa 802.11. o NDIS in generale.

  • A partire da NDIS 6.1, in determinati scenari, una struttura NET_BUFFER può essere associata a più elenchi di descrittori di memoria per il frame Ethernet ricevuto. Anche se una struttura di NET_BUFFER_LIST deve contenere una singola struttura NET_BUFFER , l'uso di più ELENCHI di dati consente al driver di suddividere i dati dei pacchetti ricevuti in buffer separati.

    Ad esempio, i driver Ethernet che supportano l'interfaccia di suddivisione dei dati di intestazione suddividono un frame Ethernet ricevuto usando un elenco collegato di più MDL associati a una singola struttura NET_BUFFER . Per altre informazioni, vedere Suddivisione intestazione-dati.

    Per motivi di semplicità e prestazioni, è consigliabile che i driver che non supportano la suddivisione dei dati di intestazione usino un solo MDL per ogni struttura NET_BUFFER .

    Nota In NDIS 6.0 per Windows Vista ogni struttura NET_BUFFER deve contenere un solo MDL.

  • I driver non devono dividere i frame Ethernet ricevuti al centro dell'intestazione IP, le opzioni IPv4, le intestazioni IPsec, le intestazioni dell'estensione IPv6 o le intestazioni del protocollo di livello superiore, a meno che il primo MDL non contenga almeno il numero di byte specificato per la dimensione lookahead.

I driver di filtro e protocollo NDIS devono supportare la divisione dei frame Ethernet in ricevono indicazioni se tali frame suddivisi sono conformi alle restrizioni definite nell'elemento di elenco precedente. Le restrizioni assicurano che i driver di protocollo e filtro siano compatibili con le versioni future di Windows.