From: Michael Brown Date: Mon, 16 Nov 2009 20:18:03 +0000 (+0000) Subject: [infiniband] Make node description invariant across all ports X-Git-Tag: v1.0.0-rc1~79 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e7018228fab855677c9256ead2871c9e354d4df2;p=thirdparty%2Fipxe.git [infiniband] Make node description invariant across all ports IBA section 14.2.5.2 states that "the contents of the NodeDescription attribute are the same for all ports on a node". Satisfy this by using the HCA GUID rather than the port GUID to form the node description string. --- diff --git a/src/net/infiniband/ib_sma.c b/src/net/infiniband/ib_sma.c index eb4f987ac..562b0925a 100644 --- a/src/net/infiniband/ib_sma.c +++ b/src/net/infiniband/ib_sma.c @@ -87,16 +87,17 @@ static void ib_sma_node_desc ( struct ib_device *ibdev, union ib_mad *mad, struct ib_address_vector *av ) { struct ib_node_desc *node_desc = &mad->smp.smp_data.node_desc; - struct ib_gid_half *guid = &ibdev->gid.u.half[1]; + struct ib_gid_half guid; int rc; /* Fill in information */ memset ( node_desc, 0, sizeof ( *node_desc ) ); + ib_get_hca_info ( ibdev, &guid ); snprintf ( node_desc->node_string, sizeof ( node_desc->node_string ), "gPXE %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x (%s)", - guid->u.bytes[0], guid->u.bytes[1], guid->u.bytes[2], - guid->u.bytes[3], guid->u.bytes[4], guid->u.bytes[5], - guid->u.bytes[6], guid->u.bytes[7], ibdev->dev->name ); + guid.u.bytes[0], guid.u.bytes[1], guid.u.bytes[2], + guid.u.bytes[3], guid.u.bytes[4], guid.u.bytes[5], + guid.u.bytes[6], guid.u.bytes[7], ibdev->dev->name ); /* Send GetResponse */ mad->hdr.method = IB_MGMT_METHOD_GET_RESP;