Sean Hefty [Mon, 21 Jun 2010 18:42:58 +0000 (18:42 +0000)]
libibumad: fixes for opensm
Fix struct user_mad to align the grh_valid field with winmad. Provide conversion functions to switch GRH data between umad and winmad when GRH data is in use.
Set errno correctly in case of failures.
Finally, cancel overlapped requests if receive or poll time out to prevent reusing those structures.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2825 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Sean Hefty [Tue, 15 Jun 2010 17:04:28 +0000 (17:04 +0000)]
winmad: fixup return values and zero allocated mad
Winmad simply returns the status values defined by IBAL. Convert those values into winmad define status values and align those values with errno. This matches the expectations of libibumad.
As part of the cleanup, convert the check for success from IB_SUCCESS to IB_WCS_SUCCESS. Both are defined as 0, so there's no functional change,but the mad status is a 'work completion status' value, not an API status value.
Finally, return the correct status value when canceling a read request.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2823 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Sean Hefty [Tue, 8 Jun 2010 21:29:50 +0000 (21:29 +0000)]
libibumad: add new link_layer field
Update libibumad to include a link_layer field as part of the port structure. This updates the definition to match linux and is needed for the ib-diag port.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2821 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Stan Smith [Tue, 25 May 2010 23:43:04 +0000 (23:43 +0000)]
[INC] Correct spelling, white-space alignment, remove trailing white-space, add comments.
Generally make ib_types.h more compatible with OFED for Linux version in order to make comparisions easier.
Stan Smith [Fri, 21 May 2010 19:28:04 +0000 (19:28 +0000)]
[OPENSM] Code cleanup by replacing 'cl_ntoh16((uint16_t) (attr_size >> 3))' expression with a call to the inline function 'ib_get_attr_offset(attr_size)'; takes advantage of (debug build) attr offset size checking.
Validates input attr_size is a multiple of 8 bytes per IB spec.
Function returns same value as the expression plus it isolates the implementation to a single point to ease future changes.
In function osmtest_stress_path_recs_by_lid()
Skip the destination lid byte-order swap as it's already in the correct order for vendor IBAL.
Permits 'osmtest -f f -s4' test to correctly complete.
Stan Smith [Fri, 21 May 2010 19:05:50 +0000 (19:05 +0000)]
[INC] In function 'ib_get_attr_offset()' replace attr_size adjustment code with an ASSERT() as attr offset sizes are required to be a multiple of 8 bytes.
By removing antiquated structure padding, the sizeof(struct) values return to the correct size alignment.
Removal of padding allows osmtest to correctly generate and validate a fabric inventory file.
Stan Smith [Thu, 15 Apr 2010 22:14:38 +0000 (22:14 +0000)]
[WIX] rename CustomAction:DriverInstall to reflect how it's being called now as MS routines (DIFxApp) now perform the original CustomAction task. rename DriverInstall --> PostDriverInstall.
Stan Smith [Fri, 9 Apr 2010 22:15:47 +0000 (22:15 +0000)]
[WIX] simplify by creating %systemdrive%\DAT in a single place (moved from ofed.wxs files).
Create DAT SDK include file to match uDAT ver 2 conventions (DAT --> DAT2)
Include missing DAT file dat_ib_extensions.h
Stan Smith [Thu, 8 Apr 2010 20:35:13 +0000 (20:35 +0000)]
[WINOF] Fix isolated installer crash. In CheckDriversOK() remove usage of Wsh.Sleep() as it fails in the installer environment. Wait by invoking 'cmd.exe /C timeout /T 2'. Need to wait in a small # of isolated cases for the IPoIB driver (device IBA\IPOIB) to show up in the Window device database before installing ND/WSD. Generally IPoIB device is present prior to ND/WSD provider installation.
Waiting for the IPoIB device ensures NetworkDirect/IBAL & Winsock Direct providers install correctly. Wait 30 seconds max, output timed nastyGram about possible IPoIB driver initialization failure (no errors returned).
Stan Smith [Thu, 8 Apr 2010 20:29:26 +0000 (20:29 +0000)]
[OFED] More WinOF --> OFED name changes. In CheckDriversOK() remove usage of Wsh.Sleep() as it fails in the installer environment. Wait by invoking 'cmd.exe /C timeout /T 2'. Need to wait in a small # of isolated cases for the IPoIB driver (device IBA\IPOIB) to show up in the Window device database. Waiting ensures NetworkDirect/IBAL & Winsock Direct providers install correctly. Wait 30 seconds max, output timed nastyGram about possible IPoIB driver initialization failure (no errors returned).
Sean Hefty [Fri, 2 Apr 2010 23:32:39 +0000 (23:32 +0000)]
winverbs/nd: do not convert timeout status value
wv_io_timeout is an error value, but nd_timeout is a
success value. This means that an overlapped request
can be completed in error, but GetOverlappedResult can
return a success value. Instead, if a timeout is fatal,
report the status as wv_io_timeout, but if the timeout
can be retried, then report the status as wv_timeout.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2763 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Sean Hefty [Fri, 2 Apr 2010 23:31:13 +0000 (23:31 +0000)]
winverbs/ep: allow failed connections to be retried
Allow a user to retry a connection request if it fails. Report a
'success' timeout value, rather than an error timeout, reset the
EP state, and allow the request to be retried from user space.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2761 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Stan Smith [Thu, 18 Mar 2010 19:27:13 +0000 (19:27 +0000)]
[ND/IBAL] ND provider INDAdaper::Query busted.
The INDAdapter::Query implementation doesn't set the maximum transfer lengths properly.
This patch fixes this, and allows MSMPI to chunk large transfers properly.
Signed-off-by: Fab Tillier <ftillier@microsoft.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2753 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Stan Smith [Thu, 18 Mar 2010 19:13:50 +0000 (19:13 +0000)]
[IPOIB/IPOIB_NDIS6_CM] install 32-bit version of ND winverbs provider in syswow64\ for 64-bit builds.
updated netipoib-xp32.inf also to minimize diffs such that XP specific changes can easily be identified.
This patch is in 2.2 release and working well for MS MPI.
Stan Smith [Thu, 18 Mar 2010 18:16:19 +0000 (18:16 +0000)]
[OFED] simplify code - remove wide-spread VersionNT usage. When checking if HCA install is OK, skip warning if not HCA hardware in system (aka, SW install).
Stan Smith [Thu, 11 Mar 2010 20:15:30 +0000 (20:15 +0000)]
[ND/IBAL] ND provider INDAdaper::Query busted.
The INDAdapter::Query implementation doesn't set the maximum transfer lengths properly.
This patch fixes this, and allows MSMPI to chunk large transfers properly.
Signed-off-by: Fab Tillier <ftillier@microsoft.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2736 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Stan Smith [Wed, 10 Mar 2010 22:32:22 +0000 (22:32 +0000)]
[DAPL2] scm: CM linking to EP must be done before socket write in accept_user.
scm accept RTU was processing the conn object in the cr_thread
before the user accept thread bound the EP to the CM object.
The linking must be done before the socket write to insure
proper linking and state during accept_rtu processing.
Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2732 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Stan Smith [Wed, 10 Mar 2010 22:26:01 +0000 (22:26 +0000)]
[WINVERBS/ND] do not convert wv_io_timeout to nd_timeout
wv_io_timeout is an error value, but nd_timeout is a
success value. This means that an overlapped request
can be completed in error, but GetOverlappedResult can
return a success value. Instead, if a timeout is fatal,
report the status as wv_io_timeout, but if the timeout
can be retried, then report the status as wv_timeout.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2730 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Stan Smith [Wed, 10 Mar 2010 22:24:02 +0000 (22:24 +0000)]
[WINVERBS/ND] allow retrying ND:Connect()
The ND documentation specifies that ND:Connect() should be retry-able.
Add this support to the winverbs ND provider.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2729 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Stan Smith [Wed, 10 Mar 2010 22:19:37 +0000 (22:19 +0000)]
[WINVERBS] winverbs/ep: allow failed connection requests to be retried
Allow a user to retry a connection request if it fails. Report a
'success' timeout value, rather than an error timeout, reset the
EP state, and allow the request to be retried from user space.
winverbs: allow WV:Disconnect() to be retried
ND for some odd reason wants a successful return code for
a failed disconnect call. If a Disconnect() call fails,
allow it to be retried. Return STATUS_TIMEOUT - a 'successful'
failure, rather than STATUS_IO_TIMEOUT, which is a 'failed' failure.
(I love Windows, really, I do.) A subsequent call to EP:
Disconnect() after a timeout will force the QP into the error
state and force the EP into the disconnected state.
This change is needed to prevent ndping and other ND tests from
reporting a failure. They only allow disconnect calls to fail
'successfully' with STATUS_TIMEOUT. With the status mapping
removed from the user space WV ND library, we need to return the
desired value directly from the kernel.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2728 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86