<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:ex12t = 
"http://schemas.microsoft.com/exchange/services/2006/types" xmlns:m = 
"http://schemas.microsoft.com/office/2004/12/omml" xmlns:mver = 
"http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:wf = 
"http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:udcxf = 
"http://schemas.microsoft.com/data/udc/xmlfile" xmlns:xsi = 
"http://www.w3.org/2001/XMLSchema-instance" xmlns:sps = 
"http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsd = 
"http://www.w3.org/2001/XMLSchema" xmlns:udc = 
"http://schemas.microsoft.com/data/udc" xmlns:dsp = 
"http://schemas.microsoft.com/sharepoint/dsp" xmlns:ds = 
"http://www.w3.org/2000/09/xmldsig#" xmlns:dir = 
"http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ois = 
"http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:x2 = 
"http://schemas.microsoft.com/office/excel/2003/xml" XMLNS:D = "DAV:" xmlns:q = 
"http://schemas.xmlsoap.org/soap/envelope/" xmlns:html = 
"http://www.w3.org/TR/REC-html40" xmlns:oa = 
"urn:schemas-microsoft-com:office:activation" xmlns:c = 
"urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:ss = 
"urn:schemas-microsoft-com:office:spreadsheet" xmlns:b = 
"urn:schemas-microsoft-com:office:publisher" xmlns:z = "#RowsetSchema" xmlns:rs 
= "urn:schemas-microsoft-com:rowset" xmlns:s = 
"uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt = 
"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:a = 
"urn:schemas-microsoft-com:office:access" xmlns:p = 
"urn:schemas-microsoft-com:office:powerpoint" xmlns:x = 
"urn:schemas-microsoft-com:office:excel" xmlns:w = 
"urn:schemas-microsoft-com:office:word" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:v = 
"urn:schemas-microsoft-com:vml"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<STYLE>@font-face {
        font-family: Cambria Math;
}
@font-face {
        font-family: Calibri;
}
@page Section1 {size: 8.5in 11.0in; margin: 1.0in 1.0in 1.0in 1.0in; }
P.MsoNormal {
        FONT-SIZE: 11pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Calibri","sans-serif"
}
LI.MsoNormal {
        FONT-SIZE: 11pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Calibri","sans-serif"
}
DIV.MsoNormal {
        FONT-SIZE: 11pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Calibri","sans-serif"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline; mso-style-priority: 99
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline; mso-style-priority: 99
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline; mso-style-priority: 99
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline; mso-style-priority: 99
}
SPAN.EmailStyle17 {
        COLOR: windowtext; FONT-FAMILY: "Calibri","sans-serif"; mso-style-type: personal-compose
}
.MsoChpDefault {
        mso-style-type: export-only
}
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]-->
<META content="MSHTML 6.00.6000.16414" name=GENERATOR></HEAD>
<BODY lang=EN-US vLink=purple link=blue>
<DIV><SPAN class=122240909-10052007><FONT face=Arial color=#0000ff size=2>I 
think solution 2 is the way we need to go.</FONT></SPAN></DIV>
<DIV><SPAN class=122240909-10052007><FONT face=Arial color=#0000ff size=2>For 
the long term I would like to see  IBBUS.sys functionality split into 2 
modules (when we had ibbus.sys and ibal.sys)</FONT></SPAN></DIV>
<DIV><SPAN class=122240909-10052007><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=122240909-10052007><FONT face=Arial color=#0000ff size=2>1. The 
creation and management of the virtual devices should be implemented as filter 
driver over the MTHCA ibbus.sys</FONT></SPAN></DIV>
<DIV><SPAN class=122240909-10052007><FONT face=Arial color=#0000ff 
size=2>2. all the VERBS functionality should implemented as kernel 
module without any dependence to the HW.</FONT></SPAN></DIV>
<DIV><SPAN class=122240909-10052007><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=122240909-10052007><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=122240909-10052007><FONT face=Arial color=#0000ff 
size=2>Thanks</FONT></SPAN></DIV>
<DIV><SPAN class=122240909-10052007><FONT face=Arial color=#0000ff size=2>Yossi 
</FONT></SPAN></DIV>
<DIV><BR></DIV>
<BLOCKQUOTE dir=ltr 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px">
  <DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
  <HR tabIndex=-1>
  <FONT face=Tahoma size=2><B>From:</B> ofw-bounces@lists.openfabrics.org 
  [mailto:ofw-bounces@lists.openfabrics.org] <B>On Behalf Of </B>Fab 
  Tillier<BR><B>Sent:</B> Thursday, May 10, 2007 3:19 AM<BR><B>To:</B> 
  ofw@lists.openfabrics.org<BR><B>Subject:</B> [ofw] Loading drivers on 
  LHS<BR></FONT><BR></DIV>
  <DIV></DIV>
  <DIV class=Section1>
  <P class=MsoNormal>Hi folks,<o:p></o:p></P>
  <P class=MsoNormal><o:p> </o:p></P>
  <P class=MsoNormal>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 class=MsoNormal><o:p> </o:p></P>
  <P class=MsoNormal>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 class=MsoNormal><o:p> </o:p></P>
  <P class=MsoNormal>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 class=MsoNormal>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 class=MsoNormal><o:p> </o:p></P>
  <P class=MsoNormal>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 class=MsoNormal>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 class=MsoNormal><o:p> </o:p></P>
  <P class=MsoNormal>Neither solution is all that great.  Any other 
  thoughts and ideas?<o:p></o:p></P>
  <P class=MsoNormal><o:p> </o:p></P>
  <P class=MsoNormal>-Fab<o:p></o:p></P></DIV></BLOCKQUOTE></BODY></HTML>