<!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: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;
}
@font-face {
        font-family: Tahoma;
}
@page Section1 {size: 8.5in 11.0in; margin: 1.0in 1.25in 1.0in 1.25in; }
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman","serif"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman","serif"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman","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: "Arial","sans-serif"; mso-style-type: personal
}
SPAN.EmailStyle18 {
        COLOR: #1f497d; FONT-FAMILY: "Calibri","sans-serif"; mso-style-type: personal-reply
}
.MsoChpDefault {
        FONT-SIZE: 10pt; 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.5730.11" name=GENERATOR></HEAD>
<BODY lang=EN-US vLink=purple link=blue>
<DIV><SPAN class=051263818-22012007><FONT face=Arial color=#0000ff size=2>Hi 
Fab,</FONT></SPAN></DIV>
<DIV><SPAN class=051263818-22012007><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=051263818-22012007><FONT face=Arial color=#0000ff size=2>Can 
you point us to the ipoib dhcp spec? I thought there was only a draft that no 
one was using.</FONT></SPAN></DIV>
<DIV><SPAN class=051263818-22012007><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=051263818-22012007><FONT face=Arial color=#0000ff size=2>I 
guess that a full solution will also have to work with the Linux 
implementation.</FONT></SPAN></DIV>
<DIV><SPAN class=051263818-22012007><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=051263818-22012007><FONT face=Arial color=#0000ff size=2>In any 
case the current code changes has some problems: 1) It changes the size of the 
packet but doesn't change the size in the ip header. (this can be easily 
fixed) 2) it bases the request identifier on the guid + qp_num. As we 
don't have a mechanism for keeping the same QP number one might get a different 
ip after restarting the driver. This one is harder to 
resolve.</FONT></SPAN></DIV>
<DIV><SPAN class=051263818-22012007><FONT face=Arial color=#0000ff 
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=051263818-22012007><FONT face=Arial color=#0000ff 
size=2>Thanks</FONT></SPAN></DIV>
<DIV><SPAN class=051263818-22012007><FONT face=Arial color=#0000ff 
size=2>Tzachi</FONT></SPAN></DIV><BR>
<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> Fab Tillier 
  [mailto:ftillier@windows.microsoft.com] <BR><B>Sent:</B> Monday, January 22, 
  2007 7:27 PM<BR><B>To:</B> Anatoly Lisenko; Tzachi Dar; Yossi Leybovich; 
  openib-windows@openib.org<BR><B>Cc:</B> Tzahi Oved<BR><B>Subject:</B> RE: 
  [Openib-windows] ipoib dhcp patch<BR></FONT><BR></DIV>
  <DIV></DIV>
  <DIV class=Section1>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: " color:#1F497D? 
  Calibri?,?sans-serif?;>Hi Anatoly,<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: " color:#1F497D? 
  Calibri?,?sans-serif?;><o:p> </o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: " color:#1F497D? 
  Calibri?,?sans-serif?;>When you have the DHCP server on the eth side, I assume 
  it is communicating with the IB hosts through your IB to Ethernet 
  gateway.  Your gateway should perform conversion of DHCP packets to/from 
  the IPoIB DHCP format, and can’t just forward the Ethernet DHCP packets 
  unchanged.  See the IPoIB spec for what things need to work on 
  DHCP.<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: " color:#1F497D? 
  Calibri?,?sans-serif?;><o:p> </o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: " color:#1F497D? 
  Calibri?,?sans-serif?;>Also, instead of disabling DHCP support, how about 
  fixing it so that it send properly formed packets (as per IPoIB spec) and then 
  convert them to the OS so that the OS is happy with them.  You can use 
  netmon on the host to snoop the network traffic and look at the DHCP packet as 
  it’s given from the OS to the IPoIB driver and from the IPoIB driver to the 
  OS.<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: " color:#1F497D? 
  Calibri?,?sans-serif?;><o:p> </o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: " color:#1F497D? 
  Calibri?,?sans-serif?;>Disabling the DHCP packet conversion makes the DHCP 
  packets on the wire not compliant to the IPoIB spec.<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: " color:#1F497D? 
  Calibri?,?sans-serif?;><o:p> </o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: " color:#1F497D? 
  Calibri?,?sans-serif?;>-Fab<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: " color:#1F497D? 
  Calibri?,?sans-serif?;><o:p> </o:p></SPAN></P>
  <DIV>
  <DIV 
  style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: medium none; PADDING-TOP: 3pt; BORDER-BOTTOM: medium none">
  <P class=MsoNormal><B><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " 
  Tahoma?,?sans-serif??>From:</SPAN></B><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: " Tahoma?,?sans-serif??> 
  openib-windows-bounces@openib.org [mailto:openib-windows-bounces@openib.org] 
  <B>On Behalf Of </B>Anatoly Lisenko<BR><B>Sent:</B> Monday, January 22, 2007 
  3:53 AM<BR><B>To:</B> Tzachi Dar; Yossi Leybovich; 
  openib-windows@openib.org<BR><B>Cc:</B> Tzahi Oved<BR><B>Subject:</B> 
  [Openib-windows] ipoib dhcp patch<o:p></o:p></SPAN></P></DIV></DIV>
  <P class=MsoNormal><o:p> </o:p></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>Hi,<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier><o:p> </o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>I saw that ipoib interface fail to get automatic ip address when DHCP 
  server run on eth side.<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>This caused by changing DHCP packet fields at 
  __send_mgr_filter_dhcp().<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>I run ethereal on eth side and it show that the DHCP packet from ipoib 
  arrive damaged.<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>I think this cause DHCP server to ignore this 
  packet.<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>But if DHCP server run on IB side than ipoib then interface success to 
  get automatic ip.<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>This work because in __recv_dhcp() ipoib change all DHCP packet fields 
  like in the DHCP packet arrived from ETH side.<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>I attach patch that disable all changes to DHCP 
  packets:<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>1. All changed related to DHCP placed into #ifdef IPOIB_DHCP_HACK … 
  #endif<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>2. IPOIB_DHCP_HACK isn’t defined.<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier><o:p> </o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier><o:p> </o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier><o:p> </o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>Index: ulp/ipoib/kernel/ipoib_port.c<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>===================================================================<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>--- ulp/ipoib/kernel/ipoib_port.c   (revision 
  570)<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>+++ ulp/ipoib/kernel/ipoib_port.c   (working 
  copy)<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>@@ -2089,7 +2089,9 @@<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      
  dhcp_pkt_t              
  *p_dhcp;<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      
  uint8_t                       
  *p_option;<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      
  uint8_t                       
  *p_cid = NULL;<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>+#ifdef IPOIB_DHCP_HACK<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      
  ib_gid_t                
  gid;<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>+#endif<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      
  uint8_t                       
  msg = 0;<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier> <o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      IPOIB_ENTER( IPOIB_DBG_RECV 
  );<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>@@ -2168,12 +2170,15 @@<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>                        
  ("Failed to find required Client-identifier option.\n") 
  );<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>                  
  return IB_INVALID_SETTING;<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>            
  }<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>+#ifdef IPOIB_DHCP_HACK       
  <o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>            if( 
  p_dhcp->htype != DHCP_HW_TYPE_IB )<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>            
  {<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>                  
  IPOIB_PRINT_EXIT( TRACE_LEVEL_ERROR, IPOIB_DBG_ERROR,<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>                        
  ("Invalid hardware address type.\n") );<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>                  
  return IB_INVALID_SETTING;<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>            
  }<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>+#endif //#ifdef IPOIB_DHCP_HACK<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>+<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>            
  break;<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      /* message from DHCP server 
  */<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      case DHCPOFFER:<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>@@ -2186,6 +2191,8 @@<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>                  
  ("Invalide message type.\n") );<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>            
  return IB_INVALID_PARAMETER;<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      }<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>+<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>+#ifdef IPOIB_DHCP_HACK<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      p_eth->type.ip.prot.udp.hdr.chksum = 
  0;<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      p_dhcp->htype = 
  DHCP_HW_TYPE_ETH;<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      p_dhcp->hlen = 
  HW_ADDR_LEN;<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>@@ -2216,6 +2223,8 @@<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>            
  status = ipoib_mac_from_guid( gid.unicast.interface_id, 
  (mac_addr_t*)&p_cid[3] );<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>            
  p_cid[HW_ADDR_LEN + 3] = DHCP_OPT_END; //terminate tag<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      }<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>+#endif //#ifdef IPOIB_DHCP_HACK<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>+<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      </SPAN><SPAN lang=PT-BR 
  style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? Courier>IPOIB_EXIT( 
  IPOIB_DBG_RECV );<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN lang=PT-BR style="FONT-SIZE: 10pt; FONT-FAMILY: " 
  New?? Courier>      </SPAN><SPAN 
  style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? Courier>return 
  status;<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier> }<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>@@ -3160,8 +3169,10 @@<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      
  dhcp_pkt_t              
  *p_ib_dhcp;<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      
  uint8_t                       
  *p_option, *p_cid = NULL;<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      
  uint8_t                       
  msg = 0;<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>+#ifdef IPOIB_DHCP_HACK<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      
  size_t                        
  len;<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      
  ib_gid_t                
  gid;<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>+#endif //#ifdef IPOIB_DHCP_HACK<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier> <o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      IPOIB_ENTER( IPOIB_DBG_SEND 
  );<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier> <o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>@@ -3236,6 +3247,7 @@<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      case DHCPRELEASE:<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      case DHCPINFORM:<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>            /* 
  Fix up the client identifier option */<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>+#ifdef IPOIB_DHCP_HACK<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>            if( 
  p_cid )<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>            
  {<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>                  
  /* do we need to replace it ?  len eq ETH MAC sz 'and' MAC is mine 
  */<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>@@ -3295,6 +3307,8 @@<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>            
  p_ib_dhcp->htype = DHCP_HW_TYPE_IB;<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>            
  p_ib_dhcp->hlen = 0;<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>            
  cl_memclr( p_ib_dhcp->chaddr, sizeof(p_ib_dhcp->chaddr) 
  );<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>+#endif //#ifdef IPOIB_DHCP_HACK<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>+<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>            
  break;<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier> <o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier>      /* Server messages. 
  */<o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " New?? 
  Courier><o:p> </o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: " 
  Arial?,?sans-serif??><o:p> </o:p></SPAN></P></DIV></BLOCKQUOTE></BODY></HTML>