<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;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.EmailStyle18
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page Section1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
{page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal><span style='color:#1F497D'>Applied at 2945<o:p></o:p></span></p>
<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>
<div>
<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>
<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> Alex Naslednikov <br>
<b>Sent:</b> Tuesday, September 21, 2010 5:26 PM<br>
<b>To:</b> ofw@lists.openfabrics.org<br>
<b>Subject:</b> [ofw][Patch][IPoIB_NDIS6_CM] Spacing and tabulation, no
functionality changes<o:p></o:p></span></p>
</div>
</div>
<p class=MsoNormal><o:p> </o:p></p>
<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>