[hermon] Randomise the high-order bits of queue pair numbers
authorMichael Brown <mcb30@etherboot.org>
Sun, 9 Aug 2009 19:38:35 +0000 (20:38 +0100)
committerMichael Brown <mcb30@etherboot.org>
Mon, 10 Aug 2009 21:19:39 +0000 (22:19 +0100)
commit0b1222f2332e89bcece1912ec6058479b45f62f1
treecc096a5cfeff20073da09c710121a90bc5decf2e
parentcf716a0ce622557cbd407980bf1e8b5db1ed6891
[hermon] Randomise the high-order bits of queue pair numbers

The Infiniband Communication Manager will refuse to establish a
connection if it believes the connection is already established.
There is no immediately obvious way to ask it to tear down the
existing connection and replace it; to issue a DREP we would need to
know the local and remote communication IDs used for the previous
connection setup.

We can work around this by randomising the high-order bits of the
queue pair number; these have no significance to the hardware, but are
sufficient to convince the IB CM that this is a different connection.
src/drivers/infiniband/hermon.c
src/drivers/infiniband/hermon.h