[ofa-general] Re: osm_link_mgr.c:link_mgr_get_smsl question

Sasha Khapyorsky sashak at voltaire.com
Sun Aug 30 05:00:11 PDT 2009


On 07:32 Sun 30 Aug     , Hal Rosenstock wrote:
> > >
> > > osm_link_mgr.c:link_mgr_get_smsl has the following:
> > >
> > >         /* Find osm_port of the source = p_physp */
> > >         slid = osm_physp_get_base_lid(p_physp);
> > >         p_src_port =
> > >             cl_ptr_vector_get(&sm->p_subn->port_lid_tbl,
> > cl_ntoh16(slid));
> > >
> > >         /* Call lash to find proper SL */
> > >         sl = osm_get_lash_sl(p_osm, p_src_port, p_sm_port);
> > >
> > > It may be that this code is invoked prior to the LID being assigned
> >
> > How is it possible? In the code I can see that link_mgr_process() is
> > always executed after lid_mgr run.
> 
>  When nodes use gPXE, the LID is not passed from the gPXE to the Linux
> environment.

How is it related to gPXE?

OpenSM's lid manager runs and assigns lids to all available endports,
only after this link manager runs and try with SMSL - at this point all
lids should be in place and p_subn->port_lid_tbl should be fine.

Am I missing something?

Sasha



More information about the general mailing list