From: ftillier Date: Wed, 14 Dec 2005 19:51:03 +0000 (+0000) Subject: [IPoIB, IBBUS] Report port number in IPoIB parameters X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=2737a45dd862b83dfa8375855912995c19b3da4e;p=~shefty%2Frdma-win.git [IPoIB, IBBUS] Report port number in IPoIB parameters rather than extracting from port GUID. Signed-off-by: Yossi Leybovich (sleybo@mellanox.co.il) Signed-off-by: Fab Tillier (ftillie@silverstorm.com) git-svn-id: svn://openib.tc.cornell.edu/gen1@204 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- diff --git a/trunk/core/bus/kernel/bus_port_mgr.c b/trunk/core/bus/kernel/bus_port_mgr.c index 14a3729a..9e276e0d 100644 --- a/trunk/core/bus/kernel/bus_port_mgr.c +++ b/trunk/core/bus/kernel/bus_port_mgr.c @@ -1187,6 +1187,7 @@ port_query_ipoib_ifc( p_ipoib_data->ca_guid = p_ext->pdo.h_ca->obj.p_ci_ca->verbs.guid; p_ipoib_data->port_guid = p_ext->port_guid; + p_ipoib_data->port_num = (uint8_t)p_ext->n_port; BUS_EXIT( BUS_DBG_PNP ); return STATUS_SUCCESS; diff --git a/trunk/inc/kernel/iba/ipoib_ifc.h b/trunk/inc/kernel/iba/ipoib_ifc.h index d723b825..f680f775 100644 --- a/trunk/inc/kernel/iba/ipoib_ifc.h +++ b/trunk/inc/kernel/iba/ipoib_ifc.h @@ -51,7 +51,7 @@ *********/ -#define IPOIB_INTERFACE_DATA_VERSION (4) +#define IPOIB_INTERFACE_DATA_VERSION (5) /* Interface definitions */ @@ -60,6 +60,7 @@ typedef struct _ipoib_ifc_data /* HCA and Port GUID */ net64_t ca_guid; net64_t port_guid; + uint8_t port_num; } ipoib_ifc_data_t; diff --git a/trunk/ulp/ipoib/kernel/ipoib_adapter.c b/trunk/ulp/ipoib/kernel/ipoib_adapter.c index e2f4bc4b..ca07bccf 100644 --- a/trunk/ulp/ipoib/kernel/ipoib_adapter.c +++ b/trunk/ulp/ipoib/kernel/ipoib_adapter.c @@ -125,7 +125,6 @@ ipoib_create_adapter( ipoib_adapter_t *p_adapter; ib_api_status_t status; cl_status_t cl_status; - uint8_t port_num; IPOIB_ENTER( IPOIB_DBG_INIT ); @@ -162,10 +161,10 @@ ipoib_create_adapter( return status; } - port_num = IPOIB_GET_PORT_NUM_FROM_GUID(p_adapter->guids.port_guid); - - IPOIB_TRACE( IPOIB_DBG_INFO, - ("Port %d initializing\n", port_num) ); + IPOIB_TRACE( IPOIB_DBG_INIT | IPOIB_DBG_INFO, + ("Port %016I64x (CA %016I64x port %d) initializing\n", + p_adapter->guids.port_guid, p_adapter->guids.ca_guid, + p_adapter->guids.port_num) ); /* Read configuration parameters. */ status = ipoib_get_adapter_params( wrapper_config_context, diff --git a/trunk/ulp/ipoib/kernel/ipoib_adapter.h b/trunk/ulp/ipoib/kernel/ipoib_adapter.h index a9135857..8e63fe34 100644 --- a/trunk/ulp/ipoib/kernel/ipoib_adapter.h +++ b/trunk/ulp/ipoib/kernel/ipoib_adapter.h @@ -58,8 +58,6 @@ /* * Macros */ -#define IPOIB_GET_PORT_NUM_FROM_GUID( __guid__ ) ( ((uint8_t *)&(__guid__))[PORT_NUM_INDEX_IN_GUID] + 1 ) -#define IPOIB_ADAPTER_GET_PORT_NUM(__p_adapter__) ( IPOIB_GET_PORT_NUM_FROM_GUID( (__p_adapter__)->guids.port_guid ) ) typedef struct _ipoib_params diff --git a/trunk/ulp/ipoib/kernel/ipoib_driver.c b/trunk/ulp/ipoib/kernel/ipoib_driver.c index 7283bbc9..2cf63678 100644 --- a/trunk/ulp/ipoib/kernel/ipoib_driver.c +++ b/trunk/ulp/ipoib/kernel/ipoib_driver.c @@ -665,8 +665,10 @@ ipoib_halt( CL_ASSERT( adapter_context ); p_adapter = (ipoib_adapter_t*)adapter_context; - IPOIB_TRACE( IPOIB_DBG_INFO, - ("Port %d halting\n", IPOIB_ADAPTER_GET_PORT_NUM(p_adapter)) ); + IPOIB_TRACE( IPOIB_DBG_INIT | IPOIB_DBG_INFO, + ("Port %016I64x (CA %016I64x port %d) halting\n", + p_adapter->guids.port_guid, p_adapter->guids.ca_guid, + p_adapter->guids.port_num) ); ipoib_destroy_adapter( p_adapter ); @@ -744,7 +746,7 @@ ipoib_query_info( src_buf = &info; buf_len = sizeof(info); - port_num = IPOIB_ADAPTER_GET_PORT_NUM(p_adapter); + port_num = p_adapter->guids.port_num; switch( oid ) { @@ -1248,13 +1250,11 @@ __ipoib_get_tcp_task_offload( NDIS_TASK_OFFLOAD_HEADER *p_offload_hdr; NDIS_TASK_OFFLOAD *p_offload_task; NDIS_TASK_TCP_IP_CHECKSUM *p_offload_chksum; - uint8_t port_num; ULONG buf_len; - port_num = IPOIB_ADAPTER_GET_PORT_NUM(p_adapter); - IPOIB_TRACE( IPOIB_DBG_OID | IPOIB_DBG_INFO, - ("Port %d received query for OID_TCP_TASK_OFFLOAD\n", port_num) ); + ("Port %d received query for OID_TCP_TASK_OFFLOAD\n", + p_adapter->guids.port_num) ); buf_len = sizeof(NDIS_TASK_OFFLOAD_HEADER) + sizeof(NDIS_TASK_OFFLOAD) + @@ -1409,7 +1409,7 @@ ipoib_set_info( *p_bytes_needed = 0; buf_len = sizeof(ULONG); - port_num = IPOIB_ADAPTER_GET_PORT_NUM(p_adapter); + port_num = p_adapter->guids.port_num; switch( oid ) { @@ -1865,7 +1865,7 @@ __ipoib_set_net_addr( IPOIB_ENTER( IPOIB_DBG_OID ); status = NDIS_STATUS_SUCCESS; - port_num = IPOIB_ADAPTER_GET_PORT_NUM(p_adapter); + port_num = p_adapter->guids.port_num; IPOIB_TRACE( IPOIB_DBG_OID | IPOIB_DBG_INFO, ("Port %d received set for OID_GEN_NETWORK_LAYER_ADDRESSES\n", @@ -2146,7 +2146,7 @@ ipoib_reg_addrs( IPOIB_ENTER( IPOIB_DBG_OID ); - port_num = IPOIB_ADAPTER_GET_PORT_NUM( p_adapter ); + port_num = p_adapter->guids.port_num; /* Setup our service call with things common to all calls */ cl_memset( &ib_service, 0, sizeof(ib_service) ); @@ -2298,7 +2298,7 @@ __ipoib_ats_reg_cb( CL_ASSERT( p_reg_svc_rec->svc_context ); p_reg = (ats_reg_t* __ptr64)p_reg_svc_rec->svc_context; - port_num = IPOIB_ADAPTER_GET_PORT_NUM( p_reg->p_adapter ); + port_num = p_reg->p_adapter->guids.port_num; cl_obj_lock( &p_reg->p_adapter->obj );