diff options
author | Michael Brown <mcb30@etherboot.org> | 2009-11-16 20:34:54 +0000 |
---|---|---|
committer | Michael Brown <mcb30@etherboot.org> | 2009-11-16 22:13:44 +0000 |
commit | 228ac9d0184006d22f12d5daecd0a03d81cd029e (patch) | |
tree | c82d20ccfdba0dcd1eb9031f17086a8c119172c8 | |
parent | e7018228fab855677c9256ead2871c9e354d4df2 (diff) | |
download | ipxe-228ac9d0184006d22f12d5daecd0a03d81cd029e.tar.gz |
[infiniband] Include hostname in node description, if available
-rw-r--r-- | src/net/infiniband/ib_sma.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/net/infiniband/ib_sma.c b/src/net/infiniband/ib_sma.c index 562b0925a..ff4cbbf6a 100644 --- a/src/net/infiniband/ib_sma.c +++ b/src/net/infiniband/ib_sma.c @@ -25,6 +25,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); #include <stdio.h> #include <unistd.h> #include <byteswap.h> +#include <gpxe/settings.h> #include <gpxe/infiniband.h> #include <gpxe/iobuf.h> #include <gpxe/ib_mi.h> @@ -88,13 +89,18 @@ static void ib_sma_node_desc ( struct ib_device *ibdev, struct ib_address_vector *av ) { struct ib_node_desc *node_desc = &mad->smp.smp_data.node_desc; struct ib_gid_half guid; + char hostname[ sizeof ( node_desc->node_string ) ]; + int hostname_len; int rc; /* Fill in information */ memset ( node_desc, 0, sizeof ( *node_desc ) ); ib_get_hca_info ( ibdev, &guid ); + hostname_len = fetch_string_setting ( NULL, &hostname_setting, + hostname, sizeof ( hostname ) ); snprintf ( node_desc->node_string, sizeof ( node_desc->node_string ), - "gPXE %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x (%s)", + "gPXE %s%s%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x (%s)", + hostname, ( ( hostname_len >= 0 ) ? " " : "" ), 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 ); |