<br>
<br><font size=2><tt>Troy Benjegerdes wrote on 10/30/2005 05:55:04 PM:<br>
<br>
> The firmware on the IBM eHCA causes opensm to spit out these kinds
of<br>
> errors all the time..<br>
> <br>
> Is there a way we can either not send P_KeyTable requests to any eHCA<br>
> guids, or figure out what (if anything) is broken in their firmware?<br>
> <br>
> Is this a spec violation, or just ambiguities in implementation?</tt></font>
<br><font size=2><tt>...</tt></font>
<br><font size=2><tt>> Oct 30 17:49:46 053861 [43005960] -> SMP dump:</tt></font>
<br><font size=2><tt>>              
                  base_ver................0x1<br>
>                    
            mgmt_class..............0x81<br>
>                    
            class_ver...............0x1<br>
>                    
            method..................0x1 (SubnGet)<br>
>                    
            D bit...................0x0<br>
>                    
            status..................0x0<br>
>                    
            hop_ptr.................0x0<br>
>                    
            hop_count...............0x2<br>
>                    
            trans_id................0x158c<br>
>                    
            attr_id.................0x16
(P_KeyTable)<br>
>                    
            resv....................0x0<br>
>                    
            attr_mod................0x260000</tt></font>
<br>
<br><font size=2><tt>Here is what is happening:  The attribute modifier
for the P_KeyTable </tt></font>
<br><font size=2><tt>attribute is divided into two, 16-bit halves.  The
most significant 16 bits </tt></font>
<br><font size=2><tt>is information that is only valid for switches.  The
problem here is that </tt></font>
<br><font size=2><tt>this SubnGet is for an HCA.  The firmware currently
sees that the upper </tt></font>
<br><font size=2><tt>bits are non-zero and since it is not a switch, throws
the packet away.  </tt></font>
<br><font size=2><tt>The proper response would be for it to ignore the
upper bits and process </tt></font>
<br><font size=2><tt>the MAD.  However, this is in firmware that won't
be able to be changed </tt></font>
<br><font size=2><tt>quickly.  So, in the meantime as a work around,
would it be possible to </tt></font>
<br><font size=2><tt>have the opensm clear out the upper 16 bits of the
attribute modifier when </tt></font>
<br><font size=2><tt>making a P_KeyTable request of an HCA?</tt></font>
<br>
<br><font size=2><tt>Thanks,</tt></font>
<br><font size=2><tt>--Brad</tt></font>