IB/cm: Send DREP in response to unmatched DREQ
authorSean Hefty <sean.hefty@intel.com>
Wed, 4 Oct 2006 18:37:25 +0000 (11:37 -0700)
committerRoland Dreier <rolandd@cisco.com>
Tue, 10 Oct 2006 19:50:38 +0000 (12:50 -0700)
commit82a9c16a10521a0ceadbd27a549f6e8d5e70e0ab
tree317ca9b4ed1f378dd61cf644aa469e836f904c20
parent8575329d4f8596519d86830f622d2c30601f3ef3
IB/cm: Send DREP in response to unmatched DREQ

Currently a DREP is only sent in response to a DREQ if a connection
has been found matching the DREQ, and it is in the proper state.  Once
a DREP is sent, the local connection moves into timewait.  Duplicate
DREQs received while in this state result in re-sending the DREP.

However, it's likely that the local connection will enter and exit
timewait before the remote side times out a lost DREP and resends a DREQ.
To handle this, we send a DREP in response to a DREQ, even if a local
connection is not found.  This avoids maintaining disconnected
id's in timewait states for excessively long times, just to handle a
lost DREP.

Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/core/cm.c