]> git.openfabrics.org - ~shefty/rdma-win.git/commit
[WSD] Rework connection establishment/tear down
authorftillier <ftillier@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Tue, 27 Sep 2005 00:57:44 +0000 (00:57 +0000)
committerftillier <ftillier@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Tue, 27 Sep 2005 00:57:44 +0000 (00:57 +0000)
commit6b714dae637128276af681017babdc5facd2b265
treee93673b9e1899355032002e5ec9c0fc5f96f7b21
parent931a4270bd037884639cb3f5fb4bd3c3e57d7e05
[WSD] Rework connection establishment/tear down
- Split IBSPAccept into two functions, one to check if connection should be
accepted, the other to actually accept the connection.
- Moved MRA into CF_DEFER case in IBSPAccept.
- Fixed IBSPAccept error case flow to properly cleanup.
- Moved allocation of incoming connection request to listen case only.
- Don't wait for RTU in IBSPAccept, continue optimistically assuming we'll
get the RTU.  If we get a REJ, we'll tear down the socket and report an error.
- Close the switch socket from within IBSPAccept (or IBSPSocket for
duplication) before destroying the QP to prevent the QP destroy callback from
invoking the upcall to destroy the socket.
- Reduce lock contention and thrashing during socket cleanup/disconnection.

Signed-off-by: Fab Tillier (ftillier@silverstorm.com)
git-svn-id: svn://openib.tc.cornell.edu/gen1@97 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86
trunk/ulp/wsd/user/ib_cm.c
trunk/ulp/wsd/user/ibsp_iblow.c
trunk/ulp/wsd/user/ibspdll.c
trunk/ulp/wsd/user/ibspstruct.h
trunk/ulp/wsd/user/misc.c