<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:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="" 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:Calibri;
        panose-1:2 15 5 2 2 2 4 3 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;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.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>Index:
B:/users/xalex/WoF-trunk/ulp/ipoib_NDIS6_CM/kernel/ipoib_driver.cpp<o:p></o:p></p>

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

<p class=MsoNormal>---
B:/users/xalex/WoF-trunk/ulp/ipoib_NDIS6_CM/kernel/ipoib_driver.cpp     (revision
2941)<o:p></o:p></p>

<p class=MsoNormal>+++ B:/users/xalex/WoF-trunk/ulp/ipoib_NDIS6_CM/kernel/ipoib_driver.cpp  (working
copy)<o:p></o:p></p>

<p class=MsoNormal>@@ -6,18 +6,18 @@<o:p></o:p></p>

<p class=MsoNormal>  * This software is available to you under the OpenIB.org
BSD license<o:p></o:p></p>

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

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

<p class=MsoNormal>- *     Redistribution and use in source and binary forms,
with or<o:p></o:p></p>

<p class=MsoNormal>- *     without modification, are permitted provided that
the following<o:p></o:p></p>

<p class=MsoNormal>- *     conditions are met:<o:p></o:p></p>

<p class=MsoNormal>+ *             Redistribution and use in source and binary
forms, with or<o:p></o:p></p>

<p class=MsoNormal>+ *             without modification, are permitted provided
that the following<o:p></o:p></p>

<p class=MsoNormal>+ *             conditions are met:<o:p></o:p></p>

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

<p class=MsoNormal>- *      - Redistributions of source code must retain the
above<o:p></o:p></p>

<p class=MsoNormal>- *        copyright notice, this list of conditions and the
following<o:p></o:p></p>

<p class=MsoNormal>- *        disclaimer.<o:p></o:p></p>

<p class=MsoNormal>+ *                          - Redistributions of source
code must retain the above<o:p></o:p></p>

<p class=MsoNormal>+ *                            copyright notice, this list
of conditions and the following<o:p></o:p></p>

<p class=MsoNormal>+ *                            disclaimer.<o:p></o:p></p>

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

<p class=MsoNormal>- *      - Redistributions in binary form must reproduce the
above<o:p></o:p></p>

<p class=MsoNormal>- *        copyright notice, this list of conditions and the
following<o:p></o:p></p>

<p class=MsoNormal>- *        disclaimer in the documentation and/or other
materials<o:p></o:p></p>

<p class=MsoNormal>- *        provided with the distribution.<o:p></o:p></p>

<p class=MsoNormal>+ *                          - Redistributions in binary
form must reproduce the above<o:p></o:p></p>

<p class=MsoNormal>+ *                            copyright notice, this list
of conditions and the following<o:p></o:p></p>

<p class=MsoNormal>+ *                            disclaimer in the
documentation and/or other materials<o:p></o:p></p>

<p class=MsoNormal>+ *                            provided with the
distribution.<o:p></o:p></p>

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

<p class=MsoNormal>  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT
WARRANTY OF ANY KIND,<o:p></o:p></p>

<p class=MsoNormal>  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF<o:p></o:p></p>

<p class=MsoNormal>@@ -68,98 +68,98 @@<o:p></o:p></p>

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

<p class=MsoNormal> static const NDIS_OID SUPPORTED_OIDS[] =<o:p></o:p></p>

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

<p class=MsoNormal>-    OID_GEN_SUPPORTED_LIST,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_HARDWARE_STATUS,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_MEDIA_SUPPORTED,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_MEDIA_IN_USE,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_MAXIMUM_LOOKAHEAD,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_MAXIMUM_FRAME_SIZE,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_TRANSMIT_BUFFER_SPACE,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_RECEIVE_BUFFER_SPACE,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_TRANSMIT_BLOCK_SIZE,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_RECEIVE_BLOCK_SIZE,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_VENDOR_ID,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_VENDOR_DESCRIPTION,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_VENDOR_DRIVER_VERSION,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_CURRENT_PACKET_FILTER,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_CURRENT_LOOKAHEAD,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_DRIVER_VERSION,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_MAXIMUM_TOTAL_SIZE,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_MAC_OPTIONS,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_MAXIMUM_SEND_PACKETS,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_XMIT_OK,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_RCV_OK,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_XMIT_ERROR,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_RCV_ERROR,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_RCV_NO_BUFFER,<o:p></o:p></p>

<p class=MsoNormal>-    //OID_GEN_RCV_CRC_ERROR,<o:p></o:p></p>

<p class=MsoNormal>-    //OID_GEN_TRANSMIT_QUEUE_LENGTH,<o:p></o:p></p>

<p class=MsoNormal>-    OID_802_3_PERMANENT_ADDRESS,<o:p></o:p></p>

<p class=MsoNormal>-    OID_802_3_CURRENT_ADDRESS,<o:p></o:p></p>

<p class=MsoNormal>-    OID_802_3_MULTICAST_LIST,<o:p></o:p></p>

<p class=MsoNormal>-    OID_802_3_MAXIMUM_LIST_SIZE,<o:p></o:p></p>

<p class=MsoNormal>-    OID_802_3_RCV_ERROR_ALIGNMENT,<o:p></o:p></p>

<p class=MsoNormal>-    OID_802_3_XMIT_ONE_COLLISION,<o:p></o:p></p>

<p class=MsoNormal>-    OID_802_3_XMIT_MORE_COLLISIONS,<o:p></o:p></p>

<p class=MsoNormal>-    //OID_802_3_XMIT_DEFERRED,<o:p></o:p></p>

<p class=MsoNormal>-    //OID_802_3_XMIT_MAX_COLLISIONS,<o:p></o:p></p>

<p class=MsoNormal>-    //OID_802_3_RCV_OVERRUN,<o:p></o:p></p>

<p class=MsoNormal>-    //OID_802_3_XMIT_UNDERRUN,<o:p></o:p></p>

<p class=MsoNormal>-    //OID_802_3_XMIT_HEARTBEAT_FAILURE,<o:p></o:p></p>

<p class=MsoNormal>-    //OID_802_3_XMIT_TIMES_CRS_LOST,<o:p></o:p></p>

<p class=MsoNormal>-    //OID_802_3_XMIT_LATE_COLLISIONS,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_SUPPORTED_LIST,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_HARDWARE_STATUS,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_MEDIA_SUPPORTED,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_MEDIA_IN_USE,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_MAXIMUM_LOOKAHEAD,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_MAXIMUM_FRAME_SIZE,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_TRANSMIT_BUFFER_SPACE,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_RECEIVE_BUFFER_SPACE,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_TRANSMIT_BLOCK_SIZE,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_RECEIVE_BLOCK_SIZE,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_VENDOR_ID,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_VENDOR_DESCRIPTION,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_VENDOR_DRIVER_VERSION,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_CURRENT_PACKET_FILTER,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_CURRENT_LOOKAHEAD,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_DRIVER_VERSION,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_MAXIMUM_TOTAL_SIZE,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_MAC_OPTIONS,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_MAXIMUM_SEND_PACKETS,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_XMIT_OK,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_RCV_OK,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_XMIT_ERROR,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_RCV_ERROR,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_RCV_NO_BUFFER,<o:p></o:p></p>

<p class=MsoNormal>+             //OID_GEN_RCV_CRC_ERROR,<o:p></o:p></p>

<p class=MsoNormal>+             //OID_GEN_TRANSMIT_QUEUE_LENGTH,<o:p></o:p></p>

<p class=MsoNormal>+             OID_802_3_PERMANENT_ADDRESS,<o:p></o:p></p>

<p class=MsoNormal>+             OID_802_3_CURRENT_ADDRESS,<o:p></o:p></p>

<p class=MsoNormal>+             OID_802_3_MULTICAST_LIST,<o:p></o:p></p>

<p class=MsoNormal>+             OID_802_3_MAXIMUM_LIST_SIZE,<o:p></o:p></p>

<p class=MsoNormal>+             OID_802_3_RCV_ERROR_ALIGNMENT,<o:p></o:p></p>

<p class=MsoNormal>+             OID_802_3_XMIT_ONE_COLLISION,<o:p></o:p></p>

<p class=MsoNormal>+             OID_802_3_XMIT_MORE_COLLISIONS,<o:p></o:p></p>

<p class=MsoNormal>+             //OID_802_3_XMIT_DEFERRED,<o:p></o:p></p>

<p class=MsoNormal>+             //OID_802_3_XMIT_MAX_COLLISIONS,<o:p></o:p></p>

<p class=MsoNormal>+             //OID_802_3_RCV_OVERRUN,<o:p></o:p></p>

<p class=MsoNormal>+             //OID_802_3_XMIT_UNDERRUN,<o:p></o:p></p>

<p class=MsoNormal>+             //OID_802_3_XMIT_HEARTBEAT_FAILURE,<o:p></o:p></p>

<p class=MsoNormal>+             //OID_802_3_XMIT_TIMES_CRS_LOST,<o:p></o:p></p>

<p class=MsoNormal>+             //OID_802_3_XMIT_LATE_COLLISIONS,<o:p></o:p></p>

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

<p class=MsoNormal> #if !BUILD_W2K<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_PHYSICAL_MEDIUM,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_PHYSICAL_MEDIUM,<o:p></o:p></p>

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

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

<p class=MsoNormal>-    OID_TCP_TASK_OFFLOAD,<o:p></o:p></p>

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

<p class=MsoNormal>+             OID_TCP_TASK_OFFLOAD,<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    OID_PNP_CAPABILITIES,<o:p></o:p></p>

<p class=MsoNormal>-    OID_PNP_SET_POWER,<o:p></o:p></p>

<p class=MsoNormal>-    OID_PNP_QUERY_POWER,<o:p></o:p></p>

<p class=MsoNormal>-    OID_PNP_ADD_WAKE_UP_PATTERN,<o:p></o:p></p>

<p class=MsoNormal>-    OID_PNP_REMOVE_WAKE_UP_PATTERN,<o:p></o:p></p>

<p class=MsoNormal>-    OID_PNP_ENABLE_WAKE_UP,<o:p></o:p></p>

<p class=MsoNormal>+             OID_PNP_CAPABILITIES,<o:p></o:p></p>

<p class=MsoNormal>+             OID_PNP_SET_POWER,<o:p></o:p></p>

<p class=MsoNormal>+             OID_PNP_QUERY_POWER,<o:p></o:p></p>

<p class=MsoNormal>+             OID_PNP_ADD_WAKE_UP_PATTERN,<o:p></o:p></p>

<p class=MsoNormal>+             OID_PNP_REMOVE_WAKE_UP_PATTERN,<o:p></o:p></p>

<p class=MsoNormal>+             OID_PNP_ENABLE_WAKE_UP,<o:p></o:p></p>

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

<p class=MsoNormal> #if 0<o:p></o:p></p>

<p class=MsoNormal> /* custom oid WMI support */<o:p></o:p></p>

<p class=MsoNormal>-    OID_CUSTOM_PERF_COUNTERS,<o:p></o:p></p>

<p class=MsoNormal>-    OID_CUSTOM_STRING,<o:p></o:p></p>

<p class=MsoNormal>+             OID_CUSTOM_PERF_COUNTERS,<o:p></o:p></p>

<p class=MsoNormal>+             OID_CUSTOM_STRING,<o:p></o:p></p>

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

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

<p class=MsoNormal>-    OID_GEN_RECEIVE_SCALE_CAPABILITIES,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_RECEIVE_SCALE_PARAMETERS,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_RECEIVE_SCALE_CAPABILITIES,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_RECEIVE_SCALE_PARAMETERS,<o:p></o:p></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> // new and required for NDIS 6 miniports<o:p></o:p></p>

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

<p class=MsoNormal>-    OID_GEN_LINK_PARAMETERS,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_INTERRUPT_MODERATION,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_STATISTICS,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_LINK_PARAMETERS,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_INTERRUPT_MODERATION,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_STATISTICS,<o:p></o:p></p>

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

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

<p class=MsoNormal>-    OID_TCP_OFFLOAD_CURRENT_CONFIG,<o:p></o:p></p>

<p class=MsoNormal>-    OID_TCP_OFFLOAD_PARAMETERS,<o:p></o:p></p>

<p class=MsoNormal>-    OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES,<o:p></o:p></p>

<p class=MsoNormal>-    OID_OFFLOAD_ENCAPSULATION,<o:p></o:p></p>

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

<p class=MsoNormal>+             OID_TCP_OFFLOAD_CURRENT_CONFIG,<o:p></o:p></p>

<p class=MsoNormal>+             OID_TCP_OFFLOAD_PARAMETERS,<o:p></o:p></p>

<p class=MsoNormal>+             OID_TCP_OFFLOAD_HARDWARE_CAPABILITIES,<o:p></o:p></p>

<p class=MsoNormal>+             OID_OFFLOAD_ENCAPSULATION,<o:p></o:p></p>

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

<p class=MsoNormal> #if 0<o:p></o:p></p>

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

<p class=MsoNormal> /* Header - Data seperation */<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_HD_SPLIT_PARAMETERS,<o:p></o:p></p>

<p class=MsoNormal>-    OID_GEN_HD_SPLIT_CURRENT_CONFIG,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_HD_SPLIT_PARAMETERS,<o:p></o:p></p>

<p class=MsoNormal>+             OID_GEN_HD_SPLIT_CURRENT_CONFIG,<o:p></o:p></p>

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

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

<p class=MsoNormal>-    OID_ADD_VALN_ID,<o:p></o:p></p>

<p class=MsoNormal>-    OID_DELETE_VLAN_ID,<o:p></o:p></p>

<p class=MsoNormal>+             OID_ADD_VALN_ID,<o:p></o:p></p>

<p class=MsoNormal>+             OID_DELETE_VLAN_ID,<o:p></o:p></p>

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

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

<p class=MsoNormal> /* Set MAC */<o:p></o:p></p>

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

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

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

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

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

<p class=MsoNormal>@@ -185,9 +185,9 @@<o:p></o:p></p>

<p class=MsoNormal> ULONG                                                g_ipoib_send_SW           =
0;<o:p></o:p></p>

<p class=MsoNormal> ULONG                                                g_ipoib_send_SG            =
0;<o:p></o:p></p>

<p class=MsoNormal> ULONG                                                g_ipoib_send_SW_in_loop
= 0;<o:p></o:p></p>

<p class=MsoNormal>-ULONG                                               g_ipoib_send_SG_pending
= 0;<o:p></o:p></p>

<p class=MsoNormal>-ULONG                                               g_ipoib_send_SG_real
= 0;<o:p></o:p></p>

<p class=MsoNormal>-ULONG                                               g_ipoib_send_SG_failed
= 0;<o:p></o:p></p>

<p class=MsoNormal>+ULONG                                              g_ipoib_send_SG_pending
= 0;<o:p></o:p></p>

<p class=MsoNormal>+ULONG                                              g_ipoib_send_SG_real
= 0;<o:p></o:p></p>

<p class=MsoNormal>+ULONG                                              g_ipoib_send_SG_failed
= 0;<o:p></o:p></p>

<p class=MsoNormal> ULONG                                                g_ipoib_send_reset
= 0;<o:p></o:p></p>

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

<p class=MsoNormal> ULONG                                                g_NBL
= 0;<o:p></o:p></p>

<p class=MsoNormal>@@ -196,33 +196,33 @@<o:p></o:p></p>

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

<p class=MsoNormal> typedef struct _IPOIB_REG_ENTRY<o:p></o:p></p>

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

<p class=MsoNormal>-              NDIS_STRING RegName;                //
variable name text<o:p></o:p></p>

<p class=MsoNormal>-              BOOLEAN     bRequired;              // 1
-> required, 0 -> optional<o:p></o:p></p>

<p class=MsoNormal>-              UINT        FieldOffset;            // offset
in parent struct<o:p></o:p></p>

<p class=MsoNormal>-              UINT        FieldSize;              // size
(in bytes) of the field<o:p></o:p></p>

<p class=MsoNormal>-              UINT        Default;                //
default value to use<o:p></o:p></p>

<p class=MsoNormal>-              UINT        Min;                    //
minimum value allowed<o:p></o:p></p>

<p class=MsoNormal>-              UINT        Max;                    //
maximum value allowed<o:p></o:p></p>

<p class=MsoNormal>+             NDIS_STRING RegName;                                                              //
variable name text<o:p></o:p></p>

<p class=MsoNormal>+             BOOLEAN            bRequired;                                                         //
1 -> required, 0 -> optional<o:p></o:p></p>

<p class=MsoNormal>+             UINT                      FieldOffset;                                        //
offset in parent struct<o:p></o:p></p>

<p class=MsoNormal>+             UINT                      FieldSize;                                                             //
size (in bytes) of the field<o:p></o:p></p>

<p class=MsoNormal>+             UINT                      Default;                                                                //
default value to use<o:p></o:p></p>

<p class=MsoNormal>+             UINT                      Min;                                                                       //
minimum value allowed<o:p></o:p></p>

<p class=MsoNormal>+             UINT                      Max;                                                                      //
maximum value allowed<o:p></o:p></p>

<p class=MsoNormal> } IPOIB_REG_ENTRY, *PIPOIB_REG_ENTRY;<o:p></o:p></p>

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

<p class=MsoNormal> IPOIB_REG_ENTRY HCARegTable[] = {<o:p></o:p></p>

<p class=MsoNormal>-              // reg value name             If Required 
Offset in parentr struct             Field size                 
Default         Min     Max<o:p></o:p></p>

<p class=MsoNormal>-              {NDIS_STRING_CONST("GUIDMask"),        
0, IPOIB_OFFSET(guid_mask),             IPOIB_SIZE(guid_mask),          0,          0,   
MAX_GUID_MAX},<o:p></o:p></p>

<p class=MsoNormal>+             // reg value name                                             
If Required  Offset in parentr struct                                       Field
size                                                                              Default
                                Min        Max<o:p></o:p></p>

<p class=MsoNormal>+             {NDIS_STRING_CONST("GUIDMask"),                   0,
IPOIB_OFFSET(guid_mask),                                    IPOIB_SIZE(guid_mask),                                               0,                                            0,             
MAX_GUID_MAX},<o:p></o:p></p>

<p class=MsoNormal>                /* GUIDMask should be the first element */<o:p></o:p></p>

<p class=MsoNormal>-              {NDIS_STRING_CONST("RqDepth"),         
1, IPOIB_OFFSET(rq_depth),              IPOIB_SIZE(rq_depth),          
512,        128,    1024},<o:p></o:p></p>

<p class=MsoNormal>-              {NDIS_STRING_CONST("RqLowWatermark"),  
0, IPOIB_OFFSET(rq_low_watermark),      IPOIB_SIZE(rq_low_watermark),  
4,          2,      8},<o:p></o:p></p>

<p class=MsoNormal>-              {NDIS_STRING_CONST("SqDepth"),         
1, IPOIB_OFFSET(sq_depth),              IPOIB_SIZE(sq_depth),          
512,        128,    1024},<o:p></o:p></p>

<p class=MsoNormal>-              {NDIS_STRING_CONST("SendChksum"),      
1, IPOIB_OFFSET(send_chksum_offload),  
IPOIB_SIZE(send_chksum_offload),CSUM_ENABLED,CSUM_DISABLED,CSUM_BYPASS},<o:p></o:p></p>

<p class=MsoNormal>-              {NDIS_STRING_CONST("RecvChksum"),      
1, IPOIB_OFFSET(recv_chksum_offload),  
IPOIB_SIZE(recv_chksum_offload),CSUM_ENABLED,CSUM_DISABLED,CSUM_BYPASS},<o:p></o:p></p>

<p class=MsoNormal>-              {NDIS_STRING_CONST("SaTimeout"),       
1, IPOIB_OFFSET(sa_timeout),            IPOIB_SIZE(sa_timeout),        
1000,       250,    UINT_MAX},<o:p></o:p></p>

<p class=MsoNormal>-              {NDIS_STRING_CONST("SaRetries"),       
1, IPOIB_OFFSET(sa_retry_cnt),          IPOIB_SIZE(sa_retry_cnt),       10,        
1,      UINT_MAX},<o:p></o:p></p>

<p class=MsoNormal>-              {NDIS_STRING_CONST("RecvRatio"),       
1, IPOIB_OFFSET(recv_pool_ratio),       IPOIB_SIZE(recv_pool_ratio),   
1,          1,      10},<o:p></o:p></p>

<p class=MsoNormal>-              {NDIS_STRING_CONST("PayloadMtu"),      
1, IPOIB_OFFSET(payload_mtu),           IPOIB_SIZE(payload_mtu),       
2044,       512,   MAX_UD_PAYLOAD_MTU},<o:p></o:p></p>

<p class=MsoNormal>-              {NDIS_STRING_CONST("lso"),             
0, IPOIB_OFFSET(lso),                   IPOIB_SIZE(lso),               
0,          0,      1},<o:p></o:p></p>

<p class=MsoNormal>-              {NDIS_STRING_CONST("MCLeaveRescan"),   
1, IPOIB_OFFSET(mc_leave_rescan),       IPOIB_SIZE(mc_leave_rescan),   
260,        1,    3600},<o:p></o:p></p>

<p class=MsoNormal>-              {NDIS_STRING_CONST("BCJoinRetry"),    
1, IPOIB_OFFSET(bc_join_retry),                             
IPOIB_SIZE(bc_join_retry),      50,         0,    1000},<o:p></o:p></p>

<p class=MsoNormal>-              {NDIS_STRING_CONST("CmEnabled"),       
0, IPOIB_OFFSET(cm_enabled),            IPOIB_SIZE(cm_enabled),        
FALSE,     FALSE, TRUE},<o:p></o:p></p>

<p class=MsoNormal>-              {NDIS_STRING_CONST("CmPayloadMtu"),    
1, IPOIB_OFFSET(cm_payload_mtu),        IPOIB_SIZE(cm_payload_mtu),    
MAX_CM_PAYLOAD_MTU, 512, MAX_CM_PAYLOAD_MTU}<o:p></o:p></p>

<p class=MsoNormal>+             {NDIS_STRING_CONST("RqDepth"),                                       1,
IPOIB_OFFSET(rq_depth),                                                      IPOIB_SIZE(rq_depth),                                  512,                        128,        1024},<o:p></o:p></p>

<p class=MsoNormal>+             {NDIS_STRING_CONST("RqLowWatermark"),    0,
IPOIB_OFFSET(rq_low_watermark),                  IPOIB_SIZE(rq_low_watermark),              4,                                            2,                            8},<o:p></o:p></p>

<p class=MsoNormal>+             {NDIS_STRING_CONST("SqDepth"),                                       1,
IPOIB_OFFSET(sq_depth),                                                      IPOIB_SIZE(sq_depth),                                 512,                        128,        1024},<o:p></o:p></p>

<p class=MsoNormal>+             {NDIS_STRING_CONST("SendChksum"),                              1,
IPOIB_OFFSET(send_chksum_offload),                IPOIB_SIZE(send_chksum_offload),CSUM_ENABLED,CSUM_DISABLED,CSUM_BYPASS},<o:p></o:p></p>

<p class=MsoNormal>+             {NDIS_STRING_CONST("RecvChksum"),                               1,
IPOIB_OFFSET(recv_chksum_offload),                IPOIB_SIZE(recv_chksum_offload),CSUM_ENABLED,CSUM_DISABLED,CSUM_BYPASS},<o:p></o:p></p>

<p class=MsoNormal>+             {NDIS_STRING_CONST("SaTimeout"),                   1,
IPOIB_OFFSET(sa_timeout),                                  IPOIB_SIZE(sa_timeout),
                             1000,                     250,        UINT_MAX},<o:p></o:p></p>

<p class=MsoNormal>+             {NDIS_STRING_CONST("SaRetries"),                      1,
IPOIB_OFFSET(sa_retry_cnt),                                                IPOIB_SIZE(sa_retry_cnt),                           10,
                         1,                            UINT_MAX},<o:p></o:p></p>

<p class=MsoNormal>+             {NDIS_STRING_CONST("RecvRatio"),                     1,
IPOIB_OFFSET(recv_pool_ratio),                         IPOIB_SIZE(recv_pool_ratio),     1,                                            1,                            10},<o:p></o:p></p>

<p class=MsoNormal>+             {NDIS_STRING_CONST("PayloadMtu"),                                1,
IPOIB_OFFSET(payload_mtu),                                               IPOIB_SIZE(payload_mtu),                          2044,                     512,  
MAX_UD_PAYLOAD_MTU},<o:p></o:p></p>

<p class=MsoNormal>+             {NDIS_STRING_CONST("lso"),                                                   0,
IPOIB_OFFSET(lso),                                                                    IPOIB_SIZE(lso),                                                               0,                                            0,                            1},<o:p></o:p></p>

<p class=MsoNormal>+             {NDIS_STRING_CONST("MCLeaveRescan"),        1,
IPOIB_OFFSET(mc_leave_rescan),                      IPOIB_SIZE(mc_leave_rescan), 260,                        1,             
3600},<o:p></o:p></p>

<p class=MsoNormal>+             {NDIS_STRING_CONST("BCJoinRetry"),                 1,
IPOIB_OFFSET(bc_join_retry),                                              IPOIB_SIZE(bc_join_retry),                         50,
                         0,              1000},<o:p></o:p></p>

<p class=MsoNormal>+             {NDIS_STRING_CONST("CmEnabled"),                  0,
IPOIB_OFFSET(cm_enabled),                                                IPOIB_SIZE(cm_enabled),
                           FALSE,      FALSE, TRUE},<o:p></o:p></p>

<p class=MsoNormal>+             {NDIS_STRING_CONST("CmPayloadMtu"),          1,
IPOIB_OFFSET(cm_payload_mtu),                      IPOIB_SIZE(cm_payload_mtu),                 MAX_CM_PAYLOAD_MTU,
512, MAX_CM_PAYLOAD_MTU}<o:p></o:p></p>

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

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

<p class=MsoNormal> #define IPOIB_NUM_REG_PARAMS (sizeof (HCARegTable) /
sizeof(IPOIB_REG_ENTRY))<o:p></o:p></p>

<p class=MsoNormal>@@ -235,7 +235,7 @@<o:p></o:p></p>

<p class=MsoNormal>                ULONG eventLogMsgId)<o:p></o:p></p>

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

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

<p class=MsoNormal>-#define cMaxStrLen  40<o:p></o:p></p>

<p class=MsoNormal>+#define cMaxStrLen    40<o:p></o:p></p>

<p class=MsoNormal> #define cArrLen  3<o:p></o:p></p>

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

<p class=MsoNormal>                PWCHAR logMsgArray[cArrLen]; <o:p></o:p></p>

<p class=MsoNormal>@@ -279,8 +279,8 @@<o:p></o:p></p>

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

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

<p class=MsoNormal>                IN                                                           NDIS_HANDLE                                   h_adapter,<o:p></o:p></p>

<p class=MsoNormal>-    IN                                                      NDIS_HANDLE 
                 config_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN PNDIS_MINIPORT_INIT_PARAMETERS       MiniportInitParameters);<o:p></o:p></p>

<p class=MsoNormal>+             IN                                                           NDIS_HANDLE
                  config_context,<o:p></o:p></p>

<p class=MsoNormal>+             IN PNDIS_MINIPORT_INIT_PARAMETERS            MiniportInitParameters);<o:p></o:p></p>

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

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

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

<p class=MsoNormal>@@ -288,34 +288,34 @@<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-              IN NDIS_HANDLE  adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-              IN                                           NDIS_HALT_ACTION           
HaltAction);<o:p></o:p></p>

<p class=MsoNormal>+             IN NDIS_HANDLE             adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+             IN                                                           NDIS_HALT_ACTION                                      HaltAction);<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    IN      NDIS_HANDLE         adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN  OUT PNDIS_OID_REQUEST   pNdisRequest);<o:p></o:p></p>

<p class=MsoNormal>+             IN                           NDIS_HANDLE                   adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+             IN           OUT PNDIS_OID_REQUEST          pNdisRequest);<o:p></o:p></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> NDIS_STATUS<o:p></o:p></p>

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

<p class=MsoNormal>-    IN  NDIS_HANDLE     adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    OUT PBOOLEAN        p_addr_reset);<o:p></o:p></p>

<p class=MsoNormal>+             IN           NDIS_HANDLE   adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+             OUT PBOOLEAN                               p_addr_reset);<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    IN      NDIS_HANDLE         adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN  OUT PNDIS_OID_REQUEST   pNdisRequest);<o:p></o:p></p>

<p class=MsoNormal>+             IN                           NDIS_HANDLE                   adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+             IN           OUT PNDIS_OID_REQUEST          pNdisRequest);<o:p></o:p></p>

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

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

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

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

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

<p class=MsoNormal>-    IN  NDIS_HANDLE         adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN  PNET_BUFFER_LIST    net_buffer_list,<o:p></o:p></p>

<p class=MsoNormal>-    IN  NDIS_PORT_NUMBER    port_num,<o:p></o:p></p>

<p class=MsoNormal>-    IN  ULONG               send_flags);<o:p></o:p></p>

<p class=MsoNormal>+             IN           NDIS_HANDLE                   adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+             IN           PNET_BUFFER_LIST        net_buffer_list,<o:p></o:p></p>

<p class=MsoNormal>+             IN           NDIS_PORT_NUMBER   port_num,<o:p></o:p></p>

<p class=MsoNormal>+             IN           ULONG                                                 send_flags);<o:p></o:p></p>

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

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

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

<p class=MsoNormal>@@ -324,7 +324,7 @@<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-              IN NDIS_HANDLE  adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+             IN NDIS_HANDLE             adapter_context,<o:p></o:p></p>

<p class=MsoNormal>                IN NDIS_SHUTDOWN_ACTION  shutdown_action);<o:p></o:p></p>

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

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

<p class=MsoNormal>@@ -369,28 +369,28 @@<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    IN NDIS_HANDLE  NdisMiniportDriverHandle,<o:p></o:p></p>

<p class=MsoNormal>-    IN NDIS_HANDLE  MiniportDriverContext);<o:p></o:p></p>

<p class=MsoNormal>+             IN NDIS_HANDLE             NdisMiniportDriverHandle,<o:p></o:p></p>

<p class=MsoNormal>+             IN NDIS_HANDLE             MiniportDriverContext);<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    IN  NDIS_HANDLE         adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN  PNDIS_OID_REQUEST   pNdisRequest);<o:p></o:p></p>

<p class=MsoNormal>+             IN           NDIS_HANDLE                   adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+             IN           PNDIS_OID_REQUEST    pNdisRequest);<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    IN  NDIS_HANDLE            adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN  PVOID                  requestId);<o:p></o:p></p>

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

<p class=MsoNormal>+             IN           NDIS_HANDLE                      adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+             IN           PVOID                                                     
requestId);<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    IN  NDIS_HANDLE                        
adapter_context,    <o:p></o:p></p>

<p class=MsoNormal>-    IN  PNDIS_MINIPORT_PAUSE_PARAMETERS    
pause_parameters);<o:p></o:p></p>

<p class=MsoNormal>+             IN           NDIS_HANDLE                                                                                   adapter_context,            <o:p></o:p></p>

<p class=MsoNormal>+             IN           PNDIS_MINIPORT_PAUSE_PARAMETERS             pause_parameters);<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    IN  NDIS_HANDLE                        
adapter_context,    <o:p></o:p></p>

<p class=MsoNormal>-    IN  PNDIS_MINIPORT_RESTART_PARAMETERS  
restart_parameters);<o:p></o:p></p>

<p class=MsoNormal>+             IN           NDIS_HANDLE                                                                                   adapter_context,            <o:p></o:p></p>

<p class=MsoNormal>+             IN           PNDIS_MINIPORT_RESTART_PARAMETERS         restart_parameters);<o:p></o:p></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>@@ -439,16 +439,16 @@<o:p></o:p></p>

<p class=MsoNormal>                ipoib_st_init();<o:p></o:p></p>

<p class=MsoNormal>                g_stat.drv.obj = p_drv_obj;<o:p></o:p></p>

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

<p class=MsoNormal>-    NdisZeroMemory(&characteristics,
sizeof(characteristics));<o:p></o:p></p>

<p class=MsoNormal>+             NdisZeroMemory(&characteristics, sizeof(characteristics));<o:p></o:p></p>

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

<p class=MsoNormal>-    characteristics.Header.Type =
NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS;<o:p></o:p></p>

<p class=MsoNormal>-    characteristics.Header.Size =
NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2;<o:p></o:p></p>

<p class=MsoNormal>-    characteristics.Header.Revision = NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2;<o:p></o:p></p>

<p class=MsoNormal>+             characteristics.Header.Type =
NDIS_OBJECT_TYPE_MINIPORT_DRIVER_CHARACTERISTICS;<o:p></o:p></p>

<p class=MsoNormal>+             characteristics.Header.Size =
NDIS_SIZEOF_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2;<o:p></o:p></p>

<p class=MsoNormal>+             characteristics.Header.Revision =
NDIS_MINIPORT_DRIVER_CHARACTERISTICS_REVISION_2;<o:p></o:p></p>

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

<p class=MsoNormal>                characteristics.MajorNdisVersion                             =
MAJOR_NDIS_VERSION;<o:p></o:p></p>

<p class=MsoNormal>                characteristics.MinorNdisVersion                             =
MINOR_NDIS_VERSION;<o:p></o:p></p>

<p class=MsoNormal>-    characteristics.MajorDriverVersion                    =
MAJOR_DRIVER_VERSION;<o:p></o:p></p>

<p class=MsoNormal>-    characteristics.MinorDriverVersion                    =
MINOR_DRIVER_VERSION;<o:p></o:p></p>

<p class=MsoNormal>+             characteristics.MajorDriverVersion                          =
MAJOR_DRIVER_VERSION;<o:p></o:p></p>

<p class=MsoNormal>+             characteristics.MinorDriverVersion                          =
MINOR_DRIVER_VERSION;<o:p></o:p></p>

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

<p class=MsoNormal>                characteristics.CheckForHangHandlerEx                                =
ipoib_check_for_hang;<o:p></o:p></p>

<p class=MsoNormal>                characteristics.HaltHandlerEx                                                     =
ipoib_halt_ex;<o:p></o:p></p>

<p class=MsoNormal>@@ -460,9 +460,9 @@<o:p></o:p></p>

<p class=MsoNormal>                characteristics.ReturnNetBufferListsHandler       =
ipoib_return_net_buffer_list;<o:p></o:p></p>

<p class=MsoNormal>                characteristics.SendNetBufferListsHandler          =
ipoib_send_net_buffer_list;<o:p></o:p></p>

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

<p class=MsoNormal>-              characteristics.SetOptionsHandler                                           =
ipoib_set_options;<o:p></o:p></p>

<p class=MsoNormal>+             characteristics.SetOptionsHandler                                           =
ipoib_set_options;<o:p></o:p></p>

<p class=MsoNormal>                characteristics.PauseHandler                                                      =
ipoib_pause;<o:p></o:p></p>

<p class=MsoNormal>-              characteristics.RestartHandler                                                   =
ipoib_restart;<o:p></o:p></p>

<p class=MsoNormal>+             characteristics.RestartHandler                                                   =
ipoib_restart;<o:p></o:p></p>

<p class=MsoNormal>                characteristics.UnloadHandler                                                   =
ipoib_unload;<o:p></o:p></p>

<p class=MsoNormal>                characteristics.CancelSendHandler                                          =
ipoib_cancel_xmit;<o:p></o:p></p>

<p class=MsoNormal>                characteristics.ShutdownHandlerEx                                        =
ipoib_shutdown_ex;<o:p></o:p></p>

<p class=MsoNormal>@@ -482,17 +482,17 @@<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    IN NDIS_HANDLE  NdisMiniportDriverHandle,<o:p></o:p></p>

<p class=MsoNormal>-    IN NDIS_HANDLE  MiniportDriverContext<o:p></o:p></p>

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

<p class=MsoNormal>+             IN NDIS_HANDLE             NdisMiniportDriverHandle,<o:p></o:p></p>

<p class=MsoNormal>+             IN NDIS_HANDLE             MiniportDriverContext<o:p></o:p></p>

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

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

<p class=MsoNormal>                IPOIB_ENTER( IPOIB_DBG_INIT );<o:p></o:p></p>

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

<p class=MsoNormal>-    UNREFERENCED_PARAMETER(NdisMiniportDriverHandle);<o:p></o:p></p>

<p class=MsoNormal>-    UNREFERENCED_PARAMETER(MiniportDriverContext);<o:p></o:p></p>

<p class=MsoNormal>+             UNREFERENCED_PARAMETER(NdisMiniportDriverHandle);<o:p></o:p></p>

<p class=MsoNormal>+             UNREFERENCED_PARAMETER(MiniportDriverContext);<o:p></o:p></p>

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

<p class=MsoNormal>                IPOIB_EXIT( IPOIB_DBG_INIT );<o:p></o:p></p>

<p class=MsoNormal>-    return NDIS_STATUS_SUCCESS;<o:p></o:p></p>

<p class=MsoNormal>+             return NDIS_STATUS_SUCCESS;<o:p></o:p></p>

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

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

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

<p class=MsoNormal>@@ -593,7 +593,7 @@<o:p></o:p></p>

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

<p class=MsoNormal>                NDIS_STATUS                                                                                    status;<o:p></o:p></p>

<p class=MsoNormal>                NDIS_HANDLE                                                                                   h_config;<o:p></o:p></p>

<p class=MsoNormal>-    NDIS_CONFIGURATION_OBJECT                        config_obj;<o:p></o:p></p>

<p class=MsoNormal>+             NDIS_CONFIGURATION_OBJECT                              config_obj;<o:p></o:p></p>

<p class=MsoNormal>                NDIS_CONFIGURATION_PARAMETER    *p_param;<o:p></o:p></p>

<p class=MsoNormal>                UINT                                                                                                      value;<o:p></o:p></p>

<p class=MsoNormal>                PIPOIB_REG_ENTRY                                                       pRegEntry;<o:p></o:p></p>

<p class=MsoNormal>@@ -604,11 +604,11 @@<o:p></o:p></p>

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

<p class=MsoNormal>                IPOIB_ENTER( IPOIB_DBG_INIT );<o:p></o:p></p>

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

<p class=MsoNormal>-    config_obj.Header.Type =
NDIS_OBJECT_TYPE_CONFIGURATION_OBJECT;<o:p></o:p></p>

<p class=MsoNormal>-    config_obj.Header.Revision =
NDIS_CONFIGURATION_OBJECT_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>-    config_obj.Header.Size = sizeof(NDIS_CONFIGURATION_OBJECT);<o:p></o:p></p>

<p class=MsoNormal>-    config_obj.NdisHandle = p_adapter->h_adapter;<o:p></o:p></p>

<p class=MsoNormal>-    config_obj.Flags = 0;<o:p></o:p></p>

<p class=MsoNormal>+             config_obj.Header.Type =
NDIS_OBJECT_TYPE_CONFIGURATION_OBJECT;<o:p></o:p></p>

<p class=MsoNormal>+             config_obj.Header.Revision =
NDIS_CONFIGURATION_OBJECT_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>+             config_obj.Header.Size =
sizeof(NDIS_CONFIGURATION_OBJECT);<o:p></o:p></p>

<p class=MsoNormal>+             config_obj.NdisHandle =
p_adapter->h_adapter;<o:p></o:p></p>

<p class=MsoNormal>+             config_obj.Flags = 0;<o:p></o:p></p>

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

<p class=MsoNormal>                status = NdisOpenConfigurationEx(
&config_obj, &h_config);<o:p></o:p></p>

<p class=MsoNormal>                if( status != NDIS_STATUS_SUCCESS )<o:p></o:p></p>

<p class=MsoNormal>@@ -833,7 +833,7 @@<o:p></o:p></p>

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

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

<p class=MsoNormal> //! Initialization function called for each IOC discovered<o:p></o:p></p>

<p class=MsoNormal>-/*  The MiniportInitialize function is a required function
that sets up a<o:p></o:p></p>

<p class=MsoNormal>+/*         The MiniportInitialize function is a required
function that sets up a<o:p></o:p></p>

<p class=MsoNormal> NIC (or virtual NIC) for network I/O operations, claims all
hardware<o:p></o:p></p>

<p class=MsoNormal> resources necessary to the NIC in the registry, and
allocates resources<o:p></o:p></p>

<p class=MsoNormal> the driver needs to carry out network I/O operations.<o:p></o:p></p>

<p class=MsoNormal>@@ -861,110 +861,110 @@<o:p></o:p></p>

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

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

<p class=MsoNormal>                ipoib_adapter_t *p_adapter,<o:p></o:p></p>

<p class=MsoNormal>-    NDIS_HANDLE             h_adapter<o:p></o:p></p>

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

<p class=MsoNormal>+             NDIS_HANDLE   h_adapter<o:p></o:p></p>

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

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

<p class=MsoNormal>-    NDIS_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES atr;<o:p></o:p></p>

<p class=MsoNormal>-    NTSTATUS Status;<o:p></o:p></p>

<p class=MsoNormal>+             NDIS_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES
atr;<o:p></o:p></p>

<p class=MsoNormal>+             NTSTATUS Status;<o:p></o:p></p>

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

<p class=MsoNormal>-    NdisZeroMemory(&atr,
sizeof(NDIS_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES));<o:p></o:p></p>

<p class=MsoNormal>+             NdisZeroMemory(&atr,
sizeof(NDIS_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES));<o:p></o:p></p>

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

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

<p class=MsoNormal>-    // setting registration attributes<o:p></o:p></p>

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

<p class=MsoNormal>-    atr.Header.Type = NDIS_OBJECT_TYPE_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES;<o:p></o:p></p>

<p class=MsoNormal>-    atr.Header.Revision =
NDIS_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>-    atr.Header.Size =
NDIS_SIZEOF_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

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

<p class=MsoNormal>+             // setting registration attributes<o:p></o:p></p>

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

<p class=MsoNormal>+             atr.Header.Type =
NDIS_OBJECT_TYPE_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES;<o:p></o:p></p>

<p class=MsoNormal>+             atr.Header.Revision =
NDIS_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>+             atr.Header.Size =
NDIS_SIZEOF_MINIPORT_ADD_DEVICE_REGISTRATION_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

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

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

<p class=MsoNormal>-    atr.MiniportAddDeviceContext = (NDIS_HANDLE)p_adapter;<o:p></o:p></p>

<p class=MsoNormal>-    atr.Flags = 0; <o:p></o:p></p>

<p class=MsoNormal>+             atr.MiniportAddDeviceContext =
(NDIS_HANDLE)p_adapter;<o:p></o:p></p>

<p class=MsoNormal>+             atr.Flags = 0; <o:p></o:p></p>

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

<p class=MsoNormal>-    Status = NdisMSetMiniportAttributes(h_adapter,<o:p></o:p></p>

<p class=MsoNormal>-                    (PNDIS_MINIPORT_ADAPTER_ATTRIBUTES)&atr);<o:p></o:p></p>

<p class=MsoNormal>+             Status = NdisMSetMiniportAttributes(h_adapter,<o:p></o:p></p>

<p class=MsoNormal>+                                                                             (PNDIS_MINIPORT_ADAPTER_ATTRIBUTES)&atr);<o:p></o:p></p>

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

<p class=MsoNormal>-    return Status;<o:p></o:p></p>

<p class=MsoNormal>+             return Status;<o:p></o:p></p>

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

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

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

<p class=MsoNormal> #if 0<o:p></o:p></p>

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

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

<p class=MsoNormal>-    ipoib_adapter_t *p_adapter,<o:p></o:p></p>

<p class=MsoNormal>-    NDIS_HANDLE             h_adapter<o:p></o:p></p>

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

<p class=MsoNormal>+             ipoib_adapter_t *p_adapter,<o:p></o:p></p>

<p class=MsoNormal>+             NDIS_HANDLE   h_adapter<o:p></o:p></p>

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

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

<p class=MsoNormal>-    NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES atr;<o:p></o:p></p>

<p class=MsoNormal>-    NTSTATUS Status;<o:p></o:p></p>

<p class=MsoNormal>+             NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES
atr;<o:p></o:p></p>

<p class=MsoNormal>+             NTSTATUS Status;<o:p></o:p></p>

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

<p class=MsoNormal>-    NdisZeroMemory(&atr,
sizeof(NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES));<o:p></o:p></p>

<p class=MsoNormal>+             NdisZeroMemory(&atr,
sizeof(NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES));<o:p></o:p></p>

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

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

<p class=MsoNormal>-    // setting registration attributes<o:p></o:p></p>

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

<p class=MsoNormal>-    atr.Header.Type =
NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES;<o:p></o:p></p>

<p class=MsoNormal>-    atr.Header.Revision =
NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>-    atr.Header.Size =
NDIS_SIZEOF_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

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

<p class=MsoNormal>+             // setting registration attributes<o:p></o:p></p>

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

<p class=MsoNormal>+             atr.Header.Type =
NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES;<o:p></o:p></p>

<p class=MsoNormal>+             atr.Header.Revision = NDIS_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>+             atr.Header.Size =
NDIS_SIZEOF_MINIPORT_ADAPTER_HARDWARE_ASSIST_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

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

<p class=MsoNormal>-    NDIS_HD_SPLIT_ATTRIBUTES nhsa;<o:p></o:p></p>

<p class=MsoNormal>-    NdisZeroMemory(&nhsa, sizeof(nhsa));<o:p></o:p></p>

<p class=MsoNormal>+             NDIS_HD_SPLIT_ATTRIBUTES nhsa;<o:p></o:p></p>

<p class=MsoNormal>+             NdisZeroMemory(&nhsa, sizeof(nhsa));<o:p></o:p></p>

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

<p class=MsoNormal>-    nhsa.Header.Type =
NDIS_OBJECT_TYPE_HD_SPLIT_ATTRIBUTES;<o:p></o:p></p>

<p class=MsoNormal>-    nhsa.Header.Revision = NDIS_OFFLOAD_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>-    nhsa.Header.Size =
NDIS_SIZEOF_HD_SPLIT_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>+             nhsa.Header.Type = NDIS_OBJECT_TYPE_HD_SPLIT_ATTRIBUTES;<o:p></o:p></p>

<p class=MsoNormal>+             nhsa.Header.Revision =
NDIS_OFFLOAD_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>+             nhsa.Header.Size =
NDIS_SIZEOF_HD_SPLIT_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

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

<p class=MsoNormal>-    // BUGBUG: We are just cheating here ...<o:p></o:p></p>

<p class=MsoNormal>-    nhsa.HardwareCapabilities =
NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT;<o:p></o:p></p>

<p class=MsoNormal>+             // BUGBUG: We are just cheating here ...<o:p></o:p></p>

<p class=MsoNormal>+             nhsa.HardwareCapabilities =
NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT;<o:p></o:p></p>

<p class=MsoNormal> #if 0<o:p></o:p></p>

<p class=MsoNormal>-    ... Only supported on B0<o:p></o:p></p>

<p class=MsoNormal>+             ... Only supported on B0<o:p></o:p></p>

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

<p class=MsoNormal>-                                
NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV4_OPTIONS |<o:p></o:p></p>

<p class=MsoNormal>-                                
NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV6_EXTENSION_HEADERS |<o:p></o:p></p>

<p class=MsoNormal>-                                
NDIS_HD_SPLIT_CAPS_SUPPORTS_TCP_OPTIONS;<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                                             
NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV4_OPTIONS |<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                                             
NDIS_HD_SPLIT_CAPS_SUPPORTS_IPV6_EXTENSION_HEADERS |<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                                             
NDIS_HD_SPLIT_CAPS_SUPPORTS_TCP_OPTIONS;<o:p></o:p></p>

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

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

<p class=MsoNormal>-    // The bellow should be left zero<o:p></o:p></p>

<p class=MsoNormal>-    if (pPort->Config.HeaderDataSplit) {<o:p></o:p></p>

<p class=MsoNormal>-        nhsa.CurrentCapabilities = NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT;<o:p></o:p></p>

<p class=MsoNormal>-    } else {<o:p></o:p></p>

<p class=MsoNormal>-        nhsa.CurrentCapabilities = 0;<o:p></o:p></p>

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

<p class=MsoNormal>+             // The bellow should be left zero<o:p></o:p></p>

<p class=MsoNormal>+             if (pPort->Config.HeaderDataSplit) {<o:p></o:p></p>

<p class=MsoNormal>+                             nhsa.CurrentCapabilities =
NDIS_HD_SPLIT_CAPS_SUPPORTS_HEADER_DATA_SPLIT;<o:p></o:p></p>

<p class=MsoNormal>+             } else {<o:p></o:p></p>

<p class=MsoNormal>+                             nhsa.CurrentCapabilities = 0;<o:p></o:p></p>

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

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

<p class=MsoNormal>-    nhsa.HDSplitFlags = 0;<o:p></o:p></p>

<p class=MsoNormal>-    nhsa.BackfillSize = 0;<o:p></o:p></p>

<p class=MsoNormal>-    nhsa.MaxHeaderSize = 0;    <o:p></o:p></p>

<p class=MsoNormal>+             nhsa.HDSplitFlags = 0;<o:p></o:p></p>

<p class=MsoNormal>+             nhsa.BackfillSize = 0;<o:p></o:p></p>

<p class=MsoNormal>+             nhsa.MaxHeaderSize = 0;    <o:p></o:p></p>

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

<p class=MsoNormal>-    atr.HDSplitAttributes = &nhsa;<o:p></o:p></p>

<p class=MsoNormal>+             atr.HDSplitAttributes = &nhsa;<o:p></o:p></p>

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

<p class=MsoNormal>-    Status = NdisMSetMiniportAttributes(h_adapter,<o:p></o:p></p>

<p class=MsoNormal>-                   
(PNDIS_MINIPORT_ADAPTER_ATTRIBUTES)&atr);<o:p></o:p></p>

<p class=MsoNormal>+             Status = NdisMSetMiniportAttributes(h_adapter,<o:p></o:p></p>

<p class=MsoNormal>+                                                                             (PNDIS_MINIPORT_ADAPTER_ATTRIBUTES)&atr);<o:p></o:p></p>

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

<p class=MsoNormal>-    if (nhsa.HDSplitFlags &
NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT) {<o:p></o:p></p>

<p class=MsoNormal>-        ASSERT(pPort->Config.HeaderDataSplit == TRUE);<o:p></o:p></p>

<p class=MsoNormal>-        pPort->Config.HeaderDataSplit = TRUE;<o:p></o:p></p>

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

<p class=MsoNormal>-    else {<o:p></o:p></p>

<p class=MsoNormal>-        ASSERT(pPort->Config.HeaderDataSplit == FALSE);<o:p></o:p></p>

<p class=MsoNormal>-        pPort->Config.HeaderDataSplit = FALSE;<o:p></o:p></p>

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

<p class=MsoNormal>+             if (nhsa.HDSplitFlags &
NDIS_HD_SPLIT_ENABLE_HEADER_DATA_SPLIT) {<o:p></o:p></p>

<p class=MsoNormal>+                             ASSERT(pPort->Config.HeaderDataSplit
== TRUE);<o:p></o:p></p>

<p class=MsoNormal>+                             pPort->Config.HeaderDataSplit
= TRUE;<o:p></o:p></p>

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

<p class=MsoNormal>+             else {<o:p></o:p></p>

<p class=MsoNormal>+                             ASSERT(pPort->Config.HeaderDataSplit
== FALSE);<o:p></o:p></p>

<p class=MsoNormal>+                             pPort->Config.HeaderDataSplit
= FALSE;<o:p></o:p></p>

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

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

<p class=MsoNormal>-    return Status;<o:p></o:p></p>

<p class=MsoNormal>+             return Status;<o:p></o:p></p>

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

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

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

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

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

<p class=MsoNormal>-    the routine sets attributes that are associated with a
miniport adapter.<o:p></o:p></p>

<p class=MsoNormal>+             the routine sets attributes that are
associated with a miniport adapter.<o:p></o:p></p>

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

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

<p class=MsoNormal>-    pPort - Pointer to port object<o:p></o:p></p>

<p class=MsoNormal>+             pPort - Pointer to port object<o:p></o:p></p>

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

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

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

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

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

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

<p class=MsoNormal>-    Should be called in PASSIVE_LEVEL<o:p></o:p></p>

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

<p class=MsoNormal>+             Should be called in PASSIVE_LEVEL<o:p></o:p></p>

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

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

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

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

<p class=MsoNormal>@@ -986,7 +986,7 @@<o:p></o:p></p>

<p class=MsoNormal>                atr.MiniportAdapterContext =
(NDIS_HANDLE)p_adapter; <o:p></o:p></p>

<p class=MsoNormal>                atr.AttributeFlags =
NDIS_MINIPORT_ATTRIBUTES_BUS_MASTER;<o:p></o:p></p>

<p class=MsoNormal>                atr.CheckForHangTimeInSeconds = 10;<o:p></o:p></p>

<p class=MsoNormal>-              atr.InterfaceType = NdisInterfacePci ;   //
???? UH<o:p></o:p></p>

<p class=MsoNormal>+             atr.InterfaceType = NdisInterfacePci ;     //
???? UH<o:p></o:p></p>

<p class=MsoNormal>                //TODO NDIS60 PNP or PCI ?<o:p></o:p></p>

<p class=MsoNormal>                //RegistrationAttributes.InterfaceType =
NdisInterfacePNPBus;<o:p></o:p></p>

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

<p class=MsoNormal>@@ -999,29 +999,29 @@<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    the routine sets generic attributes that are associated
with a miniport <o:p></o:p></p>

<p class=MsoNormal>-    adapter.<o:p></o:p></p>

<p class=MsoNormal>+             the routine sets generic attributes that are
associated with a miniport <o:p></o:p></p>

<p class=MsoNormal>+             adapter.<o:p></o:p></p>

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

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

<p class=MsoNormal>-    pPort - Pointer to port object<o:p></o:p></p>

<p class=MsoNormal>+             pPort - Pointer to port object<o:p></o:p></p>

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

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

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

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

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

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

<p class=MsoNormal>-    Should be called in PASSIVE_LEVEL<o:p></o:p></p>

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

<p class=MsoNormal>+             Should be called in PASSIVE_LEVEL<o:p></o:p></p>

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

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

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

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

<p class=MsoNormal>-    ipoib_adapter_t *p_adapter,<o:p></o:p></p>

<p class=MsoNormal>-    NDIS_HANDLE             h_adapter<o:p></o:p></p>

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

<p class=MsoNormal>+             ipoib_adapter_t *p_adapter,<o:p></o:p></p>

<p class=MsoNormal>+             NDIS_HANDLE   h_adapter<o:p></o:p></p>

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

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

<p class=MsoNormal>-    NDIS_STATUS Status;<o:p></o:p></p>

<p class=MsoNormal>+             NDIS_STATUS Status;<o:p></o:p></p>

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

<p class=MsoNormal>-    NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES gat;<o:p></o:p></p>

<p class=MsoNormal>-    NdisZeroMemory(&gat,
sizeof(NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES));<o:p></o:p></p>

<p class=MsoNormal>+             NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES gat;<o:p></o:p></p>

<p class=MsoNormal>+             NdisZeroMemory(&gat,
sizeof(NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES));<o:p></o:p></p>

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

<p class=MsoNormal>                /* set up generic attributes */<o:p></o:p></p>

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

<p class=MsoNormal>@@ -1029,11 +1029,11 @@<o:p></o:p></p>

<p class=MsoNormal>                gat.Header.Revision =
NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES_REVISION_1;<o:p></o:p></p>

<p class=MsoNormal>                gat.Header.Size =
sizeof(NDIS_MINIPORT_ADAPTER_GENERAL_ATTRIBUTES);<o:p></o:p></p>

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

<p class=MsoNormal>-              gat.MediaType =                              NdisMedium802_3;   
<o:p></o:p></p>

<p class=MsoNormal>-              gat.MaxXmitLinkSpeed =             IPOIB_MEDIA_MAX_SPEED;<o:p></o:p></p>

<p class=MsoNormal>-              gat.MaxRcvLinkSpeed =                IPOIB_MEDIA_MAX_SPEED;<o:p></o:p></p>

<p class=MsoNormal>+             gat.MediaType =                              NdisMedium802_3;        <o:p></o:p></p>

<p class=MsoNormal>+             gat.MaxXmitLinkSpeed =             IPOIB_MEDIA_MAX_SPEED;<o:p></o:p></p>

<p class=MsoNormal>+             gat.MaxRcvLinkSpeed =                IPOIB_MEDIA_MAX_SPEED;<o:p></o:p></p>

<p class=MsoNormal>                gat.XmitLinkSpeed =                      NDIS_LINK_SPEED_UNKNOWN;<o:p></o:p></p>

<p class=MsoNormal>-              gat.RcvLinkSpeed =         NDIS_LINK_SPEED_UNKNOWN;<o:p></o:p></p>

<p class=MsoNormal>+             gat.RcvLinkSpeed =                         NDIS_LINK_SPEED_UNKNOWN;<o:p></o:p></p>

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

<p class=MsoNormal>                gat.MediaConnectState =
MediaConnectStateConnected; //TODO NDIS60 Check the current state<o:p></o:p></p>

<p class=MsoNormal>                gat.MediaDuplexState = MediaDuplexStateFull;<o:p></o:p></p>

<p class=MsoNormal>@@ -1051,7 +1051,7 @@<o:p></o:p></p>

<p class=MsoNormal>                                                                                //
DT: Enable for Header Data Split WHQL<o:p></o:p></p>

<p class=MsoNormal>                                                                                //
|  NDIS_MAC_OPTION_8021Q_VLAN;<o:p></o:p></p>

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

<p class=MsoNormal>-              gat.SupportedPacketFilters =     NDIS_PACKET_TYPE_DIRECTED
|<o:p></o:p></p>

<p class=MsoNormal>+             gat.SupportedPacketFilters =     NDIS_PACKET_TYPE_DIRECTED
|<o:p></o:p></p>

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

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

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

<p class=MsoNormal>@@ -1085,57 +1085,57 @@<o:p></o:p></p>

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

<p class=MsoNormal>                //TODO NDIS60 is it possible to reduce
unsupported statistics<o:p></o:p></p>

<p class=MsoNormal>                gat.SupportedStatistics = <o:p></o:p></p>

<p class=MsoNormal>-                                     
NDIS_STATISTICS_XMIT_OK_SUPPORTED |<o:p></o:p></p>

<p class=MsoNormal>-                                     
NDIS_STATISTICS_RCV_OK_SUPPORTED |<o:p></o:p></p>

<p class=MsoNormal>-                                     
NDIS_STATISTICS_XMIT_ERROR_SUPPORTED |<o:p></o:p></p>

<p class=MsoNormal>-                                     
NDIS_STATISTICS_RCV_ERROR_SUPPORTED |<o:p></o:p></p>

<p class=MsoNormal>-                                     
NDIS_STATISTICS_RCV_CRC_ERROR_SUPPORTED |<o:p></o:p></p>

<p class=MsoNormal>-                                     
NDIS_STATISTICS_RCV_NO_BUFFER_SUPPORTED |<o:p></o:p></p>

<p class=MsoNormal>-                                     
NDIS_STATISTICS_TRANSMIT_QUEUE_LENGTH_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                             NDIS_STATISTICS_XMIT_OK_SUPPORTED
|<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                             NDIS_STATISTICS_RCV_OK_SUPPORTED
|<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                             NDIS_STATISTICS_XMIT_ERROR_SUPPORTED
|<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                             NDIS_STATISTICS_RCV_ERROR_SUPPORTED
|<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                             NDIS_STATISTICS_RCV_CRC_ERROR_SUPPORTED
|<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                             NDIS_STATISTICS_RCV_NO_BUFFER_SUPPORTED
|<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                             NDIS_STATISTICS_TRANSMIT_QUEUE_LENGTH_SUPPORTED;<o:p></o:p></p>

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

<p class=MsoNormal>                //SupportedStatistics = NDIS_STATISTICS_XMIT_OK_SUPPORTED
|<o:p></o:p></p>

<p class=MsoNormal>                                                                                                                //
NDIS_STATISTICS_GEN_STATISTICS_SUPPORTED;<o:p></o:p></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>-    // Set power management capabilities<o:p></o:p></p>

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

<p class=MsoNormal>-    gat.PowerManagementCapabilities = NULL;<o:p></o:p></p>

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

<p class=MsoNormal>+             // Set power management capabilities<o:p></o:p></p>

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

<p class=MsoNormal>+             gat.PowerManagementCapabilities = NULL;<o:p></o:p></p>

<p class=MsoNormal> #if 0<o:p></o:p></p>

<p class=MsoNormal>-    NDIS_PNP_CAPABILITIES PowerManagementCapabilities;<o:p></o:p></p>

<p class=MsoNormal>-    NdisZeroMemory(&PowerManagementCapabilities,
sizeof(NDIS_PNP_CAPABILITIES));<o:p></o:p></p>

<p class=MsoNormal>-    if (MPIsPoMgmtSupported(pPort))<o:p></o:p></p>

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

<p class=MsoNormal>-        MPFillPoMgmtCaps(pPort,
&PowerManagementCapabilities, &Status, &unUsed);<o:p></o:p></p>

<p class=MsoNormal>-        ASSERT(NT_SUCCESS(Status)); <o:p></o:p></p>

<p class=MsoNormal>-        gat.PowerManagementCapabilities =
&PowerManagementCapabilities;<o:p></o:p></p>

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

<p class=MsoNormal>-    else<o:p></o:p></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>+             NDIS_PNP_CAPABILITIES PowerManagementCapabilities;<o:p></o:p></p>

<p class=MsoNormal>+             NdisZeroMemory(&PowerManagementCapabilities,
sizeof(NDIS_PNP_CAPABILITIES));<o:p></o:p></p>

<p class=MsoNormal>+             if (MPIsPoMgmtSupported(pPort))<o:p></o:p></p>

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

<p class=MsoNormal>+                             MPFillPoMgmtCaps(pPort,
&PowerManagementCapabilities, &Status, &unUsed);<o:p></o:p></p>

<p class=MsoNormal>+                             ASSERT(NT_SUCCESS(Status)); <o:p></o:p></p>

<p class=MsoNormal>+                             gat.PowerManagementCapabilities
= &PowerManagementCapabilities;<o:p></o:p></p>

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

<p class=MsoNormal>+             else<o:p></o:p></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> #endif<o:p></o:p></p>

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

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

<p class=MsoNormal>-    // Set RSS attributes<o:p></o:p></p>

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

<p class=MsoNormal>-    gat.RecvScaleCapabilities = NULL;<o:p></o:p></p>

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

<p class=MsoNormal>+             // Set RSS attributes<o:p></o:p></p>

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

<p class=MsoNormal>+             gat.RecvScaleCapabilities = NULL;<o:p></o:p></p>

<p class=MsoNormal> #if 0<o:p></o:p></p>

<p class=MsoNormal>-    NDIS_RECEIVE_SCALE_CAPABILITIES RssCapabilities;<o:p></o:p></p>

<p class=MsoNormal>-    NdisZeroMemory(&RssCapabilities,
sizeof(PNDIS_RECEIVE_SCALE_CAPABILITIES));<o:p></o:p></p>

<p class=MsoNormal>-    Status = MPFillRssCapabilities(pPort,
&RssCapabilities, &unUsed);<o:p></o:p></p>

<p class=MsoNormal>-    if (NT_SUCCESS(Status)) <o:p></o:p></p>

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

<p class=MsoNormal>-        gat.RecvScaleCapabilities = &RssCapabilities;<o:p></o:p></p>

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

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

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

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

<p class=MsoNormal>-        // do not fail the call because of failure to get
PM caps<o:p></o:p></p>

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

<p class=MsoNormal>-        Status = NDIS_STATUS_SUCCESS;<o:p></o:p></p>

<p class=MsoNormal>-        gat.RecvScaleCapabilities = NULL;<o:p></o:p></p>

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

<p class=MsoNormal>+             NDIS_RECEIVE_SCALE_CAPABILITIES
RssCapabilities;<o:p></o:p></p>

<p class=MsoNormal>+             NdisZeroMemory(&RssCapabilities,
sizeof(PNDIS_RECEIVE_SCALE_CAPABILITIES));<o:p></o:p></p>

<p class=MsoNormal>+             Status = MPFillRssCapabilities(pPort,
&RssCapabilities, &unUsed);<o:p></o:p></p>

<p class=MsoNormal>+             if (NT_SUCCESS(Status)) <o:p></o:p></p>

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

<p class=MsoNormal>+                             gat.RecvScaleCapabilities =
&RssCapabilities;<o:p></o:p></p>

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

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

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

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

<p class=MsoNormal>+                             // do not fail the call
because of failure to get PM caps<o:p></o:p></p>

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

<p class=MsoNormal>+                             Status = NDIS_STATUS_SUCCESS;<o:p></o:p></p>

<p class=MsoNormal>+                             gat.RecvScaleCapabilities =
NULL;<o:p></o:p></p>

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

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

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

<p class=MsoNormal>                Status =
NdisMSetMiniportAttributes(h_adapter,<o:p></o:p></p>

<p class=MsoNormal>@@ -1147,16 +1147,16 @@<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    The routine sets an NDIS_OFFLOAD structure indicates
the current offload <o:p></o:p></p>

<p class=MsoNormal>-    capabilities that are provided by the miniport adapter <o:p></o:p></p>

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

<p class=MsoNormal>+             The routine sets an NDIS_OFFLOAD structure
indicates the current offload <o:p></o:p></p>

<p class=MsoNormal>+             capabilities that are provided by the miniport
adapter <o:p></o:p></p>

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

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

<p class=MsoNormal>-    pPort - a pointer to port object<o:p></o:p></p>

<p class=MsoNormal>-    offload - reference to NDIS_OFFLOAD object that should
be filled<o:p></o:p></p>

<p class=MsoNormal>+             pPort - a pointer to port object<o:p></o:p></p>

<p class=MsoNormal>+             offload - reference to NDIS_OFFLOAD object
that should be filled<o:p></o:p></p>

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

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

<p class=MsoNormal>-    None.<o:p></o:p></p>

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

<p class=MsoNormal>+             None.<o:p></o:p></p>

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

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

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

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

<p class=MsoNormal>@@ -1235,22 +1235,22 @@<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    The routine sets an NDIS_OFFLOAD structure that
indicates all the task <o:p></o:p></p>

<p class=MsoNormal>-    offload capabilites that are supported by the NIC.
These capabilities include<o:p></o:p></p>

<p class=MsoNormal>-    capabilities that are currently disabled by
standardized keywords in the registry. <o:p></o:p></p>

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

<p class=MsoNormal>+             The routine sets an NDIS_OFFLOAD structure
that indicates all the task <o:p></o:p></p>

<p class=MsoNormal>+             offload capabilites that are supported by the
NIC. These capabilities include<o:p></o:p></p>

<p class=MsoNormal>+             capabilities that are currently disabled by
standardized keywords in the registry. <o:p></o:p></p>

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

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

<p class=MsoNormal>-    offload - reference to NDIS_OFFLOAD object that should
be filled<o:p></o:p></p>

<p class=MsoNormal>+             offload - reference to NDIS_OFFLOAD object
that should be filled<o:p></o:p></p>

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

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

<p class=MsoNormal>-    None.<o:p></o:p></p>

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

<p class=MsoNormal>+             None.<o:p></o:p></p>

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

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

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

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

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

<p class=MsoNormal>                ipoib_adapter_t *p_adapter,<o:p></o:p></p>

<p class=MsoNormal>-              NDIS_OFFLOAD                *p_offload<o:p></o:p></p>

<p class=MsoNormal>+             NDIS_OFFLOAD                *p_offload<o:p></o:p></p>

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

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

<p class=MsoNormal>                ULONG ulEncapsulation =
NDIS_ENCAPSULATION_IEEE_802_3 | NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q ;<o:p></o:p></p>

<p class=MsoNormal>@@ -1276,9 +1276,9 @@<o:p></o:p></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>-              //  BUGBUG::<o:p></o:p></p>

<p class=MsoNormal>-              //  During a HW bug that didn't handle
correctly packets with <o:p></o:p></p>

<p class=MsoNormal>-              //  IPv6 Extension Headers -> we set
IpExtensionHeadersSupported to TRUE<o:p></o:p></p>

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

<p class=MsoNormal>+             //            During a HW bug that didn't
handle correctly packets with <o:p></o:p></p>

<p class=MsoNormal>+             //            IPv6 Extension Headers -> we
set IpExtensionHeadersSupported to TRUE<o:p></o:p></p>

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

<p class=MsoNormal>                p_offload->Checksum.IPv6Transmit.Encapsulation
= ulEncapsulation;<o:p></o:p></p>

<p class=MsoNormal>                p_offload->Checksum.IPv6Transmit.IpExtensionHeadersSupported
= <o:p></o:p></p>

<p class=MsoNormal>@@ -1323,18 +1323,18 @@<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    The routine sets offload attributes that are associated
with a miniport <o:p></o:p></p>

<p class=MsoNormal>-    adapter.<o:p></o:p></p>

<p class=MsoNormal>+             The routine sets offload attributes that are
associated with a miniport <o:p></o:p></p>

<p class=MsoNormal>+             adapter.<o:p></o:p></p>

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

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

<p class=MsoNormal>-    pPort - Pointer to port object<o:p></o:p></p>

<p class=MsoNormal>+             pPort - Pointer to port object<o:p></o:p></p>

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

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

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

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

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

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

<p class=MsoNormal>-    Should be called in PASSIVE_LEVEL<o:p></o:p></p>

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

<p class=MsoNormal>+             Should be called in PASSIVE_LEVEL<o:p></o:p></p>

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

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

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

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

<p class=MsoNormal>@@ -1346,7 +1346,7 @@<o:p></o:p></p>

<p class=MsoNormal>                NDIS_OFFLOAD offload,hwOffload;<o:p></o:p></p>

<p class=MsoNormal>                //ULONG ulEncapsulation =
NDIS_ENCAPSULATION_IEEE_802_3 | NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q;<o:p></o:p></p>

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

<p class=MsoNormal>-              NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES
oat;    <o:p></o:p></p>

<p class=MsoNormal>+             NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES oat;              
<o:p></o:p></p>

<p class=MsoNormal>                NdisZeroMemory(&oat,
sizeof(NDIS_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES));<o:p></o:p></p>

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

<p class=MsoNormal>                oat.Header.Type =
NDIS_OBJECT_TYPE_MINIPORT_ADAPTER_OFFLOAD_ATTRIBUTES;<o:p></o:p></p>

<p class=MsoNormal>@@ -1372,30 +1372,30 @@<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    An NDIS 6.0 miniport driver must call
NdisMSetMiniportAttributes<o:p></o:p></p>

<p class=MsoNormal>-    at least twice. The first call is to register itself
with NDIS.<o:p></o:p></p>

<p class=MsoNormal>-    The second call is to register the miniport driver's
general<o:p></o:p></p>

<p class=MsoNormal>-    attributes with NDIS.<o:p></o:p></p>

<p class=MsoNormal>+             An NDIS 6.0 miniport driver must call
NdisMSetMiniportAttributes<o:p></o:p></p>

<p class=MsoNormal>+             at least twice. The first call is to register
itself with NDIS.<o:p></o:p></p>

<p class=MsoNormal>+             The second call is to register the miniport
driver's general<o:p></o:p></p>

<p class=MsoNormal>+             attributes with NDIS.<o:p></o:p></p>

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

<p class=MsoNormal>-    NdisMSetMiniportAttributes takes a parameter of type<o:p></o:p></p>

<p class=MsoNormal>-    NDIS_MINIPORT_ADAPTER_ATTRIBUTES, which is a union of
several miniport<o:p></o:p></p>

<p class=MsoNormal>-    adapter attributes. Miniport drivers must first call<o:p></o:p></p>

<p class=MsoNormal>-    NdisMSetMiniportAttributes and pass in an<o:p></o:p></p>

<p class=MsoNormal>-    NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES structure<o:p></o:p></p>

<p class=MsoNormal>-    that contains the pointer to its own context area,
attribute flags,<o:p></o:p></p>

<p class=MsoNormal>-    check-for-hang time, and interface type.<o:p></o:p></p>

<p class=MsoNormal>+             NdisMSetMiniportAttributes takes a parameter
of type<o:p></o:p></p>

<p class=MsoNormal>+             NDIS_MINIPORT_ADAPTER_ATTRIBUTES, which is a
union of several miniport<o:p></o:p></p>

<p class=MsoNormal>+             adapter attributes. Miniport drivers must
first call<o:p></o:p></p>

<p class=MsoNormal>+             NdisMSetMiniportAttributes and pass in an<o:p></o:p></p>

<p class=MsoNormal>+             NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES
structure<o:p></o:p></p>

<p class=MsoNormal>+             that contains the pointer to its own context
area, attribute flags,<o:p></o:p></p>

<p class=MsoNormal>+             check-for-hang time, and interface type.<o:p></o:p></p>

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

<p class=MsoNormal>-    All NDIS 6.0 miniport drivers are deserialized by
default.<o:p></o:p></p>

<p class=MsoNormal>+             All NDIS 6.0 miniport drivers are deserialized
by default.<o:p></o:p></p>

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

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

<p class=MsoNormal>-    pPort - Pointer to port object<o:p></o:p></p>

<p class=MsoNormal>+             pPort - Pointer to port object<o:p></o:p></p>

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

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

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

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

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

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

<p class=MsoNormal>-    Should be called in PASSIVE_LEVEL<o:p></o:p></p>

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

<p class=MsoNormal>+             Should be called in PASSIVE_LEVEL<o:p></o:p></p>

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

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

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

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

<p class=MsoNormal>@@ -1433,8 +1433,8 @@<o:p></o:p></p>

<p class=MsoNormal>                                Status =
SetHardwareAssistAttributes(pPort);<o:p></o:p></p>

<p class=MsoNormal>                                if (Status !=
NDIS_STATUS_SUCCESS)<o:p></o:p></p>

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

<p class=MsoNormal>-                                 
//ETH_PRINT(TRACE_LEVEL_ERROR, ETH_INIT, "Set Hardware Assist Attributes
failed Error=0x%x\n", Status);<o:p></o:p></p>

<p class=MsoNormal>-                                  return Status;<o:p></o:p></p>

<p class=MsoNormal>+                                             //ETH_PRINT(TRACE_LEVEL_ERROR,
ETH_INIT, "Set Hardware Assist Attributes failed Error=0x%x\n",
Status);<o:p></o:p></p>

<p class=MsoNormal>+                                             return Status;<o:p></o:p></p>

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

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

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

<p class=MsoNormal>@@ -1442,8 +1442,8 @@<o:p></o:p></p>

<p class=MsoNormal>                Status = SetGenericAttributes(p_adapter,
h_adapter);<o:p></o:p></p>

<p class=MsoNormal>                if (Status != NDIS_STATUS_SUCCESS)<o:p></o:p></p>

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

<p class=MsoNormal>-                  //ETH_PRINT(TRACE_LEVEL_ERROR, ETH_INIT,
"Set generic attributes failed Error=0x%x\n", Status);<o:p></o:p></p>

<p class=MsoNormal>-                  return Status;<o:p></o:p></p>

<p class=MsoNormal>+                             //ETH_PRINT(TRACE_LEVEL_ERROR,
ETH_INIT, "Set generic attributes failed Error=0x%x\n", Status);<o:p></o:p></p>

<p class=MsoNormal>+                             return Status;<o:p></o:p></p>

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

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

<p class=MsoNormal>                return Status;<o:p></o:p></p>

<p class=MsoNormal>@@ -1452,20 +1452,20 @@<o:p></o:p></p>

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

<p class=MsoNormal> IsValidOffloadConfig(ipoib_adapter_t *p_adapter,
PNDIS_OFFLOAD_PARAMETERS pOffloadParam)<o:p></o:p></p>

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

<p class=MsoNormal>-    BOOLEAN bRet = TRUE;<o:p></o:p></p>

<p class=MsoNormal>+             BOOLEAN bRet = TRUE;<o:p></o:p></p>

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

<p class=MsoNormal>-    UCHAR CheckSumConfig[5]={0};<o:p></o:p></p>

<p class=MsoNormal>-    CheckSumConfig[0] = pOffloadParam->IPv4Checksum;<o:p></o:p></p>

<p class=MsoNormal>-    CheckSumConfig[1] = pOffloadParam->TCPIPv4Checksum;<o:p></o:p></p>

<p class=MsoNormal>-    CheckSumConfig[2] = pOffloadParam->UDPIPv4Checksum;<o:p></o:p></p>

<p class=MsoNormal>-    CheckSumConfig[3] = pOffloadParam->TCPIPv6Checksum;<o:p></o:p></p>

<p class=MsoNormal>-    CheckSumConfig[4] = pOffloadParam->UDPIPv6Checksum;<o:p></o:p></p>

<p class=MsoNormal>+             UCHAR CheckSumConfig[5]={0};<o:p></o:p></p>

<p class=MsoNormal>+             CheckSumConfig[0] =
pOffloadParam->IPv4Checksum;<o:p></o:p></p>

<p class=MsoNormal>+             CheckSumConfig[1] =
pOffloadParam->TCPIPv4Checksum;<o:p></o:p></p>

<p class=MsoNormal>+             CheckSumConfig[2] =
pOffloadParam->UDPIPv4Checksum;<o:p></o:p></p>

<p class=MsoNormal>+             CheckSumConfig[3] =
pOffloadParam->TCPIPv6Checksum;<o:p></o:p></p>

<p class=MsoNormal>+             CheckSumConfig[4] =
pOffloadParam->UDPIPv6Checksum;<o:p></o:p></p>

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

<p class=MsoNormal>-    for(int i=0 ; i<5 ; i++)<o:p></o:p></p>

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

<p class=MsoNormal>-        if(CheckSumConfig[i] !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

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

<p class=MsoNormal>-              switch (CheckSumConfig[i]) {<o:p></o:p></p>

<p class=MsoNormal>+             for(int i=0 ; i<5 ; i++)<o:p></o:p></p>

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

<p class=MsoNormal>+                             if(CheckSumConfig[i] !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

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

<p class=MsoNormal>+                                             switch
(CheckSumConfig[i]) {<o:p></o:p></p>

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

<p class=MsoNormal>                                                                                bRet
= TRUE;<o:p></o:p></p>

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

<p class=MsoNormal>@@ -1482,28 +1482,28 @@<o:p></o:p></p>

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

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

<p class=MsoNormal>                                                                                ASSERT
(FALSE);<o:p></o:p></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>                                                if (!bRet) <o:p></o:p></p>

<p class=MsoNormal>                                                                return
FALSE;<o:p></o:p></p>

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

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

<p class=MsoNormal>-            for(int j=0 ; j<5 ; j++)<o:p></o:p></p>

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

<p class=MsoNormal>-                if( (CheckSumConfig[j] != 0) &&
(CheckSumConfig[j] != CheckSumConfig[i])  )<o:p></o:p></p>

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

<p class=MsoNormal>-                   bRet = FALSE;<o:p></o:p></p>

<p class=MsoNormal>-                   goto Exit;<o:p></o:p></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>-    }<o:p></o:p></p>

<p class=MsoNormal>+                                             for(int j=0 ;
j<5 ; j++)<o:p></o:p></p>

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

<p class=MsoNormal>+                                                             if(
(CheckSumConfig[j] != 0) && (CheckSumConfig[j] != CheckSumConfig[i])  )<o:p></o:p></p>

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

<p class=MsoNormal>+                                                               
bRet = FALSE;<o:p></o:p></p>

<p class=MsoNormal>+                                                               
goto Exit;<o:p></o:p></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>+             }<o:p></o:p></p>

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

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

<p class=MsoNormal>-    UCHAR OffloadConfig[3]={0};<o:p></o:p></p>

<p class=MsoNormal>-    OffloadConfig[0] = pOffloadParam->LsoV1;<o:p></o:p></p>

<p class=MsoNormal>-    OffloadConfig[1] = pOffloadParam->LsoV2IPv4;<o:p></o:p></p>

<p class=MsoNormal>-    OffloadConfig[2] = pOffloadParam->LsoV2IPv6;<o:p></o:p></p>

<p class=MsoNormal>+             UCHAR OffloadConfig[3]={0};<o:p></o:p></p>

<p class=MsoNormal>+             OffloadConfig[0] = pOffloadParam->LsoV1;<o:p></o:p></p>

<p class=MsoNormal>+             OffloadConfig[1] =
pOffloadParam->LsoV2IPv4;<o:p></o:p></p>

<p class=MsoNormal>+             OffloadConfig[2] =
pOffloadParam->LsoV2IPv6;<o:p></o:p></p>

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

<p class=MsoNormal>                if (!p_adapter->offload_cap.lso) {<o:p></o:p></p>

<p class=MsoNormal>                                if ((pOffloadParam->LsoV1
== NDIS_OFFLOAD_PARAMETERS_LSOV1_ENABLED) ||<o:p></o:p></p>

<p class=MsoNormal>@@ -1514,128 +1514,128 @@<o:p></o:p></p>

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

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

<p class=MsoNormal>                pOffloadParam->LsoV1;<o:p></o:p></p>

<p class=MsoNormal>-    OffloadConfig[1] = pOffloadParam->LsoV2IPv4;<o:p></o:p></p>

<p class=MsoNormal>+             OffloadConfig[1] =
pOffloadParam->LsoV2IPv4;<o:p></o:p></p>

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

<p class=MsoNormal>-    for(int i=0 ; i<3 ; i++)<o:p></o:p></p>

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

<p class=MsoNormal>-        if(OffloadConfig[i] !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

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

<p class=MsoNormal>-            for(int j=0 ; j<3 ; j++)<o:p></o:p></p>

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

<p class=MsoNormal>-                if( (OffloadConfig[j] != 0) &&
(OffloadConfig[j] != OffloadConfig[i])  )<o:p></o:p></p>

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

<p class=MsoNormal>-                   bRet = FALSE;<o:p></o:p></p>

<p class=MsoNormal>-                   goto Exit;<o:p></o:p></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>-    }<o:p></o:p></p>

<p class=MsoNormal>+             for(int i=0 ; i<3 ; i++)<o:p></o:p></p>

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

<p class=MsoNormal>+                             if(OffloadConfig[i] !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

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

<p class=MsoNormal>+                                             for(int j=0 ;
j<3 ; j++)<o:p></o:p></p>

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

<p class=MsoNormal>+                                                             if(
(OffloadConfig[j] != 0) && (OffloadConfig[j] != OffloadConfig[i])  )<o:p></o:p></p>

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

<p class=MsoNormal>+                                                               
bRet = FALSE;<o:p></o:p></p>

<p class=MsoNormal>+                                                               
goto Exit;<o:p></o:p></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>+             }<o:p></o:p></p>

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

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

<p class=MsoNormal>-    return bRet;        <o:p></o:p></p>

<p class=MsoNormal>+             return bRet;                       <o:p></o:p></p>

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

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

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

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

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

<p class=MsoNormal>-    ipoib_adapter_t * p_adapter,<o:p></o:p></p>

<p class=MsoNormal>-    void* const pBuf,<o:p></o:p></p>

<p class=MsoNormal>-    ULONG len <o:p></o:p></p>

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

<p class=MsoNormal>+             ipoib_adapter_t * p_adapter,<o:p></o:p></p>

<p class=MsoNormal>+             void* const pBuf,<o:p></o:p></p>

<p class=MsoNormal>+             ULONG len <o:p></o:p></p>

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

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

<p class=MsoNormal>-    IPOIB_ENTER(IPOIB_DBG_OID);<o:p></o:p></p>

<p class=MsoNormal>+             IPOIB_ENTER(IPOIB_DBG_OID);<o:p></o:p></p>

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

<p class=MsoNormal>-    ASSERT(pBuf != NULL); <o:p></o:p></p>

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

<p class=MsoNormal>-    PNDIS_OFFLOAD_PARAMETERS pOffloadParam = NULL;<o:p></o:p></p>

<p class=MsoNormal>-    PNDIS_OBJECT_HEADER pOffloadHeader = NULL;<o:p></o:p></p>

<p class=MsoNormal>-    NDIS_STATUS Status = NDIS_STATUS_SUCCESS;<o:p></o:p></p>

<p class=MsoNormal>-    bool StatusIndicationFlag = FALSE;<o:p></o:p></p>

<p class=MsoNormal>+             ASSERT(pBuf != NULL); <o:p></o:p></p>

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

<p class=MsoNormal>+             PNDIS_OFFLOAD_PARAMETERS pOffloadParam = NULL;<o:p></o:p></p>

<p class=MsoNormal>+             PNDIS_OBJECT_HEADER pOffloadHeader = NULL;<o:p></o:p></p>

<p class=MsoNormal>+             NDIS_STATUS Status = NDIS_STATUS_SUCCESS;<o:p></o:p></p>

<p class=MsoNormal>+             bool StatusIndicationFlag = FALSE;<o:p></o:p></p>

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

<p class=MsoNormal>-    if (len != NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2)<o:p></o:p></p>

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

<p class=MsoNormal>-        ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>-        IPOIB_PRINT(TRACE_LEVEL_ERROR, IPOIB_DBG_OID,<o:p></o:p></p>

<p class=MsoNormal>+             if (len !=
NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2)<o:p></o:p></p>

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

<p class=MsoNormal>+                             ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>+                             IPOIB_PRINT(TRACE_LEVEL_ERROR,
IPOIB_DBG_OID,<o:p></o:p></p>

<p class=MsoNormal>                                                ("Buffer
is too small. offloading task requirs %d but the buffer "<o:p></o:p></p>

<p class=MsoNormal>                                                 "size
is: %d \n", NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2, len));<o:p></o:p></p>

<p class=MsoNormal>-        Status =  NDIS_STATUS_INVALID_LENGTH;<o:p></o:p></p>

<p class=MsoNormal>-        goto Exit;<o:p></o:p></p>

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

<p class=MsoNormal>+                             Status = 
NDIS_STATUS_INVALID_LENGTH;<o:p></o:p></p>

<p class=MsoNormal>+                             goto Exit;<o:p></o:p></p>

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

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

<p class=MsoNormal>-    IPOIB_PRINT(TRACE_LEVEL_VERBOSE, IPOIB_DBG_OID,<o:p></o:p></p>

<p class=MsoNormal>+             IPOIB_PRINT(TRACE_LEVEL_VERBOSE,
IPOIB_DBG_OID,<o:p></o:p></p>

<p class=MsoNormal>                                ("received set for
OID_TCP_TASK_OFFLOAD\n"));<o:p></o:p></p>

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

<p class=MsoNormal>-    pOffloadParam = (PNDIS_OFFLOAD_PARAMETERS) pBuf;<o:p></o:p></p>

<p class=MsoNormal>-    pOffloadHeader = &(pOffloadParam->Header);<o:p></o:p></p>

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

<p class=MsoNormal>-    if((pOffloadHeader->Type !=
NDIS_OBJECT_TYPE_DEFAULT) ||<o:p></o:p></p>

<p class=MsoNormal>-       (pOffloadHeader->Revision !=
NDIS_OFFLOAD_PARAMETERS_REVISION_2) ||<o:p></o:p></p>

<p class=MsoNormal>-       (pOffloadHeader->Size !=
NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2))<o:p></o:p></p>

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

<p class=MsoNormal>-        ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>-        IPOIB_PRINT(TRACE_LEVEL_ERROR, IPOIB_DBG_OID,<o:p></o:p></p>

<p class=MsoNormal>+             pOffloadParam = (PNDIS_OFFLOAD_PARAMETERS)
pBuf;<o:p></o:p></p>

<p class=MsoNormal>+             pOffloadHeader =
&(pOffloadParam->Header);<o:p></o:p></p>

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

<p class=MsoNormal>+             if((pOffloadHeader->Type !=
NDIS_OBJECT_TYPE_DEFAULT) ||<o:p></o:p></p>

<p class=MsoNormal>+                (pOffloadHeader->Revision !=
NDIS_OFFLOAD_PARAMETERS_REVISION_2) ||<o:p></o:p></p>

<p class=MsoNormal>+                (pOffloadHeader->Size !=
NDIS_SIZEOF_OFFLOAD_PARAMETERS_REVISION_2))<o:p></o:p></p>

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

<p class=MsoNormal>+                             ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>+                             IPOIB_PRINT(TRACE_LEVEL_ERROR,
IPOIB_DBG_OID,<o:p></o:p></p>

<p class=MsoNormal>                                                ("Set
offloading task Illegal header\n"));<o:p></o:p></p>

<p class=MsoNormal>-        Status = NDIS_STATUS_INVALID_DATA;<o:p></o:p></p>

<p class=MsoNormal>-        goto Exit;<o:p></o:p></p>

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

<p class=MsoNormal>+                             Status =
NDIS_STATUS_INVALID_DATA;<o:p></o:p></p>

<p class=MsoNormal>+                             goto Exit;<o:p></o:p></p>

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

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

<p class=MsoNormal>-    if ((pOffloadParam->IPsecV1 !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE) ||<o:p></o:p></p>

<p class=MsoNormal>-        (pOffloadParam->TcpConnectionIPv4 != NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)
||<o:p></o:p></p>

<p class=MsoNormal>-        (pOffloadParam->TcpConnectionIPv6 !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE) ||<o:p></o:p></p>

<p class=MsoNormal>-        (pOffloadParam->Flags != 0))<o:p></o:p></p>

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

<p class=MsoNormal>-        Status = NDIS_STATUS_NOT_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>-        goto Exit;<o:p></o:p></p>

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

<p class=MsoNormal>+             if ((pOffloadParam->IPsecV1 !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE) ||<o:p></o:p></p>

<p class=MsoNormal>+                             (pOffloadParam->TcpConnectionIPv4
!= NDIS_OFFLOAD_PARAMETERS_NO_CHANGE) ||<o:p></o:p></p>

<p class=MsoNormal>+                             (pOffloadParam->TcpConnectionIPv6
!= NDIS_OFFLOAD_PARAMETERS_NO_CHANGE) ||<o:p></o:p></p>

<p class=MsoNormal>+                             (pOffloadParam->Flags !=
0))<o:p></o:p></p>

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

<p class=MsoNormal>+                             Status = NDIS_STATUS_NOT_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>+                             goto Exit;<o:p></o:p></p>

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

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

<p class=MsoNormal>                //Eliminate currently unsupported statistic<o:p></o:p></p>

<p class=MsoNormal>                if ((pOffloadParam->TCPIPv6Checksum !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE) ||<o:p></o:p></p>

<p class=MsoNormal>                                (pOffloadParam->UDPIPv6Checksum
!= NDIS_OFFLOAD_PARAMETERS_NO_CHANGE) ||<o:p></o:p></p>

<p class=MsoNormal>-                              (pOffloadParam->LsoV2IPv6                      !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE))<o:p></o:p></p>

<p class=MsoNormal>+                             (pOffloadParam->LsoV2IPv6                      !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE))<o:p></o:p></p>

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

<p class=MsoNormal>                                Status =
NDIS_STATUS_NOT_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>-        goto Exit;<o:p></o:p></p>

<p class=MsoNormal>+                             goto Exit;<o:p></o:p></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>-    BOOLEAN bRet = IsValidOffloadConfig(p_adapter,
pOffloadParam);<o:p></o:p></p>

<p class=MsoNormal>-    if(bRet == FALSE)<o:p></o:p></p>

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

<p class=MsoNormal>-        //ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>-        Status = NDIS_STATUS_NOT_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>-        goto Exit;        <o:p></o:p></p>

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

<p class=MsoNormal>+             BOOLEAN bRet = IsValidOffloadConfig(p_adapter,
pOffloadParam);<o:p></o:p></p>

<p class=MsoNormal>+             if(bRet == FALSE)<o:p></o:p></p>

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

<p class=MsoNormal>+                             //ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>+                             Status =
NDIS_STATUS_NOT_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>+                             goto Exit;                              
<o:p></o:p></p>

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

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

<p class=MsoNormal>                // Set current offload configuration
capabilites<o:p></o:p></p>

<p class=MsoNormal>                if ((pOffloadParam->IPv4Checksum ==  NDIS_OFFLOAD_PARAMETERS_TX_ENABLED_RX_DISABLED)
||<o:p></o:p></p>

<p class=MsoNormal>                                (pOffloadParam->TCPIPv4Checksum
==                NDIS_OFFLOAD_PARAMETERS_TX_ENABLED_RX_DISABLED) ||<o:p></o:p></p>

<p class=MsoNormal>-                              (pOffloadParam->UDPIPv4Checksum
==                 NDIS_OFFLOAD_PARAMETERS_TX_ENABLED_RX_DISABLED))<o:p></o:p></p>

<p class=MsoNormal>+                             (pOffloadParam->UDPIPv4Checksum
==                NDIS_OFFLOAD_PARAMETERS_TX_ENABLED_RX_DISABLED))<o:p></o:p></p>

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

<p class=MsoNormal>                                p_adapter->params.send_chksum_offload
= CSUM_ENABLED;<o:p></o:p></p>

<p class=MsoNormal>                                p_adapter->params.recv_chksum_offload
= CSUM_DISABLED;<o:p></o:p></p>

<p class=MsoNormal>                                StatusIndicationFlag = TRUE;<o:p></o:p></p>

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

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

<p class=MsoNormal>-              else if ((pOffloadParam->IPv4Checksum ==        NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED)
||<o:p></o:p></p>

<p class=MsoNormal>-                              (pOffloadParam->TCPIPv4Checksum
==                 NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED) ||<o:p></o:p></p>

<p class=MsoNormal>-                              (pOffloadParam->UDPIPv4Checksum
==                 NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED))<o:p></o:p></p>

<p class=MsoNormal>+             else if ((pOffloadParam->IPv4Checksum ==        NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED)
||<o:p></o:p></p>

<p class=MsoNormal>+                             (pOffloadParam->TCPIPv4Checksum
==                NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED) ||<o:p></o:p></p>

<p class=MsoNormal>+                             (pOffloadParam->UDPIPv4Checksum
==                NDIS_OFFLOAD_PARAMETERS_RX_ENABLED_TX_DISABLED))<o:p></o:p></p>

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

<p class=MsoNormal>                                p_adapter->params.recv_chksum_offload
= CSUM_ENABLED;<o:p></o:p></p>

<p class=MsoNormal>                                p_adapter->params.send_chksum_offload
= CSUM_DISABLED;<o:p></o:p></p>

<p class=MsoNormal>                                StatusIndicationFlag = TRUE;<o:p></o:p></p>

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

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

<p class=MsoNormal>-              else if ((pOffloadParam->IPv4Checksum ==        NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED
) ||<o:p></o:p></p>

<p class=MsoNormal>-                              (pOffloadParam->TCPIPv4Checksum
==               NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED ) ||<o:p></o:p></p>

<p class=MsoNormal>-                              (pOffloadParam->UDPIPv4Checksum
==              NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED ))<o:p></o:p></p>

<p class=MsoNormal>+             else if ((pOffloadParam->IPv4Checksum ==        NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED
) ||<o:p></o:p></p>

<p class=MsoNormal>+                             (pOffloadParam->TCPIPv4Checksum
==               NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED ) ||<o:p></o:p></p>

<p class=MsoNormal>+                             (pOffloadParam->UDPIPv4Checksum
==              NDIS_OFFLOAD_PARAMETERS_TX_RX_ENABLED ))<o:p></o:p></p>

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

<p class=MsoNormal>                                p_adapter->params.send_chksum_offload
= CSUM_ENABLED;<o:p></o:p></p>

<p class=MsoNormal>                                p_adapter->params.recv_chksum_offload
= CSUM_ENABLED;<o:p></o:p></p>

<p class=MsoNormal>                                StatusIndicationFlag = TRUE;<o:p></o:p></p>

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

<p class=MsoNormal>-              else if ((pOffloadParam->IPv4Checksum ==        NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED
) ||<o:p></o:p></p>

<p class=MsoNormal>-                                              (pOffloadParam->TCPIPv4Checksum
==               NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED ) ||<o:p></o:p></p>

<p class=MsoNormal>-                                              (pOffloadParam->UDPIPv4Checksum
==              NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED ))<o:p></o:p></p>

<p class=MsoNormal>+             else if ((pOffloadParam->IPv4Checksum ==        NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED
) ||<o:p></o:p></p>

<p class=MsoNormal>+                                             (pOffloadParam->TCPIPv4Checksum
==               NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED ) ||<o:p></o:p></p>

<p class=MsoNormal>+                                             (pOffloadParam->UDPIPv4Checksum
==              NDIS_OFFLOAD_PARAMETERS_TX_RX_DISABLED ))<o:p></o:p></p>

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

<p class=MsoNormal>                                p_adapter->params.send_chksum_offload
= CSUM_DISABLED;<o:p></o:p></p>

<p class=MsoNormal>                                p_adapter->params.recv_chksum_offload
= CSUM_DISABLED;<o:p></o:p></p>

<p class=MsoNormal>@@ -1644,127 +1644,127 @@<o:p></o:p></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>- #if 0  <o:p></o:p></p>

<p class=MsoNormal>-    if(pOffloadParam->TCPIPv6Checksum !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

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

<p class=MsoNormal>-        UpdateOffloadSeeting(pOffloadParam->TCPIPv6Checksum,
pPort->Config.TCPUDPIPv4Chksum);        <o:p></o:p></p>

<p class=MsoNormal>-        StatusIndicationFlag = TRUE;<o:p></o:p></p>

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

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

<p class=MsoNormal>-    if(pOffloadParam->UDPIPv6Checksum !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

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

<p class=MsoNormal>-        UpdateOffloadSeeting(pOffloadParam->UDPIPv6Checksum,
pPort->Config.TCPUDPIPv4Chksum);        <o:p></o:p></p>

<p class=MsoNormal>-        StatusIndicationFlag = TRUE;<o:p></o:p></p>

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

<p class=MsoNormal>+ #if 0    <o:p></o:p></p>

<p class=MsoNormal>+             if(pOffloadParam->TCPIPv6Checksum !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

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

<p class=MsoNormal>+                             UpdateOffloadSeeting(pOffloadParam->TCPIPv6Checksum,
pPort->Config.TCPUDPIPv4Chksum);                            <o:p></o:p></p>

<p class=MsoNormal>+                             StatusIndicationFlag = TRUE;<o:p></o:p></p>

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

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

<p class=MsoNormal>+             if(pOffloadParam->UDPIPv6Checksum !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

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

<p class=MsoNormal>+                             UpdateOffloadSeeting(pOffloadParam->UDPIPv6Checksum,
pPort->Config.TCPUDPIPv4Chksum);                          <o:p></o:p></p>

<p class=MsoNormal>+                             StatusIndicationFlag = TRUE;<o:p></o:p></p>

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

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

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

<p class=MsoNormal>    // SetCheksumOffloadingModes(pPort->Config);<o:p></o:p></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>-    //////////////////////////// OFFLOAD OFFLOAD
////////////////////////////<o:p></o:p></p>

<p class=MsoNormal>-    if(pOffloadParam->LsoV1 !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

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

<p class=MsoNormal>-              p_adapter->params.lso =
(pOffloadParam->LsoV1 == NDIS_OFFLOAD_PARAMETERS_LSOV1_ENABLED);   <o:p></o:p></p>

<p class=MsoNormal>-        StatusIndicationFlag = TRUE;<o:p></o:p></p>

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

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

<p class=MsoNormal>-    if(pOffloadParam->LsoV2IPv4 !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

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

<p class=MsoNormal>-        p_adapter->params.lso = (pOffloadParam->LsoV1
== NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED);<o:p></o:p></p>

<p class=MsoNormal>-        StatusIndicationFlag = TRUE;<o:p></o:p></p>

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

<p class=MsoNormal>-#if 0    <o:p></o:p></p>

<p class=MsoNormal>-    if(pOffloadParam->LsoV2IPv6 != NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

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

<p class=MsoNormal>-        if(pOffloadParam->LsoV2IPv6 ==
NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED)<o:p></o:p></p>

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

<p class=MsoNormal>-            pPort->Config.LsoV2IPv6 = TRUE;            <o:p></o:p></p>

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

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

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

<p class=MsoNormal>-            pPort->Config.LsoV2IPv6 = FALSE;            <o:p></o:p></p>

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

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

<p class=MsoNormal>-        StatusIndicationFlag = TRUE;<o:p></o:p></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>+             <o:p></o:p></p>

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

<p class=MsoNormal>+             if(pOffloadParam->LsoV1 !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

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

<p class=MsoNormal>+                             p_adapter->params.lso =
(pOffloadParam->LsoV1 == NDIS_OFFLOAD_PARAMETERS_LSOV1_ENABLED);   <o:p></o:p></p>

<p class=MsoNormal>+                             StatusIndicationFlag = TRUE;<o:p></o:p></p>

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

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

<p class=MsoNormal>+             if(pOffloadParam->LsoV2IPv4 !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

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

<p class=MsoNormal>+                             p_adapter->params.lso =
(pOffloadParam->LsoV1 == NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED);<o:p></o:p></p>

<p class=MsoNormal>+                             StatusIndicationFlag = TRUE;<o:p></o:p></p>

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

<p class=MsoNormal>+#if 0      <o:p></o:p></p>

<p class=MsoNormal>+             if(pOffloadParam->LsoV2IPv6 !=
NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)<o:p></o:p></p>

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

<p class=MsoNormal>+                             if(pOffloadParam->LsoV2IPv6
== NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED)<o:p></o:p></p>

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

<p class=MsoNormal>+                                             pPort->Config.LsoV2IPv6
= TRUE;                                <o:p></o:p></p>

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

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

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

<p class=MsoNormal>+                                             pPort->Config.LsoV2IPv6
= FALSE;                                           <o:p></o:p></p>

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

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

<p class=MsoNormal>+                             StatusIndicationFlag = TRUE;<o:p></o:p></p>

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

<p class=MsoNormal> #endif<o:p></o:p></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>+             //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//        <o:p></o:p></p>

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

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

<p class=MsoNormal>-    if(StatusIndicationFlag)<o:p></o:p></p>

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

<p class=MsoNormal>-        NDIS_OFFLOAD CurrentOffloadCapapilities;<o:p></o:p></p>

<p class=MsoNormal>-        NDIS_STATUS_INDICATION
StatusIndication;                <o:p></o:p></p>

<p class=MsoNormal>+             if(StatusIndicationFlag)<o:p></o:p></p>

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

<p class=MsoNormal>+                             NDIS_OFFLOAD
CurrentOffloadCapapilities;<o:p></o:p></p>

<p class=MsoNormal>+                             NDIS_STATUS_INDICATION
StatusIndication;                                                     <o:p></o:p></p>

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

<p class=MsoNormal>-        OffloadConfig(p_adapter, &CurrentOffloadCapapilities);<o:p></o:p></p>

<p class=MsoNormal>+                             OffloadConfig(p_adapter,
&CurrentOffloadCapapilities);<o:p></o:p></p>

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

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

<p class=MsoNormal>-       
IPOIB_INIT_NDIS_STATUS_INDICATION(&StatusIndication,<o:p></o:p></p>

<p class=MsoNormal>-                                      
p_adapter->h_adapter,<o:p></o:p></p>

<p class=MsoNormal>-                                      
NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG ,<o:p></o:p></p>

<p class=MsoNormal>-                                      
(PVOID)&CurrentOffloadCapapilities,<o:p></o:p></p>

<p class=MsoNormal>-                                      
sizeof(CurrentOffloadCapapilities));<o:p></o:p></p>

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

<p class=MsoNormal>-        NdisMIndicateStatusEx(p_adapter->h_adapter,
&StatusIndication);        <o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    IPOIB_EXIT(IPOIB_DBG_OID);<o:p></o:p></p>

<p class=MsoNormal>-    return Status;   <o:p></o:p></p>

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

<p class=MsoNormal>+                             IPOIB_INIT_NDIS_STATUS_INDICATION(&StatusIndication,<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                                                               
p_adapter->h_adapter,<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                                                               
NDIS_STATUS_TASK_OFFLOAD_CURRENT_CONFIG ,<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                                                               
(PVOID)&CurrentOffloadCapapilities,<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                                                               
sizeof(CurrentOffloadCapapilities));<o:p></o:p></p>

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

<p class=MsoNormal>+                             NdisMIndicateStatusEx(p_adapter->h_adapter,
&StatusIndication);          <o:p></o:p></p>

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

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

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

<p class=MsoNormal>+             IPOIB_EXIT(IPOIB_DBG_OID);<o:p></o:p></p>

<p class=MsoNormal>+             return Status;     <o:p></o:p></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> <o:p></o:p></p>

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

<p class=MsoNormal>-    The routine handles setting of
OID_GEN_INTERRUPT_MODERATION.<o:p></o:p></p>

<p class=MsoNormal>+             The routine handles setting of
OID_GEN_INTERRUPT_MODERATION.<o:p></o:p></p>

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

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

<p class=MsoNormal>-    InformationBuffer - Pointer to the buffer that contains
the data<o:p></o:p></p>

<p class=MsoNormal>-    InformationBufferLength - data length<o:p></o:p></p>

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

<p class=MsoNormal>+             InformationBuffer - Pointer to the buffer that
contains the data<o:p></o:p></p>

<p class=MsoNormal>+             InformationBufferLength - data length<o:p></o:p></p>

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

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

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

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

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

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

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

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

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

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

<p class=MsoNormal>-    PVOID InformationBuffer,<o:p></o:p></p>

<p class=MsoNormal>-    ULONG InformationBufferLength )<o:p></o:p></p>

<p class=MsoNormal>+             PVOID InformationBuffer,<o:p></o:p></p>

<p class=MsoNormal>+             ULONG InformationBufferLength )<o:p></o:p></p>

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

<p class=MsoNormal>-    IPOIB_ENTER(IPOIB_DBG_OID);<o:p></o:p></p>

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

<p class=MsoNormal>-    NDIS_STATUS Status = NDIS_STATUS_SUCCESS;<o:p></o:p></p>

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

<p class=MsoNormal>-    if (InformationBufferLength !=
sizeof(NDIS_INTERRUPT_MODERATION_PARAMETERS))<o:p></o:p></p>

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

<p class=MsoNormal>-        Status = NDIS_STATUS_INVALID_LENGTH;<o:p></o:p></p>

<p class=MsoNormal>-        goto Exit;<o:p></o:p></p>

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

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

<p class=MsoNormal>-    PNDIS_INTERRUPT_MODERATION_PARAMETERS
pInteruptModerationParam =<o:p></o:p></p>

<p class=MsoNormal>-                   
(PNDIS_INTERRUPT_MODERATION_PARAMETERS)InformationBuffer;<o:p></o:p></p>

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

<p class=MsoNormal>-    if ((pInteruptModerationParam->Header.Type !=
NDIS_OBJECT_TYPE_DEFAULT) ||<o:p></o:p></p>

<p class=MsoNormal>-        (pInteruptModerationParam->Header.Revision !=
NDIS_INTERRUPT_MODERATION_PARAMETERS_REVISION_1) ||<o:p></o:p></p>

<p class=MsoNormal>-        (pInteruptModerationParam->Header.Size !=
NDIS_SIZEOF_INTERRUPT_MODERATION_PARAMETERS_REVISION_1))<o:p></o:p></p>

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

<p class=MsoNormal>-        Status = NDIS_STATUS_INVALID_DATA;<o:p></o:p></p>

<p class=MsoNormal>-        goto Exit;<o:p></o:p></p>

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

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

<p class=MsoNormal>-    // BUGBUG: Need to handle disabling of interrupt
moderation <o:p></o:p></p>

<p class=MsoNormal>-    //                          UH, 4-Jun-2008<o:p></o:p></p>

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

<p class=MsoNormal>-//    ASSERT(pInteruptModerationParam->Flags ==
NDIS_INTERRUPT_MODERATION_CHANGE_NEEDS_RESET);<o:p></o:p></p>

<p class=MsoNormal>-//    ASSERT(pInteruptModerationParam->InterruptModeration
== NdisInterruptModerationEnabled);<o:p></o:p></p>

<p class=MsoNormal>+             IPOIB_ENTER(IPOIB_DBG_OID);<o:p></o:p></p>

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

<p class=MsoNormal>+             NDIS_STATUS Status = NDIS_STATUS_SUCCESS;<o:p></o:p></p>

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

<p class=MsoNormal>+             if (InformationBufferLength !=
sizeof(NDIS_INTERRUPT_MODERATION_PARAMETERS))<o:p></o:p></p>

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

<p class=MsoNormal>+                             Status =
NDIS_STATUS_INVALID_LENGTH;<o:p></o:p></p>

<p class=MsoNormal>+                             goto Exit;<o:p></o:p></p>

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

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

<p class=MsoNormal>+             PNDIS_INTERRUPT_MODERATION_PARAMETERS
pInteruptModerationParam =<o:p></o:p></p>

<p class=MsoNormal>+                                                                             (PNDIS_INTERRUPT_MODERATION_PARAMETERS)InformationBuffer;<o:p></o:p></p>

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

<p class=MsoNormal>+             if ((pInteruptModerationParam->Header.Type
!= NDIS_OBJECT_TYPE_DEFAULT) ||<o:p></o:p></p>

<p class=MsoNormal>+                             (pInteruptModerationParam->Header.Revision
!= NDIS_INTERRUPT_MODERATION_PARAMETERS_REVISION_1) ||<o:p></o:p></p>

<p class=MsoNormal>+                             (pInteruptModerationParam->Header.Size
!= NDIS_SIZEOF_INTERRUPT_MODERATION_PARAMETERS_REVISION_1))<o:p></o:p></p>

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

<p class=MsoNormal>+                             Status = NDIS_STATUS_INVALID_DATA;<o:p></o:p></p>

<p class=MsoNormal>+                             goto Exit;<o:p></o:p></p>

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

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

<p class=MsoNormal>+             // BUGBUG: Need to handle disabling of
interrupt moderation <o:p></o:p></p>

<p class=MsoNormal>+             //                                                                                                            UH,
4-Jun-2008<o:p></o:p></p>

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

<p class=MsoNormal>+//           ASSERT(pInteruptModerationParam->Flags ==
NDIS_INTERRUPT_MODERATION_CHANGE_NEEDS_RESET);<o:p></o:p></p>

<p class=MsoNormal>+//           ASSERT(pInteruptModerationParam->InterruptModeration
== NdisInterruptModerationEnabled);<o:p></o:p></p>

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

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

<p class=MsoNormal>-    IPOIB_EXIT(IPOIB_DBG_OID);<o:p></o:p></p>

<p class=MsoNormal>-    return Status;<o:p></o:p></p>

<p class=MsoNormal>+             IPOIB_EXIT(IPOIB_DBG_OID);<o:p></o:p></p>

<p class=MsoNormal>+             return Status;<o:p></o:p></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>@@ -1825,17 +1825,17 @@<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    MiniportInitialize handler<o:p></o:p></p>

<p class=MsoNormal>+             MiniportInitialize handler<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    MiniportAdapterHandle   The handle NDIS uses to refer
to us<o:p></o:p></p>

<p class=MsoNormal>-    MiniportDriverContext   Handle passed to NDIS when we
registered the driver<o:p></o:p></p>

<p class=MsoNormal>-    MiniportInitParameters  Initialization parameters<o:p></o:p></p>

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

<p class=MsoNormal>+             MiniportAdapterHandle               The handle
NDIS uses to refer to us<o:p></o:p></p>

<p class=MsoNormal>+             MiniportDriverContext  Handle passed to NDIS
when we registered the driver<o:p></o:p></p>

<p class=MsoNormal>+             MiniportInitParameters                Initialization
parameters<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    NDIS_STATUS_SUCCESS unless something goes wrong<o:p></o:p></p>

<p class=MsoNormal>+             NDIS_STATUS_SUCCESS unless something goes
wrong<o:p></o:p></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>@@ -1878,7 +1878,7 @@<o:p></o:p></p>

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

<p class=MsoNormal>                                p_adapter->ipoib_state =
IPOIB_INIT;<o:p></o:p></p>

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

<p class=MsoNormal>-                              status  =
SetAttributes(p_adapter, h_adapter);<o:p></o:p></p>

<p class=MsoNormal>+                             status    =
SetAttributes(p_adapter, h_adapter);<o:p></o:p></p>

<p class=MsoNormal>                                if (status !=
NDIS_STATUS_SUCCESS) {<o:p></o:p></p>

<p class=MsoNormal>                                                //ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>                                                ipoib_destroy_adapter(
p_adapter );<o:p></o:p></p>

<p class=MsoNormal>@@ -1934,14 +1934,14 @@<o:p></o:p></p>

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

<p class=MsoNormal> //! Deallocates resources when the NIC is removed and halts
the NIC..<o:p></o:p></p>

<p class=MsoNormal> //TODO: Dispatch or Passive ?<o:p></o:p></p>

<p class=MsoNormal>-/*  IRQL = DISPATCH_LEVEL<o:p></o:p></p>

<p class=MsoNormal>+/*         IRQL = DISPATCH_LEVEL<o:p></o:p></p>

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

<p class=MsoNormal> @param adapter_context The adapter context allocated at
start<o:p></o:p></p>

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

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

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

<p class=MsoNormal>                IN                                                           NDIS_HANDLE                                                                   adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-              IN                                           NDIS_HALT_ACTION           
HaltAction )<o:p></o:p></p>

<p class=MsoNormal>+             IN                                                           NDIS_HALT_ACTION                                      HaltAction
)<o:p></o:p></p>

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

<p class=MsoNormal>                ipoib_adapter_t               *p_adapter;<o:p></o:p></p>

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

<p class=MsoNormal>@@ -1974,7 +1974,7 @@<o:p></o:p></p>

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

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

<p class=MsoNormal> //! Reports the state of the NIC, or monitors the
responsiveness of an underlying device driver.<o:p></o:p></p>

<p class=MsoNormal>-/*  IRQL = DISPATCH_LEVEL<o:p></o:p></p>

<p class=MsoNormal>+/*         IRQL = DISPATCH_LEVEL<o:p></o:p></p>

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

<p class=MsoNormal> @param adapter_context The adapter context allocated at
start<o:p></o:p></p>

<p class=MsoNormal> @return TRUE if the driver determines that its NIC is not
operating<o:p></o:p></p>

<p class=MsoNormal>@@ -2051,7 +2051,7 @@<o:p></o:p></p>

<p class=MsoNormal>                ULONG RxChksumOffload =
((MP_GET_PORT_CONFIG(pPort, RxChksumOffload) == TRUE) ? NDIS_OFFLOAD_SET_ON :
NDIS_OFFLOAD_SET_OFF);<o:p></o:p></p>

<p class=MsoNormal>                BOOLEAN fLargeSendOffload =
MP_GET_PORT_CONFIG(pPort, LargeSendOffload);<o:p></o:p></p>

<p class=MsoNormal>                ULONG ulEncapsulation =
NDIS_ENCAPSULATION_IEEE_802_3 | NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q;<o:p></o:p></p>

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

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

<p class=MsoNormal>                NdisZeroMemory(&*p_offload,
sizeof(NDIS_OFFLOAD));<o:p></o:p></p>

<p class=MsoNormal>                *p_offload.Header.Type =
NDIS_OBJECT_TYPE_OFFLOAD;<o:p></o:p></p>

<p class=MsoNormal>                *p_offload.Header.Revision =
NDIS_OFFLOAD_REVISION_1; // BUGBUG: do we need to support revision 2? UH
17-May-2008<o:p></o:p></p>

<p class=MsoNormal>@@ -2086,17 +2086,17 @@<o:p></o:p></p>

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

<p class=MsoNormal>                if (fLargeSendOffload)<o:p></o:p></p>

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

<p class=MsoNormal>-                  *p_offload.LsoV1.IPv4.Encapsulation =
ulEncapsulation;<o:p></o:p></p>

<p class=MsoNormal>-                  *p_offload.LsoV1.IPv4.MaxOffLoadSize =
LARGE_SEND_OFFLOAD_SIZE;<o:p></o:p></p>

<p class=MsoNormal>-                  *p_offload.LsoV1.IPv4.MinSegmentCount =
1;<o:p></o:p></p>

<p class=MsoNormal>-                  *p_offload.LsoV1.IPv4.TcpOptions =
NDIS_OFFLOAD_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>-                  *p_offload.LsoV1.IPv4.IpOptions =
NDIS_OFFLOAD_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>+                             *p_offload.LsoV1.IPv4.Encapsulation
= ulEncapsulation;<o:p></o:p></p>

<p class=MsoNormal>+                             *p_offload.LsoV1.IPv4.MaxOffLoadSize
= LARGE_SEND_OFFLOAD_SIZE;<o:p></o:p></p>

<p class=MsoNormal>+                             *p_offload.LsoV1.IPv4.MinSegmentCount
= 1;<o:p></o:p></p>

<p class=MsoNormal>+                             *p_offload.LsoV1.IPv4.TcpOptions
= NDIS_OFFLOAD_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>+                             *p_offload.LsoV1.IPv4.IpOptions
= NDIS_OFFLOAD_SUPPORTED;<o:p></o:p></p>

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

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

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

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

<p class=MsoNormal> //! Returns information about the capabilities and status
of the driver and/or its NIC.<o:p></o:p></p>

<p class=MsoNormal>-/*  IRQL = DISPATCH_LEVEL<o:p></o:p></p>

<p class=MsoNormal>+/*         IRQL = DISPATCH_LEVEL<o:p></o:p></p>

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

<p class=MsoNormal> @param adapter_context The adapter context allocated at
start<o:p></o:p></p>

<p class=MsoNormal> @param oid Object ID representing the query operation to be
carried out<o:p></o:p></p>

<p class=MsoNormal>@@ -2111,8 +2111,8 @@<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    IN      NDIS_HANDLE         adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN  OUT PNDIS_OID_REQUEST   pNdisRequest )<o:p></o:p></p>

<p class=MsoNormal>+             IN                           NDIS_HANDLE                   adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+             IN           OUT PNDIS_OID_REQUEST          pNdisRequest
)<o:p></o:p></p>

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

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

<p class=MsoNormal>                                ipoib_adapter_t                               *p_adapter;<o:p></o:p></p>

<p class=MsoNormal>@@ -2123,7 +2123,7 @@<o:p></o:p></p>

<p class=MsoNormal>                                ULONG                                                 buf_len;<o:p></o:p></p>

<p class=MsoNormal>                                pending_oid_t                  oid_info;<o:p></o:p></p>

<p class=MsoNormal>                                uint8_t                                                 port_num;<o:p></o:p></p>

<p class=MsoNormal>-                              NDIS_OFFLOAD        offload;<o:p></o:p></p>

<p class=MsoNormal>+                             NDIS_OFFLOAD                                offload;<o:p></o:p></p>

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

<p class=MsoNormal>                                NDIS_INTERRUPT_MODERATION_PARAMETERS
InterruptModerationParam;<o:p></o:p></p>

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

<p class=MsoNormal>@@ -2366,7 +2366,7 @@<o:p></o:p></p>

<p class=MsoNormal>                                                IPOIB_PRINT(
TRACE_LEVEL_INFORMATION,IPOIB_DBG_OID,<o:p></o:p></p>

<p class=MsoNormal>                                                                ("Port
%d received query for OID_GEN_STATISTICS\n", port_num) );<o:p></o:p></p>

<p class=MsoNormal>                                                src_buf =
NULL;   <o:p></o:p></p>

<p class=MsoNormal>-                                               buf_len = 
sizeof(NDIS_STATISTICS_INFO);<o:p></o:p></p>

<p class=MsoNormal>+                                              buf_len =           sizeof(NDIS_STATISTICS_INFO);<o:p></o:p></p>

<p class=MsoNormal>                                                if
(oid_info.buf_len < buf_len)<o:p></o:p></p>

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

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

<p class=MsoNormal>@@ -2538,29 +2538,29 @@<o:p></o:p></p>

<p class=MsoNormal>                                                info = 0;<o:p></o:p></p>

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

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

<p class=MsoNormal>-            buf_len = sizeof(NDIS_OFFLOAD);<o:p></o:p></p>

<p class=MsoNormal>-            if (buf_len < oid_info.buf_len)<o:p></o:p></p>

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

<p class=MsoNormal>-                *oid_info.p_bytes_needed = buf_len;<o:p></o:p></p>

<p class=MsoNormal>+                                             buf_len =
sizeof(NDIS_OFFLOAD);<o:p></o:p></p>

<p class=MsoNormal>+                                             if (buf_len
< oid_info.buf_len)<o:p></o:p></p>

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

<p class=MsoNormal>+                                                             *oid_info.p_bytes_needed
= buf_len;<o:p></o:p></p>

<p class=MsoNormal>                                                                return
NDIS_STATUS_BUFFER_TOO_SHORT;<o:p></o:p></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>-            OffloadCapabilities(p_adapter, &offload);<o:p></o:p></p>

<p class=MsoNormal>-            src_buf = &offload;<o:p></o:p></p>

<p class=MsoNormal>-            break;                                     <o:p></o:p></p>

<p class=MsoNormal>+                                             OffloadCapabilities(p_adapter,
&offload);<o:p></o:p></p>

<p class=MsoNormal>+                                             src_buf =
&offload;<o:p></o:p></p>

<p class=MsoNormal>+                                             break;                                   <o:p></o:p></p>

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

<p class=MsoNormal>-            InterruptModerationParam.Header.Type =
NDIS_OBJECT_TYPE_DEFAULT;<o:p></o:p></p>

<p class=MsoNormal>-            InterruptModerationParam.Header.Revision =<o:p></o:p></p>

<p class=MsoNormal>+                                             InterruptModerationParam.Header.Type
= NDIS_OBJECT_TYPE_DEFAULT;<o:p></o:p></p>

<p class=MsoNormal>+                                             InterruptModerationParam.Header.Revision
=<o:p></o:p></p>

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

<p class=MsoNormal>-            InterruptModerationParam.Header.Size =<o:p></o:p></p>

<p class=MsoNormal>+                                             InterruptModerationParam.Header.Size
=<o:p></o:p></p>

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

<p class=MsoNormal>-            InterruptModerationParam.Flags =<o:p></o:p></p>

<p class=MsoNormal>+                                             InterruptModerationParam.Flags
=<o:p></o:p></p>

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

<p class=MsoNormal>-            InterruptModerationParam.InterruptModeration =<o:p></o:p></p>

<p class=MsoNormal>+                                             InterruptModerationParam.InterruptModeration
=<o:p></o:p></p>

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

<p class=MsoNormal>-            buf_len =
sizeof(NDIS_INTERRUPT_MODERATION_PARAMETERS);<o:p></o:p></p>

<p class=MsoNormal>-            src_buf = (PVOID)
&InterruptModerationParam;  <o:p></o:p></p>

<p class=MsoNormal>-            break;<o:p></o:p></p>

<p class=MsoNormal>+                                             buf_len =
sizeof(NDIS_INTERRUPT_MODERATION_PARAMETERS);<o:p></o:p></p>

<p class=MsoNormal>+                                             src_buf =
(PVOID) &InterruptModerationParam;  <o:p></o:p></p>

<p class=MsoNormal>+                                             break;<o:p></o:p></p>

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

<p class=MsoNormal>                                /* Optional General */<o:p></o:p></p>

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

<p class=MsoNormal>@@ -2613,7 +2613,7 @@<o:p></o:p></p>

<p class=MsoNormal>                                                                ("Port
%d received query for OID_TCP_OFFLOAD_CURRENT_CONFIG\n",<o:p></o:p></p>

<p class=MsoNormal>                                                                                port_num)
);<o:p></o:p></p>

<p class=MsoNormal>                                                                //ulBytesAvailable
= ulInfoLen = sizeof(NDIS_OFFLOAD);<o:p></o:p></p>

<p class=MsoNormal>-                                                              if
(oid_info.buf_len <  sizeof(NDIS_OFFLOAD))<o:p></o:p></p>

<p class=MsoNormal>+                                                             if
(oid_info.buf_len <     sizeof(NDIS_OFFLOAD))<o:p></o:p></p>

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

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

<p class=MsoNormal>                                                                                *oid_info.p_bytes_needed
= sizeof(NDIS_OFFLOAD) ;<o:p></o:p></p>

<p class=MsoNormal>@@ -2726,43 +2726,43 @@<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    void* const pBuf,<o:p></o:p></p>

<p class=MsoNormal>-    ULONG len <o:p></o:p></p>

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

<p class=MsoNormal>+             void* const pBuf,<o:p></o:p></p>

<p class=MsoNormal>+             ULONG len <o:p></o:p></p>

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

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

<p class=MsoNormal>-    ASSERT(pBuf != NULL);<o:p></o:p></p>

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

<p class=MsoNormal>-    PNDIS_OFFLOAD_ENCAPSULATION pOffload;<o:p></o:p></p>

<p class=MsoNormal>-    PNDIS_OBJECT_HEADER pOffloadHeader;<o:p></o:p></p>

<p class=MsoNormal>+             ASSERT(pBuf != NULL);<o:p></o:p></p>

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

<p class=MsoNormal>+             PNDIS_OFFLOAD_ENCAPSULATION pOffload;<o:p></o:p></p>

<p class=MsoNormal>+             PNDIS_OBJECT_HEADER pOffloadHeader;<o:p></o:p></p>

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

<p class=MsoNormal>-    if (len != sizeof(NDIS_OFFLOAD_ENCAPSULATION))<o:p></o:p></p>

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

<p class=MsoNormal>-        ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>-        IPOIB_PRINT(TRACE_LEVEL_ERROR, IPOIB_DBG_OID,
("Buffer is too small. offloading task requirs %d but the buffer size is:
%d \n", sizeof(NDIS_OFFLOAD_ENCAPSULATION), len));<o:p></o:p></p>

<p class=MsoNormal>-        return  NDIS_STATUS_INVALID_DATA;<o:p></o:p></p>

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

<p class=MsoNormal>+             if (len != sizeof(NDIS_OFFLOAD_ENCAPSULATION))<o:p></o:p></p>

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

<p class=MsoNormal>+                             ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>+                             IPOIB_PRINT(TRACE_LEVEL_ERROR,
IPOIB_DBG_OID, ("Buffer is too small. offloading task requirs %d but the
buffer size is: %d \n", sizeof(NDIS_OFFLOAD_ENCAPSULATION), len));<o:p></o:p></p>

<p class=MsoNormal>+                             return   NDIS_STATUS_INVALID_DATA;<o:p></o:p></p>

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

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

<p class=MsoNormal>-    pOffload= (PNDIS_OFFLOAD_ENCAPSULATION) pBuf;<o:p></o:p></p>

<p class=MsoNormal>-    pOffloadHeader = &(pOffload->Header);<o:p></o:p></p>

<p class=MsoNormal>+             pOffload= (PNDIS_OFFLOAD_ENCAPSULATION) pBuf;<o:p></o:p></p>

<p class=MsoNormal>+             pOffloadHeader = &(pOffload->Header);<o:p></o:p></p>

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

<p class=MsoNormal>-    if((pOffloadHeader->Type != NDIS_OBJECT_TYPE_OFFLOAD_ENCAPSULATION)
||<o:p></o:p></p>

<p class=MsoNormal>-       (pOffloadHeader->Revision !=
NDIS_OFFLOAD_ENCAPSULATION_REVISION_1) ||<o:p></o:p></p>

<p class=MsoNormal>-       (pOffloadHeader->Size !=
NDIS_SIZEOF_OFFLOAD_ENCAPSULATION_REVISION_1))<o:p></o:p></p>

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

<p class=MsoNormal>-        ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>-        IPOIB_PRINT(TRACE_LEVEL_ERROR, IPOIB_DBG_OID,
("Set offloading task Illegal header\n"));<o:p></o:p></p>

<p class=MsoNormal>-        return NDIS_STATUS_INVALID_DATA;<o:p></o:p></p>

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

<p class=MsoNormal>+             if((pOffloadHeader->Type !=
NDIS_OBJECT_TYPE_OFFLOAD_ENCAPSULATION) ||<o:p></o:p></p>

<p class=MsoNormal>+                (pOffloadHeader->Revision !=
NDIS_OFFLOAD_ENCAPSULATION_REVISION_1) ||<o:p></o:p></p>

<p class=MsoNormal>+                (pOffloadHeader->Size !=
NDIS_SIZEOF_OFFLOAD_ENCAPSULATION_REVISION_1))<o:p></o:p></p>

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

<p class=MsoNormal>+                             ASSERT(FALSE);<o:p></o:p></p>

<p class=MsoNormal>+                             IPOIB_PRINT(TRACE_LEVEL_ERROR,
IPOIB_DBG_OID, ("Set offloading task Illegal header\n"));<o:p></o:p></p>

<p class=MsoNormal>+                             return
NDIS_STATUS_INVALID_DATA;<o:p></o:p></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>-    // BUGBUG: Need to handle the offload parameter setting<o:p></o:p></p>

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

<p class=MsoNormal>-    return NDIS_STATUS_SUCCESS;<o:p></o:p></p>

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

<p class=MsoNormal>+             // BUGBUG: Need to handle the offload
parameter setting<o:p></o:p></p>

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

<p class=MsoNormal>+             return NDIS_STATUS_SUCCESS;<o:p></o:p></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> //! Issues a hardware reset to the NIC and/or resets the
driver's software state.<o:p></o:p></p>

<p class=MsoNormal>-/*  Tear down the connection and start over again.  This is
only called when there is a problem.<o:p></o:p></p>

<p class=MsoNormal>+/*         Tear down the connection and start over again.                This
is only called when there is a problem.<o:p></o:p></p>

<p class=MsoNormal> For example, if a send, query info, or set info had a time
out.  MiniportCheckForHang will<o:p></o:p></p>

<p class=MsoNormal> be called first.<o:p></o:p></p>

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

<p class=MsoNormal>@@ -2775,8 +2775,8 @@<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    IN  NDIS_HANDLE     adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    OUT PBOOLEAN        p_addr_reset)<o:p></o:p></p>

<p class=MsoNormal>+             IN           NDIS_HANDLE   adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+             OUT PBOOLEAN                               p_addr_reset)<o:p></o:p></p>

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

<p class=MsoNormal>                ipoib_adapter_t* p_adapter;<o:p></o:p></p>

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

<p class=MsoNormal>@@ -2808,7 +2808,7 @@<o:p></o:p></p>

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

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

<p class=MsoNormal> //! Request changes in the state information that the
miniport driver maintains<o:p></o:p></p>

<p class=MsoNormal>-/*  For example, this is used to set multicast addresses
and the packet filter.<o:p></o:p></p>

<p class=MsoNormal>+/*         For example, this is used to set multicast
addresses and the packet filter.<o:p></o:p></p>

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

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

<p class=MsoNormal> @param adapter_context The adapter context allocated at
start<o:p></o:p></p>

<p class=MsoNormal>@@ -2823,8 +2823,8 @@<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    IN      NDIS_HANDLE         adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN  OUT PNDIS_OID_REQUEST   pNdisRequest)<o:p></o:p></p>

<p class=MsoNormal>+             IN                           NDIS_HANDLE                   adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+             IN           OUT PNDIS_OID_REQUEST          pNdisRequest)<o:p></o:p></p>

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

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

<p class=MsoNormal>                ipoib_adapter_t*            p_adapter;<o:p></o:p></p>

<p class=MsoNormal>@@ -2840,11 +2840,11 @@<o:p></o:p></p>

<p class=MsoNormal>                CL_ASSERT( adapter_context );<o:p></o:p></p>

<p class=MsoNormal>                p_adapter =
(ipoib_adapter_t*)adapter_context;<o:p></o:p></p>

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

<p class=MsoNormal>-              NDIS_OID    oid =
pNdisRequest->DATA.SET_INFORMATION.Oid;<o:p></o:p></p>

<p class=MsoNormal>-              PVOID       info_buf =
pNdisRequest->DATA.SET_INFORMATION.InformationBuffer;<o:p></o:p></p>

<p class=MsoNormal>-              UINT        info_buf_len =
pNdisRequest->DATA.SET_INFORMATION.InformationBufferLength;<o:p></o:p></p>

<p class=MsoNormal>+             NDIS_OID            oid =
pNdisRequest->DATA.SET_INFORMATION.Oid;<o:p></o:p></p>

<p class=MsoNormal>+             PVOID                   info_buf =
pNdisRequest->DATA.SET_INFORMATION.InformationBuffer;<o:p></o:p></p>

<p class=MsoNormal>+             UINT                      info_buf_len =
pNdisRequest->DATA.SET_INFORMATION.InformationBufferLength;<o:p></o:p></p>

<p class=MsoNormal>                PULONG                              p_bytes_read
= (PULONG)&pNdisRequest->DATA.SET_INFORMATION.BytesRead;<o:p></o:p></p>

<p class=MsoNormal>-              PULONG                              p_bytes_needed
= (PULONG)&pNdisRequest->DATA.SET_INFORMATION.BytesNeeded;<o:p></o:p></p>

<p class=MsoNormal>+             PULONG                              p_bytes_needed
= (PULONG)&pNdisRequest->DATA.SET_INFORMATION.BytesNeeded;<o:p></o:p></p>

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

<p class=MsoNormal>                CL_ASSERT( p_bytes_read );<o:p></o:p></p>

<p class=MsoNormal>                CL_ASSERT( p_bytes_needed );<o:p></o:p></p>

<p class=MsoNormal>@@ -3089,10 +3089,10 @@<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    IN      NDIS_HANDLE         adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN  OUT PNDIS_OID_REQUEST   pNdisRequest)<o:p></o:p></p>

<p class=MsoNormal>+             IN                           NDIS_HANDLE                   adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+             IN           OUT PNDIS_OID_REQUEST          pNdisRequest)<o:p></o:p></p>

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

<p class=MsoNormal>-    NDIS_REQUEST_TYPE       RequestType;<o:p></o:p></p>

<p class=MsoNormal>+             NDIS_REQUEST_TYPE                    RequestType;<o:p></o:p></p>

<p class=MsoNormal>                NDIS_STATUS    status = NDIS_STATUS_SUCCESS;<o:p></o:p></p>

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

<p class=MsoNormal>                IPOIB_ENTER( IPOIB_DBG_OID );<o:p></o:p></p>

<p class=MsoNormal>@@ -3101,28 +3101,28 @@<o:p></o:p></p>

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

<p class=MsoNormal>                switch(RequestType)<o:p></o:p></p>

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

<p class=MsoNormal>-        case NdisRequestSetInformation:            <o:p></o:p></p>

<p class=MsoNormal>-            status = ipoib_set_info(adapter_context,
pNdisRequest);<o:p></o:p></p>

<p class=MsoNormal>-            break;<o:p></o:p></p>

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

<p class=MsoNormal>-        case NdisRequestQueryInformation:<o:p></o:p></p>

<p class=MsoNormal>-        case NdisRequestQueryStatistics:<o:p></o:p></p>

<p class=MsoNormal>-            status = ipoib_query_info(adapter_context,
pNdisRequest);<o:p></o:p></p>

<p class=MsoNormal>+                             case
NdisRequestSetInformation:                               <o:p></o:p></p>

<p class=MsoNormal>+                                             status =
ipoib_set_info(adapter_context, pNdisRequest);<o:p></o:p></p>

<p class=MsoNormal>+                                             break;<o:p></o:p></p>

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

<p class=MsoNormal>+                             case
NdisRequestQueryInformation:<o:p></o:p></p>

<p class=MsoNormal>+                             case
NdisRequestQueryStatistics:<o:p></o:p></p>

<p class=MsoNormal>+                                             status =
ipoib_query_info(adapter_context, pNdisRequest);<o:p></o:p></p>

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

<p class=MsoNormal>-            break;<o:p></o:p></p>

<p class=MsoNormal>+                                             break;<o:p></o:p></p>

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

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

<p class=MsoNormal>-            status = NDIS_STATUS_NOT_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>-            break;<o:p></o:p></p>

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

<p class=MsoNormal>+                                             status =
NDIS_STATUS_NOT_SUPPORTED;<o:p></o:p></p>

<p class=MsoNormal>+                                             break;<o:p></o:p></p>

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

<p class=MsoNormal>                IPOIB_EXIT( IPOIB_DBG_OID );<o:p></o:p></p>

<p class=MsoNormal>                return status;<o:p></o:p></p>

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

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

<p class=MsoNormal> /* Transfers some number of packets, specified as an array
of packet pointers,<o:p></o:p></p>

<p class=MsoNormal>- *  over the network. <o:p></o:p></p>

<p class=MsoNormal>- *  For a deserialized driver, these packets are completed
asynchronously<o:p></o:p></p>

<p class=MsoNormal>- *  using NdisMSendComplete.<o:p></o:p></p>

<p class=MsoNormal>+ *          over the network. <o:p></o:p></p>

<p class=MsoNormal>+ *          For a deserialized driver, these packets are
completed asynchronously<o:p></o:p></p>

<p class=MsoNormal>+ *          using NdisMSendComplete.<o:p></o:p></p>

<p class=MsoNormal>  * IRQL <= DISPATCH_LEVEL<o:p></o:p></p>

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

<p class=MsoNormal>  @param adapter_context - Pointer to ipoib_adapter_t
structure with per NIC state<o:p></o:p></p>

<p class=MsoNormal>@@ -3132,16 +3132,16 @@<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    IN  NDIS_HANDLE         adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN  PNET_BUFFER_LIST    net_buffer_list,<o:p></o:p></p>

<p class=MsoNormal>-    IN  NDIS_PORT_NUMBER    port_num,<o:p></o:p></p>

<p class=MsoNormal>-    IN  ULONG               send_flags )<o:p></o:p></p>

<p class=MsoNormal>+             IN           NDIS_HANDLE                   adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+             IN           PNET_BUFFER_LIST        net_buffer_list,<o:p></o:p></p>

<p class=MsoNormal>+             IN           NDIS_PORT_NUMBER   port_num,<o:p></o:p></p>

<p class=MsoNormal>+             IN           ULONG                                                 send_flags
)<o:p></o:p></p>

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

<p class=MsoNormal>                ipoib_adapter_t                               *p_adapter;<o:p></o:p></p>

<p class=MsoNormal>                ipoib_port_t                      *p_port;<o:p></o:p></p>

<p class=MsoNormal>                ULONG                                                 send_complete_flags;<o:p></o:p></p>

<p class=MsoNormal>-    PNET_BUFFER_LIST    curr_net_buffer_list;<o:p></o:p></p>

<p class=MsoNormal>-    PNET_BUFFER_LIST    next_net_buffer_list;<o:p></o:p></p>

<p class=MsoNormal>+             PNET_BUFFER_LIST        curr_net_buffer_list;<o:p></o:p></p>

<p class=MsoNormal>+             PNET_BUFFER_LIST        next_net_buffer_list;<o:p></o:p></p>

<p class=MsoNormal>                NDIS_STATUS    status = NDIS_STATUS_SUCCESS;<o:p></o:p></p>

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

<p class=MsoNormal>                UNREFERENCED_PARAMETER(port_num);<o:p></o:p></p>

<p class=MsoNormal>@@ -3191,9 +3191,9 @@<o:p></o:p></p>

<p class=MsoNormal>                                ipoib_cnt_inc(
&p_adapter->n_send_NBL );<o:p></o:p></p>

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

<p class=MsoNormal>                                next_net_buffer_list =
NET_BUFFER_LIST_NEXT_NBL(curr_net_buffer_list);<o:p></o:p></p>

<p class=MsoNormal>-        KeMemoryBarrierWithoutFence();<o:p></o:p></p>

<p class=MsoNormal>+                             KeMemoryBarrierWithoutFence();<o:p></o:p></p>

<p class=MsoNormal>                                // Important issue, break
the connection between the different nbls<o:p></o:p></p>

<p class=MsoNormal>-        NET_BUFFER_LIST_NEXT_NBL(curr_net_buffer_list) =
NULL;<o:p></o:p></p>

<p class=MsoNormal>+                             NET_BUFFER_LIST_NEXT_NBL(curr_net_buffer_list)
= NULL;<o:p></o:p></p>

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

<p class=MsoNormal>                                cl_perf_start( PortSend );<o:p></o:p></p>

<p class=MsoNormal>                                IPOIB_PRINT( TRACE_LEVEL_VERBOSE,
IPOIB_DBG_BUF,<o:p></o:p></p>

<p class=MsoNormal>@@ -3211,14 +3211,14 @@<o:p></o:p></p>

<p class=MsoNormal>                cl_perf_log( &p_adapter->perf,
SendBundle, 1 );<o:p></o:p></p>

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

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

<p class=MsoNormal>-    if (status != NDIS_STATUS_SUCCESS)<o:p></o:p></p>

<p class=MsoNormal>+             if (status != NDIS_STATUS_SUCCESS)<o:p></o:p></p>

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

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

<p class=MsoNormal>                                IPOIB_PRINT(
TRACE_LEVEL_ERROR, IPOIB_DBG_ERROR,<o:p></o:p></p>

<p class=MsoNormal>                                                                ("Got
bad status, g_NBL=%d, g_NBL_completed=%d \n",<o:p></o:p></p>

<p class=MsoNormal>                                                                g_NBL,
g_NBL_complete) );<o:p></o:p></p>

<p class=MsoNormal>                                send_complete_flags = 0;<o:p></o:p></p>

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

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

<p class=MsoNormal>                                for (curr_net_buffer_list =
net_buffer_list;<o:p></o:p></p>

<p class=MsoNormal>                                                                 curr_net_buffer_list
!= NULL;<o:p></o:p></p>

<p class=MsoNormal>                                                                 curr_net_buffer_list
= next_net_buffer_list)<o:p></o:p></p>

<p class=MsoNormal>@@ -3277,7 +3277,7 @@<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-              IN NDIS_HANDLE  adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+             IN NDIS_HANDLE             adapter_context,<o:p></o:p></p>

<p class=MsoNormal>                IN NDIS_SHUTDOWN_ACTION  shutdown_action)<o:p></o:p></p>

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

<p class=MsoNormal>                IPOIB_ENTER( IPOIB_DBG_INIT ) ;<o:p></o:p></p>

<p class=MsoNormal>@@ -3562,16 +3562,16 @@<o:p></o:p></p>

<p class=MsoNormal>                                                //
otherwise, it can lead to a memory violation (happened when AddressCount was
> 1)<o:p></o:p></p>

<p class=MsoNormal>                                                if(
p_net_addr_oid->AddressLength != NETWORK_ADDRESS_LENGTH_IP)<o:p></o:p></p>

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

<p class=MsoNormal>-                                                              IPOIB_PRINT(
TRACE_LEVEL_ERROR, IPOIB_DBG_ERROR,<o:p></o:p></p>

<p class=MsoNormal>+                                                             IPOIB_PRINT(TRACE_LEVEL_ERROR,
IPOIB_DBG_ERROR,<o:p></o:p></p>

<p class=MsoNormal>                                                                                ("Port
%d OID_GEN_NETWORK_LAYER_ADDRESSES - Address %d is wrong size of %d, "<o:p></o:p></p>

<p class=MsoNormal>                                                                                                "should
be %d\n", port_num, i, p_net_addr_oid->AddressLength,<o:p></o:p></p>

<p class=MsoNormal>                                                                                                NETWORK_ADDRESS_LENGTH_IP));<o:p></o:p></p>

<p class=MsoNormal>                                                                ASSERT
( p_net_addr_oid->AddressLength == NETWORK_ADDRESS_LENGTH_IPX );<o:p></o:p></p>

<p class=MsoNormal>                                                                break;<o:p></o:p></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>                                                ASSERT(
p_net_addr_oid->AddressType == NDIS_PROTOCOL_ID_TCP_IP );<o:p></o:p></p>

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

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

<p class=MsoNormal>                                                p_ip_addr =
(PNETWORK_ADDRESS_IP)p_net_addr_oid->Address;<o:p></o:p></p>

<p class=MsoNormal>                                                if(
!cl_memcmp( &p_ip_addr->in_addr,<o:p></o:p></p>

<p class=MsoNormal>                                                                &p_addr_item->address.as_ulong,
sizeof(ULONG) ) )<o:p></o:p></p>

<p class=MsoNormal>@@ -3737,7 +3737,7 @@<o:p></o:p></p>

<p class=MsoNormal>                if(p_adapter->guids.port_guid.pkey !=
IB_DEFAULT_PKEY)<o:p></o:p></p>

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

<p class=MsoNormal>                                IPOIB_PRINT_EXIT(
TRACE_LEVEL_ERROR,IPOIB_DBG_ERROR,<o:p></o:p></p>

<p class=MsoNormal>-                              ("ATS Service available
for default pkey only\n"));      <o:p></o:p></p>

<p class=MsoNormal>+                             ("ATS Service available
for default pkey only\n"));             <o:p></o:p></p>

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

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

<p class=MsoNormal>                port_num = p_adapter->guids.port_num;<o:p></o:p></p>

<p class=MsoNormal>@@ -3761,7 +3761,7 @@<o:p></o:p></p>

<p class=MsoNormal>                                ("Problem copying ATS
name: exiting\n"));<o:p></o:p></p>

<p class=MsoNormal>                                return;<o:p></o:p></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>                /* IP Address in question will be put in
below */<o:p></o:p></p>

<p class=MsoNormal>                ib_service.port_guid                      =
p_adapter->guids.port_guid.guid;<o:p></o:p></p>

<p class=MsoNormal>                ib_service.timeout_ms                 =
p_adapter->params.sa_timeout;<o:p></o:p></p>

<p class=MsoNormal>@@ -3786,7 +3786,7 @@<o:p></o:p></p>

<p class=MsoNormal>                for( idx = 0; idx < cl_vector_get_size(
&p_adapter->ip_vector); idx++ )<o:p></o:p></p>

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

<p class=MsoNormal>                                p_addr_item =
(net_address_item_t*)<o:p></o:p></p>

<p class=MsoNormal>-                                              cl_vector_get_ptr( 
&p_adapter->ip_vector, idx );<o:p></o:p></p>

<p class=MsoNormal>+                                             cl_vector_get_ptr(          &p_adapter->ip_vector,
idx );<o:p></o:p></p>

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

<p class=MsoNormal>                                if( p_addr_item->p_reg )<o:p></o:p></p>

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

<p class=MsoNormal>@@ -3972,8 +3972,8 @@<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    IN  NDIS_HANDLE                        
adapter_context,    <o:p></o:p></p>

<p class=MsoNormal>-    IN  PNDIS_MINIPORT_PAUSE_PARAMETERS    
pause_parameters)<o:p></o:p></p>

<p class=MsoNormal>+             IN           NDIS_HANDLE                                                                                   adapter_context,            <o:p></o:p></p>

<p class=MsoNormal>+             IN           PNDIS_MINIPORT_PAUSE_PARAMETERS             pause_parameters)<o:p></o:p></p>

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

<p class=MsoNormal>                ipoib_adapter_t                               *p_adapter;<o:p></o:p></p>

<p class=MsoNormal>                KLOCK_QUEUE_HANDLE              hdl;<o:p></o:p></p>

<p class=MsoNormal>@@ -4009,26 +4009,26 @@<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    IN  NDIS_HANDLE                        
adapter_context,    <o:p></o:p></p>

<p class=MsoNormal>-    IN  PNDIS_MINIPORT_RESTART_PARAMETERS  
restart_parameters)<o:p></o:p></p>

<p class=MsoNormal>+             IN           NDIS_HANDLE                                                                                   adapter_context,            <o:p></o:p></p>

<p class=MsoNormal>+             IN           PNDIS_MINIPORT_RESTART_PARAMETERS         restart_parameters)<o:p></o:p></p>

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

<p class=MsoNormal>                ipoib_adapter_t                               *p_adapter;<o:p></o:p></p>

<p class=MsoNormal>                KLOCK_QUEUE_HANDLE              hdl;<o:p></o:p></p>

<p class=MsoNormal>-    PNDIS_RESTART_ATTRIBUTES     NdisRestartAttributes;<o:p></o:p></p>

<p class=MsoNormal>-    PNDIS_RESTART_GENERAL_ATTRIBUTES 
NdisGeneralAttributes;<o:p></o:p></p>

<p class=MsoNormal>+             PNDIS_RESTART_ATTRIBUTES    
NdisRestartAttributes;<o:p></o:p></p>

<p class=MsoNormal>+             PNDIS_RESTART_GENERAL_ATTRIBUTES 
NdisGeneralAttributes;<o:p></o:p></p>

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

<p class=MsoNormal>                IPOIB_ENTER( IPOIB_DBG_INIT );<o:p></o:p></p>

<p class=MsoNormal>                p_adapter =
(ipoib_adapter_t*)adapter_context;<o:p></o:p></p>

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

<p class=MsoNormal>                NdisRestartAttributes =
restart_parameters->RestartAttributes;<o:p></o:p></p>

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

<p class=MsoNormal>-    if (NdisRestartAttributes != NULL)<o:p></o:p></p>

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

<p class=MsoNormal>-        CL_ASSERT(NdisRestartAttributes->Oid ==
OID_GEN_MINIPORT_RESTART_ATTRIBUTES);<o:p></o:p></p>

<p class=MsoNormal>-        NdisGeneralAttributes =
(PNDIS_RESTART_GENERAL_ATTRIBUTES)NdisRestartAttributes->Data;   <o:p></o:p></p>

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

<p class=MsoNormal>-        // Check to see if we need to change any attributes<o:p></o:p></p>

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

<p class=MsoNormal>+             if (NdisRestartAttributes != NULL)<o:p></o:p></p>

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

<p class=MsoNormal>+                             CL_ASSERT(NdisRestartAttributes->Oid
== OID_GEN_MINIPORT_RESTART_ATTRIBUTES);<o:p></o:p></p>

<p class=MsoNormal>+                             NdisGeneralAttributes =
(PNDIS_RESTART_GENERAL_ATTRIBUTES)NdisRestartAttributes->Data;              <o:p></o:p></p>

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

<p class=MsoNormal>+                             // Check to see if we need to
change any attributes<o:p></o:p></p>

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

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

<p class=MsoNormal>                if ( (p_adapter->ipoib_state ==
IPOIB_PAUSED) || (p_adapter->ipoib_state == IPOIB_INIT) ) {<o:p></o:p></p>

<p class=MsoNormal>                                IPOIB_PRINT(
TRACE_LEVEL_INFORMATION, IPOIB_DBG_RECV,<o:p></o:p></p>

<p class=MsoNormal>@@ -4046,37 +4046,37 @@<o:p></o:p></p>

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

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

<p class=MsoNormal>                IPOIB_EXIT( IPOIB_DBG_INIT );<o:p></o:p></p>

<p class=MsoNormal>-    return NDIS_STATUS_SUCCESS;<o:p></o:p></p>

<p class=MsoNormal>+             return NDIS_STATUS_SUCCESS;<o:p></o:p></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> Routine Description:<o:p></o:p></p>

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

<p class=MsoNormal>-    This function aborts the request pending in the
miniport.<o:p></o:p></p>

<p class=MsoNormal>+             This function aborts the request pending in
the miniport.<o:p></o:p></p>

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

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

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

<p class=MsoNormal>-    MiniportAdapterContext  Pointer to the adapter
structure<o:p></o:p></p>

<p class=MsoNormal>-    RequestId               Specify the request to be
cancelled.<o:p></o:p></p>

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

<p class=MsoNormal>+             MiniportAdapterContext             Pointer to
the adapter structure<o:p></o:p></p>

<p class=MsoNormal>+             RequestId                                                           Specify
the request to be cancelled.<o:p></o:p></p>

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

<p class=MsoNormal> Return Value:<o:p></o:p></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> static void<o:p></o:p></p>

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

<p class=MsoNormal>-    IN  NDIS_HANDLE            adapter_context,<o:p></o:p></p>

<p class=MsoNormal>-    IN  PVOID                  requestId<o:p></o:p></p>

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

<p class=MsoNormal>+             IN           NDIS_HANDLE                      adapter_context,<o:p></o:p></p>

<p class=MsoNormal>+             IN           PVOID                                                     
requestId<o:p></o:p></p>

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

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

<p class=MsoNormal>-    PNDIS_OID_REQUEST    pending_request;<o:p></o:p></p>

<p class=MsoNormal>+             PNDIS_OID_REQUEST     pending_request;<o:p></o:p></p>

<p class=MsoNormal>                ipoib_adapter_t                               
*p_adapter;<o:p></o:p></p>

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

<p class=MsoNormal>                IPOIB_ENTER( IPOIB_DBG_OID );<o:p></o:p></p>

<p class=MsoNormal>                p_adapter =
(ipoib_adapter_t*)adapter_context;<o:p></o:p></p>

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

<p class=MsoNormal>-    cl_obj_lock( &p_adapter->obj );<o:p></o:p></p>

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

<p class=MsoNormal>-    if ( p_adapter->query_oid.p_pending_oid &&<o:p></o:p></p>

<p class=MsoNormal>+             cl_obj_lock( &p_adapter->obj );<o:p></o:p></p>

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

<p class=MsoNormal>+             if ( p_adapter->query_oid.p_pending_oid
&&<o:p></o:p></p>

<p class=MsoNormal>                                p_adapter->query_oid.p_pending_oid->RequestId
== requestId)<o:p></o:p></p>

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

<p class=MsoNormal>                                pending_request =
p_adapter->query_oid.p_pending_oid;<o:p></o:p></p>

<p class=MsoNormal>@@ -4097,11 +4097,11 @@<o:p></o:p></p>

<p class=MsoNormal>                                ("No Pending OID
found\n") );<o:p></o:p></p>

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

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

<p class=MsoNormal>-    cl_obj_unlock( &p_adapter->obj );<o:p></o:p></p>

<p class=MsoNormal>+             cl_obj_unlock( &p_adapter->obj );<o:p></o:p></p>

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

<p class=MsoNormal>-    NdisMOidRequestComplete(p_adapter->h_adapter, <o:p></o:p></p>

<p class=MsoNormal>-                            pending_request, <o:p></o:p></p>

<p class=MsoNormal>-                            NDIS_STATUS_REQUEST_ABORTED);<o:p></o:p></p>

<p class=MsoNormal>+             NdisMOidRequestComplete(p_adapter->h_adapter,
<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                             pending_request,
<o:p></o:p></p>

<p class=MsoNormal>+                                                                                                             NDIS_STATUS_REQUEST_ABORTED);<o:p></o:p></p>

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

<p class=MsoNormal>-    IPOIB_EXIT( IPOIB_DBG_OID );<o:p></o:p></p>

<p class=MsoNormal>+             IPOIB_EXIT( IPOIB_DBG_OID );<o:p></o:p></p>

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

</div>

</body>

</html>