<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><o:SmartTagType
 namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PersonName"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
h1
        {margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:3.0pt;
        margin-left:.3in;
        text-indent:-.3in;
        page-break-after:avoid;
        mso-list:l0 level1 lfo1;
        font-size:16.0pt;
        font-family:Arial;}
h2
        {margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:3.0pt;
        margin-left:.4in;
        text-indent:-.4in;
        page-break-after:avoid;
        mso-list:l0 level2 lfo2;
        font-size:14.0pt;
        font-family:Arial;
        font-style:italic;}
h3
        {margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:3.0pt;
        margin-left:.5in;
        text-indent:-.5in;
        page-break-after:avoid;
        mso-list:l0 level3 lfo3;
        font-size:13.0pt;
        font-family:Arial;}
h4
        {margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:3.0pt;
        margin-left:.6in;
        text-indent:-.6in;
        page-break-after:avoid;
        mso-list:l0 level4 lfo4;
        font-size:14.0pt;
        font-family:"Times New Roman";}
h5
        {margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:3.0pt;
        margin-left:.7in;
        text-indent:-.7in;
        mso-list:l0 level5 lfo5;
        font-size:13.0pt;
        font-family:"Times New Roman";
        font-style:italic;}
h6
        {margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:3.0pt;
        margin-left:.8in;
        text-indent:-.8in;
        mso-list:l0 level6 lfo6;
        font-size:11.0pt;
        font-family:"Times New Roman";}
p.MsoHeading7, li.MsoHeading7, div.MsoHeading7
        {margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:3.0pt;
        margin-left:.9in;
        text-indent:-.9in;
        mso-list:l0 level7 lfo7;
        font-size:12.0pt;
        font-family:"Times New Roman";}
p.MsoHeading8, li.MsoHeading8, div.MsoHeading8
        {margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:3.0pt;
        margin-left:1.0in;
        text-indent:-1.0in;
        mso-list:l0 level8 lfo8;
        font-size:12.0pt;
        font-family:"Times New Roman";
        font-style:italic;}
p.MsoHeading9, li.MsoHeading9, div.MsoHeading9
        {margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:3.0pt;
        margin-left:1.1in;
        text-indent:-1.1in;
        mso-list:l0 level9 lfo9;
        font-size:11.0pt;
        font-family:Arial;}
span.MsoEndnoteReference
        {vertical-align:super;}
p.MsoEndnoteText, li.MsoEndnoteText, div.MsoEndnoteText
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Times New Roman";}
p.MsoListBullet, li.MsoListBullet, div.MsoListBullet
        {margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        text-indent:-.25in;
        mso-list:l1 level1 lfo10;
        font-size:12.0pt;
        font-family:"Times New Roman";}
p.MsoTitle, li.MsoTitle, div.MsoTitle
        {margin-top:12.0pt;
        margin-right:0in;
        margin-bottom:3.0pt;
        margin-left:0in;
        text-align:center;
        font-size:16.0pt;
        font-family:Arial;
        font-weight:bold;}
p.MsoBodyText, li.MsoBodyText, div.MsoBodyText
        {margin-top:0in;
        margin-right:0in;
        margin-bottom:6.0pt;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman";}
p.MsoSubtitle, li.MsoSubtitle, div.MsoSubtitle
        {margin-top:0in;
        margin-right:0in;
        margin-bottom:3.0pt;
        margin-left:0in;
        text-align:center;
        font-size:12.0pt;
        font-family:Arial;}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:blue;
        text-decoration:underline;}
span.EmailStyle23
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.25in 1.0in 1.25in;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:1285036741;
        mso-list-template-ids:-547819762;}
@list l0:level1
        {mso-level-style-link:"Heading 1";
        mso-level-text:%1;
        mso-level-tab-stop:.3in;
        mso-level-number-position:left;
        mso-margin-top-alt:0in;
        margin-right:.3in;
        margin-bottom:0in;
        margin-left:.3in;
        margin-bottom:.0001pt;
        text-indent:-.3in;}
@list l0:level2
        {mso-level-style-link:"Heading 2";
        mso-level-text:"%1\.%2";
        mso-level-tab-stop:.4in;
        mso-level-number-position:left;
        mso-margin-top-alt:0in;
        margin-right:.4in;
        margin-bottom:0in;
        margin-left:.4in;
        margin-bottom:.0001pt;
        text-indent:-.4in;}
@list l0:level3
        {mso-level-style-link:"Heading 3";
        mso-level-text:"%1\.%2\.%3";
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        mso-margin-top-alt:0in;
        margin-right:.5in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        text-indent:-.5in;}
@list l0:level4
        {mso-level-style-link:"Heading 4";
        mso-level-text:"%1\.%2\.%3\.%4";
        mso-level-tab-stop:.6in;
        mso-level-number-position:left;
        mso-margin-top-alt:0in;
        margin-right:.6in;
        margin-bottom:0in;
        margin-left:.6in;
        margin-bottom:.0001pt;
        text-indent:-.6in;}
@list l0:level5
        {mso-level-style-link:"Heading 5";
        mso-level-text:"%1\.%2\.%3\.%4\.%5";
        mso-level-tab-stop:.7in;
        mso-level-number-position:left;
        mso-margin-top-alt:0in;
        margin-right:.7in;
        margin-bottom:0in;
        margin-left:.7in;
        margin-bottom:.0001pt;
        text-indent:-.7in;}
@list l0:level6
        {mso-level-style-link:"Heading 6";
        mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6";
        mso-level-tab-stop:.8in;
        mso-level-number-position:left;
        mso-margin-top-alt:0in;
        margin-right:.8in;
        margin-bottom:0in;
        margin-left:.8in;
        margin-bottom:.0001pt;
        text-indent:-.8in;}
@list l0:level7
        {mso-level-style-link:"Heading 7";
        mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7";
        mso-level-tab-stop:.9in;
        mso-level-number-position:left;
        mso-margin-top-alt:0in;
        margin-right:.9in;
        margin-bottom:0in;
        margin-left:.9in;
        margin-bottom:.0001pt;
        text-indent:-.9in;}
@list l0:level8
        {mso-level-style-link:"Heading 8";
        mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8";
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        mso-margin-top-alt:0in;
        margin-right:1.0in;
        margin-bottom:0in;
        margin-left:1.0in;
        margin-bottom:.0001pt;
        text-indent:-1.0in;}
@list l0:level9
        {mso-level-style-link:"Heading 9";
        mso-level-text:"%1\.%2\.%3\.%4\.%5\.%6\.%7\.%8\.%9";
        mso-level-tab-stop:1.1in;
        mso-level-number-position:left;
        mso-margin-top-alt:0in;
        margin-right:1.1in;
        margin-bottom:0in;
        margin-left:1.1in;
        margin-bottom:.0001pt;
        text-indent:-1.1in;}
@list l1
        {mso-list-id:1992904546;
        mso-list-type:hybrid;
        mso-list-template-ids:1467933110 -81507590 -942524410 67960837 67960833 67960835 67960837 67960833 67960835 67960837;}
@list l1:level1
        {mso-level-number-format:bullet;
        mso-level-style-link:"List Bullet";
        mso-level-text:\F0B7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        margin-right:.5in;
        text-indent:-.25in;
        font-family:Symbol;}
@list l1:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        margin-right:1.0in;
        text-indent:-.25in;
        font-family:"Courier New";
        mso-bidi-font-family:"Times New Roman";}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
-->
</style>

</head>

<body lang=EN-US link=blue vlink=blue>

<div class=Section1 dir=RTL>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'>Hi </span></font><st1:PersonName
w:st="on"><font size=2 face=Tahoma><span style='font-size:10.0pt;font-family:
 Tahoma'>abhijitngpune</span></font></st1:PersonName><font size=2 color=navy
face=Arial><span style='font-size:10.0pt;font-family:Arial;color:navy'>,<o:p></o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'>OpenSM do not know care
about the topology of the network. Every connected graph is valid for it. BTW,
fat tree can have cycles too. If I don’t err, the algorithm used by the
OpenSM is a variation of some well known graph algorithm invented by Dijkstra
or based on one of Dijkstra’s (I hope I write his name correctly)
algorithm. You can find these algorithms in any graph theory text book –
look for “find all shortest paths” algorithms. (for example : <a
href="http://ciips.ee.uwa.edu.au/~morris/Year2/PLDS210/dijkstra.html">http://ciips.ee.uwa.edu.au/~morris/Year2/PLDS210/dijkstra.html</a>
)<o:p></o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'>Very briefly the
algorithm that the opensm is using goes like that:<o:p></o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'>1. All switches learn
about themselves (hop 0) and any direct connected hosts (hop 1). They keep this
information in a forwarding table that contains (schematically) the following
information (the actual details are a bit more complicated to be able to
support multipathing) :<o:p></o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'>Lid (local port id), out-port,
hops<o:p></o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'>2. Now you start the hop>1
learning phase that use several passes over the switches. On every single pass,
you go over all switches (the order does not matter) and within each switch you
go examine any direct attached switch called “neighbor”.   For
every such neighbor you compare your forwarding table to neighbor table. If you
find a lid that have hop count less than your hop count +1 (for the extra hop between
you and the neighbor switch)  you change you table entry to route that lid
thought the connecting port.<o:p></o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'>3. You repeat the above process
until no table is changed during a complete pass, or until number of switch
passes are done.<o:p></o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'>The correctness of this
algorithm is left to the reader ;-)<o:p></o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'>It seems that you are
using gen1 stack and Opensm. Please be aware to the fact that gen1 tree is not
supported any more. Please use gen2.<o:p></o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'>The opensm Tcl extension
is not supported on gen2 and I don’t know on any plans to support it.<o:p></o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'>Regarding the topology
example – any connected graph will do. I guess that most connected graphs
are very inefficient traffic wise, but still all of them are valid.<o:p></o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'>Demonstrating that a
topology is configured correctly is a bit of a problem. If you are willing to
spend some efforts, you can use the topology simulator released with Melloanox
Gold – look for the IBADM package. This stuff is not very well documented
but it should be useable. Melloanox released (or about to release) a real
subnet simulator that you can use to run opensm on top of it. Using this
simulator you can test any arbitrary topology. The problem is that you have to
port this simulator to gen2.<o:p></o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'>Any volunteers are
welcomed…<o:p></o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'>  <o:p></o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'>Shahar<o:p></o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=2 color=navy face=Arial><span
style='font-size:10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<div style='border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt'>

<div>

<div class=MsoNormal align=center dir=LTR style='text-align:center'><font
size=3 face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal dir=LTR><b><font size=2 face=Tahoma><span style='font-size:
10.0pt;font-family:Tahoma;font-weight:bold'>From:</span></font></b><font
size=2 face=Tahoma><span style='font-size:10.0pt;font-family:Tahoma'>
openib-general-bounces@openib.org [mailto:openib-general-bounces@openib.org] <b><span
style='font-weight:bold'>On Behalf Of </span></b><st1:PersonName w:st="on">abhijitngpune</st1:PersonName><br>
<b><span style='font-weight:bold'>Sent:</span></b> Tuesday, March 29, 2005 3:09
PM<br>
<b><span style='font-weight:bold'>To:</span></b> openib-general@openib.org<br>
<b><span style='font-weight:bold'>Subject:</span></b> [openib-general] OpenSM</span></font><o:p></o:p></p>

</div>

<p class=MsoNormal dir=LTR><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'>Hi all, I am a new to infiniband and related issues. I
have some few doubts related to openSM. 1. how does openSM support the non fat
tree (graph having cycles) topologies? (any research paper will do) 2. Given a
graph (it contains cycles) topology how can i demonstrate that subnet manager
working for this topology? 3. What is openSM tcl extension is used for? does
anybody have example code for perticular (irregular/ non fat tree) topology?
Abhijeet <o:p></o:p></span></font></p>

<div class=MsoNormal align=center dir=LTR style='text-align:center'><font
size=3 face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center>

</span></font></div>

<p class=MsoNormal dir=LTR><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'>Indiatimes Email now powered by <b><span style='font-weight:
bold'>APIC Advantage</span></b>. <a href="http://email.indiatimes.com/apic/">Help!</a>
</span></font><o:p></o:p></p>

<p class=MsoNormal dir=LTR><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'><a
href="http://imaround.indiatimes.com/IMaround/presencefr.mss?userid=abhijitngpune"
target="_blank"><span style='text-decoration:none'><img border=0 width=115
height=39 id="_x0000_i1026"
src="http://203.199.93.51/IMaround/getpresence.mss?userid=abhijitngpune"
alt="My Presence"></span></a><a
href="http://email.indiatimes.com/apic/userpage.html" target="_blank"><font
size=2 face=Arial><span style='font-size:10.0pt;font-family:Arial'>Help</span></font></a><o:p></o:p></span></font></p>

<div class=MsoNormal align=center dir=LTR style='text-align:center'><font
size=3 face="Times New Roman"><span style='font-size:12.0pt'>

<hr size=2 width="100%" align=center>

</span></font></div>

<p class=MsoNormal dir=LTR><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoNormal dir=LTR><font size=3 face="Times New Roman"><span
style='font-size:12.0pt'><object
 classid="CLSID:D27CDB6E-AE6D-11CF-96B8-444553540000" id=DefaultOcxName
 width=360 height=80
 codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0">
 <param name=movie value="">
 <param name=quality value=High>
 <param name="_cx" value=9525>
 <param name="_cy" value=2117>
 <param name=FlashVars value="">
 <param name=Src value="">
 <param name=WMode value=Window>
 <param name=Play value=-1>
 <param name=Loop value=-1>
 <param name=SAlign value="">
 <param name=Menu value=-1>
 <param name=Base value="">
 <param name=AllowScriptAccess value=always>
 <param name=Scale value=ShowAll>
 <param name=DeviceFont value=0>
 <param name=EmbedMovie value=0>
 <param name=BGColor value="">
 <param name=SWRemote value="">
<embed src="http://203.199.93.12/image/swap.swp" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-
 s!
hockwave-flash" width="360" height="80"></embed></object><o:p></o:p></span></font></p>

</div>

</div>

</body>

</html>