<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2900.2802" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial color=#0000ff size=2></FONT> </DIV>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left><FONT face=Arial 
size=2><SPAN class=396313908-04042006>Summary:</SPAN></DIV>
<DIV>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
  <P><SPAN class=396313908-04042006>In the next release of SRP we want to add a 
  daemon that is executed in each initiator and finds out which targets exist in 
  the fabric.</SPAN></P>
  <P><SPAN class=396313908-04042006>The new daemon can use SA capabilities 
  from IBTA 1.2 errata (details at the bottom) to improve performance. If 
  you are using SM other then openIB's openSM please support this feature in 
  your SM.</SPAN></P></BLOCKQUOTE>
<P><SPAN class=396313908-04042006>Details:</SPAN></P>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
  <P><SPAN class=396313908-04042006>When one wants to find all SRP targets and 
  their information in the fabric, he/she currently run "ibsrpdm"<BR>"ibsrpdm" 
  uses the following procedure to discover all SRP targets available in the 
  fabric</SPAN></P>
  <OL>
    <LI><SPAN class=396313908-04042006>"ibsrpdm" sends a query <SPAN 
    class=396313908-04042006>get<SPAN class=006224120-05042006>_</SPAN>table 
    node info with node type is CA</SPAN>. </SPAN>
    <LI><SPAN class=396313908-04042006></SPAN><SPAN class=396313908-04042006>It 
    gets quite a big table and then for <SPAN 
    class=006224120-05042006>every </SPAN>node it sends a <SPAN 
    class=006224120-05042006>port_info </SPAN>query. </SPAN>
    <LI><SPAN class=396313908-04042006>From the response to this query the 
    initiator can check if this port is an SRP target. (dm <SPAN 
    class=006224120-05042006>bit </SPAN>capability is set)</SPAN></LI></OL>
  <P>The problem with <SPAN class=396313908-04042006>this</SPAN> <SPAN 
  class=396313908-04042006>procedure</SPAN> is that it <SPAN 
  class=396313908-04042006>may </SPAN>create too much traffic on the fabric.</P>
  <P>Let's assume there is a cluster of 4096 nodes<SPAN 
  class=396313908-04042006> booting together</SPAN>. Each of this 4096 nodes is 
  sending the first query and gets a list of 4096 nodes. This list is divided 
  into a long number of UD messages and may cause retransmit. After getting this 
  list each node sends 4096 queries for the port of each node.</P>
  <P>This traffic is <SPAN class=396313908-04042006>quite </SPAN>huge.</P>
  <P><SPAN class=396313908-04042006>T</SPAN>he SA <SPAN 
  class=396313908-04042006>has a new </SPAN>capability to answer the query: 
  "please return a list of the ports that has the dm bit set" (meaning return 
  ports of SRP targets). (This capability of the SA is part of Errata Release 
  Version: 1.2 1/26/2006 Chapter/Subsection: 15.2.5.3 <SPAN 
  class=396313908-04042006> - quoted at the bottom</SPAN>). </P>
  <P><SPAN class=396313908-04042006>Using this capability we can use the 
  following procedure:</SPAN></P>
  <OL>
    <LI><SPAN class=396313908-04042006>The daemon will send "get table port_info 
    of ports that has dm bit set" query and gets a table of small number of 
    port_info<SPAN class=006224120-05042006>.</SPAN></SPAN>  
    <LI><SPAN class=396313908-04042006>For each port</SPAN> It queries for 
    the guid of this ports.</LI></OL>
  <P>This will significantly reduce the traffic on the fabric. </P>
  <P><FONT size=+0><FONT size=2>Actually, in this solution there is so little 
  traffic that <SPAN class=396313908-04042006>the new daemon will run it 
  periodically (every minute) to look for changes (There will be 
  less traffic than </SPAN><SPAN class=396313908-04042006>registering 
  </SPAN>to Trap 64 and Trap 65.<SPAN 
  class=396313908-04042006>)</SPAN></FONT></FONT></P>
  <P><FONT size=+0><FONT size=2><SPAN 
  class=396313908-04042006></SPAN></FONT></FONT> </P><FONT size=+0><FONT 
  face=Arial><SPAN class=396313908-04042006></BLOCKQUOTE>
<P dir=ltr><SPAN class=396313908-04042006><FONT size=2>Quoting the 
errata:</FONT></SPAN></P>
<BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px">
  <P><FONT 
  size=2>----------------------------------------------------------------------------</FONT></P>
  <P><FONT size=2>Errata Tracking Number: MGTWG8372 </FONT></P>
  <P><FONT size=2>Sub-Case Number: 0 </FONT></P>
  <P><FONT size=2>Reference ID: 4291 </FONT></P>
  <P><FONT size=2>Title: Enhanced SA PortInfoRecord searches </FONT></P>
  <P><FONT size=2>Submitter: Livingston, James (James.Livingston@necsam.com) 
  </FONT></P>
  <P><FONT size=2>Volume: 1 </FONT></P>
  <P><FONT size=2>Revision: 1.2 </FONT></P>
  <P><FONT size=2>Errata Release Version: 1.2 1/26/2006 </FONT></P>
  <P><FONT size=2>Chapter/Subsection: 15 </FONT></P>
  <P><FONT size=2>Page: 885 </FONT></P>
  <P><FONT size=2>Line: 20 </FONT></P>
  <P><FONT size=2>AssignedIntensity: </FONT></P>
  <P><FONT size=2>Status/Disposition: WG_Approved </FONT></P>
  <P><FONT size=2>Problem Description: Add a new row to Table 186 SA-Specific 
  </FONT></P>
  <P><FONT size=2>ClassPortInfo:CapabilityMask Bits: </FONT></P>
  <P><FONT size=2>Problem Resolution: Add a new row to Table 186 SA-Specific 
  </FONT></P>
  <P><FONT size=2>ClassPortInfo:CapabilityMask Bits </FONT></P>
  <P><FONT size=2>Original Text: <none> </FONT></P>
  <P><FONT size=2>Corrected Text: <Name> </FONT></P>
  <P><FONT size=2>IsPortInfoCapMaskMatchSupported </FONT></P>
  <P><FONT size=2><Bit> </FONT></P>
  <P><FONT size=2>13 </FONT></P>
  <P><FONT size=2><Description> </FONT></P>
  <P><FONT size=2>If this value is 1, SA shall support matching the </FONT></P>
  <P><FONT size=2>PortInfo:CapabilityMask component as described in <ref to 
  section </FONT></P>
  <P><FONT size=2>15.2.5.3>. </FONT></P>
  <P><FONT size=2>Comment History: Dec 14, 2005 08:11:26 PM Old: New:Pending 
  By:Benner, Alan </FONT></P>
  <P><FONT size=2>(bennera@us.ibm.com) </FONT></P>
  <P><FONT 
  size=2>----------------------------------------------------------------------------</FONT></P>
  <P><FONT size=2>Errata Tracking Number: MGTWG8372 </FONT></P>
  <P><FONT size=2>Sub-Case Number: 1 </FONT></P>
  <P><FONT size=2>Reference ID: 4292 </FONT></P>
  <P><FONT size=2>Title: Enhanced SA PortInfoRecord searches </FONT></P>
  <P><FONT size=2>Submitter: Livingston, James (James.Livingston@necsam.com) 
  </FONT></P>
  <P><FONT size=2>Volume: 1 </FONT></P>
  <P><FONT size=2>Revision: 1.2 </FONT></P>
  <P><FONT size=2>Errata Release Version: 1.2 1/26/2006 </FONT></P>
  <P><FONT size=2>Chapter/Subsection: 15.2.5.3 </FONT></P>
  <P><FONT size=2>Page: 891 </FONT></P>
  <P><FONT size=2>Line: 36 </FONT></P>
  <P><FONT size=2>AssignedIntensity: </FONT></P>
  <P><FONT size=2>Status/Disposition: WG_Approved </FONT></P>
  <P><FONT size=2>Problem Description: Add optional compliance statement for new 
  capability. </FONT></P>
  <P><FONT size=2>Problem Resolution: Make the proposed change to the spec text. 
  </FONT></P>
  <P><FONT size=2>Original Text: <none> </FONT></P>
  <P><FONT size=2>Corrected Text: o15-0.x.y: If SA's </FONT></P>
  <P><FONT size=2>ClassPortInfo:CapabilityMask.IsPortInfoCapMaskMatchSupported 
  is 1, </FONT></P>
  <P><FONT size=2>then the AttributeModifier of the SubnAdmGet() and 
  SubnAdmGetTable() </FONT></P>
  <P><FONT size=2>methods affects the matching behavior on the 
  PortInfo:CapabilityMask </FONT></P>
  <P><FONT size=2>component. If the high-order bit (bit 31) of the 
  AttributeModifier </FONT></P>
  <P><FONT size=2>is set to 1, matching on the CapabilityMask component will not 
  be an </FONT></P>
  <P><FONT size=2>exact bitwise match as described in <ref to 15.4.4>. 
  Instead, </FONT></P>
  <P><FONT size=2>matching will only be performed on those bits which are set to 
  1 in </FONT></P>
  <P><FONT size=2>the PortInfo:CapabilityMask embedded in the query. </FONT></P>
  <P><FONT size=2></FONT></P>
  <P><FONT size=2>In <ref to o15-0.x.y>, bits in the 
  PortInfo:CapabilityMask embedded </FONT></P>
  <P><FONT size=2>in the query that are set to 0 are bitwise wildcards for 
  purposes of </FONT></P>
  <P><FONT size=2>matching. </FONT></P>
  <P><FONT size=2></FONT></P>
  <P><FONT size=2>This gives a requester the ability to select desired 
  capabilities </FONT></P>
  <P><FONT size=2>and query for ports which support those capabilities. 
  </FONT></P>
  <P><FONT size=2></FONT></P>
  <P><FONT size=2>If SA's 
  ClassPortInfo:CapabilityMask.IsPortInfoCapMaskMatchSupported </FONT></P>
  <P><FONT size=2>is 0, or if bit 31 of the AttributeModifier is 0, then any 
  matching </FONT></P>
  <P><FONT size=2>performed on the PortInfo:CapabilityMask component is as 
  described </FONT></P>
  <P><FONT size=2>in <ref to 15.4.4>. </FONT></P>
  <P><FONT size=2>Comment History: Dec 14, 2005 08:21:47 PM Old: New:Pending 
  By:Benner, Alan </FONT></P>
  <P><FONT size=2>(bennera@us.ibm.com) </FONT></P>
  <P><FONT 
  size=2>----------------------------------------------------------------------------</FONT></P><FONT 
  face="Palatino Linotype" color=#0000ff></FONT></SPAN></FONT></FONT>
  <P><FONT size=+0><FONT face=Arial><FONT size=2><SPAN 
  class=396313908-04042006></SPAN></FONT></FONT></FONT> </P>
  <P><FONT face=Arial 
size=2>Ishai</FONT></P></BLOCKQUOTE></FONT></DIV></BODY></HTML>