[infiniband] Disambiguate CM connection rejection reasons
authorMichael Brown <mcb30@etherboot.org>
Sun, 9 Aug 2009 20:00:48 +0000 (21:00 +0100)
committerMichael Brown <mcb30@etherboot.org>
Mon, 10 Aug 2009 21:31:55 +0000 (22:31 +0100)
commit0ff5c456cb1ad38c3300a214799478101a3540a6
tree4827eb2eb1af8a07afd4c304957c06b9513f006a
parent965a0f7a75ef0011062413a6fa62ab6404e0b1ea
[infiniband] Disambiguate CM connection rejection reasons

There is diagnostic value in being able to disambiguate between the
various reasons why an IB CM has rejected a connection attempt.  In
particular, reason 8 "invalid service ID" can be used to identify an
incorrect SRP service_id root-path component, and reason 28 "consumer
reject" corresponds to a genuine SRP login rejection IU, which can be
passed up to the SRP layer.

For rejection reasons other than "consumer reject", we should not pass
through the private data, since it is most likely generated by the CM
without any protocol-specific knowledge.
src/include/gpxe/ib_mad.h
src/net/infiniband/ib_cm.c
src/net/infiniband/ib_cmrc.c