[ofw] [PATCH] ipoib-CM 10 of 13
Smith, Stan
stan.smith at intel.com
Tue Jan 11 18:31:59 PST 2011
signed-off-by: stan smith <stan.smith at intel.com>
--- A/ulp/ipoib_NDIS6_CM/kernel/ipoib_driver.cpp Tue Jan 11 17:57:53 2011
+++ B/ulp/ipoib_NDIS6_CM/kernel/ipoib_driver.cpp Tue Jan 11 16:31:16 2011
@@ -47,7 +47,6 @@
#include <complib/cl_init.h>
#include <initguid.h>
#include <iba/ipoib_ifc.h>
-#include "strsafe.h"
#include <offload.h>
#define MAJOR_DRIVER_VERSION 2
@@ -733,6 +732,13 @@
"of 0x%x\n", p_adapter->params.sq_depth ));
}
+#if FORCE_CM_MODE
+ if( p_adapter->params.cm_enabled == 0 )
+ { /* XXX FIXME ASAP - FORCE CM mode */
+ p_adapter->params.cm_enabled = 1;
+ }
+#endif
+
if (p_adapter->params.lso) {
if (!p_adapter->params.LsoV1IPv4 &&
!p_adapter->params.LsoV2IPv4 &&
@@ -755,23 +761,39 @@
// Adjusting the low watermark parameter
p_adapter->params.rq_low_watermark =
p_adapter->params.rq_depth / p_adapter->params.rq_low_watermark;
-
- /* disable CM if LSO is active */
+
if( p_adapter->params.cm_enabled )
{
- p_adapter->params.cm_enabled = !p_adapter->params.lso;
- if( !p_adapter->params.cm_enabled )
+ /* disable LSO if CM is active */
+ if( p_adapter->params.lso )
{
NdisWriteErrorLogEntry( p_adapter->h_adapter,
- EVENT_IPOIB_CONNECTED_MODE_ERR, 1, 0xbadc0de0 );
+ EVENT_IPOIB_CM_LSO_DISABLED, 1, 0xbadc0de0 );
+ p_adapter->params.lso = 0;
+ p_adapter->params.LsoV1IPv4 = false;
+ p_adapter->params.LsoV2IPv4 = false;
+ p_adapter->params.LsoV2IPv6 = false;
}
- }
- if( p_adapter->params.cm_enabled )
- {
+ /* disable Send & Recv checksum offload if CM is active */
+ if( p_adapter->params.send_chksum_offload != CSUM_DISABLED )
+ p_adapter->params.send_chksum_offload = CSUM_DISABLED;
+
+ if( p_adapter->params.recv_chksum_offload != CSUM_DISABLED )
+ p_adapter->params.recv_chksum_offload = CSUM_DISABLED;
+
+ p_adapter->params.rq_low_watermark *= 2;
p_adapter->params.cm_xfer_block_size =
(sizeof(eth_hdr_t) + p_adapter->params.cm_payload_mtu);
}
+
+ IPOIB_PRINT( TRACE_LEVEL_INFORMATION, IPOIB_DBG_CM,
+ ("CM_enabled[%s] CM_mtu %u Depth: sq %u rq %u low_water %u\n",
+ (p_adapter->params.cm_enabled ? "True" : "False"),
+ p_adapter->params.cm_payload_mtu,
+ p_adapter->params.sq_depth,
+ p_adapter->params.rq_depth,
+ p_adapter->params.rq_low_watermark) );
p_adapter->params.xfer_block_size =
(sizeof(eth_hdr_t) + p_adapter->params.payload_mtu);
@@ -863,8 +885,8 @@
* since we're a child device.
*/
if (p_adapter->p_ifc)
- p_adapter->p_ifc->wdm.InterfaceDereference(
- p_adapter->p_ifc->wdm.Context );
+ p_adapter->p_ifc->wdm.InterfaceDereference( p_adapter->p_ifc->wdm.Context );
+
IPOIB_EXIT( IPOIB_DBG_INIT );
return NDIS_STATUS_SUCCESS;
}
@@ -1006,9 +1028,8 @@
NDIS_STATUS
SetAdapterRegistrationAttributes(
ipoib_adapter_t *p_adapter,
- NDIS_HANDLE h_adapter
- )
- {
+ NDIS_HANDLE h_adapter )
+{
NDIS_MINIPORT_ADAPTER_REGISTRATION_ATTRIBUTES atr;
NTSTATUS Status;
@@ -1074,11 +1095,17 @@
gat.MediaConnectState = MediaConnectStateConnected; //TODO NDIS60 Check the current state
gat.MediaDuplexState = MediaDuplexStateFull;
- //TODO add support for CM MTU
- gat.MtuSize = p_adapter->params.payload_mtu;
- // TODO Can we set gat.MtuSize = p_adapter->params.payload_mtu + sizeof (ipoib_hdr_t)
- // That is because we replace ETH header by IPoIB header and do not allocate additional place
- gat.LookaheadSize = MAX_XFER_BLOCK_SIZE;
+ if( p_adapter->params.cm_enabled )
+ {
+ gat.MtuSize = p_adapter->params.cm_payload_mtu;
+ gat.LookaheadSize = p_adapter->params.cm_xfer_block_size;
+ }
+ else
+ {
+ gat.MtuSize = p_adapter->params.payload_mtu;
+ gat.LookaheadSize = MAX_XFER_BLOCK_SIZE;
+ }
+
gat.MacOptions = NDIS_MAC_OPTION_COPY_LOOKAHEAD_DATA |
NDIS_MAC_OPTION_TRANSFERS_NOT_PEND |
NDIS_MAC_OPTION_NO_LOOPBACK |
@@ -1195,7 +1222,7 @@
{
ULONG ulEncapsulation = NDIS_ENCAPSULATION_IEEE_802_3 | NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q;
- NdisZeroMemory(p_offload, NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_1);
+ memset(p_offload, 0, NDIS_SIZEOF_NDIS_OFFLOAD_REVISION_1);
p_offload->Header.Type = NDIS_OBJECT_TYPE_OFFLOAD;
p_offload->Header.Revision = NDIS_OFFLOAD_REVISION_1; // Should be Revision 1, otherwise NDIS will not work at Win2008 R1
@@ -1206,7 +1233,7 @@
p_offload->Checksum.IPv4Transmit.TcpOptionsSupported =
p_offload->Checksum.IPv4Transmit.TcpChecksum =
p_offload->Checksum.IPv4Transmit.UdpChecksum =
- p_offload->Checksum.IPv4Transmit.IpChecksum =!!(p_adapter->params.send_chksum_offload);
+ p_offload->Checksum.IPv4Transmit.IpChecksum = !!(p_adapter->params.send_chksum_offload);
p_offload->Checksum.IPv4Receive.Encapsulation = ulEncapsulation;
p_offload->Checksum.IPv4Receive.IpOptionsSupported =
@@ -1215,7 +1242,6 @@
p_offload->Checksum.IPv4Receive.UdpChecksum =
p_offload->Checksum.IPv4Receive.IpChecksum = !!(p_adapter->params.recv_chksum_offload);
-
p_offload->Checksum.IPv6Transmit.Encapsulation = ulEncapsulation;
p_offload->Checksum.IPv6Transmit.IpExtensionHeadersSupported = false;
p_offload->Checksum.IPv6Transmit.TcpOptionsSupported =
@@ -1717,16 +1743,15 @@
}
if(pOffloadParam->LsoV2IPv6 != NDIS_OFFLOAD_PARAMETERS_NO_CHANGE)
- {
+ {
if(pOffloadParam->LsoV2IPv6 == NDIS_OFFLOAD_PARAMETERS_LSOV2_ENABLED)
{
- p_adapter->params.LsoV2IPv6 = true;
+ p_adapter->params.LsoV2IPv6 = true;
}
else
{
p_adapter->params.LsoV2IPv6 = false;
}
-
StatusIndicationFlag = TRUE;
}
@@ -1734,8 +1759,16 @@
p_adapter->params.LsoV2IPv4 ||
p_adapter->params.LsoV2IPv6);
- //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
+ if( p_adapter->params.lso && p_adapter->params.cm_enabled )
+ {
+ ASSERT( p_adapter->params.lso == 0 );
+ p_adapter->params.lso =
+ p_adapter->params.LsoV1IPv4 =
+ p_adapter->params.LsoV2IPv4 =
+ p_adapter->params.LsoV2IPv6 = FALSE;
+ }
+ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//
if(StatusIndicationFlag)
{
@@ -1743,7 +1776,6 @@
NDIS_STATUS_INDICATION StatusIndication;
OffloadConfig(p_adapter, &CurrentOffloadCapapilities);
-
IPOIB_INIT_NDIS_STATUS_INDICATION(&StatusIndication,
p_adapter->h_adapter,
@@ -2137,6 +2169,104 @@
}
#endif
+static PCHAR
+GetOidName(ULONG oid)
+{
+ PCHAR oidName;
+ static CHAR unknown[28];
+
+ switch (oid)
+ {
+ #undef MAKECASE
+ #define MAKECASE(oidx) case oidx: oidName = #oidx; break;
+
+ MAKECASE(OID_GEN_MACHINE_NAME)
+ MAKECASE(OID_GEN_SUPPORTED_LIST)
+ MAKECASE(OID_GEN_HARDWARE_STATUS)
+ MAKECASE(OID_GEN_MEDIA_SUPPORTED)
+ MAKECASE(OID_GEN_MEDIA_IN_USE)
+ MAKECASE(OID_GEN_MAXIMUM_LOOKAHEAD)
+ MAKECASE(OID_GEN_CURRENT_LOOKAHEAD)
+ MAKECASE(OID_GEN_MAXIMUM_FRAME_SIZE)
+ MAKECASE(OID_GEN_LINK_SPEED)
+ MAKECASE(OID_GEN_TRANSMIT_BUFFER_SPACE)
+ MAKECASE(OID_GEN_RECEIVE_BUFFER_SPACE)
+ MAKECASE(OID_GEN_TRANSMIT_BLOCK_SIZE)
+ MAKECASE(OID_GEN_RECEIVE_BLOCK_SIZE)
+ MAKECASE(OID_GEN_VENDOR_ID)
+ MAKECASE(OID_GEN_VENDOR_DESCRIPTION)
+ MAKECASE(OID_GEN_CURRENT_PACKET_FILTER)
+ MAKECASE(OID_GEN_DRIVER_VERSION)
+ MAKECASE(OID_GEN_MAXIMUM_TOTAL_SIZE)
+ MAKECASE(OID_GEN_PROTOCOL_OPTIONS)
+ MAKECASE(OID_GEN_MAC_OPTIONS)
+ MAKECASE(OID_GEN_MEDIA_CONNECT_STATUS)
+ MAKECASE(OID_GEN_MAXIMUM_SEND_PACKETS)
+ MAKECASE(OID_GEN_VENDOR_DRIVER_VERSION)
+ MAKECASE(OID_GEN_SUPPORTED_GUIDS)
+ MAKECASE(OID_GEN_NETWORK_LAYER_ADDRESSES)
+ MAKECASE(OID_GEN_TRANSPORT_HEADER_OFFSET)
+ MAKECASE(OID_GEN_MEDIA_CAPABILITIES)
+ MAKECASE(OID_GEN_PHYSICAL_MEDIUM)
+ MAKECASE(OID_GEN_XMIT_OK)
+ MAKECASE(OID_GEN_RCV_OK)
+ MAKECASE(OID_GEN_XMIT_ERROR)
+ MAKECASE(OID_GEN_RCV_ERROR)
+ MAKECASE(OID_GEN_RCV_NO_BUFFER)
+ MAKECASE(OID_GEN_DIRECTED_BYTES_XMIT)
+ MAKECASE(OID_GEN_DIRECTED_FRAMES_XMIT)
+ MAKECASE(OID_GEN_MULTICAST_BYTES_XMIT)
+ MAKECASE(OID_GEN_MULTICAST_FRAMES_XMIT)
+ MAKECASE(OID_GEN_BROADCAST_BYTES_XMIT)
+ MAKECASE(OID_GEN_BROADCAST_FRAMES_XMIT)
+ MAKECASE(OID_GEN_DIRECTED_BYTES_RCV)
+ MAKECASE(OID_GEN_DIRECTED_FRAMES_RCV)
+ MAKECASE(OID_GEN_MULTICAST_BYTES_RCV)
+ MAKECASE(OID_GEN_MULTICAST_FRAMES_RCV)
+ MAKECASE(OID_GEN_BROADCAST_BYTES_RCV)
+ MAKECASE(OID_GEN_BROADCAST_FRAMES_RCV)
+ MAKECASE(OID_GEN_RCV_CRC_ERROR)
+ MAKECASE(OID_GEN_TRANSMIT_QUEUE_LENGTH)
+ MAKECASE(OID_GEN_GET_TIME_CAPS)
+ MAKECASE(OID_GEN_GET_NETCARD_TIME)
+ MAKECASE(OID_GEN_NETCARD_LOAD)
+ MAKECASE(OID_GEN_DEVICE_PROFILE)
+ MAKECASE(OID_GEN_INIT_TIME_MS)
+ MAKECASE(OID_GEN_RESET_COUNTS)
+ MAKECASE(OID_GEN_MEDIA_SENSE_COUNTS)
+ MAKECASE(OID_PNP_CAPABILITIES)
+ MAKECASE(OID_PNP_SET_POWER)
+ MAKECASE(OID_PNP_QUERY_POWER)
+ MAKECASE(OID_PNP_ADD_WAKE_UP_PATTERN)
+ MAKECASE(OID_PNP_REMOVE_WAKE_UP_PATTERN)
+ MAKECASE(OID_PNP_ENABLE_WAKE_UP)
+ MAKECASE(OID_802_3_PERMANENT_ADDRESS)
+ MAKECASE(OID_802_3_CURRENT_ADDRESS)
+ MAKECASE(OID_802_3_MULTICAST_LIST)
+ MAKECASE(OID_802_3_MAXIMUM_LIST_SIZE)
+ MAKECASE(OID_802_3_MAC_OPTIONS)
+ MAKECASE(OID_802_3_RCV_ERROR_ALIGNMENT)
+ MAKECASE(OID_802_3_XMIT_ONE_COLLISION)
+ MAKECASE(OID_802_3_XMIT_MORE_COLLISIONS)
+ MAKECASE(OID_802_3_XMIT_DEFERRED)
+ MAKECASE(OID_802_3_XMIT_MAX_COLLISIONS)
+ MAKECASE(OID_802_3_RCV_OVERRUN)
+ MAKECASE(OID_802_3_XMIT_UNDERRUN)
+ MAKECASE(OID_802_3_XMIT_HEARTBEAT_FAILURE)
+ MAKECASE(OID_802_3_XMIT_TIMES_CRS_LOST)
+ MAKECASE(OID_802_3_XMIT_LATE_COLLISIONS)
+
+ default:
+ StringCchPrintf( unknown, sizeof(unknown),
+ "<* Unknown OID? %#X *>", oid );
+ oidName = unknown;
+ break;
+ }
+
+ return oidName;
+#undef MAKECASE
+}
+
//! Returns information about the capabilities and status of the driver and/or its NIC.
/* IRQL = DISPATCH_LEVEL
@@ -2242,7 +2372,7 @@
("Port %d received query for OID_GEN_MAXIMUM_FRAME_SIZE\n", port_num) );
if( p_adapter->params.cm_enabled )
{
- info = p_adapter->params.cm_payload_mtu;
+ info = p_adapter->params.cm_xfer_block_size;
}
else
{
@@ -2285,11 +2415,8 @@
info = p_adapter->params.xfer_block_size;
IPOIB_PRINT( TRACE_LEVEL_INFORMATION,IPOIB_DBG_OID,
- ("Port %d received query for 1 of OID_GEN_MAXIMUM_LOOKAHEAD, "
- "_CURRENT_LOOKAHEAD, "
- "_TRANSMIT_BLOCK_SIZE, "
- "_RECEIVE_BLOCK_SIZE, "
- "_GEN_MAXIMUM_TOTAL_SIZE = %d\n", port_num, info) );
+ ("Port %d received query for %s = %d\n",
+ port_num, GetOidName(oid_info.oid), info) );
break;
case OID_GEN_VENDOR_ID:
@@ -2625,8 +2752,8 @@
case OID_PNP_CAPABILITIES:
status = NDIS_STATUS_NOT_SUPPORTED;
IPOIB_PRINT( TRACE_LEVEL_INFORMATION,IPOIB_DBG_OID,
- ("Port %d received an unsupported Optional oid of 0x%.8X!\n",
- port_num, oid_info.oid) );
+ ("Port %d received an unsupported Optional %s\n",
+ port_num, GetOidName(oid_info.oid)) );
break;
case OID_GEN_PROTOCOL_OPTIONS:
@@ -2634,12 +2761,8 @@
case OID_GEN_TRANSPORT_HEADER_OFFSET:
case OID_PNP_ENABLE_WAKE_UP:
IPOIB_PRINT( TRACE_LEVEL_INFORMATION,IPOIB_DBG_OID,
- ("Port %d received query for OID_GEN_PROTOCOL_OPTIONS or "
- "OID_GEN_NETWORK_LAYER_ADDRESSES or "
- "OID_GEN_TRANSPORT_HEADER_OFFSET OID_PNP_ENABLE_WAKE_UP\n",
- port_num) );
- IPOIB_PRINT( TRACE_LEVEL_INFORMATION,IPOIB_DBG_OID,
- ("Number of OID: 0x%.8X!\n", oid_info.oid) );
+ ("Port %d received query for %s\n",
+ port_num, GetOidName(oid_info.oid)) );
status = NDIS_STATUS_SUCCESS;
break;
@@ -2976,9 +3099,18 @@
}
break;
+ case OID_GEN_MAXIMUM_TOTAL_SIZE:
+ IPOIB_PRINT( TRACE_LEVEL_INFORMATION,IPOIB_DBG_OID,
+ ("Port %d received set for OID_GEN_MAXIMUM_TOTAL_SIZE %ld\n",
+ port_num, *((ULONG*)info_buf)) );
+ if( info_buf_len < buf_len )
+ status = NDIS_STATUS_INVALID_LENGTH;
+ break;
+
case OID_GEN_CURRENT_LOOKAHEAD:
IPOIB_PRINT( TRACE_LEVEL_INFORMATION,IPOIB_DBG_OID,
- ("Port %d received set for OID_GEN_CURRENT_LOOKAHEAD\n", port_num));
+ ("Port %d received set for OID_GEN_CURRENT_LOOKAHEAD %ld\n",
+ port_num, *((ULONG*)info_buf)) );
if( info_buf_len < buf_len )
status = NDIS_STATUS_INVALID_LENGTH;
break;
@@ -2994,12 +3126,10 @@
status = __ipoib_set_net_addr( p_adapter, info_buf, info_buf_len, p_bytes_read, p_bytes_needed);
break;
-#ifdef NDIS51_MINIPORT
case OID_GEN_MACHINE_NAME:
IPOIB_PRINT( TRACE_LEVEL_INFORMATION, IPOIB_DBG_OID,
("Port %d received set for OID_GEN_MACHINE_NAME\n", port_num) );
break;
-#endif
/* Required Ethernet operational characteristics */
case OID_802_3_MULTICAST_LIST:
@@ -3067,7 +3197,8 @@
#endif
status = NDIS_STATUS_NOT_SUPPORTED;
IPOIB_PRINT( TRACE_LEVEL_INFORMATION,IPOIB_DBG_OID,
- ("Port %d received an unsupported oid of 0x%.8X!\n", port_num, oid));
+ ("Port %d received an unsupported %s\n",
+ port_num, GetOidName(oid)));
break;
case OID_GEN_INTERRUPT_MODERATION:
@@ -3089,7 +3220,6 @@
case OID_GEN_MAXIMUM_LOOKAHEAD:
case OID_GEN_TRANSMIT_BLOCK_SIZE:
case OID_GEN_RECEIVE_BLOCK_SIZE:
- case OID_GEN_MAXIMUM_TOTAL_SIZE:
case OID_GEN_VENDOR_ID:
case OID_GEN_VENDOR_DESCRIPTION:
case OID_GEN_VENDOR_DRIVER_VERSION:
@@ -3102,8 +3232,8 @@
default:
status = NDIS_STATUS_INVALID_OID;
- IPOIB_PRINT( TRACE_LEVEL_ERROR,IPOIB_DBG_ERROR,
- ("Port %d received an invalid oid of 0x%.8X!\n", port_num, oid));
+ IPOIB_PRINT( TRACE_LEVEL_ERROR, IPOIB_DBG_ERROR,
+ ("Port %d received unsupported %s\n", port_num, GetOidName(oid)));
break;
}
@@ -3292,7 +3422,8 @@
p_adapter = (ipoib_adapter_t*)adapter_context;
- IPOIB_PRINT(TRACE_LEVEL_INFORMATION, IPOIB_DBG_PNP, ("Event %d\n", pnp_event->DevicePnPEvent) );
+ IPOIB_PRINT(TRACE_LEVEL_INFORMATION, IPOIB_DBG_PNP,
+ ("Event %d\n", pnp_event->DevicePnPEvent) );
if( pnp_event->DevicePnPEvent != NdisDevicePnPEventPowerProfileChanged )
{
cl_obj_lock( &p_adapter->obj );
@@ -3622,7 +3753,7 @@
p_ip_addr = (PNETWORK_ADDRESS_IP)p_net_addr_oid->Address;
if( !memcmp( &p_ip_addr->in_addr,
- &p_addr_item->address.as_ulong, sizeof(ULONG) ) )
+ &p_addr_item->address.as_ulong, sizeof(ULONG) ) )
{
break;
}
@@ -3714,7 +3845,8 @@
}
p_addr_item->p_reg = NULL;
}
- memcpy ((void *)&p_addr_item->address.as_ulong, (const void *)&p_ip_addr->in_addr, sizeof(ULONG) );
+ memcpy( (void *)&p_addr_item->address.as_ulong,
+ (const void *)&p_ip_addr->in_addr, sizeof(ULONG) );
IPOIB_PRINT( TRACE_LEVEL_INFORMATION,IPOIB_DBG_OID,
("Port %d OID_GEN_NETWORK_LAYER_ADDRESSES - Adding Address %d.%d.%d.%d\n",
port_num,
@@ -3981,25 +4113,26 @@
!p_reg_svc_rec->resp_status )
{
IPOIB_PRINT( TRACE_LEVEL_INFORMATION,IPOIB_DBG_OID,
- ("Port %d OID_GEN_NETWORK_LAYER_ADDRESSES - Registered IP Address "
- "of %d.%d.%d.%d\n",
- port_num,
- p_reg_svc_rec->svc_rec.service_data8[ATS_IPV4_OFFSET],
- p_reg_svc_rec->svc_rec.service_data8[ATS_IPV4_OFFSET+1],
- p_reg_svc_rec->svc_rec.service_data8[ATS_IPV4_OFFSET+2],
- p_reg_svc_rec->svc_rec.service_data8[ATS_IPV4_OFFSET+3]) );
+ ("Port %d OID_GEN_NETWORK_LAYER_ADDRESSES - Registered IP Address "
+ "of %d.%d.%d.%d\n",
+ port_num,
+ p_reg_svc_rec->svc_rec.service_data8[ATS_IPV4_OFFSET],
+ p_reg_svc_rec->svc_rec.service_data8[ATS_IPV4_OFFSET+1],
+ p_reg_svc_rec->svc_rec.service_data8[ATS_IPV4_OFFSET+2],
+ p_reg_svc_rec->svc_rec.service_data8[ATS_IPV4_OFFSET+3]) );
}
else if( p_reg_svc_rec->req_status != IB_CANCELED )
{
IPOIB_PRINT( TRACE_LEVEL_ERROR, IPOIB_DBG_OID,
- ("Port %d OID_GEN_NETWORK_LAYER_ADDRESSES - Failed to register IP Address "
- "of %d.%d.%d.%d with error %s\n",
- port_num,
- p_reg_svc_rec->svc_rec.service_data8[ATS_IPV4_OFFSET],
- p_reg_svc_rec->svc_rec.service_data8[ATS_IPV4_OFFSET+1],
- p_reg_svc_rec->svc_rec.service_data8[ATS_IPV4_OFFSET+2],
- p_reg_svc_rec->svc_rec.service_data8[ATS_IPV4_OFFSET+3],
- p_reg->p_adapter->p_ifc->get_err_str((ib_api_status_t) p_reg_svc_rec->resp_status )) );
+ ("Port %d OID_GEN_NETWORK_LAYER_ADDRESSES - Failed to register IP Address "
+ "of %d.%d.%d.%d with error %s\n",
+ port_num,
+ p_reg_svc_rec->svc_rec.service_data8[ATS_IPV4_OFFSET],
+ p_reg_svc_rec->svc_rec.service_data8[ATS_IPV4_OFFSET+1],
+ p_reg_svc_rec->svc_rec.service_data8[ATS_IPV4_OFFSET+2],
+ p_reg_svc_rec->svc_rec.service_data8[ATS_IPV4_OFFSET+3],
+ p_reg->p_adapter->p_ifc->get_err_str(
+ (ib_api_status_t) p_reg_svc_rec->resp_status )) );
p_reg->p_adapter->hung = TRUE;
p_reg->h_reg_svc = NULL;
}
@@ -4045,7 +4178,8 @@
("[%I64u]ipoib_state changed to IPOIB_PAUSING\n", cl_get_time_stamp()) );
KeReleaseInStackQueuedSpinLock( &hdl );
- if ( p_adapter->p_port ) {
+ if( p_adapter->p_port )
+ {
cl_spinlock_acquire( &p_adapter->p_port->send_lock );
ipoib_port_resume( p_adapter->p_port,FALSE );
cl_spinlock_release( &p_adapter->p_port->send_lock );
@@ -4094,12 +4228,15 @@
// Check to see if we need to change any attributes
}
- if ( p_adapter->ipoib_state & (IPOIB_PAUSED | IPOIB_INIT) ) {
+ if ( p_adapter->ipoib_state & (IPOIB_PAUSED | IPOIB_INIT) )
+ {
IPOIB_PRINT( TRACE_LEVEL_INFORMATION, IPOIB_DBG_RECV,
- ("[%I64u]Shutter Alive, ipoib_state = %d\n", cl_get_time_stamp(), p_adapter->ipoib_state));
+ ("[%I64u]Shutter Alive, ipoib_state = %d\n",
+ cl_get_time_stamp(), p_adapter->ipoib_state));
shutter_alive( &p_adapter->recv_shutter );
}
- else {
+ else
+ {
IPOIB_PRINT( TRACE_LEVEL_WARNING, IPOIB_DBG_SHUTTER,
("*****Shutter Was not \"Alived\", state = %d*****\n", p_adapter->ipoib_state));
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ipoib_driver.cpp.patch
Type: application/octet-stream
Size: 18517 bytes
Desc: ipoib_driver.cpp.patch
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20110111/dd0201ba/attachment.obj>
More information about the ofw
mailing list