<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2654.45">
<TITLE>RE: [PATCH] FW version in vstat</TITLE>
</HEAD>
<BODY>
<BR>
<BR>

<P><FONT SIZE=2>> -----Original Message-----</FONT>
<BR><FONT SIZE=2>> From: Fab Tillier [<A HREF="mailto:ftillier@silverstorm.com">mailto:ftillier@silverstorm.com</A>] </FONT>
<BR><FONT SIZE=2>> Sent: Sunday, November 06, 2005 8:07 PM</FONT>
<BR><FONT SIZE=2>> To: 'Yossi Leybovich'</FONT>
<BR><FONT SIZE=2>> Cc: openib-windows@openib.org</FONT>
<BR><FONT SIZE=2>> Subject: RE: [PATCH] FW version in vstat</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> Hi Yossi,</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> > From: Yossi Leybovich [<A HREF="mailto:sleybo@mellanox.co.il">mailto:sleybo@mellanox.co.il</A>]</FONT>
<BR><FONT SIZE=2>> > Sent: Sunday, November 06, 2005 7:01 AM</FONT>
<BR><FONT SIZE=2>> > </FONT>
<BR><FONT SIZE=2>> > we found it very useful to know the fw version on the HCA </FONT>
<BR><FONT SIZE=2>> this patch </FONT>
<BR><FONT SIZE=2>> > add fw version to the vstat report.</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> I think FW version is going to be a common field for any </FONT>
<BR><FONT SIZE=2>> implementation.  As such, I think it would be better to have </FONT>
<BR><FONT SIZE=2>> it as part of the ib_ca_attr_t structure.</FONT>
</P>

<P><FONT SIZE=2>I just followed the comment on the in ib_types.h</FONT>
<BR><FONT SIZE=2>".....</FONT>
<BR><FONT SIZE=2>*       size</FONT>
<BR><FONT SIZE=2>*               Total size in bytes for the HCA attributes.  This size includes total</FONT>
<BR><FONT SIZE=2>*               size required for all the variable members of the structure.  If a</FONT>
<BR><FONT SIZE=2>*               vendor requires to pass vendor specific fields beyond this structure,</FONT>
<BR><FONT SIZE=2>*               the HCA vendor can choose to report a larger size.  If a vendor is</FONT>
<BR><FONT SIZE=2>*               reporting extended vendor specific features, they should also provide</FONT>
<BR><FONT SIZE=2>*               appropriate access functions to aid with the required interpretation.</FONT>
</P>

<P><FONT SIZE=2>..."</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> In the new verb API I started defining the FW version is a </FONT>
<BR><FONT SIZE=2>> 32-bit field in the CA attributes.  Can you do the same thing here?</FONT>
</P>

<P><FONT SIZE=2>We use 64 bits for FW version (its 3 digits of 16 bits ) [in the futur we might want to add cmd_if version to this number]</FONT></P>

<P><FONT SIZE=2>So 32 bits its not enough for Mellanox .</FONT>
<BR><FONT SIZE=2>So either we can change it to be 64bit or make it vendor specific</FONT>
</P>

<P><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> > to make it clean I want to create access function for Mellanox </FONT>
<BR><FONT SIZE=2>> > specific attributes in the query_ca , where do you think we </FONT>
<BR><FONT SIZE=2>> should put </FONT>
<BR><FONT SIZE=2>> > this functions ?</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2>> I don't quite follow you here.  You want to add private </FONT>
<BR><FONT SIZE=2>> vendor data to the CA attributes?  Why not just use the </FONT>
<BR><FONT SIZE=2>> ib_ci_call function to get this private data? I'm worried </FONT>
<BR><FONT SIZE=2>> about making the ib_query_ca call too complicated if we start </FONT>
<BR><FONT SIZE=2>> to add support for all sorts of "flexibility".  It just makes </FONT>
<BR><FONT SIZE=2>> it harder for the user to figure out how large a buffer to allocate.</FONT>
<BR><FONT SIZE=2>> </FONT>
</P>

<P><FONT SIZE=2>What complexity ? The user already need to query for the ca_attr size ? And all I want to add is header file with functions that enable the user to get Mellanox specific data. The common user don't have to use those function and continue with his old code.</FONT></P>

<P><FONT SIZE=2>My question was where do you want this header to be place?</FONT>
</P>

<P><FONT SIZE=2>Of course that if we insert the FW version to the ca_attr struct we avoid this problem (but we might bump it in the future in our next HCAs)</FONT></P>

<P><FONT SIZE=2>> Can you describe what changes you want to make in a little </FONT>
<BR><FONT SIZE=2>> more detail, along with the impact on users?</FONT>
<BR><FONT SIZE=2>> </FONT>
<BR><FONT SIZE=2> 1. to add FW version to the end the ca_attr struct as Vendor specific data.</FONT>
<BR><FONT SIZE=2> 2. add access function to retrieve that data</FONT>
<BR><FONT SIZE=2> 3. change vstat to show FW version</FONT>
<BR>        
<BR><FONT SIZE=2>Impact:</FONT>
</P>

<P><FONT SIZE=2>The size of ca_attr is bigger in 8 bytes so the user will need to allocate 8 more bytes.</FONT>
<BR><FONT SIZE=2>The vstat will show the FW version and the user have simple way to know what FW version he use.</FONT>
</P>

</BODY>
</HTML>