From patchwork Wed Mar 10 12:14:44 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Slava Strebkov X-Patchwork-Id: 84554 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o2ACuPvw002739 for ; Wed, 10 Mar 2010 12:56:26 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754051Ab0CJM4Z (ORCPT ); Wed, 10 Mar 2010 07:56:25 -0500 Received: from fwil.voltaire.com ([193.47.165.2]:25352 "EHLO exil.voltaire.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1754034Ab0CJM4Y (ORCPT ); Wed, 10 Mar 2010 07:56:24 -0500 Received: from [172.25.3.220] ([172.25.3.220]) by exil.voltaire.com with Microsoft SMTPSVC(6.0.3790.3959); Wed, 10 Mar 2010 14:56:19 +0200 Message-ID: <4B978D34.1050807@Voltaire.COM> Date: Wed, 10 Mar 2010 14:14:44 +0200 From: Slava Strebkov User-Agent: Thunderbird 2.0.0.19 (X11/20081227) MIME-Version: 1.0 To: linux-rdma@vger.kernel.org CC: Sashak@Voltaire.COM Subject: [PATCH] opensm: EPI new event for duplicated node guid X-OriginalArrivalTime: 10 Mar 2010 12:56:19.0244 (UTC) FILETIME=[13E996C0:01CAC051] Sender: linux-rdma-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-rdma@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Wed, 10 Mar 2010 12:56:26 +0000 (UTC) diff --git a/opensm/include/opensm/osm_event_plugin.h b/opensm/include/opensm/osm_event_plugin.h index 33d1920..7c4ed93 100644 --- a/opensm/include/opensm/osm_event_plugin.h +++ b/opensm/include/opensm/osm_event_plugin.h @@ -72,6 +72,7 @@ typedef enum { OSM_EVENT_ID_PORT_SELECT, OSM_EVENT_ID_TRAP, OSM_EVENT_ID_SUBNET_UP, + OSM_EVENT_ID_DUPLICATED_GUID, OSM_EVENT_ID_MAX } osm_epi_event_id_t; diff --git a/opensm/opensm/osm_node_info_rcv.c b/opensm/opensm/osm_node_info_rcv.c index b3e272c..db97df6 100644 --- a/opensm/opensm/osm_node_info_rcv.c +++ b/opensm/opensm/osm_node_info_rcv.c @@ -68,6 +68,7 @@ static void report_duplicated_guid(IN osm_sm_t * sm, osm_physp_t * p_physp, { osm_physp_t *p_old, *p_new; osm_dr_path_t path; + osm_epi_pe_event_t epi_pe_data; p_old = p_physp->p_remote_physp; p_new = osm_node_get_physp_ptr(p_neighbor_node, port_num); @@ -82,6 +83,11 @@ static void report_duplicated_guid(IN osm_sm_t * sm, osm_physp_t * p_physp, cl_ntoh64(p_old->p_node->node_info.node_guid), p_old->port_num, cl_ntoh64(p_new->p_node->node_info.node_guid), p_new->port_num); + osm_epi_create_port_id(&epi_pe_data.port_id, + p_physp->p_node->node_info.node_guid, p_physp->port_num, + (char*)p_physp->p_node->node_desc.description); + osm_opensm_report_event(sm->p_subn->p_osm, + OSM_EVENT_ID_DUPLICATED_GUID, &epi_pe_data); osm_dump_dr_path(sm->p_log, osm_physp_get_dr_path_ptr(p_physp), OSM_LOG_ERROR);