|
@@ -25,6 +25,7 @@ FILE_LICENCE ( GPL2_OR_LATER );
|
25
|
25
|
#include <stdio.h>
|
26
|
26
|
#include <unistd.h>
|
27
|
27
|
#include <byteswap.h>
|
|
28
|
+#include <gpxe/settings.h>
|
28
|
29
|
#include <gpxe/infiniband.h>
|
29
|
30
|
#include <gpxe/iobuf.h>
|
30
|
31
|
#include <gpxe/ib_mi.h>
|
|
@@ -88,13 +89,18 @@ static void ib_sma_node_desc ( struct ib_device *ibdev,
|
88
|
89
|
struct ib_address_vector *av ) {
|
89
|
90
|
struct ib_node_desc *node_desc = &mad->smp.smp_data.node_desc;
|
90
|
91
|
struct ib_gid_half guid;
|
|
92
|
+ char hostname[ sizeof ( node_desc->node_string ) ];
|
|
93
|
+ int hostname_len;
|
91
|
94
|
int rc;
|
92
|
95
|
|
93
|
96
|
/* Fill in information */
|
94
|
97
|
memset ( node_desc, 0, sizeof ( *node_desc ) );
|
95
|
98
|
ib_get_hca_info ( ibdev, &guid );
|
|
99
|
+ hostname_len = fetch_string_setting ( NULL, &hostname_setting,
|
|
100
|
+ hostname, sizeof ( hostname ) );
|
96
|
101
|
snprintf ( node_desc->node_string, sizeof ( node_desc->node_string ),
|
97
|
|
- "gPXE %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x (%s)",
|
|
102
|
+ "gPXE %s%s%02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x (%s)",
|
|
103
|
+ hostname, ( ( hostname_len >= 0 ) ? " " : "" ),
|
98
|
104
|
guid.u.bytes[0], guid.u.bytes[1], guid.u.bytes[2],
|
99
|
105
|
guid.u.bytes[3], guid.u.bytes[4], guid.u.bytes[5],
|
100
|
106
|
guid.u.bytes[6], guid.u.bytes[7], ibdev->dev->name );
|