|
1 #This patch was developed both in-house and from outside. We plan to submit it |
|
2 #upstream, but do not yet have a target date for doing so |
|
3 # |
|
4 # HG changeset patch |
|
5 # Parent c1b4449a11e307550ee85b73baed3cd69e1b87cf |
|
6 24516419 umad_get_ca() should pass the PF node_guid for CX3 |
|
7 |
|
8 diff -r c1b4449a11e3 include/infiniband/umad.h |
|
9 --- a/include/infiniband/umad.h Thu Aug 18 00:00:48 2016 -0700 |
|
10 +++ b/include/infiniband/umad.h Sun Aug 21 22:33:49 2016 -0700 |
|
11 @@ -129,6 +129,8 @@ |
|
12 #define SYS_CA_HW_VERS "hw_rev" |
|
13 #define SYS_CA_TYPE "hca_type" |
|
14 #define SYS_CA_NODE_GUID "node_guid" |
|
15 +#define SYS_CA_NODE_GUID_EXTERNAL \ |
|
16 + "node_guid_external" |
|
17 #define SYS_CA_SYS_GUID "sys_image_guid" |
|
18 |
|
19 #define SYS_PORT_LMC "lid_mask_count" |
|
20 diff -r c1b4449a11e3 src/umad.c |
|
21 --- a/src/umad.c Thu Aug 18 00:00:48 2016 -0700 |
|
22 +++ b/src/umad.c Sun Aug 21 22:33:49 2016 -0700 |
|
23 @@ -456,7 +456,19 @@ |
|
24 if ((r = sys_read_string(dir_name, SYS_CA_TYPE, ca->ca_type, |
|
25 sizeof ca->ca_type)) < 0) |
|
26 ca->ca_type[0] = '\0'; |
|
27 +#if defined(__SVR4) && defined(__sun) |
|
28 + /* |
|
29 + * Get "node_guid_external" for the device. If it does not exist, |
|
30 + * or if the value node_guid_external is 0, use "node_guid" |
|
31 + */ |
|
32 + r = sys_read_guid(dir_name, SYS_CA_NODE_GUID_EXTERNAL, |
|
33 + &ca->node_guid); |
|
34 + if (((r < 0) || (ca->node_guid == 0)) && |
|
35 + ((r = sys_read_guid(dir_name, SYS_CA_NODE_GUID, |
|
36 + &ca->node_guid)) < 0)) |
|
37 +#else |
|
38 if ((r = sys_read_guid(dir_name, SYS_CA_NODE_GUID, &ca->node_guid)) < 0) |
|
39 +#endif |
|
40 return r; |
|
41 if ((r = |
|
42 sys_read_guid(dir_name, SYS_CA_SYS_GUID, &ca->system_guid)) < 0) |