OSDN Git Service

IB/mad: include GID/class when matching receives
authorJack Morgenstein <jackm@mellanox.co.il>
Wed, 29 Mar 2006 00:39:07 +0000 (16:39 -0800)
committerRoland Dreier <rolandd@cisco.com>
Thu, 30 Mar 2006 15:19:48 +0000 (07:19 -0800)
commitfa9656bbd9af5b95adc43eaa0a143992346378cb
tree100d516324208e1a4a65b77e86bcbc94f5ef0db9
parente1f7868c80947d40ef8e1fd37323d939a9bf311c
IB/mad: include GID/class when matching receives

Received responses are currently matched against sent requests based
on TID only.  According to the spec, responses should match based on
the combination of TID, management class, and requester LID/GID.

Without the additional qualification, an agent that is responding to
two requests, both of which have the same TID, can match RMPP ACKs
with the incorrect transaction.  This problem can occur on the SM node
when responding to SA queries.

Signed-off-by: Jack Morgenstein <jackm@mellanox.co.il>
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
drivers/infiniband/core/mad.c
drivers/infiniband/core/mad_priv.h
drivers/infiniband/core/mad_rmpp.c