InterlockedCompareExchange( (volatile LONG *)&p_endpt->conn.state, \r
IPOIB_CM_REJ_RECVD, IPOIB_CM_DISCONNECTED );\r
\r
- endpt_cm_destroy_conn( p_port, p_endpt );\r
+ ipoib_port_remove_endpt( p_port, p_endpt->mac );\r
\r
ipoib_port_resume( p_port );\r
\r
case OID_GEN_MAXIMUM_FRAME_SIZE:\r
IPOIB_PRINT( TRACE_LEVEL_INFORMATION,IPOIB_DBG_OID,\r
("Port %d received query for OID_GEN_MAXIMUM_FRAME_SIZE\n", port_num) );\r
- if( p_adapter->params.cm_enabled )\r
- info = p_adapter->params.cm_payload_mtu;\r
- else\r
info = p_adapter->params.payload_mtu;\r
- break;\r
+ break;\r
\r
case OID_GEN_LINK_SPEED:\r
IPOIB_PRINT( TRACE_LEVEL_VERBOSE,IPOIB_DBG_OID,\r
"OID_GEN_RECEIVE_BLOCK_SIZE or "\r
"OID_GEN_MAXIMUM_TOTAL_SIZE\n", port_num) );\r
if( p_adapter->params.cm_enabled )\r
- info = p_adapter->params.cm_payload_mtu + sizeof(eth_hdr_t);\r
+ info = p_adapter->params.cm_xfer_block_size;\r
else\r
info = p_adapter->params.xfer_block_size;\r
break;\r
}\r
\r
#if DBG\r
- \r
- IPOIB_PRINT_EXIT( TRACE_LEVEL_INFORMATION, IPOIB_DBG_INIT,\r
- ("ARP REQUEST from ENDPT[%p] state %d CM cap: %d QPN: %#x MAC: %02x:%02x:%02x:%02x:%02x:%02x\n",\r
+ if( p_port->p_adapter->params.cm_enabled )\r
+ {\r
+ IPOIB_PRINT_EXIT( TRACE_LEVEL_INFORMATION, IPOIB_DBG_INIT,\r
+ (" ARP %s from ENDPT[%p] state %d CM cap: %d QPN: %#x MAC: %02x:%02x:%02x:%02x:%02x:%02x\n",\r
+ ((p_ib_arp->op == ARP_OP_REQ )? "REQUEST" : "REPLY"),\r
*pp_src, endpt_cm_get_state( *pp_src ), \r
((cm_capable == IPOIB_CM_FLAG_RC)? 1: 0),\r
cl_ntoh32( ipoib_addr_get_qpn( &p_ib_arp->src_hw ) ),\r
(*pp_src)->mac.addr[0], (*pp_src)->mac.addr[1],\r
(*pp_src)->mac.addr[2], (*pp_src)->mac.addr[3],\r
(*pp_src)->mac.addr[4], (*pp_src)->mac.addr[5] ));\r
+ }\r
#endif\r
\r
/* Now swizzle the data. */\r
p_desc->wr.ds_array = p_desc->local_ds;\r
\r
/* check if we can send data through RC QP */\r
- if( ETH_IS_UNICAST( p_eth_hdr->dst.addr ) && \r
+ if( !( p_eth_hdr->dst.addr[0] & (uint8_t)0x01 ) && \r
endpt_cm_get_state( p_desc->p_endpt) == IPOIB_CM_CONNECTED )\r
{\r
p_desc->send_qp = p_desc->p_endpt->conn.h_work_qp;\r