Message ID | a889a33d-2f26-4432-b912-3d531a60e019@default (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Hal Rosenstock |
Headers | show |
PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9pYmEvaWJfdHlwZXMuaCBiL2luY2x1ZGUvaWJhL2liX3R5 cGVzLmgNCj4gaW5kZXggZDVjZjI4Ny4uNWMyMzhhZSAxMDA2NDQNCj4gLS0tIGEvaW5jbHVkZS9p YmEvaWJfdHlwZXMuaA0KPiArKysgYi9pbmNsdWRlL2liYS9pYl90eXBlcy5oDQo+IEBAIC0zLDYg KzMsNyBAQA0KPiAgICogQ29weXJpZ2h0IChjKSAyMDAyLTIwMTEgTWVsbGFub3ggVGVjaG5vbG9n aWVzIExURC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4gICAqIENvcHlyaWdodCAoYykgMTk5Ni0y MDAzIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiAgICogQ29weXJp Z2h0IChjKSAyMDA5IEhOUiBDb25zdWx0aW5nLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiArICog Q29weXJpZ2h0IChjKSAyMDEzIE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdo dHMgcmVzZXJ2ZWQuDQo+ICAgKg0KPiAgICogVGhpcyBzb2Z0d2FyZSBpcyBhdmFpbGFibGUgdG8g eW91IHVuZGVyIGEgY2hvaWNlIG9mIG9uZSBvZiB0d28NCj4gICAqIGxpY2Vuc2VzLiAgWW91IG1h eSBjaG9vc2UgdG8gYmUgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUNCj4gQEAg LTc2MTksNiArNzYyMCwyMyBAQCBpYl9tZW1iZXJfc2V0X2pvaW5fc3RhdGUoSU4gT1VUIGliX21l bWJlcl9yZWNfdCAqDQo+IHBfbWNfcmVjLA0KPiAgI2RlZmluZSBJQl9OT1RJQ0VfVFlQRV9JTkZP CQkJCTB4MDQNCj4gICNkZWZpbmUgSUJfTk9USUNFX1RZUEVfRU1QVFkJCQkJMHg3Rg0KPiANCj4g KyNkZWZpbmUgU01fR0lEX0lOX1NFUlZJQ0VfVFJBUAkJCQk2NA0KPiArI2RlZmluZSBTTV9HSURf T1VUX09GX1NFUlZJQ0VfVFJBUAkJCTY1DQo+ICsjZGVmaW5lIFNNX01HSURfQ1JFQVRFRF9UUkFQ CQkJCTY2DQo+ICsjZGVmaW5lIFNNX01HSURfREVTVFJPWUVEX1RSQVAJCQkJNjcNCj4gKyNkZWZp bmUgU01fVU5QQVRIX1RSQVAJCQkJCTY4DQo+ICsjZGVmaW5lIFNNX1JFUEFUSF9UUkFQCQkJCQk2 OQ0KPiArI2RlZmluZSBTTV9MSU5LX1NUQVRFX0NIQU5HRURfVFJBUAkJCTEyOA0KPiArI2RlZmlu ZSBTTV9MSU5LX0lOVEVHUklUWV9USFJFU0hPTERfVFJBUAkJMTI5DQo+ICsjZGVmaW5lIFNNX0JV RkZFUl9PVkVSUlVOX1RIUkVTSE9MRF9UUkFQCQkxMzANCj4gKyNkZWZpbmUgU01fV0FUQ0hET0df VElNRVJfRVhQSVJFRF9UUkFQCQkJMTMxDQo+ICsjZGVmaW5lIFNNX0xPQ0FMX0NIQU5HRVNfVFJB UAkJCQkxNDQNCj4gKyNkZWZpbmUgU01fU1lTX0lNR19HVUlEX0NIQU5HRURfVFJBUAkJCTE0NQ0K PiArI2RlZmluZSBTTV9CQURfTUtFWV9UUkFQCQkJCTI1Ng0KPiArI2RlZmluZSBTTV9CQURfUEtF WV9UUkFQCQkJCTI1Nw0KPiArI2RlZmluZSBTTV9CQURfUUtFWV9UUkFQCQkJCTI1OA0KPiArI2Rl ZmluZSBTTV9CQURfU1dJVENIX1BLRVlfVFJBUAkJCQkyNTkNCg0KVGhlc2UgZGVmaW5pdGlvbnMg Y291bGQgZ28gaW50byBsaWJ1Ym1hZC9pbmNsdWRlL2luZmluaWJhbmQvdW1hZF9zbS5oLg0K -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 05/30/13 20:24, Hefty, Sean wrote: >> diff --git a/include/iba/ib_types.h b/include/iba/ib_types.h >> index d5cf287..5c238ae 100644 >> --- a/include/iba/ib_types.h >> +++ b/include/iba/ib_types.h >> @@ -3,6 +3,7 @@ >> * Copyright (c) 2002-2011 Mellanox Technologies LTD. All rights reserved. >> * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. >> * Copyright (c) 2009 HNR Consulting. All rights reserved. >> + * Copyright (c) 2013 Oracle and/or its affiliates. All rights reserved. >> * >> * This software is available to you under a choice of one of two >> * licenses. You may choose to be licensed under the terms of the GNU >> @@ -7619,6 +7620,23 @@ ib_member_set_join_state(IN OUT ib_member_rec_t * >> p_mc_rec, >> #define IB_NOTICE_TYPE_INFO 0x04 >> #define IB_NOTICE_TYPE_EMPTY 0x7F >> >> +#define SM_GID_IN_SERVICE_TRAP 64 >> +#define SM_GID_OUT_OF_SERVICE_TRAP 65 >> +#define SM_MGID_CREATED_TRAP 66 >> +#define SM_MGID_DESTROYED_TRAP 67 >> +#define SM_UNPATH_TRAP 68 >> +#define SM_REPATH_TRAP 69 >> +#define SM_LINK_STATE_CHANGED_TRAP 128 >> +#define SM_LINK_INTEGRITY_THRESHOLD_TRAP 129 >> +#define SM_BUFFER_OVERRUN_THRESHOLD_TRAP 130 >> +#define SM_WATCHDOG_TIMER_EXPIRED_TRAP 131 >> +#define SM_LOCAL_CHANGES_TRAP 144 >> +#define SM_SYS_IMG_GUID_CHANGED_TRAP 145 >> +#define SM_BAD_MKEY_TRAP 256 >> +#define SM_BAD_PKEY_TRAP 257 >> +#define SM_BAD_QKEY_TRAP 258 >> +#define SM_BAD_SWITCH_PKEY_TRAP 259 > These definitions could go into libubmad/include/infiniband/umad_sm.h. Are you suggesting to do this in addition to ib_types.h or instead of ? umad_sm.h seems to hold only a small subset of what's found in ib_types.h. Line -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
PiBBcmUgeW91IHN1Z2dlc3RpbmcgdG8gZG8gdGhpcyBpbiBhZGRpdGlvbiB0byBpYl90eXBlcy5o IG9yIGluc3RlYWQgb2YgPw0KPiB1bWFkX3NtLmggc2VlbXMgdG8gaG9sZCBvbmx5IGEgc21hbGwg c3Vic2V0IG9mIHdoYXQncyBmb3VuZCBpbiBpYl90eXBlcy5oLg0KDQp1bWFkX3NtLmggd2FzIG9u bHkgcmVjZW50bHkgYWRkZWQuICBJJ20gc3VnZ2VzdGluZyB0byBwdXQgdGhlIGRlZmluaXRpb25z IHRoZXJlIGluc3RlYWQgb2Ygd2l0aGluIHRoZSBvcGVuc20gaGVhZGVyIGZpbGUsIHNvIHRoYXQg dGhlIGRlZmluaXRpb25zIGFyZSBhdmFpbGFibGUgdG8gYXBwbGljYXRpb25zIG90aGVyIHRoYW4g b3BlbnNtLg0K -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 5/31/2013 10:40 AM, Hefty, Sean wrote: >> Are you suggesting to do this in addition to ib_types.h or instead of ? >> umad_sm.h seems to hold only a small subset of what's found in ib_types.h. > > umad_sm.h was only recently added. and there is no release yet with those files. > I'm suggesting to put the definitions there instead of within the opensm header file, so that the definitions are available to applications other than opensm. My preference would be in addition to rather than instead of. In the future once there is libibumad release in the field for some time with these headers, then OpenSM can migrate definitions as makes sense. -- Hal -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 05/31/13 17:43, Hal Rosenstock wrote: > On 5/31/2013 10:40 AM, Hefty, Sean wrote: >>> Are you suggesting to do this in addition to ib_types.h or instead of ? >>> umad_sm.h seems to hold only a small subset of what's found in ib_types.h. >> umad_sm.h was only recently added. > and there is no release yet with those files. > >> I'm suggesting to put the definitions there instead of within the opensm header file, so that the definitions are available to applications other than opensm. > My preference would be in addition to rather than instead of. In the > future once there is libibumad release in the field for some time with > these headers, then OpenSM can migrate definitions as makes sense. > > -- Hal OK, so shall I send a v4 patch with both header files or can I do a second separate patch for the umad_sm.h file ? Line -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 5/31/2013 12:44 PM, Line Holen wrote: > On 05/31/13 17:43, Hal Rosenstock wrote: >> On 5/31/2013 10:40 AM, Hefty, Sean wrote: >>>> Are you suggesting to do this in addition to ib_types.h or instead of ? >>>> umad_sm.h seems to hold only a small subset of what's found in >>>> ib_types.h. >>> umad_sm.h was only recently added. >> and there is no release yet with those files. >> >>> I'm suggesting to put the definitions there instead of within the >>> opensm header file, so that the definitions are available to >>> applications other than opensm. >> My preference would be in addition to rather than instead of. In the >> future once there is libibumad release in the field for some time with >> these headers, then OpenSM can migrate definitions as makes sense. >> >> -- Hal > OK, so shall I send a v4 patch with both header files or can I do a > second separate patch > for the umad_sm.h file ? From my perspective, a second patch for umad_sm.h would suffice. Thanks. -- Hal > Line > > -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 5/30/2013 2:16 PM, Line Holen wrote:
> Signed-off-by: Line Holen <Line.Holen@oracle.com>
Thanks. Applied.
-- Hal
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/include/iba/ib_types.h b/include/iba/ib_types.h index d5cf287..5c238ae 100644 --- a/include/iba/ib_types.h +++ b/include/iba/ib_types.h @@ -3,6 +3,7 @@ * Copyright (c) 2002-2011 Mellanox Technologies LTD. All rights reserved. * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. * Copyright (c) 2009 HNR Consulting. All rights reserved. + * Copyright (c) 2013 Oracle and/or its affiliates. All rights reserved. * * This software is available to you under a choice of one of two * licenses. You may choose to be licensed under the terms of the GNU @@ -7619,6 +7620,23 @@ ib_member_set_join_state(IN OUT ib_member_rec_t * p_mc_rec, #define IB_NOTICE_TYPE_INFO 0x04 #define IB_NOTICE_TYPE_EMPTY 0x7F +#define SM_GID_IN_SERVICE_TRAP 64 +#define SM_GID_OUT_OF_SERVICE_TRAP 65 +#define SM_MGID_CREATED_TRAP 66 +#define SM_MGID_DESTROYED_TRAP 67 +#define SM_UNPATH_TRAP 68 +#define SM_REPATH_TRAP 69 +#define SM_LINK_STATE_CHANGED_TRAP 128 +#define SM_LINK_INTEGRITY_THRESHOLD_TRAP 129 +#define SM_BUFFER_OVERRUN_THRESHOLD_TRAP 130 +#define SM_WATCHDOG_TIMER_EXPIRED_TRAP 131 +#define SM_LOCAL_CHANGES_TRAP 144 +#define SM_SYS_IMG_GUID_CHANGED_TRAP 145 +#define SM_BAD_MKEY_TRAP 256 +#define SM_BAD_PKEY_TRAP 257 +#define SM_BAD_QKEY_TRAP 258 +#define SM_BAD_SWITCH_PKEY_TRAP 259 + #include <complib/cl_packon.h> typedef struct _ib_mad_notice_attr // Total Size calc Accumulated { diff --git a/opensm/osm_inform.c b/opensm/osm_inform.c index f5abbc6..845ec7c 100644 --- a/opensm/osm_inform.c +++ b/opensm/osm_inform.c @@ -3,6 +3,7 @@ * Copyright (c) 2002-2006 Mellanox Technologies LTD. All rights reserved. * Copyright (c) 1996-2003 Intel Corporation. All rights reserved. * Copyright (c) 2009 HNR Consulting. All rights reserved. + * Copyright (c) 2013 Oracle and/or its affiliates. All rights reserved. * * This software is available to you under a choice of one of two * licenses. You may choose to be licensed under the terms of the GNU @@ -316,7 +317,8 @@ static ib_api_status_t send_report(IN osm_infr_t * p_infr_rec, /* the informinfo if (!p_report_madw) { OSM_LOG(p_log, OSM_LOG_ERROR, "ERR 0203: " - "osm_mad_pool_get failed\n"); + "Cannot send report to LID %u, osm_mad_pool_get failed\n", + cl_ntoh16(p_infr_rec->report_addr.dest_lid)); status = IB_ERROR; goto Exit; } @@ -582,8 +584,9 @@ Exit: static void log_notice(osm_log_t * log, osm_log_level_t level, ib_mad_notice_attr_t * ntc) { - char gid_str[INET6_ADDRSTRLEN]; + char gid_str[INET6_ADDRSTRLEN], gid_str2[INET6_ADDRSTRLEN]; ib_gid_t *gid; + ib_gid_t *gid1, *gid2; /* an official Event information log */ if (ib_notice_is_generic(ntc)) { @@ -594,14 +597,145 @@ static void log_notice(osm_log_t * log, osm_log_level_t level, gid = &ntc->data_details.ntc_64_67.gid; else gid = &ntc->issuer_gid; - OSM_LOG(log, level, - "Reporting Generic Notice type:%u num:%u (%s)" - " from LID:%u GID:%s\n", - ib_notice_get_type(ntc), - cl_ntoh16(ntc->g_or_v.generic.trap_num), - ib_get_trap_str(ntc->g_or_v.generic.trap_num), - cl_ntoh16(ntc->issuer_lid), - inet_ntop(AF_INET6, gid->raw, gid_str, sizeof gid_str)); + + switch (cl_ntoh16(ntc->g_or_v.generic.trap_num)) { + case SM_GID_IN_SERVICE_TRAP: + case SM_GID_OUT_OF_SERVICE_TRAP: + OSM_LOG(log, level, + "Reporting Informational Notice \"%s\", GID:%s\n", + ib_get_trap_str(ntc->g_or_v.generic.trap_num), + inet_ntop(AF_INET6, gid->raw, gid_str, sizeof gid_str)); + break; + case SM_MGID_CREATED_TRAP: + case SM_MGID_DESTROYED_TRAP: + OSM_LOG(log, level, + "Reporting Informational Notice \"%s\", MGID:%s\n", + ib_get_trap_str(ntc->g_or_v.generic.trap_num), + inet_ntop(AF_INET6, gid->raw, gid_str, sizeof gid_str)); + break; + case SM_UNPATH_TRAP: + case SM_REPATH_TRAP: + /* TODO: Fill in details once SM starts to use these traps */ + OSM_LOG(log, level, + "Reporting Informational Notice \"%s\"n", + ib_get_trap_str(ntc->g_or_v.generic.trap_num)); + break; + case SM_LINK_STATE_CHANGED_TRAP: + OSM_LOG(log, level, + "Reporting Urgent Notice \"%s\" from switch LID %u, " + "GUID 0x%016" PRIx64 "\n", + ib_get_trap_str(ntc->g_or_v.generic.trap_num), + cl_ntoh16(ntc->issuer_lid), + cl_ntoh64(gid->unicast.interface_id)); + break; + case SM_LINK_INTEGRITY_THRESHOLD_TRAP: + case SM_BUFFER_OVERRUN_THRESHOLD_TRAP: + case SM_WATCHDOG_TIMER_EXPIRED_TRAP: + OSM_LOG(log, level, + "Reporting Urgent Notice \"%s\" from LID %u, " + "GUID 0x%016" PRIx64 ", port %u\n", + ib_get_trap_str(ntc->g_or_v.generic.trap_num), + cl_ntoh16(ntc->issuer_lid), + cl_ntoh64(gid->unicast.interface_id), + ntc->data_details.ntc_129_131.port_num); + break; + case SM_LOCAL_CHANGES_TRAP: + if (ntc->data_details.ntc_144.local_changes == 1) + OSM_LOG(log, level, + "Reporting Informational Notice \"%s\" from LID %u, " + "GUID 0x%016" PRIx64 ", ChangeFlags 0x%04x, " + "CapabilityMask2 0x%04x\n", + ib_get_trap_str(ntc->g_or_v.generic.trap_num), + cl_ntoh16(ntc->issuer_lid), + cl_ntoh64(gid->unicast.interface_id), + cl_ntoh16(ntc->data_details.ntc_144.change_flgs), + cl_ntoh16(ntc->data_details.ntc_144.cap_mask2)); + else + OSM_LOG(log, level, + "Reporting Informational Notice \"%s\" from LID %u, " + "GUID 0x%016" PRIx64 ", new CapabilityMask 0x%08x\n", + ib_get_trap_str(ntc->g_or_v.generic.trap_num), + cl_ntoh16(ntc->issuer_lid), + cl_ntoh64(gid->unicast.interface_id), + cl_ntoh32(ntc->data_details.ntc_144.new_cap_mask)); + break; + case SM_SYS_IMG_GUID_CHANGED_TRAP: + OSM_LOG(log, level, + "Reporting Informational Notice \"%s\" from LID %u, " + "GUID 0x%016" PRIx64 ", new SysImageGUID 0x%016" PRIx64 "\n", + ib_get_trap_str(ntc->g_or_v.generic.trap_num), + cl_ntoh16(ntc->issuer_lid), + cl_ntoh64(gid->unicast.interface_id), + cl_ntoh64(ntc->data_details.ntc_145.new_sys_guid)); + break; + case SM_BAD_MKEY_TRAP: + OSM_LOG(log, level, + "Reporting Security Notice \"%s\" from LID %u, " + "GUID 0x%016" PRIx64 ", Method 0x%x, Attribute 0x%x, " + "AttrMod 0x%x, M_Key 0x%016" PRIx64 "\n", + ib_get_trap_str(ntc->g_or_v.generic.trap_num), + cl_ntoh16(ntc->issuer_lid), + cl_ntoh64(gid->unicast.interface_id), + ntc->data_details.ntc_256.method, + cl_ntoh16(ntc->data_details.ntc_256.attr_id), + cl_ntoh32(ntc->data_details.ntc_256.attr_mod), + cl_ntoh64(ntc->data_details.ntc_256.mkey)); + break; + case SM_BAD_PKEY_TRAP: + case SM_BAD_QKEY_TRAP: + gid1 = &ntc->data_details.ntc_257_258.gid1; + gid2 = &ntc->data_details.ntc_257_258.gid2; + OSM_LOG(log, level, + "Reporting Security Notice \"%s\" from LID %u, " + "GUID 0x%016" PRIx64 " : LID1 %u, LID2 %u, %s 0x%x, " + "SL %d, QP1 0x%x, QP2 0x%x, GID1 %s, GID2 %s\n", + ib_get_trap_str(ntc->g_or_v.generic.trap_num), + cl_ntoh16(ntc->issuer_lid), + cl_ntoh64(gid->unicast.interface_id), + cl_ntoh16(ntc->data_details.ntc_257_258.lid1), + cl_ntoh16(ntc->data_details.ntc_257_258.lid2), + cl_ntoh16(ntc->g_or_v.generic.trap_num) == SM_BAD_QKEY_TRAP ? + "Q_Key" : "P_Key", + cl_ntoh32(ntc->data_details.ntc_257_258.key), + cl_ntoh32(ntc->data_details.ntc_257_258.qp1) >> 28, + cl_ntoh32(ntc->data_details.ntc_257_258.qp1) & 0xffffff, + cl_ntoh32(ntc->data_details.ntc_257_258.qp2) & 0xffffff, + inet_ntop(AF_INET6, gid1->raw, gid_str, sizeof gid_str), + inet_ntop(AF_INET6, gid2->raw, gid_str2, sizeof gid_str2)); + break; + case SM_BAD_SWITCH_PKEY_TRAP: + gid1 = &ntc->data_details.ntc_259.gid1; + gid2 = &ntc->data_details.ntc_259.gid2; + OSM_LOG(log, level, + "Reporting Security Notice \"%s\" from switch LID %u, " + "GUID 0x%016" PRIx64 " port %d : data_valid 0x%04x, " + "LID1 %u, LID2 %u, PKey 0x%04x, " + "SL %d, QP1 0x%x, QP2 0x%x, GID1 %s, GID2 %s\n", + ib_get_trap_str(ntc->g_or_v.generic.trap_num), + cl_ntoh16(ntc->issuer_lid), + cl_ntoh64(gid->unicast.interface_id), + ntc->data_details.ntc_259.port_no, + cl_ntoh16(ntc->data_details.ntc_259.data_valid), + cl_ntoh16(ntc->data_details.ntc_259.lid1), + cl_ntoh16(ntc->data_details.ntc_259.lid2), + cl_ntoh16(ntc->data_details.ntc_257_258.key), + cl_ntoh32(ntc->data_details.ntc_259.sl_qp1) >> 28, + cl_ntoh32(ntc->data_details.ntc_259.sl_qp1) & 0xffffff, + cl_ntoh32(ntc->data_details.ntc_259.qp2), + inet_ntop(AF_INET6, gid1->raw, gid_str, sizeof gid_str), + inet_ntop(AF_INET6, gid2->raw, gid_str2, sizeof gid_str2)); + break; + default: + OSM_LOG(log, level, + "Reporting Generic Notice type:%u num:%u (%s)" + " from LID:%u GID:%s\n", + ib_notice_get_type(ntc), + cl_ntoh16(ntc->g_or_v.generic.trap_num), + ib_get_trap_str(ntc->g_or_v.generic.trap_num), + cl_ntoh16(ntc->issuer_lid), + inet_ntop(AF_INET6, gid->raw, gid_str, sizeof gid_str)); + break; + } } else OSM_LOG(log, level, "Reporting Vendor Notice type:%u vend:%u dev:%u"
Signed-off-by: Line Holen <Line.Holen@oracle.com> --- -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html