Übersicht über netzwerkdirekte Kernelanbieterschnittstelle (NDKPI)
Die Network Direct Kernel Provider Interface (NDKPI) ist eine Erweiterung von NDIS, die es IHVs ermöglicht, Remote Direct Memory Access (RDMA)-Unterstützung im Kernelmodus in einem Netzwerkadapter (auch RNIC genannt) bereitzustellen. Um die RDMA-Funktionalität des Adapters verfügbar zu machen, muss der IHV die NDKPI-Schnittstelle implementieren, wie in der NDKPI-Referenz definiert.
NDKPI und RDMA
Ein NIC-Anbieter implementiert RDMA als Kombination aus Software, Firmware und Hardware. Der Hardware- und Firmwareteil ist ein Netzwerkadapter, der NDK/RDMA-Funktionen bereitstellt. Dieser Adaptertyp wird auch als RDMA-fähige NIC (RNIC) bezeichnet. Der Softwareteil ist ein NDK-fähiger Miniporttreiber, der die NDKPI-Schnittstelle implementiert.
Die Windows-Implementierung von RDMA heißt Network Direct (ND). Der Kernelteil heißt Network Direct Kernel (NDK).
NDK-Anbieter müssen die Direkte Netzwerkkonnektivität sowohl über IPv4- als auch über IPv6-Adressen unterstützen, die NDK-fähigen Miniportadaptern zugewiesen sind.
Weitere Informationen zu RDMA finden Sie unter Background Reading on RDMA.
Der NDK-Anbieter
Ein NDK-Anbieter ist ein Miniporttreiber, der die NDKPI-Schnittstelle implementiert.
Der NDK-Anbieter wird vom PnP-Manager geladen und initialisiert. Weitere Informationen finden Sie unter Initialisieren eines NDK-Capable Miniporttreibers und Initialisieren eines NDK-Miniportadapters.
Sobald der NDK-Anbieter geladen und initialisiert wurde, ist er bereit, Anforderungen vom NDK-Consumer zu verarbeiten. Diese Anforderungen kommen als Aufrufe von Anbieterfunktionen an.
Beim Verarbeiten von Anforderungen eines NDK-Consumers kann der Anbieter die NDK-Rückruffunktionen des Consumers aufrufen. Diese sind in NDKPI Consumer Callback Functions dokumentiert.
NDK-Anbieter müssen alle Elemente der NDKPI-Schnittstelle implementieren, die in der NDKPI-Referenz dokumentiert sind, mit Ausnahme der NDKPI-Consumer-Rückruffunktionen.
Der NDK-Consumer
NDK-Consumer sind Windows-Komponenten im Kernelmodus, z. B. SMB-Server und -Client.
Hinweis In dieser Dokumentation wird nicht erläutert, wie ein NDK-Consumer implementiert wird. Die NDKPI Consumer Device Driver Interface (DDI) ist eine proprietäre Windows-interne Schnittstelle.
Ein NDK-Consumer ruft die Rückruffunktion NdkOpenAdapter (OPEN_NDK_ADAPTER_HANDLER) des Anbieters auf, um ein Adapterobjekt zu erstellen, und NdkCloseAdapter (NDK_FN_CLOSE_OBJECT), um es zu schließen. Nachdem der Anbieter das Adapterobjekt erstellt hat, ruft der Consumer andere Anbieterrückruffunktionen auf, um zusätzliche NDK-Objekte zu erstellen.
NDK-Consumer implementieren die NDKPI-Consumer-Rückruffunktionen, die von NDK-Anbietern aufgerufen werden.