diff mbox

[RESEND] opensm/osm_trap_rcv.c: No need for heavy sweep when just NodeDescription changes

Message ID 20100614111148.GA25056@comcast.net (mailing list archive)
State Not Applicable
Headers show

Commit Message

Hal Rosenstock June 14, 2010, 11:11 a.m. UTC
None
diff mbox

Patch

diff --git a/opensm/opensm/osm_trap_rcv.c b/opensm/opensm/osm_trap_rcv.c
index 52f8832..9024a1f 100644
--- a/opensm/opensm/osm_trap_rcv.c
+++ b/opensm/opensm/osm_trap_rcv.c
@@ -509,6 +509,9 @@  static void trap_rcv_process_request(IN osm_sm_t * sm,
 			CL_PLOCK_ACQUIRE(sm->p_lock);
 			osm_req_get_node_desc(sm, p_physp);
 			CL_PLOCK_RELEASE(sm->p_lock);
+			if (!(p_ntci->data_details.ntc_144.change_flgs & ~TRAP_144_MASK_NODE_DESCRIPTION_CHANGE) &&
+			    p_ntci->data_details.ntc_144.new_cap_mask == p_physp->port_info.capability_mask)
+				goto check_report;
 		} else
 			OSM_LOG(sm->p_log, OSM_LOG_ERROR,
 				"ERR 3812: No physical port found for "
@@ -547,6 +550,7 @@  check_sweep:
 	if (physp_change_trap == TRUE)
 		goto Exit;
 
+check_report:
 	/* Add a call to osm_report_notice */
 	/* We are going to report the notice - so need to fix the IssuerGID
 	   accordingly. See IBA 1.2 p.739 or IBA 1.1 p.653 for details. */