Hi Sasha,<br><br>
<div><span class="gmail_quote">On 8/29/09, <b class="gmail_sendername">Sasha Khapyorsky</b> <<a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:sashak@voltaire.com" target="_blank">sashak@voltaire.com</a>> wrote:</span></div>

<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Hi Hal,<br><br>On 14:38 Fri 07 Aug     , Hal Rosenstock wrote:<br>><br>> osm_link_mgr.c:link_mgr_get_smsl has the following:<br>
><br>>         /* Find osm_port of the source = p_physp */<br>>         slid = osm_physp_get_base_lid(p_physp);<br>>         p_src_port =<br>>             cl_ptr_vector_get(&sm->p_subn->port_lid_tbl, cl_ntoh16(slid));<br>
><br>>         /* Call lash to find proper SL */<br>>         sl = osm_get_lash_sl(p_osm, p_src_port, p_sm_port);<br>><br>> It may be that this code is invoked prior to the LID being assigned<br><br>How is it possible? In the code I can see that link_mgr_process() is<br>
always executed after lid_mgr run.</blockquote>
<div> </div>
<div>
<div>When nodes use gPXE, the LID is not passed from the gPXE to the Linux environment.</div></div>
<div><br> </div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">> so<br>> getting the p_src_port based on the LID yields NULL and then calling<br>> osm_get_lash_sl causes a seg fault.<br>
><br>> I can see two ways to fix this:<br>> 1. Replace with port GUID search<br>> 2. Have osm_get_lash_sl handle NULL for p_src_port<br>> Maybe you see other ways to deal with this.<br>><br>> Do you have a preferred approach ?<br>
<br>Hmm, SMSL will be irrelevant for a port where LID was not assigned,<br>right?</blockquote>
<div> </div>
<div>Of course.</div>
<div><br> </div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">If so than it is probably just enough to add in link_mgr_get_smsl():<br><br>       if (!p_src_port)<br>               return;</blockquote>

<div> </div>
<div>OK.</div>
<div> </div>
<div>-- Hal</div><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">But it would be really better to understand an error source before deciding about proper solution.</blockquote>

<div><br> </div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">Sasha<br></blockquote><br>