Hello all,
I have an issue in my NetworkDirect RDMA application when loading the Mellanox
NDv2 provider. It seems as the newer WinOF-2 driver for ConnectX-4 IB HCAs
(mlx5nd.dll) requires that the connecting process has adminstrator privileges.
Because when running my application with normal user privileges, I get an error
0x80070005 (Access denied), whereas this has never been an issue with the older
WinOF driver for ConnectX-3 HCAs (mlx4nd.dll).
Here the failing code sequence from my ndhelper.cpp:
static HMODULE g_hProvider = NULL;
static IND2Provider g_pIProvider = NULL;
static HRESULT LoadProvider( __in WSAPROTOCOL_INFOW* pProtocol )
{
WCHAR* pPath = ::GetProviderPath( pProtocol ); //
%SystemRoot%\System32\mlx5nd.dll
g_hProvider = ::LoadLibraryW( pPath );
::HeapFree( ::GetProcessHeap(), 0, pPath );
DLLGETCLASSOBJECT pfnDllGetClassObject =
reinterpret_cast<DLLGETCLASSOBJECT>(
::GetProcAddress( g_hProvider, "DllGetClassObject" )
);
DLLGETCLASSOBJECT pfnDllCanUnloadNow = reinterpret_cast<DLLCANUNLOADNOW>(
::GetProcAddress(g_hProvider, "DllCanUnloadNow")
);
IClassFactory* pClassFactory;
HRESULT hr = pfnDllGetClassObject(
pProtocol->ProviderId,
IID_IClassFactory,
reinterpret_cast<void**>(&pClassFactory)
);
if (g_pIProvider == NULL) {
hr = pClassFactory->CreateInstance(
NULL,
IID_IND2Provider,
reinterpret_cast<void**>(&g_pIProvider)
);
if (FAILED(hr)) {
TRACE("ClassFactory->CreateInstance(IID_IND2Provider) failed with
error 0x%08X", hr); // Without having admin rights, always ending up here!
g_pIProvider = NULL;
}
pClassFactory->Release();
}
}
Unfortunately, just giving my process admin privileges is not an option for me.
So I would appreciate if someone has an idea how to overcome this issue.
Perhaps some tuning of security configuration via dcomcnfg or the like(?)
BTW: The Mellanox-provided tools nd_read_bw.exe and nd_write_bw.exe have the
same behavior:
* Those from WinOF driver 5.35 on ConnectX-3 FDR HCA can run WITH or
WITHOUT admin privileges.
* Those from WinOF-2 driver 1.80 on ConnectX-4 EDR HCA can run only WITH
admin privileges.
My system configuration:
* HPE DL380Gen10
* ConnectX-4 EDR Infiniband HCA (HPEIB EDR/EN 100Gb 2P 840QSFP28)
* Windows Server 2012 R2
* Mellanox WinOF-2 version 1.80
Thanks and Regards,
Hubert
This message and attachment(s) are intended solely for use by the addressee and
may contain information that is privileged, confidential or otherwise exempt
from disclosure under applicable law. If you are not the intended recipient or
agent thereof responsible for delivering this message to the intended
recipient, you are hereby notified that any dissemination, distribution or
copying of this communication is strictly prohibited. If you have received this
communication in error, please notify the sender immediately by telephone or
with a 'reply' message and delete the message and its attachment(s), if any,
from your system(s). Thank you for your co-operation.
_______________________________________________
ofw mailing list
[email protected]
https://lists.openfabrics.org/mailman/listinfo/ofw