Sean Hefty [Thu, 4 Mar 2010 22:54:46 +0000 (14:54 -0800)]
dapl: fix ring buffer synchronization
The dapl ring buffer implementation is not thread safe. Replace
the use of atomic variables with actual locking to ensure that
there are not races inserting and/or removing items at the same time.
Without proper synchronization, the EVD can report invalid events or
the same event multiple times.
Stan Smith [Tue, 23 Feb 2010 23:03:33 +0000 (23:03 +0000)]
[WINOF] update with trunk commits for 2.2 release
2703 ibat/resolve: retry ibat resolution
2702 libibverbs: release wvprovider reference from ibvwv_acquire_windata
2701 dapl: locking cleanup and fixes
2689 libibverbs/device: destroy completion channel when closing device
2688 dapl: use private_data_len for mem copies
2687 dapl/cma: fix referencing freed address
2686 librdmacm: set private_data_len
2685 dapl: move close device after async thread is done using it
2683 [core] Improved error message.
2682 [core] Release the RDMA interface if ib_register_ca fails.
Stan Smith [Fri, 19 Feb 2010 18:13:20 +0000 (18:13 +0000)]
[IPoIB_ndis6_cm] migrate IPoIB shutter code into the trunk - match 2.2 release.
shutter code stops IPoIB from receiving packets during device shutdown.
Stan Smith [Fri, 19 Feb 2010 17:46:36 +0000 (17:46 +0000)]
[WINOF] delete orphaned files on uninstall
Added new CustomAction to wait for IPoIB device to appear in order to ensure ND & WSD provider install success.
Stan Smith [Fri, 19 Feb 2010 17:13:41 +0000 (17:13 +0000)]
[DAPL2] Cleanup CM object lock before freeing CM object memory
Running windows application verifiier for uDAPL validation
for all 3 providers. Cleanup memory lock leaks found
by verifier.
Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2706 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Stan Smith [Fri, 19 Feb 2010 17:09:58 +0000 (17:09 +0000)]
[DAPL2] ucm, scm, cma: destroy verbs completion channels created via ia_open or ep_create.
Completion channels are created with ia_open for CNO events and with ep_create in cases where DAT allows EP(qp) to be created with no EVD(cq) and IB doesn't. These completion channels need to be destroyed at close along with a CQ for the "EP without EVD" case.
Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2705 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Sean Hefty [Thu, 18 Feb 2010 21:51:19 +0000 (21:51 +0000)]
ibat/resolve: retry ibat resolution
Winverbs ND scale out testing showed that IBAT::Resolve() can
return E_PENDING, which requires that the resolution be retried.
A similar issue to this was seen when testing with the librdmacm.
Rather than duplicating retry logic in the winverbs ND provider,
add new functionality to ibat, with retry capability. To
avoid breaking the ibat.dll interface, extend the API with a
new call ResolvePath() that takes a timeout value.
ResolvePath() automatically retries Resolve() while the result
is E_PENDING, until the request times out. Modify the winverbs
ND provider to call ResolvePath(). Also update other places
where Resolve() is called in a loop: the librdmacm and wsd.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2703 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Sean Hefty [Thu, 18 Feb 2010 21:49:14 +0000 (21:49 +0000)]
dapl: locking cleanup and fixes
Cleanup allocated completion channels. Destroy cm_ptr locks before freeing the cm_ptr to avoid memory leaks. And avoid accessing the cm_ptr after queuing it for destruction with the cr_thread to avoid use after free errors.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2701 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Stan Smith [Wed, 3 Feb 2010 23:04:54 +0000 (23:04 +0000)]
[IPOIB_NDIS6_CM] use SHUTTER data structure to eliminate the problem when IPoIB continue receive packets during shutdown/halt process.
signed-off-by: Alex Naslednikov [xalex@mellanox.co.il]
Stan Smith [Mon, 1 Feb 2010 18:13:47 +0000 (18:13 +0000)]
[OFED] switch references to WinOF -- >OFED.
Support target-OS & target-arch in build scripts & etc\clean-build.bat.
Migrate WIX package definitions from ofed.wxs files to new file common\Package.inc (easier maintenance).
DAT.conf,dt-cli.bat,dt-svr.bat: WinOF --> OFED as binaries are now installed into %ProgramFiles%\OFED\ .
Sean Hefty [Fri, 29 Jan 2010 05:06:11 +0000 (05:06 +0000)]
dapl: use private_data_len for mem copies
From: Sean Hefty <sean.hefty@intel.com>
When copying private_data out of rdma_cm events, use the
reported private_data_len for the size, and not IB maximums.
This fixes a bug running over the librdmacm on windows, where
DAPL accessed invalid memory.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2688 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Sean Hefty [Fri, 29 Jan 2010 05:05:03 +0000 (05:05 +0000)]
dapl/cma: fix referencing freed address
From: Sean Hefty <sean.hefty@intel.com>
DAPL uses a pointer to reference the local and remote addresses
of an endpoint. It expects that those addresses are located
in memory that is always accessible. Typically, for the local
address, the pointer references the address stored with the DAPL
HCA device. However, for the cma provider, it changes this pointer
to reference the address stored with the rdma_cm_id.
This causes a problem when that endpoint is connected on the
passive side of a connection. When connect requests are given
to DAPL, a new rdma_cm_id is associated with the request. The
DAPL code replaces the current rdma_cm_id associated with a
user's endpoint with the new rdma_cm_id. The old rdma_cm_id is
then deleted. But the endpoint's local address pointer still
references the address stored with the old rdma_cm_id. The
result is that any reference to the address will access freed
memory.
Fix this by keeping the local address pointer always pointing
to the address associated with the DAPL HCA device. This is about
the best that can be done given the DAPL interface design.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2687 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Stan Smith [Tue, 26 Jan 2010 20:31:36 +0000 (20:31 +0000)]
[DAPL2]
libibverbs/device: destroy completion channel when closing device
ibv_close_device should destroy the completion channel
when closing the device and freeing the memory.
trunk/ulp/libibverbs/src/device.cpp
dapl: move close device after async thread is done using it
Before calling ibv_close_device, wait for the asynchronous
processing thread to finish using the device. This prevents a use after free error.
trunk/ulp/dapl2/dapl/openib_cma/device.c
trunk/ulp/dapl2/dapl/openib_scm/device.c
librdmacm: set private_data_len
Set the private_data_len for reported events. This allows DAPL to use the value when copying private data.
trunk/ulp/librdmacm/include/rdma/rdma_cma.h
trunk/ulp/librdmacm/src/cma.cpp
dapl: quick fix for wrong private data size
DAPL expects the private data size to be up to 256 bytes, but
on windows the private data size is limited to 56 bytes. As
a result, DAPL can access memory beyond the end of what's
allocated.
A more 'correct' fix is being submitted upstream to dapl. This
is a simpler fix for the Windows 2.2 release only.
trunk/ulp/dapl2/dapl/openib_cma/cm.c
dapl/cma: fix referencing freed address
DAPL uses a pointer to reference the local and remote addresses
of an endpoint. It expects that those addresses are located
in memory that is always accessible. Typically, for the local
address, the pointer references the address stored with the DAPL
HCA device. However, for the cma provider, it changes this pointer
to reference the address stored with the rdma_cm_id.
This causes a problem when that endpoint is connected on the
passive side of a connection. When connect requests are given
to DAPL, a new rdma_cm_id is associated with the request. The
DAPL code replaces the current rdma_cm_id associated with a
user's endpoint with the new rdma_cm_id. The old rdma_cm_id is
then deleted. But the endpoint's local address pointer still
references the address stored with the old rdma_cm_id. The
result is that any reference to the address will access freed
memory.
Fix this by keeping the local address pointer always pointing
to the address associated with the DAPL HCA device. This is about
the best that can be done given the DAPL interface design.
trunk/ulp/dapl2/dapl/openib_common/qp.c
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2684 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Stan Smith [Fri, 22 Jan 2010 23:11:37 +0000 (23:11 +0000)]
[WINVERBS] winverbs/lib: cache pkey table.
Connection establishment rates take a huge performance hit
as a result of using FindPkey, which results in querying the
HCA to lookup current pkey information. Add a cache to the
userspace library for pkey information.
The cache is updated using the CWVDevice:Notify() routine.
Before any access is made to the cache, the caller checks
for changes to the partition tables. If a change is found,
then the cache is updated. Otherwise, the cache is accessed
to map pkey values to indices.
This results in the connection rate over winverbs almost doubling.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2680 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Stan Smith [Fri, 22 Jan 2010 23:08:40 +0000 (23:08 +0000)]
[WINVERBS} winverbs/ep: handle receiving REQ then DREQ.
For fast connections, it's possible to receive a DREQ immediately
after receiving a REQ, without an RTU coming in between. If we've
sent a REP to the REQ, then the DREQ should be treated as if the
connection had been fully established. (The RTU could be delayed,
and the communication established event is processed asynchronously,
so there's no way to tell for certain.)
This fixes an issue where the passive side Accept() call fails
waiting for the RTU, but receives a DREQ instead.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2679 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Stan Smith [Fri, 22 Jan 2010 23:05:49 +0000 (23:05 +0000)]
[CORE] ib/mad: fix routing of vendor mads.
SVN commit 2174 introduced an error that resulted in all
vendor MADs being routed to the local HCA driver.
This results in the ib-diag vendstat failing to receive
a response when trying to gather statistics about a remote
device.
We should only route vendor mads to the local HCA if the
mad is one of the mellanox vendor classes, the mad is not
a response, and the local HCA is the destination for the
mad. Simplify both the send and receive processing to
be consistent in vendor mad handling.
Problem reported by Mohammad Sawalha.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2678 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Stan Smith [Fri, 22 Jan 2010 23:02:38 +0000 (23:02 +0000)]
[LIBIBUMAD] libibumad: fix freeing wrong memory on failure
umad_get_ca() should free the allocated 'ports' memory on failure,
not the ca structure, which is provided by the user.
Bug reported by Leonid Keller.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2677 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Sean Hefty [Thu, 21 Jan 2010 06:09:33 +0000 (06:09 +0000)]
ib/mad: fix routing of vendor mads
SVN commit 2174 introduced an error that resulted in all
vendor MADs being routed to the local HCA driver.
This results in the ib-diag vendstat failing to receive
a response when trying to gather statistics about a remote
device.
We should only route vendor mads to the local HCA if the
mad is one of the mellanox vendor classes, the mad is not
a response, and the local HCA is the destination for the
mad.
Problem reported by Mohammad Sawalha.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2675 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Sean Hefty [Thu, 21 Jan 2010 06:09:19 +0000 (06:09 +0000)]
winverbs/ep: handle receiving REQ then DREQ
For fast connections, it's possible to receive a DREQ immediately
after receiving a REQ, without an RTU coming in between. If we've
sent a REP to the REQ, then the DREQ should be treated as if the
connection had been fully established. (The RTU could be delayed,
and the communication established event is processed asynchronously,
so there's no way to tell for certain.)
This fixes an issue where the passive side Accept() call fails
waiting for the RTU, but receives a DREQ instead.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2674 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Sean Hefty [Thu, 21 Jan 2010 06:08:53 +0000 (06:08 +0000)]
winverbs/lib: cache pkey table
Connection establishment rates take a huge performance hit
as a result of using FindPkey, which results in querying the
HCA to lookup current pkey information. Add a cache to the
userspace library for pkey information.
The cache is updated using the CWVDevice:Notify() routine.
Before any access is made to the cache, the caller checks
for changes to the partition tables. If a change is found,
then the cache is updated. Otherwise, the cache is accessed
to map pkey values to indices.
This results in the connection rate over winverbs almost
doubling.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2672 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Stan Smith [Fri, 15 Jan 2010 23:13:42 +0000 (23:13 +0000)]
[WINVERBS,ND,WINMAD,MAD] delete critical sections when no longer needed.
To avoid leaking memory, we need to call DeleteCriticalSection
for all critical sections once they are no longer needed.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2670 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Stan Smith [Wed, 13 Jan 2010 22:12:21 +0000 (22:12 +0000)]
[ND/WINVERBS] winverbs/nd: map completion status to ND value convert flushed completion status values Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2666 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Sean Hefty [Wed, 13 Jan 2010 19:34:17 +0000 (19:34 +0000)]
ib/cm: poll for CM REQ events
Replace the callback mechanism for reporting connection
requests with one that requires the user to poll for the
events. This allows queuing REQs in the CM until the user
is ready to process the events.
Still provide a callback mechanism to notify the user that
REQ events are ready to be retrieved.
This change improves the connection rate for winverbs when
the user retrieves only a small number of requests at a time.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2663 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Sean Hefty [Wed, 13 Jan 2010 19:34:07 +0000 (19:34 +0000)]
ib/cm: separate listen callback into own handler
Extract listen handling in cm_cep_handler into a separate
handler. This will simplify changes to support queuing
connection requests and allow connection requests to move
to a fetch model, rather than a callback model.
Since connection requests require allocating new resources,
connection rates can be improved by queuing the requests
until the user has allocated the resources, then fetches
the request.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2662 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Sean Hefty [Wed, 13 Jan 2010 19:33:56 +0000 (19:33 +0000)]
ib/cm: fix handling of REJ in REQ_RCVD state
If a REJ is received immediately after receiving a REQ,
then a callback can be queued to the user for the REJ before
the user has had a chance to see or process the REQ. The
result is that the user will not have had a chance to set
any context associated with the REQ, which can lead to a
crash processing the REJ.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2661 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Stan Smith [Wed, 13 Jan 2010 19:04:32 +0000 (19:04 +0000)]
[NETDIRECT] [PATCH 4/4] winverbs/netdirect: add support for inline sends
By default, use inline sends, and allow user to limit
inline send size through an environment variable.
To support existing deployments, winverbs make use of the same
environment setting as the ibal ND provider.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
---
Note: The kernel HCA drivers report 0 for the max inline send
value for user space QPs, even if inline sends are enabled. I didn't
understand how to fix the kernel drivers, so they could report the
correct value. The winverbs ND code simply returns the value that it
uses when creating the QP.
Stan Smith [Wed, 13 Jan 2010 18:59:42 +0000 (18:59 +0000)]
[CORE,INC] [PATCH 1/4] ib/cm: fix handling of REJ in REQ_RCVD state
If a REJ is received immediately after receiving a REQ,
then a callback can be queued to the user for the REJ before
the user has had a chance to see or process the REQ. The
result is that the user will not have had a chance to set
any context associated with the REQ, which can lead to a
crash processing the REJ. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
trunk/core/al/kernel/al_cm_cep.c
[PATCH 2/4] ib/cm: separate listen callback into own handler
Extract listen handling in cm_cep_handler into a separate
handler. This will simplify changes to support queuing
connection requests and allow connection requests to move
to a fetch model, rather than a callback model.
Since connection requests require allocating new resources,
connection rates can be improved by queuing the requests
until the user has allocated the resources, then fetches
the request. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
trunk/core/al/kernel/al_cm.c
[PATCH 3/4] ib/cm: poll for CM REQ events
Replace the callback mechanism for reporting connection
requests with one that requires the user to poll for the
events. This allows queuing REQs in the CM until the user
is ready to process the events.
Still provide a callback mechanism to notify the user that
REQ events are ready to be retrieved.
This change improves the connection rate for winverbs when
the user retrieves only a small number of requests at a time. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
trunk/core/al/kernel/al_cm.c
trunk/core/al/kernel/al_cm_cep.c
trunk/core/winverbs/kernel/wv_ep.c
trunk/inc/kernel/iba/ib_cm_ifc.h
Stan Smith [Wed, 13 Jan 2010 18:40:25 +0000 (18:40 +0000)]
[IPOIB_NDIS6_CM] fix the improper reporting of IPoIB port rate and removes obsolete OID_GEN_LINK_SPEED
signed-off by: Alexander Naslednikov (xalex at mellanox.co.il)
Stan Smith [Wed, 13 Jan 2010 17:39:56 +0000 (17:39 +0000)]
[IPOIB/IPOIB_NDIS6_CM] fix the problem when IPoIB increments the receive statistics twice.
Signed-off by: Tzachi Dar (tzachid at mellanox.co.il)
Signed-off by: Alex Naslednikov (xalex@mellanox.co.il)
Stan Smith [Tue, 5 Jan 2010 19:05:28 +0000 (19:05 +0000)]
[WINVERBS] winverbs: use separate structure to queue async work
KMDF tracks all requests that pass through an IO queue. Even after a
request has been removed from the queue, the request still maintains a
reference on the queue. Any attempt to delete the queue will block
until all requests holding references on the queue have completed.
To avoid deadlock conditions during cleanup, we need to ensure that
all requests can complete during cleanup. Modify the asynchronous
handling code to queue a separate data structure, so that all requests
can remain on the IO queues.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2653 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Stan Smith [Tue, 5 Jan 2010 18:59:21 +0000 (18:59 +0000)]
[IBAL] ib/cm: fix handling failed send completions
__cep_mad_send_cb() assumes that the mad being processed is
associated with the current state of the CEP. This may not be
the case.
For example, for a short lived connection, it was observed that
a REP mad completed with status canceled. This is normal. However,
the user already attempted to disconnect the connection by sending
a DREQ. This left the cep in the DREQ_SENT state by the time that
the REP mad completed. Since the REP status was not success, but the
state was DREQ_SENT, the code assumed that the DREQ had failed and
transitioned the cep into TIMEWAIT. The result is that the DREQ is never
>matched with a DREP or canceled, but holds a reference on the CEP.
Until the DREQ times out (time depends on connection, but easily
up to a minute), attempts to destroy the CEP are blocked.
Fix this by simply discarding any completed sends that were not
sent from the current state of the cep when the completion handler
is invoked. Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2652 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Stan Smith [Tue, 5 Jan 2010 18:51:23 +0000 (18:51 +0000)]
[IPoIB_NDIS6_CM] fix the wrong length calculation of
first MDL within Net Buffer object.
The actual length of first MDL should be incremented by it's offset
signed-off by: Alexander Naslednikov (xalex at mellanox.co.il)
Sean Hefty [Mon, 4 Jan 2010 19:01:09 +0000 (19:01 +0000)]
ib/cm: fix handling failed send completions
__cep_mad_send_cb() assumes that the mad being processed is
associated with the current state of the CEP. This may not be
the case.
For example, for a short lived connection, it was observed that
a REP mad completed with status canceled. This is normal. However,
the user already attempted to disconnect the connection by sending
a DREQ. This left the cep in the DREQ_SENT state by the time that
the REP mad completed. Since the REP failed, but the state was
DREQ_SENT, the code assumed that the DREQ had failed and transitioned
the cep into TIMEWAIT. The result is that the DREQ is never
matched with a DREP or canceled, but holds a reference on the CEP.
Until the DREQ times out (time depends on connection, but easily
up to a minute), attempts to destroy the CEP are blocked.
Fix this by simply discarding any completed sends that were not
sent from the current state of the cep when the completion handler
is invoked.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2650 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
Sean Hefty [Mon, 4 Jan 2010 19:00:54 +0000 (19:00 +0000)]
KMDF tracks all requests that pass through an IO queue. Even after a
request has been removed from the queue, the request still maintains a
reference on the queue. Any attempt to delete the queue will block
until all requests holding references on the queue have completed.
To avoid deadlock conditions during cleanup, we need to ensure that
all requests can complete during cleanup. Modify the asynchronous
handling code to queue a separate data structure, so that all requests
can remain on the IO queues.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
git-svn-id: svn://openib.tc.cornell.edu/gen1@2649 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
stansmith [Tue, 29 Dec 2009 21:31:52 +0000 (21:31 +0000)]
[DOCS] manual.htm - Corrected uDAT/uDAPL discussion as uDAPL v1.1 provider is no longer supported. Fixed lingering %ProgramFiles(x86)% install path problems; removed (x86) as WinOF is installed as %ProgramFIles%\ on all systems. Updated SRP discussion to include a how to configure a Linx/OFED SRP target (vdisk+BLOCKIO) accessible from Windows.
stansmith [Thu, 24 Dec 2009 00:26:19 +0000 (00:26 +0000)]
[DAPL2] tolerate a disconnect callback racing ahead during EP disconnect(), do not return an error on invalid handle.
update .rc file to reflect IBAL provider.
stansmith [Tue, 15 Dec 2009 20:53:37 +0000 (20:53 +0000)]
[WINOF] Install previous OpenSM version 3.0.0 as an emergency SM backup; 2-2 only. Reference/install OpenSM related files from a single file instead of OpenSM_service.inc & tools.inc.
stansmith [Tue, 15 Dec 2009 20:39:53 +0000 (20:39 +0000)]
[OPENSM] added OpenSM version to osmtest.rc file description string for easy ID. osmtest.rc was not being compiled in, added osmtest.rc file to SOURCES file.
stansmith [Mon, 14 Dec 2009 19:27:49 +0000 (19:27 +0000)]
[DAPL] WinOF 2.2 - removed DAPL V1; not sure how this came into the 2.2 branch as the branch was off the HEAD and DAPL was removed from HEAD a few weeks ago?
stansmith [Fri, 11 Dec 2009 21:14:34 +0000 (21:14 +0000)]
[WINOF] introduce new cmds 'allnf path' & 'compnf path' to work around a bug in the WDK build env. If one forces a build (compf ulp\ipoib) for IPoIB or IPoIB_NDIS6_CM then 'all' instances of ipoib.sys are deleted and only the specified path component is rebuild leaving an incomplete build. 'compnf/allnf ulp\ipoib' allows nmake dependancies to make the correct rebuild descision without deleting all instances of ipoib.sys.