[infiniband] Respect hop pointer when building directed route SMP return path
authorMichael Brown <mcb30@etherboot.org>
Wed, 12 Nov 2008 15:35:45 +0000 (15:35 +0000)
committerMichael Brown <mcb30@etherboot.org>
Wed, 12 Nov 2008 15:35:45 +0000 (15:35 +0000)
commit1b3edd9e11019240fd989de40defe444634cb094
treec8320e8f86d240228cd967415aca256b8ec281d9
parent2ca2607b1b29d7c567df7aeb5b769e85ec176fc7
[infiniband] Respect hop pointer when building directed route SMP return path

The return path in directed route SMPs lists the egress ports in order
from SM to node, rather than from node to SM.

To write to the correct offset within the return path, we need to
parse the hop pointer.  This is held within the class-specific data
portion of the MAD header, which was previously unused by us and
defined to be a uint16_t.  Define this field to be a union type; this
requires some rearrangement of ib_mad.h and corresponding changes to
ipoib.c.
src/drivers/infiniband/ib_sma.c
src/drivers/net/ipoib.c
src/include/gpxe/ib_mad.h