[ofa-general] ib_cm question
Terry Greeniaus
tgree at relay.phys.ualberta.ca
Fri Sep 5 12:38:17 PDT 2008
Hello all,
We are porting out application to run on the OFED stack. As part of the
porting process, I have a series of CM unit tests that I need to get to
run. I am having trouble with one in particular.
At a high level, the unit test implements a simple protocol for
establishing a connection between a client and a server to test basic CM
functionality. The protocol uses the private data field of the CM
packets to exchange a key that is generated randomly by the server on a
per-connection basis. Essentially, the client sends a REQ with a
randomly chosen key which will not match the server's. When the server
initially receives a REQ for a particular connection, it generates a
random key and compares it against the key stored in the REQ. Since
they don't match, the server sends a REJ back to the client, and the REJ
contains the correct key in the private data field. Finally, the client
resends the REQ, this time with the correct key:
Client Server
REQ ------------------->
w/ bad key
<------------------- REJ
w/ good key
REQ ------------------->
w/ good key
REP/etc.
Everything works well until the second REQ is received at the server.
It appears that instead of reusing the previous ib_cm_id, the OFED CM
generates a new ib_cm_id to handle the second REQ. The unit test thinks
that a new connection attempt is being requested instead of a retry of
the original attempt and so it generates a new random key, resulting in
the protocol being unable to establish a connection.
Is something like I have described above supported by the OFED CM? I
can try and distill this down to a fairly short code example if that
would make things clearer.
Thanks,
TG
More information about the general
mailing list