[openib-general] OpenSM and Wrong SM_Key

Hal Rosenstock halr at voltaire.com
Tue Nov 8 13:08:47 PST 2005


Hi,

Currently, when OpenSM receives SMInfo with a different SM_Key, it exits
as follows:


void
__osm_sminfo_rcv_process_get_response(
  IN const osm_sminfo_rcv_t*  const p_rcv,
  IN const osm_madw_t*     const p_madw )
{
...



  /* 
     Check that the sm_key of the found SM is the same as ours,
     or is zero. If not - OpenSM cannot continue with configuration!. */
  if ( p_smi->sm_key != 0 &&
       p_smi->sm_key != p_rcv->p_subn->opt.sm_key )
  {
    osm_log( p_rcv->p_log, OSM_LOG_ERROR,
             "__osm_sminfo_rcv_process_get_response: ERR 2F18: "
             "Got SM with sm_key that doesn't match our "
             "local key. Exiting\n" );
    osm_log( p_rcv->p_log, OSM_LOG_SYS,
             "Found remote SM with non-matching sm_key. Exiting\n" );
    osm_exit_flag = TRUE;
    goto Exit;
  }

C14-61.2.1 states that:
A master SM which finds a higher priority master SM with the wrong
SM_Key should not relinquish the subnet.

Exiting OpenSM relinquishes the subnet.

So it appears to me that perhaps this behavior of exiting OpenSM should
be at least contingent on the SM state and relative priority of the
SMInfo received. Make sense ? If so, I will work on a patch for this.

-- Hal





More information about the general mailing list