On Wed, Aug 5, 2009 at 3:04 PM, Sasha Khapyorsky <[email protected]>wrote:
> On 08:47 Tue 04 Aug , Hal Rosenstock wrote: > > > > Signed-off-by: Hal Rosenstock <[email protected]> > > --- > > diff --git a/opensm/opensm/osm_trap_rcv.c b/opensm/opensm/osm_trap_rcv.c > > index bf39926..925cb27 100644 > > --- a/opensm/opensm/osm_trap_rcv.c > > +++ b/opensm/opensm/osm_trap_rcv.c > > @@ -2,6 +2,7 @@ > > * Copyright (c) 2004-2008 Voltaire, Inc. All rights reserved. > > * 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. > > * > > * 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 > > @@ -546,42 +547,47 @@ trap_rcv_process_request(IN osm_sm_t * sm, > > } > > } > > > > - /* Check for node description update. IB Spec v1.2.1 pg 823 */ > > - if (p_ntci->data_details.ntc_144.local_changes & > TRAP_144_MASK_OTHER_LOCAL_CHANGES && > > - p_ntci->data_details.ntc_144.change_flgs & > TRAP_144_MASK_NODE_DESCRIPTION_CHANGE) { > > - OSM_LOG(sm->p_log, OSM_LOG_INFO, "Trap 144 Node description > update\n"); > > - > > - if (p_physp) { > > - CL_PLOCK_ACQUIRE(sm->p_lock); > > - osm_req_get_node_desc(sm, p_physp); > > - CL_PLOCK_RELEASE(sm->p_lock); > > - } else { > > - OSM_LOG(sm->p_log, OSM_LOG_ERROR, > > - "ERR 3812: No physical port found for " > > - "trap 144: \"node description update\"\n"); > > + if (ib_notice_is_generic(p_ntci)) { > > + /* Check for node description update. IB Spec v1.2.1 pg 823 > */ > > + if (cl_ntoh16(p_ntci->g_or_v.generic.trap_num) == 144) { > > + if (p_ntci->data_details.ntc_144.local_changes & > TRAP_144_MASK_OTHER_LOCAL_CHANGES && > > + p_ntci->data_details.ntc_144.change_flgs & > TRAP_144_MASK_NODE_DESCRIPTION_CHANGE) { > > + OSM_LOG(sm->p_log, OSM_LOG_INFO, > > + "Trap 144 Node description > update\n"); > > + > > + if (p_physp) { > > + CL_PLOCK_ACQUIRE(sm->p_lock); > > + osm_req_get_node_desc(sm, p_physp); > > + CL_PLOCK_RELEASE(sm->p_lock); > > + } else > > + OSM_LOG(sm->p_log, OSM_LOG_ERROR, > > + "ERR 3812: No physical port > found for " > > + "trap 144: \"node > description update\"\n"); > > + } > > } > > - } > > > > - /* do a sweep if we received a trap */ > > - if (sm->p_subn->opt.sweep_on_trap) { > > - /* if this is trap number 128 or run_heavy_sweep is TRUE - > > - update the force_heavy_sweep flag of the subnet. > > - Sweep also on traps 144/145 - these traps signal a > change of > > - certain port capabilities/system image guid. > > - TODO: In the future this can be changed to just getting > > - PortInfo on this port instead of sweeping the entire > subnet. */ > > - if (ib_notice_is_generic(p_ntci) && > > - (cl_ntoh16(p_ntci->g_or_v.generic.trap_num) == 128 || > > - cl_ntoh16(p_ntci->g_or_v.generic.trap_num) == 144 || > > - cl_ntoh16(p_ntci->g_or_v.generic.trap_num) == 145 || > > - run_heavy_sweep)) { > > - OSM_LOG(sm->p_log, OSM_LOG_VERBOSE, > > - "Forcing heavy sweep. Received trap:%u\n", > > - > cl_ntoh16(p_ntci->g_or_v.generic.trap_num)); > > + /* do a sweep if we received a trap */ > > + if (sm->p_subn->opt.sweep_on_trap) { > > + /* if this is trap number 128 or run_heavy_sweep is > > + TRUE - update the force_heavy_sweep flag of the > > + subnet. Also, sweep also on traps 144/145 - > > + these traps signal a change of certain port > > + capabilities/system image guid. > > + TODO: In the future this can be changed to just > > + getting PortInfo on this port instead of > sweeping > > + the entire subnet. */ > > + if (cl_ntoh16(p_ntci->g_or_v.generic.trap_num) == > 128 || > > + cl_ntoh16(p_ntci->g_or_v.generic.trap_num) == > 144 || > > + cl_ntoh16(p_ntci->g_or_v.generic.trap_num) == > 145 || > > + run_heavy_sweep) { > > + OSM_LOG(sm->p_log, OSM_LOG_VERBOSE, > > + "Forcing heavy sweep. Received > trap:%u\n", > > + > cl_ntoh16(p_ntci->g_or_v.generic.trap_num)); > > > > - sm->p_subn->force_heavy_sweep = TRUE; > > + sm->p_subn->force_heavy_sweep = TRUE; > > + } > > + osm_sm_signal(sm, OSM_SIGNAL_SWEEP); > > } > > - osm_sm_signal(sm, OSM_SIGNAL_SWEEP); > > Actually this disables sweep (light) on non generic traps. Was it desired > change? It was unintended; I'll resubmit adding that back. -- Hal > Could you see any potential issues with it? > > Sasha > > > } > > > > /* If we reached here due to trap 129/130/131 - do not need to do > > > _______________________________________________ > general mailing list > [email protected] > http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general > > To unsubscribe, please visit > http://openib.org/mailman/listinfo/openib-general >
_______________________________________________ general mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
