/* check that if the lids define a range - that range is valid
for the current LMC mask */
osm_log( p_mgr->p_log, OSM_LOG_ERROR,
- "__osm_lid_mgr_validate_db: ERR 0313: "
+ "__osm_lid_mgr_validate_db: ERR 0313: "
"LID range [0x%x:0x%x] for guid:0x%016" PRIx64
" is not aligned acording to mask:0x%04x.\n",
min_lid, max_lid, p_item->guid, lmc_mask
( cl_ptr_vector_get( &p_mgr->used_lids, lid ) ) )
{
osm_log( p_mgr->p_log, OSM_LOG_ERROR,
- "__osm_lid_mgr_validate_db: ERR 0314: "
+ "__osm_lid_mgr_validate_db: ERR 0314: "
"0x%04x for guid:0x%016" PRIx64
" was previously used.\n",
lid, p_item->guid
{
if (osm_db_guid2lid_delete( p_mgr->p_g2l, p_item->guid ))
osm_log( p_mgr->p_log, OSM_LOG_ERROR,
- "__osm_lid_mgr_validate_db: ERR 0315: "
+ "__osm_lid_mgr_validate_db: ERR 0315: "
"failed to delete entry for guid:0x%016" PRIx64
- " .\n",
+ ".\n",
p_item->guid
);
}
if (! p_mgr->p_g2l)
{
osm_log( p_mgr->p_log, OSM_LOG_ERROR,
- "osm_lid_mgr_init: ERR 0316: "
+ "osm_lid_mgr_init: ERR 0316: "
"Error initializing Guid-to-Lid persistent database.\n");
status = IB_ERROR;
goto Exit;
if (osm_db_restore(p_mgr->p_g2l))
{
osm_log( p_mgr->p_log, OSM_LOG_ERROR,
- "osm_lid_mgr_init: ERR 0317: "
+ "osm_lid_mgr_init: ERR 0317: "
"Error restoring Guid-to-Lid persistent database.\n");
status = IB_ERROR;
goto Exit;
uint8_t lmc_num_lids = (uint8_t)(1 << p_mgr->p_subn->opt.lmc);
uint16_t lmc_mask;
uint16_t req_lid, num_lids;
-
+
OSM_LOG_ENTER( p_mgr->p_log, __osm_lid_mgr_init_sweep );
if (p_mgr->p_subn->opt.lmc)
else
lmc_mask = 0xffff;
- /* if we came out of standby we need to discard any previous guid 2 lid
+ /* if we came out of standby we need to discard any previous guid2lid
info we might have */
if ( p_mgr->p_subn->coming_out_of_standby == TRUE )
{
for (lid = 0; lid < cl_ptr_vector_get_size(p_discovered_vec); lid++)
cl_ptr_vector_set(p_discovered_vec, lid, NULL);
- /* we if are in the first sweep and in re-assign lids mode
- we should ignore all the available info and simply define one
+ /* we if are in the first sweep and in re-assign lids mode
+ we should ignore all the available info and simply define one
huge empty range */
if ((p_mgr->p_subn->first_time_master_sweep == TRUE) &&
(p_mgr->p_subn->opt.reassign_lids == TRUE ))
osm_log( p_mgr->p_log, OSM_LOG_DEBUG,
"__osm_lid_mgr_init_sweep: "
"Cleaning persistent entry for guid:0x%016" PRIx64
- " illegal range:[0x%x:0x%x] \n",
+ " illegal range:[0x%x:0x%x]\n",
cl_ntoh64(osm_port_get_guid(p_port)), db_min_lid,
db_max_lid );
osm_db_guid2lid_delete( p_mgr->p_g2l,
Our task is to find free lid ranges.
A lid can be used if
1. a persistent assignment exists
- 2. the lid is used by a discovered port that does not have a persistent
- assignment.
+ 2. the lid is used by a discovered port that does not have a persistent
+ assignment.
scan through all lid values of both the persistent table and
discovered table.
/* we have a port. Now lets see if we can preserve its lid range. */
/* For that - we need to make sure:
1. The port has a (legal) persistency entry. Then the local lid
- is free (we will use the persistency value).
+ is free (we will use the persistency value).
2. Can the port keep its local assignment?
- a. Make sure the lid a aligned.
- b. Make sure all needed lids (for the lmc) are free according
- to persistency table.
+ a. Make sure the lid a aligned.
+ b. Make sure all needed lids (for the lmc) are free according
+ to persistency table.
*/
- /* qualify the guid of the port is not persistently mapped to
+ /* qualify the guid of the port is not persistently mapped to
another range */
if (!osm_db_guid2lid_get( p_mgr->p_g2l,
cl_ntoh64(osm_port_get_guid(p_port)),
if ( ( p_mgr->p_subn->first_time_master_sweep == TRUE ) &&
( (p_old_pi->capability_mask & IB_PORT_CAP_HAS_CLIENT_REREG) != 0 ) )
ib_port_info_set_client_rereg( p_pi, 1 );
+ else
+ ib_port_info_set_client_rereg( p_pi, 0 );
/* We need to send the PortInfoSet request with the new sm_lid
in the following cases: