Panoramica dell'interfaccia del provider di kernel diretto di rete (NDKPI)

Network Direct Kernel Provider Interface (NDKPI) è un'estensione per NDIS che consente alle IHV di fornire il supporto di Remote Direct Memory Access (RDMA) in una scheda di rete (chiamata anche RNIC). Per esporre la funzionalità RDMA dell'adattatore, l'IHV deve implementare l'interfaccia NDKPI come definito nel riferimento ND KPI.

ND KPI e RDMA

Un fornitore della scheda di interfaccia di rete implementa RDMA come combinazione di software, firmware e hardware. La parte hardware e firmware è una scheda di rete che fornisce funzionalità NDK/RDMA. Questo tipo di adattatore è chiamato anche una scheda di interfaccia di rete abilitata per RDMA (RNIC). La parte software è un driver miniport compatibile con NDK, che implementa l'interfaccia ND KPI.

L'implementazione di Windows di RDMA è denominata Network Direct (ND). La parte del kernel è denominata Network Direct Kernel (NDK).

I provider NDK devono supportare la connettività diretta di rete tramite indirizzi IPv4 e IPv6 assegnati alle schede miniport con supporto per NDK.

Per altre informazioni su RDMA, vedere Lettura in background in RDMA.

Provider NDK

Un provider NDK è un driver miniport che implementa l'interfaccia ND KPI.

Il provider NDK viene caricato e inizializzato da PnP Manager. Per altre informazioni, vedere Inizializzazione di un driver miniport NDK-Capable e inizializzazione di un adattatore miniport NDK.

Dopo aver caricato e inizializzato il provider NDK, è pronto per gestire le richieste dal consumer NDK. Queste richieste arrivano come chiamate alle funzioni del provider.

Quando si gestiscono le richieste da un consumer NDK, il provider può chiamare le funzioni di callback NDK del consumer. Questi sono documentati nelle funzioni di callback consumer ND KPII.

I provider NDK devono implementare tutti gli elementi dell'interfaccia NDKPI documentati nel riferimento NDKPI, ad eccezione delle funzioni di callback consumer ND KPII.

Consumer NDK

I consumer NDK sono componenti windows in modalità kernel, ad esempio server SMB e client.

Nota Questa documentazione non illustra come implementare un consumer NDK. L'interfaccia del driver del dispositivo consumer ND KPII (DDI) è un'interfaccia interna di Windows proprietaria.

Un consumer NDK chiama la funzione di callback NdkOpenAdapter (OPEN_NDK_ADAPTER_HANDLER) del provider per creare un oggetto adapter e NdkCloseAdapter (NDK_FN_CLOSE_OBJECT) per chiuderlo. Dopo aver creato l'oggetto adapter, il consumer chiama altre funzioni di callback del provider per creare oggetti NDK aggiuntivi.

I consumer NDK implementano le funzioni di callback consumer ND KPII, chiamate dai provider NDK.