From: ftillier Date: Mon, 11 Jul 2005 23:03:30 +0000 (+0000) Subject: Fix ATS usage to be compliant with DAPL ATS. X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=1f507df45e4aa087ffc964b5e44f4dc7f0fda6d2;p=~shefty%2Frdma-win.git Fix ATS usage to be compliant with DAPL ATS. git-svn-id: svn://openib.tc.cornell.edu/gen1@35 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86 --- diff --git a/trunk/inc/iba/ib_al.h b/trunk/inc/iba/ib_al.h index 0aa34fbb..69ae4a89 100644 --- a/trunk/inc/iba/ib_al.h +++ b/trunk/inc/iba/ib_al.h @@ -96,14 +96,21 @@ typedef uint8_t ib_shmid_t[64]; * SEE ALSO * ib_reg_shmid *********/ -/**** -* -* ICS ATS definitions + + +/****d* Access Layer/ATS +* NAME +* DAPL Address Translation Service * +* DESCRIPTION +* ATS service ID, service name, and IPv4 offset for DAPL-compliant +* ATS service records. */ -#define ATS_SERVICE_ID CL_NTOH64( 0x1000066A00040000 ) -#define ATS_NAME "Address Translation Service" -#define ATS_IPV4_OFFSET 12 +#define ATS_SERVICE_ID CL_NTOH64( 0x10000CE100415453 ) +#define ATS_NAME "DAPL Address Translation Service" +#define ATS_IPV4_OFFSET 12 +/**********/ + /****s* Access Layer/ib_mad_element_t * NAME diff --git a/trunk/ulp/ipoib/kernel/ipoib_driver.c b/trunk/ulp/ipoib/kernel/ipoib_driver.c index bedeaf8b..5ad31b27 100644 --- a/trunk/ulp/ipoib/kernel/ipoib_driver.c +++ b/trunk/ulp/ipoib/kernel/ipoib_driver.c @@ -2065,8 +2065,10 @@ ipoib_reg_addrs( if( p_addr_item->h_reg_svc ) continue; - ib_service.svc_rec.service_id = ATS_SERVICE_ID; - ib_service.svc_rec.service_id |= ((uint64_t)idx) << 56; + ib_service.svc_rec.service_id = + ATS_SERVICE_ID & CL_HTON64(0xFFFFFFFFFFFFFF00); + /* ATS service IDs start at 0x10000CE100415453 */ + ib_service.svc_rec.service_id |= ((uint64_t)(idx + 0x53)) << 56; cl_memcpy( &ib_service.svc_rec.service_data8[ATS_IPV4_OFFSET], p_addr_item->address.as_bytes, IPV4_ADDR_SIZE );