<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:m="http://schemas.microsoft.com/office/2004/12/omml" 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 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@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","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.gmailquote
        {mso-style-name:gmail_quote;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

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

<div class=Section1>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>This won’t quite do it – think of the problem of WSD trying to
laod when there’s no HCA (it was disabled or removed/remplaced).  WSD tries to
open IBAL, but there’s no kernel device object for it to open, so it fails. 
Later when an HCA is enabled (or added), WSD doesn’t try to open IBAL again, so
you don’t have WSD support at all.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>That said, the filter driver model should help get SAN support,
though there’s more to it than that – like hooking bus relations queries into
the IOC PnP manager.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>-Fab<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Bhushan Pandit
[mailto:pandit.bhushan@gmail.com] <br>
<b>Sent:</b> Thursday, May 10, 2007 12:34 AM<br>
<b>To:</b> Fab Tillier<br>
<b>Cc:</b> ofw@lists.openfabrics.org<br>
<b>Subject:</b> Re: [ofw] Loading drivers on LHS<o:p></o:p></span></p>

</div>

<p class=MsoNormal><o:p> </o:p></p>

<div>

<p class=MsoNormal>Hi,<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal> <o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>In Solution 2, the issue of WSD requiring IBAL loaded could
be solved by making HCA driver as boot start SERVICE_BOOT_START (instead of
current SERVICE_DEMAND_START)? IPoIB could still remain as
SERVICE_DEMAND_START. <o:p></o:p></p>

</div>

<div>

<p class=MsoNormal> <o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>This will load the HCA and IBBUS (as upper filter) at the
boot time, and the user mode clients would get the IBAT services available
rightaway. <o:p></o:p></p>

</div>

<div>

<p class=MsoNormal> <o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>This may also help getting SAN boot support for SRP,
currently the IB (including SRP) drivers could not be used as boot drivers
(using txtsetup.oem) during the Windows installation, because IBBUS
requires Win32 co-installer which is not available at that moment. <o:p></o:p></p>

</div>

<div>

<p class=MsoNormal> <o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>Thanks,<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal> <o:p></o:p></p>

</div>

<div>

<p class=MsoNormal>Bhushan.<o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><br>
 <o:p></o:p></p>

</div>

<div>

<p class=MsoNormal><span class=gmailquote>On 5/10/07, <b>Fab Tillier</b> <<a
href="mailto:ftillier@windows.microsoft.com">ftillier@windows.microsoft.com</a>>
wrote:</span> <o:p></o:p></p>

<div>

<div>

<p>Hi folks,<o:p></o:p></p>

<p> <o:p></o:p></p>

<p>I tried loading the IB drivers on LHS (Windows Server code name
"Longhorn") and it doesn't work.  I tracked the problem down to
the fact that the driver packages are now staged to a special system folder
before being installed.  The IB co-installer uses the path of the binaries
to find the drivers for the "InfiniBand Fabric" device, but since
these didn't get staged with the HCA drivers, it fails and with it installation
of the HCA drivers fails. <o:p></o:p></p>

<p> <o:p></o:p></p>

<p>I can't come up with a really good solution to this, so wanted to start a
discussion for how this should be addressed.<o:p></o:p></p>

<p> <o:p></o:p></p>

<p>Solution 1: Don't fail the HCA driver installation if the co-installer can't
install the IB Bus device.<o:p></o:p></p>

<p>While this allows the HCA drivers to install, it doesn't install the IB Bus,
which means no user-mode app will work (no IBAL device for it to open), and no
IPoIB or other child devices (no bus driver) will be reported to the
system.  A manual installation of the drivers for the IB bus driver is
required to get things really running, so there's no longer an automatic
installation path through the device manager.  Things can be scripted with
devcon to work around this, though. <o:p></o:p></p>

<p> <o:p></o:p></p>

<p>Solution 2: Make ibbus an upper filter for the HCA, include all its
information in the HCA's INF file.<o:p></o:p></p>

<p>This solves the installation issue (and eliminates the co-installer), and
kernel clients will get created as needed, so it's a pretty nice solution (it
actually simplifies the PnP notifications required of HCA drivers).  The
problem is that it impacts user-mode apps.  Currently, a user-mode client
can load before any HCA is available in the system, and use the IBAL PnP
notifications to detect arrival of an HCA.  If the IB bus driver is loaded
as an upper filter, it will not be loaded until an HCA is loaded, so user-mode
applications will no longer be able to rely on IBAL for CA PnP notifications. 
This would impact WSD for sure, though WSD depends on the IBAT device anyway
for address resolution, and this won't exist until the IB bus exists.  So
WSD could be re-architected to delay-load IBAL until there are addresses reported
by IBAT. <o:p></o:p></p>

<p> <o:p></o:p></p>

<p>Neither solution is all that great.  Any other thoughts and ideas?<o:p></o:p></p>

<p> <o:p></o:p></p>

<p>-Fab<o:p></o:p></p>

</div>

</div>

<p class=MsoNormal><br>
_______________________________________________<br>
ofw mailing list<br>
<a href="mailto:ofw@lists.openfabrics.org">ofw@lists.openfabrics.org </a><br>
<a href="http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw"
target="_blank">http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw</a><o:p></o:p></p>

</div>

<p class=MsoNormal><o:p> </o:p></p>

</div>

</body>

</html>