shefty [Wed, 29 Apr 2009 23:02:09 +0000 (23:02 +0000)]
winverbs: release CM interface only once per reference
The CM interface is not bound to a device, and is only acquired once by the winverbs driver. Release the CM interface only once after all devices have been removed, not once per hardware device.
This should fix issues enabling/disabling HCA drivers with multiple HCAs present in a single system.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2141
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Sun, 26 Apr 2009 21:38:54 +0000 (21:38 +0000)]
[DAPL2] remove ibal-scm in favor of openib_scm
Remove ibal-scm from dirs file
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2138
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Sun, 26 Apr 2009 21:35:57 +0000 (21:35 +0000)]
[DAPL2] more debug - Lindent + replace %s for %d in EVD_flush.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2137
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Sun, 26 Apr 2009 21:31:55 +0000 (21:31 +0000)]
[WinOF] support DAPL2-ofa-cma.dll (winverbs rdma CM) provider.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2136
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Sun, 26 Apr 2009 18:22:01 +0000 (18:22 +0000)]
[DAPL2] remove dt-regression.bat as it's embodied in dt-cli.bat
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2135
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Sun, 26 Apr 2009 14:48:28 +0000 (14:48 +0000)]
[DAPL2/WINOF] use IB verbs device for debug socket cm
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2134
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Sun, 26 Apr 2009 14:38:44 +0000 (14:38 +0000)]
[WinOF] dapl socket cm name change dapl2-scmd.dll --> dapl2-ofa-scmd.dll
Handle the absence of ND components: be verbose, don't fail.
Skip .cdf file copy.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2133
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Fri, 24 Apr 2009 20:41:38 +0000 (20:41 +0000)]
dapl2: use common code base
Windows and Linux now share a common code base for DAPL 2.0.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2132
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Thu, 23 Apr 2009 20:01:10 +0000 (20:01 +0000)]
etc/inet: add inet_ntop implementation
Someday windows will decide to support networking... sigh...
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2131
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Thu, 23 Apr 2009 19:37:41 +0000 (19:37 +0000)]
librdmacm: fix event reporting
Use the latest comp_channel changes to fix event reporting and avoid
hangs when destroying resources. We need to track when closing
devices to make sure that events are canceled, and avoid issuing
new wait calls.
Minor correction to the cmatose test app to avoid busy polling of the CQ,
which can prevent other threads from running. This leads to connection
failures when running more clients than there are CPUs in the system.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2130
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Thu, 23 Apr 2009 19:35:20 +0000 (19:35 +0000)]
libibverbs: fix event reporting and minor fixes
Use the latest comp_channel changes to fix event reporting and avoid
hangs when destroying resources. We need to track when closing
devices to make sure that events are canceled, and avoid issuing
new wait calls.
Rename windows specific calls to include 'w' after the ibv prefix to
avoid any potential future conflicts and clearly indicate to a caller
that they're using a windows only call.
Use the common ntohll definition.
Device names are changed from ibv_device_<guid> to ibv_device_X, where
X is an index (0, 1, 2, etc.). This gives devices across the cluster
the same name, which is closer to IBAL and OFED device naming.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2129
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Thu, 23 Apr 2009 19:29:41 +0000 (19:29 +0000)]
winverbs: fixes to support OFED compatibility libraries and ND
Winverbs fixes based on testing the DAPL openib_scm provider, which uses the
libibverbs compatibility library.
Simplify endpoint connect locking and code structure so it's clear when the
user's request is completed.
Add const to TranslateAddress to avoid a compiler warning when building the
ND provider.
Renumber CQ notification types to align with underlying code.
Take the RemoteAddress in a send work request in host order, to align with
the UVP. (This will be revisited, but is required for RDMA over winverbs to
work for now.)
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2128
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Thu, 23 Apr 2009 19:25:04 +0000 (19:25 +0000)]
etc/comp_channel: fix lost event problem
The previous version of the completion channel was racy and would
occasionally lose events, resulting in users blocking indefinitely
if no new events occurred. The most sure fix for this is to add
a thread to the completion manager that reaps events from an IO
completion port and dispatches them to the correct completion
channel. This results in a 1-2% performance hit in libibverbs
bandwidth tests that wait on CQ, but actually works.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2127
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Thu, 23 Apr 2009 19:22:45 +0000 (19:22 +0000)]
ibal/at: move include inside #ifndef as minor optimization
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2126
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Thu, 23 Apr 2009 19:20:50 +0000 (19:20 +0000)]
ibal/cm: reference private data in received MAD not stored in CEP
To avoid any potential synchronization issues with changes to the private
data in the CEP, reference the private data in the received MAD when
formatting CM events.
Fix the size of the reject private data.
This only affects users of the newer IB CM interface, which is only winverbs
at this point.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2125
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Thu, 23 Apr 2009 19:17:52 +0000 (19:17 +0000)]
mlx4: fix status checkmlx4: fix status check
ibv_um_open returns IB_API_STATUS, not NTSTATUS.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2124
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Thu, 23 Apr 2009 19:16:06 +0000 (19:16 +0000)]
etc/linux: add common ntohll and htonll definitions
To support common linux/windows code that makes use of these calls.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2123
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Thu, 23 Apr 2009 19:06:12 +0000 (19:06 +0000)]
etc/dlist: add simple userspace doubly-linked list abstraction
Add a very simple implementation for managing a doubly-linked list.
This implementation uses only a 'list entry' structure for both the
list and items on the list, versus separate structures like complib.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2121
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Thu, 23 Apr 2009 19:04:29 +0000 (19:04 +0000)]
docs/dontdiff: exclude obj files from diff
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2120
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Thu, 23 Apr 2009 16:50:30 +0000 (16:50 +0000)]
{NetworkDirect] updated readme.txt to illuminate build requirements
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2119
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Thu, 23 Apr 2009 16:30:58 +0000 (16:30 +0000)]
[NetworkDirect] Enable Network Direct IB provider builds.
if HPC SDK installed (ND_INC defined) then build for x86 & x64 - no IA64 ND support until ND over Winverbs.
if !HPC SDK installed, skip ND provider build for all architectures.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2118
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Thu, 23 Apr 2009 16:17:15 +0000 (16:17 +0000)]
[IBAL] Correct connection issues and lost IRPs (Xombie procs) introduced in svn.2079 commit.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2117
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Wed, 22 Apr 2009 00:45:08 +0000 (00:45 +0000)]
[Wix] use dapl2-ofa-scm as the socket CM dapl2 provider
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2116
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Wed, 22 Apr 2009 00:40:50 +0000 (00:40 +0000)]
[WIX] remove ND for IA64, use new Common-dapl socket CM as dapl2-ofa-scm
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2115
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Tue, 21 Apr 2009 21:00:53 +0000 (21:00 +0000)]
[NDINSTALL] enable ndinstall.exe build if HPC SDK is installed. If not skip the ndinstall.exe builds for all architectures; No ND support for IA64.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2114
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Tue, 21 Apr 2009 16:49:14 +0000 (16:49 +0000)]
[ND] no ND IB provider for IA64
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2113
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
ftillier [Tue, 21 Apr 2009 04:27:57 +0000 (04:27 +0000)]
Update to ND installer.
Signed-off-by: Fab Tillier <ftillier@microsoft.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2112
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
ftillier [Mon, 20 Apr 2009 20:04:06 +0000 (20:04 +0000)]
Initial copy of WSD installer, used as base for ND installer.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2111
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Thu, 16 Apr 2009 17:25:14 +0000 (17:25 +0000)]
[BUS] prevent disable operation from firing ref count ASSERT(). Clear hca field so hca is not deref'ed a 2nd time when iou_mgr is freed.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2102
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Mon, 13 Apr 2009 18:08:11 +0000 (18:08 +0000)]
[MLX4] Remove hard-coded KMDF version numbers; use $(KMDF_VERSION_MAJOR).$(KMDF_VERSION_MINOR) and $KMDFVERSION$ instead.
Remove DDK build env test.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2097
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Mon, 13 Apr 2009 18:06:47 +0000 (18:06 +0000)]
[MTHCA] Remove hard-coded KMDF version numbers; missed KmdfLibraryVersion = $KMDFVERSION$ from 2095
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2096
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Mon, 13 Apr 2009 17:47:21 +0000 (17:47 +0000)]
[MTHCA] Remove hard-coded KMDF version numbers; use $(KMDF_VERSION_MAJOR).$(KMDF_VERSION_MINOR) instead.
Remove DDK build env test.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2095
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Mon, 13 Apr 2009 17:36:42 +0000 (17:36 +0000)]
[ND] reverting back to fake ND sources file so build out-of-svn works again.
Once MS supplied sources file actually builds something useful, will reinstate their sources file.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2094
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
leonidk [Sun, 12 Apr 2009 08:02:51 +0000 (08:02 +0000)]
[HW] Pass IRP_MN_QUERY_INTERFACE IRP down the stack.
This patch changes the HCA driver to pass any IRP_MN_QUERY_INTERFACE IRP down the stack if the interface is supported, after setting the IRP status to STATUS_SUCCESS. The bottom-most driver will complete the IRP without changing the status.
Signed-off-by: Fab Tillier <ftillier@microsoft.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2093
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Fri, 10 Apr 2009 23:24:54 +0000 (23:24 +0000)]
[WinOF]
buildrelease.bat - for compf & allf - verify input path exists; protect against bad typists/self.
README.txt - update how2 doc with current paths.
Release_notes.htm - added MS HPC driver install link to HPC install discussion.
signDrivers.bat - be explicit as to which cert-store the cert comes from (self-doc).
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2089
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
ftillier [Wed, 8 Apr 2009 01:14:59 +0000 (01:14 +0000)]
Fix build break on IA64 - use DDK_BLOCK_ON_IA64 build macro to skip building for IA64.
Signed-off-by: Fab Tillier <ftillier@microsoft.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2088
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
ftillier [Tue, 7 Apr 2009 23:21:37 +0000 (23:21 +0000)]
ND Provider source.
Signed-off-by: Fab Tillier <ftillier@microsoft.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2087
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Tue, 7 Apr 2009 16:41:48 +0000 (16:41 +0000)]
[AL] fix XP build errors
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2082
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Tue, 7 Apr 2009 00:07:24 +0000 (00:07 +0000)]
[WIX]
Allow Svr2008 installer to install on Svr2008 R2.
Win7 only installs on Win7 -or- Svr2008 R2.
signDrivers.bat - update error message: signtool.exe path
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2081
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Tue, 7 Apr 2009 00:04:27 +0000 (00:04 +0000)]
[DAPL2] cleanup/simpleify
dt-cli.bat standardize time output, skip 'finished test xxx' messages where start is still on the screen.
dt-svr.bat - exit with correct error code.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2080
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
leonidk [Sun, 5 Apr 2009 15:24:20 +0000 (15:24 +0000)]
[IBAL] Fix ND connection establishment races.
This patch fixes issues with connection establishment for NetworkDirect. The root cause of the issue is 'too many cooks' - CIDs exposed to user-mode should not be destroyed in the kernel code without explicit request from the user. Otherwise, the CID can get recycled in the kernel for the same process and improperly freed when the stale CID is released by the application (multiple connection objects in the app have the same CID.)
Unfortunately, the fix is not simple. The QP references the CEP, so QP destruction frees the CEP, even if there's a reference to that CEP left in the application. Removing the CEP reference form the QP solves this problem, but deadlocks the app if it destroys the QP before the CEP, since the QP is used to queue connection-related IRPs, and the CEP uses the QP as its context and so holds a reference on it.
This patch does the following:
- Remove CEP reference for ND related QP.
- Remove ND connection related IRP queue from QP.
- Remove ND IRP handling from CEP manager.
- Add a function to CEP manager to reference the context associated with a CEP if the context is non-NULL.
- Move ND connection related IRP management into al_ndi_cm.c, in nd_csq_t structure.
As part of testing, I needed to add NotifyDisconnect functionality, so this is also included in the patch.
Note that the patch depends on Sean's previous patch to change kal_cep_destroy to allow silently dropping a REQ. I did not remove Sean's previous changes from this patch, so they are duplicated here. This allows the patch to be applied and build.
-Fab
Signed-off-by: Fab Tillier <ftillier@microsoft.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2079
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
leonidk [Sun, 5 Apr 2009 13:19:55 +0000 (13:19 +0000)]
[MLX4] fix in error flow.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2078
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
leonidk [Sun, 5 Apr 2009 13:13:39 +0000 (13:13 +0000)]
[IBBUS] a little fix to 2019 patch (remove HCA registration with IBAL.). [mlnx: 4105]
Make HCA de-registration before removing port managers
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2077
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Thu, 2 Apr 2009 17:34:48 +0000 (17:34 +0000)]
[WinOF] Windows 7 support
buildrelease.bat - use 7068 WDK
build-oFA-dist.bat - Win7 support; collect OS variants prior to zip, facilitates win7 or not support.
signDriver.bat - delayed env var expansion bug: replace %CD%\arch with !CD! as pushd does update %CD%.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2076
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Thu, 2 Apr 2009 17:27:44 +0000 (17:27 +0000)]
[WinOF] identify pre-2.1 installers
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2075
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Thu, 2 Apr 2009 17:26:01 +0000 (17:26 +0000)]
[INC/WINOF] indicate we are marching towards WinOF 2.1
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2074
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Thu, 2 Apr 2009 17:23:33 +0000 (17:23 +0000)]
[WINMAD] set standard WinOF DriverVer tag.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2073
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Tue, 31 Mar 2009 18:32:43 +0000 (18:32 +0000)]
[WinOF]
Add SRP & QLGCVNIC to the common includes.
Remove orphaned files on uninstall.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2071
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
tzachid [Tue, 31 Mar 2009 08:45:29 +0000 (08:45 +0000)]
[mlx4] Support different parameters for different mlx4 cards.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2069
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
leonidk [Tue, 31 Mar 2009 07:59:41 +0000 (07:59 +0000)]
[MTHCA] fixed a build break.
Signed off by: Stan Smith
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2068
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Mon, 30 Mar 2009 22:49:25 +0000 (22:49 +0000)]
[WinOF] Using the WIX preprocessor OS*\arch*\wof.wxs files (all 10 of them) have been distilled down to be manageable. WIX common install sections are now included from WinOF\WIX\common\.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2067
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
leonidk [Sun, 29 Mar 2009 16:06:32 +0000 (16:06 +0000)]
[MLX4_BUS] Bad order of operations in mlx4_ib teardown process. [mlnx: 4208]
The bug is that the driver performs "CLOSE_PORT" command prior to closing all resources (such as QPs).
In some cases it causes loss of completions.
According to PRM:
18.2 ConnectX Driver Teardown and Re-initialization
The HCA can be shut down (and re-initialized/restarted later on) by software. This operation is performed while the system shuts down gracefully or when PCI bus re-enumeration and memory re-allocation is required. In this case, software should perform the following steps:
•Stop HCA operations (tear-down all QPs and flush WQEs if required).
•Take down the network links by executing the CLOSE_PORT command.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2066
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
leonidk [Sun, 29 Mar 2009 15:40:56 +0000 (15:40 +0000)]
[CORE,HW] remove PDO from the upper HCA interface. [mlnx: 4197]
This patch removes p_hca_dev field of the upper CA interface (ci_interface_t), which contains PDO of HCA device.
IBBUS, now sitting over HCA, gets this PDO in add_device function and stores it (in this patch) in new p_hca_dev field in IBAL CA object.
All the usages of ci_interface_t.p_hca_dev field is replaced by usage of p_hca_dev in IBAL CA object.
p_hca_obj field, added in 2019 patch in RDMA_INTERFACE_VERBS, removed and placed instead of p_hca_dev in ci_interface_t.
Removing of PDO filed from the interface required changing of ib_register_ca prototype (for technical reasons).
It is - an interface function, so the interface version number was increased (IB_CI_INTERFACE_VERSION=5).
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2065
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
leonidk [Sun, 29 Mar 2009 15:35:10 +0000 (15:35 +0000)]
[HW] fixed bugs in low resources flow.
The bugs found with the help of Verifier with error injection.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2064
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
leonidk [Sun, 29 Mar 2009 15:31:57 +0000 (15:31 +0000)]
[MLX4] MLX4_HCA is returned to its original WDF form. [mlnx: 4103]
The old WDM version is kept for now under a preprocessor flag.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2063
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
leonidk [Sun, 29 Mar 2009 15:27:25 +0000 (15:27 +0000)]
[IBAL] make IBBUS start up synchronous. event-based implementation.
IBBUS start up was two-phased by design, because HCA, sitting in another stack, could have come later them IBAL.
Now it can't happen. So i added a wait on event at the end of the first phase, which is posted at the end of the second phase - PnP notification on arrival of HCA.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2062
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Wed, 25 Mar 2009 22:56:19 +0000 (22:56 +0000)]
[WinOF] cleanup svn database - readd win7 without errors.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2061
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Wed, 25 Mar 2009 22:33:43 +0000 (22:33 +0000)]
[WinOF] include tool qlgcvnic_config.exe
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2059
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Wed, 25 Mar 2009 22:19:52 +0000 (22:19 +0000)]
winverbs: update copyright information
Last patch series included modifications based on patches from MS.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2058
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
aestrin [Wed, 25 Mar 2009 16:53:05 +0000 (16:53 +0000)]
[QLGC VNIC] fixed typo.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2057
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
leonidk [Wed, 25 Mar 2009 16:02:48 +0000 (16:02 +0000)]
[MLX4] cleanup.
Signed off by: Stan Smith[stan.smith@intel.com]
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2056
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
aestrin [Wed, 25 Mar 2009 12:32:02 +0000 (12:32 +0000)]
[QLGC VNIC] copyright & .rc file inclusion/build. Submitted by Stan Smith [stan.smith@intel.com]
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2055
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Wed, 25 Mar 2009 00:21:27 +0000 (00:21 +0000)]
[ETC] support Windows 7
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2054
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Wed, 25 Mar 2009 00:20:05 +0000 (00:20 +0000)]
[ND] pseudo support Windows 7. We really need to get MS on the move and provide src; binaries suck.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2053
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Wed, 25 Mar 2009 00:16:54 +0000 (00:16 +0000)]
[WinOF] cleanup svn mess.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2052
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Wed, 25 Mar 2009 00:15:13 +0000 (00:15 +0000)]
[WinOF] support Windows 7 (currently disabled)
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2051
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Wed, 25 Mar 2009 00:11:05 +0000 (00:11 +0000)]
[WinOF] trying to cleanup sn database??
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2050
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Wed, 25 Mar 2009 00:07:14 +0000 (00:07 +0000)]
[WinOF] Windows 7 supported if wix\win7\bin\HCA exists.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2049
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Wed, 25 Mar 2009 00:05:55 +0000 (00:05 +0000)]
[WinOF] whitespace cleanup
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2048
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Tue, 24 Mar 2009 19:56:08 +0000 (19:56 +0000)]
[WinOF] remove orphaned files on uninstall
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2047
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
leonidk [Tue, 24 Mar 2009 16:04:45 +0000 (16:04 +0000)]
[IBBUS] Fix for hibernate in case of several child devices of IBBUS.
Signed off by: James Yang
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2046
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
leonidk [Tue, 24 Mar 2009 16:03:15 +0000 (16:03 +0000)]
[IBBUS] boot in SAN environment.
this patch adds a 5s delay to wait for hca up for remote boot in SAN environment.
Signed off by: James Yang
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2045
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
aestrin [Tue, 24 Mar 2009 15:47:54 +0000 (15:47 +0000)]
[QLGC VNIC] VNIC configuration tool.
Part of the solution for having a vendor defined device created by ibiou. This tool sends device IOCTLs to IBIOU for listing the reachable IOCs and for creation of child PDOs.
Submitted by Deepak Gupta (deepal.gupta@qlogic.com)
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2044
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
aestrin [Tue, 24 Mar 2009 15:41:15 +0000 (15:41 +0000)]
[QLGC VNIC] sending different instance IDs
for each viport communicating with the same EVIC IOC.
submitted by Deepak Gupta (deepak.gupta@qlogic.com)
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2043
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
leonidk [Tue, 24 Mar 2009 14:33:44 +0000 (14:33 +0000)]
[IBAL] Only create CEPs for REQs that matched to a listen.
Currently, the CM creates a CEP for an incoming REQ before matching to either a listen or a Peer-to-Peer connection request. As Peer-to-Peer is not supported, this means that CEPs are created before matching the incoming REQ to a listen. In the case where there is no listen, this will result in CEPs being created, and then queued for destruction to the timewait timer callback. Because the CEPs have a timewait time of zero, the timer callback runs as fast as REQs are received, severely affecting system responsiveness.
This patch moves the CEP creation after matching against listens, avoiding creation altogether if there is no listening endpoint.
Signed-off-by: Fab Tillier <ftillier@microsoft.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2042
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
leonidk [Tue, 24 Mar 2009 14:31:07 +0000 (14:31 +0000)]
[IBAL] Make CM debug output useful.
Signed off by: Fab Tillier
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2041
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
leonidk [Tue, 24 Mar 2009 13:57:02 +0000 (13:57 +0000)]
[MLX4] Free spinlock in the case of an error.
Signed off by: Tzachi Dar
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2040
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
leonidk [Mon, 23 Mar 2009 18:49:29 +0000 (18:49 +0000)]
[CORE] Expose vendor defined device in ibiou.
IBIOU driver doesn't create child PDO's on discovering a EVIC IOC.
It's behavior for SRP target IOCs is not altered and child devices for SRP targets will get created on their discovery.
IBIOU keeps a global list of reachable IOCs in iou_globals. IBIOU add/delete entries in this list on IOC ADD and IOC REMOVE PnP events.
User mode utility "qlgcvnic_config" is used to list all the reachable IOCs to the user and then to create the VNIC PDOs.
"qlgcvnic_config" uses device IOCTLs to communicate with the IBIOU driver.
IBIOU creates the devices only if sees that EVIC IOC is reachable from the particular CA.
"qlgcvnic_config" utility writes this device information into the registry also, so that IBIOU can pick up these device creation information on
next reboot.
In initialization phase, IBIOU reads the child device information from the registry and makes a list of VNIC child devices to be created.
On each IOC add events, it traverses the child device list (prepared during initialization) and create the child PDO for matching child device entries.
Signed off by: Deepak Gupta [deepak.gupta@qlogic.com]
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2039
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Mon, 23 Mar 2009 15:49:47 +0000 (15:49 +0000)]
[WinOF] added commands:
'compf path' to force recompile (for all arch) the specified folder; example 'buildrelease compf core\bus' would rebuild core\bus for all architectures.
'allf path' force recompile specified folder, run makebin, sign drivers & build installers.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2038
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Tue, 17 Mar 2009 19:56:21 +0000 (19:56 +0000)]
[IBBUS] __iou/port_was_hibernated() change NTSTATUS --> ib_api_status_t to be consistent with function return.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2037
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Tue, 17 Mar 2009 18:24:20 +0000 (18:24 +0000)]
[IBBUS] remove unnecessary cast.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2036
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Tue, 17 Mar 2009 16:46:30 +0000 (16:46 +0000)]
[DOCS] added QLogic VNIC Child Device Management discussion.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2035
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Tue, 17 Mar 2009 16:16:06 +0000 (16:16 +0000)]
[IBBUS] remove late binding of BFI to GUID in favor of early binding in fdo_start().
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2034
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Tue, 17 Mar 2009 16:05:55 +0000 (16:05 +0000)]
[MTHCA] mthca_provider.c - prevent dereference of <NULL> mdev or mdev->ext
hca_pnp.c - change debug print driver name from MLX4 --> MTHCA, white space alignment.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2033
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Fri, 13 Mar 2009 00:04:46 +0000 (00:04 +0000)]
[DAPL2] missed a endlocal in the exit sequence; use goto to correctly exit with error code.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2032
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Thu, 12 Mar 2009 19:40:21 +0000 (19:40 +0000)]
winverbs: return STATUS_SUCCESS when reporting a successful disconnect
NotifyDisconnect() should complete with STATUS_SUCCESS, rather than an error value if the connection was successfully disconnected.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2031
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
tzachid [Thu, 12 Mar 2009 09:34:52 +0000 (09:34 +0000)]
Make all funcions no-pagable.
Signed off by: jyang@xsigo.com
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2030
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Wed, 11 Mar 2009 22:14:37 +0000 (22:14 +0000)]
librdmacm: use comp_channel to enhance scalability.
Use the COMP_CHANNEL abstraction as a common framework for event
reporting and to provide better scalability.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2027
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Wed, 11 Mar 2009 22:13:33 +0000 (22:13 +0000)]
libibumad: use common error definitions exported from libibverbs
verbs.h defines error definitions typically defined in errno.h on linux systems. Remove duplicate definitions from libibumad.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2026
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Wed, 11 Mar 2009 22:07:21 +0000 (22:07 +0000)]
libibverbs: use comp_channel to enhance scalability
Use the COMP_CHANNEL abstraction as a common framework for event
reporting and to provide better scalability.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2025
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Wed, 11 Mar 2009 21:39:31 +0000 (21:39 +0000)]
etc/comp_channel: add completion channel abstraction for scalability
Add a new abstraction, the completion channel, capable of de-multiplexing
overlapped completion events among multiple queues.
The completion abstraction consists of 3 main components:
COMP_MANAGER
Maps to an IOCP. The completion manager tracks all completions on any
of its associated channels. This allows a user to 'poll' the completion
manager to receive notification when a completion event occurs on any
of the channels, similar to polling a set of fd's.
COMP_CHANNEL
Maps to a queue of completed requests. A user can 'poll' a single channel
for completions if they are only interest in processing events on that
channel. Internally, polling on a channel will poll the manager for
completions, but only process those associated with the specified channel.
COMP_EVENT
Maps to an overlapped structure. Operations needing a completion event
reference this structure. When the event occurs, it is queued to the
correct channel.
The implementation assumes that only one or a very small number of threads
will ever be trying to process events at any one time. (Based on existing
applications, this is true.) The abstraction itself is threadless.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2024
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Wed, 11 Mar 2009 21:37:05 +0000 (21:37 +0000)]
libibverbs/examples: fix IPv6 support
Allow servers to accept connections from IPv4 and IPv6 clients. Fix based on patch provided by Leonid.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2023
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Tue, 10 Mar 2009 16:14:14 +0000 (16:14 +0000)]
[DAPL2] dt-regression.bat removed in favor of using 'dt-cli IPv4 regression' test.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2021
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Tue, 10 Mar 2009 16:12:50 +0000 (16:12 +0000)]
[DAPL2] clean up dt-cli.bat script
use dt-cli 'regression' over dt-regression.bat as dt-regression was deprecated.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2020
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
leonidk [Mon, 9 Mar 2009 08:36:31 +0000 (08:36 +0000)]
[CORE,HW,TESTS] remove registration HCA with IBAL.
This patch removes registration HCA with IBAL, being done upon loading of IBBUS driver.
Instead of it IBBUS requests the upper HCA interface (GUID_RDMA_INTERFACE_VERBS) from HCA and then registers HCA itself.
On unloading it derigesters it back.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2019
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
tzachid [Sun, 8 Mar 2009 12:00:10 +0000 (12:00 +0000)]
[ipoib] Allow dhcp to work also when the guids are not matched by the GUID to Mac algorithm.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2018
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Fri, 6 Mar 2009 22:35:47 +0000 (22:35 +0000)]
ib-diags/ibstat: undo work-around reporting too many ports
A change was made to libibumad to change the index from 0 to 1 in the port array where port information is stored. We need to undo previous change to ibstat to display all ports now.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2015
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Fri, 6 Mar 2009 22:33:11 +0000 (22:33 +0000)]
libibumad: match behavior of OFED libibumad wrt ca ports
The OFED version of libibumad stores a list of ports associated with a umad_ca_t differently based on whether the CA is on a host or is part of a switch. On a host, the port information is maintained in the port array starting at index 1, not 0. In this case, umad_ca_t:port[0] is NULL. Update the WinOF version of libibumad to behave the same. This fixes an issue with ibstat reporting 1 too many ports.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2014
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
shefty [Fri, 6 Mar 2009 22:27:39 +0000 (22:27 +0000)]
perftest: allow server to support both IPv6 and IPv4
Changes based on Leonid's patch to add support for IPv6 and IPv4. Allow the server to accept incoming connections from IPv6 and IPv4 clients.
Move connection handling code into common location to eliminate code duplication between perftest apps.
Signed-off-by: Leonid Keller <leonid@mellanox.co.il>
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2013
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86
stansmith [Thu, 5 Mar 2009 22:36:58 +0000 (22:36 +0000)]
[DAPL2] DAPL Counters & 2.0.3 extensions to support counter retrieval.
dt-cli.bat - return error codes from script, use for() loop in regression test.
SOURCES - debug version get counters by default.
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2012
ad392aa1-c5ef-ae45-8dd8-
e69d62a5ef86