<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)">
<!--[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]-->
<style>
<!--
 /* Font Definitions */
 @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:11.0pt;
        font-family:"Calibri","sans-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.MsoAcetate, li.MsoAcetate, div.MsoAcetate
        {mso-style-priority:99;
        mso-style-link:"Balloon Text Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:8.0pt;
        font-family:"Tahoma","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.BalloonTextChar
        {mso-style-name:"Balloon Text Char";
        mso-style-priority:99;
        mso-style-link:"Balloon Text";
        font-family:"Tahoma","sans-serif";}
.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="2050" />
</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='color:#1F497D'>QLogic is seeing some issues
with the current implementation of IPoIB and how it affects PnP Notifications.<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>Can anyone tell me why we are
doing things this way or if they disagree with the following statements…<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>Problem:              <o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>IPoIB registers itself to handle
PnP notifications in ipoib_driver.c, function ipoib_pnp_notify().  Any PnP
notification other than PowerProfileChanged will cause the adapter state to
become “Removed” and the IPoIB filter driver will drop it’s
connection.  This is in direct contradiction to MS Best Practices for
filter drivers, which clearly state that filter drivers should *<b>not</b>*
interpret PnP or Power notifications, but should instead pass these down the
driver stack to the base driver which has the responsibility for actually
interpreting the event.  This is similar to the WinVerbs D0 handler, where
the WinVerbs *<b>filter</b>* driver is attempting to manage a Power
notification.<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>Solution:                 
<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>IPoIB should follow the MS Best
Practices for filter drivers and stop attempting to manage the Power or PnP
notifications, and allow them to pass down the driver stack<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>Additional:             
<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>This will become problematic
during PCI rebalancing, which recall is *<b>not</b>* supposed to cause a
teardown but instead a suspension.  IPoIB will treat the PnP rebalance
notifications as “teardown” events<o:p></o:p></span></p>

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

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

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

<p class=MsoNormal><img width=44 height=26 id="Picture_x0020_1"
src="cid:image001.jpg@01CADFC3.6AB39050" alt="Signiture QL blu"><o:p></o:p></p>

<p class=MsoNormal>John F. Russo<o:p></o:p></p>

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

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

<p class=MsoNormal>780 Fifth Avenue<o:p></o:p></p>

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

<p class=MsoNormal>King of Prussia, PA 19406<o:p></o:p></p>

<p class=MsoNormal>Direct: 610-233-4866<o:p></o:p></p>

<p class=MsoNormal>Fax:      610-233-4777<o:p></o:p></p>

<p class=MsoNormal>Cell:     610-246-9903<o:p></o:p></p>

<p class=MsoNormal><a href="http://www.qlogic.com"><span style='color:blue'>www.qlogic.com</span></a><o:p></o:p></p>

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

</div>

</body>

</html>