<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>